软件工程--过程

软件规格说明:规定软件的功能及其运行的限制

软件开发:产生满足规格说明的软件

软件确认:确认软件能够完成客户提出的要求

 

软件工程过程的特性

  • 易理解性
  • 可见性
  • 可支持性
  • 可接受性
  • 可靠性
  • 健壮性(安全性)
  • 可维护性
  • 速度

 

软件生存期(life cycle)

软件有一个孕育\诞生\成长\成熟\衰亡的生存过程,这个过程即为计算机软件的生存期

 

软件生存期6个步骤

  • 制定计划
  • 确定要开发软件系统的总目标
  • 给出功能\性能\可靠性以及接口等方面的要求
  • 完成该软件任务的可行性研究
  •  
  • 需求分析和定义
  • 对待开发软件提出的需求进行分析并给出详细的定义
  • 编写软件需求说明书
  •  
  • 软件设计
  • 概要设计---把各项需求转换成软件的体系结构.结构中每一组成部分都是意义明确的模块.
  •  
  • 软件编写
  •  
  • 软件测试
  • 单元测试(静态测试)---查找各模块在功能和结构上存在的问题并加以纠正
  • 组装测试(集成测试)---讲已测试过的模块按一定顺序组装起来
  • 运行维护

 

五大模型:

软件工程--过程_第1张图片

瀑布模型:发现问题越晚 代价越大

瀑布型

1.思想

从制作时间上按工序把问题化简,将功能实现与制作分开便于分工协作

2.优点

1.奠定了软件工程方法的基础

2.流水依赖,便于分工协作

3.推迟物理实现,易于修改文档,有复审质量保证;

3.不足:

与用户见面晩,成功率低,一般为25%

4.话用范围

适用与系统要求明确的系统,各种应用软件的开发均可使用、

5开发方法:

遵循软件生命期的划分,明确规定每个阶段的任务,上一阶段完成确定的任务后就产生一定格式的文档给下阶段,不同阶段的任务一般有不同级别的软件人员承担

6开发特点

1.时间的顺序性和依赖性

2.推迟实现的观点

3.质量保证的观点

 

b模型

软件工程--过程_第2张图片

 

计划:理解问题 可行性研究报告

需求分析:用户的要求 需求规格说明书

设计:建立软件结构 各个模块的功能  总体设计(概要设计) 和 详细设计

编码:编写程序 和相应的文档

测试: 发现和排除错误 尽早的发现问题

 

软件工程--过程_第3张图片

 

原型(渐增型)

软件工程--过程_第4张图片

1.基本思想

允许从部分需求出发,先建立一个不全面的系统通过测试这个系统,进一步使系统扩充和完善

2.优点

开发的始终开发人员和用户都共同参与,有问题可以随时修改。从而很好的满足了用户的需求

3.适用范围

适用与那些知识型软件系统的开发

4.特点

1.从整体结构上不如瀑布型清晰

2.软件的文档不如瀑布型的划分严格;

3.周期长,成本高

4.与用户见面快,开发效率高;

 

 

 

螺旋模型

软件工程--过程_第5张图片

螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即制定计划一确定软件目标,选定实施方案,弄清项目开发的限制条件

风险分析一一分析所选方案,考虑如何识别和消除风险

实施工程一一实施软件开发

客户评估一一评价开发工作,提出修正建议

 

喷泉模型

 

软件工程--过程_第6张图片

迭代

重复

演进

无间隙

各阶段间无明显界限

变换型

1.思想

从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终结果

2.特

有严格的数学理论和形式化的技术支持,但目前在研究和实验阶段,不能实用

喷泉型:

认为软件的各个周期是相互重叠的和多次反复的

螺旋型

多次原型反复并增加风险评估的开发模型

你可能感兴趣的:(软工)