中国邮政储蓄银行atm存取款系统
中间件技术原理与应用
之
项目名称:中国邮政储蓄银行ATM存取款系统
基于C#+SQLSERVER2008R2中国邮政储蓄银行ATM存取款系
统
与开发
专 业:软件工程
年 级: 2012级
学 号:201206084243
作 者: 徐浩然
完成时间:2015年12月26
目 录
1 引言 ............................................................................................................................. 1
2 开发平台 ........................................................................................ 错误~未定义书签。
2(1 开发工具简介 ........................................................................ 错误~未定义书签。
2(2 数据库管理系统(DMBS)简介 ............................................. 错误~未定义书签。
3系统需求
................................................................................................................ 1
3(1 用户需求分析 ...................................................................................................... 1
3(1(1 可操作性 ................................................................................................. 1
3(1(2 系统的安全性 .......................................................................................... 1
3(1(3 用户管理与权限分配................................................................................ 1 3(2 数据需求分析 ...................................................................................................... 1
3(2(1 原始数据需求 .......................................................................................... 1
3(2(2 数据处理需求 .......................................................................................... 1 3(3 功能需求分析 ...................................................................................................... 2
3(3(1 数据的录入.............................................................................................. 2
3(3(2 数据的维护.............................................................................................. 2
3(3(3 数据的查询.............................................................................................. 2
3(3(4 其它功能一.............................................................................................. 2
3(3(5其它功能二 .............................................................................................. 2
3(3(6其它功能三 .............................................................................................. 2
3(3(7 系统维护 ................................................................................................. 2
3(3(8 在线帮助 ................................................................................................. 2 3(4 系统安全与完整性需求 ........................................................................................ 2
3(4(1 系统的使用权限....................................................................................... 2
3(4(2 系统的操作权限的控制 ............................................................................ 2
3(4(3 数据库及其数据本身的安全 ..................................................................... 2
3(4(4 完整性规则.............................................................................................. 3 4 数据库设计与实现 ........................................................................................................ 3
4(2 数据库的逻辑设计 ............................................................................................... 3 4(3 数据库的物理设计与实现 ..................................................................................... 4
4(3(1 数据库的生成 .......................................................................................... 4
4(3(2 数据库表的生成....................................................................................... 4 4(4 完整性规则及其实现 ............................................................................................ 6
4(4(1 数据实体完整性设计与实现 ..................................................................... 6
4(4(2 数据参照完整性的设计与实现.................................................................. 6
4(4(3 用户自定义完整性的设计与实现 .............................................................. 6
5 系统设计与
............................................................................................................ 7
5(1 系统设计目标 ...................................................................................................... 7 5(2 系统体系结构 ...................................................................................................... 7 5(3 系统的功能模块 ................................................................................................... 7 5(4 代码重用策略 ...................................................................................................... 7 6 系统的实现所解决的关键问题及采用的
与技术 ......................... 错误~未定义书签。
6(1 数据库的连接技术(动态配置ODBC数据源) ...................... 错误~未定义书签。
1
6(2 试题冗余问题的解决 .............................................................. 错误~未定义书签。 6(3 系统的安全策略 ..................................................................... 错误~未定义书签。
6(3(1 使用安全与登录认证.................................................. 错误~未定义书签。
6(3(2 操作安全与用户权限的动态分配 ................................ 错误~未定义书签。
6(3(3 数据安全与数据备份与还原 ....................................... 错误~未定义书签。 6(4 用户密码的加密处理 .............................................................. 错误~未定义书签。
(5 选择题试题内容录入方式分析与录入的实现 ........................... 错误~未定义书签。 6
6(6程序填空题试题内容录入方式分析与录入的实现..................... 错误~未定义书签。 6(7试题查询功能的设计与实现 .................................................... 错误~未定义书签。 6(8试卷生成中的关键问题及采用的相关技术(以下只是格式样例,仅供参考)错误~未定义书签。
6(8(1 试卷格式设计与实现.................................................. 错误~未定义书签。
6(8(2 题型的选择和题量的确定与分值分配 ......................... 错误~未定义书签。
6(8(3 所选题型的题量与分值按章节知识点的再分配 ........... 错误~未定义书签。
6(8(4试题内容按知识点的分配题量的动态抽取 ................... 错误~未定义书签。
6(8(5抽取试题的组卷与排版 ............................................... 错误~未定义书签。
6(8(6试卷参考答案的自动生成 ........................................... 错误~未定义书签。
6(8(7试卷与参考答案的打印与格式控制 ............................. 错误~未定义书签。 6(9 数据的后备与加密 ................................................................. 错误~未定义书签。 6(10 在线帮助的设计与实现......................................................... 错误~未定义书签。 7 系统的测试、发布与安装 ............................................................... 错误~未定义书签。 7(1 系统的测试 ............................................................................ 错误~未定义书签。 7(2 系统的发布 ............................................................................ 错误~未定义书签。 7(3 系统的安装 ............................................................................ 错误~未定义书签。 8 系统试运行结果与评价 ................................................................... 错误~未定义书签。 9 结束语............................................................................................ 错误~未定义书签。 致谢................................................................................................... 错误~未定义书签。 参考文献............................................................................................ 错误~未定义书签。
2
1 可行性分析
开发背景:
在市场经济的蓬勃发展和人们日益繁忙的条件下,现有的中国邮政储蓄银行系统往往需要客户在办理手续时等待很长的时间,这不仅会浪费很多宝贵的时间,也会使得银行的业务人员十分的繁忙,需要很大的人力和财力。
开发目的和意义:
基于以上这样的情况,ATM 取款系统的开发就显的十分的重要~它可以减少银行的业务处理压力,尽量节省人们的时间,并且可以有效解决用户信息和资金信息的繁杂问题。该系统分为用户、管理员两种权限,用户可以通过ATM机对自己账户进行存款、取款、行内转账、查询明细、查询余额、修改密码。管理员可以通过此系统进行为用户开户、查询账户信息、删除用户信息、修改用户信息等操作。
2需求分析
2(1 用户需求分析
2(1(1 可操作性
本系统通过VS2010开发平台,使用C#开发语言,采用C/S模式开发,从方法和技术上分析都是可行的。
2(1(2 系统的安全性
本系统在操作上采用密码验证方式,使用上使用GUI直观明了的显示在用户面前,数据库也通过密码验证访问,以及数据的及时备份操作,使数据得以安全有效的存储。 2(1(3 用户管理与权限分配
用户所具有的权限为普通用户,只能访问系统的普通用户操作界面。管理员所具有的权限不仅包括了普通用户的权限,并且可以管理普通用户信息的权限。
3(2 数据需求分析
3(2(1 原始数据需求
本系统包括5张数据表,分别是用户信息表(User_table)、银行卡信息表(Card_table)、管理员信息表(Admin_table)、交易记录表(Trade_table)、冻结表(Freeze_table)。 3(2(2 数据处理需求
系统的存款功能,需要对Card_table表进行插入数据。
系统的取款功能,需要对Card_table表进行修改数据。
系统的修改密码功能,需要对Card_table表进行修改数据。
系统的冻结和解冻功能,需要对Freeze_table表进行操作。
系统的查询余额和查询交易记录功能,需要对Card_table、Trade_table表进行修改数据。
1
登陆/存款/取款/修改密码/转账/查返回操作结果询余额/查询交易明细
用户中国邮政储蓄银行ATM存取款系统管理员
返回操作结果登陆/开户/冻结账户/解冻账户/更改用户信息
系统顶层数据流图
3(3 功能需求分析
3(3(1 数据的录入
本系统包括5张数据表,分别是用户信息表(User_table)、银行卡信息表(Card_table)、管理员信息表(Admin_table)、交易记录表(Trade_table)、冻结表(Freeze_table)。可以对数据进行录入。
3(3(2 数据的维护
可以通过对每张表进行添加、删除、修改操作对数据进行维护。 3(3(3 数据的查询
用户可以通过系统对银行卡内的余额进行查询,也可以查询最近一个月内的银行卡的交易记录。
3(3(4 其它功能一
用户可以通过系统对银行卡进行存款、取款。
3(3(5其它功能二
用户可以通过系统对银行卡进行行内转账。
(3(6其它功能三 3
用户可以通过系统对银行卡进行修改密码。
3(3(7 系统维护
管理员可以通过系统对用户信息以及数据库进行维护。
3(3(8 在线帮助
3(4 系统安全与完整性需求
3(4(1 系统的使用权限
本系统需要通过登录认证成功才能使用。
3(4(2 系统的操作权限的控制
通过用户权限的动态分配
3(4(3 数据库及其数据本身的安全
数据库加密实现
2
3(4(4 完整性规则
1)实体完整性:关系表中的主键不能为空。
2)参照完整性:关系中关键的值只能是空值或外键对应关系表的主键值。
3)自定义完整性:用户根据具体环境来决定应满足的约束条件。 4 数据库设计与实现
4(1 数据库的概念设计
姓名卡种工号姓名家庭住性别址密码权限
联系电身份证余额卡号号话
1nn1用户银行卡管理员操作3操作4
11卡号卡号操作2是否被操作1冻结
交易日n期冻结开n始日期交易记冻结表交易金录表额
冻结结束日期余额
备注备注
ER图
4(2 数据库的逻辑设计
ER图到关系模式
用户信息表(User_table):(CitizenId, Name,Sex, Address,Phone)
银行卡信息表(Card_table):(CardId,Type,Balance,CitizenId, Pass,Power)
管理员信息表(Admin_table):(JobId,Name)
交易记录表(Trade_table):(CardId,Date,Remark,TransMoney,Balance)
冻结表(Freeze_table):(CardId,IsFreeze,FreezeStartDate,FreezeEndDate,Remark)
3
4(3 数据库的物理设计与实现
4(3(1 数据库的生成
创建数据库及添加所有者
4(3(2 数据库表的生成
创建User_table表
4
创建Card_table表
创建Admin_table表
5
创建Trade_table表
创建Freeze_table表
4(4 完整性规则及其实现
4(4(1 数据实体完整性设计与实现
User_table表中,把CitezenId属性作为该表的主键。
Card_table表中,把CardId属性作为该表的主键。
Admin_table表中,把JobId属性作为该表的主键。
4(4(2 数据参照完整性的设计与实现
在Card_table表中,把User_table表中的主键CitizenId作为该表的外键。 4(4(3 用户自定义完整性的设计与实现
在Trade_table表中,由于同一张卡在不同的时间交易的信息不同,所以在确定主键时,选择了CardId和Date作为主键。
6
在Freeze_table表中,由于一张卡是否被冻结,决定着是否记录冻结时间,所以在确定主键时,选择了CardId和IsFreeze作为主键。
5 系统设计与规划
5(1 系统设计目标
本系统设计阶段的主要目标是将系统分析阶段所提出的反映了用户信息需求的系统逻辑
转换成可以实施的基于计算机与通信系统的物理(技术)方案。 5(2 系统体系结构
本系统采用三层C/S体系结构,分为表示层、业务逻辑层、数据访问层。 表示层:是应用的用户接口部分担负与应用逻辑间的对话功能。它用于用户从工作站输入的数据,并显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户界面(GraphicUserInterface,GUI),在变更用户界面时,只需改写显示控制和数据检查程序,而不影响业务逻辑。
业务逻辑层:是应用的本体,它负责具体的业务处理逻辑,例如在取款的时候要判断所取金额与余额的大小。表示层和业务逻辑层之间的数据互交要尽可能简洁。 数据访问层:通常是数据库管理系统,负责管理对数据库数据的读写。数据库系统必须能迅速执行大量数据的更新和检索。
5(3 系统的功能模块
中国邮政储蓄银行ATM存取款系统
登录系统
管理员用户
查询更改冻结解冻修改行内查询交易开户用户存款取款用户用户密码转账余额记录 信息
系统功能模块图
5(4 代码重用策略
在软件开发过程中,代码重用策略是经常使用的方法。将项目中频繁出现的一些功能相同的代码进行重用,可以使程序更加简练、清晰并易于维护。同时还能把这些实用的代码运用到其他相关项目中,这种重用的代码可以节约开发成本,并能减少重复编码的工作,提高软件编程的生产效率。本系统中,也使用了代码重用策略,例如,在对数据库的一系列操作中,通过封装一个帮助类来完成对所以功能模块访问数据库的操作,而无需为每一个功能
7
模块单独编写一个访问数据库的方法。
8