软件开发流程

# 真正的企业里软件从立项到交付整个过程
-立项:确定公司要开发这个软件 公司高层
-软件来源
-产品经理设计出来的----》互联网项目 互联网公司
-用户(医院,政府部门,企业。。) 传统软件公司
-需求分析
# 互联网项目
-需求调研和分析:产品经理设计出来的
# 传统软件
-需求调研和分析:市场人员跟客户对接
-产品经理 ,开发人员跟客户对接,生成需求文档
-原型设计:产品经理
-懂业务
-画出原型图:app,网页款
-分任务开发
-UI设计
-根据原型图设计 切图
-前端团队
-前端拿着切图写代码(pc,小程序,移动端)
-mock数据:搞假数据,先把功能开发出来
-后端团队
-组里开会,需求文档和原型图,设计后台
-架构,数据库设计
-分任务开发:用户,商品板块
-测试(质量控制部)
-普通功能测试
-接口测试
-压力测试,jmeter
-自动化测试
-联调测试 -项目上线(运维) -持续维护项目 # 作为后端开发,公司里开发的流程
-开新项目,先开会,设计技术选型,数据库设计
-产品,原型图做好了
-老大在项目管理平台(禅道)分配任务给我
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn)
-管理平台点完成
-所有都开发完了,分支合并
-跟前端联调
-发版 -如果是老项目
-老大在项目管理平台(禅道)分配任务给我
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn) -所有都开发完了,分支合并
-跟前端联调
-发版

项目需求

# 关于路飞项目
-商城类
-知识付费项目
-前后端分离
-主站vue
-后台管理 simpleui # 需求
-首页功能
-首页轮播图
-推荐课程(自己增加)
-用户功能
-用户名密码登录
-手机号验证码登录
-发送手机验证码
-验证手机号是否注册过
-注册接口
-查看用户信息(自己增加)
-修改用户信息(自己增加)
-课程列表功能
-课程列表接口,课程列表展示
-排序,过滤,分页
-课程详情
-课程详情接口
-视频播放功能
-视频托管(第三方,自己平台) 文件托管
-下单功能
-支付宝支付:生成支付链接,付款,回调修改订单状态
-购买成功功能

Python-pip永久换下载源

# pip3 install django
-第三方开发者,开发了第三方模块,把模块打包传到了pypi上
-根据名字,把这个打包好的模块下载下来了
-以下在公司中出现的情况
-公司不能上外网
-xx.whl 文件提交下好,再安装----》pip install 路径/xx.whl
-已经有项目,模块装完了,想把这个项目所有的模块导出---》导入到别的项目
-可以顺利上外网
下载会很慢,因为在国外
国内有些镜像站:建议用阿里云
# 配置本地镜像站为阿里云,以后只要pip install 就是去阿里云下载
- 1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
-2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
-3、新增 pip.ini 配置文件内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
use-mirrors =true
mirrors =https://mirrors.aliyun.com/pypi/simple
trusted-host =mirrors.aliyun.com # 自己写个模块,就叫你的名字 ,注册pypi账号,打包好 setup.py 传到 pypi上,以后别人
pip install 你的模块 就可以下载
如果有兴趣,可以把自己写的模块,传上去

虚拟环境

