Čo je softvérové ​​inžinierstvo? Definícia, základy, charakteristiky

Obsah:

Anonim

Čo je softvérové ​​inžinierstvo?

Softvérové ​​inžinierstvo je definované ako proces analýzy požiadaviek používateľov a následného navrhovania, budovania a testovania softvérových aplikácií, ktoré tieto požiadavky uspokoja.

Pozrime sa na rôzne definície softvérového inžinierstva:

  • IEEE vo svojej norme 610.12-1990 definuje softvérové ​​inžinierstvo ako aplikáciu systematického, disciplinovaného, ​​čo je vypočítateľný prístup k vývoju, prevádzke a údržbe softvéru.
  • Fritz Bauer to definoval ako „podnik a použil štandardné inžinierske princípy. Pomôže vám to ekonomicky získať softvér, ktorý je spoľahlivý a efektívne funguje na skutočných strojoch.
  • Boehm definuje softvérové ​​inžinierstvo, ktoré zahŕňa „praktické využitie vedeckých poznatkov pri kreatívnom dizajne a tvorbe počítačových programov. Zahŕňa tiež súvisiacu dokumentáciu potrebnú na ich vývoj, prevádzku a údržbu. ““

V tomto výučbe softvérového inžinierstva sa dozviete:

  • Čo je softvérové ​​inžinierstvo?
  • Prečo softvérové ​​inžinierstvo? Softvérová kríza a jej riešenie
  • Prečo je softvérové ​​inžinierstvo populárne?
  • Vzťah softvérového inžinierstva k iným disciplínam
  • Výzvy softvérového inžinierstva
  • Atribúty pre softvérové ​​produkty
  • Charakteristika dobrého softvéru

Prečo softvérové ​​inžinierstvo? Softvérová kríza a jej riešenie:

Čo bola softvérová kríza?

  • Bolo to na konci 60. rokov, keď zlyhali mnohé softvérové ​​projekty.
  • Mnoho softvéru sa stalo nadmerne finančným. Výstupom bol nespoľahlivý softvér, ktorého údržba je nákladná.
  • Väčší softvér bol zložitý a jeho údržba bola dosť nákladná.
  • Veľa softvéru nedokáže uspokojiť rastúce požiadavky zákazníka.
  • Zložitosť softvérových projektov sa zvyšovala vždy, keď sa zvýšila jej hardvérová kapacita.
  • Dopyt po novom softvéri sa zvýšil rýchlejšie v porovnaní so schopnosťou generovať nový softvér.

Všetky vyššie uvedené problémy vedú k „softvérovej kríze“.

Riešenie

Riešením bolo, že problémom bola transformácia neorganizovaného kódovania na disciplínu softvérového inžinierstva. Tieto inžinierske modely pomohli spoločnostiam zjednodušiť prevádzku a dodať softvér zodpovedajúci požiadavkám zákazníkov.

  • Koncom sedemdesiatych rokov došlo k rozšírenému využívaniu princípov softvérového inžinierstva.
  • V 80. rokoch došlo k automatizácii procesu softvérového inžinierstva a rastu (CASE) počítačového softvérového inžinierstva.
  • V 90. rokoch sa zvýšil dôraz na „manažérske“ aspekty kvality a procesov projektov, ako je ISO 9001

Prečo je softvérové ​​inžinierstvo populárne?

Tu sú dôležité dôvody obľúbenosti softvérového inžinierstva:

  • Veľký softvér - V našom skutočnom živote je celkom pohodlnejšie postaviť múr ako dom alebo budovu. Rovnakým spôsobom, ako sa zväčšuje veľkosť softvéru, vám softvérové ​​inžinierstvo pomáha vytvárať softvér.
  • Škálovateľnosť - Ak bol proces vývoja softvéru založený na vedeckých a technických koncepciách, je jednoduchšie znova vytvoriť nový softvér, aby bolo možné rozšíriť existujúci.
  • Adaptabilita : Kedykoľvek bol softvérový proces založený na vedeckých a technických požiadavkách, je ľahké pomocou softvérového inžinierstva znovu vytvoriť nový softvér.
  • Nákladový hardvér preukázal svoje schopnosti a obrovská výroba znížila náklady na počítačový a elektronický hardvér.
  • Dynamic Nature - neustále rastie a prispôsobuje sa charakter softvéru. Závisí to od prostredia, v ktorom užívateľ pracuje.
  • Riadenie kvality : Ponúka lepšiu metódu vývoja softvéru na poskytovanie kvalitných softvérových produktov.

Vzťah softvérového inžinierstva k iným disciplínam

