曾祥炫ATM自动取款机系统.docx

上传人:b****8 文档编号:28606452 上传时间:2023-07-19 格式:DOCX 页数:31 大小:162.84KB
下载 相关 举报
曾祥炫ATM自动取款机系统.docx_第1页
第1页 / 共31页
曾祥炫ATM自动取款机系统.docx_第2页
第2页 / 共31页
曾祥炫ATM自动取款机系统.docx_第3页
第3页 / 共31页
曾祥炫ATM自动取款机系统.docx_第4页
第4页 / 共31页
曾祥炫ATM自动取款机系统.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

曾祥炫ATM自动取款机系统.docx

《曾祥炫ATM自动取款机系统.docx》由会员分享,可在线阅读,更多相关《曾祥炫ATM自动取款机系统.docx(31页珍藏版)》请在冰豆网上搜索。

曾祥炫ATM自动取款机系统.docx

曾祥炫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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1