# 虚拟环境是什么?
-有个系统环境 安装的python3.8 ,装模块,都装在 解释器文件夹的Lib\site-packages
-现在有两个django项目,一个基于django3 写的,一个基于django2 写的
-把两个项目都打开,同时开发
-每个项目都用自己独立的环境,装的模块相互不影响
-两种解决方案:
Virtualenv
pipenv # 如何安装和配置
-1 安装两个模块
pip3 install virtualenv # 虚拟环境是它
pip3 install virtualenvwrapper-win # 对虚拟环境的加强,以后只需要简单的命令就可以使用和创建虚拟环境
-2 配置虚拟环境管理器工作目录
-在环境变量中新建:WORKON_HOME: D:\Virtualenvs
-在D盘创建文件夹,以后新建的虚拟环境,都会在这个文件夹下
-3 去向Python3的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击 # 如何创建和使用虚拟环境
-创建并进入到虚拟环境: 创建一个虚拟环境叫luffy,会放在D:\Virtualenvs
mkvirtualenv -p python3 luffy
-cmd 窗口中带着虚拟环境名字,表示在虚拟环境中,以后安装的所有模块,都是给虚拟环境安装的 -退出虚拟环境
deactivate -查看有哪些
workon
-进入虚拟环境
workon luffy -删除虚拟环境
rmvirtualenv 虚拟环境名称 # 本地有了虚拟环境,pycharm使用虚拟环境
-已有项目,配置虚拟环境如何做
-新建项目,使用已有虚拟环境
django-admin
pycharm创建 # 了解 使用pycharm创建虚拟环境
-新建项目,新建虚拟环境

项目前后端创建

# 创建路飞后端
-创建路飞项目前,在虚拟环境中先装好 django 3.2.2
-选中虚拟环境,起名叫luffy_api # 前端项目创建
vue create luffy_city

python包导入

# 模块和包的区别
-模块就是一个py文件
-包是一个文件夹下有__init__.py,里面有很多py文件 -以后下载第三方包,或自己写包,如何导入 # python 导入包
- pycharm会把项目路径加入到环境变量 ,命令行中不会加入
- from 的路径,需要从环境变量开始
-安装的第三方模块,都在环境变量
-内置模块 os,sys, 也在环境变量中,可以直接导入
- 在包内部,推荐使用相对导入
-一旦使用相对导入,该文件,就不能以脚本形式运行了(不能右键运行)
-在同一个目录下的推荐使用相对导入
-不同目录下的推荐使用绝对导入

后端项目目录调整

# 调整目录后成
"""
├── luffy_api
├── logs/ # 项目运行时/开发时日志目录 - 包
├── manage.py # 脚本文件
├── luffy_api/ # 项目主应用,开发时的代码保存 - 包
├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包
├── settings/ # 配置目录 - 包
├── dev.py # 项目开发时的本地配置
└── prod.py # 项目上线时的运行配置
├── urls.py # 总路由
└── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件]
└── scripts/ # 保存项目运行时的脚本文件,小的测试脚本 - 文件夹,不提交到git上
""" # 调整后运行不了
-原因是 找不到配置文件了---》django项目运行,第一步就要加载配置文件
-开发阶段:python manage.py runserver ---->找不到配置文件就报错了---》改manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.dev')
-上线阶段:uwsgi运行----》
asgi.py
wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.prod') -项目能运行 - 创建app
-python manage.py startapp home 命令在哪执行,app就创建在哪
-cd 到 apps路径下创建app
-python ../../manage.py startapp home - 注册app
-首先在app下的apps.py 中修改name name = 'luffy_api.apps.home' -以后想直接写app名字,所以要吧apps的路径加入到环境变量,加载配置文件的一开始
-在配置文件中把apps和小路飞路径加入到环境变量
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
# 把BASE_DIR也加入到环境变量,以后直接从小路飞开始导起即可
sys.path.insert(0, BASE_DIR) - 导入模块,编辑器爆红,爆红不一定是真的错
- 把加入到环境变量的路径,右键,做为source root

