Rational Rose 用例图、顺序图、活动图、类图、状态机图 实例
- 格式:doc
- 大小:171.50 KB
- 文档页数:7
浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。
注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。
分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。
“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。
•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。
RationalRose简明实用教程UML中各种图形概要:图名对照说明用例图use casediagram 用例图表明系统做什么,与谁交互。
用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。
一个系统可以创建一个或多个用例图。
用例use case参考者actor关联关系unidirectional association泛化关系(继承)generalization活动图activitydiagram 活动图显示了从活动到活动的流。
活动图可以在分析系统业务时用来淙业务流,也可以在收集系统需求的时候显示一个用例中的事件流。
活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。
泳道swimlane活动activitystate transition同步synchronization决策点decision类图classdiagram类图显示系统之中类与类之间的交互类class方法Operation属性Attribute序列图sequencediagram序列图显示用例中的功能流程协作图collaboration diagram状态图statechart diagram构件图componentdiagram 构件图显示模型的物理视图,也显示系统中的软件构件及其相互关系,模型中的每个类映射代码构件,一旦创建构件,就加进构件图中,然后画出构件之间的相关性。
构件间的相关性包括编译相关性和运行相关性。
实施图deploymentdiagram 实施图是显示网络的物理布局,系统中涉及的处理器、设备、连接和过程。
一个项目中有一个实施图。
Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。
1.环境简介 1.1 Rational Rose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。
1、浏览器:用于在模型中迅速漫游。
序列图的建模步骤1.创建和删除序列图1.1 创建序列图新建一个序列图的方式有两种:1.1.1 在逻辑视图中增加序列图1)一般情况下,序列图属于系统的逻辑模型,因此可以使用“Logical View”的右键菜单——〉“New”——〉“Sequence Diagram”,如下图所示:然后输入序列图的名称,如下图所示:接着双击新增的序列图名称,开始输入序列图,如下图所示:1.1.2 在用例视图中增加序列图序列图主要是用于对用例的描述,在此种目的下新增序列图的方式也是有两种:2.1)直接在“Use Case View”下的相应用例上通过右键菜单——〉“New”——〉“Sequence Diagram”菜单项新建一个序列图,如下图所示:输入序列图的名称,如下图所示:输入完序列图的名称后,双击此序列图的名称开始输入序列图的内容。
2.2)在用例图中使用用例的属性窗口来新增序列图。
如下图所示,在用例“浏览课件”的“Specification”属性窗口中的“Diagrams”项目下,通过右键菜单——〉“Insert Sequence Diagram”,输入序列图的名称,如下图所示:双击此序列图名称,进入序列图的编辑界面。
1.2 删除序列图不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),删除序列图的方式都是一样的。
都是选中需要删除的序列图,右键菜单——〉“Delete”,即可直接删除,如下图所示。
注意,在Rational Rose2003环境下,所有的删除操作都是没有提示的。
1.3 修改序列图的名称不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),修改序列图名称的方式都是一样的。
都是选中需要修改名称的序列图,右键菜单——〉“Rename”,如下图所示:2.增加和删除对象2.1 增加对象在序列图中,增加对象的方式主要有两种:2.1.1 使用原有的模型元素作为序列图的对象使用拖放的方式把原有的模型元素作为序列图的对象,如下图所示:注意:可以被拖放的模型元素有参与者(Actor)和类(Class)这两种模型元素。
ational-Rose-用例图、顺序图、活动图、类图、状态机图-实例
状态机图
一、问题描述
面对目前大学生日益懒惰的现象,某企业计划开发一套针对大学食堂的网上自动订餐、派送、支付等功能的电子商务系统。
具体包括(但不限于)
1、任何人均可实名注册并登录系统;
2、当日菜品浏览和订餐;
3、可实时浏览订单状态。
如果尚未配送,可撤销菜单;
4、授权人员进行配送并更新状态;
5、支付方式可以是货到付款,可以是从订餐者个人校园卡中扣除(如果余额不足则支付和订餐失败),也可以是其他方式;
6、正常结束和异常结束;
7、系统可实现整体的查询和统计分析功能。
请根据上述需求给出系统的用例图、类图、活动图(泳道)和顺序图和状态机图。
二、解题思路
1、用例图
(1)、一般客户用例图
图1、客户用例图(2)维护人员用例图
图2、维护人员用例图
2、活动图
(1)、一般客户活动图
图3、客户活动图(2)、维护人员活动图
图4、维护人员活动图3、类图
图5、类图4、顺序图
图6、顺序图5、状态机图
(1)客户状态机图
图7、客户状态机图(2)系统维护人员状态机图
图8、系统维护人员状态机图
三、实验总结
通过此次操作,对Rational rose软件有了更进一步的了解,对用例图,活动图,顺序图和类图的画法也有了进一步的学习,不过尚有一些问题,如顺序图中对于关系不能删除修改,对于需要分支的关系也无法建立,类图中的关系掌握的不是特别熟练,还有问题描述的有些出入,不知道是在客户订餐后还是在支付后,维护人员才会配送并更新状态,总之,还需要老师您的讲解。
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.每个类图包括类,关联和多样性表示.方向性和角色是为了使图示得更清楚时可选的项目.包和对象图为了简单地表示出复杂的类图,可以把类组合成包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业务建模实例分析在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。
我们在日常生活中也经常和ATM打交道。
本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。
参与者"银行储户"和ATM机。
简化后的ATM机仅有取款、存款及其余功能。
其余功能不做详细说明。
图5.1 自动取款机(ATM)系统用例图银行储户在ATM机上完成取款、存款及其他业务。
图5.2所示的银行系统类图和图3.5是类似的,只是将工作人员换成了ATM。
整个银行系统包括了帐户库、银行储户库及ATM系统。
许多单个的帐户组成了帐户库。
帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。
六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其余均为public。
setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。
getType获取帐户类型,返回类型为char,无参数。
setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。
getAccountNumbe获取帐户号,返回类型为int,无参数。
caculateBalance计算余额,返回类型为void,参数为double,第一个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。
getBalance获取帐户余额,返回类型为double,无参数。
许多银行储户组成了储户库。
ATM系统包含了许多ATM机。
银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
实验一Rose基本使用及用例图[实验目的]1.熟悉Rose的系统界面,掌握其基本使用方法。
2.熟悉模型图标元素。
3.掌握用例图的绘制方法。
[实验内容]1.练习Rose的基本使用。
2.熟悉UML模型元素及表示方法。
3.绘制图书馆管理系统的用例图。
[实验要点及说明]一、Rose简介Rose是美国的Rational公司的面向对象建模工具,利用这个工具,可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB和Oracle等语言和系统的代码。
➢Rational Rose在建模方面具有以下特点:1.保证模型和代码高度一致。
Rose可以实现真正意义上的正向、逆向和双向工程。
2.支持多种语言。
Rose本身能够支持的语言包括C++、Visual C++、Java、Visual Basic、PowerBuilder 等,还可为数据库应用产生数据库描述语言(DDL)。
3.为团队开发提供强有力的支持。
Rose提供了两种方式来支持团队开发:一种是采用SCM(软件配置管理)的团队开发方式;另一种是没有SCM情况下的团队开发方式。
这两种方式为用户提供了极大的灵活性,用户可以根据开发的规模和开发人员数目以及资金情况等选择一种方式进行团队开发。
4.支持模型的Internet发布。
Rose的Internet Web Publisher能够创建一个基于Web的Rose模型的HTML版本,使得其他人员能够通过标准的浏览器,如IE来浏览该模型。
5.生成使用简单且定制灵活的文档。
Rose本身提供了直接产生模型文档的功能。
6.支持关系型数据库的建模。
利用Rose能够进行数据库的建模。
Rose能够为ANSI、Oracle、SQL Server等支持标准DDL的数据库自动生成数据描述语言。
➢Rational Rose 基本使用Rational Rose主界面如下图所示::Rose的工作区分为4个部分:浏览器、文档区、编辑区和日志区。
使用Rational Rose 进行UML可视化建模本课程以某所大学的《在线选修课程管理系统》为例来介绍怎样使用Rational Rose 进行UML可视化建模。
最终递交三个文件:regist.mdl, regist.sql, VB的代码或Java的代码。
内容:一、系统描述 (2)二、用例图(Use Case View) (2)三、活动图(Activity Diagram)(建立选修课程目录表) (5)四、相关的包和类以及简单类图 (11)五、用例实现图(Use Case Realization Diagram) (13)六、顺序图(Sequence Diagram)与合作图(Collaboration Diagram) (15)七、类图中的关系(Relationships) (18)八、类图中的操作与属性 (20)九、类图中的泛化 (22)十、状态图(Statechart Diagram) (26)十一、构件图(Component Diagram) (31)十二、部署图(Deployment Diagram) (34)十三、生成程序代码 (35)十四、创建数据库设计 (40)十五、附件1:转换后的Visual Basic程序 (44)十六、附件2:转换后的Java程序 (45)十七、附件3:生成的SQL语句 (46)一、系统描述1.大学教师选择本学期要教授的课程,每位教师最多只能上报4门课程。
2.教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。
2.学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多为10人,最少为3人。
人数达到10人时,停止学生登记注册此门课程;3.学生选课结束后,系统自动取消人数少于三人的课程。
4.学生按最终的课程表到财务处办理收费手续(billing system)。
5.教师可查询所教课程的学生花名册(roster)。
使用Rational Rose 进行UML可视化建模以某所大学的《选修课程管理系统》为例来介绍怎样使用Rational Rose 进行UML可视化建模。
一、问题描述:1.教务管理人员将本学期要开设的课程输入教务系统,教师选择教授的课程,打印出选修课程目录表,向学生公布;2.教务管理人员将最终的学生课程表通知学生,将每门选修课的花名册(roster)通知相关教师,将有关收费情况的信息传送到财务管理系统;3.学生到财务部门办理收费手续。
二、利用Rational Rose创建《选修课程管理系统》用例图(Use Case View)1.《选修课程管理系统》中的执行者(Actors)●注册选修课程的学生(Student);●教授选修课程的教师(Teacher);●教务管理人员(Register)必须汇总选修课程情况,制作课程表;教务管理人员必须维护关于课程、教师和学生的所有信息;●财务管理系统(Billing System)从本系统中取出收费信息。
2.使用Rational Rose 创建执行者(Actors)图11)右击browser框中的Use Case View包,弹出快捷菜单;2)选择New——Actor项;3)输入执行者的名字;(可用Rename命令更改)3.《选修课程管理系统》中的用例(Use Case)●注册选修课程(学生);[Register for courses]●选择教授的课程(教师);[Select course to teach]●索取课程花名册(Roster)(教师);[Request course roster]●维护课程信息(教务管理人员);[Maintain course information]●维护教师信息(教务管理人员);[Maintain teacher information]●维护学生信息(教务管理人员);[Maintain student information]●创建课程目录(教务管理人员);[Create course catalogue] 4.使用Rational Rose 创建用例(Use Case)图21)右击browser框中的Use Case View包,弹出快捷菜单;2)选择New——Use Case项;3)输入用例的名字;(如出错,可用Rename命令更改)5.使用Rational Rose 创建主用例图(Main Use Case Diagram)1)双击browser框中的Use Case View包中的Main条目,打开主用例图;2)单击选中browser框中的执行者,并将其拖到主用例图中;3)重复第2)步,直到完成所需的工作为止;4)单击选中browser框中的用例,并将其拖到主用例图中;5)重复第4)步,直到完成所需的工作为止;6)在工具条中选择单向关联(Unidirectional Association)图标;7)单击一个执行者,并拖到相应的用例上;或单击一个用例,并拖到相应的执行者上。
一使用ROSE绘制用例图的步骤1.创建用例图一般情况下,用例图是UML中要绘制的第一个图。
在用RATIONAL ROSE创建所用的模型之前,首先要新建一个工程。
新建工程可以点击【File->New】菜单项,选项卡【New】如图所示,用来选择新建模型时采用的摸板。
在此我们暂时不用摸板,选择Cancel。
要建立新的用例图,可以右键单击“Use Case View”节点,在弹出的菜单中选择【New->Use Case Diagram】菜单项,如下图所示。
此时,在“Use Case Diagram”树形结构下多了一个名为“NewDiagram”的图标,这个图标就是新建的用例图标。
右键单击次图标,在弹出菜单中选择【Rename】菜单项,可以为用例图重新命名。
最好为用例图模型取一个有意义的名字。
双击用例图标,出现用例图的编辑区和编辑工具栏,如图所示,左边是用例图的编辑工具栏,右边是用例图的编辑区2.用例图工具栏按纽简介选择一项添加文本框添加注释将图中的元素与注释连接起来包用例参与者关联关系依赖和实例化泛化关系3.工具栏的定制用户可以根据需要自行定制和添加工具栏中的图标,操作方法如下:右键单击工具箱的空白处(注意不要点到图标按纽),在弹出的菜单中选择【Customsize】菜单项后出现“自定义工具栏”对话框4.添加参与者与用例(1)绘制参与者和用例,参与者和用例的绘制方法相同,首先点击工具栏中的图标按纽,然后在编辑区要绘制的地方单击鼠标左键,如下说示显示了一个参与者和一个用例(2)设置用例的属性。
在用例上双击,弹出用例属性设置对话框,如图所示。
在对话框的“General”选项卡中可是设置用例的名称“name”,用例的类型“Stereotype”,用例的层次“rank”,以及对用例的问档说明“documentation”。
(3)设置参与者的属性。
参与者的属性设置跟用例的设置一样。
5.添加参与者与用例的关系参与者与用例的关系为关联关系,要绘制关联关系。
RationalRose画状态图实验四创建状态图⼀、实验⽬的1.理解状态图的基本概念;2. 掌握状态图的组成要素及含义;3. 掌握在Rational Rose中绘制状态图的操作⽅法。
⼆、预备知识建⽴状态图状态图显⽰了对象的动作⾏为,显⽰对象可能存在的各种状态,对象创建时的状态,对象删除时的状态,对象如何从⼀种状态转移到另⼀种状态,对象在不同状态中⼲什么。
●创建状态图(图4-1)(1)在浏览器中右击类。
(2)选择new→statechart diagram,对该类创建⼀个状态图,并命名该图。
图4-1:创建状态图●在图中增加状态,初始和终⽌状态(图4-2)(1)选择⼯具栏的state按钮,单击框图增加⼀个状态,双击状态命名。
(2)选择⼯具栏的start state 和end state ,单击框图增加初始状态和终⽌状态。
初始状态是对象⾸次实例化时的状态,状态图中只有⼀个初始状态。
终⽌状态表⽰对象在内存中被删除之前的状态,状态图中有0个、1个或多个终⽌状态。
图4-2:增加状态状态之间增加交接(1)选择state transition⼯具栏按钮。
(2)从⼀种状态拖到另⼀种状态。
(3)双击交接弹出对话框,可以在“General”中增加事件(Event) (图4-3),在“Detail”中增加保证条件(Guard Condition) (图4-4)等交接的细节。
事件⽤来在交接中从⼀个对象发送给另⼀个对象,保证条件放在中括号⾥,控制是否发⽣交接。
(4)图4-4,Action中,输⼊活动/操作名称,为事件添加活动/操作。
图4-3:增加事件在状态中增加内部转移活动(图4-5)(1)右击状态并选择open specification。
(2)选择Action标签,右击空⽩处并选择Insert。
(3)双击新活动(清单中有“Entry/”)打开活动规范,“When”下拉中可以修改事件名,如DO,Exit,在“name”中输⼊活动名称。
UML各种图总结-精华UML(UnifiedModelingLanguage)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。
静态图分为:用例图,类图,对象图,包图,构件图,部署图。
动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCaseDiagrams):用例图主要回答了两个问题:1、是谁用软件。
2、软件的功能。
从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(ClassDiagrams):用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖2.1.泛化【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。
例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
2.3.关联【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量2.4.聚合【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
状态机图
一、问题描述
面对目前大学生日益懒惰的现象,某企业计划开发一套针对大学食堂的网上自动订餐、派送、支付等功能的电子商务系统。
具体包括(但不限于)
1、任何人均可实名注册并登录系统;
2、当日菜品浏览和订餐;
3、可实时浏览订单状态。
如果尚未配送,可撤销菜单;
4、授权人员进行配送并更新状态;
5、支付方式可以是货到付款,可以是从订餐者个人校园卡中扣除(如果余额不足则支付和订餐失败),也可以是其他方式;
6、正常结束和异常结束;
7、系统可实现整体的查询和统计分析功能。
请根据上述需求给出系统的用例图、类图、活动图(泳道)和顺序图和状态机图。
二、解题思路
1、用例图
(1)、一般客户用例图
图1、客户用例图
(2)维护人员用例图
图2、维护人员用例图2、活动图
(1)、一般客户活动图
图3、客户活动图
(2)、维护人员活动图
图4、维护人员活动图
3、类图
图5、类图4、顺序图
图6、顺序图5、状态机图
(1)客户状态机图
图7、客户状态机图(2)系统维护人员状态机图
图8、系统维护人员状态机图
三、实验总结
通过此次操作,对Rational rose软件有了更进一步的了解,对用例图,活动图,顺序图和类图的画法也有了进一步的学习,不过尚有一些问题,如顺序图中对于关系不能删除修改,对于需要分支的关系也无法建立,类图中的关系掌握的不是特别熟练,还有问题描述的有些出入,不知道是在客户订餐后还是在支付后,维护人员才会配送并更新状态,总之,还需要老师您的讲解。