UML各类图及例子

合集下载

浅谈UML中常用的几种图

浅谈UML中常用的几种图

浅谈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)以及它们之间的关系。

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-表示两种类的实例间的关系.如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联.在图中,关联用两个类之间的连线表示.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各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

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完整例子

UML完整例子

(3) 得到候选类
书籍 计算机类书籍 非计算机 类书籍 借阅记录 借阅记录列表 书籍列表
在使用"名词动词法"寻找类的时候,很多团 在使用"名词动词法"寻找类的时候, 队会在此耗费大量的时间,特别是对于中大型项目, 队会在此耗费大量的时间,特别是对于中大型项目, 这样很容易迷失方向. 这样很容易迷失方向.其实在此主要的目的是对问 题领域建立概要的了解, 题领域建立概要的了解,无需太过咬文嚼字
特性
用例
FEAT07.按书名,作者,类别,出版社等关键字组合查查 UC03.查查书籍 按书名,作者,类别, 按书名 查查书籍 书籍 信息 FEAT08.列出所有书籍信息 列出所有书籍信息 FEAT14.所有查查,列表,统计功能应可以单独对计算机 所有查查, 所有查查 列表, 类或非计算机类进行 FEAT09.登录登登情况 登录登登情况 FEAT10.登登状态能够自动反应在书籍信息中 登登状态能够自动反应在书籍信息中 UC04.登登登登 登登登登 信息
(4)用例图
新增书籍信息
<<extend>> 查查书籍信息 <<include>>
修改书籍信息
查查登登信息 图书管理员 登登登登信息
统计统统和统数
(5)细化用例描述—搭框架 )细化用例描述—
(2)筛选备选类
筛选备选类
"基本信息"则是书名,作者,类别等描述书籍的 基本信息"则是书名,作者, 基本信息 基本信息统称, 关键字"则是代表其中之一, 基本信息统称,"关键字"则是代表其中之一, 因此无需对其建模; 因此无需对其建模; "功能","新书籍","信息","登录"都 功能" 新书籍" 信息" 登录" 是在描述需求时使用到的一些相关词语, 是在描述需求时使用到的一些相关词语,并不是 问题域的本质,因此先可以将其淘汰掉; 问题域的本质,因此先可以将其淘汰掉;

ATM系统UML 7种图

ATM系统UML  7种图

UML建模语言7种图(以银行ATM系统为例)分类:JAVA2010-04-21 20:40 2911人阅读评论(0) 收藏举报uml语言活动作业优化1 用例图:描述了系统提供的一个功能单元。

以一种可视化的方式理解系统的功能需求,"角色"与系统内用例之间的关系。

本例中,参与者"银行储户"和ATM机。

简化后的ATM机仅有取款、存款及其余功能。

其余功能不做详细说明。

2 类图:显示系统的静态结构。

逻辑类、实现类,实现类就是程序员处理的实体。

类在类图上使用包含三个部分的矩形来描述,如图2所示。

最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。

本例中许多单个的帐户组成了帐户库,帐户具有帐户类型、帐户号、余额三个属性。

许多银行储户组成了储户库。

ATM系统包含了许多ATM机。

银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。

通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮助自己整理思路,充实及优化自己的设计。

3 序列图:显示具体用例(或者是用例的一部分)的详细流程。

它几乎是自描述的,并且显示了流程中中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。

序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。

本例以时间为顺序描述了顾客在ATM机上取款时信息的流动情况,顺序图着重于对象间消息传递的时间顺序。

4 状态图:表示某个类所处的不同状态和该类的状态转换信息。

包括5个基本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用具有开箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;以及一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。

本例描述了顾客在ATM机上进行操作会经历的几种状态,及各种状态之间转换的条件。

UML那些事儿:六类UML图

UML那些事儿:六类UML图

UML那些事儿:六类UML图来源:天极网作者:邱郁惠2.1 类图2.2 对象图2.3 包图2.4 活动图2.5 序列图2.6 用例图本章介绍六类UML图的主要用途,以及常见的概念及图示,以便对这六类图有一个初步的认识。

2.1 类图如果投票选最重要的UML图,我一定会把票投给类图( class diagram)。

类图是一款结构图(structure diagram),如图2-1所示,我们可以用它来表达系统内部重要的组成结构。

一个稳定且具弹性的内部结构可以同时支撑系统对外提供的各式服务,以及系统内部复杂的运作,所以我认为类图特别重要。

接下来的各小节会谈到类图中最常见的概念及图示。

2.1.1 类一群对象(object)享有相同的结构、行为、约束和语义时,称它们是同类(class)的对象。

换句话说,定义一个类就相当于描述了一群对象。

在类中,使用属性(attribute)表达对象的结构,使用操作(operation)表达对象的行为。

