21.01.2015 Views

Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...

Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...

Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ako zlepšiť softvérové procesy 71<br />

ďalšie normy, ktoré súvisia so zlepšovaním procesu sú napríklad: ISO<br />

9001 – norma pre manažment akosti a SPICE – norma pre ohodnotenie<br />

procesu. Ďalšia norma je napríklad IEEE-EIA 12207, ktorá pokrýva celý<br />

životný cyklus projektu. Elementy tejto normy môžeme namapovať na<br />

CMM elementy [Ferguson98].<br />

V USA prvý príklad na integráciu bol integrovaný softvérový model<br />

vyspelosti procesu FFA, ktorý spojil softvérové inžinierstvo, systémové<br />

inžinierstvo a CMM. Ďalší podobný príklad na integráciu je CMMI, ktorý<br />

zjednotil softvérové inžinierstvo, systémové inžinierstvo a CMM model, a<br />

poskytoval aj možnosť integráciu ďalších CMM modelov [Boehm00].<br />

Dedičstvo vodopádového modelu<br />

V CMM modeli verzie 1.1 sa ukazuje obrovské zlepšenie s porovnaním<br />

predošlými nedisciplinovanými konaniami, ale tento model ešte stále<br />

podporuje sekvenčný vodopádový prístup návrhu systému. Toto<br />

dedičstvo brzdí efektívny vývoj dynamicky sa meniacich systémov, teda<br />

nie je možné používať skoré prototypovanie, tzv. concurrent engineering,<br />

manažment rizík, a ďalšie užitočné kroky, ktorými by sa dalo zjednotiť a<br />

zjednodušiť softvérové a systémové inžinierstvo. Autori CMM modelu<br />

tvrdia napríklad: „Analýza a rozdelenie systémových požiadaviek nie je<br />

povinnosťou softvérových inžinierov, no je predpokladom ich práce”<br />

[Paulk01]. Podľa Boehma sa toto vyhlásenie uplatní iba v niektorých<br />

prípadoch, ba dokonca takýto postoj softvérových inžinierov môže byť<br />

veľmi nebezpečný. Také nebezpečenstvo môže byť napríklad tzv.<br />

oddelenie zainteresovania (separation of concern), čo znamená, že<br />

softvéroví inžinieri sa nezaoberajú určovaním systémových architektúr a<br />

systémových požiadaviek, túto prácu ponechajú na iných. Keby sme<br />

súhlasili takýmto postojom, vývojári softvérových systémov by<br />

nepotrebovali žiadne činnosti, ktoré poskytuje softvérové inžinierstvo.<br />

Boehm skúmal sociálne dôsledky takého postoja pri niektorých<br />

príležitostiach stretnutí výskumných pracovníkov, kde navrhovali letecké<br />

systémové architektúry. Pokiaľ hardvéroví a systémoví inžinieri<br />

diskutovali o tom, aké boli ich predchádzajúce systémové architektúry,<br />

softvéroví inžinieri zostali v pozadí. Čakali na niekoho, kto by im dal<br />

presnú špecifikáciu, čo by oni premenili na kód.<br />

Žiaľ tú separáciu v značnej miere podporujú aj súčasné softvérovo<br />

inžinierske modely, ktoré sa sústredia na abstraktné logické úlohy. V<br />

praxi však rozhodujúcim faktorom je výkonnosť a náklady softvérových<br />

systémov. Boehm hľadal v 16 nových učebniciach o objektovoorientovanom<br />

návrhu už spomenuté výrazy, ale iba v 6 sa vyskytovalo v<br />

registri slovo „výkonnosť“ a iba v 2 slovo „náklady“. Ak rozdelíme úlohy<br />

na abstraktné, logické, oddelené podúlohy, môže byť ohrozená úspešnosť<br />

celého projektu.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!