ATM + 购物车项目
- 项目开发流程
- 项目需求分析
- 项目架构设计
- 项目架构搭建
- 编写具体功能
项目开发流程
公司中的项目流程几乎都可以分为以下五个步骤 eg:
1.需求分析
产品经理带着开发部门老大(架构师,研发经理)去客户公司寻求客户的需求
见客户之前架构师和研发经理会大致了解一下目标公司客户的需求
然后研讨出一套比较容易编写代码的流程
之后在和客户的交谈中引导客户按照事先研讨的方案进行,让客户按照自己的方案提需求
2.架构设计
架构师会根据具体的业务需求选择
开发的编程语言、
项目的后端框架、
项目所需的数据库(主库、从库)
项目组织架构(软件开发目录规范、自定义结构)
项目功能划分(将一个大项目拆分成多个小项目)
项目的报价(开发人员数量 天数等:)
还需要产品经理继续叠加报价(其他部分人员的开销eg:后期项目的维护)
3.分组开发
将项目拆分之后的多个小项目交给不同开发部门下的多个编程人员编写
每个人只写一小部分(降低复杂度 提升开发效率 缩短开发周期)
4.项目测试
交给测试部门进行全面的测试,在测试前尽量不要出现语法错误,最好写的时候自己测试一下
5.交付上线
将项目打包给运维人员运行维护即可
需求分析
- 额度15000或自定义
- 支持多账户登录
- 可以查看账户余额
- 可以提现(可自定义手续费比例)
- 提供还款接口
- 支持账户间转账
- 记录每月日常消费流水
- 实现购物商城、买东西加入购物车、调用信用卡接口结账
- 提供管理接口、包括添加账户、用户额度、冻结账户等
- ATM记录操作日志
- 用户认证功能
1.用户注册
2.登录功能
3.查看余额
4.余额提现
5.账户充值
6.账户转账
7.查看流水
8.添加购物车
9.查看购物车
10.结算购物车
11.管理员功能
1.python基础核心编程
2.函数(装饰器)
3.常见内置模块(os,json,sys)
架构设计
回顾编程经历
1.面条版(从上往下堆代码)
2.函数版(开始封装代码)
ps:都是在一个py文件中写代码
3.模块版(开始划分文件)
ps:根据功能的不同划分不同的文件
百度:
百度账户登录
需要获取用户名和密码 然后校验用户名和密码
问:在哪里校验?
肯定不在你的电脑上(如果在 难道所有人的数据你的电脑上都有?)
是基于网络将用户名和密码发送到百度的后台进行校验
后台去专门存储数据的地方校数据
浏览器 后台 数据库
淘宝:
购物结算功能
商品价格的最终核算和账户扣款在哪里完成
肯定不在你当前计算机上!!!
浏览器 后台 用户数据库
很多程序其实都是三层架构
第一层:用户层(只做简单的数据展示)
第二层:整个程序的核心层,做具体的业务逻辑
第三层:数据存取
上述的三层就是以后开发项目的固定结构
第一层: 前端
第二层: 后端
第三层: 数据库
基于上述架构分析 我们可以将ATM购物车分为三层架构
1.展示层:只展示功能选项 基本逻辑
2.逻辑层:所有业务逻辑
3.数据层:给逻辑层提供数据存取
ATM架构牛逼之处!!!
程序的扩展性非常的强
比如展示层等以后前端可以直接替换成页面
展示层目前是cmd操作 可以换成页面
核心逻辑层可以在以后替换成框架
逻辑层目前是普通的python代码 可以在以后换成django框架
数据存取层可以在以后直接替换成数据库
数据层目前是json文件 可以换成MySQL数据库
分组开发
1.搭建项目目录
针对启动脚本文件start.py可以放在bin目录下 也可以直接放在项目根目录下
将第二层分为三个文件(根据功能的不同)
start.py
conf
settings.py
lib
common.py
core
src.py
interface
user_interface
bank_interface
shop_interface
db
log
readme
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?