中国特色管理类软件项目开发之通用权限必杀技 -- 权限自由配置设定、实现智能化自动检测校验

来源:互联网 发布:交响乐总谱软件 编辑:程序博客网 时间:2024/05/22 06:41

看博客的人群中绝大部分还是做国内项目为主的应该会多,毕竟我们都是中国人,大部分都在国内生活工作,大多都没能真正走上国际化,我们对软件项目的功能定位、开发质量管理与发达国家的软件项目比的确有明显的差距,而且不一小点儿。
   几年前参与过日本大型软件外包项目,一个大阪大学的附属医院为了做一套IT信息化管理系统,就可以投资接近几千万甚至1亿人民币的研发资金,小鬼子还真有钱,不服不行,在国内做软件项目能碰到几百万的就非常不错了,大多都是几万几十万的比颇多,并且国内的软件项目是期望值高、定位高、非常理想化、功能要求大而全好像要做全世界最好的管理系统一样,相反欧美、小日本的软件项目是小儿精、有明确的定位、设计、功能要求、质量要求,项目还没开始外包,预期结果一经事先知道了。

   最近半年接手了一个典型的国内项目,需要完成17个功能模块的设计及开发工作,具体模块有“信息门户模块公共信息管理模块个人信息平台模块邮件管理模块生产监控、调度模块工程管理模块材料管理模块(进销存)水表管理模块资产管理模块营销数据统计模块管网数据统计模块客户服务处理模块合同管理模块人力资源模块档案管理模块财务管理模块;后台权限配置模块”,这么多模块都需要按客户的个性化需求定制开发,工作量是相当的庞大的,当然每个模块与专业化的商品软件比又是需要简易、简化版本,所以无法直接购买现成的软件模块进行集成、只能全部按客户的要求进行定制开发,要懂这么多业务,也不是1个人能短时间能理解透的。
   很多国内的大型管理类软件,经常会有:
   1:定位不确定
   2:功能不确定
   3:范围不确定
   4:深度不确定

    并且这个单子是从中国电信手里抢过来的单子,需求是电信的人做的,我们是半路杀出来的程咬金,对需求不是很了解,我们总不能做第2次崭新的需求分析了,只能硬着头皮开发了。

   集团公司的杭州分公司成立没多久,再加上开发团队也是最近半年开始组建的,再加上领导对成本的严格控制,我们开发组里只有1个3年工作经验的开发工程师,其他人都是新人,都需要培养出来才可以,甚至有的还第一次做开发工作,新人有几个好处:听话,不倔强,不老顽固,肯干,干劲足;当然有优点必然有缺点:经验不足,简单的问题也经常犯错误,技术不过关,稍微有点儿难度的程序审计就搞不定。

   我们项目组采取的对策是:对新员工进行统一的正规培训,开发架构培训一周,权限体系、编码规范、核心设计思想、数据库思想、页面处理逻辑、页面注意事项、例子程序等至少培训一周,开发阶段严格检查他们每天的工作成果,严格按例子程序编写各个功能模块,这么坚持半年下来,我们项目还真靠这么一大对新员工,将上百万的软件项目顺利开发出来,现在已经进入了验收阶段了,胜利在望、志在必得了。
   在开发阶段虽然也遇到了很多返工、推倒重来、丢弃、人员离职、总公司派开发人员协助等等很多事情,但是总的来讲整个项目还是比较顺利,客户也比较满意,就靠这么写虾兵蟹将,第一次磨合就把这么一个庞大的工程做下来了。
   公司也是为了开发成本,利润空间,没有配置过多的资深开发咨询人员,大多是一个项目经理搭配个10个8个刚毕业的大学生,几十万的国内管理类软件项目就开始瞎折腾了,我们经常是瞎设计、客户是瞎提意见撤东扯西、我们是瞎改,测试人员是瞎测试、项目主管是瞎管理,随后项目就瞎验收瞎搞了,哈哈,其实我也喜欢混水摸鱼的感觉,瞎折腾身心不累,最后哭的只有老板一个人,我们顶多拍拍屁股就走人了
   若在这种瞎折腾的前提下,你的权限配置也能经得起瞎折腾才可以,你想怎么折腾,我就陪你怎么折腾,否则就是水土不服了,你做出来的软件绝对没有销路、也不能满足我们国内特色的需求了。

   稍微资深的开发人员觉得继续做软件行业身体吃不消、收入太低,能转行的都转行了,积累下来的丰富开发经验也就这么人间蒸发了,稍微有点儿想法的没经营能力的开公司都当了炮灰了。像我这样勉强能维持生计、还没失去信心还没放弃软件行业的也有一部分人在。

   很多人一同开发同一个大型管理类软件项目,每个人各负责各自的业务模块,很容易出现一团乱的局面,例如接近20个功能模块,哪个模块到底需要设置什么权限一个人跟本没有精力设计好全部项目中的权限配置,毕竟人的精力是有限的,而且时间、人力成本上也不允许你那么干,并且我们自己也很可能对这些业务模块没什么兴趣的,哪里可能对那么多模块都能主动有了解,就算项目经理也达不到那么牛X的水平,几百个页面啊,这可不是开玩笑的,光把业务理解好,就需要耗费个巴月,难道其他事情不干了?再说了领导又给我们发了多少薪水?又不是几万一个月对吧,那么拼死干啥?
  那怎么办,只能有各个模块的程序开发人员,自己设置自己模块的权限了,各管好各的模块还是很实在的责任明确,项目经理只能对大家进行统一的指导思想、设计思路、相关培训等工作做好,由于这些开发人员的水平也各自不一,有利害的、有菜的、有思路混乱的、有水平高的,你不监督管理,那会是更乱。
   在开发过程中经常还会发现,原先设计的权限有不对了有多了有少了或者推倒重来的,经常是在不断变化中走向成熟稳定,当然在这个变化过程中,辛苦配置的权限数据又不能丢了,几个百个人的权限总不至于每次都需要重新配置吧?。
  而且经常会发现,今天设置了这么几个权限,过几天又变成那么几个权限,到后来连项目经理也搞不清楚整个系统里到底需要设置几个权限?哪些权限是有用的?哪些权限已经是被废弃了?
   还有更邪乎的,前台是写了判断权限的功能,但是由于种原因,后台忘记配置这个权限了

   为了解决这些权限方面的问题,采用了有如下方法:
   1:(测试时智能化的前台与后台对应关系检查)只要前台判断了某个权限,在测试运行阶段发现这个权限在后台是没有配置过的,那系统会自动把这个权限加入到,这样项目经理很容易知道,前台页面里还有那些权限配置,在后台没有配置好,并通过命名、查找项目里的程序,就很容易定位出来,谁还把哪个权限给漏了,人工查几百个程序页面,那是不太现实的。
   例如下图:就发现2个发文功能模块的2个权限没有在后台进行配置过,敦促相关开发人员尽快配置好权限。
   
