UMLATM设计文档.docx
《UMLATM设计文档.docx》由会员分享,可在线阅读,更多相关《UMLATM设计文档.docx(12页珍藏版)》请在冰点文库上搜索。
UMLATM设计文档
UML实验报告
2.用例建模
掌握客户需求分析的方法和步骤
了解以用例驱动的软件开发方法
掌握用例图的画法
掌握用Rose或PowerDesigner进行用例建模的具体方法和步骤
1.ATM系统用例图:
2.这个ATM系统主要显示了对客户提供存取款,转账,余额查询和密码修改的功能,以及银行管理员对客户修改密码,现金和ATM设备维护的操作。
3.描述用例
“取款”用例
用例编号:
0671
用例名:
转账
执行者:
.人执行者:
客户
.系统执行者:
取款子系统
目的:
执行取款任务
类型:
端点主要的基本的
级别:
一级
过程描述:
1.插卡
2.输入密码
3.输入取款金额确定
4.取款打印凭条
5.退出系统
“查询”用例
用例编号:
0670
用例名:
查询账户
执行者:
.人执行者:
客户
.系统执行者:
查询子系统
目的:
执行查询任务
类型:
端点主要的基本的
级别:
一级
过程描述:
1.插卡
2.输入密码
3.查询账号
4.人名币查询
5.查询打印凭条
6.退出系统
“修改密码”用例
用例编号:
0669
用例名:
修改密码
执行者:
.人执行者:
客户、银行工作人员
.系统执行者:
修改密码子系统
目的:
执行修改密码任务
类型:
端点主要的基本的
级别:
一级
过程描述:
1.插卡
2.输入密码
3.修改密码
4.输入新密码
5.再次输入新密码
6.修改成功退出系统
“转账”用例
用例编号:
0668
用例名:
转账
执行者:
.人执行者:
客户
.系统执行者:
转账子系统
目的:
执行转账任务
类型:
端点主要的基本的
级别:
一级
过程描述:
1.插卡。
2.输入密码。
3.进入转账界面。
4.输入转入卡号或账号(只能同行转账)。
5.再次输入卡号或账号。
6.输入转入金额确定。
7.退出系统
“现金管理”用例
用例编号:
0667
用例名:
现金管理
执行者:
.人执行者:
银行管理员
.系统执行者:
现金管理子系统
目的:
执行现金管理任务
类型:
端点主要的基本的
级别:
一级
过程描述:
1.进入银行系统
2.进行添加现金操作
3.退出系统
“维护ATM设备”用例
用例编号:
0667
用例名:
维护ATM设备
执行者:
.人执行者:
银行管理员
.系统执行者:
维护ATM设备子系统
目的:
执行现金管理任务
类型:
端点主要的基本的
级别:
一级
过程描述:
1.进入银行系统
2.对ATM设备进行检查
3.对ATM设备进行相应维护
4.退出系统
3.活动图建模
了解活动图建模的概念
掌握描述一个操作执行过程中所完成工作(动作)的方法
掌握描述对象内部工作的具体步骤
ATM取款子系统活动图:
4客户需求分析规格说明书/系统分析规格说明书
了解用包模型来描述系统体系结构(用例模型)的方法
掌握用Rose或PowerDesigner进行包图建模的具体方法和步骤
掌握书写客户需求规格说明书的基本格式
5.类建模
●对象类建模
理解面向对象系统分析和对象类建模的概念
了解和掌握面向对象系统分析的方法和步骤
了解和掌握寻找待开发系统中类的方法和技巧
掌握使用Rose或PowerDesigner建立类模型的方法
●类的继承建模
理解类之间的继承关系
了解和掌握分析类之间继承关系的方法
掌握使用Rose或PowerDesigner建立类之间继承关系模型的过程
●对象类关联关系建模
理解面向对象类之间关联关系的概念
了解和掌握分析类之间的关联关系的方法
了解和掌握待开发系统中类之间关联关系的分析方法
掌握使用Rose或PowerDesigner如何对关联关系进行建模的过程
许多单个的帐户组成了帐户库。
帐户具有帐户类型、帐户号、余额三个属性,均为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机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
更多的属性及操作都可以一一加上,使这个类图更详细更完整,从而使参与项目的每个成员都能无歧义的明了整个设计的类的结构。
同样对于一个真正的银行系统,这个类图过于简单。
比如帐户类型我们可以先定义一个abstractclass,它包含一个帐户最基本的属性及操作。
而有些操作先定义为abstract,如余额的计算。
然后再继承这个abstractclass,我们可以有savingaccount和checkingaccount等等。
不同的帐户有不同的余额计算方法,我们可以加上具体的算法。
对于不同的帐户可能还有一些它特有的操作,我们也可以加上,比如savingaccount在存款达到多少时可以享受机票打折的优惠。
对象类关联关系图:
8顺序图建模
理解顺序图的基本概念
了解和掌握软件工程中用例逻辑时序的分析方法
了解和掌握待开发系统中顺序图的设计和实现
掌握使用Rose或PowerDesigner创建顺序图的方法
下图描述了顾客在ATM机上取款时信息的流动情况。
以时间为顺序。
因为仅是示例,所以整个过程是没有出现任何故障时的流程,并且只画到了取款结束。
通过这个图,我们可以看出消息是如何在系统中不同对象之间进行交互。
通过流程图我们可以很清楚地看到系统是如何工作的,系统各部分之间的信息及控制是如何发送的,整个流程是否合理。
流程图对我们的设计起到了很好的帮助作用。
注意在本图没有一个生命线终端有一个"X",这是因为这个流程中还未遇到有对象生命结束。
当有对象生命结束时需在对应的生命线终端画"X",表明这个对象在这时被销毁。
首先银行储户将ATM卡插入读卡机,读卡机将信息传给客户管理,客户管理提出查询密码,显示部分将输入密码请求显示出来…..
ATM取款顺序图:
9合作图建模
了解合作图的概念及其在系统设计中的作用
掌握两种交互图(顺序图和合作图)的差别
熟悉和掌握合作图案例的分析方法
掌握使用Rose或PowerDesigner依据用例绘制合作图
合作图和顺序图是可以无信息损失的相互转换,只是它们的侧重点是不一样的。
顺序图着重于对象间消息传递的时间顺序,合作图着重于表达对象之间的静态连接关系。
下图将顺序图转换为合作图。
ATM系统协作图 :
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.显示帐户余额并提示选择下面的服务
10状态图建模
了解状态图的概念及其在系统设计中的作用
掌握使用Rose或PowerDesigner依据用例绘制对象的状态图
下图描述了顾客在ATM机上进行操作会经历的几种状态,及各种状态之间转换的条件。
因为是简化了的例子,所以除了等待顾客插入磁卡的起始状态和结束服务的终止状态,顾客会处于输入密码、选择服务类型、存款及取款四种状态。
ATM状态图:
插入磁卡后进入输密码状态,当密码输入正确时进入选择服务类型状态,当输入密码不正确时,停留在原状态,但如果三次不正确,服务结束。
进入选择服务类型后根据选择的不同,顾客可进入存款和取款状态。
存、取款结束后,顾客既可以选择结束服务到最终状态,也可以选择继续服务回到选择服务类型状态。
通过状态图我们可以无歧义的了解各个活动角色是如何在不同状况下转换的,转换的条件是什么,是否会出现死锁现象,是否有条件没考虑周全,是否有状态无法达到。
状态图可以帮助我们发现问题,并及时改正。
11构件图建模
了解系统物理体系结构模型和表示方法
了解构件图建模的概念及其在系统设计中的作用
掌握使用Rose或PowerDesigner绘制构件图
12部署图建模
了解系统物理体系结构模型和表示方法
了解部署图的概念及其在系统设计中的作用
掌握使用Rose或PowerDesigner绘制部署图的方法