Tu je ukážka toho, ako softvérové ​​inžinierstvo súvisí s inými odbormi:

  • Počítačová veda: Poskytuje vedecký základ pre softvér, pretože elektrotechnika závisí hlavne od fyziky.
  • Veda o riadení: Softvérové ​​inžinierstvo je práca náročná na prácu, ktorá si vyžaduje technickú aj manažérsku kontrolu. Preto je široko používaný v riadiacej vede.
  • Ekonomika: V tomto sektore vám softvérové ​​inžinierstvo pomáha pri odhadovaní zdrojov a kontrole nákladov. Musí sa vyvinúť výpočtový systém a údaje by sa mali pravidelne udržiavať v rámci daného rozpočtu.
  • Systémové inžinierstvo: Väčšina softvéru je súčasťou oveľa väčšieho systému. Napríklad softvér v priemyselnom monitorovacom systéme alebo letový softvér v lietadle. Pri štúdiu tohto typu systémov by sa mali použiť metódy softvérového inžinierstva.

Výzvy softvérového inžinierstva

Tu sú niektoré kritické výzvy, ktorým čelia softvéroví inžinieri:

  • V oblastiach kritických z hľadiska bezpečnosti, ako je vesmír, letectvo, jadrové elektrárne atď., Môžu byť náklady na zlyhanie softvéru obrovské, pretože sú ohrozené životy.
  • Zvýšené požiadavky trhu na rýchly čas na vybavenie.
  • Riešenie zvýšenej zložitosti softvérovej potreby nových aplikácií.
  • Rozmanitosť softvérových systémov by mala navzájom komunikovať.

Atribúty pre softvérové ​​produkty

Medzi vlastnosti každého softvérového produktu patria vlastnosti, ktoré sa zobrazia pri inštalácii a uvedení do používania.

Nejde o služby poskytované produktom. Namiesto toho súviseli s dynamickým správaním sa výrobkov a ich používaním.

Príklady týchto atribútov sú:

Efficiency, reliability, robustness, maintainability, etc.

Relatívna dôležitosť týchto charakteristík sa však u jednotlivých softvérových systémov líši.

Vlastnosti produktu Popis
Udržateľnosť Softvér by sa mal vyvíjať tak, aby vyhovoval meniacim sa požiadavkám klientov.
Spoľahlivosť Spoľahlivosť zahŕňa rôzne charakteristiky. Spoľahlivý softvér by nikdy nemal spôsobiť akékoľvek fyzické alebo ekonomické škody v čase zlyhania systému.
Účinnosť Softvérová aplikácia by mala nadmerne využívať systémové prostriedky, ako je pamäť a cyklus procesora.
Použiteľnosť Softvérová aplikácia by mala mať konkrétne používateľské rozhranie a dokumentáciu.

Optimalizácia vyššie uvedeného atribútu je veľmi náročná. Napríklad ponuka lepšieho používateľského rozhrania môže znížiť účinnosť systému.

Charakteristika dobrého softvéru

Akýkoľvek softvér by sa mal posudzovať podľa toho, čo ponúka a aké sú metódy, ktoré vám pomôžu pri jeho používaní.

Každý softvér musí spĺňať nasledujúce atribúty:

  • Prevádzkové
  • Prechodné
  • Údržba

Tu uvádzame niektoré dôležité charakteristiky dobrého softvéru vyvinutého softvérovými profesionálmi

Prevádzkové

Táto vlastnosť dáva nám vedieť, ako dobre softvér funguje pri operáciách, ktoré je možné merať na:

  • Rozpočet
  • Účinnosť
  • Použiteľnosť
  • Spoľahlivosť
  • Správnosť
  • Funkčnosť
  • Bezpečnosť
  • Bezpečnosť

Prechodné

Toto je zásadný aspekt pri prechode softvéru z jednej platformy na druhú:

  • Interoperabilita
  • Opätovná použiteľnosť
  • Prenosnosť
  • Prispôsobivosť

Údržba

Tento aspekt hovorí o tom, ako dobre má softvér schopnosti adaptovať sa v rýchlo sa meniacom prostredí:

  • Flexibilita
  • Udržateľnosť
  • Modularita
  • Škálovateľnosť

Zhrnutie

  • Softvérové ​​inžinierstvo je proces analýzy požiadaviek používateľov a následného navrhovania, budovania a testovania softvérových aplikácií, ktoré tieto požiadavky uspokoja
  • Dôležitými dôvodmi pre použitie softvérového inžinierstva sú: 1) Veľký softvér, 2) Škálovateľnosť 3) Adaptabilita 4) Náklady a 5) Dynamická povaha.
  • Na konci 60. rokov sa veľa softvéru stalo nadmerne finančným. Preto ponúka nespoľahlivý softvér, ktorého údržba je nákladná.
  • Koncom sedemdesiatych rokov došlo k rozšírenému využívaniu princípov softvérového inžinierstva.
  • Koncepcia softvérového inžinierstva 1) Počítačová veda 2) Veda o riadení 3) Systémové inžinierstvo a 4) Ekonomika
  • Zvýšené požiadavky trhu na rýchly čas obratu sú najväčšími výzvami v oblasti softvérového inžinierstva.
  • 1) Udržateľnosť, 2) Spoľahlivosť, 3) Účinnosť a 4) Použiteľnosť sú najdôležitejšie atribúty softvérových produktov.
  • Tri najdôležitejšie vlastnosti dobrého softvéru sú 1) prevádzkový 2) prechodný 3) údržba.