统一建模语言UML轻松入门之综合实例

统一建模语言UML轻松入门之综合实例
统一建模语言UML轻松入门之综合实例

统一建模语言UML轻松入门之综合实例(2008-04-09 17:05:18)

标签:it

在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。我们在日常生活中也经常和ATM打交道。本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。

5.1用例图

参与者"银行储户"和ATM机。简化后的ATM机仅有取款、存款及其余功能。其余功能不做详细说明。

图5.1 自动取款机(ATM)系统用例图

银行储户在ATM机上完成取款、存款及其他业务。

5.2类图

图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机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。更多的属性及操作都可以一一加上,使这个类图更详细更完整,从而使参与项目的每个成员都能无歧义的明了整个设计的类的结构。同样对于一个真正的银行系统,这个类图过于简单。比如帐户类型我们可以先定义一个abstract class,它包含一个帐户最基本的属性及操作。而有些操作先定义为abstract,如余额的计算。然后再继承这个abstract class,我们可以有saving account 和checking account等等。不同的帐户有不同的余额计算方法,我们可以加上具体的算法。对于不同的帐户可能还有一些它特有的操作,我们也可以加上,比如 saving account在存款达到多少时可以享受机票打折的优惠。通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮组自己整理思路,充实及优化自己的设计。

图5.2 银行系统类图

5.3顺序图

图5.3描述了顾客在ATM机上取款时信息的流动情况。以时间为顺序。因为仅是示例,所以整个过程是没有出现任何故障时的流程,并且只画到了取款结束。通过这个图,我们可以看出消息是如何在系统中不同对象之间进行交互。

通过流程图我们可以很清楚地看到系统是如何工作的,系统各部分之间的信息及控制是如何发送的,整个流程是否合理。流程图对我们的设计起到了很好的帮助作用。注意在本图没有一个生命线终端有一个"X",这是因为这个流程中还未遇到有对象生命结束。当有对象生命结束时需在对应的生命线终端画"X",表明这个对象在这时被销毁。

首先银行储户将ATM卡插入读卡机,读卡机将信息传给客户管理,客户管理提出查询密码,显示部分将输入密码请求显示出来…..因为这个顺序图较长,且很清晰,即便是初学者也很容易读懂,在此就不对本图做过多的解释。

图5.3 ATM取款顺序图

5.4状态图

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

因为是简化了的例子,所以除了等待顾客插入磁卡的起始状态和结束服务的终止状态,顾客会处于输入密码、选择服务类型、存款及取款四种状态。

图5.4 ATM状态图

插入磁卡后进入输密码状态,当密码输入正确时进入选择服务类型状态,当输入密码不正确时,停留在原状态,但如果三次不正确,服务结束。进入选择服务类型后根据选择的不同,顾客可进入存款和取款状态。存、取款结束后,顾客既可以选择结束服务到最终状态,也可以选择继续服务回到选择服务类型状态。

通过状态图我们可以无歧义的了解各个活动角色是如何在不同状况下转换的,转换的条件是什么,是否会出现死锁现象,是否有条件没考虑周全,是否有状态无法达到。状态图可

以帮助我们发现问题,并及时改正。

5.5活动图

图5.5参考了Randy Miller的《A Hands-On Introduction for Developers》一文,5.3图中的客户管理和事物管理对应于5.5图中的Bank,图5.3中的读卡机、显示、输入设备及点钞机对应于5.5图中的ATM Machina,银行储户就是Customer。初看活动图和顺序图表达的意义很接近。但我们可以注意到顺序图着重时间的顺序,而活动图侧重于各部分之间的相互制约,对于一些并行的活动能够有效的表示出来。例如5.5图中fork和join处,我

们可以很清楚的看到一些并行活动的存在。

这个活动图以顾客插入卡为开始,以顾客取卡结束。我们可以看到活动图的重点虽然不在时间顺序,但我们同样可以得到时间的信息。

图5.5 ATM银行系统活动图

5.6协作图

