ATM建模实验-参考实验二

合集下载

银行ATM(UML分析与设计)

银行ATM(UML分析与设计)

Atm客户端 专用网
地区Atm服务器 专用网
银行数据库服务器
局域网 打印机
2.系统需求分析
atm系统包括软件和硬件两部分,因此了解外部设备是如 何协调工作是整个建模的基础。Atm业务大概分为4个部分: 查询帐户余额、取款、存款和更改用户的密码。一个完整的 atm系统包括一下几个模块:
(1)读卡机模块 允许储户讲银行卡插入读卡机,读卡机识别卡的 种类并在显示器上提示用户输入密码。 (2)输入模块 储户可以输入密码和取款金额,并选择要完成的事务。 通常在键盘上只设数字键和功能键,目的方便储户,该模块需要储户的交 互。 (3)ic认证模块 主要鉴别储户卡的真伪。基于ic卡的安全授权系 统,要求从技术上严格保证卡的唯一性与防伪性,从而保证网络的安全。 (4)显示模块 显示储户相关的信息,包括储户交互是的提示信息 和确认信息。
客户端 atm.exe
Account
Account
CardReader
AtmScreen
CardDispenser
CardReader
AtmScreen
CardDispenser
AtmServ该配置图中只画一个atm
client,一个地区的atm服务器,银行数据库服务器以及 一台打印机,它大致描述了整个系统的物理部署情况。
5.建立系统部署图
atm系统部署是整个项目实施过程的最后阶段,其实质 就是把该系统中涉及到的硬件、软件整合到一起,描述系 统的运行情况。在部署图中两只视图,构件图和配置图。 (1)构件图 组件图,它包含了模型代码库、可执行文件、运行库和 其他构件的信息,它是代码的实际模块。
类操作代码,.cpp文件 类的头文件
收集储户信 息
色之间的通信过程,使读者清

UML实验指导书(ATM机)

UML实验指导书(ATM机)

UML上机指导书(ATM机)第一部分课程与实验综述一.课程简介及实验要求:《UML与面向对象分析与设计》是以介绍面向对象的统一建模语言UML为主,使学生了解面向对象技术的基本概念,掌握面向对象的分析和设计方法,以及与面向对象技术相关的一些软件开发技术,同时了解在UML工具环境下用UML进行分析和设计的技术。

本课程在教学内容方面着重基本理论、基本知识和基本方法,在培养实践能力方面着重设计构思和设计技能的基本训练,熟练的上机操作能力和基本系统分析能力。

上机实验是UML教学的重要技能环节。

通过实验,使学生加深理解、验证、巩固课堂教学内容,特别是通过设计和综合实验,发挥学生的想象力和创新能力。

二.课程实验目的要求:通过UML的实验,学生应该:1.学会用面向对象的思想去简单地分析和设计相关系统;2.学会用Rose建模工具进行软件建模。

三.课程实验参考资料教材楚凡科技UML2.0文档及UML工具。

第二部分需求分析在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在城市的大街小巷随处可见。

我们在日常生活中也经常和ATM打交道。

本次我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。

第三部分实验实践指导银行ATM机系统UML建模设计一用例图一、实验目的1.学会分析系统中的参与者和用例2.掌握用例图的绘制方法二、实验器材1. 计算机一台;2. 工具软件;三、实验内容画出A TM系统的用例图四、实验步骤1.分析A TM自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。

通过分析可找出如下几个参与者:a、通过分析得到如下用例:a、2.绘图处(请将所画用例图复制到如下位置):五、实验报告要求通过本次实验获得了。

二顺序图一、实验目的1.学会用协作图实现用例2.掌握顺序图的绘制方法以及顺序图和协作图的相互转换。

二、实验器材1. 计算机一台;2. 工具软件;三、实验内容画出A TM取款的顺序图,并转换为协作图。

实验2ATM网络结构与原理

实验2ATM网络结构与原理

实验二ATM网络结构与原理(二)实验目的:1、学生掌握ATM的网络结构与原理;2、熟悉适配层协议,AAL2,AAL5等3、熟悉网络仿真软件opnet的使用实验环境:安装有opnet的计算机一台实验要求:学习相关理论,掌握基本概念;按照实验步骤要求完成ATM简单网络的架构,并完成相关设置,书写实验报告。

实验原理:ATM网络以面向连接的方式提供端到端的信息通信服务,通信过程包括建立连接、保持连接和拆除连接。

终端用户在进入正式通信之前,首先要经过呼叫过程。

连接建立好后,ATM网络按一定路径顺序转移到所服务的信元。

建立连接时,在ATM交换节点建立路由选择表。

在通信过程中交换节点根据信元头中的路由选择标号对照路由选择表把ATM信元从输入链路传送到输出链路,在拆除连接时交换节点将删除路由表。

ATM交换系统由交换网络部分和系统控制部分两部分组成。

交换网络部分完成协议参考模型中用户平面的功能,是负责完成在ATM出线和A TM入线之间正常传输ATM信元的物理设备。

系统控制部分完成协议参考模型中控制平面的功能,是在信令处理的基础上实现对交换网络进行控制的设备。

网络仿真软件opnet中的Modeler提供了多种业务模拟方式,具有丰富的收集分析统计量功能,可以直接收集各个网络层次的性能统计参数,方便的编制和输出仿真结果。

使用Modeler仿真可以分成6个步骤,分别是配置网络拓扑,配置业务,收集结果统计量,运行仿真,调试模块再次仿真,发布结果报告。

实验内容和实验步骤:1、添加其他子网1)在实验一所形成的简单网络上添加其余子网。

单击图标,返回到上一级网络。

2)选中已有的子网(northeast),复制三个子网。

分别放置到适当的位置。

3)对所复制的子网进行基本属性修改,主要包括名称和地址。

选中新的子网,并双击之。

改变其中的“name”,“client address”和“server address”。

如图1所示。

(图1)4)单击工具栏上图标,选择“atm_adv”链路,实现各个节点间的相连。

软件工程实验手册

软件工程实验手册

《软件工程》ATM自助银行系统实训手册计算机软件工程课程组编著实验1 愿景实验环境1.EA实验目的1.掌握使用EA完成软件项目愿景的建模。

注意:1.本实验手册所用EA是7.5汉化版。

