项目开发流程
1.需求分析
明确项目的主体功能(到底要写什么东西 实现什么功能)
问产品经理 问客户
参与人员
产品经理 开发经理 架构师
技术人员主要职责
引导客户提出一些比较合理 比较容易实现的需求
2.架构设计
明确项目的核心技术点
项目使用的编程语言
项目使用的框架
项目使用的数据库
参与人员
架构师
3.分组开发
明确每个组每个人写哪些功能
参与人员
架构师 开发经理 普通的程序员
4.提交测试
自己测试、测试员测试
参与人员
普通的程序员
5.交付上线
参与人员
运维工程师
可以交给客户也可以帮客户维护(定期收钱)
项目需求分析
# 主题是带大家快速入门python直至开发一个ATM+购物车系统,ATM的实现类似于银行自助提款机核心业务,购物车的实现类似于淘宝商城购物系统。
# 该项目的核心不仅在于引领初学者快速入门python项目开发,更是站在项目架构的角度教你如何在程序开发之初合理且优雅地设计程序的架构,从而极大地提升程序的开发效率与可扩展性
"""
- 额度15000或自定义
- 支持多账户登录
- 可以查看账户余额
- 可以提现(可自定义手续费比例)
- 提供还款接口
- 支持账户间转账
- 记录每月日常消费流水
- 实现购物商城,买东西加入购物车,调用信用卡接口结账
- 提供管理接口,包括添加账户、用户额度,冻结账户等
- ATM记录操作日志
- 用户认证功能
"""
从需求中提炼出项目的核心功能
1.用户注册
2.用户登录
3.查看余额
4.账户提现
5.充值功能
6.转账功能
7.查看账单
8.购物车功能
9.管理员功能
从功能中再提炼出核心技术点
1.python核心语法
2.python诸多模块
3.装饰器
架构设计
- 代码编写的改进
-
- 直接写在一个文件 采用面条版堆积
-
- 将有些具体的功能 采用函数封装
-
- 将不同的功能拆分到不同的文件
拆分的目的是为了更好的管理资源和代码 提升程序的扩展性
需要使用软件开发目录规范
项目目录搭建
core
src.py 充当第一层
interface 充当第二层
user_interface.py 根据业务逻辑的不同再次拆分便于后期维护管理
bank_interface.py
shop_interface.py
admin_interface.py
第三层 后续通过代码动态创建 或者直接创建db