这是我参与更文挑战的第1天,活动详情查看: 更文挑战
微信公众号搜索【程序媛小庄】,关注半路出家的程序媛如何靠python开发养家糊口~
前言
基于之前的python基础语法,已经可以开发一个自娱自乐的Python小项目,该项目综合了前面的大多数知识,并且包含如何设计一个简单的程序开发目录以及项目架构,一起来康康吧~
一个程序是如何从无到有的
一 、需求分析
1.拿到项目,会先在客户那里一起讨论需求商量项目的功能是否能实现,周期与价格,得到一个需求文档。
2.最后在公司内部需要开一次会议,最终得到一个开发文档,交给不同岗位的程序员进行开发。
- UI界面设计: 设计软件的布局,会将软件的外观切成一张张图片。
- 前端: 拿到UI交给他的图片,然后去搭建网页面;设计一些页面中,哪些位置需要接收数据,需要进行数据交互。
- 后端:直接核心的业务逻辑,调度数据库进行数据的增删查改。
- 测试:会给代码进行全面测试,比如压力测试,界面测试(CF卡箱子)。
- 运维:部署项目。
二、 程序的架构设计
程序设计的好处
-
思路清晰
-
不会出现写一半代码时推翻重写
-
方便自己或以后的同事更好维护
三、 分任务开发
在正式公司开发时,会有多人同时开发同一个项目,在学习阶段,只有我们自己进行开发哦~
四、 测试
在学习阶段,只能我们自己进行测试啦~
五 、上线
将程序代码运行在服务器上,由于暂时我们还没学习网络编程,就先本地开发运行吧~
程序开发目录及程序架构设计
视频讲解:由于掘进不支持发视频,因此将视频放在其他网站进行存储,网址如下(标题为06的部分):软件开发目录&程序架构设计
为了提高程序的可读性与可维护性,应该为软件设计良好的目录结构,软件的目录规范并无硬性标准,只要清晰可读即可,这里推荐一种目录结构。
以项目名称作为顶级文件夹,该文件夹内包括:
- core文件夹,存放业务逻辑相关代码;
- api文件夹,存放接口文件,接口主要用于为业务逻辑提供数据操作;
- database文件夹,存放操作数据库相关文件,主要用于与数据库交互;
- lib文件夹,存放程序中常用的自定义模块;
- conf文件夹,存放配置文件;
- run.py: 程序的启动文件,一般放在项目的根目录下;
- requirements.txt: 存放软件依赖的外部Python包列表。
- README: 项目说明文件。
在项目开发中,清晰明了的结构设计非常重要。它的重要性至少提现在三个方面:
- 结构清晰;
- 可维护性强;
- 可扩展性高。 常用的项目结构设计中,三层架构设计非常实用。这种架构设计模式将整个程序分为三层:
- 用户视图层:用于与用户交互的,可以接受用户的输入,打印接口返回的数据。
- 逻辑接口层:接收视图层传递过来的参数,根据逻辑判断调用数据层加以处理并返回一个结果给用户视图层。
- 数据处理层:接受接口层传递过来的参数,做数据的增删改查。另外还需要日志记录以及程序中常用的自定义模块。
项目实战 - mini银行 & 购物程序
项目需求
用户功能
- 注册,注册成功后银行卡默认余额为0
- 登录功能
- 登录后提现功能,手续费1%
- 登录后转账功能
- 登录后查看交易流水
- 购物车功能
- 登录后查看购物车
- 登录后购物车结算
- 查看商品信息
管理员功能
- 添加/创建管理员账户
- 登录后管理用户额度
- 用户账户冻结
- 增加商品
其他
由于还没有学MySQL等数据库相关知识,这里关于数据的增删改查全部使用文件进行操作。
建议使用软件开发目录规范进行开发,并使用三层架构对程序进行设计。
小庄的代码会放在github上,如果小伙伴们需要,请自行下载查看,小庄正在马不停蹄上传~bank & shopping_car