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
mgr-szz:in-pos:6-pos [2019/06/10 11:11]
lachmanfrantisek komponenty, rozhrani, ocl
mgr-szz:in-pos:6-pos [2020/04/12 16:56] (aktuální)
Řádek 20: Řádek 20:
 </​box>​ </​box>​
  
- 
-=== Analytické vzory === 
- 
-Existují i vzory využitelné při fázi analýzy. Seznam kategorií od M. Fowlera: 
- 
-  * **Accountability** 
-    * Party 
-    * Organization Hierarchies 
-    * Organization Structure 
-    * Accountability 
-    * Organization Structure 
-    * Accountability Knowledge Level 
-    * Party Type Generalization 
-    * Hierarchic Accountability 
-    * Operating Scopes 
-    * Post 
-  * **Observations and Measurements** 
-    * Quantity 
-    * Conversion Ratio 
-    * Compound Units 
-    * Measurement 
-    * Observation 
-    * Subtyping Observation Concepts 
-    * Protocol 
-  * **Observations for Corporate Finance** 
-    * Enterprise Segment 
-    * Measurement Protocol 
-    * Range 
-    * Phenomenon with Range 
-  * **Referring to Objects** 
-    * Name 
-    * Identification Scheme 
-    * Object Merge 
-    * Object Equivalence 
-  * **Inventory and Accounting** 
-  * **Planning** 
-  * **Trading** 
-  * **Derivative Contracts** 
-  * **Trading Packages** 
  
  
Řádek 178: Řádek 139:
 </​box>​ </​box>​
  
 +
 +
 +=== Analytické vzory ===
 +
 +Existují i vzory využitelné při fázi analýzy. Seznam kategorií od M. Fowlera:
 +
 +  * **Accountability**
 +    * Party
 +    * Organization Hierarchies
 +    * Organization Structure
 +    * Accountability
 +    * Organization Structure
 +    * Accountability Knowledge Level
 +    * Party Type Generalization
 +    * Hierarchic Accountability
 +    * Operating Scopes
 +    * Post
 +  * **Observations and Measurements**
 +    * Quantity
 +    * Conversion Ratio
 +    * Compound Units
 +    * Measurement
 +    * Observation
 +    * Subtyping Observation Concepts
 +    * Protocol
 +  * **Observations for Corporate Finance**
 +    * Enterprise Segment
 +    * Measurement Protocol
 +    * Range
 +    * Phenomenon with Range
 +  * **Referring to Objects**
 +    * Name
 +    * Identification Scheme
 +    * Object Merge
 +    * Object Equivalence
 +  * **Inventory and Accounting**
 +  * **Planning**
 +  * **Trading**
 +  * **Derivative Contracts**
 +  * **Trading Packages**
  
  
Řádek 283: Řádek 284:
  
 ==== Komponentové systémy a modely ==== ==== Komponentové systémy a modely ====
 +
 +  * Komponentové modely
 +    * = komponentové standardy
 +    * definují specifickou reprezentaci,​ interakci a kompozici SW komponent
 +    * Příklady komerčních řešení:
 +      * CCM/CORBA, EJB/J2EE, Microsoft'​s COM+/.NET
 +    * Akademické modely:
 +      * Fractal, KobrA, PCM, SOFA, DArwin, Wright, Koala, ACME
 +    * Rozdíly:
 +      * komponenta
 +        * run-time x design-time jednotka
 +        * dynamická x statická jednotka
 +        * stateful x stateless
 +      * rozhraní
 +        * signatury x protokoly
 +        * synchronní x asynchronní
 +      * hierarchie
 +        * flat x hierarchical
 +      * assembling
 +        * simple x multiple
 +
 +  * Komponentové frameworky
 +    * = komponentový middleware
 +    * = běhové prostředí
 +    * Umožňují běh komponent v rámci daného standardu.
 +    * Příklady:
 +      * J2EE: JBoss, Glassfish
 +      * Web Portals (JSR portlets): Liferay, WebSphere Portal
  
 ==== Signatury a omezující podmínky služeb, OCL ==== ==== Signatury a omezující podmínky služeb, OCL ====
Řádek 294: Řádek 323:
  
  
-<red 90% red|Kontrakt>​+<box 90% red|Kontrakt>​
 Dohoda mezi dvěma subjekty akceptující podmínky, na kterých je možné užívat práva. Dohoda mezi dvěma subjekty akceptující podmínky, na kterých je možné užívat práva.
 </​box>​ </​box>​
