摘要
本文主要介绍了软件工程中常见的多种软件过程模型,包括瀑布模型、原型模型、V模型、W模型、迭代与增量模型、螺旋模型、构件组装模型、基于构件的软件工程(CBSE)、快速应用开发(RAD)、统一过程/统一开发方法和敏捷开发方法等,还涉及了逆向工程、净室软件工程、需求工程、系统设计和软件测试等内容,为软件系统架构设计师的考试准备提供了全面的知识体系。
1. 软件过程模型
1.1. 瀑布模型
特点:严格区分阶段,每个阶段因果关系紧密相连只适合需求明确的项目
软件需求完整性、正确性难确定严格串行化,很长时间才能看到结果瀑布模型要求每个阶段一次性完全解决该阶段工作,这不现实。

1.2. 原型模型


1.3. V模型【瀑布变种】

1.4. W模型

1.5. 迭代与增量模型

1.6. 螺旋模型【原型+瀑布】

1.7. 构件组装模型

1.8. 基于构件的软件工程(CBSE)




1.9. 快速应用开发RAD【瀑布+构件组装】

1.10. 统一过程/统一开发方法


1.11. 敏捷开发方法




2. 逆向工程


3. 净室软件工程


4. 需求工程
4.1. 需求管理

4.2. 需求获取


4.3. 需求分析

4.4. 需求分析UML

4.5. 用例图



4.6. 用户关系


4.7. 类图与对象图


4.8. 顺序图


4.9. 通信协作图



4.10. 活动图

4.11. 泳道式活动图

4.12. 活动图

4.13. 构建与包图

4.14. 部署图

4.15. 需求定义

4.16. 需求确认与验证

4.17. 需求跟踪

4.18. 需求变更管理过程

4.19. 系统建模


5. 系统设计
5.1. 人机界面设计

5.2. 结构化设计

5.2.1. 结构设计(内聚性)

5.2.2. 结构设计(耦合性)


5.3. 面向对象设计(基本过程)



6. 软件测试
6.1. 软件测试类型

6.2. 白盒测试与黑盒测试

6.3. 软件测试阶段



6.4. 软件系统测试

6.5. 遗留系统演化策略

6.6. 新旧系统转换

6.7. 数据转换与迁移

6.8. 软件可维护性因素


博文参考