ATM+购物商城程序实际上是经过模拟银行ATM机功能以及电商平台<购物商城程序>功能的实现,将前面大部分所学的知识点串联起来,让大家更好的去巩固python基础。这也是在学习python这门语言的第一个程序。 前端
- 额度 15000或自定义python
- 实现购物商城,买东西加入购物车,调用信用卡接口结帐linux
- 能够提现,手续费5%后端
- 支持多帐户登陆 - 支持帐户间转帐服务器
- 记录每个月平常消费流水 - 提供还款接口架构
- ATM记录操做日志app
- 提供管理接口,包括添加帐户、用户额度,冻结帐户等...运维
- 用户认证功能ide
在互联网企业里,全部项目一开始都是没有的,那项目是怎么来的呢?实际上是经过客户的需求,从而诞生出一些列的软件。那也就是说咱们不管开发什么项目,都是为了服务于人类,其实这也是计算机的使命,咱们须要让机器替代人力去干活!因此企业中一个项目究竟是如何从无到有的:函数
一、需求分析:
开发项目前,都必须找到相应的客户,让客户给企业提出项目的需求,以及须要实现的功能有哪 些,拿到需求后再提取出一些列功能。
二、设计程序以及程序的架构
在全部一线开发的企业里,在一个项目开发前,都应该设计程序,那样会让程序解开耦合,从而提升项目的管理以及开发的效率。
三、分任务开发
在公司里面,开发项目须要这几种岗位人才:
UI设计: 软件的外观设计者,经过一些炫酷的设计,提升用户的对软件的体验感。
前端开发: UI设计仅仅只是把一些外观图设计出来,那前端开发须要把UI的设计图拿到以后,对软件界面的进行排版。
后端开发(python): 项目里业务以及功能的逻辑处理!
四、项目测试
测试工程师: 对后端以及前端开发好的项目进行功能和性能测试,测试的过程当中出现bug就会当即让开发人员去修整,待整个项目几乎没有bug,以及性能达到项目实际的预期,就会准备上线运行。
测试分为两种:
1.黑盒测试: 经过对软件界面的功能进行测试,测试一些能让用户看到的bug。(例如穿越火线的卡箱子等等...)
2.白盒测试: 对软件进行性能测试,例如每秒钟能承受多少用户量的访问等...
五、上线运行
运维工程师(linux): 拿到前面整个项目编写完的代码,部署到服务器,上线运行!
需求分析就是把客户的一些项目需求,提取出一个个相应的功能。
提取功能
- 额度 15000或自定义 -----> 注册功能
- 实现购物商城,买东西加入购物车,调用信用卡接口结帐-----> 购物、支付
- 能够提现,手续费5% -----> 提现
- 支持多帐户登陆 -----> 登录
- 支持帐户间转帐 -----> 转帐
- 记录每个月平常消费流水 -----> 记录流水
- 提供还款接口 -----> 还款
- ATM记录操做日志 -----> 记录日志
- 提供管理接口,包括添加帐户、用户额度,冻结帐户等... -----> 管理员功能:添加用户,冻结帐户
- 用户认证功能 -----> 用户认证装饰器
提取完后能后咱们应该再分析出展现给用户的功能:
1 登入
2 注册
3 查看余额
4 转帐
5 还款
6 取款
7 查看流水
8 购物
9 查看商品
10 管理用户
在写程序以前不是一拿到项目需求想到哪就写到哪。假设你的程序有成千上万个功能,你都把他们写在一个文件里面。还有用户输入、逻辑处理、数据存储都写在一个函数里,会致使你的代码结构及其不清晰。而是应该对程序进行设计,设计出一种优的程序架构! 这样作会有什么好处:
1.思路清晰
2.不会出现写到一半的时候推翻重写
3.方便本身或之后同事的维护 那么接下来咱们开始设计咱们的程序架构,把一个程序架构分为三层:
三层架构优势:
1把每一个功能都分红三个部分,逻辑清楚
2若是要改用户的数据展现,或者换存储机制,只需动单独一个模块就能够了,扩展性强
3为何把日志模块放在接口层,由于全部的交互都会通过接口层,方便记录
接下来咱们写的功能都在按照这个文件目录来写,请认真阅读这个目录所对应的功能
- ATM
- conf 配置文件文件夹
- setting.py
- lib 公共方法文件夹
- common.py 公共方法文件
- interface 接口层文件夹
- user.py 用户接口文件
- shop.py 购物接口文件
- bank.py 银行接口文件
- core 用户功能文件夹
- src.py 视图文件
- db 数据处理层文件夹
- db_handler.py 数据处理功能文件
- log 日志存放目录
- start.py 程序的入口文件,启动文件
import os import sys BASE_PATH = os.path.dirname(__file__) sys.path.append(BASE_PATH) if __name__ == '__main__': from core import src src.run()
- readme 程序的说明文件
未完待续..........