笔记 - 软件工程 - 开发模型,McCabe公式

  • 瀑布模型:适合二次开发和明确需求的开发,顺序:计划、需求分析、设计、编程、测试、维护;它的变体是V模型,等于每阶段加上测试计划;
  • 增量模型:适合产品按照分批完成,第一批一般是核心功能,而且发布快,每增量一次走一次顺序;
  • 原型模型:适合不明确的需求,从客户模糊的描述得到真实的需求,之后被抛弃;
  • 演化模型:同样适合不明确的需求,但不同是从描述得到真实的需求,不会抛弃,逐步演变成最终软件产品;
  • 螺旋模型:适合大型项目;结合瀑布和演化优点,顺序:计划、风险分析、实施工程、客户评估,作为一个螺旋,再若干迭代;
  • 喷泉模型:适合面向对象的项目,以用户需求为动力,以对象作为驱动的模型,开发具有迭代性和无间隙性(分析设计编码边界不会很明显);
  • V模型:适合传统信息系统的项目:开发中有很多测试级别;
    • 需求分析时,写验收测试和系统测试
    • 概要设计时,写集成测试的测试计划
    • 详细设计时,写单位测试的测试计划
  • 快速应用开发(RAD):适合系统模块化较多的项目,不适合技术风险高的项目
  • 迭代模型:需求确实不明确,经常更换的。
  • 基于构件模型:
    • 螺旋的特点,演化的本质,不同是以预先构件,打包好软件;
    • 有领域工程,应用系统工程,其一目的是可复用构件性,领域体系结构;其二目的是使用构件组装系统
  • 统一工程
    • 以用例和风险驱动,以架构为中心,迭代并增量,由多个小项目组成;
    • 有4个阶段:起始阶段(生命周期目标)、精化阶段(生命周期架构)、构建阶段(初始运行功能)、移交阶段(交付客户)。
  • 敏捷方法
    • 由极限编程、水晶法、并列争求法、自适应软件开发、敏捷统一过程
    • 极限编程4个价值观:沟通、简单性、反馈、勇气,5个原则:快速反馈、简单性假设、逐步修改、更改和优质工作,12个最佳实践(计划,小型发布,隐喻,简单设计,重构,结队编程。。。。)
    • 水晶法每个软件都需要不同的策略,约定,方法
    • 并列争求法,用30天做一次冲刺的迭代方法,按优先级实现产品
    • 自适应软件开发,6个原则。一个使命;特征是客户价值的关键;“重做”与“做”同样关键;变化不被是为改正,是实际情况的调整;确定交付时间使开发者考虑到关键需求;风险页包含再其中
    • 敏捷统一过程:采用“大型上连续”,“小型上迭代”,统一工程的4个阶段
  • McCabe算法公式:V(G)=E-N+2 (E是线数量,N是结点数量)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章