实验4---UML之类图、状态图和时序图讲述

合集下载

UML--实验4-图书管理系统活动图和状态图

UML--实验4-图书管理系统活动图和状态图

U M L--实验4-图书管理系统活动图和状态图(总4页)
本页仅作为文档封面,使用时可以删除
This document is for reference only-rar21year.March
实验4 状态图和活动图
实验目的
1.熟悉状态图和活动图的基本功能和使用方法。

2.掌握如何使用建模工具绘制状态图和活动图方法。

实验学时
4学时,必做。

实验内容
(1)分析图书管理系统中的书和借书证的状态,画出它们的状态图;
(2)分析管理员的活动状态,画出管理员的活动图。

实验步骤
1.分析
在图书管理系统中,分析书的状态如下:
1.可借
2.被借
3.被预约
4.删除
借书证的状态如下:
1.可用
2.不可用
3.删除
管理员的活动如下:
1.处理还书
2.处理借书
3.处理罚款
2.绘图步骤:
下面介绍在Rose中创建类和它们之间关系的过程:
书和借书证的状态图:
(1)、新建状态图
(2)、画出书的状态图
(3)、画出借书证的状态图
管理员活动图
(1)新建活动图
(2)
进入图书管理系统输入图书条
形码
找到此书籍输入借阅者
信息验证
进行验证借阅
者信息
不正确
添加借书信

正确。

实验4---UML之类图、状态图和时序图

实验4---UML之类图、状态图和时序图

组合
组合模式

演出售票系统
在用例驱动的开发过程中,通过分析各个用例及参与者得到类图。分析用例图的过程中需要根据 面向对象的原则设计类和关系,根据用例的细节设计类的属性和操作
Box Office Buy tickets <<include>> Buy Subscription 关系 <<include>> Make charges 用例 Survey sales
参数列表
操作名称 斜体为抽象操作
类图中的事物及解释
接口
※ 一组操作的集合,只有操作的声明而没有实现
抽象类
※ 不能被实例化的类,一般至少包含一个抽象操作
模版类
※ 一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类
Shape
Vehicle - fMaxSpeed : float + Start() : int + Stop() : int
(空心菱形)
ClassDiagram Relation Thing
UML表示法
实例
类图包含有事物 和关系,类图不 存在了,事物和 关系还可用于其 它的类图
Class (实心菱形)
Association
实例
类与关联关系之间 有组合关系,类不 存在了,则相应的 关联关系也不存在

泛化关系
※ 在面向对象中一般称为继承关系,存在于父类与子类、父接口与子接口 之间
UML表示法
+diagram use +thing
1..*
角色 类的角色是“事物 “
1..*
Class
多重性 (用数字和*表示) 1…*:1个或多个 1个类图有1个或多个类 1个类属于1个或多个类图

图书管理系统(用例图、类图、时序图)

图书管理系统(用例图、类图、时序图)

软件系统分析与设计实验报告学院:计算机科学与技术学院专业:软件工程学号:*********姓名:***实验名称:图书管理系统用例建模时间:一、实验内容与要求本实验要求学生对学校的图书馆管理系统进行需求分析,对系统功能进行用例建模,画出用例图,类图以及相应的时序图。

在使用UML对系统建模时,学会使用UML建模工具,熟悉工具中的功能。