若发现有后台遗漏的,那就可以进行重新整理调整权限的设置,当然我的权限策略可以随时进行调整、重新整理划分。
 

  2:(测试时智能化的检查被废弃的权限)在测试时,哪个权限被调用过就记录这个权限的最后被调用时间,若这个权限一直没被调用过,或者已经几个月没被调用过了,那就能知道这个权限很可能是被废弃了,但是开发人员马虎了,还没再后台把这个权限项目删除了?代码理是否有被调用,通过 VS开发环境很容易就搜索一下就知道了。
  

   通过以上2个方法,解决了开发人员每个人可以自由设计自己负责的模块的权限、并能指导哪些模块的权限变动了,由于思路不严谨,没把后台的相关配置删除掉,有垃圾数据存在。

   开发项目的并不是人人都是牛人,但是需要提供一个牛工具,防止他们犯错误,你有你的管理思想,又有配套的牛B工具,开发平台可以达到事半功倍的效果,这就是你拿着菜刀去战斗与拿着机关枪去参加战斗的区别。
   你自己制作个菜刀很容易,但是制作一个机关枪就很难,但是你有机关枪去打仗,绝对是比拿菜刀的要厉害很多,有大炮更牛B,但是大炮并不是为个人战斗准备的,用处定位不容易,杀鸡嘛,顶多用牛刀就可以了。

    可能你会觉得你自己是很牛的,管理能力很强,你一个开发团队可以管理,但是同时有3-5个开发团队,有的又在异地开发某个大型管理类软件,那你就知道,你再厉害,也无分身术、而且别人也都很固执,根本不会按你的管理来,那就好提供个好用的工具,那就他们也喜欢用,你管理也方便了,他们自己也会用你的管理工具调试、测试,因为给他们也减轻的负担,不用自己人工配置、人工检查,全自动检查了,又不要钱,何乐而不为呢?当前前提是你的工具能减少工作量、不会增加负担,而且运行稳定,功能强大别人才容易接纳。

    权限及工作流程处理是管理类软件开发的核心基础组件、若这几个模块处理好了,会少浪费很多精力,节省很多开发成本,降低项目失败的风险也有关键性的作用。

   以上功能介绍是给开发人员针对的,当然客户是不懂这些细节的,我们不能依赖人的自觉性、也不能以来人的勤奋刻苦,我们要有我们自己的配套辅助工具才可以,就像软件工程理论一样,软件项目开发配套的小工具小发明也是非常关键的必杀技,还是那句俗话:磨刀不误砍柴工。

