统一建模语言UML综合实例ATM_第1页
统一建模语言UML综合实例ATM_第2页
统一建模语言UML综合实例ATM_第3页
统一建模语言UML综合实例ATM_第4页
统一建模语言UML综合实例ATM_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、统一建模语言UML主讲:孙 涌2003年6月1一、统一建模语言UML简介发展历史UML(Unified Modeling Language 统一建模语言),是一种通用的模拟语言。1994年Booch和Rumbaugh在Rational Software Corporation开始了UML的工作,其目标是创建一个“统一的方法”,于1995年发布了UM0.8(Unified Method)。1995年OOSE的创始人Jacobson加盟到这项工作中,他们在研究过程中认识到,由于在不同的公司和不同的文化之间,过程(或方法)的区别是很大的,要创建一个人人都能使用的标准过程(或方法)相当困难,而建立一种

2、标准的建模语言比建立标准的过程(或方法)要简单得多。因此,他们的工作重点放在创建一种标准的建模语言,并重新命名为统一的建模语言 (Unified Modeling Language,UML)。他们以Booch方法、OMT方法、OOSE方法为基础,吸收了其他流派的长处,于1996年6月、10月、1997年1月、11月分别推出了,。自1996年起,一些机构把采用UML作为其商业策略,宣布支持并采用 UML,并成立了UML成员协会,以完善、加强和促进UML的定义。在美国,到1996年10月,UML获得了工业界和学术界的广泛支持,已有700多家公司表示支持采用UML,1996年底,UML已稳定地占领了

3、面向对象技术市场的85%,成为事实上的工业标准。1997年11月,国际对象管理组织OMG(Object Management Group)批准把作为基于面向对象技术的标准建模语言。2UML简介系统的一个视图(view) 系统描述的一个投影,说明了系统的一个特殊侧面。若干个不同的视图可以完整地描述所建造的系统。图1给出了一幅类图及其有关的关联符号的示意图。一幅图由若干个模型元素组成,模型元素表示图中的概念,如类、对象、用例、结点 (node)、接口(interface)、包(package)、注解(note)、构件(component)等都是模型元素。用于表示模型元素之间相互连接的关系也是模型元

4、素,如关联 (association)、泛化(generalization)、依赖(dependency)、聚集(aggregation)等。这些关系的含义如下:1)关联:连接(connect)模型元素及链接(1ink)实例。2)泛化:表示一般与特殊关系,即“一般”元素是“特殊”元素的泛化,“特殊”元素是“一般”元素的特化(specialization)。3)依赖:表示一个元素以某种方式依赖于另一个元素。4)聚集:表示整体与部分关系,即“部分”元素是“整体”元素的一部分。UML制定了一整套完整的面向对象的标记和处理方法,主要体现在所规定的九种图和五种视图的使用上,它们将在后边的有关章节进行进一

5、步的介绍。 3图1 类图及其类图中的关联符号示意图4表1-1 UML视图和图主要的域视 图图主要概念结构分类静态视图类图类、关联、泛化、依赖关系、实现、接口用例视图用例图用例、参与者、关联、扩展、包括、用例泛化实现视图构件图构件、接口、依赖关系、实现动态行为部署视图部署图节点、构件、依赖关系、位置状态机视图状态机图状态、事件、转换、动作活动视图活动图状态、活动、完成转换、分叉、结合交互视图顺序图交互、对象、消息、激活协作图协作、交互、协作角色、消息模型管理模型管理视图类图包、子系统、模型可扩展性所有所有约束、构造型、标记值53.视图 UML可以从下列五种视图来观察系统 1用例视图 用例视图展示

6、了外部行为者所观察到的系统将提交的功能用例视图是针对客户、分析者、设计者、编程者和测试者的,它用用例图来描述系统所期望的用法,即对系统用法(要求的功能)的一般描述。 2逻辑视图 逻辑视图展示了系统内部如何提供系统的功能。逻辑视图是针对分析者、设计者和编程者的。 3构件视图 构件视图展示了代码构件的组织,它描述了实现模块和它们之间的依赖关系构件视图是针对开发者的,它用构件图来描述。 4并发视图 并发视图展示了系统的并发性。 5部署视图 部署视图展示了系统的物理部署部署视图是针对开发者、集成者和测试者的,它用部署图来描述。6类、构件、部署和协作图中的图标7二、统一建模语言UML 视图介绍本节通过使

7、用一个简单的例子对UML中所使用的概念和视图进行概述。以UML视图为主线,将其主要用法、表示方法等进行适当的介绍和展开。希望通过这部分内容的学习,能够对UML视图的概念及基本用法有一个基本的了解。为进一步深入学习和研究UML打下一个良好基础。 1.静态视图 静态视图对应用领域中的概念以及与系统实现有关的内部概念建模。称之为是静态,主要指的是它描述类的属性及类对象通过属性的相互联系。因为静态视图以类为中心,所以又称其为类图。类图展示了系统中类的静态结构,即类与类之间的相互联系 8售票系统的类图 92.用例图 103.交互视图 114.协作图 125.状态图 136.活动视图 14 7.物理视图

