day18-ATM+购物车项目的实现(1)

如何从无到有来开发一个项目

一、需求分析

  • 额度 15000 或 自定义 ---> 注册功能
    实现购物商城,买东西加入 购物车,调用 信用卡接口 结账 ----> 购物功能、支付功能
    可以提现,手续费5% ---> 提现功能
    支持多账户登录 ---> 登录功能
    支持账户间转账 ---> 转账功能
    记录消费流水 ---> 记录流水功能
    提供还款接口 ---> 还款功能
    ATM记录操作日志 ---> 记录日志功能
    提供管理接口,包括添加账户、修改用户额度,冻结账户等...... >>>>管理员功能(添加账户、修改用户额度,冻结账户)
    用户认证用装饰器 ---> 登录认证装饰器

  • 用户界面允许用户能选择的功能:

  1. 注册功能
  2. 登录功能
  3. 查看余额
  4. 提现功能
  5. 还款功能
  6. 转账功能
  7. 查看流水
  8. 购物功能
  9. 查看购物车功能
  10. 管理员功能
    - 添加账户、修改用户额度,冻结账户

二、程序的架构设计

  • 三层架构(*******)
    • 视图层: 专门用于与用户交互;

      • 展示功能给用户看、接收用户输入的数据、将功能返回的结果展示给用户看的;
    • 接口层: 专门做业务逻辑的处理;

      • 接收到用户输入的数据,进行逻辑判断,然后返回判断后的结果给视图层;
    • 数据层: 专门做数据的处理

      • 增加数据
      • 删除数据
      • 更新数据
      • 查看数据

三、分任务开发

  • 项目经理:(项目的负责人)
    • UI(1-2人): 界面设计(app端的界面/web界面)。
    • 前端(1-2人): 拿到UI的设计图纸,开发页面。
    • 后端(2-3人): 开发业务逻辑
    • 运维(1人): 拿到开发好的代码,部署再 “服务器” 中,上线运行

四、软件测试

软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷(Bug),测试软件是否具有稳定性(Robustness)、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。

五、上线运营

学习linux操作系统的同学所做的工作:

运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI。

你可能感兴趣的:(day18-ATM+购物车项目的实现(1))