【软件工程】第三章软件工程模型和方法
软件建模是软件工程的核心技术
1. 什么是模型
1.1 什么是模型
A model is a simplification of reality.
1.2 为什么要建模
- 模型的功能
- 在正式启动工程项目之前发现设计中的错误和遗漏之处;通过(形式化的)分析和实验,降低工程的风险
- 研究和比较不同的解决方案
- 用来和项目的所有者进行交流(客户、用户、实现者、测试者、开发文档管理员等等)
- 促进工程的实现
- 建模的重要性:越复杂的事物,其建模越重要
- 有用模型的特征
- 抽象性:突出重点方面,去除无关紧要的细节
- 可理解性:模型的表达方式能被模型的观察者很容易的理解
- 精确性:忠实地表达被建模的系统
- 说明性:能够被用来对被建模系统进行直观地分析,并得出正确的结论
- 经济性:模型的建立和分析比被建模系统更廉价,更经济
- (作为有用的工程模型,必需具备以上所有特征)
- 举例:UML的软件模型视图
- 需求:用例图Use Case diagram
- 结构:
- 本体论:类图Class diagram
- 实例:对象图Object diagram
- 行为:
- 状态图State diagram
- 活动图Activity diagram
- 交互:顺序图和协作图Sequence diagram & Collaboration diagram
- 行为:
- 构件图Component diagram
- 部署图Deployment diagram
- (以上视图相互集成,构成一个完整的模型