文档介绍:第二章软件开发模型
§ 软件生存周期
§ 传统软件开发模型
§ 软件演化模型
§ 面向对象开发模型
§ 形式化方法模型
教学内容:
教学目的:
初步了解软件的生存周期模型,软件生存期各个阶段的特点和内容
1
软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生存期
软件生存期包含三个阶段:软件定义、软件开发及软件运行维护。
软件生存期模型是软件工程思想的具体化,是跨越软件生存期的系统开发、运行、维护所实施的全部活动和任务的过程框架。
软件生存期一般划分为计划、开发、运行三个时期,每一个时期又区分为若干个阶段。计划时期有问题定义和可行性研究两个阶段;开发时期有需求分析、系统设计、编码和测试4个阶段;运行时期主要是系统维护阶段。
2
软件生存周期
计划时期的主要任务是调查和分析:调查用户需求,分析新系统的主要目标,分析开发该系统的可行性。
开发时期要完成设计和实现两个任务。其中设计任务用需求分析、软件设计两个阶段完成,实现任务用编码和测试来完成。
运行时期的主要任务是做好软件的维护。
软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
3
传统软件开发模型
“What——How——Change”概括了软件开发活动(定义、开发、维护)中的主要特征。
传统的软件开发模型主要有瀑布模型与快速原型模型。
4
瀑布模型
需求定义
系统与软件设计
集成与系统测试
实现与单元测试
运行与维护
各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落。每项活动均处于一个质量环(输入-处理-输出-评审)中。
5
制定计划
确定要开发软件系统的总目标;
给出功能、性能、可靠性以及接口等方面的要求;
完成该软件任务的可行性研究;
估计可利用的资源(硬件,软件,人力等)、成本、效益、开发进度;
制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
6
需求分析和定义
对用户提出的要求进行分析并给出详细的定义;
编写软件需求说明书或系统功能说明书及初步的系统用户手册;
提交管理机构评审。
7
软件设计
概要设计—把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应;
详细设计—对每个模块要完成的工作进行具体的描述,为源程序编写打下基础;
编写设计说明书,提交评审。
8
程序编写
把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”;
写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
9
软件测试
单元测试,查找各模块在功能和结构上存在的问题并加以纠正;
组装测试,将已测试过的模块按一定顺序组装起来;
按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。
10