ATM+购物车 项目分析练习

一 项目介绍:

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()
View Code

 

   - readme 程序的说明文件 

 

 

未完待续..........

相关文章
相关标签/搜索