[软件构造笔记] 第二章 软件构造过程

文章目录

  • 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)
    先实现系统的原型,原型反映系统的某些方面特征(可忽略细节),让用户判断是否符合特征,在原型实现与验证的迭代过程中,通过原型确认、实现、整合需求,再开发软件成品;可以更早获得用户反馈、明确规约,并对软件进行评估
    • 工作区 本地文件系统,存储正在修改版本的文件
    • 暂存区 隔离工作区和仓库

    相应的,文件也分为已修改、已暂存、已提交等状态
    版本库中会共享未修改的副本

    分支管理:
    git checkout -b(创建分支)/-d(删除分支) 分支名
    git checkout 分支名 切换分支
    git merge 分支名 指定分支与当前分支合并

    2 软件构造的过程、系统、工具

    提纲

    软件构造的广义过程:设计->编程/重构->调试->测试->生成->发布

    • 编程
      编程语言,建模语言(如UML),配置语言(如XML、JSON)
    • 检查和静态代码分析
    • 动态代码分析、性能分析
      注意运行的动态指标,如时空复杂度、代码覆盖率
    • 调试(内存查看、日志)、测试
      测试保证软件符合规约,调试进一步发现错误、找到错因、修正错误
    • 重构
      不改变外部表现,整合内部代码,提高复用性,并使其易于改变

    软件构造的狭义过程(开发):验证->编译->链接->测试->打包->安装->发布

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月23日
下一篇 2020年5月23日

相关推荐