需求分析过程

  • 需求分析层次

        1.业务需求

反映了组织机构或客户对系统、产品的高层次的目标追求,定义了项目的远景和范围。这些需求通常涉及项目的发展方向、功能范围、目标客户及价值来源。业务需求会形成一份“远景与范围文档”。

业务需求从总体上描述了为什么要达到某种效应,组织希望达到什么目标。

        2.用户需求

用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明,也就是用户需求必须能够体现某种产品将给用户带来的业务价值,描述用户能使用该产品来做些什么。

        3.系统需求

开发人员必须实现的该产品的功能,使得用户能完成他们的任务,从而满足了业务需求,也就是开发人员如何设计具体的解决方案来实现这些需求。

  • 需求分析分类

     按服务对象分类
        1.业务需求

主要关注组织或客户高层次的目标。这些需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。

        2.用户需求

主要描述的是用户的目标,或用户要求系统必须能完成的任务。用户需求长注的是用户在使用产品或系统时的具体需求和期望。用例、场景描述和事件 响应表都是表达用户需求的有效途径。

  1. 功能需求
  2. 数据需求
  3. 性能需求
  4. 接口需求

  按包含内容分类
        1.功能需求

是软件系统的最基本的需求表达。

需要详细的描述系统功能特征、输入输出接口、异常处理方法等等。

规定了开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求关注的是软件产品或系统应该具备的具体功能

包括了:

  1. 对系统应该提供的服务
  2. 如何对输入做出反应
  3. 系统在特定条件下的行为描述
        2.非功能需求

主要关注软件产品或系统的性能、安全性、易用性、可维护性等方面的要求。这些需求虽然不直接涉及软件的具体功能,但对于软件的质量和用户体验至关重要。

  1. 对系统提出性能需求
  2. 提出可靠性和可用性需求
  3. 系统安全以及系统对开发过程、时间、资源等方面的约束和标准等等

  • 软件需求分析概念

为了开发出真正满足用户需要的软件产品,明确地了解用户需求。需求分析就是要回答“系统必须做什么”这个问题。它完成的好坏直接影响后续软件开发的质量。

        软件需求分析特点
  1. 面向用户
  2. 清晰性、无二义性、一致性和准确性
  3. 完整性
  4. 逐步完善
  5. 严格的需求验证、反复修改的过程

        软件需求分析目的
  1. 确定用户需求和期望
  2. 明确软件系统的功能和性能要求
  3. 识别潜在风险和问题
  4. 提高软件开发的效率和质量

        软件需求分析原则
  1. 需求分析是一个过程,它应该贯穿系统的整个生命周期
  2. 需求分析应该是一个迭代的过程
  3. 需求的表现应该具体清晰,并且是可度量的,可实现的,最好能够对需求进行适当的量化

        软件需求分析任务

主要是深入研究和理解用户需求,以确保软件系统能够满足用户的期望和要求。具体的任务包括以下几个方面:

  1. 确定系统的综合要求:这包括功能需求、性能需求、运行需求以及将来可能提出的需求。
  2. 分析系统的数据要求:这涉及到对数据流、数据存储和数据管理的需求分析,以确保系统能够正确地处理和管理数据。
  3. 导出系统的逻辑模型:基于上述需求,建立系统的逻辑模型,这有助于明确系统的结构和功能,并为后续的设计和开发工作提供基础。
  4. 修正系统开发计划:根据需求分析的结果,可能需要对原有的开发计划进行调整,以确保计划的合理性和可行性。

  • 需求工程

需求开发
        1.获取需求

收集并明确用户需求的过程。通过调查研究来理解当前系统的工作模型、用户对新用户的设想和要求。

        (1).问卷调查

用户填写问卷的形式了解用户对系统的看法。问题循序渐进,可选答案不局限,以免限制用户思维。回收后,进行汇总统计,分析出有用信息。

        (2).访谈

开发人员与特定的用户代表进行座谈的需求获取方法。问题涉及方案有:什么时候(when)、在哪里(Where)、做什么(What)、谁(Who)、为什么(Why)、如何(How)。问题可分为开放性问题和封闭性问题。

        (3).实地操作

开发人员以用户的身份参与现有系统的使用过程,在亲身经历的基础上,观察用户的工作过程,发现问题并及时提问。

        (4).建立原型

就是目标系统的一个可操作模型。

        2.分析需求

在收集到需求后,需要对需求进行深入的分析和理解。这个过程包括识别需求的优先级、明确需求的实现方式、评估需求的可行性和风险等。需求分析的结果将直接影响后续的软件设计和开发工作。

        3.定义需求(需求规划说明书)

根据需求分析的结果,编写需求规格说明书,将用户的需求转化为具体的、可操作的技术要求。需求规格说明书是后续软件开发工作的重要依据,需要确保它的准确性和完整性。

        4.验证需求(需求评审)

在需求规格说明书编写完成后,需要与用户进行确认和验证,确保需求被正确理解和实现。这个过程可能需要多次的迭代和修改,以确保最终的需求满足用户的期望。

需求管理

它确保项目团队能够有效处理和管理来自用户或其他利益相关者的需求变更,同时保持项目的顺利进行和最终产品的质量

        1.需求变更控制

由于用户需求可能会随着项目的进展而发生变化,或者项目本身可能会遇到一些新的挑战和机会,因此需要对这些变更进行有效的管理和控制。这通常包括建立一个明确的变更控制流程,确保所有的需求变更都要经过正式的评估、批准和执行。通过这个过程,项目团队可以确保变更不会对项目的进度、预算和质量造成不利影响,同时确保用户得到他们真正需要的功能。

        2.需求跟踪

是确保项目满足所有用户需求的重要手段。

它涉及建立一个需求跟踪矩阵或类似的工具,将每个需求与项目的其他元素(如功能点、测试用例、代码模块等)进行关联。这样,当需求发生变更或出现问题时,项目团队可以迅速定位到相关的元素,并进行相应的调整。通过需求跟踪,团队可以更好地管理项目的范围和进度,确保所有重要的需求都得到满足。

        3.需求状态跟踪

是监控需求当前状态的一种方式。

这包括确定每个需求的状态(如待评估、已批准、正在实施、已完成等),并在整个项目周期中持续更新这些信息。通过需求状态跟踪,团队可以了解哪些需求已经得到满足,哪些还需要进一步处理,以及是否存在任何潜在的风险或问题。这有助于项目团队更好地制定计划和资源分配,确保项目能够按时交付。

        4.需求文档版本控制

是记录和管理用户需求的重要工具。随着项目的进展和需求的变化,需求文档也需要不断更新。因此,对需求文档进行版本控制非常重要。

这通常涉及使用版本控制工具(如Git、SVN等)来管理文档的更新和变更历史。通过版本控制,团队可以轻松地查看和比较不同版本之间的变化,确保团队成员都使用最新和正确的文档版本。此外,如果出现问题或需要回溯,团队可以通过查看历史版本来获取更多信息和上下文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值