
In
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
, the term feature has several definitions. The
Institute of Electrical and Electronics Engineers
The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operat ...
defines the term ''feature'' in
IEEE 829 as "
distinguishing characteristic of a software item (e.g., performance, portability, or functionality)."
[IEEE Std. 829-1998]
Feature-rich
A piece of software is said to be "feature-rich" when it has many options and functional capabilities available to the user.
Progressive disclosure
Progressive disclosure is an interaction design pattern used to make applications easier to learn and less error-prone. It does so by deferring some advanced or rarely-used features to a secondary screen.
A classic example of this pattern is the ...
is a technique applied to reduce the potential confusion caused by displaying a wealth of features at once.
Sometimes if a piece of software is very feature-rich, that can be seen as a bad thing. The terms
feature creep
Feature creep is the excessive ongoing expansion or addition of new features in a product, especially in computer software, video games and consumer and business electronics. These extra features go beyond the basic function of the product and ...
and
software bloat
Software bloat is a process whereby successive versions of a computer program become perceptibly slower, use more memory, disk space or processing power, or have higher hardware requirements than the previous version, while making only dubious us ...
can be used to refer to software that is overly feature-rich.
See also
*
Feature-oriented programming
*
Product family engineering
*
Software design
Software design is the process by which an agent creates a specification of a software artifact intended to accomplish goals, using a set of primitive components and subject to constraints. Software design may refer to either "all the activity ...
*
Software testing
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
*
Application lifecycle management
Application lifecycle management (ALM) is the product lifecycle management ( governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software tes ...
References
External links
Official IEEE website
{{software-eng-stub