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