需求分析
产品经理带着开发部门老大(架构师、研发经理)去客户公司寻求客户的需求,见客户之前架构师和研发经理会先大致了解一下客户的需求,然后琢磨出一套比较容易编写的流程。之后在和客户交谈中引导客户按照提前设想好的流程提需求,这么做的目的是为了防止客户提出一些无厘头的要求
架构设计
架构师会根据具体的业务需求选择,开发的编程语言、项目的后端框架、项目所需的数据库(主库、从库)项目组织结构(软件开发目录规范、自定义结构)项目功能划分(将一个大项目拆分成多个小项目)项目的报价(开发人员数量 天数等: 一个程序员一天按照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 # 项目说明
