Mi az a szoftvertervezés?
A szoftvertervezés a felhasználói igények elemzésének, majd az ezeknek a követelményeknek megfelelő szoftveralkalmazás tervezésének, felépítésének és tesztelésének folyamata.
Nézzük meg a szoftvertervezés különböző definícióit:
- Az IEEE a 610.12-1990 szabványában a szoftvertervezést szisztematikus, fegyelmezett alkalmazásként definiálja, amely kiszámítható megközelítés a szoftverek fejlesztése, üzemeltetése és karbantartása szempontjából.
- Fritz Bauer „létrehozásként és szabványos mérnöki alapelvekként határozta meg. Segít gazdaságilag olyan szoftver beszerzésében, amely megbízható és hatékonyan működik a valós gépeken.
- A 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ében és felépítésében. Tartalmazza a fejlesztéshez, üzemeltetéshez és karbantartáshoz szükséges kapcsolódó dokumentációt is.
Ebben a szoftverfejlesztési oktatóanyagban megtudhatja:
- Mi az a szoftvertervezés?
- Miért a szoftvertervezés? Szoftverválság és megoldása
- Miért népszerű a szoftvertervezés?
- A szoftvertervezés kapcsolata más tudományágakkal
- A szoftvertervezés kihívásai
- A szoftvertermékek attribútumai
- A jó szoftver jellemzői
Miért a szoftvertervezés? Szoftverválság és megoldása:
Mi volt a szoftverválság?
- Az 1960-as évek végén volt, amikor sok szoftverprojekt megbukott.
- Sok szoftver meghaladta a költségvetést. Az output megbízhatatlan szoftver volt, amelynek karbantartása drága.
- A nagyobb szoftverek karbantartása nehéz és meglehetősen drága volt.
- Sok szoftver nem képes kielégíteni az ügyfél növekvő igényeit.
- A szoftverprojektek bonyolultsága nőtt, amikor a hardver képessége nőtt.
- Az új szoftverek iránti kereslet gyorsabban nőtt az új szoftverek létrehozásának képességéhez képest.
A fenti kérdések mindegyike „szoftverválsághoz” vezet.
A megoldás
Megoldás volt az a probléma, hogy a nem szervezett kódolási erőfeszítéseket szoftverfejlesztési tudományággá alakították át. Ezek a mérnöki modellek elősegítették a társaságok működésének ésszerűsítését és az ügyfelek igényeinek megfelelő szoftverek szállítását.
- Az 1970-es évek végén széles körben elterjedtek a szoftverfejlesztési elvek.
- Az 1980-as években automatizálódott a szoftvertervezési folyamat és növekedett a (CASE) Computer-Aided Software Engineering.
- Az 1990-es években egyre nagyobb hangsúlyt fektettek a projektek „menedzsment” szempontjaira, mint az ISO 9001
Miért népszerű a szoftvertervezés?
Itt vannak a szoftverfejlesztés népszerűségének fontos okai:
- Nagy szoftver - A való életünkben falat építeni sokkal kényelmesebb, mint házat vagy épületet. Ugyanígy, amikor a szoftver mérete nagy lesz, a szoftvertervezés segít a szoftver felépítésében.
- Méretezhetőség - Ha a szoftverfejlesztési folyamat tudományos és mérnöki koncepciókon alapult, könnyebb új szoftvert újból létrehozni a meglévő méretezéséhez.
- Alkalmazkodóképesség : Bármikor a szoftverfolyamat tudományos és mérnöki alapokon nyugszik, könnyű új szoftvereket újból létrehozni a szoftvertervezés 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ép és az elektronikus hardver költségeit.
- Dinamikus természet - A szoftver mindig növekvő és alkalmazkodó jellege. Ez attól a környezettől függ, amelyben a felhasználó dolgozik.
- Minőségmenedzsment : jobb szoftverfejlesztési módszert kínál minőségi szoftvertermékek biztosítására.
A szoftvertervezés kapcsolata más tudományágakkal
A szoftvertervezés hogyan kapcsolódik más tudományágakhoz:
- Számítástechnika: Megadja a szoftver tudományos megalapozását, mivel az elektrotechnika főként a fizikától függ.
- Vezetéstudomány: A szoftvertervezés munkaigényes munka, amely mind technikai, mind vezetői ellenőrzést igényel. Ezért széles körben használják a menedzsment tudományban.
- Közgazdaságtan: Ebben az ágazatban a szoftvertervezés segít az erőforrások becslésében és a költségkontrollban. Ki kell fejleszteni a számítási rendszert, és az adatokat rendszeresen karbantartani kell egy adott költségvetés keretein belül.
- Rendszertechnika: A legtöbb szoftver egy sokkal nagyobb rendszer része. Például egy szoftver az ipari megfigyelő rendszerben vagy a repülési szoftver egy repülőgépen. Szoftvertechnikai módszereket kell alkalmazni az ilyen típusú rendszerek vizsgálatához.
A szoftvertervezé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, például az űrben, a repülésben, az atomerőművekben stb. A szoftverhiba költsége hatalmas lehet, mert életveszély áll fenn.
- Megnövekedett piaci igény a gyors átfutási időre.
- Az új alkalmazásokkal kapcsolatos szoftverek iránti megnövekedett bonyolultság kezelése.
- A szoftveres rendszerek sokféleségének kommunikálnia kell egymással.
A szoftvertermékek attribútumai
Bármely szoftvertermék jellemzői magukban foglalják azokat a funkciókat, amelyeket a termék a telepítésekor és használatakor megjelenít.
Ezek nem a termék által nyújtott szolgáltatások. Ehelyett a termékek dinamikus viselkedésével és a termék felhasználásával kapcsolatosak.
Példák ezekre az attribútumokra:
Efficiency, reliability, robustness, maintainability, etc.
Ezen jellemzők relatív jelentősége azonban szoftverenként változik.
Termékjellemző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önféle jellemzőket tartalmaz. A megbízható szoftver soha nem okozhat fizikai vagy gazdasági kárt a rendszer meghibásodása idején. |
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 processzor ciklust. |
Használhatóság | A szoftveralkalmazásnak rendelkeznie kell egyedi felhasználói felülettel és dokumentációval. |
A fenti tulajdonság optimalizálása nagyon kihívást jelent. Például jobb felhasználói felület felajánlása csökkentheti a rendszer hatékonyságát.
A jó szoftver jellemzői
Minden szoftvert annak alapján kell megítélni, hogy mit kínál, és milyen módszerek segítik a használatát.
Minden szoftvernek meg kell felelnie a következő tulajdonságoknak:
- Működési
- Átmeneti
- Karbantartás
Íme néhány fontos jellemző a szoftverek által kifejlesztett jó szoftverekről
Működési
Ez a jellemző tudatja velünk, hogy a szoftver milyen jól működik a műveletek során, amelyek mérhetők:
- Költségvetés
- Hatékonyság
- Használhatóság
- Megbízhatóság
- Helyesség
- Funkcionalitás
- Biztonság
- Biztonság
Átmeneti
Ez elengedhetetlen szempont, amikor a szoftvert egyik platformról a másikra helyezzük át:
- Átjárhatóság
- Újrahasználhatóság
- Hordozhatóság
- Alkalmazkodóképesség
Karbantartás
Ez a szempont arról szól, hogy a szoftver mennyire képes alkalmazkodni a gyorsan változó környezetben:
- Rugalmasság
- Karbantarthatóság
- Modularitás
- Méretezhetőség
Összegzés
- A szoftvertervezés a felhasználói igények elemzésének, majd az ezeknek a követelményeknek megfelelő szoftveralkalmazás tervezésének, felépítésének és tesztelésének folyamata
- Fontos okai a szoftvertervezés használatának: 1) Nagy szoftver, 2) Méretezhetőség 3) Alkalmazkodóképesség 4) Költség és 5) Dinamikus természet.
- Az 1960-as évek végén sok szoftver meghaladja a költségvetést. Ezért megbízhatatlan szoftvereket kínál, amelyek fenntartása költséges.
- Az 1970-es évek végén széles körben elterjedtek a szoftverfejlesztési elvek.
- Szoftvertechnikai koncepció 1) Számítástudomány 2) Vezetéstudomány 3) Rendszertechnika és 4) Közgazdaságtan
- A gyors átfutási idő iránti megnövekedett piaci igény a szoftvertervezés legnagyobb kihívása.
- 1) Fenntarthatóság, 2) Megbízhatóság, 3) Hatékonyság és 4) A használhatóság a szoftvertermékek legfontosabb jellemzője.
- A jó szoftver három legfontosabb jellemzője: 1) Működési 2) Átmeneti 3) Karbantartás.