Python实战项目1-开发流程需求分析/基础环境搭建的更多相关文章

  1. 再一波Python实战项目列表

    前言: 近几年Python可谓是大热啊,很多人都纷纷投入Python的学习中,以前我们实验楼总结过多篇Python实战项目列表,不但有用还有趣,最主要的是咱们实验楼不但有详细的开发教程,更有在线开发环 ...

  2. 说说真实Java项目的开发流程,以及面试前的项目准备说辞

    介绍项目是必不可少的Java面试环节,求职者需要借此证明自己真实Java项目的经验,如果再做的好的话,需要借此展开自己的亮点说辞. 不过之前如果只有学习项目经验,比如是自己跑通一个项目,或者是在培训班 ...

  3. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  4. IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  5. 【1】windows下IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  6. [置顶] Django 微信开发(一)——环境搭建

    Django 微信开发(一)——环境搭建 随着移动互联网时代的到来,微信——一个改变着我们生活的产品悄悄走近了我们的生活.我们不得不觉得自己很幸运,自己能在这个世界上遇到像QQ.微博.微信这样优秀的产 ...

  7. dos基础+环境搭建基础理论

    dos基础 市面上两大操作系统 windows.*nix(unix.linux.mac.bsd(安全性比较高)) 后三种都属于unix的衍生版本 linux是为了兼容unix开发的,最后开放了源代码 ...

  8. Maven 学习笔记(一) 基础环境搭建

    在Java的世界里,项目的管理与构建,有两大常用工具,一个是Maven,另一个是Gradle,当然,还有一个正在淡出的Ant.Maven 和 Gradle 都是非常出色的工具,排除个人喜好,用哪个工具 ...

  9. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...

  10. 01-Hadoop概述及基础环境搭建

    1 hadoop概述 1.1 为什么会有大数据处理 传统模式已经满足不了大数据的增长 1)存储问题 传统数据库:存储亿级别的数据,需要高性能的服务器:并且解决不了本质问题:只能存结构化数据 大数据存储 ...

随机推荐

  1. 【数据库】union和union all合并结果操作

    一.含义 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的 ...

  2. (四) 一文搞懂 JMM - 内存模型

    4.JMM - 内存模型 1.JMM内存模型 JMM与happen-before 1.可见性问题产生原因 下图为x86架构下CPU缓存的布局,即在一个CPU 4核下,L1.L2.L3三级缓存与主内存的 ...

  3. Python:多进程并行编程与进程池

    Python的并行编程可以采用multiprocessing或mpi4py模块来完成. multiprocessing是Python标准库中的模块,实现了共享内存机制,也就是说,可以让运行在不同处理器 ...

  4. Linux命令第三部分

    一.命令 1.mv命令 ·不更改文件路径 改名 ·更改文件路径 剪切 mv  [选项]  源文件或目录   目标文件或目录 2.which 查找命令.文件存放目录 搜索范围由环境变量PATH决定 3. ...

  5. python 之集合(set)

    集合是一个无序的,不允许重复的元素列表,根据这个特性,可以利用集合对列表进行去重操作 集合创建 # 集合中不能含list.dict set2 = {"rice", 1, (True ...

  6. JavaScript:变量:如何声明变量?

    声明变量可以用下面几种方式: 但是这几种声明方式肯定是有区别的,主要是上面三种方式的区别,这需要结合window对象和作用域来说明,这里不赘述. 声明变量的时候,推荐使用let,这是ES6新推出的更好 ...

  7. AWVS漏洞扫描器的使用

    前言 AWVS是一款强大的web漏洞扫描工具,扫描速度快,可针对特定的漏洞进行扫描测试,用于在按全人员对指定企业进行安全扫描以及测试人员对web应用检测漏洞. AWVS使用以及功能介绍 这里介绍的是使 ...

  8. Azure DevOps 的架构窥探

    工作的缘故,接触 TFS (Team Foundation Server)挺多的,现在改名为 Azure DevOps,分为 可私有化部署版本 Azure DevOps Server,简称ADS,以及 ...

  9. Kali Win-KeX SL

    内容: 概述 先决条件 用法 开始 声音支持 多屏支持 停止 概述 无缝模式下的 Win-KeX 将在 Windows 桌面的屏幕顶部启动 Kali Linux 面板. 通过面板启动的应用程序将与 M ...

  10. 线段树套线性基——题解P4839 P哥的桶

    文章历史 2022-08-03: 文章初稿,由于对算法介绍过于少而被管理员打回重造. 2020-08-06:将算法介绍进行扩写,并删除了一些可有可无的内容或玩梗内容. 管理员审核题解辛苦了. 简要题意 ...