曾祥炫ATM自动取款机系统.docx
- 文档编号:16269970
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:31
- 大小:162.84KB
曾祥炫ATM自动取款机系统.docx
《曾祥炫ATM自动取款机系统.docx》由会员分享,可在线阅读,更多相关《曾祥炫ATM自动取款机系统.docx(31页珍藏版)》请在冰点文库上搜索。
曾祥炫ATM自动取款机系统
长沙学院
课程设计说明书
题目ATM系统
系(部)计算机科学与技术系
专业(班级)软件一班
姓名曾祥炫
学号2010022111
指导教师胡灵敏
起止日期2012-02-27~2012-03-31
课程设计任务书
课程名称:
工程实训(三)
设计题目:
ATM系统
已知技术参数和设计要求:
1.实训目的要求
通过本实训,应能够对SQLServer20005工具的了解,与数据库语法的能力。
1)了解SQL的简史和功能特性。
2)掌握E-R图的绘制和数据库的设计。
3)掌握T-SQL的语法知识,并能够熟练运用它。
4)掌握事务与存储过程的使用。
2.问题描述(功能要求):
本次案例将完成一个ATM银行取款机系统的数据库。
(1)创建BankDB数据库。
并保存在D:
\ATM文件夹下。
(2)创建用户信息表(userinfo)
(3)创建银行卡信息表(cardinfo)
(4)创建交易信息表(transinfo)
(5)添加各种约束关系:
Ø为userinfo表中客户ID(customerID)添加主键约束。
Ø为userinfo表中客户的身份证(PID)添加唯一约束
Ø为useinfo表中的身份证号码添加检查约束,长度为15或者18
Ø为userinfo表中的客户电话号码添加检查约束。
Ø为cardinfo表中的卡号ID(cardID)添加主键约束
Ø为cardinfo表中的卡号ID(cardID)添加约束,必须是以
Ø‘10103576’开头,长度为12
Ø为cardinfo表中的货币类型(curType)添加默认约束,默认为RMB。
Ø为cardinfo表中的存款类型添加约束,只能是‘活期、定活两便和定期’。
Øcardinfo表中开卡日期默认为当天日期。
Øcardinfo表中的开户金额不能低于1元。
Øcardinfo表中的余额不能低于1元。
Øcardinfo表中的密码长度为6位数。
默认为88888。
Øcardinfo表中是否挂失只能是‘是’和‘否’。
默认为‘否’
Ø添加userinfo表与cardinfo表的外键约束。
Øtransinfo表中的交易日期默认为当天。
Ø交易类型只能是‘存入’和‘支取’。
Ø添加cardinfo表与transinfo表的外键约束。
(6)开户
(7)取钱
(8)存钱
(9)查询余额
(10)转账
(11)交易统计
3.运行环境要求:
(1)客户端:
windows操作系统,SQLServer2005数据库客户端
(2)服务器:
SQLServer2005数据库服务器、
3.技术要求:
1)掌握E-R图的绘制和数据库的设计。
2)掌握T-SQL的语法知识,并能够熟练运用它。
3)掌握事务与存储过程的使用。
4)触发器(选做)
设计工作量:
40课时
工作计划:
(1)2010级软件工程所有班级
20课时:
设计,普通教室。
16课时:
上机、调试。
计算机系机房
4课时:
答辩。
计算机系机房。
(具体时间地点老师先申请,机动安排)
指导教师签名:
日期:
教研室主任签名:
日期:
系主任签名:
日期:
长沙学院课程设计鉴定表
姓名
曾祥炫
学号
2010022111
专业
软件工程
班级
软件一班
设计题目
ATM系统
指导教师
胡灵敏
指导教师意见:
评定等级:
教师签名:
日期:
答辩小组意见:
评定等级:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
日期:
系(部)意见:
系主任签名:
日期:
说明
课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;
目录
一、引言7
1.1编写目的7
1.2参考资料7
二、需求规约8
2.1业务描述8
2.2需求分析8
三、数据库环境说明13
四、数据库的命名规则14
4.1数据库对象命名规则14
4.2数据项编码规则14
五、逻辑设计15
5.1数据库实体模型E-R图15
5.2PowerDesinger设计概念模型15
5.3CDM15
5.4数据库相关实体的关系模型15
六、物理设计16
6.1表汇总16
6.2表结构16
6.3用户信息表:
16
6.4存储过程19
6.5视图的设计23
6.6存储过程、函数及触发器的设计23
七、数据库管理维护明24
7.1数据库的转储24
总结25
一、引言
1.1编写目的
本文档是ATM自动取款机系统设计文档的组成部分,编写数据库设计文档的目的是:
明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《ATM数据库设计和开发规范》。
本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1.2参考资料
资料名称
作者
文件编号、版本
《数据库系统概论》
王珊、萨师煊
2006年5月第4版
二、需求规约
2.1业务描述
ATM自动取款机系统需要满足客户在ATM自助服务终端完成开户、存款、取款、查询挂失卡、查询最高消费卡号、查询银行卡交易记录、修改卡密码、获取银行卡密码、银行卡挂失等功能。
2.2需求分析
开户
1、功能描述
用户可以利用此功能来申请一个账户,即一张银行卡。
2、界面描述
(1)用户输入本人的身份证号码,登陆到系统的操作界面。
(2)用户在主界面点击“开户”菜单,进入开户界面。
(3)在开户界面中,用户可以确定用户密码、账户密码,设立关于修改或获得客户密码和账户密码的密保问题,并且确定密保问题的答案。
用户还需输入个人的相关信息。
(4)在开户界面中,用户可以点击“创建随机卡号”菜单,进入创建随机卡号界面。
(5)用户可以在开户界面点击“返回”,返回到上一级界面。
3、业务规则
(1)系统应该确定用户的国籍为中国籍,非中国籍用户不能进行开户操作。
(2)若用户的其他银行卡在催款提醒后仍没有按期还款,系统将拒绝向用户开户。
(3)若用户被剥夺政治权利终身,系统将拒绝向用户开户。
4、业务流程
(1)开户是进行所有业务操作的第一步,只有经过开户之后才能进行后续操作。
5、输入
用户需要输入个人的身份证号码、用户密码、账户密码。
6、输出
系统向用户输出一张银行卡及银行卡的相关信息。
存款
1、功能描述
用户可以利用此功能来进行取款操作。
2、界面描述
(1)用户插入银行卡。
(2)用户输入正确的银行卡密码。
(3)验证通过后用户就可以将要存款的钞票放入ATM机。
(4)用户从ATM机上看到存入的金额数目以及银行卡余额。
3、业务规则
(1)用户插入的银行卡的卡号必须已经存在于ATM机系统中,如非银联卡只能在指定的银行完成业务。
(2)用户必须要输入该银行卡对应的正确密码,否则不能完成存款操作。
(3)用户一次性存款的金额数目不能超过10000元即放入ATM机的面额为100元的钞票不能超过100张。
4、业务流程
(1)只有要进行存款业务时才执行此项操作。
5、输入
用户需要输入银行卡卡号、银行卡账号密码、存款金额数。
6、输出
系统向用户打印输出用户存入的金额数目以及此银行卡的余额。
取款
1、功能描述
用户可以通过此项功能来进行取款业务。
2、界面描述
(1)用户插入银行卡。
(2)用户输入正确的银行卡密码。
(3)系统验证密码通过后用户输入要取款的金额数目。
(4)用户从ATM机上得到要取款的金额。
3、业务规则
(1)用户插入的银行卡的卡号必须已经存在于ATM机系统中,如非银联卡只能在指定的银行完成业务。
(2)用户必须要输入该银行卡对应的正确密码,否则不能完成取款操作。
(3)用户银行卡的余额应该要大于过着等于要取款的金额。
(4)用户一次性取款的金额不能超过2000元。
4、业务流程
只有在用户需要完成取款业务时才执行此项操作。
5、输入
用户需要向系统输入银行卡卡号、银行卡账号密码、取款金额。
6、输出
用户从ATM机上得到要取款的金额、系统向用户打印输出该银行卡的余额。
获得密码
1、功能描述
用户可以利用此功能来获得客户密码和账户密码信息。
2、界面描述
(1)用户插入银行卡,登陆系统操作主界面。
(2)用户在主界面点击“获得密码”菜单。
(3)在“获得密码”菜单中会有“获得客户密码”和“获得账户密码”两个功能选项。
(4)用户点击两个功能选项中的任何一个功能选项都会有密保问题,用户需要正确回答密保问题后才能得到相关密码。
(5)用户可以在“获得密码”界面点击“返回”,返回到上一级界面。
3、业务规则
(1)系统应该在用户正确回答所有密保问题后才能让用户获得密码。
(2)此功能所有用户都可使用。
4、业务流程
(1)用户是在忘记用户密码或者账户密码后才进行此操作。
(2)获得用户密码或者账户密码后,用户可以完成取款、存款、缴费等业务。
5、输入验证信息
用户输入密保问题的正确答案。
6、输出信息
在页面展现出用户的客户密码或者是账户密码。
银行卡挂失
1.功能描述
用户可以通过此功能挂失自己丢失的银行卡或者是帮助自己的朋友挂失他的银行卡。
2.界面描述
(1)用户在ATM机选择挂失功能,进入银行卡挂失界面。
(2)用户进入银行卡挂失界面后,有两种挂失方法,用户选择相应的挂失选项进行操作。
一、选择“输入银行卡号”,然后输入相应的银行卡密码,界面会显示银行卡用户的姓名,确认无误后,点击“确认挂失”,完成银行卡的挂失操作。
如果输入密码错误,则系统会提示输入错误,并要求重新输入,每天限输入错误三次,超过之后,则当天不能进行本银行卡的挂失操作。
二、如果用户遗忘银行卡号,则可以选择“输入身份证号”,系统验证之后,会要求用户输入开户时所设定的银行卡密码,在输入银行卡密码正确之后,系统会给出验证问题“卡上余额为多少”,用户输入卡上的余额(输入以整百为单位,误差在正负150之间)。
如输入错误,则重新输入,每天三次为限,超过三次,当天不能进行银行卡的挂失操作。
(3)用户可以在银行卡挂失界面,点击“返回”,返回上一级界面。
(4)用户可以在银行卡挂界面,点击“取消操作”,返回主菜单。
3.业务规则
(1)系统能够按照用户所选择的功能进行操作,通过用户输入的信息,能够进行相关银行卡挂失的操作。
(2)此功能只针对银行卡的用户使用。
4.业务流程
(1)系统如将银行卡已做挂失操作,则该银行卡信息应该显示在挂失查询界面的列表当中。
(2)已经挂失的银行卡不能重复挂失。
5.输入
银行卡号以及密码,卡上余额,身份证号。
6.输出
(1)选择挂失方式。
(2)在列表页面显示将要进行挂失操作的银行卡信息。
(3)挂失成功提示。
查询卡号挂失
1、功能描述
用户可以利用此功能点,查询处于“挂失”状态的银行卡信息。
2、界面描述
(1)系统用户输入工号,登陆系统操作主界面。
(2)用户在主界面,点击“挂失查询”菜单,进入挂失查询界面。
(3)用户进入挂失查询界面后,系统应将所有处于“挂失”状态的银行卡信息展示在列表当中。
(4)用户可以在挂失查询界面,输入查询条件,点击“查询”,查询出特定条件的挂失卡信息。
(5)用户可以在挂失界面的列表当中,选中一条挂失卡信息,点击“查看”,查看其详细信息。
(6)用户可以在挂失界面,点击“返回”,返回上一级界面。
3、业务规则
(1)系统应能将所有处于“挂失”状态的银行卡记录,展示在挂失查询界面的列表当中。
(2)此功能仅能供银行内部人员使用。
4、业务流程
(1)系统必须先将银行卡做挂失操作,才能在此界面查询出信息。
(2)系统如将银行卡已做解挂操作,该卡信息不应再显示在挂失查询界面的列表当中。
5、输入
工号、挂失查询出发事件。
6、输出
在列表页面展示处于“挂失”状态的银行卡信息。
修改密码
1、功能描述
利用此功能可以修改客户密码或账户密码。
2、界面描述
(1)、用户在主界面可以点击“修改密码”选项,进入修改密码界面。
(2)、在“修改密码”界面中,可以选择“修改客户密码”或“修改账户密码”,点击相应按键的进入下一步。
(3)、修改密码时,两次输入新密码,两次所输入的密码必须一致,否则将提醒“密码不一致,请重新输入!
”,并继续输入。
(4)、完成修改密码后,界面输出“修改成功!
”。
(5)、用户可在“修改密码”界面中点击“返回”,返回主界面。
3、业务规则
(1)、用户必须在输入原始密码后,方可进入修改密码的界面。
(2)、两次所输入的新密码必须一致,方可更改密码。
(3)、此功能仅供持卡用户使用。
4、业务流程
(1)、此功能必须是已开户的银行卡。
5、输入
(1)、原始密码。
(2)、两次相同的新密码。
(3)、修改密码触发器事件
6、输出
(1)、成功修改后,输出“修改成功!
”。
(2)、若两次输入新密码不一致,输出“密码不一致,请重新输入!
”。
催款提醒
1、功能描述
ATM机会通过此功能提醒已经超额使用的用户,提醒用户把超额的金额补还。
2、界面描述
(1)、用户输入账号密码,登陆系统操作界面。
(2)、用户进入系统界面后,系统将用户的超额信息自动展示在列表当中。
(3)、用户可以在此界面点击“还款”操作。
(4)、用户可以在此界面点击“继续”,进行下一步操作。
3、业务规则
(1)、系统应能将所有处于“超额”状态的银行卡记录,展示在催款提醒界面列表当中。
(2)、此功能仅供银行内部人员使用。
4、业务流程
(1)、系统必须先将银行卡做超额操作,才能在登陆系统后弹出此界面。
(2)、系统如没将银行卡做超额操作,则此界面不应显示。
5、输入
输入账号密码触发“超额”事件。
6、输出
在列表页面展示处于“超额”状态的银行卡信息。
其中包括的信息有:
账户姓名(如:
“黄*”)、账户卡号、超额金额、还款截止日期。
查询消费最高卡号
1、功能描述
此功能用来查询在一周以内消费金额最高的卡号的相关信息。
2、界面描述
(1)系统用户输入工号,登陆系统操作主界面。
(2)用户在主界面中点击“消费查询”,进入消费记录查询。
(3)用户在消费查询界面中,可查询一周内所有有消费记录的银行卡信息,并按降序排列,展示在列表中。
(4)用户在消费记录列表中点击任意银行卡记录,可显示相应的银行卡的详细信息。
(5)用户可在消费查询界面中可点击“返回”,返回到主界面。
3、业务规则
(1)系统将一周以内有过消费记录的银行卡信息输出到屏幕。
(2)此功能仅供银行工作人员。
4、业务流程
系统所显示的必须在一周内有过消费记录的银行卡。
5、输入
工号、消费记录查询触发器事件。
6、输出
消费记录列表。
三、数据库环境说明
数据库实例
数据库系统
数据库部署环境
数据库设计工具
数据库存放位置
说明
实例名,文件名
如atmdb
名称:
如MySql,版本:
4.0
软硬件、网络环境,如Windowsxp
例如:
pb,visio,rose如
Power_designer
存放位置,绝对路径/相对路径
C:
\amtdb\
实例用途说明
如:
用于amt系统
四、数据库的命名规则
4.1数据库对象命名规则
数据库对象
命名规则
备注
表
Tbl_功能描述字符串
例如:
tbl_userInfo用户表
视图
View_功能描述字符串
例如:
view_userInfo用户视图
存储过程
Proc_功能描述字符串
例如:
proc_draw取款存储过程
4.2数据项编码规则
数据项
含义
类型
长度
小数位数
customerID
顾客编号
varchar
10
customerName
开户名
varchar
10
PID
身份证号
varchar
18
telephone
联系电话
varchar
12
address
居住地址
varchar
20
cardID
卡号
varchar
19
transMoney
交易金额
money
10
savingType
存款类型
varchar
10
openDate
开户日期
datetime
openMoney
开户金额
money
balance
余额
money
pass
密码
varchar
6
overdraftDays
欠款天数
char
2
transDate
交易日期
datetime
transType
交易类型
varchar
10
五、逻辑设计
5.1数据库实体模型E-R图
5.2PowerDesinger设计概念模型
5.3CDM
无
5.4数据库相关实体的关系模型
用户信息(开户名,顾客编号,PID,用户密码,联系电话,居住地址)
交易信息(交易日期,交易金额,交易类型,交易编号,卡号,备注)
银行卡信息(账号密码,卡号,货币类型,卡状态,密保问题,密保答案,余额,顾客编号,开户金额,开户日期)
六、物理设计
6.1表汇总
表名
功能说明
用户信息表
存储银行卡用户的信息
交易信息表
存储银行卡的交易信息
银行卡信息表
存储银行卡信息
6.2表结构
6.3用户信息表:
表名
用户信息表
数据库用户
主键
customerID
其他排序字段
索引字段
customerID
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
01
customerName
Char(10)
N
Y
高
无
02
customerID
Int
N
Y
高
无
主键
03
PID
Varchar(18)
N
Y
高
无
04
telephone
Varchar(14)
N
N
低
无
05
address
Varchar(40)
N
N
低
无
06
userPass
Int
N
Y
低
无
sql脚本
createtableuserInfo(
customerNamechar(10)notnull,
customerIDintnotnull,
PIDVarchar(18)uniquecheck(len(PID)=15orlen(PID)=18)notnull,
telephonevarchar(14)check(
telephonelike('[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
ortelephonelike('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
ortelephonelike('[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)notnull,
addressvarchar(40)notnull,
userPassintnotnull,
CONSTRAINTPK_userInfoPRIMARYKEYCLUSTERED(customerID)
);
备注
存储用户信息
交易信息表:
表名
交易信息表
数据库用户
主键
transID
其他排序字段
索引字段
transID
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
01
transDate
Date
N
Y
低
无
02
transMoney
money
N
Y
低
无
03
transType
Char(10)
N
Y
低
无
04
transID
Int
N
Y
高
无
主键
05
remark
Char(10)
Y
N
低
无
06
cardID
varchar(25)
N
Y
高
无
外键
sql脚本
createtabletransInfo(
transDateDatedefault(getdate())notnull,
transMoneymoneycheck(transMoney>0)notnull,
transTypechar(10)check(transTypelike'存入'ortransTypelike'支取')notnull,
transIDintnotnull,
remarkchar(10)null,
cardIDvarchar(25)notnull,
CONSTRAINTFK_cardIDFOREIGNKEY(cardID)REFERENCEScardInfo(cardID),
CONSTRAINTPK_transInfoPRIMARYKEYCLUSTERED(transID)
);
备注
存储银行卡交易信息
银行卡信息表:
表名
银行卡信息表
数据库用户
主键
cardID
其他排序字段
索引字段
cardID
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
01
cardID
varchar(25)
N
Y
高
无
主键
02
cardPass
Int
N
Y
高
无
03
curType
Char(10)
N
N
低
无
04
cardcondtion
Char(8)
N
N
低
无
05
openDate
Date
N
N
低
无
06
CustomerID
Int
N
Y
高
无
外键
07
openMoney
货币型
N
N
低
无
08
balance
整数型
N
N
低
无
09
problem
字符型
N
N
低
无
10
answer
字符型
N
N
低
无
sql脚本
create
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 曾祥炫 ATM 自动 取款 系统