类图(Class Diagram)简介 app
类图是面向对象分析(OOA,Object-Oriented Analysis)和面向对象设计(OOP,Object-Oriented Deisgn)思想的重要工具,是业务结构建模的重要工具。工具
需求中提到的各类业务概念,人物等,通过抽象后均可以视之为类。将某类东西概括在一块儿,能够称为一个类,类有不少种提炼角度,须要根据系统的目标,业务的场景等,选取合适的角度对事物进行概括。学习
类的识别:spa
1. 类的识别设计
将需求分析中遇到的人、物、概念识别为类,这是比较容易作到的,而对于事情,例如考试,咱们就不必定能将其识别为类。由于广泛认为,类表明的是一些静态东西,而事情是动态的,不适合用类来表示。这并非绝对的,由系统的目标出发,有时候咱们须要将某些事情、动做等动态内容,识别为类。当咱们作某某管理系统,而某某是指某个事情时,其实最终系统是经过管理该事情的记录来实现对该事情的管理。例如:考试管理系统,其实最终系统管理的是考试记录;请假管理系统,其实系统最终管理的是请假记录。为了能让这些事情能被管理,将这些事情识别为类是很必要的。对象
2. 类与类之间的关系blog
关联关系:继承
其中:*表示零到多名的意思,也可用数字表示,如: 10, 则表示10名的意思,递归
1..100:表示1到100名的意思;it
包含关系:包括两种,聚合(Aggregation)和组合(Composition)
聚合:
组合:
聚合表示若是部门没有了,员工能够继续存在,组合则表示若是部门没以了,那么员工也不存在了。
软件需求分析时,能够先将全部的包含关系都做为聚合关系来表示,通过深刻分析后再来肯定某些关系为组合关系。
继承关系(Generalization):
依赖关系(Dependency):以下图,LogWapper则依赖于Log,
所谓依赖关系,依赖程序是相对而言的,不必定是LogWapper没有Log就不能”生存”。
在具体的业务逻辑中,对于某个事情,LogWapper须要Log来协助完成,这也一种依赖。
类的”递归”关系与”三角”关系
递归关系也就是自包含关系,如同文件夹同样,文件夹中便可以包含文件夹,也能够包含文件。
三角关系是两个类之间用第三个类来实现关联,以下图的公司和员工之间,用劳动合动来关联。
以上某些内容来自于 【火球UML大战需求分析】中,做为学习笔记记录一下