python之软件开发目录规范
软件开发目录规范
其实软件开发的过程中,都是有规范的,哪个文件该放哪些文件夹都是需要注意的,这样才方便管理项目。
规范:
-
bin文件夹
存放程序的启动文件,如run.py之类的
-
conf文件夹
存放程序的配置文件,如settings.py之类的
-
core文件夹
存放程序的核心业务,实现具体需求的代码都放在里面
-
lib文件夹
存放程序公共的功能,如自定义模块之类的
-
db文件夹
存放程序的数据,比如用户信息之类数据会存放在这
-
log文件夹
存放程序的日志记录,如程序的报错信息、运行时间的信息存放在这
-
reademe文本文件
存放程序的说明、使用方法等额外的信息
-
requirements.txt文本文件
存放程序需要使用的第三方模块及对应的版本
特殊说明
目录的名字可以不一致,但是主要的思想是一致的,就是为了方便管理项目。
项目开发流程
项目的开发都是有大概流程的,一个项目开发流程几乎都可以分为五个步骤:
-
需求分析
产品经理带着开发部门老大(架构师、研发经理)去客户公司寻求客户的需求,见客户之前架构师和研发经理会先大致了解一下客户的需求,然后琢磨出一套比较容易编写的流程,之后在于客户交谈中引导客户按照提前设想好的流程提需求。
PS:这么做的目的是为了防止客户提出一些无厘头的要求!!! -
架构设计
架构师会根据具体的业务需求选择开发的编程语言、项目的后端框架、项目所需的数据库(主库、从库)、项目组织结构(软件开发目录规范、自定义结构)、项目功能划分(将一个大项目拆分成多个小项目)、项目的报价(开发人员数量、天数等: 一个程序员一天按照1500+算),还需要产品经理继续叠加报价(其他部分人员开销等)。
-
分组开发
将项目拆分之后的多个小项目交给不同开发部门下的多个编程人员编写,每个人可能只会写很小的一部分(降低复杂度 提升开发效率 缩短开发周期)
-
项目测试
交给测试部门全面测试,主要测试功能是否满足、是否有bug等。
语法错误千万不要提交到测试部门才被发现,这样可能会扣绩效甚至三次之后直接全铺盖走人!
-
交付上线
将项目打包给运维人员运行维护即可
三层架构设计
一个完整的项目可以分为三层:表现层、业务逻辑层、数据管理层。
-
表现层
展示给用户看的页面,只做简单的数据展示,也可以称这层为前端。
-
业务逻辑层
整个项目的核心层,做具体业务逻辑,实现具体功能的地方,也可以称这层为后端。
-
数据管理层
实现与数据的交互,数据的存取都在这一层实现,也可以称这层为数据库。
如果使用三层架构搭建项目,那么之后的操作就会变得方便起来,就比如现在的表现层目前是在控制台输出,之后可以换成页面;业务逻辑层目前是普通的python代码,之后可以换成django框架;数据管理层目前是json文件,之后可以换成MySQL数据库。
ATM+购物车项目举例
需求分析
- 登录功能
- 注册功能
- 管理员功能
- 添加购物车功能
- 修改购物车功能
- 查询余额功能
- 从银行卡给购物余额充值功能
- 银行卡转账功能
- 查询银行卡账单功能
- ...
架构设计
编程语言:python
框架:无
数据存储:文本文件存储
项目架构:
conf存放配置文件,core为表现层,db为数据管理层,interface为业务逻辑层,lib存放公共功能,log存放日志文件,run.py为启动文件。
分组开发
- 登录注册
- 购物功能
- 银行功能
- 管理员功能