一、项目开发流程

1、项目需求分析

  • 明确项目具体功能:

    • 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求
  • 参与人员:
    • 产品经理、架构师、开发经理
  • 技术人员主要职责:
    • 引导客户提出合理需求,贴近现实的需求,能够实现的需求

2、项目架构设计

  • 明确项目核心技术点:

    • 项目需要使用的编程语言
    • 项目使用的框架
    • 项目所使用的数据库
  • 参与人员:
    • 架构师

3、项目分组开发

  • 任务分组开发:

    • 明确每个组,每个人具体该写项目的哪些功能
  • 参与人员:
    • 架构师、开发经理、程序员

4、项目提交测试

  • 测试程序运行:

    • 先由程序员、小组进行测试,后交测试部门进行测试
  • 参与人员:
    • 程序员、测试人员

5、交付上线

  • 定期维护:

    • 把项目交付给客户,运维人员定期维护
  • 参与人员:
    • 运维工程师

二、项目需求分析

1、目的

​ 该项目的核心不仅在于引领初学者快速入门python项目开发,更是站在项目架构的角度教你如何在程序开发之初合理且优雅地设计程序的架构,从而极大地提升程序的开发效率与可扩展性

2、主题

​ 主题是带大家快速如门python直至开发一个ATM+购物车系统,ATM的实现类似于银行自助提款机核心业务,购物车的实现类似于淘宝商城购物系统。

3、项目需求

  • 额度15000或自定义

  • 支持多账户登录

  • 可以查看账户余额

  • 可以提现(可自定义手续费比例)

  • 提供还款接口

  • 支持账户间转账

  • 记录每月日常消费流水

  • 实现购物商城,买东西加入购物车,调用信用卡接口结账

  • 提供管理接口,包括添加账户、用户额度,冻结账户等

  • ATM记录操作日志

  • 用户认证功能

4、提取核心功能

  • 用户注册
  • 用户登录
  • 查看余额
  • 账户提现
  • 充值功能
  • 转账功能
  • 查看账单
  • 购物车功能
  • 管理员功能

5、设计核心技术点

  • python核心语法
  • python诸多模块
  • 装饰器知识

三、项目架构设计

1、三层架构设计

以百度和淘宝为例,讲述三层架构设计

百度:

以百度登录功能为例 分析执行步骤:
1.在浏览器页面上获取用户名和密码
2.基于网络发送给百度服务端
3.服务端连接数据库服务

淘宝:

以淘宝买商品为例 分析执行步骤:
1.浏览器页面展示商品总价
2.基于网络发送给淘宝服务端再次计算总价
3.调用数据库服务完成金额操作
  • 第一层:

    • 用户层
    • 只做数据展示和简单的数据获取
    • cmd终端、浏览器页面、手机app页面
  • 第二层:

    • 核心逻辑层
    • 真正的核心业务逻辑处理(代码)
    • 编写代码的py文件、目录、框架
  • 第三层:

    • 数据层
    • 数据的增删改查
    • 文件读写操作、py文件、数据库软件

ATM架构设计:

三层架构:
core目录下的src.py(浏览器)
interface目录下的多个py文件(框架)
db目录下db_handler.py(数据库服务)

2、项目目录搭建

  • core文件夹:第一层

    • src.py文件
  • interface文件夹:第二层
    • user_interface.py
    • bank_interface.py
    • shop_interface.py
    • admin_interface.py
  • db文件夹:第三层
    • json.py
    • user.json

Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录的更多相关文章

  1. python基础——第三方模块

    python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的.  如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了.  如果你正在使用Window ...

  2. python基础——使用模块

    python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...

  3. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  4. python 基础之 模块

    Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文 ...

  5. python开发流程及项目目录规范

    # 项目开发流程 1.调研 2.需求分析   ---产品经理 3.任务分配   ---项目经理 4.写项目demo   ---项目经理.架构师.程序猿 5.架构分析   ---项目经理.架构师 6.编 ...

  6. vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境

    目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...

  7. 【Python之路】第六篇--Python基础之模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  8. 周末班:Python基础之模块

    什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写 ...

  9. python基础===socket模块的讲解(转)

    一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web ...

随机推荐

  1. 逐层阅读 research paper:Dmitry Berenson 的方法论

    本博客翻译了 这篇文章,包含很实用的 读论文的方法论. 读论文的四个 layers 在读论文之前,要首先搞清楚,自己读论文的目的是什么,或者 希望读到什么程度. 下表列出了常见的读论文目的,以及相应的 ...

  2. Mybatis-Plus高级之LambdaQueryWrapper,Wrappers.<实体类>lambdaQuery的使用

    一.前言 小编今天又来分享干货了,绝对的干净又卫生,大伙请放心食用哈!Mybatis-Plus我们经常使用,但是里面的很多功能,小编开始只是知道一点点,做个增删改查没问题.小编在新项目中发现,大神们不 ...

  3. 【JAVA】学习路径64-补充-编写一个会抛异常的方法

    有一些方法,在调用的时候有可能会出错,所以我们使用这些方法的时候会使用try catch. 比如InputStream里面的read()方法等等,那么这些方法是怎么实现抛异常的效果的呢? 能抛异常的方 ...

  4. 【java】学习路径38-数学模型分析:不同方式复制文件所需的时间

    测试文件:一段72kb的文本.约5.6MB大小的pdf论文.约38.9MB大小的无损音频文件. demo001 论<到灯塔去>的凝视主题.pdf irreplaceable.movpkg ...

  5. Android Module配置C++支持

    AndroidStudio提供了创建项目时选择C++支持的模板,但是新建Module的时候并没有C++模板, 要如何配置Module的C++支持呢? 虽然Module没有提供C++模板,但是我们可以手 ...

  6. ESP8266 NONOS SDK学习

    一.概况 1.存储 ESP8266 带有 160 KB 的 RAM,其中 64 KB 为 iRAM,96 KB 为 dRAM.iRAM 进一步 分成两块:32 KB iRAM 块运行标有 IRAM_A ...

  7. vue中处理过内存泄露处理方法

    1>意外的全局变量函数中意外的定义了全局变量,每次执行该函数都会生成该变量,且不会随着函数执行结束而释放. 2>未清除的定时器定时器没有清除,它内部引用的变量,不会被释放. 3>脱离 ...

  8. Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析

    一.SpringBoot简介 SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 使用了 Spring 框架后已经简化了我 ...

  9. Python Web开发主流框架

    Web 开发是Python 语言应用领域的重要部分,也是工作岗位最多的领域.如果你对基于Python的Web 开发有兴趣,正打算使用Python 做Web 开发,或者已经是一个Web 开发者有工作需要 ...

  10. 企业微信报警中关于markdown的用法

    官方文档地址:https://open.work.weixin.qq.com/api/doc/90002/90151/90853#markdown消息 请求方式:POST(HTTPS) 请求地址: h ...