day04_ATM项目说明书

项目说明书

项目:ATM + 购物车

项目需求:

1.额度 15000或自定义
2.实现购物商城,买东西加入 购物车,调用信用卡接口结账
3.可以提现,手续费5%
4.支持多账户登录
5.支持账户间转账
6.记录每月日常消费流水
7.提供还款接口
8.ATM记录操作日志
9.提供管理接口,包括添加账户、用户额度,冻结账户等。。。
10.用户认证用装饰器

-开发软件的公司:帮甲方开发软件的

-客户:指的是某些服务行业的客户,需要找人开发某些软件(甲方)

-用户:甲方的软件已经开始上线,提供给我们(用户)使用

一个项目是如何从无到有

1.需求分析

需求文档:

额度 15000或自定义  ------------->1.注册功能 (15000默认的额度)
实现购物商城,买东西加入 购物车,调用信用卡接口结账 ------> 2.购物车功能 3.支付功能
可以提现,手续费5% ---->4.提现功能
支持多账户登录  ---->5.登录功能
支持账户间转账 ----->6.转账功能
记录每月日常消费流水 ----->7.记录消费流水(设置金额)
提供还款接口----->8.还款功能
ATM记录操作日志----->9.记录软件使用日志功能
提供管理接口,包括添加账户、用户额度,冻结账户等。。。----->10.管理员功能
用户认证用装饰器----->11.登录认证装饰器

提取出来的功能:

1.注册功能
2.购物车功能
3.支付功能
4.提现功能
5.登录功能
6.转账功能
7.'记录'消费流水
8.还款功能
9.记录日志功能
10.管理员功能
11.登录认证装饰器

提供给用户选择与操作的功能:

1.注册
2.登录
3.查看金额
4.提现
5.还款
6.转账
7.购物车功能
8.查看流水
9.查看购物车

2.软件的架构设计

三层架构:

用户视图层(第一层):提供给用户选择的功能界面

职责:用于与用户进行交互,接受用户输入的数据,交给接口层进行处理,接口层最终会将一个结果给用户视图层,展示给用户看的

逻辑接口层(第二层):所有核心逻辑都放在接口中,提供给用户视图层来使用(调用)的

登录接口:
     接收用户视图层传递过来的参数,根据逻辑判断调用数据层加以处理,并返回一个结果给用户视图层。
    1.查看用户名,是否存在,若存在,则继续校验密码,若不存在,则返回结果给用户视图层,让用户重新输入
    2.若用户存在,做密码的校验,若密码正确返回登录给用户视图层
职责:相当于用户视图层与数据处理层的桥梁。专门负责接收用户视图层传过来的数据,并进行'核心的逻辑'校验过程中,回去访问'数据层'进行数据的增删改查,通过或不通过后会返回一个结果给用户视图层进行展示

数据处理层:(第三层):接受接口层传过来的参数,返回相应的数据给接口层,或者保存数据,做数据的处理

    增加数据
    删除数据
    更新数据
    查看数据
根据用户名查询数据,若有则返回用户数据给接口层,若没有则默认返回None

3.分任务开发

多个人同步去开发项目,高效开发项目
- 不同的岗位:
    - UI界面设计:
        - 设计软件的布局,会分局软件的外观切成一张张图片。
    
    - 前端:
        - 拿到UI交给他的图片,然后去搭建网页面。
        - 设计一些页面中,哪些位置需要接收数据,需要进行数据交互。
    
    - 后端:
        - 直接核心的业务逻辑,调度数据库进行数据的增删查改。
    
    - 测试:
        - 会给代码进行全面测试,比如压力测试,界面测试(CF卡箱子)。
    
    - 运维:
        - 部署项目。

4.测试

    4.1手动测试
    4.2自动化测试

5.上线运行

统计代码

file  ==>  settings  ==>  Plugins  ==>  Statistic  ==>  Installer
单击左下角:Statistic  ==>  单击:py
    Total Lines:总代码行数
    Sources Code Lines:纯代码行数
    Sources Code Lines[%]:纯代码行数百分比
    Comment Lines:注释行数
    Comment Lines[%]:注释行数百分比
    Blank Lines:空白行数
    Blank Lines[%]:空白行数百分比


三层架构图

原文地址:https://www.cnblogs.com/2722127842qq-123/p/13385582.html