一个程序是如何从无到有的

715 阅读4分钟

这是我参与更文挑战的第1天,活动详情查看: 更文挑战

微信公众号搜索【程序媛小庄】,关注半路出家的程序媛如何靠python开发养家糊口~

前言

基于之前的python基础语法,已经可以开发一个自娱自乐的Python小项目,该项目综合了前面的大多数知识,并且包含如何设计一个简单的程序开发目录以及项目架构,一起来康康吧~

一个程序是如何从无到有的

程序开发流程 00_00_00-00_00_30.gif

一 、需求分析

1.拿到项目,会先在客户那里一起讨论需求商量项目的功能是否能实现,周期与价格,得到一个需求文档。

2.最后在公司内部需要开一次会议,最终得到一个开发文档,交给不同岗位的程序员进行开发。

  • UI界面设计: 设计软件的布局,会将软件的外观切成一张张图片。
  • 前端: 拿到UI交给他的图片,然后去搭建网页面;设计一些页面中,哪些位置需要接收数据,需要进行数据交互。
  • 后端:直接核心的业务逻辑,调度数据库进行数据的增删查改。
  • 测试:会给代码进行全面测试,比如压力测试,界面测试(CF卡箱子)。
  • 运维:部署项目。

二、 程序的架构设计

程序设计的好处

  1. 思路清晰

  2. 不会出现写一半代码时推翻重写

  3. 方便自己或以后的同事更好维护

三、 分任务开发

在正式公司开发时,会有多人同时开发同一个项目,在学习阶段,只有我们自己进行开发哦~

四、 测试

在学习阶段,只能我们自己进行测试啦~

五 、上线

将程序代码运行在服务器上,由于暂时我们还没学习网络编程,就先本地开发运行吧~

程序开发目录及程序架构设计

视频讲解:由于掘进不支持发视频,因此将视频放在其他网站进行存储,网址如下(标题为06的部分):软件开发目录&程序架构设计

为了提高程序的可读性与可维护性,应该为软件设计良好的目录结构,软件的目录规范并无硬性标准,只要清晰可读即可,这里推荐一种目录结构。

以项目名称作为顶级文件夹,该文件夹内包括:

  • core文件夹,存放业务逻辑相关代码;
  • api文件夹,存放接口文件,接口主要用于为业务逻辑提供数据操作;
  • database文件夹,存放操作数据库相关文件,主要用于与数据库交互;
  • lib文件夹,存放程序中常用的自定义模块;
  • conf文件夹,存放配置文件;
  • run.py: 程序的启动文件,一般放在项目的根目录下;
  • requirements.txt: 存放软件依赖的外部Python包列表。
  • README: 项目说明文件。

在项目开发中,清晰明了的结构设计非常重要。它的重要性至少提现在三个方面:

  • 结构清晰;
  • 可维护性强;
  • 可扩展性高。 常用的项目结构设计中,三层架构设计非常实用。这种架构设计模式将整个程序分为三层:
  • 用户视图层:用于与用户交互的,可以接受用户的输入,打印接口返回的数据。
  • 逻辑接口层:接收视图层传递过来的参数,根据逻辑判断调用数据层加以处理并返回一个结果给用户视图层。
  • 数据处理层:接受接口层传递过来的参数,做数据的增删改查。另外还需要日志记录以及程序中常用的自定义模块。

项目实战 - mini银行 & 购物程序

项目需求

用户功能

- 注册,注册成功后银行卡默认余额为0
- 登录功能
- 登录后提现功能,手续费1%
- 登录后转账功能
- 登录后查看交易流水
- 购物车功能
	- 登录后查看购物车
	- 登录后购物车结算
	- 查看商品信息

管理员功能

- 添加/创建管理员账户
- 登录后管理用户额度
- 用户账户冻结
- 增加商品

其他

由于还没有学MySQL等数据库相关知识,这里关于数据的增删改查全部使用文件进行操作。

建议使用软件开发目录规范进行开发,并使用三层架构对程序进行设计。

小庄的代码会放在github上,如果小伙伴们需要,请自行下载查看,小庄正在马不停蹄上传~bank & shopping_car