Mi a szoftverfejlesztés? Jellemzők, definíció
⚡ Okos összefoglaló
A szoftverfejlesztés a követelmények elemzésének, majd az azokat kielégítő szoftverek tervezésének, felépítésének és tesztelésének fegyelmezett folyamata. Ez az anyag ismerteti a definícióit, a létrehozó szoftverválságot, népszerűségét, a kapcsolódó tudományágakat, a kihívásokat és a jó szoftver jellemzőit.

Mi a szoftverfejlesztés?
A szoftverfejlesztés a felhasználói igények elemzésének, majd egy olyan szoftveralkalmazás megtervezésének, felépítésének és tesztelésének folyamataként definiálható, amely kielégíti ezeket a követelményeket.
Nézzük meg a szoftverfejlesztés különböző definícióit:
- Az IEEE a 610.12-1990 szabványában a szoftvermérnökséget a szoftverek fejlesztésére, üzemeltetésére és karbantartására irányuló szisztematikus, fegyelmezett és számítási szempontból jól definiált megközelítésként határozza meg.
- Fritz Bauer úgy határozta meg, mint „a szabványos mérnöki alapelvek meghatározása és alkalmazása. Segít gazdaságosan olyan szoftvereket beszerezni, amelyek megbízhatóak és hatékonyan működnek valós gépeken”.
- Boehm a szoftverfejlesztést úgy határozza meg, mint „a tudományos ismeretek gyakorlati alkalmazása számítógépes programok kreatív tervezésében és fejlesztésében. Magában foglalja a fejlesztéshez szükséges kapcsolódó dokumentációt is”.ping, üzemeltetésük és karbantartásuk.”
Miért éppen szoftverfejlesztés? Szoftverválság és megoldása
Mi volt a szoftverválság?
- Az 1960-as évek végén sok szoftverprojekt kudarcot vallott.
- Sok szoftver túllépte a költségvetést. A végeredmény megbízhatatlan és drága szoftver lett.
- A nagyobb szoftverek karbantartása nehézkes és költséges volt.
- Sok szoftver nem tudta kielégíteni a megrendelő növekvő igényeit.
- A szoftverprojektek bonyolultsága a hardverkapacitás növekedésével együtt nőtt.
- Az új szoftverek iránti kereslet gyorsabban nőtt, mint az új szoftverek előállításának lehetősége.
A fenti problémák mind hozzájárultak a „szoftverválsághoz”.
A megoldás
A probléma megoldása az volt, hogy a szervezetlen kódolási munkát szoftvermérnöki diszciplínává alakították. Ezek a mérnöki modellek segítették a vállalatokat a működés korszerűsítésében és az ügyfelek igényeinek megfelelő szoftverek szállításában.
- Az 1970-es évek végén a szoftverfejlesztési elvek széles körben elterjedtek.
- Az 1980-as években a szoftverfejlesztési folyamatok automatizálása és a számítógéppel segített szoftverfejlesztés (CASE) térnyerése volt tapasztalható.
- Az 1990-es években fokozott hangsúlyt fektettek a projektek „menedzsment” aspektusaira, valamint a minőségi és folyamatszabványokra, akárcsak az ISO 9001 szabvány esetében.
Miért népszerű a szoftverfejlesztés?
Íme a szoftverfejlesztés népszerűsége mögött meghúzódó fontos okok:
- Nagy szoftver – A való életben sokkal könnyebb falat építeni, mint házat vagy épületet. Ugyanígy, ahogy a szoftver mérete növekszik, a szoftverfejlesztés segít a szoftver felépítésében.
- Bővíthetőség – Ha a szoftverfejlesztési folyamat tudományos és mérnöki koncepciókon alapul, könnyebb új szoftvert létrehozni egy meglévő skálázásához.
- rugalmasság – Amikor a szoftverfejlesztési folyamat tudományos és mérnöki elveken alapul, könnyen lehet új szoftvert létrehozni szoftvermérnöki ismeretek segítségével.
- Költség – A hardveripar megmutatta képességeit, és a hatalmas gyártás csökkentette a számítógépek és az elektronikus hardverek költségeit.
- Dinamikus természet – A szoftverek folyamatosan fejlődő és alkalmazkodó természete. Attól a környezettől függ, amelyben a felhasználó dolgozik.
- Quality Management – Jobb szoftverfejlesztési módszert kínál a minőségi szoftvertermékek biztosítása érdekében.
A szoftverfejlesztés kapcsolata más tudományágakkal
Így viszonyul a szoftverfejlesztés más tudományágakhoz:
- Számítástechnika: Tudományos alapot ad a szoftvereknek, ahogy a fizika az alapja a villamosmérnöki tudományoknak.
- Menedzsmenttudomány: A szoftverfejlesztés munkaigényes munka, amely mind technikai, mind vezetői kontrollt igényel. Ezért széles körben használják a menedzsment tudományokban.
- Közgazdaságtan: Ebben az ágazatban a szoftverfejlesztés segít az erőforrások becslésében és a költségek ellenőrzésében. Ki kell fejleszteni egy számítástechnikai rendszert, és az adatokat rendszeresen karban kell tartani egy adott költségvetésen belül.
- Rendszer mérnök: A legtöbb szoftver egy sokkal nagyobb rendszer alkotóeleme, például egy ipari felügyeleti rendszer szoftvere vagy egy repülőgép repülési szoftvere. Az ilyen típusú rendszerek tanulmányozásakor szoftverfejlesztési módszereket kell alkalmazni.
A szoftverfejlesztés kihívásai
Íme néhány kritikus kihívás, amellyel a szoftvermérnökök szembesülnek:
- A biztonságkritikus területeken, mint például az űrben, a repülésben és az atomerőművekben, a szoftverhibák költsége hatalmas lehet, mivel emberéletek forognak veszélyben.
- Megnövekedett piaci igény a gyors átfutási időre.
- Az új alkalmazásokhoz szükséges szoftverek megnövekedett összetettségének kezelése.
- A szoftverrendszerek sokfélesége, amelyeknek kommunikálniuk kellene egymással.
Szoftvertermékek attribútumai
Bármely szoftvertermék jellemzői közé tartoznak azok a funkciók, amelyeket a termék telepítésekor és használatba vételekor megjelenít.
Nem a termék által nyújtott szolgáltatásokról van szó, hanem a termék dinamikus viselkedéséről és használatáról.
Példák ezekre az attribútumokra:
Efficiency, reliability, robustness, maintainability, etc.
Ezeknek a jellemzőknek a relatív jelentősége azonban szoftverrendszerenként változó.
| Termék jellemzők | Leírás |
|---|---|
| Karbantarthatóság | A szoftvernek úgy kell fejlődnie, hogy megfeleljen az ügyfelek változó igényeinek. |
| Megbízhatóság | A megbízhatóság különböző jellemzőket foglal magában. A megbízható szoftver soha nem okozhat fizikai vagy gazdasági kárt a rendszer meghibásodásakor. |
| Hatékonyság | A szoftveralkalmazásnak nem szabad túlzásba vinnie a rendszer erőforrásainak, például a memória és a processzorciklusok használatát. |
| Használhatóság | A szoftveralkalmazásnak megfelelő felhasználói felülettel és dokumentációval kell rendelkeznie. |
A fenti attribútumok optimalizálása nagyon kihívást jelent. Például egy jobb felhasználói felület felajánlása csökkentheti a rendszer hatékonyságát.
A jó szoftver jellemzői
Minden szoftvert az alapján kell megítélni, hogy mit kínál, és milyen módszerek segítenek a használatában.
Minden szoftvernek meg kell felelnie a következő attribútumoknak:
- Operationális
- Átmeneti
- Karbantartás
Íme néhány fontos jellemzője a szoftverszakemberek által fejlesztett jó szoftvereknek.
Operationális
Ez a jellemző megmutatja, hogy a szoftver mennyire jól működik a műveletek során, ami a következőkön mérhető:
- Érték
- Hatékonyság
- Használhatóság
- Megbízhatóság
- helyessége
- Funkcionalitás
- Biztonság
- Biztonság
Átmeneti
Ez elengedhetetlen szempont, amikor a szoftvert egyik platformról a másikra helyezik át:
- Az interoperabilitás
- Reus képesség
- Hordozhatóság.
- rugalmasság
Karbantartás
Ez a szempont azt vizsgálja, hogy a szoftver mennyire képes alkalmazkodni a gyorsan változó környezethez:
- Rugalmas
- Karbantarthatóság
- A modularitás
- Bővíthetőség

