软件开发过程模型
~ 传统过程模型:大型、超大型项目
- 瀑布模型(经典模型):
1. 可行性分析(研究做还是不做)---> 可行性分析报告
2. 需求分析(研究做什么)--->
头脑风暴 ---> 思维导图 ---> 需求规格说明书
产品原型图 ---> Axure RP ---> 线框图/高保真原型
3. 概要设计和详细设计
数据库设计 ---> E-R图 ---> 物理模型图 <--- PowerDesigner
面向对象设计(OOAD)---> UML ---> 类图 <--- StarUML / Enterprise Architect
~ is-a:继承
~ has-a:关联、聚合、合成
~ use-a:依赖
4. 编码
5. 测试(单元测试 ---> 系统测试 ---> 集成测试 ---> 验收测试)
6. 交付(上线)+ 运维
~ 敏捷模型:迅速推出产品占领市场
核心理念:增量迭代式开发
- SCRUM(将开发过程分为若干个冲刺周期)
1. 建立或更新需求池
2. 计划会议(评估工作量、制定计划)
3. 日常开发(站立会议、番茄工作法)
4. 版本发布
5. 评审会议(Show case)
6. 回顾会议(总结得失)
~ 版本控制 - 团队开发模式下如何使用Git
~ Git私服 ---> GitLab
~ Git标准工作流程:
- git-flow
- github-flow(PR流程)
1. 克隆或者更新项目
git clone URL
git pull
2. 基于master分支创建并切换到自己的分支
git branch NAME
git checkout NAME / git switch NAME
git checkout -b NAME / git switch -C NAME
3. 在自己的分支上做开发并实施版本控制
4. 把自己的分支推到服务器上
git push -u origin NAME
5. 在线发起合并请求(线上操作),请求将工作成果合并到master分支
- gitlab-flow