8、构件图 15部署图(描述层) 16部署图(实例层) 178.模型管理视图 18三、UML在自动柜员机ATM)系统中的应用举例 本节通过自动柜员机(automatic teller machine即ATM)系统软件的设计过程来讨论UML的综合应用技术,共分为静态设计、永久对象设计、动态模型设计、通用界面设计、系统体系结构等几个方面。首先对系统作一概括描述,然后再进行面向对象分析和设计。在设计中,我们将从一个核心样式出发,逐步形成整体的设计。1.项目概述 本项目的目的是建立一个自动柜员机系统软件(ATM system software)。整个ATM系统包括自动柜员机(ATM)、中央服务器(cent

9、ral server)、自动柜员机系统软件、及有关的界面软件。以下是ATM系统软件的系统概述。 ATM系统软件的工作,是处理系统中自动柜员机和银行电脑之间的事项(Transaction),如查账、存款、提款等。与系统合作的银行有多家,它们各有自己的电脑,处理自己的户口和事项。所有自动柜员机都通过中央服务器与每个银行的电脑通讯。 每家银行电脑处理的事项及其中运行的软件,乃至该银行的内部事情与本开发项目无关。但是,处于银行电脑和ATM系统软件之间的界面软件则属于本项目。 19银行的顾客持有提款卡(cash card),可在任何一个自动柜员机查账、提款、取收据等。提款卡插入自动柜员机后,卡上资料被读

10、出,并提示顾客输入其个人密码。之后,ATM系统检验密码的正确性,若一切没问题,便把顾客要做的事项传送到中央服务器进一步处理。 对ATM系统软件的要求有多项,现排列如下: (1)对所有使用ATM系统的事项,都要留有记录,且能每天作报告。 (2)系统要有适当的安全措施。 (3)一个户口必须能够同时从多处接入作查询或其他账务。 (4)必须能兼顾未来的扩展,如增加出纳点、因特网客户机等。 在设计系统时,必须把以下限制考虑在内: (1)ATM系统由银行协会拥有。 (2)ATM系统软件在中央服务器里运行。 (3)各银行自己发行提款卡,并保管有关资料。一家银行发行的卡,头六个数字相同。 (4)所有自动柜员机

11、有同样的程序界面。(5)每一家银行的电脑有其程序界面,不一定与其他银行的相同。 202. 静态分析和设计 事项(transaction)是ATM系统软件的核心设计 21ATM系统软件的局部设计图 22ATM系统软件设计总图 233 .持久对象设计 自动柜员机系统软件(ATM system software)的持久对象设计 244. 动态对象设计 持有提款卡的客户,使用自动柜员机的使用个案 25ATM系统软件的序列图 26ATM管理器(ATM Manager)和银行(Bank)界面的候选运算ATM Manager accessoperations / 访问运算 login(cardinfo:Ca

12、rdinfo) / 进入系统;输入卡的资料 logout() / 退出系统 operationsOnanaccount / 账产的运算 getBalance():Float /询问户口结余 getHistory():String / 提取账户历史 getAccountlnfo():Accountlnfo /提取账户资料 depos以amount:Float):noat / 存入输入金额 withdraw(amount:F10at):Float 提取输入金额 transferTo(accountName:String,amount:Float):Float/转账到输入户口 payBill(rec

13、eiver:tring,amount:Float):Float /付款给输入收款者 27Bank accessoperations / 访问运算 login(accountlnfo:Accountlnfo) / 进入系统;输入卡的资料 logout(account) /退出系统 / 账户管理 open(accountlnfO:Accountlmfo。initSaLMnoum:nOal) / 开户口;输入账产资料和开户金额 remove(accountlnfo:Accountlnfo)/除去输入账户 showAccounts():String / 列出所有账户 /账户的运算 getBalalic

14、e():F10at / 询问户口结余 getAccountlnfo():Accountlnfo / 提取账户资料 getHistory():String/提取账户历史 deposit(amount:Float):Float/存入输入金额 withdraw(amoullt:noat):Float/提取输入金额 transferTo(accountNamc:String,amount:F10at):Float/转账到输入户口 payBill(receiver:String,amount:Float):Float/ 付款给输入收款者285 .通用界面设计 银行包装中的二个界面 29帐户界面(Acco

15、untIF)的详细定义 30帐户管理器界面(AccountMgrIF)的详细定义 使用期界面(SessionIF)的详细定义 31帐户的实施类 32使用期管理界面(SessionMgrIF) 33ATM系统软件设计的需求对应表(1)对所有ATM使用和账务事项要保留记且能每天作报告 所有记录均由事项(Transaction)及其他持久对象提供(图8-24)。报告则由具体程序提取持久对象资料得到(2)系统要有适当的安全措施 图8-32的使用期管理界面,含有进入和退出系统运算,并以用户标识和口令作保护(3)一个户口必须能同时从多处接入,即容许几个客户机同时连接到一个账户 账户的服务器对象(即实施类(Acountlmpl)可以同步地处理多个客户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论