Function vs. Feature

Function/Functional/Functionalityと表現される機能とFeatureと表現される機能はどうちがうのか。両方とも機能と訳されてはいるが、ニュアンスとして以下のように考える。

 Function = Feature + Capability

Featureはもともと「造作の一部」という意味であり、対象の一部を静的な視点でしか捉えていない。そこに働きとしての能力(Capability)を加味して動的にも評価できる概念として捉えたものがFunctionであるようだ。単に機能の存在を語るときにはFeatureで、それにふるまいや働きの能力を加味して語るときにFunctionとなる。Functionに+ility(イリティ:品質を表すsuffix)があるのに対して、Featureには+ilityの単語がないことにも頷ける。

機能構造化手法の機能はfunctionである。機能要件/非機能要件もfunctional/non-functional requirementsである。

一方、feature=特性と訳されているものは多い。Software Factories/プロダクトライン/FODAでは、featureを「非機能要求を含むアーキテクチャの再利用可能な機能を提供するもの」などと定義していたりする。一般にはfeatureは様相、特徴、特性、機能などといろいろ訳される。例えば、product featuresは製品特性と訳すとcharactristicsと紛らわしい。機能と訳す方が無難な感じではあるが、機能要求と非機能要求を含めてfeaturesと総称しているようにも思えてくる。このあたりの紛らわしさに触れたくないので「フィーチャ」とそのまま用いているものが多いのかもしれない。featureに関しては使われているコンテキストの中で判断するしかないようだ。

※関連記事:Functionality=機能要件?