51
Programų sistemų inžinerija 8 paskaita Programų sistemų architektūros projektavimas Skaidrės paruoštos remiantis I.Sommerville medžiaga

Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Programų sistemų inžinerija

8 paskaita Programų sistemų architektūros projektavimas

Skaidrės paruoštos remiantis I.Sommerville medžiaga

Page 2: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Paskaitos tikslai

Supažindinti su programinės įrangos architektūriniu projektavimu ir aptarti jo svarbą

Išsiaiškinti programinės įrangos architektūrinio projektavimo sprendimus

Supažindinti su trimis vienas kitą papildančiais architektūriniais stiliais apimančiais organizavimą, skaldymą (dekomponavimą) ir kontrolę.

Aptarti rekomenduojamas programinės įrangos architektūras, naudojamas jų perdavimui ir palyginimui

Page 3: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Temos

Programinės įrangos architektūrinio projektavimo

sprendimai

Sistemos organizavimas

Skaldymo (dekomponavimo) būdai

Valdymo būdai

Rekomendacinės architektūros

Page 4: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Programinės įrangos architektūra

Architektūrinis projektavimas - tai PI projektavimo

procesas, identifikuojantis sistemą sudarančias

posistemes (modulius) ir šablonus posistemių

kontrolei bei bendravimui.

Šio projektavimo proceso rezultatas yra programinės

įrangos architektūrinis modelis, kuris aprašo sistemos

komponentus ir komunikacijas tarp jų.

Page 5: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Architektūrinis projektavimas

Architektūrinis projektavimas – tai ankstyvoji

sistemos projektavimo proceso stadija.

Jis atspindi ryšį tarp reikalavimų specifikacijos ir

projektavimo proceso

Dažnai vykdoma lygiagrečiai su sistemos

specifikacijos veiksmais

Apima didesnės sistemos dalies komponentų

identifikavimą ir jų bendravimą.

Page 6: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Aiškios architektūros privalumai

Suinteresuotų asmenų bendravimas • architektūra gali būti panaudota kaip sistema

suinteresuotų asmenų (stakeholders) komunikavimo

centras

Sistemos analizė • reiškia, kad galima atlikti sistemos nefunkcinių

reikalavimų analizę

Didelės apimties pakartotinis panaudojimas • architektūra gali būti panaudota daugeliui sistemų

Page 7: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Sistemos struktūros nustatymas

Architektūrinis projektas paprastai išreiškiamas kaip

blokinė diagrama vaizduojanti bendrą sistemos

struktūrą.

Kiekvienas blokas – tai programinės įrangos

komponentas

Rodyklėmis vaizduojami duomenų srautai arba

kontrolinius signalus, perduodamus iš vieno

komponento kitam.

Page 8: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Pakavimo roboto kontrolės sistema

Page 9: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Blokų diagramos

Yra labai abstrakčios – nerodo nei komponentų

sąryšių prigimties nei išoriškai matomų posistemių

savybių.

Blokų diagramos dažniausiai naudojamos:

• Bendraujant su užsakovais

• Dokumentuojant PI architektūrą.

Page 10: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Temos

Architektūrinio projektavimo sprendimai (klausimai priimant architektūrinius sprendimus, architektūros

pakartotinis naudojimas, architektūriniai stiliai,

architektūriniai modeliai)

Sistemos organizavimas

Skaldymo būdai

Valdymo būdai

Rekomendacinės architektūros

Page 11: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Architektūrinio projektavimo

sprendimai

Architektūrinis projektavimas yra kūrybinis procesas,

kurio metu kuriama PI architektūra, turėsianti

tenkinti funkcinius ir nefunkcinius reikalavimus.

Architektūrinį projektavimą atlieka PI architektas.

Projektavimo metu priimami PI būsimos struktūros

sprendimai.

Page 12: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

PI architektui keliami klausimai

Ar yra kažkoks architektūros šablonas, kurį gali būti

pritaikyti?

Kaip sistema bus masteliuojama per CPU ir branduolius?

Kokie yra tinkami architektūros stiliai?

Kokiu principu bus vykdoma sistemos struktūrizavimas?

Kaip sistema bus sudalinta (dekomponuota) į modulius?

Kokia bus komponentų kontrolės strategija?

Kaip architektūrinis projektas bus įvertintas?

Kaip architektūra turėtų būti dokumentuota?

Page 13: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Architektūros pakartotinis

naudojimas

Sistemos toje pačioje taikymo srityje paprastai turi

panašią architektūrą, kuri atspindi srities suvokimą.