实验过程1.建立新项目选择“文件”菜单下面的“新建项目”子菜单,如图1.1所示。

图1.1点击“新建项目”在弹出的选择模型对话框中点击“取消”按钮,不进行任何模型的选择,如图1.2所示。

图1.2 选择模型对话框2.重命名新项目在项目浏览器中在模型上点击右键,对模型进行重命名,如图1.3所示。

图1.3点击“重命名模型”在模型重命名对话框中输入模型名称,如图1.4,1.5所示。

图1.4 输入要模型名称图1.5重命名结果3.建立愿景模型在项目浏览器中点击添加文件夹按钮,为模型添加愿景建模文件夹,视图名称为“0-愿景”,选择视图图标为“普通”,如图1.6所示:图1.6新建视图4.建立愿景模型图表在愿景模型上点击右键,添加图表,如图1.7所示。

图1.7点击“新增图表”在新建图表对话框中录入图标名称,选择类型为Extended,图表类型为需求Requirements,如图1.8所示。

图1.8新建图表对话框点击确定按钮即可创建愿景图表。

在愿景模型中双击愿景图表,进入愿景界面,如图1.9所示。

图1.9创建愿景5.建立愿景将工具箱中的Note工具拖拽到工作界面,如图1.10所示。

图1.10工具箱在备注框中输入系统老大、愿景及愿景度量指标后点击确定,即可完成愿景建模,如图1.11所示。

图1.11输入愿景实验2业务用例实验环境1.EA实验目的1.掌握使用EA完成业务建模中的业务用例。

注意:1.本实验手册所用EA是7.5汉化版。

实验过程1.添加新模型视图在“项目浏览器”中点击添加文件夹按钮,为模型添加愿景建模文件夹,视图名称为“1-业务建模”,选择视图图标为“用例”,如图2.1所示。

图2.1 添加新模型维护模型文件目录:2.建立业务对象目录选中“1-业务建模”模型视图,在“项目浏览器”中点击添加文件夹按钮,如图2.2。

UML实验二

UML实验二

UML实验二第一篇:UML实验二实验2 用例图一、实验目的1.学会分析系统中的参与者和用例2.掌握用例图的绘制方法3.掌握需求分析阶段的用例建模二、实验器材1.计算机一台;2.StarUML工具软件。

三、实验内容1.画出ATM系统的用例图2.完成ATM系统用例的事件流描述3.完成网络教学系统的用例建模4.完成学生课程注册系统的用例建模四、ATM系统的用例建摸1.分析ATM自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。

通过分析可找出如下几个参与者:(1)ATM(2)客户通过分析得到如下用例:(1)存款(2)取款(3)查询余额(4)转帐(5)修改密码(6)打印收据 2.绘图步骤:下面介绍在StarUML中创建用例图的过程:(1)在“Use Case View”中双击Main图,双击图标,出现图1,为编辑用例图做准备。

图1(2)在用例视图中,从工具栏中选择Actor图标,在右边的绘图区中添加一个新元素,并取名客户表明新增一个参与者,如图2所示。

图2(3)同样的方法添加参与者“ATM”,如图3所示。

图3(4)在工具栏上选择用例的图标,依次添加存款、取款、查询余额、转帐、修改密码、打印收据,如图4所示。

图4(5)添加参与者和用例间的关联关系,如图5所示。

图5 依照个人理解,增加一些功能或修改该用例图。

(增加的功能或修改的用例图放在此处)参照如下的取款用例的事件流描述,给出ATM系统的其它用例的事件流描述。

1)通过读卡机,储户插入ATM卡2)ATM系统从卡上读取银行ID、帐号、并验证帐号。

3)储户键入密码,系统检验密码。

4)储户按确认键,输入取款金额。

5)ATM把帐号和取款金额传递给银行系统,取回帐户余额。

6)ATM输出现金,并显示帐户余额。

7)ATM记录事务到日志文件。

(ATM系统的其它用例的事件流描述放在此处)登录用例的事件流:1)通过读卡机,储户插入ATM卡2)ATM系统从卡上读取银行ID、帐号、并验证帐号。

自动取款机实践报告

自动取款机实践报告

实验一ATM机自动取款机业务系统数据流图与原型实验报告姓名:学号:班级:编写:目录1 数据流图和原型界面统计 (1)2 ATM自动柜员机业务系统需求模式 (2)3 ATM自动柜员机系统数据流图 (3)3.1顶层数据流图3.2一层数据流图3.3二层数据流图3.4三层数据流图3.5四层数据流图3.6五层数据流图4自动取款机原型徐彤 (4)4.1等待界面4.2登录界面4.3吞卡界面4.4功能选择界面4.5操作界面4.6取款界面4.7存款界面4.8查询界面4.9打印凭条界面4.10转账界面4.11改密码界面4.12交易成功界面4.13取卡界面5实验体会 (23)2 ATM自动取款机系统需求分析需求分析:由于科技迅速发展,安全问题越来越重要,几乎所有银行都配置了简单的人工操作的ATM的自动取款机,人们可以随时随地的进行交易,不再受银行的服务时间所约束,但是一张银行卡,一串密码已经很难满足安全问题,新兴自动取款机会保证更高的安全问题。

ATM机系统的主要功能: 16中条件判断识别取款修改密码凭条打印转账余额查询交易明细查询等1:16种情况识别判断保证财务安全问题,余额不足时不能取款所需的现金。

ATM机可以提供指定金额的快速的取款界面,ATM机取款成功后要向银联系统写入操作,并且对客户的余额进行相应处理。

2:存款ATM机要能自动清点现金,将相应的操作信息写入银联系统,并且对相应的客户的余额进行相应的修改,之后上银联系统。

3;修改密码若新密码1和新密码相同则修改密码,要修改客户的密码表,并且将操作信息写入银联系统,否则修改密码不成功。

4 转账完成不同的银行卡之间的签约条例进行间接转账,若客户余额不足时则转账识别进行相应提示,转账成功,对客户和收账人的余额进行相应的修改,写入账户余额表,并并且向银联系统进行相应的写入操作。