在第四章中我们知道协作图和顺序图是可以无信息损失的相互转换,只是它们的侧重点是不一样的。顺序图着重于对象间消息传递的时间顺序,协作图着重于表达对象之间的静态

连接关系。图5.6将5.3图转换为协作图。

1.插入ATM卡

2.接受ATM卡

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.显示帐户余额并提示选择下面的服务

图5.6 ATM系统协作图

从图上我们可以看出协作图的角色和顺序图的对象是一一对应的,而协作图上的各对象上的协作关系和顺序图上的消息传递是一一对应的。

跟我学UML建模工具StarUML(第9部分)——应用StarUML创建UML活动图的创建示例

1.1跟我学UML建模工具StarUML(第9部分)——应用StarUML创建UML活动图的创建示例 1.1.1UML活动图及主要的应用 1、UML活动图和活动 (1)活动图其实本质上就是流程图 从软件系统内部的视角来看,因为UML活动图反映的都是软件系统功能所要完成的动作过程(它定义出工作流从哪里开始,到哪里结束,工作流中发生了哪些活动及其顺序等),活动是工作流期间完成的任务。但要注意的是。UML用例描述和活动模型之间存在着一些重要的区别。但活动图与流程图之间也还存在有一定的区别 1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程; 2)活动图能够表示并发活动的情形,而流程图不行; 3)活动图是面向对象的,而流程图是面向过程的。 (2)UML活动图可以描述用例的活动和行为 用例描述是从外部参与者的角度出发来编写的,而活动模型则采用内部系统的角度进行描述的——使用活动图可以表示由内部生成的动作(描述活动)。当然,软件系统的分析和设计人员也可以利用活动图来为参与者对系统的操作行为进行建模(描述行为)。 (3)UML活动图中的动作状态的特性 这里所指的动作(也就是活动动作)主要有三个特点:原子性、不可中断性和瞬时性: 1)原子性的即不能被分解成更小的部分; 2)是不可中断的即一旦开始就必须运行到结束; 3)是瞬时的即动作状态所占用的处理时间通常是极短的,甚至是可以被忽略的。(4)动作状态在UML中的图示形式 在UML中,动作状态使用带圆端的方框表示()。 (5)活动图中的动作流或者控制流

UML软件建模教程课后习题与答案

UML软件建模教程课后习题 习题1 一、简答题 1. 简述模型的作用。 答:现实系统的复杂性和内隐性,使得人们难于直接认识和把握,为了使得人们能够直观和明了地认识和把握现实系统,就需要借助于模型。 2. 软件模型有什么特征? 答:建模对象特殊,复杂性,多样性 3. 软件建模技术有哪些因素? 答:软件建模方法,软件建模过程,软件建模语言,软件建模工具 4. 软件模型包括哪些方面的内容? 答:从模型所反映的侧面看:功能模型,非功能模型,数据模型,对象模型,过程模型,状态模型,交互模型,架构模型,界面模型等;从软件开发工作看:业务模型,需求模型,分析模型,设计模型,测试模型等。 5. 软件建模工具应该具有哪些基本功能? 答:软件模型的生成和编辑,软件模型的质量保障,软件模型管理等 二、填空题 1、模型是对现实的(抽象)和模拟,是对现实系统(本质)特征的一种抽象、简化和直观的描述。

2、模型具有(反映性)、直观性、(简化性)和抽象性等特征。 3、从抽象程度,可以把模型分为(概念模型)、逻辑模型和(物理模型)三种类型。 4、较之于其他模型,软件模型具有(建模对象特殊)、复杂性和(多样性)等特征。 5、软件模型是软件开发人员交流的(媒介),是软件升级和维护的(依据)。 6、软件建模技术的要素包括软件建模方法、(软件建模过程)、软件建模语言和(软件建模工具)。 7、从开发阶段看,软件建模有业务模型、(需求模型)、分析模型、(设计模型)和测试模型。 8、软件语言有软件需求定义语言、(软件设计语言)、软件建模语言、(软件结构描述语言)、软件程序设计语言等。 9、根据软件建模工具的独立性,把软件建模工具分为(独立软件)建模工具和(插件式软件)建模工具。 10、OMG在(1997 )年把UML作为软件建模的标准,UML2.0版本是(2005 )年颁布的。 三、选择题 1、对软件模型而言,下面说法错误的是(D )。 A.是人员交流的媒介 B.是软件的中间形态 C.是软件升级和维护的依据 D.是软件的标准文档

