银行ATM需求文档

一.E-R图形文

二.开发步骤

1.明确需求--数据库设计--编码实现功能--测试

2.绘制e-r图--绘制数据库模型图--使用三大方式规范数据库结构

三.开发思路

1. 模型图综述

模型图描述了ATM机使用时的状态变化,包含登录、查询、存款、取款、转账、改密、业务选择界面状态,登录可以转向业务选择界面,其它状态则可以和业务选择界面相互转移。

2.系统功能

1) 开户(到银行填写开户申请单,卡号自动生成)

2) 取款

3) 存款

4) 挂失

5) 修改密码

6) 催款提醒

7) 统计查询银行业务信息

8) 转账

3.模型图的状态描述

(1)登录:用户登陆ATM系统,入口动作为插卡,密码错误时,重新输入密码。

(2)业务选择界面:用户登陆ATM系统后系统显示的主界面,以供用户进行择业务操作,入口动作为选择业务操作。

(3)存款:入口动作为选择存款业务,中间动作为放入现金,出口动作为发送存款结果。

(4)取款:入口动作为选择取款义务,中间动作为取出现金,出口动作为发送取款结果。

(5)转账:入口动作为选择转账业务,中间动作为输入目标账户、输入转账金额和账户,出口动作为发送转账结果。

(6)改密:入口动作为选择改密业务,中间动作为输入两次新密码,出口动作为发送改密结果,两个新密码不同或新旧密码相同则重新输入

(7)查询:入口动作为选择查询业务,出口动作为发送账户信息。

4. 模型图的状态转移描述

(1)登录到业务选择界面,条件是输入的密码正确。

(2)业务选择界面到取款、存款、转账、改密、查询,条件是选择了对应的业务。

(3)存款、取款、转账、改密、查询到业务选择界面,条件是对应业务结束。

5.数据库设计

1) 创建用户

用户信息表;银行卡信息表;交易信息表;存款类型表;

2) 添加约束

l 用户信息表约束

顾客编号为主键;开户名必填;身份证号必填,只能是18位或15位,身份证号唯一约束;

l 银行卡信息表约束

卡号必填,主键,银行的卡号规则和电话号一样一般前8位代表特殊含义;

货币必填,默认为人民币;

开户日期必填,默认为系统日期;

开户金额必填不低于一元;

余额必填,不低于一元否则将销户;

密码必填,6位数字,默认为6个8;

是否挂失必填,0或1,默认为零未挂失;

顾客编号必填表示该卡对应的顾客编号,一位顾客可以办理多张卡;

l 交易信息表约束

交易日期必填默认为系统当前日期;

卡号必填外键可重复索引;

交易金额必填,大于0;

交易日期必填默认为系统当前日期;

备注可选输入其他说明;

l 存款类型表

存款类型号,自动编号从1开始,主建;

存款类型名称,必填;

描述可空;

3) 插入测试数据

4) 模拟常规业务

5) 创建使用客户友好信息视图

使用事务完成存储或取款业务