ATM机工作流程插入卡->16种身份识别->选择操作类型交易流程->确定交易->写入账户信息和银联系统3 ATM自动取款机的数据流图3.1顶层数据流图客户插入银行卡后开始识别所属的银行和账户信息,并且启动摄像系统,识别后开始校验客户输入的密码,还有人脸识别信息,眼球识别信息,指纹识别信息,进行16种情况判断,若全部正确则进行ATM机自检,去掉暂时不能输入的操作,让用户选择操作,若情况不全不正确,进行15种情况判断,进行相关操作。

ATM系统

ATM系统

实验报告(①实验目的②实验设备和环境③实验内容与步骤④实验结果与分析⑤总结,问题及建议))一. 实验目的ATM自动柜员机系统是由计算机控制的银行自动出纳系统,主要服务于活期储蓄,实现客户自助服务的电子化设备。

统一建模语言UML Unified Modeling Language是面向对象技术的一个重要应用,也是软件工程环境中对象分析和设计的重要工具。

通过UML对ATM自动取款机建模,实现查询余额、取款、存款、更改密码等业务,根据需求还可以进一步扩展具体功能。

二. 实验设备和环境设备:Enterprise Architect软件环境:windows三. 实验内容与步骤<一>、ATM系统UML设计需求分析1.1 A TM取款机的总体需求1.ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡2.可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作3.查询自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择。

4.提取现金时提示用户输入取款金额并判断输入是否正确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金,5.转账汇款时让用户选择转账类型,要求用户输入转账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后确认。

6.进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新密码生效。

7.对于错误的操作或者操作延时做出有效的处理。

1.2 系统操作要求1.要求用户每次取款数额为50的整数倍,2.要求用户一次取款数额不得大于1000元,3.要求用户一天取款数额不得超过5000元,4.要求用户每次取款数额不得大于账户余额,5.要求用户连续输入错误密码次数不得超过3次,1.3 系统性能要求1.要求反应时间不得大于10秒钟,2.系统设计目标,ATM自动取款机可以提供24小时不间断服务,操作简单,每步都有相应的语音提示,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。

实验2:ATM系统的分析建模

实验2:ATM系统的分析建模
2.学会用Rose建模工具进行软件建模
实验内容
本次实验完成如下内容:
完成ATM系统的建模分析
实验结果(学生填写)
1.画ATM(自动柜员机)系统总的用例图
2.画ATM系统中“客户插入卡”的活动图
3.画ATM系统中取款这个用例的类图
4.画某客户Joe取20美元的序列图
5.画某客户Joe取20美元的协作图
atm系统的分析建模姓名院系学号任课教师实验指导教师实验地点软件学院机房实验时间软件名称rationalrose实验目的1
软件建模与UML课程实验报告
实验2:ATM系统的分析建模
姓名ห้องสมุดไป่ตู้
院系
学号
任课教师
实验指导教师
实验地点
软件学院机房
实验时间
软件名称
Rational Rose
实验目的
1.学会用面向对象的思想去分析和设计相关系统;
6.账目类的状态图
7.ATM系统客户的构件图
8.ATM系统的实施图
扣分原因(有扣分时填写)
扣分
0
日期:
缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分
其他情况:扣分<=5分总扣分不能大于10分

银行ATM自动取款机模拟系统实验报告

银行ATM自动取款机模拟系统实验报告

