340 likes | 476 Views
Creating an Architectural Design. Architektūrin is projektavimas. Pareng ė: Jonas Bialopetravi čius. Programų sistemų architektūra. Kas tai? Sistemos struktūrinis pavidalas apibrėžiantis ją sudarančius komponentus bei duomenis. Jų išdėstymą, savybes bei tarpusavio sąryšius.
E N D
Creating an Architectural Design Architektūrinis projektavimas Parengė: Jonas Bialopetravičius
Programų sistemų architektūra • Kas tai? • Sistemos struktūrinis pavidalas apibrėžiantis ją sudarančius komponentus bei duomenis. Jų išdėstymą, savybes bei tarpusavio sąryšius.
Programų sistemų architektūra • Kam to reikia? • Architektūros atvaizdavimas leidžia suinteresuotiems asmenims efektyviai bendrauti klausimais liečiančias sistemą. • Pateikia ankstyvus programų sistemos dizaino pasirinkimus, kurie stipriai įtakos galutinį produktą. • Leidžia pažvelgti į sistemą, jos komponentus ir jų tarpusavio sąveikas, kaip į supaprastintą ir lengvai suvokiamą modelį.
Programų sistemų architektūra • Iš ko susideda? • Duomenų projektavimas • Architektūros projektavimas
Duomenų projektavimas • Perteikia analizės metu įvardintus duomenų objektus į duomenų struktūras komponentų lygmenyje arba duomenų bazės architektūrą aplikacijos lygmenyje.
Duomenų projektavimas • Nuoseklūs analizės principai taikomi sistemos eglsenai identifikuoti ir modeliuoti turėtų būti pritaikomi ir duomenims. • Visos duomenų struktūros ir su jomis atliekamos operacijos turi būti identifikuojamos. • Duomenų struktūros bei operacijos atliekamos su jais turėtų būti aprašomos pasirinktu metodu.
Duomenų projektavimas • Žemo lygmens sprendimai turėtų būti atlikti vėlai dizaino proceso metu. • Duomenų struktūros pavidalas turėtų būti žinomas tik tiems moduliams kurie tiesiogiai naudojasi tais duomenimis. • Turėtų būti sukurta duomenų struktūrų ir jiem taikomų operacijų biblioteka. • Programų sistemos dizaino bei programavimo kalbos turėtų palaikyti abstrakčius duomenų tipus.
Architektūriniai stiliai ir šablonai • Stilius – bendras sistemos struktūrinės išvaizdos bei komponentų bendravimo modelis. • Šablonas – vieno architektūrinio aspekto modelis naudojamas patenkinti kokį nors funkcinį reikalavimą.
Architektūriniai stiliai • Duomenimis paremta architektūra
Architektūriniai stiliai • Duomenų tekmės architektūra
Architektūriniai stiliai • „Kviesk ir gražink“ architektūra
Architektūriniai stiliai • Objektiškai orientuota architektūra
Architektūriniai stiliai • Sluoksninė architektūra
Architektūriniai šablonai • Paralelizmas – operacinės sistemos procesų valdymas, užduočių planuotojas. • Duomenų pastovumas – duomenų bazių valdymo sistemos, aplikacijos lygio pastovumas. • Paskirstymas – brokerio šablonas.
Architektūros projektavimas • Sistemos konteksto atvaizdavimas
Architektūros projektavimas • SafeHome sistemos konteksto atvaizdavimas
Architektūros projektavimas • Archetipų apibrėžimas
Architektūros projektavimas • Skaldymas į komponentus
Architektūros projektavimas • Konkrečios sistemos aprašas
Architektūrinės alternatyvos Architektūrinių alternatyvų analizės modelis: • Surinkti scenarijus; • Išsiaiškinti reikalavimus, apribojimus ir aplinką; • Apibūdinti architektūrinius stilius ir šablonus, kurie buvo pasirinkti turimiems scenarijams ir reikalavimams; • Įvertinti kokybės atributus po vieną; • Identifikuoti kokybės atributų jautrumą architektūrinių atributų pasikeitimams; • Kritikuoti siūlomas architektūras.
Architektūrinės alternatyvos • Architektūrinis sudėtingumas: • Dalijimosi priklausomybės; • Tekmės priklausomybės; • Apribojimo priklausomybės.
Sistemos architektūra iš analizės modelio • Struktūrinis dizainas: • Pateikia patogų būdą perteikti duomenų tekmės diagramas į sistemos architektūrą. • Priklauso nuo duomenų tekmės būdo: • Transformuojanti tekmė – duomenys plaukia maždaug tiesiu kanalu; • Transakcijos tekmė – duomenys teka tam tikru kanalu priklausomai nuo transakcijos centro priimto sprendimo.
Transformacinės tekmės perteikimas • Peržiūrėti bazinį sistemos modelį
Transformacinės tekmės perteikimas • Peržiūrėti ir sukonkretinti duomenų tekmės diagramas
Transformacinės tekmės perteikimas • Nustatyti ar DTD turi transformuojančios ar transakcijos tekmės charakteristikas
Transformacinės tekmės perteikimas • Surasti tekmės centrą nurodant įeities bei išeities ribas
Transformacinės tekmės perteikimas • Atlikti pirmo lygio skaidymą
Transformacinės tekmės perteikimas • Atlikti antro lygio skaidymą
Transformacinės tekmės perteikimas • Išgryninti pirmos iteracijos architektūrą naudojant kokybės gerinimo euristikas
Transformacinės tekmės perteikimas • Išgryninti pirmos iteracijos architektūrą naudojant kokybės gerinimo euristikas
Transakcinės tekmės perteikimas • Skirtumai: • Identifikuojamas transakcijos centras; • DTD suprojektuojama remiantis įeities ir išsiuntimo šakomis – likusios dalys remiasi transformacijos tipo tekmės projektavimu.
Transakcinės tekmės perteikimas • Išsiuntimo šaka ir transformacijos tipo tekmės
Trumpai • Atliekamas sistemos atvaizdavimas jos kontekste. • Sistema aprašoma aukšto lygmens abstrakcijomis (archetipais). • Konkretūs komponentai identifikuojami ir išdėstomi. • Konkretūs architektūros pavyzdžiai sukuriami siekiant parodyti sistemos validumą realybėje.