MySQL银行ATM存取款机系统(需求分析)的更多相关文章

  1. mysql的ATM存取款机系统

    ##建库 CREATE DATABASE bankDB; ##客户信息表 CREATE TABLE userInfo ( customerID INT PRIMARY KEY AUTO_INCREME ...

  2. 数据库期末作业之银行ATM存取款机系统

    --一.建库.建表.建约束 --1.使用SQL创建表 --客户信息表userinfo --字段名称 说明 备注 --customerID 顾客编号 自动编号(标识列),从1开始,主键 --用序列seq ...

  3. 银行ATM存取款系统(C语言实现)

    这里使用的运行工具是DEV C++.老铁们一定要看仔细了.是DEV C++ 仅供借鉴:这个是大一时期写的.大四的时候整理了一下(本人C语言学的也不太好).肯定很多不足和存在漏洞的地方.仅供借鉴.仅供借 ...

  4. 语言模拟ATM自动取款机系统

    C语言实验报告       题目名称:C语言模拟ATM自动取款机系统 C语言模拟实现ATM自动取款机功能:输入密码,余额查询,取款,存款,转账,修改密码,退出功能: 代码实现的功能: 账号及密码输入: ...

  5. 实验01——java模拟银行ATM系统

    用java写的一个模拟银行系统,比较初级. ATM.java package cn.tedu.yinhang; import java.util.Scanner; /** * @author 赵瑞鑫 ...

  6. C#实现ATM自动取款机

    本篇用C#实现ATM自动取款机的一些功能.面临的第一个问题是:如何把与自动取款机相关的有形的.无形的方面抽象出来.大致如下: (1)关于用户帐号的类:Account(2)关于银行数据库的类:BankD ...

  7. 银行ATM机工作流程模拟编程

    [编程内容] 编程,模拟一个ATM(Automatic Teller Machine,自动取款机)的工作流程.依据帐户信息:姓名.帐号.密码.余额,完成ATM机功能:登录.显示余额.取款.修改密码. ...

  8. 银行ATM机工作流程模拟编程(代码)

    #include<stdio.h>#include<stdlib.h>#include <conio.h>#include <string.h> voi ...

  9. Factom(公证通)--基于区块链的存证系统

    Factom这个Solution在2014年的时候就已经推出了,现在已经2018年了,我才来写这一篇分析文章可能有些迟了,但是它是十分具有参考价值的.因为现阶段来开区块链虽然炒得火热--养猫.养狗.草 ...

随机推荐

  1. ISO及安全业务,机制

    ISO 应用层 为应用软件提供接口,使应用程序能够使用网络服务. 各种应用程序协议如HTTP(Web),Telnet(远程控制),FTP(文本传输) 表示层 数据的交换格式.数据加密解密.数据的压缩解 ...

  2. NC使用练习之通达OA-2017版本漏洞复现后续

    利用上一篇通达OA的漏洞环境,练习NC工具的使用. 步骤: 1.本机启动nc.exe监听端口: 确认端口是否成功监听成功: 2.用冰蝎将nc.exe上传至目标机: 3.用命令行在目标机启动nc.exe ...

  3. java中Future的使用

    文章目录 创建Future 从Future获取结果 取消Future 多线程环境中运行 java中Future的使用 Future是java 1.5引入的一个interface,可以方便的用于异步结果 ...

  4. java 之 jsp详解

    jsp所需环境 eclipse JSP/Servlet 环境 jsp处理 以下步骤表明了 Web 服务器是如何使用JSP来创建网页的: 就像其他普通的网页一样,您的浏览器发送一个 HTTP 请求给服务 ...

  5. 【集群实战】NFS网络文件共享服务2-mount挂载(参数,优化)

    1. NFS客户端挂载深入 1.1 NFS客户端挂载参数说明 在NFS服务端,可以通过cat /var/lib/nfs/etab查看NFS服务器端配置参数的细节. 在NFS客户端,可以通过cat /p ...

  6. 【DNS域名解析命令】 nslookup

    1. nslookup作用 nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题 nslookup - query Internet name servers in ...

  7. 27.rm命令

    rm命令可以删除指定的文件或目录.也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 选项:-f:强制删除. -r:递归处理,将指定目录下的 ...

  8. Rust 1.31正式发布,首次引入Rust 2018新功能

    Rust 1.31是第一个实现了Rust 2018独有新功能并且不保证与现有代码库兼容的版本.Rust 2018相关工作正在进行中,而Rust 1.31只是整个三年开发周期的开始,这个开发周期将对这门 ...

  9. vlookup匹配不出,明明文本内容是一样的,求解答。

    看起来很简单,肉眼看都知道就是匹配他,但是就是匹配不出.用trim去掉了空格,用分列去掉空格.tab这些看不见的.也改了单元格是数字型,而且粘贴是用数值型粘贴,全都匹配不出用if函数验证两个匹配对象是 ...

  10. C++课程设计详解-12306的模拟实现

    目录 设计思路... 3 思路分析:.... 3 数据组织:.... 4 具体功能实现过程... 4 管理端具体功能实现:.... 4 用户端具体功能实现:.... 5 调试截图和调试过程中遇到的问题 ...