Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
mgr-szz:in-gra:21-gra [2018/01/29 23:36] roozi |
mgr-szz:in-gra:21-gra [2018/01/29 23:51] roozi |
||
---|---|---|---|
Řádek 189: | Řádek 189: | ||
* Měření | * Měření | ||
* Standardy a procedury | * Standardy a procedury | ||
+ | |||
+ | ====== Údržba a znovupoužitelnost (+refaktoring) ====== | ||
+ | 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. | ||
+ | |||
+ | * Oprava softwarových chyb | ||
+ | * Adaptace softwaru na jiné operační prostředí | ||
+ | * Přidat nebo měnit systémovou funkcionalitu -> každá implementace degraduje kvalitu systému | ||
+ | |||
+ | **Systémový re-engineering**\\ | ||
+ | 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**\\ | ||
+ | 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“**\\ | ||
+ | * Duplikovaný kód - kód se opakuje na různých místech programu | ||
+ | * Dlouhé metody | ||
+ | * Long Parameter List - dlouhý seznam parametrů | ||
+ | * Shotgun Surgery - abychom udělali jednoduchou změnu v kódu, je nutné sahat na mnoho míst, indikátor toho, že máme špatný model, že třídy mají špatnou zodpovědnost | ||
+ | * Middle Man - zprostředkované volání objektu zbytečně přes prostředníka | ||
+ | * Lazy Class - prázdná skořápka, třída, která nic nedělá | ||
+ | * Spekulativní obecnost - kód, který je v programu obsažen, aby sloužil někdy do budoucna | ||
+ | |||
+ | |||
+ | |||
+ | **Znovupoužitelnost**\\ | ||
+ | Hlavní výhodou je několikanásobné finanční ohodnocení jednou vyvinuté komponenty. | ||
+ | |||
+ | **Úrovně znovupoužitelnosti (reuse levels)**\\ | ||
+ | * Abstrakce (The abstraction level): analytické prvky | ||
+ | * Objekty (The object level): třídy | ||
+ | * Komponenty (The component level): kolekce tříd | ||
+ | * Systém (The system level): celý systém a různé platformy | ||
+ | |||
+ | **Reuse-Oriented software engineering**\\ | ||
+ | Model vývoje SW, založen na systematickém znovuužití, kde jsou systémy integrovány z existujících komponent (commercial-off-the-shelf = COTS). Zbylou funkcionalitu (kterou ještě nemáme) doprogramujme, především proxy, adaptéry a GUI. Jedná se o standardní budování business systémů. | ||
+ | |||