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:

Miért népszerű a szoftverfejlesztés?

  • 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.