Mi az a szoftverfejlesztés? Definíció, alapok, jellemzők
Mi a szoftverfejlesztés?
A szoftverfejlesztés a felhasználói igények elemzésének folyamata, majd az ezeknek a követelményeknek megfelelő szoftveralkalmazások tervezése, elkészítése és tesztelése.
Nézzük meg a szoftverfejlesztés különféle definícióit:
- Az IEEE a 610.12-1990 szabványában a szoftverfejlesztést egy szisztematikus, fegyelmezett, kiszámítható megközelítés alkalmazásaként határozza meg a szoftverek fejlesztéséhez, üzemeltetéséhez és karbantartásához.
- Fritz Bauer úgy határozta meg, mint „a szabványos mérnöki elvek létrehozása és alkalmazása”. Segít abban, hogy gazdaságosan olyan szoftvert szerezzen be, amely megbízható és hatékonyan működik a valódi gépeken.
- Boehm meghatározza a szoftvertervezést, amely magában foglalja „a tudományos ismeretek gyakorlati alkalmazását a számítógépes programok kreatív tervezésére és felépítésére”. Tartalmazza a fejlesztésükhöz, üzemeltetésükhöz és karbantartásukhoz szükséges kapcsolódó dokumentációkat is.
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 kimenet megbízhatatlan szoftver volt, amelynek fenntartása költséges.
- A nagyobb szoftverek karbantartása nehézkes és költséges volt.
- Sok szoftver nem képes kielégíteni a vevő növekvő igényeit.
- A szoftverprojektek bonyolultsága nőtt, amikor a hardver kapacitása növekedett.
- 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 mindegyike "szoftverválsághoz" vezet.
A megoldás
A probléma megoldása a szervezetlen kódolási erőfeszítések szoftvermérnöki tudományággá való átalakítása volt. Ezek a mérnöki modellek segítettek a vállalatoknak a működés ésszerű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 (CASE) számítógéppel segített szoftverfejlesztés növekedése következett be.
- Az 1990-es években egyre nagyobb hangsúlyt fektettek a projektek „menedzsment” szempontjaira, a minőségi szabványok és a folyamatok, akárcsak az ISO 9001 szabvány.
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ó életünkben sokkal kényelmesebb falat építeni, mint házat vagy épületet. Ugyanígy, ahogy a szoftver mérete megnövekszik, a szoftverfejlesztés segít a szoftverkészítésben.
- Méretezhetőség- Ha a szoftverfejlesztési folyamat tudományos és mérnöki koncepciókon alapulna, könnyebb új szoftvert létrehozni egy meglévő méretezéséhez.
- rugalmasság: Amikor a szoftverfolyamat tudományos és mérnöki alapokon nyugodott, könnyen újra létrehozható új szoftver a szoftverfejlesztés segítségével.
- Költség- A hardveripar megmutatta tudását, é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 szoftver folyamatosan növekvő és alkalmazkodó jellege. Ez attól függ, hogy a felhasználó milyen környezetben dolgozik.
- Quality Management: Jobb szoftverfejlesztési módszert kínál a minőségi szoftvertermékek biztosításához.
A szoftverfejlesztés kapcsolata más tudományágakkal
Íme, hogyan kapcsolódik a szoftverfejlesztés más tudományágakhoz:
- Számítástechnika: A szoftver tudományos alapjait adja, mivel az elektrotechnika elsősorban a fizikától függ.
- Menedzsmenttudomány: A szoftverfejlesztés munkaigényes munka, amely műszaki és vezetői ellenőrzést is igényel. Ezért széles körben használják a menedzsmenttudományban.
- Közgazdaságtan: Ebben a szektorban a szoftverfejlesztés segít az erőforrás-becslésben és a költségkontrollban. Számítástechnikai rendszert kell fejleszteni, az adatokat egy adott költségvetésen belül rendszeresen karbantartani.
- Rendszer mérnök: A legtöbb szoftver egy sokkal nagyobb rendszer összetevője. Például egy ipari megfigyelőrendszer szoftvere vagy egy repülőgép repülési szoftvere. Az ilyen típusú rendszerek tanulmányozására 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ág szempontjából kritikus területeken, mint például az űrhajózás, a repülés, az atomerőművek stb., a szoftverhibák költsége tetemes lehet, mert életveszélyben van.
- Megnövekedett piaci igény a gyors átfutási időre.
- Az új alkalmazások iránti igény megnövekedett összetettségének kezelése.
- A szoftverrendszerek sokféleségének kommunikálnia kell 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álatbavételekor megjelenít.
Ezek nem a termék által nyújtott szolgáltatások. Ehelyett a termékek dinamikus viselkedéséhez és a termék felhasználásához kapcsolódnak.
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 túl kell használnia a rendszer erőforrásait, például a memóriát és a processzorciklust. |
Használhatóság | A szoftveralkalmazásnak speciális felhasználói felülettel és dokumentációval kell rendelkeznie. |
A fenti attribútum optimalizálása nagy kihívást jelent. Például egy jobb UI 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 melyek azok a módszerek, amelyek 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 szoftveres szakemberek által fejlesztett jó szoftvereknek
Operationális
Ez a jellemző tájékoztat arról, hogy a szoftver milyen jól működik azokban a műveletekben, amelyek mérhetőek:
- É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 arról szól, hogy a szoftverek mennyire képesek alkalmazkodni a gyorsan változó környezetben:
- Rugalmasság
- Karbantarthatóság
- A modularitás
- skálázhatóság
Összegzésként
- A szoftverfejlesztés a felhasználói igények elemzésének folyamata, majd a követelményeknek megfelelő szoftveralkalmazások tervezése, elkészítése és tesztelése.
- A szoftverfejlesztés használatának fontos okai a következők: 1) nagy szoftver, 2) skálázhatóság 3) alkalmazkodóképesség 4) költség és 5) dinamikus jelleg.
- Az 1960-as évek végén sok szoftver túllépi a költségvetést. Ezért megbízhatatlan szoftvereket kínál, amelyek karbantartása költséges.
- Az 1970-es évek végén a szoftverfejlesztési elvek széles körben elterjedtek.
- Szoftvermérnöki koncepció 1) Számítástechnika 2) Vezetéstudomány 3) Rendszermérnöki és 4) Közgazdaságtan
- A gyors átfutási idő iránti megnövekedett piaci igény a szoftvermérnöki terület legnagyobb kihívása.
- 1) Karbantarthatóság, 2) Megbízhatóság, 3) Hatékonyság és 4) A használhatóság a szoftvertermékek legfontosabb jellemzői.
- A jó szoftver három legfontosabb jellemzője: 1) Opera2) Átmeneti 3) Karbantartás.