ATM模拟机-实战开发-前期准备

news2024/11/16 17:51:35

需求分析

项目名称:ATM模拟存取钱系统

目录

需求分析

项目名称:ATM模拟存取钱系统

项目目标功能分析:

用户功能:

提供功能

基本功能

管理员功能:

提供功能

基本功能

详细分析

用户功能

管理员功能

用户角色:

系统架构设计:

数据库结构设计:

界面设计:

开发阶段----->


项目目标功能分析:

用户功能:

提供功能

  • 转账
  • 取款
  • 存款
  • 交易明细

基本功能

  • 登录
  • 注销
  • 余额查询
  • 个人信息
  • 修改密码

管理员功能:

提供功能

  • 开卡

基本功能

  • 用户信息查询
  • 修改用户信息
  • 删除用户信息

详细分析

用户功能

  1. 用户功能 - 转账:

    • 用户应能够输入转账金额和收款人账号。
    • 系统应验证转账金额是否在账户余额范围内。
    • 系统应更新账户余额,将转账金额从用户账户扣除,并将相应金额存入收款人账户。
    • 系统应记录转账交易的详细信息,如时间、金额、转出账号和收款账号等。
  2. 用户功能 - 取款:

    • 用户应能够选择取款金额,如100元、200元等。
    • 系统应验证取款金额是否在账户余额范围内。
    • 系统应更新账户余额,将取款金额从用户账户中扣除。
    • 系统应记录取款交易的详细信息,包括时间、金额和取款方式等。
  3. 用户功能 - 存款:

    • 用户应能够输入存款金额。
    • 系统应更新账户余额,将存款金额加入用户账户。
    • 系统应记录存款交易的详细信息,包括时间、金额和存款方式等。
  4. 用户功能 - 交易明细:

    • 用户应能够查看最近的交易记录。
    • 系统应显示交易记录的详细信息,如时间、金额、交易类型等。
  5. 用户功能 - 登录:

    • 用户应能够输入用户名和密码进行登录验证。
    • 系统应验证用户名和密码的正确性,并授权用户访问系统功能。
  6. 用户功能 - 注销:

    • 用户应能够从系统中注销,以确保安全退出。
  7. 用户功能 - 余额查询:

    • 用户应能够查看账户的当前余额信息。
  8. 用户功能 - 个人信息:

    • 用户应能够查看和编辑个人信息,如姓名、地址、联系方式等。
    • 系统应保存和更新用户的个人信息。
  9. 用户功能 - 修改密码:

    • 用户应能够更改登录密码。
    • 系统应验证用户的身份,并允许用户设置新密码。

管理员功能

  1. 管理员功能 - 开卡:

    • 管理员应能够为新用户创建账户。
    • 系统应生成唯一的账户号码和初始密码,并将其分配给新用户。
  2. 管理员功能 - 用户信息查询:

    • 管理员应能够根据账户号码或用户姓名查询用户信息。
    • 系统应显示用户的详细信息,包括姓名、地址、联系方式等。
  3. 管理员功能 - 修改用户信息:

    • 管理员应能够修改用户的个人信息,如姓名、地址、联系方式等。
    • 系统应保存和更新修改后的用户信息。
  4. 管理员功能 - 删除用户信息:

    • 管理员应能够从系统中删除用户的账户信息。
    • 系统应验证管理员的权限,并删除指定用户的账户信息和相关数据。

用户角色:

  • 账户持有人:需要执行存款和取款操作,查询余额和进行登录。
  • 管理员:可以管理账户,如添加和删除账户,重置密码等。


设计阶段:

系统架构设计:

  1. 客户端层:该层包括用户界面和用户输入。用户可以通过网页或移动应用程序与系统进行交互,输入转账金额、收款人账号等信息。

  2. 应用服务器层:该层负责处理客户端的请求和业务逻辑。它接收来自客户端的转账请求,验证转账金额是否在账户余额范围内,并更新账户余额。同时,它还记录转账交易的详细信息,如时间、金额、转出账号和收款账号等。

  3. 数据存储层:该层负责存储和管理用户信息、账户余额以及转账交易记录等数据。它可以使用关系型数据库(MySQL)来存储用户信息和账户余额,以及记录转账交易的日志。

  4. 安全层:该层负责确保系统的安全性。它可以包括身份验证和授权模块,用于验证用户的身份,并对用户进行授权以访问系统功能。此外,还可以包括数据加密、防火墙和安全审计等措施,以保护用户数据的机密性和完整性。


