一,软件建模基本概念
1.为什么建模?
-
若要创建一座大厦,首先要做的肯定不是先去买所需要的材料,而是需要对建筑物的大小,形状和样式做一个规划,做出相应的图纸和模型。
-
假如你要根据如下需求实现一个图书馆管理系统,应该如何实施?
-
需求描述:
图书馆管理系统,是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者,图书管理员和系统管理员三个方面的需求:
- 对于借书者来说主要是查询个人信息,查询图书信息,约定当前正在被别人借阅的图书,借阅图书和返还图书等。
- 图书管理员是系统的主要使用者,负责借书处理和还书处理,当读者约定的图书借出给定预定者后取消图书预定
- 系统管理员主要负责的系统维护工作,涉及到读者信息管理,图书信息管理,系统状态为维护等
-
软件建模体现了软件设计思想,需求和实现之间架起了一座桥梁,通过模型指导软件系统的具体实现。
-
模型并不是软件系统的一个完备表示,而是所研究的系统的一种抽象
2.如何进行软件建模?
-
软件建模原则
- 选择正确的模型,模型要与现实相关联
- 从不同的角度,使用不同的模型来表示一个系统
- 模型是抽象的,是选取系统某个最显著的特征并进行简化表示,因此需要通过不同角度的视角采用不同的模型来表示:
- 外部视角: 对系统上下文或者环境进行建模
- 交互视角:对系统即其环境或者系统的构件之间的交互进行建模
- 结构化视角:对系统的组件或者系统所处理的数据的结构进行建模
- 行为视角:对系统的动态行为以及系统如何响应事件进行建模
-
软件建模方法
在不同的领域和场景下有不同的软件建模方法,其各自的建模思想和采用的建模工具也不尽相同
- 结构化方法
- 面向对象方法
- 基于构建方法
- 面向服务方法
- 面向方面方法
- 模型驱动方法
- 形式化方法
- 对于开发人员普遍使用的面向对象方法建模
-
软件建模工具
随着面向对象技术的不断发展和应用,形成了面向对象的建模标准,即UM