- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                在软件开发过程中.ppt
                    第9章 软件工程 ;主要内容;本章知识结构:;学习目标:;9.1  软件工程概述 ;9.1.1   软件工程产生的基础 ;1.软件危机及典型的表现
软件危机指的是软件开发和维护过程中遇到的一系列严重问题。软件危机包含以下两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断增多的已有软件。具体地说,软件危机主要有下列典型的表现。
(1)产品不符合用户的实际需要。因为软件开发人员对用户需求没有准确地了解,甚至对所要解决的问题还没有正确认识就编写程序,而且软件开发人员和用户之间的信息交流也不充分,导致用户对软件产品不满意的现象发生。
(2)软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长速度,进而不能充分利用现代计算机硬件提供的巨大潜力。
;(3)软件产品的质量差。软件可靠性和质量保证的定量技术没有充分应用,软件质量保证技术(审查、复审和测试)没有贯穿到软件开发的全过程中,进而导致软件产品发生质量问题。
(4)对软件开发成本和进度的估计不准确。实际成本高于估计成本,实际进度比预期进度所用时间多,导致降低了软件开发者的信誉。而为了赶进度和节约成本所采取的一些权宜之计又往往降低了软件产品的质量,从而引起用户的不满。
(5)软件的可维护性差。很多程序中的错误难以改正,实际上不能使这些程序适应硬件环境的改变,也不能根据用户的需要在原有程序中增加一些新的功能。没能实现软件的可重用,人们仍然在重复开发功能类似的软件。;9.1.1   软件工程产生的基础 ;2.软件工程的定义
为了解决软件危机,既要有技术措施(包括方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件。软件工程的基本原则如下所述。
(1)生存周期计划严格管理
一个软件从定义、开发、使用和维护,直到最终被废弃所经历一个时期称之为生存周期。在软件开发与维护的漫长过程中,需要完成许多不同性质的工作,所以可以把软件生存周期划分为若干个阶段,并相应的制定出可行的计划,然后按照这个计划对软件的开发与维护工作进行管理。
;9.1.1   软件工程产生的基础 ;(3)实行严格的产品控制
在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。 但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,相应地改变用户需求是一种客观需要,显然不能硬性禁止客户提出改变需求的要求,而只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称为基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制:一切有关修改软件的建议,特别是涉及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改,绝对不能随意进行修改。
;(4)采用现代程序设计技术
从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设计技术。20世纪 60年代末提出的结构程序设计技术,其风格为清晰第一,效率第二,已经成为公认的先进的程序设计技术。以后又进一步发展出各种结构分析与结构设计技术。近年来广泛应用的面向对象技术促进了软件工程学的发展.实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。
(5)应能清楚地审查结果
软件产品是看不见摸不着的逻辑产品。软件开发人员的工作进展情况可见性差,难以准确度量,从而使得软件产品的开发过程比一般产品的开发过程更难于评价和管理。为了提高软件开发过程的可见性,更好地进行管理,应该根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地被审查。
;(6)合理安排软件开发小组的人员
软件开发小组的人员合理安排的原则是人员应该少而精,即小组的组成人员的素质应该好,而人数不应过多。高素质的人员会提高软件的开发效率,且明显减少软件中的错误。此外,随着开发开小组人员数目的增加,因交流问题和讨论情况而造成的通信开销也急剧增加,所以要保证软件开发小组人员少而精。
最后要强调的是:必须不断灵活改进软件工程实践。要按照软件工程的基本原理实现软件的工程化生产,仅遵循上述这六条基本原则是不够的。因为,这样并不能保证软件开发的过程跟上时代的前进和技术的进步,因此必须不断灵活改进软件工程实践。按照这个要求,就要积极主动的采用新的软件技术,而且要注意不断总结经验。 
;9.1.2   软件的生存周期; 软件生存期也可以分为三个大的阶段:
                 原创力文档
原创力文档 
                         
                                    

文档评论(0)