需求分析

产品经理带着开发部门老大(架构师、研发经理)去客户公司寻求客户的需求,见客户之前架构师和研发经理会先大致了解一下客户的需求,然后琢磨出一套比较容易编写的流程。之后在和客户交谈中引导客户按照提前设想好的流程提需求,这么做的目的是为了防止客户提出一些无厘头的要求

架构设计

架构师会根据具体的业务需求选择,开发的编程语言、项目的后端框架、项目所需的数据库(主库、从库)项目组织结构(软件开发目录规范、自定义结构)项目功能划分(将一个大项目拆分成多个小项目)项目的报价(开发人员数量 天数等: 一个程序员一天按照1500+算)还需要产品经理继续叠加报价(其他部分人员开销等)

分组开发

将项目拆分之后的多个小项目,交给不同开发部门下的多个编程人员编写,每个人可能只会写很小的一部分(降低复杂度,提升开发效率缩短开发周期)

项目测试

项目交给测试部门全面测试,千万不要出现语法错误,这样可能会扣绩效甚至三次之后直接走人

交付上线

将项目打包给运维人员后期运行维护即可

项目ATM+购物车

需求分析

  1. 1.用户注册
  2. 2.登录功能
  3. 3.查看余额
  4. 4.余额提现
  5. 5.账户充值
  6. 6.金额转账
  7. 7.查看流水
  8. 8.添加购物车
  9. 9.查看购物车
  10. 10.结算购物车
  11. 11.管理员功能
  12. |-- 1.锁定用户账户
  13. |-- 2.重置用户密码
  14. |-- 3.清除用户数据

项目目录

  1. ATM_shopcar/
  2. |-- conf/ # 存放配置文件
  3. | |--settings.py
  4. |-- core/ # 存放业务逻辑相关代码,与用户打交道
  5. | |-- src.py
  6. |-- db/ # 存放操作数据库相关文件,主要用于与数据库交互
  7. | |-- db.handler.py
  8. |-- interface/ # 核心逻辑层,针对底层根据业务方向的不同又拆分成了多个py文件
  9. | |-- admin_interface.py
  10. | |-- bank_interface.py
  11. | |-- shop_interface.py
  12. | |-- user_interface.py
  13. |-- lib/ # 存放程序中常用的自定义模块
  14. | |-- common.py
  15. |-- log/ # 存放操作生成的记录日志
  16. | |-- logging.log
  17. |-- start.py # 程序的启动文件
  18. |-- requirements.txt # 存放软件依赖的外部Python包列表
  19. |-- README.md # 项目说明