UML全称为Unified Modeling Language 目前最流行的面向对象建模语言
建模必要性
对于复杂的问题我们需要把它的本质抽象出来,建模时捕获系统本质的过程
好处:捕获商业流程
促进沟通:使用建模分析和设计应用 ,捕捉商业对象和逻辑
管理复杂性:将模型划分成不同的试图,用包将视图组织成一颗抽象层次渐深的树形图
定义软件架构:系统模型独立于实现语言
促进软件复用
UML发展
Booch’93
OMT
OOSE
Coad-Yourdon方法等等
均采用面向对象的技术,各有所长所短,采用不同标记
UML构成
UML视图
不同的视图突出特定的参与群体所关心的系统的不同方面,通过合并所有五个视图中得到的信息就可以形成系统的完整描述
1.用例视图
定义了系统的外部行为,是最终用户,分析人员和测试人员所关心。该视图定义了系统的需求,因此约束了描述系统设计和构造的某些方面的所有其他试图
2.设计视图
描述的是支持用例视图中规定的功能需求的逻辑结构。它有程序组件定义,主要是类,类所包含的数据,类的行为以及类之间交互的说明组成
3.实现视图
描述构造系统的物理组件,这些组件包括如可执行文件,代码库和数据库等内容。这个视图中包含信息与配置管理和系统集成这类活动
4.进程视图
包括形成并发和同步机制的进程和线程
5.部署视图
描述物理如何在系统运行的实际环境中分布
用例图
描述外部执行者与系统的交互,表达系统功能即系统提供服务
主要元素:用例i和执行者
用例:执行者与计算机一次典型交互,代表系统某一完整功能
执行者:与系统交互的人或物
建立用例模型
用例的粒度要宁粗勿细
(3)执行者间关联
泛化关系
一般特殊关系
扩展关系
允许一个用例扩展另一个用例提供的功能,与泛化关系类似,有更多的规则限制
基本用例必须声明若干个“扩展点”,扩展用例只能在扩展点上增加新行为
包含关系
一个基本的用例行为包含另一个用例行为(虚线箭头,)