(Pvz. finansų valdymas, buhalterinė apskaita,

logistikos vadyba)

Naudojami architektūros šablonai leidžia pagreitinti

architektūros kūrimo procesą (šiuo metu populiarus

modelis).

Page 14: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Architektūriniai modeliai

Statinis struktūrinis modelis rodo pagrindinius sistemos

komponentus.

Dinaminis procesų modelis rodo sistemos procesų struktūrą.

Sąsajų modelis apibrėžia posistemių sąsajas.

Sąryšių modelis, kaip duomenų srauto diagramos rodo

posistemių sąryšius.

Paskirstymo modelis rodo kaip posistemės paskirstytos tarp

kompiuterių, procesorių, branduolių

Page 15: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Architektūrų tipai

Verslo logikos architektūra. Dažniausiai apibrėžiama

per objektų klases.

Procesų architektūra. Parodo kaip sistemos procesai

saveikauja tarpusavyje. Tinka siekiant projektuoti

didelio našumo ir patikimumo sistemas.

Kūrimo (development) architektūra – parodo PI

komponentus, naudinga programuotojams.

Fizinė architektūra – parodo kompiuterinės ir

programinės įrangos pasiskirstymą tarp procesorių.

Page 16: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Temos

Architektūrinio projektavimo sprendimai

Sistemos organizavimas (organizaciniai būdai : bendros

saugyklos, bendrų paslaugų, sluoksniavimo, juos atitinkantys

modeliai, jų privalumai ir trūkumai)

Skaldymo būdai

Valdymo būdai

Rekomendacinės architektūros

Page 17: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Sistemos organizavimas

Atspindi bazines strategijas, kurios naudojamos

struktūrizuojant sistemą.

Plačiai naudojami trys organizaciniai būdai:

• Bendros duomenų saugyklos naudojimo būdas;

• Bendrų paslaugų ir serverių naudojimo būdas;

• Abstraktaus automato (sluoksniavimo) būdas;

Page 18: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Saugyklos modelis

Posistemės turi keistis duomenimis. Tai gali būti daroma dviem būdais:

• Bendri duomenys yra saugomi centinėje duomenų bazėje arba saugykloje ir gali būti pasiekiami visoms posistemėms;

• Kiekviena posistemė prižiūri savo duomenų bazę ir persiunčia duomenys tiesiai kitai posistemei;

Kai bendrai naudojami didelės apimties duomenys dažniausiai naudojamas bendros saugyklos modelis.

Page 19: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

CASE įrankių architektūra

Page 20: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Saugyklos modelio charakteristikos

Privalumai

• Efektyvus kelias bendrai naudoti didelės apimties duomenis;

• Posistemėms nereikia rūpintis kaip duomenys gaunami, centralizuotas valdymas, kopijavimas, apsauga ir pan.

• Bendras modelis traktuojamas kaip saugyklos schema.

Trūkumai

• Posistemės turi susiderinti saugyklos duomenų modelį. Neišvengiamai tenka ieškoti kompromisų;

• Duomenų vystymas sudėtingas ir brangus;

• Nėra galimybių specifiniai valdymo politikai;

• Sunku efektyviai paskirstyti.

Page 21: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Bendrų paslaugų modelis

Paskirstytas sistemos modelis, kuris rodo kaip duomenys ir apdorojimas paskirstytas tarp komponentų.

Savarankiškų serverių aibė, kuri teikia specifines paslaugas kaip spausdinimas, duomenų valdymas ir pan.

Aibė klientų, kurie užsako paslaugas.

Kompiuterių tinklas kuris klientams užtikrina serverių pasiekiamumą.

Page 22: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Filmų ir paveikslų biblioteka

Page 23: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Modelio charakteristikos

Privalumai

• Duomenų paskirstymas yra tiesioginis;

• Efektyviai išnaudoja tinklines sistemas. Gali užtekti pigesnės

aparatūros.

• Lengva įtraukti papildomus serverius arba atnaujinti egzistuojančius

serverius.

Trūkumai

• Nėra bendro duomenų modelio ir posistemės naudoja skirtingą

duomenų organizavimą. Apsikeitimas duomenimis gali būti

neefektyvus.

• Perteklinis valdymas kiekvienam serveryje;

• Nėra centrinio vardų ir paslaugų registro- gali būti sunku surasti

kokie serveriai ir kokios paslaugos yra prieinamos.

Page 24: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Abstraktaus automato (sluoksninis)

modelis Naudojamas modeliuoti posistemių sąveikavimą.