二、用例分析1、读者“借书还书系统”用例图(f还书(from Use Cases)1.1、行为者:主要行为者:读者。

1.2、前置条件:读者进入图书管理系统。

1.3、事件流:1.3.1、主要事件流:1.3.1.1:读者检索所需图书信息,并查看;1.3.1.2:读者检索到所需图书,登录系统,开始借书;1.3.1.3:系统查询图书信息,图书数目是否可借;1.3.1.3.1:图书显示可借,借书成功;1.3.1.3.2:图书显示不可借,借书失败;1.3.1.4:进入续借图书界面,续借图书;1.3.1.5:系统查看预约记录,1.3.1.5.1:没有冲突,续借成功;1.3.1.5.2:有冲突,续借失败;1.3.3.1:1.3.1.6:读者归还图书;1.3.1.6.1:归还时间没有逾期,归还成功;1.3.1.5.2:归还时间逾期,逾期处罚,归还成功;1.3.2、备选事件流:1.3.2.1:图书检索信息失败,未检索到图书,重新输入信息检索;1.3.2.2:未曾检索到用户检索的图书,系统显示相关联的信息的图书;1.3.2.3:用户名或密码输入错误,登录系统失败,重新输入用户名或密码登录;1.3.2.4:系统显示图书不可借后,进入图书预约界面,输入信息预约图书;1.3.3、异常事件流:1.3.3.1:读者登录系统失败,未曾注册用户;1.3.3.1.1:返回系统注册用户后,重新登录。

1.4、后置条件:退出系统。

1.5、1.6、扩展点:无。

2、“图书信息管理系统”用例图新书信息录入(f逾期通知(from Use Cases)(from Use Cases)2.1、行为者:主要行为者:管理员;2.2、前置条件:管理员打开图书信息管理系统;2.3、事件流:2.3.1:主要事件流:2.3.1.1:图书管理员输入管理员登录信息,登录系统;2.3.1.2:进入图书信息管理界面,查看已有图书信息,是否有需要购入图书;2.3.1.2.1:录入新购进图书信息,并确认;2.3.1.3:进入读者信息管理界面,管理已有用户信息;2.3.1.4:进入信息通知界面,查看已有用户图书借阅、预约情况;2.3.1.4.1:查看读者所预约图书,自动查询图书信息,确认是否已有可借图书,有则通知读者;2.3.1.4.2:查询读者已借图书信息,根据已借时间及归还时间分类;2.3.1.4.2.1:所借图书即将逾期,启动系统提醒功能;2.3.1.4.2.2:所借图书已经逾期,启动逾期及处罚通知功能;2.3.2:备选事件流:2.3.2.1:管理员用户名或登录名错误,重新登录;2.3.2.2:需要购进新图书,存储信息,通知相关人员;2.3.2.3:读者预约图书没有可借图书,不予通知;2.3.2.4:预约通知提醒后,删除该预约记录;2.3.2.5:读者所借图书距离归还时间仍很久,无需通知;2.3.3:异常事件流:2.3.3.1:登录失败超过一定次数后,系统冻结该用户名,一段时间后可以重用;2.4、后置条件:退出系统;2.5、扩展点:无。

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

UML各种图例面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language ™),这篇课程的目的是展示出UML的精彩之处.UML中有九种建模的图标,即:∙用例图∙类图∙对象图∙顺序图∙协作图∙状态图∙活动图∙组件图∙配置图本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解.为什么UML很重要?为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成标准文档为了这个行业中的设计师和施工人员的必修课.写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言.UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界.模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state.类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances.用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作.用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节.“一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.”用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)标准文档角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线.一个用例图是角色,用例,和它们之间的联系的集合.我们已经把Make Appointment作为一个含有四个角色和四个用例的图的一部分.注意一个单独的用例可以有多个角色.用例图在三个领域很有作用.决定特征(需求).当系统已经分析好并且设计成型时,新的用例产生新的需求标准文档∙客户通讯.使用用例图很容易表示开发者与客户之间的联系.∙产生测试用例.一个用例的情节可能产生这些情节的一批测试用例.类图类图Class diagram通过显示出系统的类以及这些类之间的关系来表示系统.类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响.下面是一个顾客从零售商处预定商品的模型的类图.中心的类是Order.连接它的是购买货物的Customer和Payment.Payment有三种形式:Cash,Check,或者Credit.订单包括OrderDetails(line item),每个这种类都连着Item.标准文档UML类的符号是一个被划分成三块的方框:类名,属性,和操作.抽象类的名字,像Payment是斜体的.类之间的关系是连接线.类图有三种关系.关联association-表示两种类的实例间的关系.如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联.在图中,关联用两个类之间的连线表示.标准文档标准文档为了简单地表示出复杂的类图,可以把类组合成包packages.一个包是UML上有逻辑关系的元件的集合.下面这个图是是一个把类组合成包的一个商业模型.dependencies关系.如果另一个的包B改变可能会导致一个包A改变,则包A依赖包B.包是用一个在上方带有小标签的矩形表示的.包名写在标签上或者在矩形里面.点化线箭头表示依赖对象图Object diagrams用来表示类的实例.他们在解释复杂关系的细小问题时(特别是递归关系时)很有用.这个类图示一个大学的Department可以包括其他很多的Departments.标准文档这个对象图示上面类图的实例.用了很多具体的例子.UML中实例名带有下划线.只要意思清楚,类或实例名可以在对象图中被省略.标准文档每个类图的矩形对应了一个单独的实例.实例名称中所强调的UML图表.类或实例的名称可能是省略对象图表只要图的意义仍然是明确的.顺序图类图和对象图是静态模型的视图.交互图是动态的.他们描述了对象间的交互作用.顺序图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线.消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列.标准文档协作图协作图也是互动的图表.他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角色.在序列图中,对象的角色放在上面而消息则是连接线.标准文档对象角色矩形上标有类或对象名(或者都有).类名前面有个冒号(:).协作图的每个消息都有一个序列号.顶层消息的数字是1.同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等.状态图对象拥有行为和状态.对象的状态是由对象当前的行动和条件决定的.状态图statechart diagram显示出了对象可能的状态以及由状态改变而导致的转移.标准文档我们的模型例图建立了一个银行的在线登录系统.登录过程包括输入合法的密码和个人账号,再提交给系统验证信息.登录系统可以被划分为四种不重叠的状态:Getting SSN, Getting PIN, Validating, 以及 Rejecting.每个状态都有一套完整的转移transitions来决定状态的顺序.标准文档状态是用圆角矩形来表示的.转移则是使用带箭头的连线表示.触发转移的事件或者条件写在箭头的旁边.我们的图上有两个自转移.一个是在Getting SSN,另一个则在上Getting PIN.初始状态(黑色圆圈)是开始动作的虚拟开始.结束状态也是动作的虚拟结束.事件或条件触发动作时用(/动作)表示.当进入Validating状态时,对象并不等外部事件触发转移.取而代之,它产生一个动作.动作的结果决定了下一步的状态.活动图活动图activity diagram是一个很特别的流程图.活动图和状态图之间是有关系的.状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程.活动图告诉了我们活动之间的依赖关系.对我们的例子来说,我们使用如下的过程.“通过ATM来取钱.”这个活动有三个类Customer, ATM和 Bank.整个过程从黑色圆圈开始到黑白的同心圆结束.活动用圆角矩形表示.标准文档标准文档标准文档。

