欢迎来到天天文库
浏览记录
ID:10297794
大小:133.50 KB
页数:0页
时间:2018-07-06
《软件工程开发模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件工程开发模型1提出软件工程的原因22软件工程的理解23软件寿命周期23.1概念23.2软件寿命周期的划分24软件工程的内容25软件的开发模型3瀑布模型35.2增量模型35.3净室模型45.4快速原型45.54GT模型55.6OO开发模型55.7各个开发模型的实现关键5提出软件工程的原因以往软件开发存在的问题:(1)程序编制过程不透明,只有编制人员知道(2)软件设计缺乏规范,软件产品的质量依赖于个人素质(3)软件开发过程中,过重强调编码,忽视设计、评审、文档和开发过程的管理产生的结果是:(1)项目进度无法控制(2)经费经常超支(3)软件质量的不到保证直接后
2、果:60年代出现了软件危机,因此借鉴机械工程的概念,提出了“软件工程”。1软件工程的理解软件工程重在管理,是对软件生命周期的每个过程的管理和规范,将开发技术与管理相结合。可以从以下几个方面去理解。⑴软件工程是过程管理;⑵软件工程是软件生产的标准化、规范化;⑶软件工程是软件开发的一个质量保障体系。2软件寿命周期2.1概念软件寿命周期——指从软件产品的设计到软件产品不能再使用时为止的时间周期。软件寿命周期模型——建立一种能够描述软件寿命周期各种活动如何分成各个小阶段进行开发和管理的组织方式软件工程环境——就是软件工程的开发环境,其作用是便于软件产品的开发,包括软
3、件开发工具、开发平台、辅助工具(分析、测试、管理工具)等软件工程管理——为了按照软件的预算和进度完成项目计划,而施行的一系列管理办法,包括成本估算、进度控制、人员组织、质量保证等。可以借助一些软件工具实现软件的工程管理。2.2软件寿命周期的划分⑴可行性研究与计划阶段论证软件项目的可行性,制定开发计划⑵需求分析阶段分析用户的需求为主,定义软件产品在功能、性能、可靠性等方面的要求和目标。⑶概要设计阶段分析软件的设计方案,定义软件体系结构,对软件的可靠性要求进行整体的分配。⑷详细设计阶段具体实现总体设计的要求(功能和性能),对软件的可靠性进行详细设计。⑸编码实现阶
4、段实现软件的代码。⑹组装及组装测试阶段对完成的模块进行组装、合并,同时进行测试。⑺确认测试阶段对集成后的软件进行总体测试,验证是否完成需求分析的要求。⑻使用、维护阶段在软件使用过程中对软件的缺陷和不足进行改进。3软件工程的内容软件工程包括的内容大概有:⑴软件工程的开发模型;⑵软件工程的开发方法——面向结构(面向数据流、面向事务流、面向数据结构)方法、面向对象方法;软件质量保证、质量评估;⑴软件开发的计划和管理——成本管理、风险管理、投资计划、项目计划、项目管理、文档管理、配置管理、开发组织;⑵软件工程的开发环境——在软件工程实现工程中所有的软件系统、辅助工具
5、、集成环境。1软件的开发模型可行性研究系统分析软件需求分析总体设计详细设计编码实现测试维护定义阶段定义阶段开发阶段瀑布模型遵循的原则:¨结构化原则——必须遵循结构化设计原则,将软件的功能分层、分块,包括SA(结构化分析)、SD(结构化设计)、SC(结构化编码)、ST(结构化测试)¨顺序原则——严格按照个阶段顺序进行,前阶段的输出文档是下阶段的输入特点:¨强调文档的齐全,每个阶段必须有完备的文档输出¨强调过程质量管理,要求开发中对每个过程进行严格质量管理,包括过程的规范化、文档的严格评审、严格的测试等¨重视图形描述语言,如N-S、PAD、HIPO缺点:¨开发过
6、程中没有用户介入,容易造成当开发出的产品与用户要求不一致,因此不适应用户需求变化较快的产品¨没有反馈过程,开发过程中发现问题得不到彻底、及时得纠正,越在后期发现问题,产生的不良后果越严重¨软件质量取决于系统分析阶段对用户需求的分析是否完整,因此不适应大的软件系统开发适用范围:¨适用于用户需求非常明确的小型软件系统改进的瀑布模型:在开发各个阶段增加了一个确认过程,若一个阶段的输出不合格,则要求返回到需要改进的阶段去,因此有一个反馈过程。1.1瀑布模型1.2增量模型概要设计详细设计编码与局部测试概要设计详细设计编码与局部测试集成测试概要设计详细设计编码与局部测试
7、集成测试软件系统需求分析分系统1分系统2分系统n交付交付交付原理:仍然遵循瀑布模型的原则,将大的软件系统分成若干小系统,当软件需求分析完成后,针对每个小系统以瀑布模型的方式分头进行开发,形成几个小的瀑布模型,在时间上可以不同时进行。优点:可以快速开发出部分成果、便于集成测试、前一条瀑布对后面的开发具有借鉴意义。1.1净室模型净室工程法的几个观点:¨整个软件系统可以按照功能划分成若干开发增量,如果每个开发增量的逐步集成被证明是可靠的,则整个软件是可靠的¨用户关心的是软件的失效。可靠性与代码的缺陷不成正比,有些缺陷不产生失效,软件可靠性要重点考虑引起失效概率较多
8、的缺陷¨软件的运行应包括两方面内容:软件应提供的功能
此文档下载收益归作者所有