📜  功能需求与非功能需求

📅  最后修改于: 2022-05-13 01:57:00.029000             🧑  作者: Mango

功能需求与非功能需求

需求分析是一个非常关键的过程,它能够评估系统或软件项目的成功。需求通常分为两种类型:功能性需求和非功能性需求

功能要求:这些是最终用户作为系统应提供的基本设施而特别要求的要求。所有这些功能都必须作为合同的一部分纳入系统。这些以提供给系统的输入、执行的操作和预期的输出的形式表示或说明。与非功能性需求不同,它们基本上是用户在最终产品中可以直接看到的需求。

非功能性需求:这些基本上是系统根据项目合同必须满足的质量约束。实施这些因素的优先级或程度因项目而异。它们也被称为非行为要求。
他们基本上处理以下问题:

  • 可移植性
  • 安全
  • 可维护性
  • 可靠性
  • 可扩展性
  • 表现
  • 可重用性
  • 灵活性

    以下是功能性和非功能性需求之间的区别

    Functional RequirementsNon Functional Requirements
    A functional requirement defines a system or its component.A non-functional requirement defines the quality attribute of a software system.
    It specifies “What should the software system do?”It places constraints on “How should the software system fulfill the functional requirements?”
    Functional requirement is specified by User.Non-functional requirement is specified by technical peoples e.g. Architect, Technical leaders and software developers.
    It is mandatory.It is not mandatory.
    It is captured in use case.It is captured as a quality attribute.
    Defined at a component level.Applied to a system as a whole.
    Helps you verify the functionality of the software.Helps you to verify the performance of the software.
    Functional Testing like System, Integration, End to End, API testing, etc are done.Non-Functional Testing like Performance, Stress, Usability, Security testing, etc are done.
    Usually easy to define.Usually more difficult to define.
    Example

    1) Authentication of user whenever he/she logs into the system.
    2) System shutdown in case of a cyber attack.
    3) A Verification email is sent to user whenever he/she registers for the first time on some software system.

    Example

    1) Emails should be sent with a latency of no greater than 12 hours from such an activity.
    2) The processing of each request should be done within 10 seconds
    3) The site should load in 3 seconds when the number of simultaneous users are > 10000