UML-4-状态图

UML-4-状态图

7.3.2 迁移
1. 引发迁移的事件 2. 迁移的文字标签
2. 迁移的文字标签
为了使迁移线有明确的意义,UML提供了由 三部分组成的文字标签来解释该迁移的发生 事件
触发 警戒条件 行为
2. 迁移的文字标签
文字标签的语法可以表示为:
触发[警戒条件]/行为 trigger[guard] / behavior
UML及建模工具
——状态图
State Diagram
7.1 7.2 7.3 7.4 7.5
基于状态的对象行为建模 状态图 状态图的表示方法 案例分析 总结
第7章 状态图(State Diagram)
7.1
基于状态的对象行为建模
对象既有行为又有状态,对象的行为由其状 态决定,对象根据其状态的不同而产生不同 的行为 为了描述对象在状态之间的转变过程中将产 生什么行为,需要捕获对象所有可能发生的 状态
2. 状态内部的活动
Enter Password entry/set echo to star; do/handle and check password exit/set echo normal
图7-7带有活动的状态图
7.3.2 迁移
迁移指从一个状态到另一个状态的瞬间变化 过程 从源状态到目标状态一发生变化,就称发生 了迁移 UML用从源状态到目标状态的带开放式箭头 的实线表示迁移,箭头指向目标状态
7.2
状态图
状态图由状态(State)和迁移(Transitions) 组 成 它的表达方式为:
状态图 = 状态 + 迁移 State Diagram = State + Transitions
7.3
状态图的表示方法

UML类图和时序图简述

UML类图和时序图简述

目录目录 (1)1类图基本元素符号: (2)1.1 类(Classes) (2)1.2 包(Package) (2)1.3 接口(Interface) (3)2类图关系: (3)2.1. 依赖(Dependency) (3)2.2 关联(Association) (4)2.3 聚合(Aggregation) (4)2.4 合成(Composition) (5)2.5 泛化(Generalization) (5)2.6 实现(Realization) (5)3 UML建模之时序图(Sequence Diagram) (6)3.1. 时序图简介(Brief introduction) (6)3.2. 时序图元素(Sequence Diagram Elements) (6)3.2.1 角色(Actor) (6)3.2.2 对象(Object) (6)3.2.3 生命线(Lifeline) (7)3.2.4 控制焦点(Focus of Control) (7)3.2.5 消息(Message) (8)3.2.6 自关联消息(Self-Message) (9)3.2.7 Combined Fragments (10)3.3. 时序图实例分析(Sequece Diagram Example Analysis) (10)3.3.1 时序图场景 (10)3.3.2 时序图实例 (11)3.3.3 时序图实例分析 (11)3.4. 总结(Summary) (11)1类图基本元素符号:1.1 类(Classes)类包含3个组成部分。