C:产品导读:
疯狂.NET架构通用权限后台管理工具演示版2.0下载
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 数据集权限


将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。

posted on 2009-09-24 20:39 不仅仅是通用权限设计 阅读(3269) 评论(42) 编辑 收藏

评论

#1楼  回复 引用    这个不错,我现在做的项目就是有点混乱了……

2009-09-24 20:49 | seamusic[未注册用户]

#2楼[楼主]  回复 引用 查看   

东西不在于多,在于精,不就这么点儿东西吗?

不就是个CPU吗?搞来搞去搞成原子弹不成?
不就是一个操作系统吗?搞来搞去,能搞成硬件了?
不就是一瓶茅台酒吗?搞来搞搞去能变成金子不成?
不就是一杯可乐吗?搞来搞去能搞成治百病的药?

定要要准、定位要狠,就是干这个的,就是无敌,就是专家。
瞎折腾10年,很容易啥也折腾不出来。


2009-09-24 20:58 | 吉日嘎拉>不仅权限设计      

#3楼  回复 引用   

走火入魔,不评价!
2009-09-24 21:27 | 33333333[未注册用户]

#4楼  回复 引用   

楼主可能一直以为自己是牛人。。。

唉,人都喜欢高看自己!
2009-09-24 21:29 | 晕倒。[未注册用户]

#5楼[楼主]  回复 引用 查看   

那我不是牛人,你是牛人可以了吧?我自己都不高看自己,别人更会高看我吗?

引用晕倒。:
楼主可能一直以为自己是牛人。。。

唉,人都喜欢高看自己!

2009-09-24 21:36 | 吉日嘎拉>不仅权限设计      

#6楼[楼主]  回复 引用 查看   

你能回复,能看,我就很开心了。

引用33333333:走火入魔,不评价!

2009-09-24 21:36 | 吉日嘎拉>不仅权限设计      

#7楼  回复 引用 查看   

那我也来看看 :)
2009-09-24 21:45 | 曹赛楠      

#8楼  回复 引用 查看   

楼主对自己有信心,有个人主见这是很多开发人员要学习的地方。。谢谢楼主分享
2009-09-24 22:05 | shenzhen      

#9楼  回复 引用 查看   

围观
2009-09-24 22:32 | 小猪凯      

#10楼  回复 引用   

呵呵,过来看看. 文章写得还不错,大众化.娱乐化
2009-09-24 23:06 | 过来说说[未注册用户]

#11楼  回复 引用 查看   

几个大学生为主力完成百万元的项目,相比许多失败项目的经验,正印证一句话:狮子统率的一群羊胜过羊统率的一群狮子。
2009-09-24 23:54 | 小城故事      

#12楼  回复 引用 查看   

引用吉日嘎拉>不仅权限设计:
东西不在于多,在于精,不就这么点儿东西吗?

不就是个CPU吗?搞来搞去搞成原子弹不成?
不就是一个操作系统吗?搞来搞去,能搞成硬件了?
不就是一瓶茅台酒吗?搞来搞搞去能变成金子不成?
不就是一杯可乐吗?搞来搞去能搞成治百病的药?

定要要准、定位要狠,就是干这个的,就是无敌,就是专家。
瞎折腾10年,很容易啥也折腾不出来。



这比喻。。。
2009-09-25 00:06 | 紫色永恒      

#13楼  回复 引用 查看   

个人觉得,权限必须和框架结合。对于一般的访问权限,开发人员不需要做判断的。应该由框架自动处理,模块的开发人员只管注册自己的模块有什么权限就可以了。当然了,特殊的权限需要开发人员自己处理。
2009-09-25 08:43 | 阿水      

#14楼  回复 引用 查看   

再补充一下吧,对于一般的权限(特殊权限不在讨论之列),开发人员只需要说我的模块有什么权限就可以,之后的调用,判断都有框架去做。这样就不会有楼主说的问题了。
2009-09-25 08:45 | 阿水      

#15楼  回复 引用 查看   

先支持一下文章。
权限资源设定,智能检测,你这是C/S系统下,B/S系统能按照你这个方法做吗,你说说B/S项目下如何配置权限!
2009-09-25 09:09 | 淘者天下2      

#16楼  回复 引用 查看   

用词确实有中国特色:)
2009-09-25 09:12 | chy710      

#17楼  回复 引用 查看   

你图中那个查询结果CODE字段中XXXX.XXXX这个对应的是程序中的方法么?
2009-09-25 09:20 | Daniel Cai      

#18楼[楼主]  回复 引用 查看   

@淘者天下2
我这里 B/S 也是一样的,也是自动检测的。
2009-09-25 09:45 | 吉日嘎拉>不仅权限设计      

#19楼  回复 引用 查看   

目前吉日后面唱反调的 都是一些只评论高新技术 不关心项目的经验与产品独到理解的兄弟

这样的兄弟大多在三十岁后被淘汰 30岁大限论就是这样产生的
2009-09-25 11:10 | 韦恩卑鄙      

#20楼[楼主]  回复 引用 查看   

其实,我们天天折腾,还是这些平常的项目里最实在的功能比较多,
客户哪里需要那么多高科技?事事实实才是真啊。
2009-09-25 11:14 | 吉日嘎拉>不仅权限设计      

#21楼  回复 引用 查看   


现在已经不是 “你会com+你才能做分布式事务”的vs98技术瓶颈时代了

.net时代
产品理解和项目经验是完成目标用的
“新”技术是降低实现成本用的
模式架构是降低维护成本和交互成本用的

几手抓几手都要硬



就完成目标而言 吉日做得很好
由于完成度很高 维护和交互成本也很低

没有使用新技术 实施成本高了些
但是你会指责金字塔没有用钢筋水泥么?
金字塔已经在那边做好了 你追究他的工艺?
对于跨度10年的一个完整产品
这种指责恨无聊
2009-09-25 11:24 | 韦恩卑鄙      

#22楼  回复 引用 查看   

