Design systému Komponentová versus procesní architektura Architektura procesů: objekty dynamické aspekty koordinace procesů fyzický pohled struktura chování systému
Architektura komponent: třídy statické aspekty propojení komponent logický pohled struktura popisu systému
Interface System iface
User iface
Funkce
Model Technická platforma UIS
DBS
NetSw
(c) MEWA, 2000 zdroj: Mathiassen, Munk-Madsen, Nielsen, Stage: Object Oriented Analysis and Design
Design systému Postup architektonického designu
Principy: definovat kriteria a jejich priority! propojit kriteria s technickým prostředím! brzy přehodnotit!
Dokumentace analýzy Kriteria
Komponenty
stanovení kriterií obecných specifických stanovení priorit kriterií
Procesy
Činnost
Obsah
Specifikace architektury
Pojem
Kriteria
Podmínky a kriteria designu
Kriteria
Komponenty
Jak je systém strukturován
Komponentová architektura
Procesy
Distribuce a koordinace procesů
Procesní architektura (c) MEWA, 2000
zdroj: Mathiassen, Munk-Madsen, Nielsen, Stage: Object Oriented Analysis and Design
Kriteria designu Kriterium = žádaná vlastnost architektury
Kriterium Použitelnost
Je měřítkem
Principy: dobrý design nemá kritické slabiny! dobrý design vyvažuje více kriterií! dobrý design je použitelný, pružný, srozumitelný!
Efektivnost
přizpůsobitelnosti systému organizačnímu, provoznímu a technickému kontextu imunity vůči neautorizovanému přístupu k datům a zařízením schopnosti ekonomicky využít technicou platformu
Správnost
naplnění uživatelských požadavků
Spolehlivost
naplnění požadované přesnosti výkonu funkcí
Udržovatelnost
nákladů na lokalizaci a opravu chyby
Testovatelnost Pružnost
nákladů na ujištění, že instalovaný systém správně provádí své určené funkce nákladů na modifikaci instalovaného systému
Srozumitelnost
úsilí potřebného k příslušnému porozumění systému
Znovupoužitelnost
možnosti použít části systému v jiných systémech
Přenositelnost
nákladů na přenos systému na jinou technickou platformu
Interoperabilita
nákladů na propojení systému s jinými systémy
Bezpečnost
Postup: zvážení obecných kriterií analýza specifických podmínek: technických (stávající HW/SW, použití vzorů a komponent, nákup komponent...) organizačních (kontrakty, plán vývoje IS, WBS a obsazení rolí...) personálních (kompetence, zkušenosti věcné a technické...)
stanovení priorit (c) MEWA, 2000
zdroj: Mathiassen, Munk-Madsen, Nielsen, Stage: Object Oriented Analysis and Design
Komponenty Komponenta = souhrn programových částí, tvořících celek s definovanými odpovědnostmi
Zkoumání architektonických vzorů
Kriteria
Principy: redukce složitosti rozdělením komponent podle oblastí zájmu (architektonické vzory) uvažování stabilních kontextových struktur (stabilní aspekty reality a podmínek práce systému) použití stávajících komponent
Architektura: vrstvená generická Client-Server
Interface
Definice subsystémů
Určení komponent
Funkce
Li Li-1
Věc
Model
Funkce
Interface
Odpovědnost
Problémová doména
Funkcionalita modelu
Interakce funkcí a uživatelů jiných systémů
Odvozené věci
Nesoudržné či složité problémové domény účetnictví, reservace...
Potřeba nesoudržné či složité funkcionality řízení plateb, řízení dopravy ...
Nesoudržné či složité užití, nebo aktéři
Databáze
modelovací funkce, aplikační funkce, kryptografie
Příklady
Spec. potřeby
Prohlížení, presentace, zkoušení, sledování Procesní architektura
zdroj: Mathiassen, Munk-Madsen, Nielsen, Stage: Object Oriented Analysis and Design
Model Technická platforma UIS
Class Diagram
C1 Specifikace složitých komponent
Specifikace komponent
System iface
User iface
Li+1
C2
DBS
NetSw
C3
S
(c) MEWA, 2000
Procesy
Class Specifikace Diagram komponent
Distribuce prog. komponent
Zkoumání distribučních vzorů
Architektura: centralizovaná distribuovaná decentralizovaná
Principy: zaměření na architekturu bez úzkých míst distribuce komponent na procesory koordinace sdílení zdrojů s aktivními objekty
Identifikace sdílených zdrojů
Výběr koordinačních mechanismů
Deployment Diagram Deployment Diagram
Zap Vyp
Procesní architektura = struktura Zkoumání koordinačních nezávislých procesů popisující běh vzorů systému Koordinace: určeným monitorem Procesor = zařízení schopné provádět centrálním dispečerem program kritickými hodnotami stavů Programová komponenta = fyzický asynchronní výměnou dat (buffering) modul programového kódu Aktivní objekt = objekt, přiřazený procesu
Určený procesor User Interface Řízení běhu
Přidej Uber
System Interface Jádro
Hlavní čidlo Páka
Ostatní systémy
Čudlík Pedál
(c) MEWA, 2000 zdroj: Mathiassen, Munk-Madsen, Nielsen, Stage: Object Oriented Analysis and Design