软件工程
1、软件需求分析与定义
需求需要确定软件边界,解决需求之间的冲突,因此需求必须可验证。
需求分析产出:建立分析模型和需求说明书
需求说明书内容:
1、前言
目的
范围
定义
参考材料
2、软件项目概述
软件项目说明
软件项目功能概述
用户描述
一般约束
3、功能需求
功能描述(输入,处理,输出)
接口描述
通信接口
性能需求
设计约束
属性(安全性,可维护性)
其他需求(数据库、操作)
2、软件设计测试与维护
软件设计的输入为需求说明书,分为概要设计和详细设计。
概要设计又称架构设计,描述软件系统结构和组织,标识不同的功能模块
详细设计,描述各个组件,使之能够被构造
软件测试:单元测试(编码)、集成测试(详细设计)、系统测试(概要设计)、验收测试(需求说明书)
软件维护:改正性维护、适应性维护、完善性维护、预防性维护
3、软件复用
软件复用就是利用已有软件相关知识构建新的软件,以缩减软件开发和维护成本。
软件复用包括:设计复用、代码复用、分析复用、测试信息复用
4、软件质量保证与质量评价
软件质量包括内部质量、外部质量和使用质量。
验证:确定软件开发过程中的一个给定阶段产品是否符合前一阶段的需求
确认:确定软件开发过程结束时产品和需求是否一致
管理评审:监控进度
技术评审:确定产品是否符合规范说明书
检查:一部分是否异常
走查:非正式的,可以用于产品培训听众
审计:正式的
5、软件配置管理
软件配置管理主要是对软件生存期过程中的各阶段产品和最终产品演化和变更的管理。最终目标是实现软件产品的完整行、一致性和可控性,使产品和用户需求极大的相吻合。
软件配置的实施包括:指定软件配置管理计划、确定标识配置规则、实施变更控制、报告配置状态、进行配置审核、进行版本管理和发行控制。
6、软件开发环境
开发平台具有满足功能需求、运行稳定、服务支持和易用性。
7、软件过程管理
CMMI两种模型表述方式:
连续式:过程的能力成熟度(过程领域分为:过程管理、项目管理、工程、支持)
阶段式:组织的能力成熟度(过程领域分为:初始级、可管理级、已定义级、定量管理级、持续优化级)