Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

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ů.
 +
  
  
mgr-szz/in-gra/21-gra.txt · Poslední úprava: 2020/04/12 16:56 (upraveno mimo DokuWiki)
Nahoru
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0