day04.04
项目开发流程
公司中的项目流程几乎都可以分为以下五个步骤:
-
需求分析
''' 产品经理带着开发部门老大(架构师、研发经理)去客户公司寻求客户的需求 见客户之前架构师和研发经理会先大致了解一下客户的需求 然后琢磨出一套比较容易编写的流程 之后在于客户交谈中引导客户按照提前设想好的流程提需求 '''
以ATM项目为例:
''' # 项目大致需求 - 额度15000或自定义 - 支持多账户登录 - 可以查看账户余额 - 可以提现(可自定义手续费比例) - 提供还款接口 - 支持账户间转账 - 记录每月日常消费流水 - 实现购物商城,买东西加入购物车,调用信用卡接口结账 - 提供管理接口,包括添加账户、用户额度,冻结账户等 - ATM记录操作日志 - 用户认证功能 # 提炼项目功能 1.用户注册 2.登录功能 3.查看余额 4.余额提现 5.账户充值 6.金额转账 7.查看流水 8.添加购物车 9.查看购物车 10.结算购物车 11.管理员功能 # 项目大致技术栈 1.python基础核心编程 2.函数(装饰器) 3.常见内置模块(os,sys,json) '''
-
架构设计
''' 架构师会根据具体的业务需求选择: 开发的编程语言、 项目的后端框架、 项目所需的数据库(主库、从库) 项目组织结构(软件开发目录规范、自定义结构) 项目功能划分(将一个大项目拆分成多个小项目) 项目的报价(开发人员数量 天数等) 还需要产品经理继续叠加报价(其他部分人员开销等) '''
以ATM项目为例:
''' 基于上述架构分析 我们也应该将ATM分为三层架构: 展示层 只展示功能选项 基本逻辑 逻辑层 所有业务逻辑 数据层 给逻辑层提供数据存取 '''
常见软件架构大致分为三层:
浏览器、后台、数据库
- 第一层用户层只做简单的数据展示>>>也就是前端
- 第二层是整个程序的核心层,做具体业务逻辑>>>也就是后端
- 第三层是数据存取>>>也就是数据库
ATM架构程序的扩展性非常的强:
展示层等我们以后学了前端可以直接替换成页面;展示层目前是cmd操作,可以换成页面
核心逻辑层以后学了框架之后替换成框架;逻辑层目前是普通的python代码,可以换成django框架
数据存取层以后学了数据库直接替换成数据库;数据层目前是json文件,可以换成MySQL数据库
-
分组开发
''' 将项目拆分之后的多个小项目交给不同开发部门下的多个编程人员编写 每个人可能只会写很小的一部分(降低复杂度 提升开发效率 缩短开发周期) '''
''' 1.搭建项目目录 针对启动脚本文件start.py可以放在bin目录下 也可以直接放在项目根目录 将第二层分为三个文件(根据功能的不同) start.py conf settings.py lib common.py core src.py interface user_interface bank_interface shop_interface db log readme 2.功能框架搭建 利用空函数 3.注册功能 为了能够让你更加清晰的理解 我们先写面条版本 然后拆分!!! '''
-
项目测试
''' 交给测试部门全面测试 语法错误千万不要提交到测试部门才被发现 '''
-
交付上线
''' 将项目打包给运维人员运行维护即可 '''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?