数据库结构设计:

管理员表(Manage):

  • 字段:ID (主键), Name, Password
  • 说明:用于存储管理员的信息,包括管理员ID、姓名和密码。

账户金额记录表(Runmessage):

  • 字段:ID (主键), ICno,Rm_data,Rm_Currrncy,RM_Balance,RM_rest
  • 说明:用于存储每个账户的金额记录,包括记录ID、账户ID,变动时间,变动金额和账户余额。

用户表(User Table):

  • 字段:ICno(主键), Name, pwd, mobile,IDcard,balance
  • 说明:用于存储用户的个人信息,包括用户ID、姓名、密码,身份证号码,卡号,金额。


界面设计:

  1. 首页:

    • 包含银行的Logo和欢迎语。
    • 提供登录和注册按钮。
  2. 登录页面:

    • 输入框用于输入用户名和密码。
    • 登录按钮用于提交登录信息。
    • 提供忘记密码链接和注册账号链接。
  3. 注册页面:

    • 输入框用于输入用户名、密码和确认密码。
    • 注册按钮用于提交注册信息。
    • 提供返回登录链接。
  4. 转账页面:

    • 输入框用于输入转账金额和收款人账号。
    • 余额显示,显示当前用户账户的余额。
    • 转账按钮用于提交转账请求。
    • 提供返回首页链接。
  5. 交易记录页面:

    • 显示最近的交易记录列表,包括时间、金额、交易类型和收款账号。
    • 提供搜索功能,允许用户根据时间范围或交易类型筛选记录。
    • 提供返回首页链接。
  6. 用户信息页面:

    • 显示用户的个人信息,包括姓名、地址和联系方式。
    • 允许用户编辑个人信息,并提供保存按钮。
    • 提供返回首页链接。

开发阶段----->

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ModaHub大禹智库:ModelScope魔搭社区的“下载数据严重造假“的说法可能存在一定的合理性

目录 首先,我们需要了解ModelScope魔搭社区的运营模式和数据收集方式。 其次,我们需要考虑ModelScope魔搭社区的用户群体和应用场景。 此外,我们还需要考虑ModelScope魔搭社区的发展时间和市场竞争情况。 综上所述,ModelScope…

PHP反序列化漏洞之Phar