第一个是Java中定义的类名。

第二个是属性(attributes)。

第三个是该类提供的方法。

属性和操作之前可附加一个可见性修饰符。

加号(+)表示具有公共可见性。

减号(-)表示私有可见性。

#号表示受保护的可见性。

省略这些修饰符表示具有package(包)级别的可见性。

如果属性或操作具有下划线,表明它是静态的。

UML实践----用例图、顺序图、状态图、类图、包图、协作图

UML实践----用例图、顺序图、状态图、类图、包图、协作图

UML实践----用例图、顺序图、状态图、类图、包图、协作图2009-01-20 作者:Randy Miller 来源:网络面向对象的问题的处理的关键是建模问题。

建模可以把在复杂世界的许多重要的细节给抽象出。

许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML的精彩之处。

UML中有九种建模的图标,即:∙用例图∙类图∙对象图∙顺序图∙协作图∙状态图∙活动图∙组件图∙配置图本课程中的某些部分包含了这些图的细节信息的页面链接。

而且每个部分都有一个小问题,测试一下你对这个部分的理解。

为什么UML很重要?为了回答这个问题,我们看看建筑行业。

设计师设计出房子。

施工人员使用这个设计来建造房子。

建筑越复杂,设计师和施工人员之间的交流就越重要。

蓝图就成为了这个行业中的设计师和施工人员的必修课。

写软件就好像建造建筑物一样。

系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。

在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。

现在它已经成为了软件行业的一部分了。

UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。

UML被应用到面向对象的问题的解决上。

想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。

一个模型model就是根本问题的抽象。

域domain就是问题所处的真实世界。

模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。

记住把一个对象想象成“活着的”。

对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。

对象的属性的值决定了它的状态state。

类Classes是对象的“蓝图”。

一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。

对象是类的实例instances。

用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象。

火车购票系统UML类图时序图状态图协作图活动图对象图用例图

火车购票系统UML类图时序图状态图协作图活动图对象图用例图

《UML面向对象分析》课程实践项目报告项目名称:网上订购火车票系统项目组成员:学号:班级:指导教师:2008年 11 月 10 日目录1 需求分析 (1)1.1 需求概述 (1)1。

2 ................................... 需求分析11.3 需求模型(用例图) (5)2 静态模型 (6)2.1 类图 (6)2.2 对象图 (8)2.3 包图 (9)3 动态模型 (11)3。

1 ..................................... 时序图113.2 状态图 (13)3。

3 ..................................... 协作图143.4 活动图 (15)4 项目组成员分工说明 (16)5 总结 (17)6 参考资料 (18)1需求分析1.1 需求概述线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。

实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。

线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。

用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。

具有体积小,代码简洁,易维护、易修改的优点.1.2 需求分析用户管理模块用户管理模块包括如下几个部分。

(1)添加用户信息:管理员可以对用户信息进行添加操作。

(4)修改用户信息权限:管理员可以修改用户的管理权限.(5)删除管理权限:管理员在权限管理中可以删除管理权限。

