Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
649 views
in Technique[技术] by (71.8m points)

requirements - 功能需求和非功能需求有什么区别? [关闭](What is the difference between functional and non functional requirement? [closed])

What is the difference between functional and non-functional requirements in the context of designing a software system?

(是什么在设计软件系统的环境功能非功能性需求之间的区别?)

Give examples for each case.

(给出每种情况的例子。)

  ask by Omid7 translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

A functional requirement describes what a software system should do, while non-functional requirements place constraints on how the system will do so.

(有一种功能要求描述一个软件系统应该做什么 ,而非功能性需求放在系统将如何做到这一点的限制。)

Let me elaborate.

(让我详细说明。)

An example of a functional requirement would be:

(功能需求的一个示例是:)

  • A system must send an email whenever a certain condition is met (eg an order is placed, a customer signs up, etc).

    (每当满足特定条件时(例如下订单,客户签收等),系统都必须发送电子邮件。)

A related non-functional requirement for the system may be:

(该系统的相关非功能性需求可能是:)

  • Emails should be sent with a latency of no greater than 12 hours from such an activity.

    (此类活动发送的电子邮件的延迟应不超过12小时。)

The functional requirement is describing the behavior of the system as it relates to the system's functionality.

(功能需求描述了与系统功能相关的系统行为 。)

The non-functional requirement elaborates a performance characteristic of the system.

(非功能需求详细说明了系统的性能特征 。)

Typically non-functional requirements fall into areas such as:

(通常,非功能性需求属于以下领域:)

  • Accessibility

    (辅助功能)

  • Capacity, current and forecast

    (容量,当前和预测)

  • Compliance

    (合规)

  • Documentation

    (文献资料)

  • Disaster recovery

    (灾难恢复)

  • Efficiency

    (效率)

  • Effectiveness

    (效用)

  • Extensibility

    (可扩展性)

  • Fault tolerance

    (容错能力)

  • Interoperability

    (互通性)

  • Maintainability

    (可维护性)

  • Privacy

    (隐私)

  • Portability

    (可移植性)

  • Quality

    (质量)

  • Reliability

    (可靠性)

  • Resilience

    (弹性)

  • Response time

    (响应时间)

  • Robustness

    (坚固性)

  • Scalability

    (可扩展性)

  • Security

    (安全)

  • Stability

    (稳定性)

  • Supportability

    (可支持性)

  • Testability

    (可测性)

A more complete list is available at Wikipedia's entry for non-functional requirements .

(对于非功能性需求,可以在Wikipedia的条目中找到更完整的列表。)

Non-functional requirements are sometimes defined in terms of metrics (ie something that can be measured about the system) to make them more tangible.

(有时,非功能性需求是根据指标(即可以对系统进行度量的指标)定义的,以使其更加明确。)

Non-functional requirements may also describe aspects of the system that don't relate to its execution, but rather to its evolution over time (eg maintainability, extensibility, documentation, etc.).

(非功能性需求可能也描述了与系统的执行无关的方面,而是与系统随时间的演变(例如,可维护性,可扩展性,文档等)无关。)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...