如图2-2所示,定义员工(worker)类之后,便可以依据此类的描述产生一群对象。

这些:Worker对象不仅可以共用类所定义的属性,拥有自己的属性值,还可以共用类所定义的操作,或者共用约束。

图2-1 类图图2-2 类与对象类采用三格的矩形图示,顶格放置类名称,中格放置属性名称,底格放置操作名称。

不过,也可以将类的属性格或操作格隐藏起来,节省空间,如图2-3所示。

大多数的UML工具都有隐藏功能。

以StarUML为例,点选任何一个类图示都可以选择是否隐藏属性或操作,如图2-4所示。

图2-3 类图示图2-4 隐藏属性或操作2.1.2 可见性对象具有封装(encapsulation)属性,可以把数据结构和行为细节封装起来,外界无法随意存取。

对应UML的类概念,我们会看到类中有属性和操作,同时可以设定这些成员是否能被外界存取的可见性(visibility)。

以图2-5为例,单笔申购(purchase)封装了一个外界无法存取的私有属性—金额(amount),以及一个外界可以调用的公开操作—计算(calculate)。

uml建模实例100例

uml建模实例100例

uml建模实例100例UML(统一建模语言)是一种用于软件开发的标准建模语言,它可以帮助开发人员更好地理解、设计和实现软件系统。

下面是100个UML建模实例。

1. 用例图:描述系统功能和外部用户的行为。

2. 活动图:描述系统中的过程和活动,通常用来描述系统的业务流程。

3. 类图:描述系统中的类、属性和方法、关系等。

4. 对象图:描述系统中的对象及其关系。

5. 状态图:描述系统中的对象或类的状态和状态转换。

6. 序列图:描述系统中的对象或类之间的交互过程。

7. 协作图:描述系统中的对象或类之间的协作过程。

8. 构件图:描述系统的组成部分和它们之间的关系。

9. 部署图:描述系统的物理部署结构和组件之间的关系。

10. 通信图:描述系统中的对象之间的消息传递。

11. 包图:描述系统中的包和它们之间的关系。

12. 组合结构图:描述系统中的组成部分和它们之间的组合关系。

13. 时序图:描述系统中的对象或类之间的时间关系。

14. 交互概述图:描述系统中的对象或类之间的协作过程。

15. 系统顺序图:描述系统中的对象或类之间的时间关系。

16. 概念图:描述系统中的概念和它们之间的关系。

17. 数据流图:描述系统中的数据流和处理过程。

18. 流程图:描述系统中的过程和流程。

19. 参与者图:描述系统中的参与者和它们之间的关系。

20. 视图图:描述系统中的视图和它们之间的关系。

21. 规则图:描述系统中的规则和它们之间的关系。

22. 用例图扩展点:描述用例图中的扩展点和它们之间的关系。

23. 活动图扩展点:描述活动图中的扩展点和它们之间的关系。

24. 类图扩展点:描述类图中的扩展点和它们之间的关系。

25. 对象图扩展点:描述对象图中的扩展点和它们之间的关系。

26. 状态图扩展点:描述状态图中的扩展点和它们之间的关系。

27. 序列图扩展点:描述序列图中的扩展点和它们之间的关系。

28. 协作图扩展点:描述协作图中的扩展点和它们之间的关系。

uml各种图例及说明

uml各种图例及说明

uml各种图例及说明(摘录)1、用例图描述角色以及角色与用例之间的连接关系。

说明的是谁要使用系统,以及他们使用该系统可以做些什么。

一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

2、类图类图是描述系统中的类,以及各个类之间的关系的静态视图。

能够让我们在正确编写代码以前对系统有一个全面的认识。

类图是一种模型类型,确切的说,是一种静态模型类型。

3、对象图与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。

它描述的不是类之间的关系,而是对象之间的关系。

4、活动图描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。

能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

5、状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。

可以捕获对象、子系统和系统的生命周期。

他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。

一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。

状态图是对类图的补充。

6、序列图(顺序图)序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。

顺序图可以用来展示对象之间是如何进行交互的。

顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

7、协作图和序列图相似,显示对象间的动态合作关系。

可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。

如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

