功能functional)为一软件工程用语,功能需求定义一个软件系统或组件的功能,也是一个系统需提供的功能及服务[1]。 功能可以用一组输入、行为及输出的组合来表示。功能需求可以是计算、技术细节、资料处理或其他说明系统希望达成功能的内容。功能需求会以非功能性需求(或是质量需求)为其基础,后者会描述设计或实現时的限制条件(例如性能需求、保安性或可靠度等)。

若依照需求工程的定义,功能需求会列出系统的特定结果,而非功能性需求会列出系统的一些整体特性(如成本及可靠度),功能需求有关系统的应用架构,而非功能性需求和系统的技术架构有关。

例如一个计算机的功能需求可能是可计算9位数字的加减乘除及根号,而其非功能性需求是成本需在美金10元以下。

功能需求理论上需要有全面性及一致性,一方面描述用户所需要的所有机能,同时各机能的说明不能前后冲突。不过对于大型的系统,由于系统的复杂及参与人员看待事物的观点不同,要作到全面性及一致性相当困难。

有时需求分析师会在收集许多功能需求后,会依功能需求建立一系列的用例。功能需求的层次结构为:用户或利益相关者的需求->功能->用例->业务规则,每一个用例都会描述一个到多个功能需求所对应的行为。不过有时需求分析师也会从一些用例开始,再从用例中找出用例中需要用的功能需求。

参考资料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.