1. 软件开发模型

    • 瀑布模型:线性顺序进行的软件开发模式
      需求分析-概要设计-详细设计-编码-测试-维护
      优点:线性模型,文档驱动,只用关注当期阶段
      缺点:不响应需求变化,开发周期长,迭代速度慢,测试没有尽早介入
    • 敏捷开发模型:以用户需求为核心,采用迭代和循序渐进的方式进行软件开发,项目构建初期会被切分成不同的子系统和不同的迭代过程,在计划的执行中做出对变更的响应。
      scrum敏捷开发框架:
      在项目开发过程当中,把整个产品分成的若干个小迭代,是增量的与迭代的开发过程。
      在Scrum中,将产品待办列按商业价值排出需求列表,在每个迭代中开发团队从待办列中挑选最有价值的需求进行开发, 开发完之后,推广到市场,然后进入到下一迭代
  2. 软件测试模型

    • V模型:需求分析-概要设计-详细设计-编码-单元测试(对应详细设计)-集成测试-系统测试-验收测试
      优点:模型明确地将测试分为不同的级别或阶段,每个阶段都与开发的各阶段相对应。模型的测试策略包 括低层测试和高层测试,低层测试是为了源代码的正确,高层测试是为了整个系统满足用户的需求。
      缺点:测试是开发之后的一个阶段。实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现;过程是线性的
    • W模型:测试伴随整个软件开发周期。测试的对象不仅仅是程序,需求、设计等同样要测试。
      开发V:需求分析-概要设计-详细设计-编码-集成 -实施-交付
      测试V:需求测试-概要设计测试-详细设计测试-单元测试设计-集成测试设计-系统测试设计-验收测试设计
  3. 软件质量模型

    功能性:能够满足明确和隐含要求的功能
    可靠性:能够处理异常情况,在错误中很快恢复
    易用性:易懂、易学、易用、漂亮好看
    效率:占用的资源,提供适当的性能。通常,效率就是我们常说的产品性能
    可维护性:是指产品可被修改的能力
    可移植性:是指软件产品从一种环境迁移到另外一种环境的能力