南昌大学网络教学-南昌大学网络教学
课程名称:
实验项目:
实验地点:
专业班级:
学生姓名:
指导教师:
本科实验报告
系统分析与设计
《
ATM
自动取款机系统》实验
逸夫楼
402
学号:
1
一、实验目的
通过
《系统分析与设计》
实验,
使学生在实际的案例中完成系统分析与系统设计中
的主要步骤,
并熟悉信息系统开发的有关应用软件,
加深对信息系统分析与设计课程基
< br>础理论、
基本知识的理解,
提高分析和解决实际问题的能力,
使学生在实践中熟悉信息
系统分析与设计的规范,为后继的学习打下良好的基础。
p>
二、实验要求
以个人为单位完成
,自选题目,班内题目不重复,使用
UML
进行系统分析与设计,
并完成实验报告。
三
、
实验主要设备:
台式或笔记本计算机
四、实验内容
1
选题及项目背景
ATM
自动取款机系统
项目背
景:
ATM
自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。 p>
可以向用户提供一个方便、简单、及时、随时随地曲匡的互联的现代化的网络系统。
2
定义
AT
M
自动取款机可以为用户提供取款、查询余额、设置密码、转账等业务。在用户
< br>使用
ATM
自动取款机时,
ATM
要求用户 输入密码,
接下来由
ATM
把从银行卡上读取的信
息以及用户输入的密码传给
ATM
自动取款机系统,系统通过数据库中的 信息进行核对,
如果密码正确,
ATM
就要求用户选择事 务类型(取款、查询等)
,直至用户选择退出应
用服务,
询问用户是否退出应用服务,
如果用户选择结束,
则退出银行卡,
系统重回登
陆界面。
用户进入取款界面后,
首先可以输入 取款金额
(必须是
50
的倍数)
,
否则系统
显示输入有误。
用户点击确认后,
由系统查询用 户相应的账户,
判断该取值金额是否超
出用户现有余额,如果没有,则系
统会显示确认界面,用户单点击“确认”后,系统自
动生成账单,
并在后 台进行工作,
吐钞机进行清点并吐出现金,
并将数据更新到数据库
中;否则提示用户余额不足,请重新输入,重复上述过程。
3
参考资料
《系统分析与设计》
2
4
系统分析与设计
4.1
需求分析
4.1.1
识别参与者
用户(取款者)
、系统维护人员、银行管理人员
4.1.2
对需求进行捕获与描述
用例名称:存款
执行者:用户
目的:向银行账户中存放现金。
用例名称:取款
执行者:用户
目的:从
ATM
自动取款机中提取账户金额。
用例名称:修改密码
执行者:用户
目的:修改用户登录密码。
用例名称:查询余额
执行者:用户
目的:查询银行账户中的现金余额。
用例名称:验证身份
执行者:用户
目的:验证操作
ATM
的用户身份。
用例名称:转账
执行者:用户
目的:从
ATM
自动取款机中进行现金转账。
用例名称:信息管理
执行者:银行工作人员
目的:对用户信息进行管理。
用例名称:系统维护
执行者:银行工作人员
目的:对
ATM
系统进行维护。
用例名称:赔款
执行者:银行工作人员
目的:向
ATM
机存放现金。
用例名称:验证身份
执行者:银行工作人员
目的:对用户信息进行验证。
100.1
100.2
100.3
101.4
100.5
100.6
100.6.
1
用例
ID
号及用例名
用例概述
参与者:
前置条件(
Pre- Conditions
)
事件流
基本事件流
(
Basic Flow
)
Uc_001
取款
当用户插入
银行卡并输入正确的密码进入
ATM
系统选择取款功能
时
,用例开始。用户利用它实现账户取款功能。
用户
用户插入银行卡并输入正确的密码,成功登录系统。
1.
用户插入银行卡并输入正确的密码,成功登录系统。
2.
用户选择取款功能。
3.
系统提示输入取款金额。
4.
用户输完后点击确认。
5.
系统提款并修改账户信息。
6.
系统提示取款操作成功,并提示用户立即拿走吐钞 口的现金。
7.
系统返回主界面。
余额不足时:
8.
账户余额不足,取款失败。
9.
系统显示账户当前余额。
返回
E-3
,
并执行结束。
100.6.
2
扩
展
事
件
流
(
Alternative
ATM
检查到用户没有输入正确金额
Flows
)
1.
ATM
提示用户输入正确金额
2.
用户重新金额
3
后置条件(
Post- Conditions
)
用户成功取款。
用户存在跨行支取、异地支取
1.
银行业务系统计算额外的手续费并从用户账号进行扣除
2.
ATM
打印凭证时打印手续费信息
ATM
检查发现用户没有从出钞口取走钞票
1.
ATM
再次提示用户从出钞口取走 钞票,
并演示图示帮助指示
出钞口位置
2.
用户从出钞口取走钞票
用户选择查询余额
1.
ATM
显示用户账户余额
用户选择了其他操作
1.
< /p>
ATM
显示相应的操作界面,
ATM
提示用户进行操 作
2.
用户进行操作
4.1.3
用例图
ATM
自动取款机用例图
4.1.4
分析与讨论
1)
建模用例图的步骤、方法?
1.
p>
确定系统的边界和范围;
(
方法:
分析系统内部元素, 把系统内部元素和外
部事物划分开)
2.
识别系统的参与者;
3.
发现用例;
4.
描述用例及确定用例关系;
( p>
方法:
对用例概要描述;
对用例详细描述。
根
据用例事件流,将公共行为抽取出来,已包含关系构建用例关系;变化部
分,抽取出来,放到扩展用例中)
5.
建立用例图;
6.
定义用例图的层次结构;
4
2)
如何识别系统的参与者?应该如何划分用例,应注意哪些问题?
通过回答以下问题来识别系统的参与者:
1.
谁使用系统的主要功能?
2.
谁改变系统的数据?
3.
谁从系统中获取数据?
4.
谁支持、维护系统?
5.
谁需要借助系统的支持来完成工作?
6.
系统需要操纵哪些硬件?
7.
系统需要和哪些外部系统交互?
8.
谁对系统运行结果感兴趣?
划分用例:
1.
每个参与者打算在这个系统里做些什么事情?
2.
参与者使用本系统要实现的目标是什么?
3.
参与者是否会在系统中创建、修改、删除、访问、 存储数据?如果是,如何
来完成这些操作?
4.
参与者是否会将外部的某些事件通知给该系统?
3)
心得
用例图主要用来描述
用户、需求、系统功能单元
之间的关系。它展示了一个
外部用户能够观察到的系统功能模型图。
p>
用途:帮助开发团队以一种可视化的方式理解系统的功能需求。
用例图所包含的元素如下:
1.
参与者
表示与您的应用程序或系统进行交互的用户、组
织或外部系统。用一个小人表示。
2.
用例
用例就是外部可见的系统功能,对系统提供的服务进行描述。
用椭圆表示
3.
子系统
用来展示系统的一部分功能,这部分功能联系紧密。
4.
关系
用例图中涉及的关系有:关联、泛化、包含、扩展;
a.
关联
表示参与者与用例之间的通信,任何一方都可发送或接受消息。
b.
泛化
就是继承关系,子
用例和父用例相似,但表现出更特别的行为;子用例将继承父用
例的所有结构、行为和关
系。子用例可以使用父用例的一段行为,也可以重载它。
父用例通常是抽象的。
c.
包含
包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤;
d.
扩展
扩展关系是指
用例功能的延伸,相当于为基础用例提供一个附加功能。
e.
依赖
表示源用例依赖于目标用例;
5
4.2
建立对象模型
4.2.1
候选类的数据字典
类
名
中
文
User
CardReader
CashDipenser
Bill
BankAccount
DrawAccount
ATMScreen
MaintenanceStaff
ManageStaff
定
义
使用
ATM
自动取款机系统进行取款、存款、转
账等业务。该
类有插卡、选择业务等操作。
读出用户插入的银行卡信息。
将现金从取款机中递出。
由系统自动生成账单,在后台依此工作。
用户
存款信息,包括用户的信息,存款数目等
属性,并拥有更改用户银行数据的操作。
用户取款信息,包括用户的信息,取款数目等
属性,
并拥有更改用户银行数据的操作。
显示系统要向用户展示的界面。
用户
读卡机
吐钞机
账单
存款账目
取款账目
ATM
屏幕
系统维护人员
维护
ATM
自动取款机系统的正常运行。
银行管理人员
向
ATM
自动取款机中赔款。
数据连接
与银行数据库进行连接,更新用户信息。
DatabaseConnector
4.2.2
定义类
“用户”类
?属性
姓名
(name)
:文本
(char)
账号
(userID)
:文本
(char )
联系电话
(TelNum)
:整形
( int)
住址(
Address
)
:文 本
(char)
?操作
插卡
i
nsert card()
输入
Input()
修改密码
changePWD()
查询
inquiry()
“读卡机”类
?属性
?操作
接收卡
accept card()
读卡
read card()
退卡
eject card()
“吐钞机”类
6