(6)添加管理权限:管理员在权限管理中可以添加管理权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 泛化关系
※ 在面向对象中一般称为继承关系,存在于父类与子类、父接口与子接口
之间 Relation
Association Generalization Realization Dependency
关联、泛化、 实现、依赖都 是一种关系
Thing
Class
Interface
UML表示法
类、接口都是 一种事物
Java代码 public abstract class Vehicle {
public abstract int Start(); public abstract int Stop(); public abstract int Run(float fSpeed);

把元素组织成组的机制
注释事物 是UML模型的解释部分
依赖 关联 泛化 实现
一条可能有方向的虚线 一条实线,可能有方向 一条带有空心箭头的实线 一条带有空心箭头的虚线
NewPro cessor
state
NewPackage
类图概要
※ 类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态 建模方法
※ 类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象
类图中的事物及解释

※ 从上到下分为三部分,分别是类名、属性和操作。类名是必须有的
※ 类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型 、缺省值等
※ 类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、 参数缺省值和操作的返回值的类型等
(变体图形)
接口
Vehicle - fMaxSpeed : float
+ Start() : int + Stop() : int
抽象类
模版参数
模版类
类图中的关系及解释
关联关系
描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般 的关 联关系语义较弱。也有两种语义较强,分别是聚合与组合
属性名称
可见性 -代表private +代表public #代表protected 也可以使用图形表示
Account
- balance : double = 1
+ Deposit(amount : double) : int + ComputeInterest() : double
类名 斜体为抽象类
缺省值
返回值类型
参数列表
操作名称 斜体为抽象操作
类图中的事物及解释
接口
※ 一组操作的集合,只有操作的声明而没有实现
抽象类
※ 不能被实例化的类,一般至少包含一个抽象操作
模版类
※ 一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类
Shape
Shape
(标准图形)
+ Draw ()
1 机身
1 机尾
1 机翼
类图与代码的映射
类的映射
Vehicle
{abstract}
- fMaxSpeed : float
+ Start ()
: int
+ Stop ()
: int
+ Run (float fSpeed) : int
C++代码 class Vehicle { public:
virtual int Start() = 0; virtual int Stop() = 0; virtual int Run(float fSpeed) = 0; private: float fMaxSpeed; };
UML表示法
名字 关系的名字是“使用

角色 类的角色是“事物

ClassDiagram
+diagram 1..* use
+thing
1..*
Class
方向 双向关联(省略箭头)
多重性 (用数字和*表示) 1…*:1个或多个 1个类图有1个或多个类 1个类属于1个或多个类图
实例
聚合关系
➢ 特殊关联关系,指明一个聚集(整体)和组成部分之间的关系
构件 是系统中物理的、可替代的部件
参与 在系统外部与系统直接交互的人 者 或事物
NewClass
Interface
usecase
componet actor
节点
是在运行时存在的物理元素
交互 状态机
它由在特定语境中共同完成一定 任务的一组对象间交换的消息组 成
它描述了一个对象或一个交互在 生命期内响应事件所经历的状态 序列
组合关系
➢ 语义更强的聚合,部分和整体具有相同的生命周期
UML表示法 UML表示法
(空心菱形)
ClassDiagram
实例
Thing Relation
类图包含有事物 和关系,类图不 存在了,事物和 关系还可用于其 它的类图
Class (实心菱形) Association 实例
类与关联关系之间 有组合关系,类不 存在了,则相应的 关联关系也不存在
实验4 类图、状态图和时序图设计
张程
UML语法描述
ቤተ መጻሕፍቲ ባይዱ
是对一组具有相同属性、相同操 类 作、相同关系和相同语义的对象
的描述
对象
接口
是描述了一个类或构件的一个服 务的操作集
协作
定义了一个交互,它是由一组共 同工作以提供某种协作行为的角 色和其他元素构成的一个群体
用例 是对一组动作序列的描述
主动 对象至少拥有一个进程或线程的 类类
组成关系
组成关系是聚集关系的变种,它强调整体与部分之间有 很强的所属关系和一致的生命周期。 如果没有成分对象,组成对象也不存在。
聚集 组成
Report 0..*
textPart 0..* Paragraph
Corporation 1
division 1..* CorporateDivision
滑翔机
UML表示法
模板类Stack<T>定义 了栈相关的操作; IntStack将参数T与实际 类型int绑定,使得所 有操作都针对int类型 的数据
类Memento和类 Originator建立了友元 依赖关系,以便 Originator使用 Memento的私有变量
state
类图
聚集关系
表示整体与部分之间的关系,也即作为整体的对象拥有 作为部分的对象,它通常只是概念上的区分。 构成对象不存在,聚集对象还可存在。
实现关系
※ 对应于类和接口之间的关系
UML表示法
Shape + Draw ()
Circle
Rectangle
类Circle、Rectangle 实现了接口Shape的 操作
依赖关系
+ Draw () + Drarw ()
※描述了一个类的变化对依赖于它的类产生影响的情况。有多种表现形式,
例如绑定(bind)、友元(friend)等
相关文档
最新文档