
软件设计师七条基本原理简介.docx
2页软件设计师考试: 行软件设计,编写程序设计规格说明书等相应的文档的实用性人才还能够组织和指导程序员编写、 调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程 师的实际工作能力和业务水平自从 1968 年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了 100 多条 关于软件工程的准则或信条美国闻名的软件工程专家 Boehm 综合这些专家的意见,并总结了 TRW 公司多年的开发软件的经验,于 1983 年提出了软件工程的七条基本原理Boehm 认为,这七条原理是确保软件产品质量和开发效率的原理的最小集合它们是相互独立 的,是缺一不可的最小集合;同时,它们又是相当完备的人们当然不能用数学方法严格证实它们 是一个完备的集合,但是可以证实,在此之前已经提出的 100 多条软件工程准则都可以有这七条原 理的任意组合蕴含或派生下面简要介绍软件工程的七条原理:1 1、用分阶段的生命周期计划严格治理、用分阶段的生命周期计划严格治理这一条是吸取前人的教训而提出来的统计表明,50%以上的失败项目是由于计划不周而造成的 在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。
这条原理意味着,应该把软 件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护 进行治理Boehm 认为,在整个软件生命周期中应指定并严格执行 6 类计划:项目概要计划、里程 碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划2 2、坚持进行阶段评审、坚持进行阶段评审统计结果显示:大部分错误是在编码之前造成的,大约占 63%;错误发现的越晚,改正它要付出 的代价就越大,要差 2 到 3 个数量级因此,软件的质量保证工作不能等到编码结束之后再进行, 应坚持进行严格的阶段评审,以便尽早发现错误3 3、实行严格的产品控制、实行严格的产品控制开发人员最痛恨的事情之一就是改动需求但是实践告诉我们,需求的改动往往是不可避免的 这就要求我们要采用科学的产品控制技术来顺应这种要求也就是要采用变动控制,又叫基准配置 治理当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性4 4、采纳现代程序设计技术、采纳现代程序设计技术软件设计师考试: 四代语言,人们已经充分熟悉到:方法大似气力采用先进的技术即可以提高软件开发的效率,又 可以减少软件维护的成本。
5 5、结果应能清楚地审查、结果应能清楚地审查软件是一种看不见、摸不着的逻辑产品软件开发小组的工作进展情况可见性差,难于评价和 治理为更好地进行治理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任 和产品标准,从而使所得到的标准能清楚地审查6 6、开发小组的人员应少而精、开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精这一条基于两点 原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也 要少的多;当开发小组为 N 人时,可能的通讯信道为 N(N-1)/2,可见随着人数 N 的增大,通讯开 销将急剧增大7 7、承认不断改进软件工程实践的必要性、承认不断改进软件工程实践的必要性遵从上述六条基本原理,就能够较好地实现软件的工程化生产但是,它们只是对现有的经验 的总结和归纳,并不能保证赶上技术不断前进发展的步伐因此,Boehm 提出应把承认不断改进软 件工程实践的必要性作为软件工程的第七条原理根据这条原理,不仅要积极采纳新的软件开发技术,还要注重不断总结经验,收集进度和消耗 等数据,进行出错类型和问题报告统计。
这些数据既可以用来评估新的软件技术的效果,也可以用 来指明必须着重注重的问题和应该优先进行研究的工具和技术。