![Gimp tutorial speechbubbles17](https://upload.wikimedia.org/wikipedia/commons/c/c5/Gimp_tutorial_speechbubbles17.png)
In
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
, 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 operation ...
defines the term ''feature'' in
IEEE 829
Status of IEEE 829
Note: IEEE 829-2008 has been superseded by ISO/IEC/IEEE 29119-3:2013.
Background to IEEE 829
IEEE 829-2008, also known as the 829 Standard for Software and System Test Documentation, was an IEEE standard that specified the f ...
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 p ...
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 use ...
can be used to refer to software that is overly feature-rich.
See also
*
Feature-oriented programming
In computer programming, feature-oriented programming (FOP) or feature-oriented software development (FOSD) is a programming paradigm for program generation in software product lines (SPLs) and for incremental development of programs.
History
...
*
Product family engineering
Product-family engineering (PFE), also known as product-line engineering, is based on the ideas of " domain engineering" created by the Software Engineering Institute, a term coined by James Neighbors in his 1980 dissertationhttps://escholarship.o ...
*
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 testing, so ...
References
External links
Official IEEE website
{{software-eng-stub