首页 > 其他分享 >ATM项目实战

ATM项目实战

时间:2022-10-31 21:44:51浏览次数:93  
标签:实战 src 功能 判断 项目 ATM 购物车 调用 interface

ATM逻辑描述
三层框架简介
这里我们使用三层框架的结构编写代码

1、第一层(src.py)
功能展示和数据获取层,顾名思义打印数据或是获取用户输入

2、第二层(interface文件夹下内容)
一类功能可以归类到一个py文件中,提供接口文件供第一层调用,使用中会调用到第三层
部分通用小功能放到了common中,数据库相关代码放到了db_hanlder

3、第三层(db_hanlder)
存放一些对数据库进行操作的功能,供第二层调用

启动函数
放在src中

1、整理出一个功能字典,启动代码的时候通过功能字典中的标号来选择执行的功能

2、判断一下用户输入是否在范围内(字典内的标号),如果在的话就调用对应函数

用户注册功能
src层获取输入,并且打印输出结果,主体的判断功能放到interface中的user_interface中,src中调用获取结果。

功能:

判断用户输入的数据是否符合格式

判断两次密码是否一致

判断用户名是否已被注册

如果没有上面的情况就写入数据到数据库保存起来(密码要加密)

用户登录
src层获取输入,并且打印输出结果,主体的判断功能放到interface中的user_interface中,src中调用获取结果。

功能:

判断用户输入的数据是否符合格式

判断数据库中是否有这个用户(是否已经注册)

判断密码是否正确

如果上面条件都符合就在src中定义一个变量记录登陆的用户名称,方便后面的功能调用

common中的小功能
检测是否登陆的装饰器
没有什么特点,就是套上装饰器模版后在内层函数写上判断是否登陆的语句,因为会频繁使用所以放到了common中

判断输入是否为空

判断数据值是否为纯数字

定义一个函数用于对密码进行哈希加密

定义一个函数进行日志记录

定义一个函数用于判断输入是否为整数或小数
配置和日志字典写在settings中

查看余额
src中调用interface文件夹中的文件,查看当前登陆用户的余额,src中接收返回值并打印结果

账户提现
src中获取用户输入(提现数量),interface文件中执行判断和操作,结果返回src中输入打印。

功能:

判断输入的数据是否符合格式

判断用户中的余额是否足够提现(加上手续费)

如果上面条件都符合了,就当成提现成功,修改数据库中的数据值

充值功能
src中获取充值的金额,其他功能也是放到interface中执行,结果返回src中输入打印。

功能:

先判断输入的值是否符合格式

接下来就是充值,把结果写到数据库文件中去

转账功能
src中获取转账对象和金额,其他功能也是放到interface中执行,结果返回src中输入打印。

功能:

先判断转账对象名称和金额的输入是否符合格式

接着判断转账对象是否存在(已经注册)

接着判断转账金额是否足够

如果上述条件都符合,那就直接转账返回结果并写入数据库中

查看账单
src因为只能放输入输出,而输入账单信息需要调用第三层的操作数据库的代码,因此整体功能放到第二次,第一层就留一个调用interface函数的操作。

功能:

调用第三层的代码获取账单信息,然后格式化输出结果

购物车功能
添加购物车
src中格式化输出商品信息,获取用户需要购买的商品编号和数量,接着调用接口层的功能函数来判断并返回结果输出。

功能:

先判断用户的输入是否符合格式

接着判断用户选择的编号是否在范围内

接着再判断数据库中的购物车中是否有内容,如果有就加到小字典中进来

最后实现连续添加的时候是先添加到小字典中

只有在提出的时候才会写入数据库中的

结算购物车
src文件中调用interface中的函数,然后输出结果

功能:

先根据用户名获取购物车中的信息,然后根据价格和数量统计总价进行结算,如果用户余额不足以支付,就提示,否则就扣款清空购物车保存到数据库中

查看购物车
src中还是调用interface中的函数,然后输出结果

功能:

根据用户名调用第三层函数获取购物车信息,然后格式化输出

清空购物车
src中还是调用interface中的函数,然后输出结果

功能:

根据用户名调用第三层函数获取购物车信息,然后情况内容再写入数据库中保存

修改购物车
因为要获取购物车中的信息,涉及到了第三层的函数所以所有功能都扔到第二层(输出输入的时候反正都是一个窗口看不出来)

功能:

先获取数据库中的购物车信息,然后格式化输出

接着获取用户输入(需要修改的商品信息和修改后的数量)

判断输入格式是否正确

接着把修改后的数量写到、数据库文件中,如果数量为0 可以直接删除键值对

管理员功能
在用户的数据库文件中设置一个is_lock键值对,值是布尔值,如果为True则不能进行金钱相关操作

还可以设置提现时候手续费的利率

可以修改商品价格和信息

可以移除用户

可以查看所有用户的信息

标签:实战,src,功能,判断,项目,ATM,购物车,调用,interface
From: https://www.cnblogs.com/kangssssh/p/16845937.html

相关文章

  • 学习笔记——美多商城——1 美多商城项目准备
    2022-10-23步骤:一、创建工程仓库(1)在“码云”上创建一个仓库,在本地盘符中创建一个文件夹,右击,使用git,将远程仓库的内容克隆到本地仓库中,点击“GitBashHere”。将刚刚创......
  • ATM购物车(思路流程)
    ATM购物车(思路流程)启动文件binstart.py整个项目的启动文件在这里启动,去调展示层展示层coresrc.py获取用户信息把结果展示给用户逻辑判断interfanca......
  • ATM编写思路
    ATM编写思路src文件主体文件写入需要的功能函数 各种功能的函数写一个主体框架的函数 设置一个调用各种功能函数的字典打印操作获取用户选择的功能编号每一个函数......
  • ATM+购物车
    ATM+购物车项目分析1.项目功能需求1.注册功能2.登录功能3.查看余额4.提现功能5.充值功能6.转账功能7.查看流水8.添加购物车......
  • ATM+购物车开发流程
    ATM项目开发流程1.项目需求分析ATM一系列小功能:注册,登录,提现,转账,充值,查看流水,购物车,管理员2.ATM架构设计第一层与用户直接打交道不参与核心逻辑的编写(数据展示与......
  • ATM+购物车项目实战练习
    ATM+购物车项目实战练习项目开发流程在实际的项目开发中,我们通常要经历项目需求分析,架构设计,分组开发,提交测试,交付上线等环节,而作为程序员的我们就可能要经历前三个环节......
  • vue项目创建
    Vue项目vue项目创建创建vue项目在确认的路径下输入命令vuecreatemyfirstvueide的选择vscode,webstorm:jetbrains公司的,跟pycharm一家的,使用习惯一样选择使用......
  • ATM购物车项目概要
    目录ATM购物车项目概要项目开发流程项目需求分析(具体功能)项目架构设计ATM购物车项目概要项目开发流程需求分析架构设计分组开发提交测试交付上线项目需求分析(......
  • vue之项目和其他操作
    一、vue项目目录介绍myfirstvue#项目名字node_modules#文件夹,内部有很多当前项目依赖的模块,可以删除,npminstallpublic......
  • 实战——二、c#窗体(2)
    初入坑,细节上问题不断。问题一:上一篇博文中写了控件透明的方法,对于label是实用的,即​​​this.label1.BackColor=System.Drawing.Color.Transparent;​​​但是对于bu......