py 项目开发的流程以及项目的搭建 day 25


今日内容概要

今天主要学的就是ATM和购物车这个目前为止最大的项目,接下来我们学习如何一步步搭建他

  • 项目开发的流程
  • 项目的需求分析
  • 项目的架构设计
  • 项目的搭建
  • 编写具体的功能

项目的开发流程

# 平常的项目流程几乎都分成五个步骤
# 1.需求分析
	产品经理带着架构师、研发经理去了解
	确定用户的真实需求, 项目的基本功能,
	确定项目的整体难度和可行性分析,
	形成需求分析文档, 用户确认	
# 2.架构设计
	一个项目完成所需的结构
  	开发所需的编程语言、
    项目所适配的后端框架、
    项目所需的数据库、
    项目组织的结构、
 	项目功能划分、
    项目的报价、
    还需要产品经理继续叠加报价
# 3.分组开发
	一个大项目肯定是分为很多小项目的,然后分给不同的小组进行编写,而每个小组肯定有好几个成员,所以每个人的真正开发量只有一小部分(目的是:降低复杂度 提升开发效率 缩短开发周期)
# 4.项目测试
	测试部分是专门交给测试部门测试的
# 5.交付上线
	此时将项目打包给运维人员运行维护即可
    
# 比较详细流程的话
需求分析 ---> 概要设计 ---> 项目规划 ---> 详细设计&编码测试 ---> 项目功能测试 ---> 调试完善 ---> 项目发布 ---> 后期维护

需求分析

'开始这个ATM+购物车的项目'
# 先说明大致需求
  - 额度15000或自定义
  - 支持多账户登录
  - 可以查看账户余额
  - 可以提现(可自定义手续费比例)
  - 提供还款接口
  - 支持账户间转账
  - 记录每月日常消费流水
  - 实现购物商城,买东西加入购物车,调用信用卡接口结账
  - 提供管理接口,包括添加账户、用户额度,冻结账户等
  - ATM记录操作日志
  - 用户认证功能
'然后要根据需求里面的要求对项目功能进行一个大概编写'
# 提炼项目功能
  1.用户注册
  2.登录功能
  3.查看余额
  4.余额提现
  5.账户充值
  6.金额转账
  7.查看流水
  8.添加购物车
  9.查看购物车
  10.结算购物车
  11.管理员功能
'接下来要考虑项目大概要用到的技术'
# 项目大致技术栈
  1.python基础核心编程
  2.函数(装饰器)
  3.常见内置模块(os,sys,json)

架构设计

'我们从学习到现在经历了一部分编码的版本'
# 编码历程
    1.面条版(从上往下代码)
    2.函数版(开始封装代码)
    ps:都是在一个py文件中写代码>>>:类似于创业型公司 所有员工身兼数职
    3.模块版(开始划分文件)
    ps:根据功能的不同划分不同文件>>>:类似于大型公司 所有员工部门精细化

# 常见的软件架构
比如百度账号登录,这一个操作就是在三个层之间数据传输
# 大致分了三层
浏览器 后台 数据库

# 用专业的话术分开发项目的固定结构
	第一层: 前端
	第二层: 后端
	第三层: 数据库
        
# 根据架构分析来看,我们所要设计的ATM项目也是分为三层的
	展示层: 就是说明该项目有什么具体功能的
	逻辑层: 就是项目中处理问题的具体操作层
	数据层: 为逻辑层提供需要的数据
# 
	架构厉害的地方是因为程序的扩展性非常的强
	展示层在学完前端后可以直接替换成页面
	展示层目前是cmd操作 可以换成页面
	核心逻辑层以后学了框架之后替换成框架
 	逻辑层目前是普通的python代码 可以换成django框架
    数据存取层以后学了数据库直接替换成数据库
 	数据层目前是json文件 可以换成MySQL数据库
    
    前端 ---> 页面
    核心逻辑层 ---> 框架
    数据存取层 ---> 数据库

分组开发

'一个大项目分成很多小区块,然后分给不同的小组,这样子就是小组分组开发的情况'
'而项目搭建差不多就是将所写的代码,分文件存放在各自的文件夹'
# 1. 搭建项目目录
	'是整个应用程序的执行文件目录,其中start.py文件是启动入口'
    bin文件夹  start.py
    '是整个应用程序的配置文件目录,settings.py是其中s的配置文件'
    conf文件夹  settings.py
    '是整个应用程序的通用功能脚本和第三方应用文件存放目录'
    lib文件夹  common.py
    '是整个应用程序的核心模块,core.py是核心业务逻辑脚本文件'
    core文件夹  src.py
    '是整个项目的接口层所存放功能函数的文件夹'
    interface文件夹  user_interface、bank_interface、shop_interface
    '是整个应用程序的数据库文件目录,存放数据'
    db文件夹  用户数据、物品数据、db_handler
    '是整个应用程序的日志文件目录'
    log文件夹  log.log
    '项目说明文档'
    readme.txt
# 2.功能框架搭建
	利用空函数搭建一个框架
    def login():
        pass
# 3.然后接着写各种功能函数

今天学习了大项目的框架编写,以及更加详细的编写过程,思路之类的,还有的就是以后看到一个项目需求该如何获取思路以及编程构思。

相关