需求分析知识点滴【一】

1. 不同生命周期模型中需求的特点

    瀑布模型:使用简单,并且直观明显;必须严格控制;软件需求要有明确的界定;具备如何实施的解决方案的知识。

    V型模型:使用简单,并且直观明显;强调核查和验证;软件需求要有明确的界定;软件开发技术和工具必须是已知的。

    演化模型:针对风险性较大,复杂的系统开发,风险控制是必需的,风险分析手段有原型、仿真等;充分的概念与需求确认、多个原型开发、各阶段严格的生命周期所付出的代价可能太高。

    演化模型:通常对中小型规模的项目比较有效。对于大型的周期很长的项目开发,因需求和系统结构的不断变化会使系统结构变得难以维护,变更系统越来越困难,成本也会越来越高;演化模型是在连续的基础上开发一个系统,用户的需求和系统的要求可能不明确或只是部分确定。

    增量模型:结合了瀑布模型和演化模型的综合优势;确定用户需求,在每个增量阶段确定高层次的详细的需求;用户不需要等到最后一刻才能看到的产品;整个系统故障的风险大大降低。

2. 解释不同类型的需求

业务需求:业务需求反映了组织机构或客户对系统、产品高层次的目标要求,商业约束。它们通常在前景和范围文档中予以说明

用户需求:用户需求描述了用户使用产品必须要完成的任务,它们在用例(use case)和情景描述(scenario)文档中予以说明。

功能需求:“一般”意义的需求指的是功能或行为需求,这样的需求通常是和解系统的适当行为(用户需求)相关联,是开发人员必须实现的软件功能。

非功能需求:非功能需求是功能需求的补充,它描述了系统完成功能实现的补充和约束条件。

系统需求:系统需求描述了系统中各个方面的需求,可能包含硬件、软件、其它关联系统,而且系统的功能及非功能描述并不依赖物理层次,如软件和硬件的划分软件需求需要从系统需求部分独立出来。(对于一个复杂的系统或产品,软件功能需求只是系统需求的一个子集,需要从系统需求中剥离出来。)

3. 不合格的需求派生的问题

  • 无足够用户参与 : 用户不多导致产品无法被接受
  • 用户需求的不断增加 : 带来过度的耗费和产品质量的降低
  • 模棱两可的需求说明 : 将导致时间的浪费和返工
  •  用户增加一些不必要的特性和开发人员画蛇添足
  •  过分简略的需求说明以致遗漏某些关键需求
  • 忽略用户分类 : 忽略某类用户的需求将导致众多客户的不满
  • 不完善的需求说明使得项目计划和跟踪无法准确进行

4. 优秀需求具有的特性

  •  完整性:每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。
  • 正确性:每一项需求都必须准确地陈述所要开发的功能。
  • 可行性:每一项需求都必须在已知系统和环境的技术、资源等限制范围内是可以实施的。
  • 必要性:每一项需求都必须和某项真正用户需求。
  • 与实现无关性:需求关注的是系统将要做些什么,其后的阶段如设计,关注该系统将怎样来实现。
  • 划分优先级:给每项需求分配一个可实施的优先级以指明特在产品中的重要程度。
  • 无二义性:每项需求对所有相关的读者只能有一个明确统一的解释。
  • 可验证性:每项需求都应能够被人或机器加以验证,否则将无法确定该项需求是否实现正确。
  • 正确的层面:每项需求或者一组需求都应包含相应的层面信息,以便据此足以导出下一层产品需求或设计,但不应提供对下一层活动如设计不必要的限制。
  •  一致性:需求规格说明一致性是指软件需求不能与其它需求如系统需求、业务需求相矛盾。
  • 简洁明了:每一需求都应清晰地对应某一系统功能或用户需要,它能够容易地被所有风险承担者阅读和理解并能够容易地映射到某一用例或场景。
  • 可修改性
  • 可跟踪性:应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链。


你可能感兴趣的:(活动,文档,工具,UseCase,任务,产品)