目录 1、认识phar类型文件 2、制作phar文件 3、phar的上传与读取 4、漏洞利用的条件 1、认识phar类型文件 这种文件可以通过phar协议来读取(使用phar://后面接文件路径即可读取) 先给大家看一下phar文件的大致样子: 它一般包括头部信息&…

Windows10下使用wsl2+ubuntu1804

一定好好看官方文档 适用于 Linux 的 Windows 子系统文档 | Microsoft Learn 一、安装WSL 1.1、方式一: 现在,可以使用单个命令安装运行 WSL 所需的一切内容。 在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择…

OpenAI Gym入门与实操(3)

接前一篇文章:OpenAI Gym入门与实操(2) 本文内容参考: Getting Started With OpenAI Gym | Paperspace Blog, 【强化学习】 OpenAI Gym入门:基础组件(Getting Started With OpenAI Gym: The B…

leetcode 989.数组形式的整数加法

⭐️ 题目描述 🌟 leetcode链接: 数组形式的整数加法 ⭕️ 代码: /*思路:数组从后往前和k的低位相加,若大于等于10则进一.[1 , 2 , 0 , 0] 3 44 3 2 1 最后逆置数组即可。 */ int* addToArrayForm(…

【进程】快速上手进程操作

目录 0. 进程概述 1. 创建进程 1.1 进程的创建:fork函数 1.2 进程的等待:wait()、waitpid() 1.3 特殊进程:僵尸进程、孤儿进程、守护进程 1.4 进程的终止:exit和_exit函数 1.5 进程退出清理:atexit函数 1.6 进…

自动部署代码导致接口访问404

问题原因:.user.ini文件中open_basedir与线上服务器中不同导致 由于.user.ini文件特殊性质 需要修改其中文件需要root权限也无法完成 推荐文章(linux系统中文件有哪些隐藏属性_帮助中心_文汇软件_山东文汇信息【官方网站】) 即可解决

【elementplus】body设置zoom后,el-table开启show-overflow-tooltip后,表格的tooltip显示会错位的解决方案

由于我的项目是无法避免使用zoom,所以只记录zoom后的解决方案 示例:明明划过的是第一行,tooltip却显示到了第四行的位置; 正确显示:划过第一行,tooltip显示在第一行的位置 代码:使用transfor…

关于 Asyncio,别再使用run_until_complete了

熟悉Python 的 Asyncio 进行异步编程的小伙伴肯定对下面的写法不陌生: import asyncioasync def test():await asyncio.sleep(3)print("Test rersult")loop asyncio.get_event_loop() loop.run_until_complete(test())这种写法也是在网上搜到的最多的协…

VUE小白学习-官方网站资料学习-2023年5月22日

VUE小白学习-官方网站资料学习-2023年5月22日 VUE干啥的?单文件组件?官方说,VUE前端万金油。 日期:2023年5月22日 VUE干啥的? 是一个前端框架,有自己的一套规则,方便前端开发。 单文件组件&am…

企业微信扫码登陆-详细案例

以下是实现的pc端企微扫码登陆,话不多时,直接上代码。。。 第1步:企业微信自建应用 第二步:获取到之后拿到 整体流程: 1.企业发起授权登录请求,企业微信用户允许授权后,企业微信会重定向到企业…

Windows基于WSL搭建Python数据分析环境

最近配置了一台较为不错的台式机,记录下自己配置环境的过程。 安装WSL,提供Linux环境 如果你发现后续的命令无法运行或者说软件商城中找不到,这可能意味着你的操作系统不符合要求。WSL安装要求 Windows 10 version 2004(Build 19…

C++之H数回信

void H数(int 数) {int Lin 数;while (Lin>1){if (!(Lin % 2) || !(Lin % 3) || !(Lin % 5) || !(Lin % 7)){if (!(Lin % 2))Lin / 2;else if (!(Lin % 3))Lin / 3;else if (!(Lin % 5))Lin / 5;else if (!(Lin % 7))Lin / 7;}else return;}cout << 数 << ends…

Proxmox 8.0 “Virtual Environment”发布

导读Proxmox发布新产品Proxmox VE8.0&#xff0c;基于Debian 12.该版本集成了新的Linux内核6.2、QEMU 8.0.2、LXC 5.0.2和OpenZFS 2.1.12&#xff0c;并且还有其他一些新功能和改进。 更新的部分包括更新的Ceph服务器、安装程序ISO增加基于文本的用户界面、整合主机网络桥和VN…

STM32 Proteus UCOSII系统DS1302万年历时钟秒表控制系统-0056

STM32 Proteus UCOSII系统DS1302万年历时钟秒表控制系统-0056 Proteus仿真小实验&#xff1a; STM32 Proteus UCOSII系统DS1302万年历时钟秒表控制系统-0056 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 LCD1602显示器多个按键DS1302北京时间 1.单片机程序使…

java 分布式事务seata的使用

首先创建一个seata的springboot模块并引入seata的起步依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId> </dependency>模块的目录结构如下 seata.yaml中的内容为&…

vscode高亮插件——highlight-words(高亮代码、高亮变量、突出显示)

文章目录 官方教程高亮文字使用方法配置 演示变量高亮&#xff08;Highlight Toggle Current&#xff09;选择高亮&#xff08;Highlight Selection with Options&#xff09;删除高亮&#xff08;Highlight Remove&#xff09;侧边栏&#xff08;Highlight Toggle Sidebar&…

软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

目录 前言 一 概述 1.1目的 1.2使用范围 二 测试用例编写原则 2.1系统性 2.2连贯性 2.3全面性 三 测试用例设计方法 3.1 等价类划分法&#xff1a; 3.2 边界值分析法&#xff1a; 3.3 因果图法&#xff1a; 3.4功能图法 3.5错误推测法 四 测试用例编写规范 4.1…

【ARM】-指令预取中止异常中断处理程序的返回

文章目录 处理流程示例 处理流程 在指令预取时&#xff0c;如果目标地址是非法的&#xff0c;该指令被标记成有问题的指令。这时&#xff0c;流水线上该指令之前的指令继续执行。当执行到该被标记成有问题的指令时&#xff0c;处理器产生指令预取中止异常中断。 当发生指令预取…

解决进入虚拟环境venv后pip路径仍然是在全局路径usr/bin下的问题

问题 解决方法 尝试手动安装pip到你的虚拟环境中。首先&#xff0c;确保在虚拟环境中运行以下命令&#xff1a; python -m ensurepip然后&#xff0c;使用以下命令安装pip到你的虚拟环境中&#xff1a; python -m pip install --upgrade pip