思步网

标题: 林泰龙系列之软件流程改善的第一步 [打印本页]

作者: step365he    时间: 2008-4-12 19:05
标题: 林泰龙系列之软件流程改善的第一步
对于研究软件工程流程及推动CMMI软件能力成熟度模型的人都知道,工程流程有三个要素:作业程序、技术设备、以及人员。


  这三个要素中,其实最重要的是「人员」,因为人员选择、使用「技术与设备」,人员订定与遵循「作业程序」。

   而另一个重点乃是--「作业程序」与所使用的「技术与设备」有着重大的关联性。某一个公司以前成功的作业程序,在导入新的技术与设备时不见得能再次获得成功,一个公司的成功程序,在另一个公司并不见得同样能获得成功。因此,软件过程改善的工作,含有与项目相同的基因--独特性。

  在国 内的环境中,项目之所以失败,「人员」这项因素扮演了极为重要的角色,而有过经验的人都会同意,软件程序中的bugs多半是程序设计师造成的,例如:判断 式中打错比较符号、变量有效领域定义错误、循环层次设计错误、变量属性定义错误、函数参数传递错误...等等,不一而足。当项目时间紧迫的时候,由于人员 的工作压力较大,犯错的机会更升高。凡此种种都增加了项目的风险、项目的成本及未来维护的成本。

  为了去除这些不必要的成本浪费,提升 软件的质量首要工作就是去改变系统开发方法,让项目不再是去撰写(Coding)程序,而是去建构(Building)系统。以建筑大楼做模拟, Coding就像是盖房子有了设计图之后,却要从窑烧砖块、锻炼钢筋骨材、水管开模打造开始;Building就不同了,是依照设计图,用合乎规格的砖块、钢筋、管路等等,把房子盖出来。这么做的好处是,因为组件(包括网页)都已经是写好的程序代码,因此,同样的设计文件,给不同系统的建构人员 (builder),做出来的结果都是一样的,连程序代码也是一模一样。由于这些组件都是事先经过验证与确认,因此,程序代码百分之百正确。这使得测试与验证的工作负荷大幅降低,因此剩下来的工作,就是去确认系统功能是不是符合使用者的需求,也因为系统是建构出来的,所以修改也就非常的容易,不需要一行行去看程序代码。当然,这需要一个整合的开发环境。

  这样的开发环境不存在吗?事实上,这种工具存在多年,从最早期的Code Generator,一直到现在,已经出现可以直接整合网页建构工具、连接数据库、直接建立各种数据表、加入工作流程引擎、加入依需要发送实时讯息的功能、甚至于做到Data Minig,支持非结构化的查询等,都已经存在,对于系统建构人员不需要写任何一行程序。重点是这种工具的调校比人的调校要容易得多了,发生问题时,都是结构化的问题,除错也比人为所造成的错误容易。

有了这个整合式的开发环境之后,组织就依据这个开发环境的需要去训练人员,然后依据组织的特性与架构、人员的技术层次等去设计作业程序。管理者要求所属人员依据作业程序执行各项工作,再就所获得的绩效去修改作业程序、筹获更新的技术设备、提升人员的技术等级,这就是软件流程改善的真义。

   值此提升软件质量、增加软件附加价值及强化国内信息业界的竞争能力的时候,实在不需要急切以导入CMMI为首要,而是先要设法改变开发方法与技术,以袪 除严重的人为软件质量疏漏,降低开发的成本,同时把省下来的软件除错、矫正、测试的成本,投入到分析、设计阶段的创意与附加价值,如此,才是我国快速提升软件产业竞争力的快捷方式。
作者: shadowcetco    时间: 2008-6-11 09:16
赞!!!!:lol :lol :lol :victory: :victory:
作者: 慧俊悦    时间: 2013-3-3 17:29
众里寻他千百度,蓦然回首在这里!
作者: 阴浦凤    时间: 2013-4-9 22:34
大力支持
作者: 幻蓝式解脱    时间: 2014-5-5 11:15
向楼主学习
作者: 雾雨    时间: 2014-6-2 18:09
我了个去,顶了
作者: 窗外    时间: 2014-9-17 19:40
非常好,顶一下占位编辑
作者: 好甜、    时间: 2014-10-20 08:24
这么强,支持楼主,佩服
作者: を貝う    时间: 2015-4-7 10:26
看起来好像不错的样子
作者: 丿Dream丨永恒    时间: 2015-7-24 20:50
路过的帮顶
作者: 为你绾青丝°    时间: 2017-8-23 07:11
看起来好像不错的样子
作者: 核弹头    时间: 2017-12-29 11:34
我是个凑数的。。。




欢迎光临 思步网 (http://www.step365.com/) Powered by Discuz! X3.2