UML综合案例Word下载.doc
《UML综合案例Word下载.doc》由会员分享,可在线阅读,更多相关《UML综合案例Word下载.doc(18页珍藏版)》请在冰豆网上搜索。
l视图(views),
l图(Diagrams),
l模型元素(Modelelements)
l通用机制(generalmechanism)
等几个部分构成。
视图(views)
一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(view)。
视图由多个图(Diagrams)构成,它不是一个图表(Graph),而是在某一个抽象层上,对系统的抽象表示。
如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。
另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。
图(Diagrams)
UML语言定义了五种类型9种不同的图,把它们有机结合起来就可以描述系统的所有视图。
用例图(Usecasediagram)从用户角度描述系统功能,并指出各功能的操作者。
静态图(Staticdiagram),表示系统的静态结构。
包括类图、对象图、包图。
行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。
包括状态图、活动图。
交互图(Interactivediagram),描述对象间的交互关系。
包括顺序图、合作图。
实现图(Implementationdiagram)用于描述系统的物理实现。
包括构件图、部件图。
UML的9种图
图名称
图定义
图性质
1
类图
一组类、接口、协作及它们的关系
静态图
2
对象图
一组对象及它们的关系
3
用例图
一组用例、参与者及它们的关系
4
顺序图
一个交互,强调消息的时间顺序
动态图
5
协作图
一个交互,强调消息发送和接受的对象的结构组织
6
状态图
一个状态机,强调对象按事件排序的行为
7
活动图
一个状态机,强调从活动到活动的流动
8
构件图
一组构件及关系
9
配置(实施图)
一组接点及它们的关系
包图:
包中的类以及包与包之间的关系(静态图)
UML的5种视图
视图名称
视图内容
静态表现
动态表现
观察角度
用户模型视图(用例视图)
系统行为,动力
交互图、状态图、活动图
用户、
分析员、
测试员
结构模型视图(设计视图)
问题及解决方案
类图、对象图
类、
接口、
协作
行为模型视图(进程视图)
性能、可伸缩性,吞吐量
线程、
进程
实现模型视图(实现视图)
构件、文件
配置、
发布
环境模型视图(实施视图)
部件的发布、交付、安装
配置图
(实施图)
拓扑结构的节点
模型元素(Modelelements)
代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的元素。
一个模型元素可以用于多个不同的图中。
通用机制(generalmechanism)
用于表示其他信息,比如注释,模型元素的语义等。
另外,为了适应用户的需求,它还提供了扩展机制(Extensibilitymechanisms),包括构造型(Stereotype)、标记值(Taggedvalue)和约束(Constraint).使用UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。
(二)ATM建模分析
0 引言
UML(统一建模语言)是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档[1].它提供了从不同的角度去观察和展示系统各种特征的标准方法.在UML中,从任何一个角度对系统所做的抽象都可以用多种模型来描述,而这些来自不同角度的模型最终构成了系统的完整模型.
ATM(Automantic Teller Machine)自动取款机是由计算机控制的持卡人自我服务型的金融专用设备.在我国,基本上所有的银行系统都有自己的ATM系统.ATM利用磁性代码卡或智能卡实现金融交易,代替银行前台工作人员的部分工作.顾客可以在ATM机上取钱、查询余额、转账和修改密码等业务.除此之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能.
1 ATM系统需求分析
ATM系统向用户提供一个方便、简单、及时、随时随地可以取款的互联的现代计算机化的网络系统.一个完整的ATM机至少包含四个功能:
1)取款:
持卡人或有银联标识卡的客户均可通过ATM进行取款交易.
2)查询:
持卡人可通过ATM办理活期账户查询和多账户查询,持有银联标识卡的客户可通过本行ATM办理活期账户查询.
3)改密:
持卡人可通过ATM更改账户密码,确保资金安全.
4)转账:
持卡人可通过ATM办理卡与卡账户、卡与折账户的转账等业务.
为了实现上述四个基本功能,一个ATM系统应包括读卡模块、输入模块、IC卡认证模块、显示模块、吐钱模块、打印模块,监视器模块等.读卡模块用于识别客户卡的种类并在显示器上提示输入密码;
输入模块用于客户输入密码、账号和金额等信息;
IC卡认证模块用于鉴别卡的真伪,以防假冒;
显示模块用于显示持卡客户有关的信息;
吐钱模块则按照客户的需求提供相应的现金;
打印模块则为客户提供交易凭证.结构图如下所示:
2 系统用例模型
2.1系统用例图
根据系统的需求分析可知,系统中的角色有银行客户、工作人员和系统,其中银行客户使用ATM系统进行交易;
工作人员可以更改ATM的设置、放置现金、机器维护等;
系统则作为外部角色参与整个活动,系统用例图如图1所示:
【ATM系统的用例图】
【ATM提款系统用例图】
【解释:
用例图】
①用例用于描述一组用例、参与者及它们之间的连接关系。
②用例图仅仅从角色使用系统的角度描述系统中的信息,也是站在系统外部查看系统功能,而并不描述该功能在系统内部是如何实现的。
③用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。
④用例可应用于整个系统,也可应用于系统的一部分,包括子系统、单个的类甚至接口。
⑤通常,用例不仅代表这些元素所期望的行为,而且还可把这些元素用作开发过程中测试用例的基础。
椭圆:
用例,是用户与计算机之间的一次典型交互作用。
人形:
参与者(外部执行者)是指用户在系统中所扮演的角色。
2.2顾客用例图
创建用例(UseCase)
用例是角色启动的,基于这样的考虑,ATM系统根据业务流程大致可以分为以下的几个用例:
§
客户取钱
客户存钱
客户查询余额
客户转帐
客户更改密码
客户通过信用系统付款
银行官员改变密码
银行官员为ATM添加现金
银行官员维护ATM硬件
信用信用启动来自客户的付款
顾客先将自己的磁卡或智能卡插入ATM机,ATM机先审核该卡,如果合法,则提示用户输入密码,如密码错误,则提示重新输入,如果输入次数超过限制,则自动吐卡;
如果密码正确,则让顾客选择服务类型,此时顾客就可以进行取款、查询余额、设置密码、转账等操作,操作完成后退磁卡或智能卡,顾客用例图如图2所示:
2.3系统类图
类图】
①用于描述一组类、接口、协作及它们间的静态关系。
②在面向对象系统的建模中,类图最为常用,它用来阐明系统的静态结构。
③类是对一组具有相同属性、操作、关系和语义的对象的描述,其中对类的属性和操作进行描述时的一个最重要的细节是它的可见性。
③一个典型的系统模型中通常有若干个类图。
一个类图不一定要包含系统中所有的类,一个类可加到几个类图中。
在类图中类用矩形框来表示,它的属性和操作分别列在分格中。
类之间可以多种方式链接(如关联、泛化、依赖和实现等)。
关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。
【类图】
【ATM机系统类图】
3系统动态模型
动态模型是指系统随时间变化的行为,行为是从静态视图中抽取系统的瞬间值的变化来描述的,UML中动态模型包括时序图、协作图、活动图和状态图等.
3.1 时序图 (顺序图)
时序图(Sequence Diagram)用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互.时序图主要包括如下元素:
类角色、生命线、激活期和消息等.
顾客要取款时先插入磁卡,ATM机验证磁卡正确后要求顾客输入密码,如果用户输入正确,则系统提示顾客选择服务,此时顾客选择取钱,系统再次要求输入金额,如果顾客输入的金额在允许范围内,则系统正常进行交易,交易完成后提示顾客取走磁卡,顾客在ATM机上交易的时序图如图3所示:
顺序图】
顺序图表示对象之间传送消息的时间顺序。
顺序图用来描述对象之间消息发送的先后次序,阐明对象之间的交互过程以及在系统执行过程中的某一具体时刻将会发生什么事件。
顺序图是一种强调时间顺序的交互图,可用来进行一个场景说明,即一个事务的历史过程。
顺序图中对象沿横轴排列,消息沿纵轴按时间顺序排列。
顺序图中的对象生命线是一条垂直的虚线,它表示一个对象在一段时间内存在。
由于顺序图中的大多数对象都存在于整个交互过程中,因此这些对象全部排列在图的顶部,它们的生命线从图的顶部画到图的底部。
每个对象的正下方有一个小矩形条,它与对象的生命线相重叠,它表示该对象的控制焦点。
图中的消息可有序号,但由于该图上的消息已在纵轴上按时间顺序排序,因此消息序号通常省略。
【个人用户取款的顺序图】
【客户李明取款200元的ATM系统顺序图】
3.2协作图
协作图】
协作图也是一种交互图,它强调收发消息的对象的组织结构。
协作图描述对象间的协作关系(与顺序图相似),显示对象间的动态合作关系。
在协作图中,直接相互通信的对象之间有一条直线,没有画线的对象之间不直接通信。
附在直线上的箭头代表消息。
消息的发生顺序用消息箭头处的编号来说明。
协作图是表示一个类操作的实现。
协作图可说明类操作中用到的参数和局部变量及操作中的永