Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Software feature

From Wikipedia, the free encyclopedia
Distinguishing characteristic of a program
"Distress Selection" software feature in the photo editing programGIMP
Menu showing a list of available features in theX Window Systemterminal emulator programxterm

A feature is "a prominent or distinctive user-visible aspect, quality, or characteristic of a software system or systems", as defined by Kang et al.[1] At the implementation level, "it is a structure that extends and modifies the structure of a given software in order to satisfy a stakeholder’s requirement, to implement and encapsulate a design decision, and to offer a configuration option", as defined byApel et al.[2]

Context

[edit]

The term feature means the same for software as it does for any kind of system. For example, the British Royal Navy'sHMS Dreadnought (1906) was considered an important milestone in naval technology because of its advanced features that did not exist inpre-dreadnought battleships.[3]

Feature also applies to computerhardware. In the early history of computers, devices such asDigital Equipment Corporation'sPDP-7 minicomputer (created in 1964) was noted for having a wealth of features, such as being the first version of the PDP minicomputer series to usewire wrap, as well as being the first to use the proprietary DECFlip-Chip module which was invented in the same year.[4][5]

Feature also applies to concepts such as a programming language. ThePython programming language is well-known for its feature of usingwhitespace characters (spaces and tabs) instead ofcurly braces to indicate different blocks of code.[6]

Another similar high-level, object oriented programming language,Ruby, is noteworthy for using the symbols "@" and "$" to highlight different variable scopes, which the developers claim improves code readability. Its developers also claim that one of its important features is a high amount of flexibility.[7]

TheInstitute of Electrical and Electronics Engineers (IEEE) defines feature in the (obsolete) standard for software test documentationIEEE 829 as a "distinguishing characteristic of a software item (e.g., performance, portability, or functionality)".[8]

Although feature is typically used for a positive aspect of a software system, asoftware bug is also a feature but with negative value.

Examples

[edit]

The terminal emulatorxterm has many notable features, including compatibility with theX Window System, the ability to emulate a VT220 and VT320[9] terminal with ANSI color, and the ability to inputescape sequences using acomputer mouse or other similar device, and the ability to run on multiple differentUnix-like operating systems (e.g.Linux,AIX,BSD, andHP-UX).[10]

Feature-rich and feature creep

[edit]

Feature-rich describes a software system as having many options and capabilities.

One mechanism for introducing feature-rich software to the user is the concept ofprogressive disclosure, a technique where features are introduced gradually as they become required, to reduce the potential confusion caused by displaying a wealth of features at once.[11]

Sometimes, feature-rich is considered a negative attribute. The termsfeature creep,software bloat, andfeaturitis refer to software that isoverly feature-rich.[12] This type of excessive inclusion of features is in some cases a result ofdesign by committee.[13]

To counteract the tendency of software developers to add additional, unnecessary features, theUnix philosophy was developed in the 1970s byBell Labs employees working on theUnix operating system such asKen Thompson andDennis Ritchie. The philosophy can be summarized as: software programs should generally only complete one primary task and that "small is beautiful".[14][15]

See also

[edit]

References

[edit]
  1. ^"Feature-Oriented Domain Analysis (FODA) Feasibility Study".insights.sei.cmu.edu. 1990-10-31. Retrieved2025-02-18.
  2. ^Apel, Sven; Kästner, Christian (August 2009)."An Overview of Feature-Oriented Software Development".The Journal of Object Technology.8 (5):49–84.doi:10.5381/jot.2009.8.5.c5.S2CID 417250.
  3. ^"How the Dreadnought sparked the 20th Century's first arms race".
  4. ^"PDP-7".reference.com Computing Dictionary. Archived fromthe original on June 16, 2013.
  5. ^Tore Sinding Bekkedal (2009)."Digital Equipment Corporation PDP-7".soemtron.org.
  6. ^"PEP 8 – Style Guide for Python Code".
  7. ^"About Ruby".
  8. ^IEEE Std. 829-1998
  9. ^"XTERM - Change Log - Patch #24 - 1996/8/11 - XFree86 3.1.2Ee". Archived fromthe original on 2001-12-22.
  10. ^Thomas E. Dickey."XTerm – Frequently Asked Questions (FAQ), Who wrote XTerm?".Archived from the original on 2018-06-24. Retrieved2018-06-04.
  11. ^User centered system design: new perspectives on human-computer interaction. Norman, Donald A., Draper, Stephen W. Hillsdale, N.J.: L. Erlbaum Associates. 1986.ISBN 0-89859-781-1.OCLC 12665902.{{cite book}}: CS1 maint: others (link)
  12. ^"Featuritis (or creeping featurism)".
  13. ^Krystallis, Ilias; Locatelli, Giorgio (2022-09-01)."Normalizing White-Collar Wrongdoing in Professional Service Firms".Journal of Management in Engineering.38 (5): 04022049.doi:10.1061/(ASCE)ME.1943-5479.0001079.hdl:11311/1228318.ISSN 1943-5479.S2CID 250326876.
  14. ^Doug McIlroy; E. N. Pinson; B. A. Tague (8 July 1978)."Unix Time-Sharing System: Foreword".The Bell System Technical Journal. Bell Laboratories:1902–1903.
  15. ^"The Unix Philosophy".

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Software_feature&oldid=1301216773"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp