需求分析
产品经理带着开发部门老大(架构师、研发经理)去客户公司寻求客户的需求,见客户之前架构师和研发经理会先大致了解一下客户的需求,然后琢磨出一套比较容易编写的流程。之后在和客户交谈中引导客户按照提前设想好的流程提需求,这么做的目的是为了防止客户提出一些无厘头的要求
架构设计
架构师会根据具体的业务需求选择,开发的编程语言、项目的后端框架、项目所需的数据库(主库、从库)项目组织结构(软件开发目录规范、自定义结构)项目功能划分(将一个大项目拆分成多个小项目)项目的报价(开发人员数量 天数等: 一个程序员一天按照1500+算)还需要产品经理继续叠加报价(其他部分人员开销等)
分组开发
将项目拆分之后的多个小项目,交给不同开发部门下的多个编程人员编写,每个人可能只会写很小的一部分(降低复杂度,提升开发效率缩短开发周期)
项目测试
项目交给测试部门全面测试,千万不要出现语法错误,这样可能会扣绩效甚至三次之后直接走人
交付上线
将项目打包给运维人员后期运行维护即可
项目ATM+购物车
需求分析
1.用户注册
2.登录功能
3.查看余额
4.余额提现
5.账户充值
6.金额转账
7.查看流水
8.添加购物车
9.查看购物车
10.结算购物车
11.管理员功能
|-- 1.锁定用户账户
|-- 2.重置用户密码
|-- 3.清除用户数据
项目目录
ATM_shopcar/
|-- conf/ # 存放配置文件
| |--settings.py
|-- core/ # 存放业务逻辑相关代码,与用户打交道
| |-- src.py
|-- db/ # 存放操作数据库相关文件,主要用于与数据库交互
| |-- db.handler.py
|-- interface/ # 核心逻辑层,针对底层根据业务方向的不同又拆分成了多个py文件
| |-- admin_interface.py
| |-- bank_interface.py
| |-- shop_interface.py
| |-- user_interface.py
|-- lib/ # 存放程序中常用的自定义模块
| |-- common.py
|-- log/ # 存放操作生成的记录日志
| |-- logging.log
|-- start.py # 程序的启动文件
|-- requirements.txt # 存放软件依赖的外部Python包列表
|-- README.md # 项目说明