Organizuoja sistemą kaip sluoksnių (abstrakčių automatų) aibę, kurių kiekvienas teikia aibę paslaugų.

Palaiko palaipsninį posistemės skirtingų sluoksnių kūrimą. Keičiantis sluoksnio sąsajai įtakojami tik gretimi sluoksniai.

Tačiau, dažnai tokia sistemos struktūra būna dirbtinė.

Page 25: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Versijų valdymo sistema

Configuration management system layer

Database system layer

Operating system layer

Object management system layer

Page 26: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Temos

Architektūrinio projektavimo sprendimai

Sistemos organizavimas

Skaldymo būdai (posistemės ir moduliai, modulinio

skaldymo modeliai, objektinis ir duomenų srautų, jų

privalumai ir trūkumai)

Valdymo būdai

Rekomendacinės architektūros

Page 27: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Posistemės ir moduliai

Posistemė – tai savarankiška sistema, kurios

operacijos yra nepriklausomos nuo kitų posistemių ar

sistemų teikiamų paslaugų.

Modulis - posistemės komponentas, kuris teikia

paslaugas kitiems komponentams, bet paprastai

nelaikomas kaip atskira sistema.

Page 28: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Modulinis skaldymas

Posistemės skaldomos į modulius kitam struktūriniam lygyje.

Yra du modulinio skaldymo modeliai

• Objektinis modelis, kur sistema įkomponuojama į

sąveikaujančius objektus;

• Duomenų srautų modelis, kur sistema skaldoma į funkcinius

modulius, kurie transformuoja įėjimus į išėjimus.

Jeigu galima, sprendimas apie lygiagretų vykdymą turėtų būti

atidėtas kol bus realizuoti moduliai.

Page 29: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Objektiniai modeliai

Sistemos struktūra iš laisvai susietų objektų su gerai

apibrėžtom sąsajom.

Objektinis dekomponavimas numato objektų klasių

identifikavimą su jų atributais ir operacijomis.

Realizavimo metu objektai sukuriami iš šių klasių ir

valdymo modelis naudojamas koordinuoti objektų

operacijas.

Page 30: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Sąskaitų apdorojimo sistema

Page 31: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Objektinių modelių privalumai

Objektai yra laisvai susieti ir jų realizavimas gali būti lengvai modifikuotas be įtakos kitiems objektams.

Objektai gali atspindėti realaus pasaulio esybes.

Plačiai naudojamos objektinės programavimo kalbos.

Tačiau objektų sąsajų keitimas gali sukelti problemų ir sudėtingus vienetus sunku atvaizduoti kaip objektus.

Page 32: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Duomenų srautų modelis

Duomenų srautų modeliai apdoroja įėjimus ir

išduoda išėjimus.

Gali būti vadinamas kaip transformavimo arba filtrų

modelis.

Netinkamas interaktyvioms sistemoms.

Page 33: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Sąskaitų apdorojimo sistema (DFD)

Page 34: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Duomenų srautų modelio privalumai

Leidžia transformacijas panaudoti pakartotinai.

Patogus bendravimui su užsakovu.

Lengva pridėti naujas transformacijas.

Santykinai paprasta realizuoti kaip nuoseklias ar

lygiagrečias sistemas.

Tačiau reikalauja transformavimui bendro duomenų

formato ir sudėtinga palaikyti įvykiais paremtą

bendravimą.

Page 35: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Temos

Architektūrinio projektavimo sprendimai

Sistemos organizavimas

Skaldymo būdai

Valdymo būdai (centralizuotas, įvykiais paremtas,

kvietimo-grįžimo, realaus laiko, transliavimo , pertraukimais

paremtas modeliai)

Rekomendacinės architektūros

Page 36: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Valdymo būdai

Skirtingai nuo skaldymo modelių, valdymo būdai siejasi su posistemių kontrolė.

Centralizuotas valdymas

• Viena posistemė atsakinga už kontrolę ir startuoja bei stabdo kitas posistemes.

Įvykiais paremtas valdymas

• Kiekviena posistemė savarankiškai atsako į įvykius iš kitų posistemių arba sistemos aplinkos.

Page 37: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Centralizuotas valdymas

Kvietimo-grįžimo modelis: Call-return model

• Paprogramių iš viršaus žemyn kvietimo modelis, kur kontrolė

prasideda viršutinėje paprogramėje ir juda žemyn. Tinkamas

nuoseklioms sistemoms.

Valdytojo (centrinis) modelis

• Tinkamas lygiagrečioms sistemoms. Viena sistemos

