UML之类图
2014-03-30 17:15
218 查看
学习了use case后,把系统的功能描述出来,接下来就是描述一个系统的静态特征,从系统中找出名词,抽象出类,然后确定每个类的属性和方法,表达类之间的关系,绘制类图。
其中,+表示公有,-表示私有,#表示保护。
在这里,job为关联name,employee和employer为role,而*表示多重性,即一个人可以任职于多家公司,一家公司有多名员工组成。
2、抽象类不能被实例化,斜体表示。
3、多重性:说明一个关联的实例中有多少个相互连接的对象,*表示。
一、基本认识
1、构成:name、attributes、operations
2、声明:
其中,+表示公有,-表示私有,#表示保护。
3、5种表示:属性和方法都可以隐藏。
二、关系:
1、关联:
a、普通:表示一定的结构关系,比如员工和公司间是雇佣关系,应用于关联关系的修饰有名称、角色、多重性;当然关联也分单向、双向和多项关联。
在这里,job为关联name,employee和employer为role,而*表示多重性,即一个人可以任职于多家公司,一家公司有多名员工组成。
b、组合:紧耦合,有强烈的生命制约关系,比如身体和胳膊、腿。
c、聚合:整体和部分关系,比如书和书架可以单独存在。
2、依赖:使用关系,比如supplier的规格变化可能会影响到使用它的client的变化,箭头指向被依赖。
3、泛化:继承关系,比如enginee和manager继承employee类的一些属性,都是雇员。
4、实现:该关系中一个类元描述另一个类元保证实现的契约,比如square实现了polygon。
三、深入讨论
1、范围:静态成员,一个类所有实例共享一个成员,下划线标注。2、抽象类不能被实例化,斜体表示。
3、多重性:说明一个关联的实例中有多少个相互连接的对象,*表示。
四、实战:机房收费
相关文章推荐
- 用fputc和fgetc操作文件的输入输出-复制文件
- hibernate search搜索结果高亮显示
- struts2结合过滤器和cookie实现自动登录
- 我的vim设置
- 利用matlab编写实现显示fmri切片slice图像 混合显示 不同侧面显示 可叠加t检验图显示 by DR. Rajeev Raizada
- 英超
- 继续接着上篇保存数据库,后面更加精彩
- ubuntu12.04.4常用的解压/压缩命令
- 过滤字符串中的特殊符号
- extjs中导出excel
- Android 网络数据交互之JSON
- 那些不能错过的Xcode插件
- 2014_03_30工作日志:error LNK2001: unresolved external symbol _Md5Making Release/Md5_Test.dll : fatal err
- Android库的建立与使用
- Matlab 图像小波变换
- 非常无聊,写了个狂写文件的程序
- 海淀驾校比亚迪学车记--科目二考试
- 增量升级(省流量更新)的Android客户端实现
- 矩阵快速幂+斐波纳契数列的立方和
- RAII手法