8、构件图(组件图)描述代码构件的物理结构以及各种构建之间的依赖关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程与项目案例教程
11
案例1:ATM系统
❖ 建立一个具有基本功能的ATM机软件
电子工业出版社
客户可以存钱,取钱 客户可以查询节余 客户可以修改密码 客户可以使用信用卡付帐
软件工程与项目案例教程
12
❖ 客户的用例关系图
电子工业出版社
软件工程与项目案例教程
13
电子工业出版社
用例“取钱”的事件流 (1)
5. ATM提供以下选项:存钱,取钱,查询 。
6. 用户选择取钱选项。
7. ATM提示输入所取金额。
8. 用户输入所取金额。
9. ATM确定该帐户是否有足够的金额。如果余额不够,则执 行A2,如果与主机联接有问题,则执行异常事件流E1。
10. ATM从客户帐户中减去所取金额。
11. ATM向客户提供要取的钱。
12. ATM打印清单。
软件1工3程. A与T项M目案退例出教程客户的卡,用例结束。
15
电子工业出版社
❖ 其他事件流A1:输入无效密码
1. ATM告诉客户该密码错误。 2. ATM退出客户的卡,用例结束。
❖ 其他事件流A2:余额不足
1. ATM告诉客户该帐户余额不足。 2. ATM退出客户的卡,用例结束。
18
电子工业出版社
ATM系统“取钱”用例的类图读卡机类ATM屏幕类
帐户类 软件工程与项目案例教程
取钱机类
19
ATM系统的包图
电子工业出版社
软件工程与项目案例教程
20
电子工业出版社
Account对象的状态图
软件工程与项目案例教程
21
电子工业出版社
ATM客户机的C++组件图
软件工程与项目案例教程
软件工程与项目案例教程
5
电子工业出版社
状态图:描述了对象在其生命周期中所有可
能的状态以及事件发生时状态的转移条件。通 常状态图是对类图的补充。
软件工程与项目案例教程
6
电子工业出版社
活动图:描述了为满足用例要求所要进行的
各种活动的执行流程,以及活动间的约束关系, 有利于识别并行活动。通过同步棒与泳道反映 并发活动关系
❖ 异常事件流E1:联接主机出现错误
1. ATM告诉客户联接主机出现错误。 2. ATM在错误日志记下错误。 3. ATM退出客户的卡,用例结束。
❖ 事后条件:无
软件工程与项目案例教程
16
电子工业出版社
客户李明取20元钱的顺序图
软件工程与项目案例教程
17
电子工业出版社
客户李明取20元钱的协作图
软件工程与项目案例教程
软件工程与项目案例教程
9
电子工业出版社
构件图:组件图描述了软件组件的物理结构以
及各组件之间的依赖关系。一个部件可能是一个 资源代码部件、一个二进制部件或一个可执行部 件。
软件工程与项目案例教程
10
配置图: (也称部署图)描述了软件在硬件环电子工业出版社
境中的配置关系。配置图不但显示实际的计算机 和设备(用节点表示)以及它们之间的关系,还 描述了连接的类型及组件之间的依赖性。在节点 内部,放置可执行部件和对象以显示节点跟可执 行软件单元的对应关系。
软件工程与项目案例教程
需求描述
电子工业出版社
根据需求

建立系统的静态模型

构造系统的结构




描述系统的行为

1
用例图:从用户角度描述系统功能,并指 出各功能的操作者;重点是参与者和用例 的挖掘;注意参与者之间、用例之间的泛 化、包含和扩展关系
电子工业出版社
软件工程与项目案例教程
2
类图:用于定义系统中的类。包括描述类 之间的关系(如:关联、依赖、泛化、聚 合、可见性、数量关系、聚合与组合等) 以及类的内部结构(即类的属性和操作)。
电子工业出版社
软件工程与项目案例教程
3
电子工业出版社
对象图:是类图的实例,显示一组对象以及它 们的关系。对象图只在系统的某一时间段存在。 对象图是类图的实例,几乎使用与类图完全相 同的标识。
软件工程与项目案例教程
4
电子工业出版社
包图:用于描述系统的分层结构,包中内容
可以是类,也可以是包。包图主要表示包与类, 或包与包之间的关系。
❖ 简要说明:客户可以从ATM机上取出自己 帐目上的部分或者全部存款。
❖ 前提条件:无 ❖ 主事件流:
软件工程与项目案例教程
14
电子工业出版社
1. 客户将卡插入ATM机,开始用例。
2. ATM显示欢迎消息并提示客户输入密码。
3. 客户输入密码。
4. ATM确认密码有效。如果无效则执行其他事件流A1。如 果与主机联接有问题,则执行异常事件流E1。
软件工程与项目案例教程
7
电子工业出版社
顺序图:显示对象之间的动态合作关系,它强
调对象之间消息发送的顺序,同时显示对象之间 的交互;如果强调时间和顺序,则使用顺序图;
软件工程与项目案例教程
8
电子工业出版社
协作图:描述了一组相互合作的对象与对象之
间的协作关系,强调对象相互间的通信关系。如 果强调上下级关系,则选择合作图。
22
电子工业出版社
ATM服务器的C++组件图
软件工程与项目案例教程
23
电子工业出版社
ATM客户机的Java组件图
软件工程与项目案例教程
24
ATM系统的实施图
电子工业出版社
软件工程与项目案例教程
25
知识回顾 Knowledge Review
软件工程与项目案例教程
电子工业出版社
祝您成功!
相关文档
最新文档