Řádek 359: Řádek 388:
     pre|post [<​constraint name>]:     pre|post [<​constraint name>]:
     <Boolean OCL expression>​     <Boolean OCL expression>​
 +</​box>​
 +
 +=== IDL ===
 +
 +  * = Interface Description Language
 +  * = Interface Definition Language
 +  * Specifikační jazyk pro popis rozhraní komponent nezávisle na programovacím jazyce.
 +  * Nejedná se o programovací jazyk.
 +  * Systémy postavené nad IDL:
 +    * CORBA
 +    * WSDL pro Web Services
 +    * Mozilla'​s XPCOM
 +    * Facebook'​s Thrift
 +
 +<box 90% blue|WSDL>​
 +Web services Description Language
 +  * postaven nad XML
 +  * popisuje rozhraní pro Web Services
 +  * vzájemně převoditelné s IDL
 </​box>​ </​box>​
  
 ==== Kvalitativní aspekty služeb (QoS) ==== ==== Kvalitativní aspekty služeb (QoS) ====
 +
 +SW požadavky:
 +
 +  * **Functional**
 +    * definuje funkcionalitu systému a jeho komponent
 +    * specifikuje chování mezi vstupem a výstupem
 +  * **Non-functional**
 +    * klade omezení a kriteria na implementaci
 +
 +
 +Kvalitativní aspekty SW architektur:​
 +
 +  * **Performance**
 +    * propustnost
 +    * čas odezvy
 +    * efektivnost využití zdrojů
 +  * **Reliability**
 +    * běh bez pádů
 +    * dostupnost
 +    * robustnost
 +    * schopnost obnovy
 +  * **Security**
 +    * integrita
 +    * důvěrnost
 +    * dostupnost
 +  * **Scalability**
 +    * výkon
 +    * paralelní komunikace
 +    * škálování dat
 +  * **Maintainability**
 +    * změnitelnost
 +    * upravitelnost
 +
 +  ​
 +Taktiky zlepšení:
 +
 +  * Performance
 +    * minimalizace počtu adaptérů a wrapperů (redukce zdrojů pro jeden požadavek)
 +    * zmenšit komunikace zajišťenou rozhraním (více rozhraní pro stejnou funkcionalitu)
 +    * separace dat od výpočtu (lepší optimalizace dat/​algoritmů)
 +    * nahrazení synchronní komunikace za asynchronní
 +    * přesunutí často komunikujících komponent blíže k sobě
 +  * Reliability
 +    * kontrola externích závislostí
 +    * zvěřejnění stavu komponent a definice invariantů
 +    * chybové řízené
 +    * zamezit vzniku single-point-of-failure
 +    * health-state kontroly systému
 +    * systém záloh a obnov
 +  * Scalability
 +    * jednoduchá,​ jasně definovaná rozhraní
 +    * distribuované zdroje dat
 +    * zjistit vhodná data pro replikace
 +    * použití paralelního zpracování na vhodných místech
 +    * zamezit bottleneck místům
 +    * změnit přímé závislosti na nepřímé (např. synchronní volání za asynchronní)
 +  * Maintainability
 +    * rozdělení zodpovědnosti/​Sloučení zodpovědnosti (jasná lokalizace zodpovědných částí)
 +    * odebrání kódu řešící interakce (ne funkcionalitu) vně komponent do konektorů
 +    * odebrání kódu řešící funkcionalitu z konektorů do komponent
 +    * malé a kompaktní komponenty
 +    * izolace dat od výpočtu (menší dopad změny jednoho, či druhého)
 +    * odebrat zbytečné závislosti
 +    * hierarchická architektura (umožňuje vhled na systém z různou abstrakcí)
 +
 +
 +<box 90% red|Service Level Agreement (SLA)>
 +Definuje společné pochopení pro služby, priority, zodpovědnosti,​ garance a záruky.
 +</​box>​
  
 ==== Objektové metody vývoje softwaru, RUP ==== ==== Objektové metody vývoje softwaru, RUP ====
 +
 +viz: http://​statnice.dqd.cz/​mgr-szz:​in-gra:​21-gra#​oo_modely
 +
  
 ===== Zdroje ===== ===== Zdroje =====
  
   * slidy pa103 (jaro 2019)   * slidy pa103 (jaro 2019)
mgr-szz/in-pos/6-pos.1560157889.txt.gz · 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