功能需求与非功能需求
功能性需求和非功能性需求之间的关键区别在于,功能性需求描述了系统应该做什么,而非功能性需求描述了系统如何工作。
在软件工程中,软件需求集中于软件应该解决的需求。开发软件时,第一步就是收集需求。这是最重要的步骤之一,因为整个产品依赖于收集的需求。一旦收集到需求,就对它们进行分析并记录到软件需求规范(SRS)中。软件需求可以分为功能需求和非功能需求两部分。
目录
1. 概述和主要区别
2. 什么是功能需求
3. 什么是非功能需求
4. 并列比较——功能需求与非功能需求的表格形式
5. 摘要
什么是功能要求(functional requirements)?
指定软件功能方面的需求称为功能需求。功能需求从一个项目变更到另一个项目。它们定义了系统或组件提供的功能。
假设一个医院管理系统。它可以有登录模块、病人模块、医生模块、预约模块、报表模块、计费模块等几个模块。当提供正确的用户名和密码时,登录模块应成功登录到系统。患者模块应保存、编辑和删除患者详细信息。医生模块应保存、编辑和删除医生详细信息。预约模块应安排、重新安排和删除预约。报告模块应生成医疗报告。计费模块应生成用于支付的账单。这些是医院管理系统的一些功能要求。
什么是非功能需求(non functional requirements)?
与软件功能方面无关的需求属于非功能需求类别。它们定义了软件的预期特性。用户可以对它们进行假设。许多用户关心如何正确地处理非功能性需求,特别是对于大型系统。
医院管理系统应具有以下非功能性要求。速度是一个相当大的要求。系统应在最短的响应时间内处理数据。系统应该是安全的。数据只能由授权用户访问。它应该易于维护。该软件应该是一个工作和可用的产品。数据应可靠,必要时可用。因此,医院管理系统应具有性能、安全性、可维护性、可用性、可靠性和可用性等非功能性要求。
功能性(functional)和非功能需求(non functional requirements)的区别
功能需求与非功能需求 | |
功能需求是定义系统或其子系统功能的需求。 | 非功能需求是指规定可用于判断系统运行情况的标准的需求。 |
使用 | |
功能需求用于描述系统的功能。 | 非功能需求描述了系统的质量特性或质量属性。 |
总结 - 功能性(functional) vs. 非功能需求(non functional requirements)
本文讨论了这两类软件需求之间的区别。功能性需求和非功能性需求的区别在于,功能性需求描述了系统应该做什么,而非功能性需求描述了系统如何工作。
引用
1.“软件要求”,教程点,2018年1月8日。此处提供