项目开发流程
1.需求分析
1.1就是产品经理去问客户明确项目的主体功能要写什么东西,实现什么功能
1.2参与人员
产品经理、开发经理、架构师
1.3技术人员主要职责
引导客户提出一些比较合理、比较容易实现的需求
2.架构设计
2.1明确项目需要用到的核心技术
项目使用的编程语言、框架、数据库
2.2参与人员
架构师
3.分组开发
3.1明确每个组每个人负责的部分
3.2参与人员
架构师、开发经理、普通程序员
4.提交测试
4.1自己测试,在交由测试员测试
4.2参与人员
普通程序员、测试员
5.交付上线
5.1将完成好的项目交给客户也可以帮客户维护(定期收钱)
5.2参与人员
运维工程师
"""
大公司的开发流程比较规范,你只做你负责的那部分,但会让自己的履历很有优势,跳槽方便
小公司的开发流程没那么规范,你会负责很多事,短期内提示非常大,但是会很累
"""
项目需求分析
# 主题是带大家快速入门python直至开发一个ATM+购物车系统,ATM的实现类似于银行自助提款机核心业务,购物车的实现类似于淘宝商城购物系统。
# 该项目的核心不仅在于引领初学者快速入门python项目开发,更是站在项目架构的角度教你如何在程序开发之初合理且优雅地设计程序的架构,从而极大地提升程序的开发效率与可扩展性
"""
- 额度15000或自定义
- 支持多账户登录
- 可以查看账户余额
- 可以提现(可自定义手续费比例)
- 提供还款接口
- 支持账户间转账
- 记录每月日常消费流水
- 实现购物商城,买东西加入购物车,调用信用卡接口结账
- 提供管理接口,包括添加账户、用户额度,冻结账户等
- ATM记录操作日志
- 用户认证功能
"""
从需求中提炼出项目的核心功能
1.用户注册
2.用户登录
3.查看余额
4.账户提现
5.充值功能
6.转账功能
7.查看账单
8.购物车功能
9.管理员功能
从功能中再提炼出核心技术点
1.python核心语法
2.python诸多模块
3.装饰器
架构设计
项目架构(重要)
百度
以用户登录为例
1.浏览器页面获取用户名和密码
2.基于网络将用户名和密码发送给百度服务端
3.服务端去数据库中校验用户数据
三层架构
浏览器、服务端、数据库
淘宝
以购买商品为例
1.浏览器页面展示商品总价
2.基于网络将购买商品的操作发送给服务端做核心校验
3.之后操作相应数据库完成数据修改
三层架构
浏览器、服务端、数据库
三层架构
用户层
数据展示 数据获取
cmd窗口可以充当用户层
将来可以替换成浏览器或者app
核心逻辑层
业务逻辑
某个py文件充当逻辑层
将来可以替换成软件开发目录规范或者现成的框架
数据层
数据的增删改查
json文件充当数据库
将来可以替换成数据库程序