关于软件方法、体系和过程的思考
近三十年来软件方法层出不穷,被实际开发所运用的软件方法曾达两三百种之巨。但我们通过对哲学研究的角度进行相关的类比,我们不难发现,这些软件方法归根结底不外乎下面三种角度。
1. 基于物质运动角度:着眼于物质本身,强调物质作为一个整体对外界作用的动态交互,在软件开发方法中体现为基于功能角度的观点。著名的方法有结构化分析方法,强调软件系统(或子系统)的输入和输出,内部对外不可见,处理时宜至上向下,逐层分解,如医学之解剖一般,化整为零。
2. 基于物质联系角度:着眼物质的存在与物质间的恒定关系,强调物质间的层次性和主体地位性,在软件开发方法中体现为基于实体(Entity)角度的观点,分析的重心为对实体的静态描述和恒定联系的界定,这种角度无视实体之间的运动交互,数据库设计的E-R方法即是该观点的典型方法。例如学生的选课系统,我们关心的是学生选的是哪门课程,而不是选课的过程如何进行的。
3. 基于物质存在状态角度:着眼物质系统的自身的存在状态,分析各种存在状态间的变迁缘由和变迁途径。在软件开发方法中常为实时领域所独领风骚,体现为状态迁移分析。常见的例子有十字路口的交通灯模型,我们通过分析灯组的状态变化来对其进行分析和仿真。
近来风靡一时的面向对象方法,兼具上述的物质运动角度与联系角度的特色,诸如对象(Object),类(Class),继承(Inherence)之类的概念,基于的是物质联系的角度;函数(Function)和方法(Method)之概念,基于的是物质运动的角度。我们随便举一个基于存在角度的例子,UML的状态图,它反映了单一对象的各种存在状态,因此广泛应用于实时系统的设计之中。
接下来谈谈体系的问题。
凡方法、体系,皆如哲学的内涵与外延。外延宽广则内涵浅,外延狭窄则内涵丰富。翻译成行业用语即:高效的体系适应范围比较窄,低效的体系适应范围广。由此断定,软件行业无一包治百病,立竿见影,药到病除的狗皮膏药体系和方法。诸多企业、项目应当考虑自身实际,借以标准,适当增删修正,以合自身病症,而不是一味照单全收。君不见如今中国的软件行业,利火攻心,ISO9000做烂了,CMM/CMMI也开始泛滥成灾。暗地高兴的只有那些兜售标准的认证企业,因为他们更关心的腰包里的钱袋。
最后要谈软件过程的问题,过程离不开环境。软件开发更像是一个生态进化,我们应该把软件开发作为一个不断进化的生态体系来看待,强调各方面的和谐有序。一味追求软件过程而忽视相关的环境(行业环境,企业环境)最后的结果只能是侏罗纪的恐龙,在开发生态被破坏的同时自己亦随之消亡。所以我们常常会提到:软件过程和开发方法要结合企业自身的实际。过度的追求标准、规范最终的结果是从体力上和脑力上压倒了整个团队,继而压垮整个企业。在这里我们的意思并不是说标准和规范不重要,但不要让标准和规范成为一张白纸或是开发团队、企业的沉重负担。因此每个企业和项目团队有必要根据自身的环境、规模和资源配置选择合适的软件开发方法和过程。(CIO时代论坛)
- 1如何使企业IT战略规划做得更加务实
- 2用户愿意分享什么样的文章?
- 3网管心得:如何选择上网行为管理软件
- 4记者调查:专车优惠抢生意 出租车司机临大敌
- 5中小企业如何做大、做强
- 6外贸企业转型的机遇与挑战
- 7调查称车企销量目标普遍偏高 今年仍存压库隐患
- 8穷人关注问题•富人关注目标
- 9调查:仅2成女性不在意对方“无房”
- 10踏上成功之路:挣钱不如挣身价
- 11国家和企业开始对OA进行了大量的人力和物力投入
- 12企业聚合给SOA的性质带来改变
- 13辅助管理人员对销售人员和销售情况的管理
- 14顶头上司是员工敬业度的第一责任人
- 15供应商与卖场 VS 明星与媒体的关系
- 16避免创业失败,提高你创业的成功几率
- 17想学催乳师就到沈阳英华学校12月26日等您来
- 18工作流是OA系统的核心,而便宜的OA系统往往只以信息发布
- 19OA办公系统已经成为每个企业信息化初期选择
- 20金融危机下 企业应如何做好IT业务调整
- 21宁波一对一辅导哪里老师好
- 22SOA能够刺激经济增长的六大优势
- 23企业发展:多元还是聚焦
- 24合规和内控 为风险管理解困
- 25爱情中的依赖,协同办公OA与中小企业结合在一起
- 26【行业新闻】SaaS需突破的四大细分市场分析
- 27阿里诉讼案原告代理律师:阿里可以尝试和解
- 28SaaS服务商沙漠理论 竞争对手就是自己
- 29ERP项目实施中如何实行同步管理
- 30家庭教育被忽略的8个大于号