西安科技大学《VC++语言程序设计》实验报告题目 __科学计算器的实现______ 院、系(部)计算机科学与技术学院专业及班级软件工程1102班姓名赵文杰日期 2012/11/91.题目:科学计算器2.功能需求:这是计算器,在满足用户需求方面应有以下功能:1)进行简单的加、减、乘、除;2)进行函数运算如sin、cos、tan函数;3)可进行进制转换、及弧度运算;3.总体设计4.详细设计以下是详细的分部:1>基于MFC创建一个基本对话框Calculator2>实现基本运算的代码:void CCalculatorDlg::OnNumberKey(UINT nID) {CString n;switch(nID){case IDC_NUMBER1:n="1";break;case IDC_NUMBER2:n="2";break;case IDC_NUMBER3:n="3";break;case IDC_NUMBER4:n="4";break;case IDC_NUMBER5:n="5";break;case IDC_NUMBER6:n="6";break;case IDC_NUMBER7:n="7";break;case IDC_NUMBER8:n="8";break;case IDC_NUMBER9:n="9";break;case IDC_NUMBER0:n="0";break;case IDC_NUMBER_Point:n=".";if(Point==TRUE){m_Point.ShowWindow(SW_HIDE);Point=FALSE;}break;}if(NumberState==1){m_Cnumber=m_Cnumber+n;number1=atof(m_Cnumber);UpdateData(FALSE);}else{m_Cnumber=m_Cnumber+n;number2=atof(m_Cnumber);UpdateData(FALSE);}if(Zero=FALSE){Zero=TRUE;m_Zero.ShowWindow(SW_SHOW);}}void CCalculatorDlg::OnOperationKey(UINT nID) {m_number=atof(m_Cnumber);switch(nID){case IDC_NUMBER_PlusMinus:m_number=m_number;if(NumberState==1)number1=m_number;elsenumber2=m_number;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_BackSpace:int n;n=m_Cnumber.GetLength();m_Cnumber=m_Cnumber.Left(n-1);UpdateData(FALSE);break;case IDC_NUMBER_Divide:cal();if(Zero==TRUE){m_Zero.ShowWindow(SW_HIDE);Zero=FALSE;}OperationState=1;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Multiply:cal();OperationState=2;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Add:cal();OperationState=3;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Subtract:cal();OperationState=4;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Clear:number1=number2=m_number=0;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);m_Cnumber="";NumberState=1;break;case IDC_NUMBER_Sqrt:number1=m_number=sqrt(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Sin:number1=m_number=sin(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Cos:number1=m_number=cos(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Tan:number1=m_number=tan(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Log:number1=m_number=log(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Log10:number1=m_number=log10(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Exp:number1=m_number=exp(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Derivative:number1=m_number=(double)1/number1;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Equal:cal();break;}if(Point==FALSE){Point=TRUE;m_Point.ShowWindow(SW_SHOW);}}3>函数的实现代码:void CCalculatorDlg::OnOperationKey(UINT nID) {m_number=atof(m_Cnumber);switch(nID){case IDC_NUMBER_PlusMinus:m_number=m_number;if(NumberState==1)number1=m_number;elsenumber2=m_number;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_BackSpace:int n;n=m_Cnumber.GetLength();m_Cnumber=m_Cnumber.Left(n-1);UpdateData(FALSE);break;case IDC_NUMBER_Divide:cal();if(Zero==TRUE){m_Zero.ShowWindow(SW_HIDE);Zero=FALSE;}OperationState=1;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Multiply:cal();OperationState=2;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Add:cal();OperationState=3;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Subtract:cal();OperationState=4;m_number=0;m_Cnumber="";NumberState=2;break;case IDC_NUMBER_Clear:number1=number2=m_number=0;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);m_Cnumber="";NumberState=1;break;case IDC_NUMBER_Sqrt:number1=m_number=sqrt(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Sin:number1=m_number=sin(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Cos:number1=m_number=cos(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Tan:number1=m_number=tan(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Log:number1=m_number=log(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Log10:number1=m_number=log10(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);case IDC_NUMBER_Exp:number1=m_number=exp(number1);m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Derivative:number1=m_number=(double)1/number1;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case IDC_NUMBER_Equal:cal();break;}if(Point==FALSE){Point=TRUE;m_Point.ShowWindow(SW_SHOW);}}CCalculatorDlg::cal(){m_number=atof(m_Cnumber);switch(OperationState){case 1:m_number=(double)number1/number2;NumberState=1;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case 2:m_number=(double)number1*number2;NumberState=1;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;case 3:m_number=(double)number1+number2;NumberState=1;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);case 4:m_number=(double)number1-number2;NumberState=1;m_Cnumber.Format("%g",m_number);UpdateData(FALSE);break;}number1=m_number;OperationState=0;}4>进制转换,弧度:实现时有问题5.测试及实现6.总结这是一个科学计算器,只能实现基本运算和函数运算。

(完整版)使用UML对ATM系统进行建模

(完整版)使用UML对ATM系统进行建模

ATM自动取款机系统1、系统总体功能需求:ATM系统是一个复杂的软件控制硬件的系统,了解外部设备如何协调工作是整个建模的基础。

这是以具体的业务为出发点对它进行建模,一个功能完全的ATM系统必须包括以下的几个模块。

(1)读卡机模块在这个功能模块中,允许客户使用银行卡插入读卡机。

读卡机来识别卡的种类并在显示器上提示输入密码。

(2)键盘输入模块在这个功能模块中,客户可以输入密码和取款金额,并选择要进行的事务。

通常在这个键盘上只设置数字键和选择键,目的是方便客户使用。

只有在这个功能模块中,需要客户的交互。

(3)IC认证模块这个功能模块主要用于鉴别卡的真伪。

基于IC卡的安全授权系统,完全可以从技术上严格保证卡的唯一性与防伪性,使基于数字形式的电子政务和电子商务安全运转,其目的就是网络安全。

(4)显示模块在这个功能模块中,显示一切与客户有关的信息,包括一切交互时所需的提示,确认等信息。

(5)吐钱机模块在这个功能模块中,吐钱机按照客户的需求,选择合适面值的钞票给客户,是比较关键的一步。

(6)打印报表模块在这个功能模块中,是提供给客户一张取款凭据。

客户可以选择打印与不打印。

主要信息是卡号和金额等。

(7)监视器模块在这个功能模块中,为防止意外事件产生而设置摄像头,以保证客户交易的安全性。

银行有权调查取款记录。

①读卡机模块需求(1)规格说明:读取客户插入的银行卡,如下图:(2(3)输入:插入银行卡。

(4)处理:读取卡号等信息,查找数据库中找到相关的信息,识别卡的类型并记录卡号和所属银行等信息。

(5)输出:输出卡号及所属银行等信息。

②键盘输入模块需求(1)规格说明:接受来自客户的输入,如下图:(2)引言:客户通过键盘与机器交互。

(3)输入:输入密码、输入取款金额、查询余额、查询密码、打印报表和取卡等。

(4)处理:连接远程服务器来验证密码,传回余额等相关信息。

(5)输出:验证密码正确则显示正确提示信息,查询余额操作并显示余额,如有取款命令则提示吐卡机工作,如需打印报表则提示打印机工作等。

UML(ATM系统)静态建模

UML(ATM系统)静态建模

一、实验目的熟悉Visio工具,能运用该工具,实现静态建模。

掌握类和对象的UML图形设计,理解和设计实验内容中要求的类和类关系,对象和对象关系。

二、实验设备和环境PC(一台),Windows 2000或以上版本,安装.Microsoft Visio 2003三、实验要求:实验具体题目:InfoSuper 银行是一家著名的金融机构,其客户遍布全球。

该银行向客户提供以下服务:企业银行业务、个人银行业务、共同基金、理财服务、住房贷款InfoSuper 银行 45% 的收入来自个人银行业务.因此,银行希望进一步提升个人业务的服务质量并争取留住客户并提高他们的忠诚度.该银行进行了一次市场调查以了解客户在个人银行业务处理时间、满意度和资源需求方面的要求.调查结果显示为了来办理银行事务(如,提取现金、支票存款、和获取交易概要等),一个客户平均每月要跑 10 到 15 趟银行。

银行希望开发一个软件系统以通过改进的设施来减少客户访问银行的次数并提高客户服务。

为此 InfoSuper 银行的代表找到了软件开发商 Janes Technologies 公司。

在分析了银行的需求文档后Janes Technologies 公司项目经理 Jennifer 建议银行开发自动取款机(ATM)系统提供以下功能:现金提款、现金存款、交易概要、更改 PIN、同行转帐、有关银行提供的其他服务的信息、还需要在部署 ATM 系统的地方提供箱子以供客户丢弃支票及请求支票簿。

要求设计 ATM 系统,使其突出系统优势和成分。

根据实验一建立的 ATM 系统的用例,建立ATM系统的类关系图和对象关系图可按照以下步骤建模 InfoSuper 银行 ATM 系统原型的静态模型:1 为原型确定类.2 确定属性及其可见性。

3 确定操作及其可见性。

4 确定类之间的关系。

5 确定接口及其实现关系。

6 创建类关系图.7 创建对象关系图.四、实验内容和步骤五、实验体会一.系统静态建模1。

实验二 使用UML对ATM系统进行建模

实验二 使用UML对ATM系统进行建模
班级:计算机1201姓名:学号:120620116
指导老师:评分:
一.实验目的
对ATM软件系统进行分析和设计;
使用Microsoft Visio软件,绘制UML图。
二.实验设备
装有WindowsXP的计算机且计算机中装有Microsoft Visio软件。
三.实验内容及步骤
1、银行ATM自动柜员机的需求简述
本案例将要开发的ATM系统能够为顾客提供以下基本服务(它们统一称为交易):
(1)取款服务。顾客可以用银行卡从对应的账户中支取现金,现金必须是100元的整数倍,且每次取款不能超过2000元。
(2)存款服务。顾客可以把现金存入与银行卡对应的账户中。
(3)转帐服务。顾客可以把一个银行卡对应的账户中的款项转帐到另一个银行账户中。
(f)画出系统的部署模型;
四、实验结果
顶层用例图
图表1
细化用例图
图表2
系统分析类图
顶层架构图
图表3
系统取款用例的序列图
图表4
状态转化图
图表5
系统部署模型
五、实验小结
在整个实验中我认识到掌握好UML这门工具是非常有必要的,能使我们的编程思路更加清晰,使得对整个程序设计中有了更深刻的认识。我会在以后的工作学习中,我将更多的使用uml建模,以提高编程效率。
(4)ATM需要维护一个内部日志,对每次交易进行记录。
4、在获取待开发系统的业务需求描述后,对ATM机系统进行分析和设计,以UML为工具按照下列要求完成实验内容:
(a)画出系统的顶层及细化后的用例图;
(b)画出系统的分析类图;
(c)画出系统的顶层架构图;
(d)画出系统取款用例的序列图;
(e)画出系统ATM机的状态转换图;

ATM用例建模

ATM用例建模

ATM系统用例图存款取款客户查问银行主机转账改密码用例包含:1)存款:客户持银行卡(本行或其余行)从ATM寄存现金2)取款:客户持银行卡(本行或其余行)从ATM提取现金3)查问:客户持银行卡(本行或其余行)在ATM上查问卡的帐户信息4)转账:客户持银行卡(本行)在 ATM长进行同行转账5)改密码:客户持银行卡(本行或其余行)在ATM改正卡的密码系统用例规约: ATM取款用例名称:ATM取款描绘:客户持银行卡(本行或其余行)从ATM提取现金actors:客户和银行主机前置条件:无基本流: 1.客户插入银行卡。

2.ATM从银行卡读入卡号(含银行表记和账号),考证卡的有效性。

3.客户输入密码。

4.ATM考证帐号和密码。

5.ATM显示包含取款在内的服务功能,客户选择“取款”。

6.输入取款额:客户输入数目为50 元的倍数的取款额。

7.ATM向银行主机通知卡号、密码、账号和取款额,获取含有最新余额的取款成功确认信息。

8.ATM打印并吐出凭条。

9.ATM盘点并吐出现金,记录取款成功。

10.ATM咨询客户能否持续服务。

11.客户选择否, ATM吐出银行卡,结束用例,不然回到步骤5。

[ 用例结束 ]备选流:3-7 ,10a. 客户撤消服务:ATM记录服务撤消,打印凭条,吐出凭条和银行卡,[ 用例失败 ] 3,6,11a. 客户未实时输入超出30 秒:ATM吞卡, [ 用例失败 ]2a.卡无效:ATM吞卡, [ 用例失败 ]2b.读卡器或卡被破坏:ATM吞卡, [ 用例失败 ]4a.密码错:4a1. 客户从头输入密码a.累计 3 次密码错误:ATM吞卡, [ 用例失败 ]4b.无此帐号:ATM吞卡, [ 用例失败 ]5a.ATM 无现金:ATM不显示“取款”功能,客户可选择其余服务,[ 用例失败 ] 6a.取款额超出 ATM现金余额:ATM要求客户从头输入取款额。

7a.帐户余额不足:ATM要求客户从头输入取款额。

7b.取款额超出当天最高限额:ATM要求客户从头输入取款额。

实验报告模板-用例描述完

实验报告模板-用例描述完
银行卡内有足够的余额、正确输入对方银行卡账号
基本流程
1.插卡2.选择转账选项3.用户输入转账账号4.系统验证转账账号5.用户输入转账金额6.系统验证转账金额输入是否符合要求7.系统验证用户账户余额8.系统显示转账账户及转账金额9.用户确认10.系统更新并保存账户信息
泛化用例
扩展用例
1.输入账户账号不正确
b.选择继续放入钞票或者结Fra bibliotek放钞包含用例
修改记录
用例名称
余额查询用例
标示符
用例描述
本用例主要描述客户从ATM机查询银行卡余额
参与者
用户与ATM
优先级
一级
状态
前置条件
ATM机无故障、插入银行卡、输入密码、余额查询操作
后置条件

基本流程
1.插卡2.输入密码3.选择余额查询功能4.系统显示账户余额及最大取款限额
软件建模与分析
实验报告
班级:
学号:
姓名:
完成日期:
实验一ATM取款机系统设计与分析
一、系统功能描述
该系统实现的功能有存款、取款、修改密码、余额查询和转账。
二、系统需求建模
1、分析
(1)参与者:ATM和客户
(2)用例:存款用例、取款用例、修改密码用例、查询余额用例、转账用例。
(3)用例图:
(4)用例描述
优先级
一级
状态
前置条件
ATM机无故障、插入银行卡、输入密码、存钱操作
后置条件
用户放入钞票、存入现金、系统更新账户存款金额
基本流程
1.插卡2.输入密码3.放入钞票4.系统显示存款金额5.用户选择继放钞或者结束放钞6.用户确认信息7.系统更新并保存账目信息

ATM系统

ATM系统

实验报告(①实验目的②实验设备和环境③实验内容与步骤④实验结果与分析⑤总结,问题及建议))一. 实验目的ATM自动柜员机系统是由计算机控制的银行自动出纳系统,主要服务于活期储蓄,实现客户自助服务的电子化设备。

统一建模语言UML Unified Modeling Language是面向对象技术的一个重要应用,也是软件工程环境中对象分析和设计的重要工具。

通过UML对ATM自动取款机建模,实现查询余额、取款、存款、更改密码等业务,根据需求还可以进一步扩展具体功能。

二. 实验设备和环境设备:Enterprise Architect软件环境:windows三. 实验内容与步骤<一>、ATM系统UML设计需求分析1.1 A TM取款机的总体需求1.ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡2.可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作3.查询自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择。

4.提取现金时提示用户输入取款金额并判断输入是否正确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金,5.转账汇款时让用户选择转账类型,要求用户输入转账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后确认。

6.进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新密码生效。

7.对于错误的操作或者操作延时做出有效的处理。

1.2 系统操作要求1.要求用户每次取款数额为50的整数倍,2.要求用户一次取款数额不得大于1000元,3.要求用户一天取款数额不得超过5000元,4.要求用户每次取款数额不得大于账户余额,5.要求用户连续输入错误密码次数不得超过3次,1.3 系统性能要求1.要求反应时间不得大于10秒钟,2.系统设计目标,ATM自动取款机可以提供24小时不间断服务,操作简单,每步都有相应的语音提示,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。

ATM自动存取款机建模

ATM自动存取款机建模
LOGO
目录
• • • • 要实现的功能 设计总体流程图 各功能操作及界面 结束语

LOGO
要实现的功能
★取款 ★存款 ★修改密码 ★转账 ★查询余额

LOGO
设计总体流程图
ATM需要一个联网的银行系统、 点钞机、打印机、监控器、输入键盘 等复杂的部件,这里只考虑ATM单 机上理想化的程序

LOGO
• 备选流
• 1.如果放入钞票不符合要求,给出提示, 并显示已接受的钞票数目 • 2.如果用户没有确认,给出提示 •
LOGO
退出界面

LOGO
结束语:
本次建模,窗体设计糟糕,功能细
节考虑不够严谨,由于本人水平低下,
虽经过努力,程序仍不能顺利模仿真正 的ATM机操作,且漏洞层出不穷,深感 惭愧

LOGO
转账界面
• 当点击转账功能选项,会出现转账的界面,这 时就可以进行转账; • 分别输入转入的账户和转入的金额,直接点击 “确认”。 • 若转入过程中出错会有相关的提示的操作。

LOGO
事件流
• • • • • • • • • •


1.用户输入转账账号。 2.系统验证转账账号。 3.用户输入转账金额。 4.系统验证输入金额是否符合输入要求。 5.系统验证用户账户余额。 6.系统显示用户转账账户及转账金额。 7.用户确认转账账户及转账金额。 8.系统更新并保存账户信息。 1.如果输入账号不正确,给出提示,退出。 2.如果输入金额不符合输入格式要求,给出提示, 退出。 3.如果输入金额超出最大转账金额,给出提示,退 出。 • 4.如果用户没有确认,给出提示,退出。
LOGO
余额查询界面

ATM建模实验-参考实验二

ATM建模实验-参考实验二

UML建模实验1. 环境简介Rose模型〔包括所有框图、对象和其他模型元素〕都保存在一个扩展名为.mdl的文件中。

1.1 Rational Rose可视化环境组成Rose界面的五大局部是浏览器、文档工具、工具栏、框图窗口和日志。

见图1-1。

图1-1:Rose界面●浏览器:用于在模型中迅速漫游。

●文档工具:用于查看或更新模型元素的文档。

●工具栏:用于迅速访问常用命令。

●框图窗口:用于显示和编辑一个或几个UML框图。

●日志:用于查看错误信息和报告各个命令的结果。

1.2浏览器和视图浏览器是层次构造,用于在Rose模型中迅速漫游。

在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。

Rose浏览器见图1-2。

浏览器中包含四个视图:Use Case视图、Logical视图、ponent视图和Deployment视图。

点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。

图1-2:Rose浏览器1.3框图窗口在图1-3所示的框图窗口中,我们可以浏览模型中的一个或几个UML框图。

改变框图中的元素时,Rose自动更新浏览器。

同样用浏览器改变元素时,Rose自动更新相应框图。

这样,Rose就可以保证模型的一致性。

图1-3:框图窗口2.UML各类框图的建立2.1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。

用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。

一个系统可以创立一个或多个用例图。

创立用例图〔图2-1-1〕在浏览器的Use Case视图中,双击Main,让新的用例图显示在框图窗口中。

也可以新建一个包〔右击Use Case视图,选择new→package,并命名〕,然后右击这个新建包的,选择new→use case diagram。

对系统总的用例一般画在Use Case视图中的Main里,如果一个系统可以创立多个用例图,那么可以用包的形式来组织。

UML(ATM系统)动态建模

UML(ATM系统)动态建模

实验3 动态建模一、实验目的与要求1 掌握分析ATM系统用例中用例的流程,分析对象之间的交互关系2 掌握用UML设计参与对象之间的交互,用状态图、时序图、协作图和活动图来描述系统的行为。

二、实验设备、环境PC(一台),Windows 2000或以上版本,安装Microsoft Visio 2003三、实验内容及步骤1 交互图:实现ATM系统的序列关系图和通信(协作)关系图;2 分析设计软件系统的状态图。

((1)和(2)选做一个状态图);(1)A TM系统(2)具体题目如下:某销售POS机,它的工作流程是:当客户到收银台后,收银员逐一输入用户购买的商品,输入完之后,计算出总金额,然后等待用户付款,确定支付成功之后,完成收银,等待下一个客户。

请为其绘制出相应的状态机图。

3分析设计ATM系统的活动图(选做1个活动图)。

建立动态模型:建立序列关系图、状态图、活动图步骤:●编写脚本●确定各个对象之间的事件●构造事件追踪图(交互图)●构造状态图●添加活动和动作一、时序关系图1)ATM系统的正常情况脚本●ATM请储户插卡;储户插入一张现金兑换卡。

●ATM接受该卡并读它上面的卡号。

●ATM要求储户输入密码;储户输入自己的密码“1234”等数字。

●ATM请求系统验证卡号和密码;核对储户密码,然后通知显示器显示说这张卡有效。

●ATM要求储户选择事务类型(取款、转账、查询等);储户选择“取款”。

●ATM要求储户输入取款额;储户输入“880”。

●ATM确认取款额在预先规定的限额内,然后要求处理这个事务;成功处理完这项事务并返回该账户的新余额。

●ATM吐出现金并请储户拿走这些现金;储户拿走现金。

●ATM问储户是否继续这项事务;储户回答“不”。

●ATM打印账单,退出现金兑换卡,请储户拿走它们;储户取走账单和卡。

●ATM请储户插卡。

2)ATM系统的异常情况脚本●ATM请储户插卡;储户插入一张现金兑换卡。

●ATM接受该卡并顺序读它上面的数字。

控制工程基础实验——Mat lab仿真实验报告

控制工程基础实验——Mat lab仿真实验报告

实验一:Mat lab 仿真实验 1.1直流电机的阶跃响应。

给直流电机一个阶跃,直流电机的传递函数如下: )1101)(11.0(50)(4+⨯+=-s s s G 画出阶跃响应如下:Step ResponseTime (sec)A m p l i t u d e零极点分布:P ole-Zero MapReal Axis I m a g i n a r y A x i s分析:直流电机的传递函数方框图如下:所以传递函数可以写成:1/1)()(2++=s T s T T C s U s n m a m E a 式中,RLT C C JR T a E M m ==,分别为电动机的机电时间常数与电磁时间常数。

一般相差不大。

而试验中的传递函数中,二者相差太大,以至于低频时:低频时)(11.050)1101)(11.0(50)(4+≈+⨯+=-s s s s G所以对阶跃的响应近似为:)1(50)(1.00t e t x --=1.2 直流电机的速度闭环控制如图1-2,用测速发电机检测直流电机转速,用控制器Gc(s)控制加到电机电枢上的电压。

1.2.1假设G c(s)=100,用matlab 画出控制系统开环Bode 图,计算增益剪切频率、相位裕量、相位剪切频率、增益裕量。

M a g n i t u d e (d B )1010101010101010P h a s e (d e g )Bode DiagramFrequency (rad/sec)幅值裕量Gm =11.1214 相位裕量Pm = 48.1370幅值裕量对应的频率值(相位剪切)wcg =3.1797e+003 相位裕量对应的频率值(幅值剪切)wcp =784.3434从理论上,若100)(=s G c ,那么开环传递函数为: )1101)(1001.0)(11.0(100)(4+⨯++=-s s s s G 于是)]0001.0(tan )001.0(tan )1.0([tan )()101(1)001.0(1)1.0(1100)(1112422ωωωωωωωω----++-=∠⨯+++=j G j G令1)(=c j G ω,假设ωω1.0)1.0(12≈+,1)101(124≈⨯+-ω 得:15.786=c ω继而,06.48)]0001.0(tan )001.0(tan )1.0([tan )(111=++-=∠---c c c c j G ωωωω 1.2.2:通过分析bode 图,选择合适的p K 作为)(s G c ,使得闭环超调量最小。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UML建模实验1. 环境简介Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。

1.1 Rational Rose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。

见图1-1。

图1-1:Rose界面●浏览器:用于在模型中迅速漫游。

●文档工具:用于查看或更新模型元素的文档。

●工具栏:用于迅速访问常用命令。

●框图窗口:用于显示和编辑一个或几个UML框图。

●日志:用于查看错误信息和报告各个命令的结果。

1.2浏览器和视图浏览器是层次结构,用于在Rose模型中迅速漫游。

在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。

Rose浏览器见图1-2。

浏览器中包含四个视图:Use Case视图、Logical视图、Component视图和Deployment 视图。

点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。

图1-2:Rose浏览器1. 3框图窗口在图1-3所示的框图窗口中,我们可以浏览模型中的一个或几个UML框图。

改变框图中的元素时,Rose自动更新浏览器。

同样用浏览器改变元素时,Rose自动更新相应框图。

这样,Rose就可以保证模型的一致性。

图1-3:框图窗口2.UML各类框图的建立2. 1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。

用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。

一个系统可以创建一个或多个用例图。

●创建用例图(图2-1-1)在浏览器内的Use Case视图中,双击Main,让新的用例图显示在框图窗口中。

也可以新建一个包(右击Use Case视图,选择new→package,并命名),然后右击这个新建包的,选择new→use case diagram。

对系统总的用例一般画在Use Case视图中的Main里,如果一个系统可以创建多个用例图,则可以用包的形式来组织。

图2-1-1:创建用例图●创建参与者(图2-1-2)(1)在工具栏中选择“Actor”,光标的形状变成加号。

(2)在用例图中要放置参与者符号的地方单击鼠标左键,键入新参与者的名称,如“客户”。

若要简要的说明参与者,可以执行以下步骤:(1)在用例图或浏览器中双击参与者符号,打开对话框,而且已将原型(stereotype)设置定义为“Actor”。

(2)打开“General”选项卡,在documentation字段中写入该参与者的简要说明。

(3)单击OK按钮,即可接受输入的简要说明并关闭对话框。

图2-1-2:创建参与者创建用例(图2-1-3)(1)在工具栏中选择“Use Case”,光标的形状变成加号。

(2)在用例图中要放置用例符号的地方单击鼠标左键,键入新用例的名称,如“存款”。

若要简要的说明用例,可以执行以下步骤:(1)在用例图或浏览器中双击用例符号,打开对话框,接着打开“General”选项卡。

(2)在documentation字段中写入该用例的简要说明。

(3)单击OK按钮,即可接受输入的简要说明并关闭对话框。

图2-1-3:创建用例记录参与者和用例之间的关系(图2-1-4)(1)从工具栏中选择关联关系箭头。

(2)将光标定位在用例图中的参与者上,单击鼠标左键并将光标移动到用例符号上,然后释放鼠标左键。

若要简要的说明关系,可以执行以下步骤:(1)在用例图中双击关联关系符号,打开对话框。

(2)在默认情况下,将显示对话框中的“General”选项卡。

(3)在documentation字段中写入简要说明。

(4)单击OK按钮,即可接受输入的简要说明并关闭对话框。

图2-1-4:参与者和用例的关系 增加泛化关系(图2-1-5)(1)从工具栏中选择泛化关系箭头。

(2)从子用例拖向父用例,也可从子参与者拖向父参与者。

简要说明关系执行的步骤同上类似。

图2-1-5:增加泛化关系★练习:画ATM(自动柜员机)系统总的用例图理解:对于银行的客户来说,可以通过ATM机启动几个用例:存款、取款、查阅结余、付款、转帐和改变PIN(密码)。

银行官员也可以启动改变PIN这个用例。

参与者可能是一个系统,这里信用系统就是一个参与者,因为它是在ATM系统之外的。

箭头从用例到参与者表示用例产生一些参与者要使用的信息。

这里付款用例向信用系统提供信用卡付款信息。

2.2建立活动图activity diagram活动图显示了从活动到活动的流。

活动图可以在分析系统业务时用来演示业务流,也可以在收集系统需求的时候显示一个用例中的事件流。

活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。

●创建活动图(图2-2-1)(1) 用于分析系统业务:在浏览器中右击Use Case视图,选择new→activity diagram。

(2) 用于显示用例中的事件流:在浏览器中选中某个用例,然后右击这个用例,选择new→activity diagram。

图2-2-1:创建活动图●增加泳道(图2-2-2)泳道是框图里的竖段,包含特定人员或组织要进行的所有活动。

可以把框图分为多个泳道,每个泳道对应每个人员或组织。

在工具栏选择swimlane按钮,然后单击框图增加泳道,最后用人员或组织给泳道命名。

图2-2-2:增加泳道增加活动并设置活动的顺序(图2-2-3)(1)在工具栏中选择Activity 按钮,单击活动图增加活动,命名活动。

(2)在工具栏中选择Transition按钮,把箭头从一个活动拖向另一个活动。

图2-2-3:增加活动增加同步(图2-2-4)(1)选择synchronization工具栏按钮,单击框图来增加同步棒。

(2)画出从活动到同步棒的交接箭头,表示在这个活动之后开始并行处理。

(3)画出从同步棒到可以并行发生的活动之间的交接箭头。

(4)创建另一同步棒,表示并行处理结束。

(5)画出从同步活动到最后同步棒之间的交接箭头,表示完成所有这些活动之后,停止并行处理。

图2-2-4:增加同步增加决策点(图2-2-5)决策点表示可以采取两个或多个不同的路径。

从决策到活动的交接箭头要给出保证条件,控制在决策之后采取什么路径。

保证条件应该是互斥的。

(1)选择decision工具栏按钮,单击框图增加决策点。

(2)拖动从决策到决策之后可能发生的活动之间的交接,双击交接,打开“detail”选项卡,在Guard Condition字段中写入保证条件。

图2-2-5:增加决策点★练习:画ATM系统中“客户插入卡”的活动图理解:客户插入信用卡之后,可以看到ATM系统运行了三个并发的活动:验证卡、验证PIN(密码)和验证余额。

这三个验证都结束之后,ATM系统根据这三个验证的结果来执行下一步的活动。

如果卡正常、密码正确且通过余额验证,则ATM系统接下来询问客户有哪些要求也就是要执行什么操作。

如果验证卡、验证PIN(密码)和验证余额这三个验证有任何一个通不过的话,ATM系统就把相应的出错信息在ATM屏幕上显示给客户。

2.3建立类图class diagram类图显示系统之中类和类之间的交互。

创建类(图2-3-1)在Rational Rose中可以通过几种途径来创建类。

最简单的方法是利用模型的Logic 视图中的类图标和绘图工具,在图中创建一个类。

或者,在浏览器中选择一个包并使用快捷菜单的new→class。

一旦创建了一个类,就可以通过双击打开它的对话框并在Documentation字段中添加文本来对这个类进行说明。

图2-3-1:创建类创建方法(图2-3-2)(1)选择浏览器中或类图上的类。

(2)使用快捷菜单的new→Operation(3)输入方法的名字,可在Documentation字段中为该方法输入描述其目的的简要说明。

图2-3-2:创建方法和属性●创建属性(图2-3-2)(1)选择浏览器中或类图上的类。

(2)使用快捷菜单的new→Attribute。

(3)输入属性的名字,可在Documentation字段中为该属性输入描述其目的的简要说明。

●创建类图(图2-3-3)右击浏览器内的Logical视图,选择new→class diagram。

把浏览器内的类拉到类图中即可。

图2-3-3:创建类图创建类之间的关系(1)类之间的关系在工具栏中显示。

(2)对于关联关系来说,双击关联关系,就可以在弹出的对话框中对关联的名称和角色进行编辑(图2-3-4)。

(3)编辑关联关系的多重性:右单击所要编辑的关联的一端,从弹出的菜单中选择Multiplicity,然后选择所要的基数(图2-3-5)。

图2-3-4:创建类之间关联的名称和角色图2-3-5:关联的多重性编辑★练习:画ATM系统中取款这个用例的类图理解:类图显示了取款这个用例中各个类之间的关系,由四个类完成:读卡机、账目、ATM屏幕和取钱机。

类图中每个类都是用方框表示的,分成三个部分。

第一部分是类名;第二部分是类包含的属性,属性是类和相关的一些信息,如账目类包含了三个属性:账号、PIN(密码)和结余;最后一部分包含类的方法,方法是类提供的一些功能,例如帐目类包含了四个方法:打开、取钱、扣钱和验钱数。

类之间的连线表示了类之间的通信关系。

例如,账目类连接了ATM屏幕,因为两者之间要直接相互通信;取钱机和读卡机不相连,因为两者之间不进行通信。

有些属性和方法的左边有一个小锁的图标,表示这个属性和方法是private的(UML 中用’-’表示),该属性和方法只在本类中可访问。

没有小锁的,表示public(UML中用’+’表示),即该属性和方法在所有类中可访问。

若是一个钥匙图标,表示protected(UML中用’#’表示),即属性和方法在该类及其子类中可访问。

2.4建立交互图interaction diagram2.4.1序列图sequence diagram序列图显示用例中的功能流程。

创建序列图(图2-4-1)在浏览器内的Logic 视图中单击鼠标右键,选择new→sequence diagram就新建了一张序列图。

也可以在浏览器中use case视图中选择某个用例,然后右击这个用例,选择new→sequence diagram。

图2-4-1:创建序列图在序列图中放置参与者和对象(图2-4-2)在序列图中的主要元素之一就是对象,相似的对象可以被抽象为一个类。

序列图中的每个对象代表了某个类的某一实例。

(1)把用例图中的该用例涉及的所有参与者拖到sequence图中。

(2)选择工具栏中的object按钮,单击框图增加对象。

可以选择创建已有类的对象,也可以在浏览器中新建一个类,再创建新的类的对象。

双击对象,在弹出的对话框中的“class”里确定该对象所属的类。

相关文档
最新文档