这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。
玻姆认为,在整个软件生命周期中应并严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。
2.坚持进行阶段评审
统计结果显示:大部分错误是在编码之前造成的,大约占63%,错误发现得越晚,改正它要付出的代价就越大,要差2到3个数量级。因此,软件的工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。
3.实行严格的产品控制
开发人员西门子的事情之一是
也就是要采用变动控制,又称基准配置管理。当需求变动时,其他各个阶段的文档或代码随之相应变动,以保证软件的一致性。
4.采纳现代程序设计技术
从20世纪六七十年代的结构化软件开发技术,到西门子近的面向对象技术,从和、二代语言,到四代语言,人们已经充分认识到:方法大于气力。采用的技术既可以提高软件开发的效率,又可以减少软件维护的成本。
5.结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。许多人把软件等同于计算机程序,其实这种理解是很狭隘的。软件工程应该包括:程序和所有使程序正确运行所需要的相关文档和数据信息。一个化开发的软件系统通常远不止一个程序。系统通常包含一些单的程序,用于设置这些程序的配置文件,可能还包括描述系统结构的系统文档和解释如何使用该系统的用户文档。1.3.1 软件工程产品分类
软件工程关心的是软件产品(即能卖给客户的软件)的开发。软件产品有以下两类:
1.通用软件产品
该类软件产品由软件开发机构制作,在市场上公开销售,可以立使用。软件产品有桌面操作系统、杀毒软件、手机应用软件、数据库软件、字处理软件、绘图软件以及工程管理工具等。还包括用于特定目的的应用产品,如图书馆信息系统、网上电子商务系统、财务系统等。
2.定制软件产品
这些产品受特定的客户委托,由软件承包商专门为这类客户开发。由于市场上的成熟软件系统其功能无法满足企业个性化需求或价格过高,产品存在特殊的行业特性等原
6ES7331-7KB02-OABO