Download - Creating an Architectural Design
![Page 1: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/1.jpg)
Creating an Architectural Design
Parengė: Jonas Bialopetravičius
Architektūrinis projektavimas
![Page 2: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/2.jpg)
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.
![Page 3: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/3.jpg)
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į.
![Page 4: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/4.jpg)
Programų sistemų architektūra
• Iš ko susideda?– Duomenų projektavimas– Architektūros projektavimas
![Page 5: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/5.jpg)
Duomenų projektavimas
• Perteikia analizės metu įvardintus duomenų objektus į duomenų struktūras komponentų lygmenyje arba duomenų bazės architektūrą aplikacijos lygmenyje.
![Page 6: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/6.jpg)
Duomenų projektavimas
1. Nuoseklūs analizės principai taikomi sistemos eglsenai identifikuoti ir modeliuoti turėtų būti pritaikomi ir duomenims.
2. Visos duomenų struktūros ir su jomis atliekamos operacijos turi būti identifikuojamos.
3. Duomenų struktūros bei operacijos atliekamos su jais turėtų būti aprašomos pasirinktu metodu.
![Page 7: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/7.jpg)
Duomenų projektavimas
4. Žemo lygmens sprendimai turėtų būti atlikti vėlai dizaino proceso metu.
5. Duomenų struktūros pavidalas turėtų būti žinomas tik tiems moduliams kurie tiesiogiai naudojasi tais duomenimis.
6. Turėtų būti sukurta duomenų struktūrų ir jiem taikomų operacijų biblioteka.
7. Programų sistemos dizaino bei programavimo kalbos turėtų palaikyti abstrakčius duomenų tipus.
![Page 8: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/8.jpg)
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ą.
![Page 9: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/9.jpg)
Architektūriniai stiliai
• Duomenimis paremta architektūra
![Page 10: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/10.jpg)
Architektūriniai stiliai
• Duomenų tekmės architektūra
![Page 11: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/11.jpg)
Architektūriniai stiliai
• „Kviesk ir gražink“ architektūra
![Page 12: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/12.jpg)
Architektūriniai stiliai
• Objektiškai orientuota architektūra
![Page 13: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/13.jpg)
Architektūriniai stiliai
• Sluoksninė architektūra
![Page 14: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/14.jpg)
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.
![Page 15: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/15.jpg)
Architektūros projektavimas
1. Sistemos konteksto atvaizdavimas
![Page 16: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/16.jpg)
Architektūros projektavimas
1. SafeHome sistemos konteksto atvaizdavimas
![Page 17: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/17.jpg)
Architektūros projektavimas
2. Archetipų apibrėžimas
![Page 18: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/18.jpg)
Architektūros projektavimas
3. Skaldymas į komponentus
![Page 19: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/19.jpg)
Architektūros projektavimas
4. Konkrečios sistemos aprašas
![Page 20: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/20.jpg)
Architektūrinės alternatyvos
1. Surinkti scenarijus;2. Išsiaiškinti reikalavimus, apribojimus ir aplinką;3. Apibūdinti architektūrinius stilius ir šablonus,
kurie buvo pasirinkti turimiems scenarijams ir reikalavimams;
4. Įvertinti kokybės atributus po vieną;5. Identifikuoti kokybės atributų jautrumą
architektūrinių atributų pasikeitimams;6. Kritikuoti siūlomas architektūras.
Architektūrinių alternatyvų analizės modelis:
![Page 21: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/21.jpg)
Architektūrinės alternatyvos
• Architektūrinis sudėtingumas:– Dalijimosi priklausomybės;– Tekmės priklausomybės;– Apribojimo priklausomybės.
![Page 22: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/22.jpg)
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.
![Page 23: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/23.jpg)
Transformacinės tekmės perteikimas
1. Peržiūrėti bazinį sistemos modelį
![Page 24: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/24.jpg)
Transformacinės tekmės perteikimas
2. Peržiūrėti ir sukonkretinti duomenų tekmės diagramas
![Page 25: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/25.jpg)
Transformacinės tekmės perteikimas
3. Nustatyti ar DTD turi transformuojančios ar transakcijos tekmės charakteristikas
![Page 26: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/26.jpg)
Transformacinės tekmės perteikimas
4. Surasti tekmės centrą nurodant įeities bei išeities ribas
![Page 27: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/27.jpg)
Transformacinės tekmės perteikimas
5. Atlikti pirmo lygio skaidymą
![Page 28: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/28.jpg)
Transformacinės tekmės perteikimas
6. Atlikti antro lygio skaidymą
![Page 29: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/29.jpg)
Transformacinės tekmės perteikimas
7. Išgryninti pirmos iteracijos architektūrą naudojant kokybės gerinimo euristikas
![Page 30: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/30.jpg)
Transformacinės tekmės perteikimas
7. Išgryninti pirmos iteracijos architektūrą naudojant kokybės gerinimo euristikas
![Page 31: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/31.jpg)
Transakcinės tekmės perteikimas
• Skirtumai:4. Identifikuojamas transakcijos centras;5. DTD suprojektuojama remiantis įeities ir
išsiuntimo šakomis – likusios dalys remiasi transformacijos tipo tekmės projektavimu.
![Page 32: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/32.jpg)
Transakcinės tekmės perteikimas
• Išsiuntimo šaka ir transformacijos tipo tekmės
![Page 33: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/33.jpg)
Trumpai
1. Atliekamas sistemos atvaizdavimas jos kontekste.
2. Sistema aprašoma aukšto lygmens abstrakcijomis (archetipais).
3. Konkretūs komponentai identifikuojami ir išdėstomi.
4. Konkretūs architektūros pavyzdžiai sukuriami siekiant parodyti sistemos validumą realybėje.
![Page 34: Creating an Architectural Design](https://reader036.vdocuments.pub/reader036/viewer/2022062301/56814018550346895dab65a0/html5/thumbnails/34.jpg)
Klausimai
?