一、项目开发流程

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. idea+SpringBoot使用过程中的问题集合

    1.跨域访问外部接口? 使用Nginx代理(详细参见:https://www.cnblogs.com/ZhaoHS/p/16594619.html): 合并部署,统一从后端访问第三方接口(合并部署详见 ...

  2. CAD二次开发(.net)优秀网站分享

    Autodesk官方网站 官方帮助文档:AutoCAD 2016 帮助: Managed .NET Developer's Guide (.NET) (autodesk.com) DXF帮助手册:DX ...

  3. HTML初学者小知识2

    网页内嵌 代码以及演示如下 代码 <div id="tab_1"> <iframe src="div.html" height="5 ...

  4. .NET 7 SDK 对容器的内置支持

    大家好,我是等天黑. .NET 又双叒叕出新功能了, 就在前几天,.NET 团队发布博客,宣称在 .NET SDK 中内置了对 .NET 应用容器化的支持. 小试牛刀 在正式介绍它之前,先通过一个简单 ...

  5. mysql_唯一索引数据重复问题总结

    CREATE TABLE `tt_transfer_assemble_diffuse_plan_info` ( `id` bigint(20) unsigned NOT NULL AUTO_INCRE ...

  6. 八皇后代码C语言版本

    y = x + b   ->    y-x = b   主对角线上,行下标与列下标之差相等y = -x + b  ->    y+x = b   副对角线上,行下标与列下标之和相等主对角线 ...

  7. 系统无法启动inaccessible boot device

    近日有一台Windows 2016遇到了系统无法启动的问题,出现错误inaccessible boot device.发现系统可以进入故障恢复模式,看来问题还不大.因为进入故障恢复模式的时候自动识别的 ...

  8. 《Java基础——数组的定义与使用》

    Java基础--数组的定义与使用       一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...

  9. flutter系列之:Material中的3D组件Card

    目录 简介 Card详解 Card的使用 总结 简介 除了通用的组件之外,flutter还提供了两种风格的特殊组件,其中在Material风格中,有一个Card组件,可以很方便的绘制出卡片风格的界面, ...

  10. 第2篇----Istio架构概述篇

    Istio的工作机制 Istio的工作机制和架构,分为控制面和数据面两部分.控制面主要包括Pilot.Mixer.Citadel等服务组件:数据面由伴随每个应用程序部署的代理程序Envoy组成,执行针 ...