但是吉日你不能贬低新技术 :( 几手都要硬
2009-09-25 11:25 | 韦恩卑鄙      

#23楼  回复 引用   

不管黑猫白猫, 抓住耗子就是好猫
2009-09-25 11:46 | ..[未注册用户]

#24楼  回复 引用 查看   


最近好似园子不少人在讨论楼主啊。

自己做的东西自己卖,自己花大力气写博客为了喧传,
应该没有错,
你做成英文的,估计会有外国人买,外国人重版权。
2009-09-25 12:06 | airy      

#25楼  回复 引用   


我一直认为作为一个程序员,不应该忘本,我对我的定位是搞服务的不是搞艺术的。千大万大,客户需求为大,千贵万贵,有价值有意义为贵。追求新技术对程序员是必须的,但是请不要忘记,追求新技术也是为了创造出真正对客户有价值的产品。一个真正优秀的能被市场接受的产品中往往凝聚最多的不是对大量新技术的追求,而是对客户需求细节的反复推敲和斟酌。

我一直以为,对技术的激情可以让一个人成为一名专家,而对客户需求的专注和负责则让一个人成为市场上的胜者,每个人的个人定位,人生追求都不同,我想我们不应该苛求,毕竟IT市场要想繁荣昌盛,这两种人离开那一种都是不行的。
2009-09-25 12:24 | EricLeef[未注册用户]

#26楼  回复 引用   

个人感觉楼主有点顽固,是这样吗?
2009-09-25 12:31 | guest[未注册用户]

#27楼  回复 引用 查看   

@晕倒。
你可以不赞同别人的观点,
你可以捍卫你自己的立场..
强烈鄙视 留言带有个人的感情色彩....
2009-09-25 12:39 | Rhythmk      

#28楼[楼主]  回复 引用 查看   

@guest

若不顽固,能做出什么来嘛?不太可能的,若不顽固,很容易中途放弃自己的追求。

2009-09-25 14:31 | 吉日嘎拉>不仅权限设计      

#29楼  回复 引用   

国内的商家就是喜欢大而全,不管实际效果
2009-09-25 14:43 | kekekele[未注册用户]

#30楼  回复 引用   

引用小城故事:几个大学生为主力完成百万元的项目,相比许多失败项目的经验,正印证一句话:狮子统率的一群羊胜过羊统率的一群狮子。

很同意你的看法,所以IT界流传一句话:女的当男的用,男的当狗用,狗当领导用.尤其最后一句,很写实.
2009-09-25 14:58 | o(∩_∩)o...[未注册用户]

#31楼  回复 引用 查看   

来打酱油的
2009-09-25 15:05 | T.M      

#32楼  回复 引用 查看   

@asddasdfasdfasdfsdf

那都是多少年前的事了,而且楼主的文章中有对这个的说明啊。
2009-09-25 15:19 | shootsoft.net      

#33楼  回复 引用 查看   

my god
2009-09-25 15:47 | 漠北水獭      

#34楼  回复 引用 查看   

通用+必杀 = 无敌了,哈哈
2009-09-25 15:53 | nzperfect      

#35楼  回复 引用 查看   

呵呵,支持
2009-09-25 16:13 | 真见      

#36楼[楼主]  回复 引用 查看   

越是无知的家伙,越攻击人厉害,攻击我了,能有啥好经济效益吗?
或者我会怎么样嘛? 我接着写文章,还会继续写,这样没用的打击
真不知道能起什么作用?能变成钱不成?

2009-09-25 17:39 | 吉日嘎拉>不仅权限设计      

#37楼  回复 引用 查看   

哥打击的不是你,是寂寞。
2009-09-25 17:51 | 小城故事      

#38楼  回复 引用   

哥也来打击一下,非要断了你的财路不可!看到你那目中无人的用词就要打击你.
2009-09-25 18:37 | nide[未注册用户]

#39楼[楼主]  回复 引用 查看   

@nide

本来就无敌寂寞状态,希望你是高手,能切磋几下。

2009-09-25 23:25 | 吉日嘎拉>不仅权限设计      

#40楼  回复 引用 查看   

吉日的文章还说可以的,东西嘛,国内是不容易卖出去的。我看过你的淘宝商品,有的做的还是很好的,可是呢。你这套系统在国内估计没什么人会买,中国是人情社会,你写的软件好,还不如请客请采购员请的好——很悲哀的现实。我也同意上面airy的建议:建议你到国外的网站上挂挂程序,赚赚外快。至于你的开发辅助工具,老实说,国内的程序员大多不富裕啊。要买也是公司买,可是公司舍得这点钱么?公司都不舍的,程序员就更加不舍的了。也挂一份到外国网站上吧,为国家创造外汇收入,功劳一件。
PS:楼主的文章还是能让人学到很多东西的,或是技术或是生活态度,或许因为我是小白,有些东西还不是很看得懂。
PS2:楼主应该把心放宽,每个人都有每个人的思想,不一定非要跟谁斗个你死我活,海纳百川才能成大道啊。有时候微不足道的细节就会影响楼主正处理事情的结果。
2009-10-12 16:45 | Jimixu      

#41楼[楼主]  回复 引用 查看   

@Jimixu

每个月都在卖出1万多元的软件,我不知道应该是不是停止卖了?
所以我想咨询你一下,是不是卖得太少了呢?

2009-10-12 18:39 | 吉日嘎拉>不仅权限设计      

#42楼  回复 引用 查看   

哦?那很好。我只是建议你跑国外网站挂挂你的产品,并不是说你的东西没价值。不要误会哦~
2009-10-13 12:15 | Jimixu      

#43楼  回复 引用 查看   


"大多都是几万几十万的比颇多"--"比颇多"--读不通,建议修改
"我们项目还真靠这么一大对新员工"--"一大对"--"一大堆"
"就靠这么写虾兵蟹将"--"写"--"些"
"客户是瞎提意见撤东扯西"--"撤东扯西"--"扯东扯西"
"就需要耗费个巴月"--"个巴月"--"个把月"
"有利害的、有菜的"-"利害"--"厉害"
原创粉丝点击