User:N9UHZ1/Szoftverfunkció

Szoftver esetén a funkció egy számítógépes program azonosítható jellemzője.

Kontextus
A funkció kifejezés ugyanazt jelenti a szoftver esetében, mint bármely más rendszer esetében. Például a Brit Királyi Haditengerészet HMS Dreadnought (1906) hajója fontos mérföldkőnek számított a haditengerészeti technológia terén az pre-dreadnought csatahajókban nem letező fejlett funkciói miatt.

A funkció a számítógépes hardverekre is vonatkozik. A számítógépek korai történetében olyan eszközök, mint a Digital Equipment Corporation PDP-7 miniszámítógépe (1964-ben készült) számos funkcióval rendelkeztek, például ez volt az első PDP miniszámítógép-sorozat, amely huzalszalagot használt, és az első, amely szintén ugyanabban az évben felttalált, szabadalmaztatott DEC Flip-Chip modult alkalmazta.

A funkció olyan fogalmakra is vonatkozik, mint pédául a programozási nyelvek. A Python programozási nyelv jól ismert arról a funkciójáról, hogy különböző kódrészleteket nem kapcsos zárójelekkel, hanem szóközökkel és tabulátorokkal jelöl.

Egy másik hasonló magas szintű, objektumorientált programozási nyelv, a Ruby, kiemelkedő azzal, hogy a különböző változó hatóköröket a "@" és "$" jelekkel jelöli, amit a fejlesztők a kód olvashatóságának javulásával indokolnak. A fejlesztők azt is állítják, hogy egyik fontos jellemzője a magas rugalmasság.

Az Institute of Electrical and Electronics Engineers (IEEE) a szoftver tesztdokumentáció (elavult) szabványában, az IEEE 829-ben a funkciót egy szoftverelem 'megkülönböztető jellemzőjeként' határozza meg (például teljesítmény, hordozhatóság vagy funkcionalitás).

Bár a funkció általában egy szoftverrendszer pozitív aspektusára utal, a szoftverhiba is egy funkció, de negatív értékkel.

Példák
A terminálemulátor xterm számos kiemelkedő funkcióval rendelkezik, ideértve az X Windows System kompatibilitását, a VT220 és VT320 terminálok emulálásának képességét ANSI színekkel, valamint a menekülési szekvenciák bevitelének lehetőségét számítógépes egérrel vagy más hasonló eszközökkel, és a többi különböző Unix-szerű operációs rendszeren (például Linux, AIX, BSD és HP-UX) való futtatásának képességét.

Jellemzőkben gazdag és funkció túlszaporodás
A funkciógazdag kifejezés egy szoftverrendszert sok opcióval és képességgel rendelkezővel ír le.

A felhasználó számára egy mechanizmus a funkciógazdag szoftver benevezésére a progresszív feltárás koncepciója, egy olyan technika amely során a funkciókat fokozatosan vezetik be, ahogy azok szükségessé válnak, hogy csökkentsék az egyszerre sok funkció megjelenéséból adódó potencionális zavar lehetőségét.

Néha a funkciógazdag szoftver negatív tulajdonságnak tekintik. A feature creep, software bloat és featuritis kifejezések olyan szoftverekre utalnak, amelyek túlzottan sok funkciót tartalmaznak. Ez a funkció beépítése bizottság általi tervezés eredménye.

A szoftverfejlesztők hajlamának ellensúlyozására, hogy további, szükségtelen funkciókat adjanak hozzá, a Unix filozófiája fejlődött ki a 70-es években a Bell Labs munkatársai által, akik a Unix operaciós rendszeren dolgoztak, mint például Ken Thompson és Dennis Ritchie. A filozófia összefoglalható úgy, hogy a szoftverprogramok általában csak egyetlen elsődleges feladatot kellene végrehajtaniuk, és hogy "a kicsi a gyönyörű".

Lásd még

 * Funkció-orientált programozás
 * Termékcsalág tervezés
 * Szoftvertervezés
 * Szoftvertesztelés
 * Alkalmazás-életciklus menedzsment
 * Feature creep
 * Scope creep
 * Overengineering