功能需求与非功能需求
需求分析是一个非常关键的过程,它能够评估系统或软件项目的成功。需求通常分为两种类型:功能性需求和非功能性需求。
功能要求:这些是最终用户作为系统应提供的基本设施而特别要求的要求。所有这些功能都必须作为合同的一部分纳入系统。这些以提供给系统的输入、执行的操作和预期的输出的形式表示或说明。与非功能性需求不同,它们基本上是用户在最终产品中可以直接看到的需求。
非功能性需求:这些基本上是系统根据项目合同必须满足的质量约束。实施这些因素的优先级或程度因项目而异。它们也被称为非行为要求。
他们基本上处理以下问题:
- 可移植性
- 安全
- 可维护性
- 可靠性
- 可扩展性
- 表现
- 可重用性
- 灵活性
以下是功能性和非功能性需求之间的区别
Functional Requirements Non 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