1.用例图
用例图:主要用来描述系统行为以及各种功能之间的关系,是描述参与者与用例以及用例之间的关系 的图
要素:
-
用例 (动宾短语命名)
-
参与者 (名词短语)
-
关联 (动词短语)
一般用直线直接连接
-
系统边界
一般用矩形框
具体
参与者:参与者是用例的启动者,可以是人或者其它外界系统。
例
在订餐系统用中:
- 系统名:COS
- 参与者:Patron、Admin、Deliverer
- 用例 :生产订单、登陆系统、注册账号
2.时序图
时序图:
要素:
-
对象
对象用一个矩形框表示 。Name也对象的名字,Type是对象的类型。里面用在其中下面画上下划线。 -
生命线
生命线:用一条垂直的虚线表示。生命线表示了一个对象在交互过程中的生命期限。
-
活动条
活动条:为对象某个活动的的执行状态注:在生命线上并非一定要用活动条来表示执行的发生,活动条的加入使得执行发生的更 加形象化,在行为繁多的顺序图中,活动条也使得图示更加复杂,在这种情况下,倾向 于不使用活动条
-
消息
* 消息:对象的行为也成为消息,对象之间行为的交互作用也可以看作是对象之间发送消息
实现的。* 通常,一个对象调用另一个对象中的行为时,即完成一次消息的传递。 例: 图中 d 及时一个消息。其中,m1、m2是传递的参数。 一个完整的消息: d = get ( id1 : ItemID ,id2 : ItemID) : Item 其中, 消息名字 :get 消息参数 :id1 、id2 ,参数是Item类型的 返回值 : Item ,返回对被存储在调用对象的 d 中
-
控制流
其中,在左上角表示类型,[condition条件 ]
Alt :条件控制
loop : 循环条件
例:
在登陆系统中:
3.类图
类图:是类的模型,是利用图示和文字注释描述类以及类与类之间相互关系的方法
要素:
- 类名 ( 名词短语,每个单词的开头大写)
- 属性 ( 名词短语,第一个单词的首字母小写,后面的都大写)
- 方法 ( 动宾短语 , 第一个单词的首字母小写,后面的都大写)
- 可见性(public :+ ; private: - ; protected:#)
- 数据类型(变量名:类型)
类与类之间的关系:
-
关联:表示一个对象拥有另一个对象 ( has a 的关系)
代码可以表示为:
class A{ private: B object; }; class B{ private: A object2; };
-
依赖:一个类使用另一个类的方法 或 一个类使用其他类所定义的属性和方法
依赖是两个事物之间的关系,其中一个事物(服务者)的变化,会影响到另一 个事物(客服)。对于两个类A、B,类A依赖于类B,类B不是类A的成员变量,一般 是B是A中某个函数的局部变量。
图示:
代码可以表示为:class A{ public: void doX(B argument){}; B doY(){ //dosomething return B; } };
-
继承/实现
-
组合/聚合
例: