文章目录
- 1 软件生命周期和配置管理
-
- 提纲
- 1 软件开发生命周期(SDLC)
- 2 传统软件开发过程模型
- 3 敏捷开发
- 4 软件配置管理(SCM) 版本控制系统(VCS)
- 5 Git——软件配置管理工具
- 2 软件构造的过程、系统、工具
-
- 提纲
1 软件生命周期和配置管理
提纲
- 软件开发生命周期(SDLC)
- 传统软件开发过程模型(waterfall,incremental,V-model,prototyping,spiral)
- 敏捷开发、极限编程
- 软件合作开发
- 软件配置管理(SCM)及工具Git
1 软件开发生命周期(SDLC)
从0到1:计划->分析->设计->实现->测试、整合->维护
从1到n:版本更新、分支管理
2 传统软件开发过程模型
两基本模型:
- 线性(Linear)
- 迭代(Iterative)(有循环)
现有模型:
- 瀑布模型 Waterfall (Linear, non-iterative)
线性实现;需求->设计->实现->验证->维护;易用,但变化代价高 - 增量模型 Incremental (non-iterative)
分解项目,增量线性实现;每个增量用瀑布模型实现;先实现最高要求,增量开发后,对应需求被锁定 - V模型 V-Model (for verification and validation)
强调验证,瀑布模型的扩展;操作、架构与需求、细节的设计、实现,再细节、架构、操作的验证与维护,反馈给对应设计层面,验证是否成功 - 原型法 Prototyping (iterative)
先实现系统的原型,原型反映系统的某些方面特征(可忽略细节),让用户判断是否符合特征,在原型实现与验证的迭代过程中,通过原型确认、实现、整合需求,再开发软件成品;可以更早获得用户反馈、明确规约,并对软件进行评估 - 工作区 本地文件系统,存储正在修改版本的文件
- 暂存区 隔离工作区和仓库
- 编程
编程语言,建模语言(如UML),配置语言(如XML、JSON) - 检查和静态代码分析
- 动态代码分析、性能分析
注意运行的动态指标,如时空复杂度、代码覆盖率 - 调试(内存查看、日志)、测试
测试保证软件符合规约,调试进一步发现错误、找到错因、修正错误 - 重构
不改变外部表现,整合内部代码,提高复用性,并使其易于改变
相应的,文件也分为已修改、已暂存、已提交等状态
版本库中会共享未修改的副本
分支管理:
git checkout -b(创建分支)/-d(删除分支) 分支名
git checkout 分支名 切换分支
git merge 分支名 指定分支与当前分支合并
2 软件构造的过程、系统、工具
提纲
软件构造的广义过程:设计->编程/重构->调试->测试->生成->发布
软件构造的狭义过程(开发):验证->编译->链接->测试->打包->安装->发布
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!