一、项目开发流程

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. Magicodes.Pay已支持Volo Abp

    Magicodes.Pay已支持Volo Abp 简介 Magicodes.Pay希望打造一个统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core.目前已 ...

  2. virtio_net 设备的队列数问题

    virtio_net设备的其他问题:见 https://www.cnblogs.com/10087622blog/p/15886345.html 一个virtio_net设备在 virtnet_pro ...

  3. BZOJ4212 神牛的养成计划 (字典树,bitset)

    题面 Description Hzwer成功培育出神牛细胞,可最终培育出的生物体却让他大失所望- 后来,他从某同校女神 牛处知道,原来他培育的细胞发生了基因突变,原先决定神牛特征的基因序列都被破坏了, ...

  4. ZZH与计数(矩阵加速,动态规划,记忆化搜索)

    题面 因为出题人水平很高,所以这场比赛的题水平都很高. ZZH 喜欢计数. ZZH 有很多的数,经过统计,ZZH一共有 v 0 v_0 v0​ 个 0 , v 1 v_1 v1​ 个 1,-, v 2 ...

  5. KingbaseES 时间类型数据和oracle时间类型的区别

    Oracle日期时间类型有两类,一类是日期时间类型,包括Date, Timestamp with time zone, Timestamp with local time zone.另一类是Inter ...

  6. [机器学习]-分类问题常用评价指标、混淆矩阵及ROC曲线绘制方法

    分类问题 分类问题是人工智能领域中最常见的一类问题之一,掌握合适的评价指标,对模型进行恰当的评价,是至关重要的. 同样地,分割问题是像素级别的分类,除了mAcc.mIoU之外,也可以采用分类问题的一些 ...

  7. 2020年12月-第02阶段-前端基础-CSS Day06

    CSS Day06 定位(position) 理解 能说出为什么要用定位 能说出定位的4种分类 能说出四种定位的各自特点 能说出我们为什么常用子绝父相布局 应用 能写出淘宝轮播图布局 1. CSS 布 ...

  8. G&GH04 本地连接至远程

    注意事项与声明 平台: Windows 10 作者: JamesNULLiu 邮箱: jamesnulliu@outlook.com 博客: https://www.cnblogs.com/james ...

  9. [Golang] GO 语言工作环境的基本概念

    1. GOPATH 和 GOROOT(环境变量) 1. GOROOT go 编译器.标准库等安装的地方,所有我们写的代码其实都是文本文件而已,需要编译器等工具将其加工成可执行文件或者库文件才能使用,每 ...

  10. 部署一个生产级别的 Kubernetes 应用(以Wordpress为例)

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247487811&idx=1&sn=67b39b73 ...