Proces vývoje SW
Základní aktivity při vývoji SW:
Modely životního cyklu
Metodika Unified Process
Metodika Rational Unified Process (RUP)
Agilní metodiky
Manifesto of Agile Software Development
Rozdíl oproti Model-Driven Engineering (MDE):
Myers,1979
Další testy:
Softwarová metrika
Dělíme na:
Velikostně orientované metriky
Funkčně orientované metriky
Halsteadova metrika
McCabe odhad složitosti
Funguje také jako indikátor spolehlivosti.
McClure odhad složitost
Při odhadování se reflektuje:
Funkční bod
Putnam
Cocomo (COnstructive COst MOdel)
Cocomo II
Důvod změny:
3 různé modely:
Obecný model kvality (Quality model)
Kvalita dle IEEE
Velmi nákladná v čase, finance odpovídají tomu jak dlouho ho chceme udržet. Náklady jsou 2x -100x větší než na vývoj. Na údržbu se mělo myslet již při vývoji.
Znovu napsání celé části systému bez účelu změnit její funkcionalitu, když subsystémy vyššího systému vyžadují častou údržbu. Cílem je vytvoření nového systému, který by se lépe udržoval (i snížení ceny za údržbu).
Refactoring je kontinuální proces vylepšení skrze vývojový a evoluční proces. Jeho záměrem je vyhnout se degradaci struktury a kódu, která zvyšuje cenu za údržbu.
„Code smells“
Hlavní výhodou je několikanásobné finanční ohodnocení jednou vyvinuté komponenty.
Úrovně znovupoužitelnosti (reuse levels)
Reuse-Oriented software engineering
Lehmanovy zákony
Zákony se zabývají fází evoluce, popisují rovnováhu mezi novými požadavky a údržbou na straně jedné a zvyšující se složitostí, snižující se “business value” na straně druhé.
Brooksův zákon