HIT软构第三章软件构造过程与配置管理总结

  • 软件开发过程

考点是

      1. 根据用户不同需求设计不同的开发过程
      2. 概括区别
    1. 传统开发过程
      1. 线性过程
        1. 最基本的就是线性,问题在于软件开发不同于盖房子,它不能对过程进行监督和检查,只有在最后一刻才能看见全貌。
      2. 迭代过程
        1. 上面两种都是基本开发过程,由此延申出其他。
      3. 瀑布模型
        1. 优点:线性推进;阶段划分清楚;无迭代
        2. 缺点:不适应需求变化+大量报告+修改量大
      4. 增量模型(Incremental (non-iterative))
        1. 将单独功能模块变成小的可执行的产品切块
        2. 局限
          1. 对增量的划分必须有经验
          2. 架构公开,新增加不能大量修改已有增量
      5. V字模型
        1. 是瀑布模型的延伸
        2. 展示了SDLC的每个阶段与其测试阶段之间的关系
      6. 原型模型
        1. 用户需求不明确

先开发一个原型用于展示,不一定可以运行

        1. 优点:弄清客户需求并改变
        2. 缺点:忽略程序结构的设计;整体结构不是很好
      1. 螺旋模型
        1. 增加风险分析环节,多轮迭代遵循瀑布模式和原型过程
        2. 缺点:开发周期长,是由于一些大型软件:EX:操作系统的开发
    1. 敏捷开发
      1. 快速迭代+小规模持续改进
      2. 适用于一些开发周期要求特别短的比如一些互联网产品
      3. 考点:考试考过:
        1. 交互高于过程和工具
        2. 可工作的软件高于全面的软件
        3. 客户协作高于谈判
        4. 适应变化高于适应计划

总结:人的交互协作,能跑起来就行,适应变化

  • Git
    1. Git当中的每个操作都会对图形成具体影响
    2. Git和传统版本控制工具的区别:传统描述的是相对于上一个版本文件的变化情况,不会记录整体。问题是创建分支的时候需要获取整体情况,需要从初始版本开始叠加。创建分支的时间与版本的复杂度挂钩,而git(snapshot模式)会存储改变后的整个文件,不变的就用指针或者链表指向文件。
      1. 考点:考查在执行一系列指令之后的图是什么样子的

 

    1. 考点:Object Graph
      1. 是个有向无环图
      2. 对于每个版本来说:
        1. 父版本:0(初始版本)/1(commit)/2(morge)
        2. 子版本:任意

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值