komponentas kontroliuoja sustojimą, startavimą ir

koordinavimą su kitais sistemos procesais. Daliniu atveju

galima realizuoti nuoseklias sistemas.

Page 38: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Kvietimo-grįžimo modelis

Page 39: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Realaus laiko sistemos valdymas

Page 40: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Įvykiais paremtos sistemos

Posistemė, kuri apdoroja įvykį, nekontroliuoja jo įvykdimo laiko ir gauna informaciją iš išorės.

Du principiniai įvykiais paremti modeliai:

• Transliavimo modelis. Įvykis transliuojamas visoms posistemėms ir kiekviena posistemė gali jį apdoroti.

• Pertraukimais paremtas modelis. Naudojamas realaus laiko sistemose, kur pertraukimų prižiūrėtojas pastebi pertraukimą ir perduoda kažkuriam komponentui apdorojimui.

Page 41: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Transliavimo modelis

Efektyvus integruojant skirtingų tinklo kompiuterių posistemes.

Kiekviena posistemė reaguoja į specifinius įvykius. Įvykus įvykiui kontrolę perima posistemė, kuri apdoroja įvykį.

Valdymo taisyklės nėra įterptos į įvykio ar pranešimo apdorojimą. Posistemė nusprendžia ar įvykis ją domina.

Tačiau posistemės nežino ar ir kada įvyks įvykis.

Page 42: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Atrankinis transliavimas

Page 43: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Pertraukimais paremtos sistemos

Naudojamos realaus laiko sistemose, kur greitas atsakas į įvykį yra esminis.

Pertraukimų tipai žinomi iš anksto ir kiekvienas iš jų apdorojamas atskirai.

Kiekvienas pertraukimų tipas asocijuoiamas su vieta atmintyje ir aparatūra perduoda valdymą atitinkamam apdorojimui.

Leidžia greit gauti atsaką bet sudėtinga programuoti ir sunku atestuoti.

Page 44: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Pertraukimais paremtas valdymas

Page 45: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Temos

Architektūrinio projektavimo sprendimai

Sistemos organizavimas

Skaldymo būdai

Valdymo būdai

Rekomendacinės architektūros (Bendriniai,

rekomenduotini modeliai, atviros sistemos modelis-

paveikslas, rekomendacinis modelis- paveikslas)

Page 46: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Rekomendacinės architektūros

Architektūriniai modeliai gali būti skirti tam tikroms taikymo

sritims.

Du sričiai specifinių modelių tipai:

• Bendriniai modeliai, kurie turi principines realių sistemų

apibendrintas charakteristikas.

• Rekomenduotini modeliai, kurie yra labiau abstraktūs

idealizuoti modeliai. Pateikia informaciją apie tos klasės

sistemas ir apie skirtingų architektūrų palyginimą.

Bendriniai modeliai paprastai gaunami apibendrinant iš apačios

aukštyn principu, o rekomenduotini modeliai naudojami iš

viršaus į apačią principu.

Page 47: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Standartiniai architektūros modeliai

Standartiniai modeliai gaunami labiau analizuojant

taikymo sritį negu egzistuojančias sistemas.

Gali būti naudojami kaip bazė sistemos realizacijai

arba skirtingų sistemų palyginimui.

Atviros sistemos (OSI) modelis yra komunikavimo

sistemos sluoksniuotas modelis.

Page 48: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Atvirų sistemos sujungimų (OSI)

standartinis modelis

Presenta tion

Session

Transpor t

Network

Data link

Physical

7

6

5

4

3

2

1

Comm unica tions medium

Networ k

Data link

Physical

Applica tion

Presenta tion

Session

Transpor t

Networ k

Data link

Physical

Applica tion

Page 49: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Standartinis modelis

Page 50: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Paskaitos santrauka

Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara.

Naudojami skirtingi architektūriniai modeliai kaip struktūrinis modelis, valdymo modelis ir skaldymo (dekomponavimo) modelis.

Sistemų organizaciniai modeliai apima saugyklos modelius, bendrų paslaugų modelius, ir abstraktaus automato modelius.

Page 51: Programų sistemų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_6.pdf · Programinės įrangos architektūra yra programų sistemos struktūros fundamentali sandara. Naudojami skirtingi

Paskaitos santrauka

Skaldymo modeliai apima objektinius ir duomenų

srautų modelius.

Valdymo modeliai apima centralizuoto valdymo ir

įvykiais paremto valdymo modelius.

Rekomendacinės architektūros gali būti naudojamos

specifinėse srityse ir architektūrinių projektų

palyginimui.