Szerkesztő:N9UHZ1/Szoftverfunkció
Szoftver esetén a funkció egy számítógépes program azonosítható jellemzője. [1]
Kontextus
[szerkesztés]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.[2]
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.[3][4]
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.[5]
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.[6]
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).[7]
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
[szerkesztés]A terminálemulátor xterm számos kiemelkedő funkcióval rendelkezik, ideértve az X Windows System kompatibilitását, a VT220 és VT320[8] 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.[9]
Jellemzőkben gazdag és funkció túlszaporodás
[szerkeszté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.[10]
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.[11] Ez a funkció beépítése bizottság általi tervezés eredménye.[12]
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ű".[13][14]
Lásd még
[szerkesztés]- Funkció-orientált programozás
- Termékcsalág tervezés
- Szoftvertervezés
- Szoftvertesztelés
- Alkalmazás-életciklus menedzsment
- Feature creep
- Scope creep
- Overengineering
Források
[szerkesztés]- ↑ Apel (2009. augusztus 1.). „An Overview of Feature-Oriented Software Development”. The Journal of Object Technology 8 (5), 49–84. o. DOI:10.5381/jot.2009.8.5.c5.
- ↑ How the Dreadnought sparked the 20th Century's first arms race
- ↑ PDP-7. reference.com Computing Dictionary. [2013. június 16-i dátummal az eredetiből archiválva].
- ↑ Tore Sinding Bekkedal: Digital Equipment Corporation PDP-7. soemtron.org, 2009
- ↑ PEP 8 – Style Guide for Python Code
- ↑ About Ruby
- ↑ IEEE Std. 829-1998
- ↑ XTERM - Change Log - Patch #24 - 1996/8/11 - XFree86 3.1.2Ee. [2001. december 22-i dátummal az eredetiből archiválva].
- ↑ Thomas E. Dickey: XTerm – Frequently Asked Questions (FAQ), Who wrote XTerm?. [2018. június 24-i dátummal az eredetiből archiválva]. (Hozzáférés: 2018. június 4.)
- ↑ User centered system design: new perspectives on human-computer interaction, Norman, Donald A., Draper, Stephen W., Hillsdale, N.J.: L. Erlbaum Associates (1986. december 26.). ISBN 0-89859-781-1. OCLC 12665902
- ↑ Featuritis (or creeping featurism)
- ↑ Krystallis (2022. szeptember 1.). „Normalizing White-Collar Wrongdoing in Professional Service Firms” (angol nyelven). Journal of Management in Engineering 38 (5), 04022049. o. DOI:10.1061/(ASCE)ME.1943-5479.0001079. ISSN 1943-5479.
- ↑ Doug McIlroy (1978. július 8.). „Unix Time-Sharing System: Foreword”. The Bell System Technical Journal, 1902–1903. o, Kiadó: Bell Laboratories.
- ↑ The Unix Philosophy