UML建模技术作业自编习题集

UML建模技术作业自编习题集 目录 第一章上升到面向对象 (1) 第二章可视化建模技术 (4) 第三章业务建模 (5) 第四章用例建模 (7) 第五章用例分析 (9) 第六章面向对象的设计原则 (12) 第七章面向对象的设计模式 (14) 第八章架构设计 (15) 第九章构件设计 (17) 第十章从模型到代码 (20)

第一章上升到面向对象 1、结构化思维与对象化思维有什么本质的不同?体现了怎样的思维差异?对象思想有何优势? 2、如何表达设计思想:代码?图形? 3、根据所在学院,以学生角度,应该哪些设计类与对象?举例说明面向对象技术的五个原则 4、阅读课件第1章PPT中的课外作业:面向对象术语清单 ●抽象类Abstract Class ●对象不能从中实例化的类 ●抽象Abstraction ●某项目(如类或操作)的基本特征 ●聚合Aggregation ●表示两个类或组件之间是“is part of”关系 ●聚合层次Aggregation Hierarchy ●通过聚合关系联系的一组类 ●关联Association ●对象和其它对象发生联系 ●属性Attribute ●类知道的东西(数据/信息) ●类Class ●相似对象的软件抽象,创建对象的模版 ●内聚Cohesion ●封装单元(如组件或类)的相关程度 ●协作Collaboration ●类协作来完成它们的职责 ●构件Component ●可以独立开发、分发以及与其他组件一起构建较大单元的内聚功能单元 ●组合Composition ●更强类型的聚合,其中“整体”完全负责它的各组成部分,每“部分” 对象仅和一个“整体”对象相联系 ●具体类Concrete Class ●可以进行对象实例化的类 ●耦合Coupling

UML建模实例-课程注册系统

课程注册系统 软件构架文档 版本 1.0 修订历史记录 目录 1. 简要说明 2. 参考 3. 构架表示方式 4. 构架目标和约束 5. 用例视图 6. 逻辑视图 7. 进程视图 8. 部署视图 9. 大小和性能 10. 质量

软件构架文档

1.简要说明 软件构架文档提供了课程注册系统构架方面的综合概述。课程注册系统是 Wylie College 为支持联机课程注册而进行开发的。 本文档从利用 Rose 实施的课程注册分析设计模型中直接生成。大部分章节都是使用 SoDA 和软件构架文档模板从 Rose 模型中摘录而来。 2.参考 适用的参考资料包括: 1.课程收费接口规约,WC93332,1985,Wylie College Press。 2.课程目录数据库规约,WC93422,1985,Wylie College Press。 3.课程注册系统前景文档,WyIT387,1.0 版,1998,Wylie College IT。 4.课程注册系统词汇表,WyIT406,2.0 版本,1999,Wylie College IT。 5.用例规约 - 结束注册,WyIT403,2.0 版,1999,Wylie College IT。 6.用例规约 - 登录,WyIT401,2.0 版,1999,Wylie College IT。 7.用例规约 - 维护教授信息,WyIT407,2.0 版,1999,Wylie College IT。 8.用例规约 - 课程注册,WyIT402,2.0 版,1999,Wylie College IT。 9.用例规约 - 选择要开授的课程,WyIT405,2.0 版,1999,Wylie College IT。 10.用例规约 - 维护学生信息,WyIT408,2.0 版,1999,Wylie College IT。 11.用例规约 - 提交分数,WyIT409,2.0 版,1999,Wylie College IT。 12.用例规约 - 查看报告卡,WyIT410,2.0 版,1999,Wylie College IT。 13.课程注册系统的项目计划,WyIT418,1.0 版,1999,Wylie College IT。 14.E1 迭代计划,WyIT420,1.0 版,1999,Wylie College IT。 15.补充规约,WyIT400,1.0 版,1999,Wylie College,IT。 1.构架表示方式 本文档以一系列的视图表示构架,包括用例视图、流程视图、部署视图和实施视图。这些视图表示为 Rose Model 并使用统一建模语言 (UML)。 2.构架目标和约束 有一些重要的需求和系统约 束对构架有重大的影响。它 们分别是: 1.必须访问 Wylie College 现有遗留的课程目录系统以检索本学期所有课程 的信息。课程注册系统必须支持遗留课程目录系统 [2] 采用的数据格式和 DBMS。 2.必须与 Wylie College 现有遗留的财务系统交互以支持对学生的收费工 作。该接口在课程收费接口规约 [1] 中已有定义。 3.无论是本地校园网的 PC 还是拨号上网的远程 PC,所有的学生、教授和注 册员都必须能够在这些 PC 上执行他们各自对应的功能。

UML建模课程设计(史上最全)

UML建模课程设计

目录 1 引言 (4) 2 UML概述 (4) 2.1 UML简介 (4) 2.2 UML模型图的构成 (4) 2.3UML事物 (4) 2.3.1构件事物 (5) 2.3.2行为事物 (5) 2.3.3分组事物 (5) 2.3.4注释事物 (6) 2.4 UML图及特征 (6) 2.4.1 用例图 (6) 2.4.2 类图 (6) 2.4.3 对象图 (6) 2.4.4 时序图 (6) 2.4.5 协作图 (7) 2.4.6状态图 (7) 2.4.7活动图 (7) 2.4.8组件图 (7) 2.4.9配置图 (8) 3 UML结合实例分析 (8) 3.1 需求分析 (8) 3.1.1系统开发需求 (8) 3.1.2系统功能需求 (8) 3.2 UML建模分析 (9) 3.2.2类图 (10) 3.2.3 活动图 (11) 3.2.4 顺序图 (12) 3.2.5 协作图 (13)

3.2.6 状态图 (14) 3.2.7 组件图 (15) 3.2.8 部署图 (15) 4 总结 (16)

1 引言 建模是开发优秀软件所有活动的核心部分。在开发中利用UML来编制系统蓝图,并与仓库管理系统开发的特色相结合,提出了自己的一套UML的建模过程。基于这个过程来进行系统的分析,设计,实现与测试。运用UML建模思想与各种模型对仓库管理系统进行详细的描述。 2 UML概述 2.1 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。 UML的定义包括UML语义和UML表示法两个部分。 UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响。 UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具 使用这些图形符号和文本语法为系统建模提供了标准。2.2 UML模型图的构成 事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象关系(Relationships):关系把事物紧密联系在一起 图(Diagrams ):图是事物和关系的可视化表示 2.3UML事物 UML语言的事物,包括四类: 结构事物:语言的静态构成要素,有7种:类和对象、接口、主动类、用例、协

UML建模实例图

面向对象分析与设计课程实验考核大作业报告

目录 实验一用例图 (3) 实验二活动图 (8) 实验三状态图 (16) 实验四类 (22) 实验五类的关系 (29) 实验六、七交互图 (33) 实验八、九对象图和包 (41) 实验十、十一组件图和部署图 (43)

实验一用例图 一、实验目的 1.熟悉用例图的基本功能和使用方法。 2.掌握如何使用建模工具绘制用例图方法。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据某图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。要求:对其中主要功能的用例书写书面用例。 四、实验步骤 书写“删除读者信息”用例的书面用例。一般应包含以下信息: (1)管理员在录入界面,输入待删除的读者名; (2)“业务逻辑”组件在数据库中,查找待删除的读者名; (3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续; (4)“业务逻辑”组件判断“待删除的读者”是否可以删除; (5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续; (6)在数据库中,删除相关信息; (7)显示删除成功信息; (8)结束。 分析: 在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。 绘图步骤: (1)在用例图上双击main,出现如图1.1所示,为绘制用例图做好准备。

相关主题
相关文档
最新文档