功能 (软件工程)

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

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

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

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

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

参考资料

  1. ^ 覃征. 软件工程与管理. 北京: 清华大学出版社. 2005: 78. ISBN 7302109354.