Obsah Předmluva
11
Poděkování O autorech Úvodem Komu je tato kniha určena Jak byste měli tuto knihu číst Web
11 12 12 13 13 14
KAPITOLA 1 Úvod do architektury softwaru
15
Použití procesu Stručný popis procesu Rozsah Shrnutí
16 17 21 21
KAPITOLA 2
Architektura, Architekt, Navrhování Architektura Architektura definuje strukturu Architektura definuje chování Architektura se zaměřuje na zásadní prvky Architektura vyvažuje potřeby investorů Architektura ztělesňuje rozhodnutí, vycházející z podstaty věci Architektura může odpovídat určitému stylu navrhování Architektura je ovlivňována svým prostředím Architektura ovlivňuje strukturu vývojového týmu Architektura j e přítomna v každém systému Architektura má určitý rozsah
Architekt Architekt je technickým vedoucím Role architekta může být vykonávána týmem Architekt rozumí procesu vývoje softwaru Architekt má znalosti z obchodní oblasti
23 24 25 26 27 27 28 28 29 29 30 30
32 32 33 34 34
Architekt má technologické znalosti Architekt má návrhové zkušenosti Architekt umí programovat Architekt umí dobře komunikovat Architekt přijímá rozhodnutí Architekt si uvědomuje organizační politiky Architekt je vyjednavačem
Navrhování Navrhování je vědou Navrhování je uměním Navrhování pokrývá mnoho disciplín Navrhování j e nekončící činnost Navrhování j e řízeno mnoha investory Navrhování často znamená přijímání kompromisů Navrhování uznává zkušenost Navrhování probíhá jak shora dolů, tak i zdola nahoru
Přínosy navrhování Navrhování řeší otázku systémových kvalit Navrhování vede ke shodě Navrhování podporuje proces plánování Navrhování umožňuje zachování integrity návrhu Navrhování pomáhá řídit složitost Navrhování vytváří základ pro opětovnou použitelnost Navrhování snižuje náklady na údržbu Navrhování podporuje analýzu dopadů
Shrnutí
KAPITOLA 3 Základy metody Klíčové koncepty Obsah metody Role Výsledek práce Činnost Úkol
Proces Sériový proces (proces vodopádu) Iterativní proces Agilní proces
Shrnutí
35 35 35 36 36 36 37
37 39 39 39 40 41 41 42 42
42 43 43 43 45 45 45 46 46
47
49 50 52 52 53 54 55
56 56 57 61
62
KAPITOLA 4 Dokumentace architektury softwaru Konec hry Klíčové koncepty Hlediska a pohledy Základní hlediska Příčná hlediska Pohledy a diagramy Přínosy hledisek a pohledů
Modely Úrovně realizace Přínosy modelů
Charakteristiky rámce popisu architektury Model architektury softwaru, založený na 4+1 pohledech Zachmanův rámec Rozanski a Woods
Rámec popisu architektury Hlediska Výsledky práce Úrovně realizace Soulad pohledů
Dokument architektury softwaru Shrnutí
KAPITOLA 5 Opětovně použitelné prvky architektury Zdroje architektury Metamodel prvků architektury Vývojově prvky Běhové prvky
Druhy prvků Referenční architektura Vývojová metoda Katalog hledisek Styl navrhování Mechanismus navrhování Vzor Referenční model Existující aplikace Aplikační balík Aplikační rámec Knihovna komponent/komponenta
Atributy prvku architektury
63 64 66 67 68 68 70 71
71 72 73
74 75 75 76
78 78 81 81 81
83 83
85 86 87 88 88
89 89 90 90 90 91 91 94 95 95 96 96
96
Další úvahy týkající se opětovné použitelnosti Shrnutí
98 99
KAPITOLA 6
Úvod do případové studie
101
Použití procesu Rozsah případové studie
102 104
Projektový tým Externí vlivy
Přehled aplikace Vize společnosti VašeCesta Popis problému Investoři Funkcionalita Kvality Omezení
Shrnutí
105 107
108 110 110 110 112 113 114
114
KAPITOLA 7
Definice požadavků Souvislost požadavků s architekturou Funkční a nefunkční požadavky Postupy dokumentování požadavků Použití procesu Porozumění popisům úkolů Definice požadavků: přehled činnosti Shrnutí
115 118 119 120 121 122 122 158
KAPITOLA 8
Tvorba logické architektury
159
Přechod od požadavků k řešení Kolik logické architektury?
162 164
Minimalizace logické architektury Logická architektura jako investice Význam sledovatelnosti
Použití procesu Tvorba logické architektury: přehled činnosti Shrnutí
164 165 165
166 166 222
KAPITOLA 9
Tvorba fyzické architektury Přechod od logické architektury k fyzické Použití procesu Tvorba fyzické architektury: přehled činnosti Úkol: Průzkum prvků architektury Úkol: Definice přehledu architektury Úkol: Dokumentace architektonických rozhodnutí Úkol: Přehled funkčních prvků Mapování logických funkčních prvků na fyzické funkční prvky Identifikace fyzických funkčních prvků Pořízení produktů Zohlednění technologicky specifických vzorů
Úkol: Přehled prvků nasazení Mapování logických prvků nasazení na fyzické prvky nasazení Identifikace fyzických prvků nasazení Pořízení hardwaru
Úkol: Ověření architektury Úkol: Ukázka realizovatelnosti architektury Úkol: Podrobné funkční prvky Úkol: Podrobné prvky nasazení Úkol: Validace architektury Úkol: Aktualizace dokumentace architektury softwaru Úkol: Kontrola architektury s investory Shrnutí
223 224 227 228 230 231 233 233 234 236 238 239
245 245 246 248
248 248 249 251 254 255 255 256
KAPITOLA 10
Za hranicemi základů Architekt a projektový tým Architekt a požadavky Architekt a vývoj Architekt a testování Architekt a řízení projektu Architekt a konfigurační management Architekt a řízení změn Architekt a vývojové prostředí Architekt a obchodní analýza
Architekt a externí vlivy Podniková architektura Vedení návrhu Poskytovatel infrastruktury Poskytovatel údržby a podpory aplikace
257 258 258 259 260 261 261 263 264 265
265 266 267 268 268
Navrhování složitých systémů Je nutné vyvinout mnoho rozdílných funkcí Vývoje se účastní mnoho lidí Systém j e značně distribuovaný Vývojový tým je distribuovaný Provozní kvality představují extrémní výzvu Jedná se o systém systémů
Shrnutí Závěrem: Poznámka od autorů
269 270 270 272 273 274 275
277 278
PŘÍLOHA A Metamodel architektury softwaru
279
Definice základních pojmů metamodelu
281
PŘÍLOHA B Katalog hledisek Přehled investorů Základní hlediska Příčná hlediska Soulad pohledů
283 285 286 288 290
PŘÍLOHA C Přehled metody
293
Role Výsledky práce Činnosti Úkoly
294 296 298 299
Činnost: Definice požadavků Činnost: Tvorba logické architektury Činnost: Tvorba fyzické architektury
Fáze Vznik Rozpracování Zhotovení Přechod
299 302 303
303 303 304 304 305
PŘÍLOHA D Kontrolní seznam požadavků na architekturu Funkční požadavky Požadavky použitelnosti Požadavky spolehlivosti Požadavky výkonu Požadavky pod porovatelnosti Omezení Podniková omezení Omezení architektury Omezení vývoje Fyzická omezení
307 308 309 309 309 310 310 310 311 311 312
Přehled pojmů
313
Odkazy
317
Rejstřík
323