如何从无到有来开发一个项目
一、需求分析
额度 15000 或 自定义 ---> 注册功能
实现购物商城,买东西加入 购物车,调用 信用卡接口 结账 ----> 购物功能、支付功能
可以提现,手续费5% ---> 提现功能
支持多账户登录 ---> 登录功能
支持账户间转账 ---> 转账功能
记录消费流水 ---> 记录流水功能
提供还款接口 ---> 还款功能
ATM记录操作日志 ---> 记录日志功能
提供管理接口,包括添加账户、修改用户额度,冻结账户等...... >>>>管理员功能(添加账户、修改用户额度,冻结账户)
用户认证用装饰器 ---> 登录认证装饰器用户界面允许用户能选择的功能:
- 注册功能
- 登录功能
- 查看余额
- 提现功能
- 还款功能
- 转账功能
- 查看流水
- 购物功能
- 查看购物车功能
- 管理员功能
- 添加账户、修改用户额度,冻结账户
二、程序的架构设计
- 三层架构(*******)
-
视图层: 专门用于与用户交互;
- 展示功能给用户看、接收用户输入的数据、将功能返回的结果展示给用户看的;
-
接口层: 专门做业务逻辑的处理;
- 接收到用户输入的数据,进行逻辑判断,然后返回判断后的结果给视图层;
-
数据层: 专门做数据的处理
- 增加数据
- 删除数据
- 更新数据
- 查看数据
-
三、分任务开发
- 项目经理:(项目的负责人)
- UI(1-2人): 界面设计(app端的界面/web界面)。
- 前端(1-2人): 拿到UI的设计图纸,开发页面。
- 后端(2-3人): 开发业务逻辑
- 运维(1人): 拿到开发好的代码,部署再 “服务器” 中,上线运行
四、软件测试
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷(Bug),测试软件是否具有稳定性(Robustness)、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。
五、上线运营
学习linux操作系统的同学所做的工作:
运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI。