当前位置:网站首页>如何规范的开发项目
如何规范的开发项目
2022-08-08 06:26:00 【Jayxieming】
一:项目开发流程
- 1.需求分析
明确项目的主体功能(到底要写什么东西 实现什么功能)
问产品经理 问客户
参与人员
产品经理 开发经理 架构师
技术人员主要职责
引导客户提出一些比较合理 比较容易实现的需求 - 2.架构设计
明确项目的核心技术点
项目使用的编程语言
项目使用的框架
项目使用的数据库
参与人员
架构师 - 3.分组开发
明确每个组每个人写哪些功能
参与人员
架构师 开发经理
普通的程序员 - 4.提交测试
自己测试、测试小姐姐测试
参与人员
普通的程序员
测试小姐姐 - 5.交付上线
参与人员
运维工程师
可以交给客户也可以帮客户维护(定期收钱)
二:项目需求分析
1.项目要求
- 主题是带大家快速入门python直至开发一个ATM+购物车系统,ATM的实现类似于银行自助提款机核心业务,购物车的实现类似于淘宝商城购物系统。
- 该项目的核心不仅在于引领初学者快速入门python项目开发,更是站在项目架构的角度教你如何在程序开发之初合理且优雅地设计程序的架构,从而极大地提升程序的开发效率与可扩展性
- 额度15000或自定义
- 支持多账户登录
- 可以查看账户余额
- 可以提现(可自定义手续费比例)
- 提供还款接口
- 支持账户间转账
- 记录每月日常消费流水
- 实现购物商城,买东西加入购物车,调用信用卡接口结账
- 提供管理接口,包括添加账户、用户额度,冻结账户等
- ATM记录操作日志
- 用户认证功能
2.项目分析
- 从需求中提炼出项目的核心功能
1.用户注册
2.用户登录
3.查看余额
4.账户提现
5.充值功能
6.转账功能
7.查看账单
8.购物车功能
9.管理员功能 - 从功能中再提炼出核心技术点
1.python核心语法
2.python诸多模块
3.装饰器
三:架构设计
- 编写代码的改进历程
1.直接写在一个文件 采用面条版堆积
2.将有些具体的功能 采用函数封装
上述两个阶段类似于小公司 一个员工身兼数职
3.将不同的功能拆分到不同的文件
上述阶段类似于大公司 工具职责划分部门 每个员工只干该岗位的具体事宜
ps:拆分的目的是为了更好的管理资源和代码 提升程序的扩展性 - 项目架构(重要)
百度
以用户登录为例
1.浏览器页面获取用户名和密码
2.基于网络将用户名和密码发送给百度服务端
3.服务端去数据库中校验用户数据
三层架构
浏览器、服务端、数据库
淘宝
以购买商品为例
1.浏览器页面展示商品总价
2.基于网络将购买商品的操作发送给服务端做核心校验
3.之后操作相应数据库完成数据修改
三层架构
浏览器、服务端、数据库 - 三层架构
用户层
数据展示 数据获取
cmd窗口可以充当用户层
将来可以替换成浏览器或者app
核心逻辑层
业务逻辑
某个py文件充当逻辑层
将来可以替换成软件开发目录规范或者现成的框架
数据层
数据的增删改查
json文件充当数据库
将来可以替换成数据库程序
四:项目目录搭建
""" core src.py 充当第一层 interface 充当第二层 user_interface.py 根据业务逻辑的不同再次拆分便于后期维护管理 bank_interface.py shop_interface.py admin_interface.py 第三层 后续通过代码动态创建 或者直接创建db """
五:项目功能搭建
- 利用空函数搭建项目功能函数
六:开始编写各个功能的代码
- 步骤:
- 1.先写面条版的功能代码
- 2.根据实际情况封装打包
边栏推荐
猜你喜欢
随机推荐
通过使用fgets()统计文件的行号和使用fgets()/fputs()拷贝文件
Dropout、剪枝、正则化有什么关系?什么是Dropout?
Unity_雷达图(属性图)+ UI动画
Markdown语法快速入门(以Topyra为例)
Unity_滑动面板(滚动面板) + UI动画
Binary tree traversal and method
链式队列的入栈和出栈相关操作
acwing 第63场周赛【2022.08.06】
HDU 6029 个人分析
最详细的Vivado安装教程
Background Suppression Network for Weakly-supervised Temporal Action Localization
【图形学】09 UnityShader入门(一)
Unity HDRP中代码动态修改天空盒以及其他环境参数
背包问题小结
VS2015MFC+SQLService版本的选择
C语言实现冒泡排序及对冒泡排序的优化处理
Leetcode题目分享以及讲解
Unity中获取一个物体下所有的子物体的方法
Unity 物体颜色渐变效果(判断逻辑实现)
【图形学】02 数学部分(二、向量和坐标系)