📜  系统的功能和非功能需求

📅  最后修改于: 2021-08-25 10:29:39             🧑  作者: Mango

需求只是意味着需要或想要的东西。需求工程是定义需求,以适当的方式建立,记录需求,保持系统中客户需求质量以及运行和开发的局限性的过程。这是软件工程的第一个活动。需求是通过软件系统的设计,产品或过程来满足的需求。需求可以分类为:

  1. 用户要求:
    用户需求仅表示软件系统应满足的用户需求。它记录在用户需求文档(URD)中。总体陈述通常以自然语言编写,并附有服务系统提供的说明及其操作约束。如果用户需求清晰明了且简短,那么用户需求就很好,从而导致整体质量提高,生产率提高,可追溯等。
  2. 系统要求 :
    系统需求仅表示系统平稳高效运行的需求。它是一份结构化的文档,详细描述了系统功能,服务和操作约束。它需要许多硬件和软件资源。如果这些硬件和软件资源不可用或较少,则可能导致系统故障或在性能期间引起问题。在客户和承包商之间,它被写为合同,以定义为提高生产率而需要实施的所有要求。
  3. 软件规格:
    它是对软件系统要求的详细描述,可以通过其设计和实现来开发软件。对于软件开发人员,通常编写软件规范,使开发人员更容易理解软件的总体要求。

系统需求的两种主要类型:

  1. 功能要求 :
    功能要求是强制性的,这意味着它是强制性的并且需要得到满足。它们通常描述和定义软件系统最终产品的功能,并且仅关注最终产品的功能。

    这些是系统应完成或执行的要求,例如计算,数据操作等。很容易找出功能要求并在用例中捕获。

    系统应提供服务说明,该服务说明描述系统如何对提供的输入做出反应,并且应该清楚,以及系统在特定情况下如何做出反应。功能需求是取决于软件类型的需求类型,因为不同的软件具有不同的功能需求,使用软件的系统,因为它严重影响软件的功能和用户满足其需求。用户的功能需求是高级抽象语句。它通常描述了什么时候需要使用什么系统,但是应该通过功能系统要求来详细描述系统功能。

  2. 非功能需求:
    非功能性要求不是强制性的,这意味着它们不是强制性的。非功能性需求定义了系统属性和系统性能。系统的不同属性可以是可靠性,响应时间,可维护性,可用性,存储要求。

    它仅关注最终产品的工作方式,要找出非功能性需求并将其捕获为质量属性并不是一件容易的事,也很难。测试包括性能,压力,安全性测试等。非功能性需求会被更多地拒绝,并且如果不满足非功能性需求,则整个系统将无用。

    例子 –
    产品需求,组织需求,外部需求,容量或存储需求,资源需求,整体性能需求时间等。