psa sistemos modeliai - technomatematikaŠie modeliai atspindi skirtingus poži ūrius ir abu yra...
TRANSCRIPT
Pagal Ian Sommerville, Software Engineering, 2007 1
Sistemos modeliai
Pagal Ian Sommerville, Software Engineering, 2007 2
Skyriaus tikslai
� Paaiškinti kodėl sistemos kontekstas turėtų būti modeliuotas kaip reikalavimų inžinerijos proceso dalis
� Aprašyti elgsenos modeliavimą, duomenų modeliavimą ir objektinį modeliavimą
� Pažiūrėti, kaip CASE padeda modeliuoti sistemą
Pagal Ian Sommerville, Software Engineering, 2007 3
Aptariamos temos
� Kontekstiniai modeliai
� Elgsenos modeliai
� Duomenų modeliai
� Objektiniai modeliai
� CASE paketai
Pagal Ian Sommerville, Software Engineering, 2007 4
Sistemų modeliavimas
� Sistemų modeliavimas padeda analitikui suprasti sistemos veikimą; sistemos modeliai naudojami bendravimui su užsakovu.
� Skirtingi modeliai parodo kuriamą sistemą iš skirtingų perspektyvų• Išorinė perspektyva parodo, kokioje aplinkoje veiks sistema
(kokiame kontekste);
• Elgesio perspektyva atspindi sistemos veikimo modelį;
• Struktūrinė perspektyva rodo sistemos ar duomenų architektūrą.
Pagal Ian Sommerville, Software Engineering, 2007 5
Modelių tipai� Duomenų perdavimo modeliai rodo, kaip duomenys
perduodami skirtingose stadijose.
� Kompoziciniai (sudėties) modeliai rodo, kaip iš vienų esybių sukombinuoti kitas esybes.
� Architektūrinis modelis rodo principines posistemes.
� Klasifikavimo modelis rodo kokias bendras charakteristikas turi esybės.
� Poveikio/atsakymo modelis rodo sistemos reakciją į įvykius.
Pagal Ian Sommerville, Software Engineering, 2007 6
Aptariamos temos
� Kontekstiniai modeliai
� Elgsenos modeliai
� Duomenų modeliai
� Objektiniai modeliai
� CASE paketai
Pagal Ian Sommerville, Software Engineering, 2007 7
Kontekstiniai modeliai
� Kontekstiniai modeliai iliustruoja ir rodo kokia yra sistemos aplinka.
� Socialiniai arba organizaciniai interesai gali įtakoti, kurioje vietoje nubrėžiamos kuriamos sistemos ribos.
� Architektūrinis modelis rodo sistemos santykius su kitomis sistemomis.
Pagal Ian Sommerville, Software Engineering, 2007 8
Konteksto modelio pavyzdys
Pagal Ian Sommerville, Software Engineering, 2007 9
Proceso modeliai
� Proceso modelis visapusiškai parodo ne tik sistemos procesus, bet ir procesus, kuriuos remia mūsų sistema
� Duomenų srauto modeliai naudojami proceso demonstravimui ir rodo informacijos perdavimą iš vieno proceso į kitą.
Pagal Ian Sommerville, Software Engineering, 2007 10
Aparatūros įsigijimo procesas
Pagal Ian Sommerville, Software Engineering, 2007 11
Aptariamos temos
� Kontekstiniai modeliai
� Elgsenos modeliai
� Duomenų modeliai
� Objektiniai modeliai
� CASE paketai
Pagal Ian Sommerville, Software Engineering, 2007 12
Elgsenos modeliai
� Elgsenos modeliai naudojami aprašyti bendrą sistemos veikimą.
� Yra du elgsenos modelių tipai:• Duomenų apdorojimo modeliai, kurie rodo kaip duomenys
apdorojami ir kaip juda sistemoje;• Būsenų modeliai, kurie rodo kaip sistema reaguoja į įvykius.
� Šie modeliai atspindi skirtingus požiūrius ir abu yra reikalingi sistemos elgesio aprašymui.
Pagal Ian Sommerville, Software Engineering, 2007 13
Duomenų apdorojimo modeliai
� Duomenų srauto diagramos (DSD) gali būti naudojamos atvaizduoti sistemos duomenų apdorojimą.
� DSD diagramos rodo duomenų, einančių per sistemą, apdorojimo žingsnius
� DSD yra esminė daugelio analizės metodų dalis
� DSD naudojamas paprastas ir intuityvus žymėjimas, kurį gali suprasti ir vartotojas.
� Rodo duomenų apdorojimą nuo pradžios iki pabaigos.
Pagal Ian Sommerville, Software Engineering, 2007 14
Užsakymo apdorojimo DSD
Pagal Ian Sommerville, Software Engineering, 2007 15
Duomenų srauto diagramos
� DSD atvaizduoja sistemą funkciniu požiūriu.
� Duomenų ir procesų sąsajos dokumentavimas ir sekimas yra naudingas bendram sistemos supratimui.
� Duomenų srautų diagramos gali būti naudojamos tada, kai reikia parodyti, kaip keičiasi duomenys tarp mūsų kuriamos sistemos ir ir kitų mūsų turimų sistemų.
Pagal Ian Sommerville, Software Engineering, 2007 16
Insulino pompos DSD
Pagal Ian Sommerville, Software Engineering, 2007 17
Būsenų modeliai
� Būsenų modeliai vaizduoja sistemos elgseną reaguojant į išorinius ir vidinius įvykius.
� Jie rodo sistemos reakciją į poveikius ir dažnai naudojama modeliuojant realaus laiko sistemas.
� Būsenų modeliai vaizduoja sistemos būvius kaip mazgus ir įvykius kaip ryšius tarp šių mazgų. Įvykus įvykiui sistema pereina iš vieno būvio į kitą.
� Būvio diagramos yra sudėtinė UML dalis ir naudojamos atvaizduoti būsenų modelius.
Pagal Ian Sommerville, Software Engineering, 2007 18
Būvio diagramos
� Leidžia modelį sudalinti į smulkesnius modelius.
� Kiekvienam būviui pridedamas sutrumpintas veiksmų aprašymas
� Gali būti papildytos lentelėmis, aprašančiomis būvius ir poveikius.
Pagal Ian Sommerville, Software Engineering, 2007 19
Mikrobangės krosnelės modelis
Pagal Ian Sommerville, Software Engineering, 2007 20
Mikrobanginės krosnelės būviai
Būsena Aprašymas
Laukimas Mikrobangė laukia komandos. Ekrane rodomas dabartinis laikas.
Dalinis pajėgumas
Mikrobangei nustatyti 300 vatai. Ekrane rodomas užrašas “Dalinis pajėgumas”.
Pilnas pajėgumas
Mikrobangei nustatyti 600 vatai. Ekrane rodomas užrašas “Pilnas pajėgumas”.
Nustatytas laikas
Vartotojas nustetė veikimo laiką. Ekrane rodomas įvestas laikas.
Uždrausta Mikrobangės operacijos uždraustos saugumo sumetimais. Ekrane rodomas užrašas “Neparuošta”
Leidžiama Mikrobangės operacijos leidžiamos. Ekrane rodomas užrašas “Paruošta”
Operacija Mikrobangė vykdo operaciją. Mikrobangės viduje dega šviesa Ekrane rodomas iki operacijos pabaigos likęs laikas. Pasibaigus operacijai pasigirsta 5 sekundes trunkantis garsinis signalas. Išsijungia mikrobangės šviesa. Ekrane rodomas užrašas “operacija baigta”
Pagal Ian Sommerville, Software Engineering, 2007 21
Mikrobanginės krosnelės poveikiai
Stimulas Aprašymas
Dalinis pajėgumas
Vartotojas nuspaudė dalinio pajėgumo mygtuką
Pilnas pajėgumas
Vartotojas nuspaudė pilno pajėgumo mygtuką
Laikmatis Vartotojas nuspaudė laikmačio mygtuką
Skaičius Vartotojas nuspaudė skaičiaus mygtuką
Atidarytos durelės
Durelės neuždarytos
Uždarytos durelės
Durelės uždarytos
Pagal Ian Sommerville, Software Engineering, 2007 22
Mikrobanginės krosnelės operacijos
Pagal Ian Sommerville, Software Engineering, 2007 23
Aptariamos temos
� Kontekstiniai modeliai
� Elgsenos modeliai
� Duomenų modeliai
� Objektiniai modeliai
� CASE paketai
Pagal Ian Sommerville, Software Engineering, 2007 24
Semantiniai duomenų modeliai
� Naudojami aprašyti sistemoje apdorojamų duomenų loginę struktūrą.
� Esybių santykio atributų modelis apibrėžia sistemos duomenų esybes, jų surišimą ir atributus
� Plačiai naudojama projektuojant duomenų bazes, lengvai realizuojama reliacinėse duomenų bazėse.
Pagal Ian Sommerville, Software Engineering, 2007 25
Bibliotekos semantinis modelis
Pagal Ian Sommerville, Software Engineering, 2007 26
Duomenų žodynai
� Duomenų žodyną sudaro visų sistemos modelyje naudojamų terminų sąrašas. Esybių, jų sąryšių bei atributų aprašymas taip pat pridedamas.
� Privalumai• Kontroliuoja terminus ir padeda išvengti dubliavimo;
• Išsaugo informaciją apie analizę, projektavimą ir realizavimą;
� Dauguma CASE paketų palaiko duomenų žodynus.
Pagal Ian Sommerville, Software Engineering, 2007 27
Duomenų žodyno įrašai
Vardas Aprašymas Tipas Data
Straipsnis Publikuotas straipsnis, prieinamas visiems, naudojantioms LIBSYS.
Esybė 30.12.2002
Autoriai Skyriaus autorių vardai Atributas 30.12.2002
Pirkėjas Asmuo arba organizacija, užsakiusi straipsnio kopiją
Esybė 30.12.2002
Mokestis-mokamas
1:1 sąryšis tarp straipsnio ir autorinių teisių agentūros, kontroliuojančios mokesčių už straipsnį surinkimą.
Sąryšis 29.12.2002
Adresas (pirkėjo)
Pirkėjo adresas Atributas 31.12.2002
Pagal Ian Sommerville, Software Engineering, 2007 28
Aptariamos temos
� Kontekstiniai modeliai
� Elgsenos modeliai
� Duomenų modeliai
� Objektiniai modeliai
� CASE paketai
Pagal Ian Sommerville, Software Engineering, 2007 29
Objektiniai modeliai
� Objektiniai modeliai aprašo sistemą objektų klasių ir jų asociacijų pagalba.
� Objektų klasė yra objektų aibės abstrakcija su bendrais atributais ir paslaugomis (operacijomis), teikiamomis kiekvieno objekto.
� Gali būti naudojami įvairūs objektiniai modeliai• Paveldėjimo modeliai;
• Agregavimo modeliai;
• Sąveikos modeliai.
Pagal Ian Sommerville, Software Engineering, 2007 30
Objektiniai modeliai
� Natūraliu būdu atspindi sistemos manipuliuojamas realaus pasaulio esybes
� Šiuo būdu sunkiau modeliuoti labiau abstrakčias esybes
� Objektų klasių identifikavimas pripažįstamas kaip sunkus procesas, reikalaujantis gilaus taikymo srities supratimo.
� Objektų klasės atspindinčios srities esybes gali būti pakartotinai naudojamos visoje sistemoje
Pagal Ian Sommerville, Software Engineering, 2007 31
Paveldėjimo modeliai
� Hierarchiškai susistemina srities objektų klases
� Aukščiausio lygio hierarchijos klasės atspindi visų klasių bendras savybes
� Objektų klasės paveldi atributus ir paslaugas vienos ar daugiau aukštesnių klasių
� Klasių hierarchijos projektavimas gali būti sudėtingas, jei reikia išvengti dubliavimo skirtingose šakose
Pagal Ian Sommerville, Software Engineering, 2007 32
Objektiniai modeliai ir UML
� UML yra programuotojų sumanytas standartizuotas objektinės analizės bei dizaino metodų atvaizdavimas
� Tai tapo efektyviu objektinio modeliavimo standartu
� Žymėjimai• Objektų klasės vaizduojamos stačiakampiais, kurio viršuje nurodomas
vardas, viduryje atributai, o apačioje operacijos;
• Sąryšis tarp objektų klasių (žinomas kaip asociacijos) yra parodyta linijomis jungiančiomis objektus;
• Paveldėjimas yra nurodytas kaip apibendrinimas ir rodo hierarchiją labiau aukštyn negu žemyn.
Pagal Ian Sommerville, Software Engineering, 2007 33
Bibliotekos klasės hierarchija
Pagal Ian Sommerville, Software Engineering, 2007 34
Vartotojo klasės hierarchija
Pagal Ian Sommerville, Software Engineering, 2007 35
Daugialypis paveldimumas
� Leidžia objekto klasėms paveldėti atributus ir paslaugas iš kelių aukštesnės eilės klasių.
� Tai gali iššaukti semantinius konfliktus kur atributai/paslaugos skirtingose aukštesnės eilės klasėse turi skirtingą semantiką.
� Daugialypis paveldimumas komplikuoja tokių klasių hierarchijos pertvarkymą
Pagal Ian Sommerville, Software Engineering, 2007 36
Daugialypis paveldimumas
Pagal Ian Sommerville, Software Engineering, 2007 37
Objektų agregavimas
� Agregavimo modelis rodo kaip klasių rinkinys susideda iš kitų klasių.
� Agregavimo modeliai yra panašūs į semantinių duomenų modelių sąryšių dalį.
Pagal Ian Sommerville, Software Engineering, 2007 38
Objektų agregavimas
Pagal Ian Sommerville, Software Engineering, 2007 39
Objekto elgesio atvaizdavimas
� Elgsenos modelis parodo sąveiką tarp objektų siekiant nusakyti tam tikrą sistemos elgesį, apibrėžtą panaudojimo atvejais (use cases).
� Sekos diagramos (arba bendradarbiavimo diagramos) UML’e yra naudojamos sąveikai tarp objektų atvaizduoti.
Pagal Ian Sommerville, Software Engineering, 2007 40
Elektroniniai leidiniai
:Library User
Ecat:Catalog
Lookup
Issue
Display
:Library Item Lib1:NetServer
Issue licence
Accept licence
Compress
Deliver
Pagal Ian Sommerville, Software Engineering, 2007 41
Struktūriniai metodai
� Struktūriniai metodai apima sistemos modeliavimą kaip neatskiriamą metodo dalį.
� Metodai apibrėžia modelių aibę, šių modelių gavimo procesą, taisykles ir nurodymus, taikomus modeliams.
� CASE priemonės remia sistemos modeliavimą kaip kaip struktūrinio metodo dalį.
Pagal Ian Sommerville, Software Engineering, 2007 42
Metodo silpnybės
� Nemodeliuoja ne funkcinių sistemos reikalavimų.
� Paprastai metodas neturi informacijos ar metodas yra tinkamas duotai problemai.
� Gali pateikti per daug dokumentacijos.
� Sistemos modeliai yra kartais per daug detalūs ir sunkiai vartotojų suprantami.
Pagal Ian Sommerville, Software Engineering, 2007 43
Aptariamos temos
� Kontekstiniai modeliai
� Elgsenos modeliai
� Duomenų modeliai
� Objektiniai modeliai
� CASE paketai
Pagal Ian Sommerville, Software Engineering, 2007 44
CASE paketai
� Suderinta įrankių seka, skirta palaikyti susijusiems programinės įrangos procesų veiksmams, tokiems kaip analizė, projektavimas ar testavimas.
� Analizės ir projektavimo paketai palaiko sistemos modeliavimą reikalavimų ruošimo ir sistemos projektavimo metu.
� Šie paketai gali palaikyti specifinius projektavimo metodus arba gali numatyti kelių skirtingų tipų sistemos modelių kūrimą.
Pagal Ian Sommerville, Software Engineering, 2007 45
Analizės ir projektavimo paketai
Duomenų
žinynas
Kodo
generavimo
priemon÷s
Diagramų
redaktoriai
Ataskaitų
apibr÷žimo ir
generavimo
priemon÷s
Centrin÷
informacijos
saugykla
Užklausų
kalba
Formų
apibr÷žimo
priemon÷s
Projektavimo,
analiz÷s ir
tikrinimo
priemon÷s
Importo/eksporto
transliatoriai
Pagal Ian Sommerville, Software Engineering, 2007 46
Analizės priemonių komponentai� Diagramų redaktoriai:
• kuria duomenų srautų diagramas, objektų hierarchijas, esybių-savybių diagramas. Jie renka informaciją apie diagramų esmę ir išsaugo informaciją pagrindin÷je saugykloje.
� Modelių analiz÷s ir tikrinimo įrankiai – vykdo projektavimą bei praneša apie klaidas ir anomalijas.
� Saugykla ir susijusių užklausų kalba – leidžia projektuotojams surasti projektus ir apjungti projektavimo informaciją saugykloje.
� Duomenų žinynas – palaiko informaciją apie naudojamas sistemos projektavimui esybes.
� Ataskaitų apibr÷žimo ir generavimo priemon÷s – pasiima informaciją iš centrin÷s saugyklos ir automatiškai generuoja sistemos dokumentaciją.
� Formų apibr÷žimo priemon÷s – leidžia klasifikuoti ekrano ir dokumento formatus.
� Importo/eksporto transliatoriai – leidžia pasikeisti informacija iš centrin÷s saugyklos su kitais vystomais įrankiais.
� Kodo generavimo priemon÷s – generuoja kodą arba kodo griaučius automatiškai iš projekto esančio centrin÷je saugykloje.
Pagal Ian Sommerville, Software Engineering, 2007 47
Esminiai akcentai
� Modelis yra abstraktus sistemos vaizdas. Papildomi modelių tipai teikia skirtingą sistemos informaciją.
� Konteksto modeliai parodo sistemos poziciją jos aplinkoje su kitomis sistemomis ir procesais.
� Objektų modeliai aprašo loginę sistemos esmę, jų klasifikaciją ir surinkimą.
� CASE priemonės palaiko sistemos modelių kūrimą.� Būsenos modeliai modeliuoja sistemos elgesį atsakant į
vidinius ir išorinius įvykius.
Pagal Ian Sommerville, Software Engineering, 2007 48
Analizės priemonių komponentai� Diagramų redaktoriai:
• kuria duomenų srautų diagramas, objektų hierarchijas, esybių-savybių diagramas. Jie renka informaciją apie diagramų esmę ir išsaugo informaciją pagrindinėje saugykloje.
� Modelių analizės ir tikrinimo įrankiai:• vykdo projektavimą bei praneša apie klaidas ir anomalijas.
� Saugykla ir susijusių užklausų kalba:• leidžia projektuotojams surasti projektus ir apjungti projektavimo
informaciją saugykloje.
� Duomenų žinynas:• palaiko informaciją apie naudojamas sistemos projektavimui esybes.
Pagal Ian Sommerville, Software Engineering, 2007 49
Analizės priemonių komponentai� Ataskaitų apibrėžimo ir generavimo priemonės:
• pasiima informaciją iš centrinės saugyklos ir automatiškai generuoja sistemos dokumentaciją.
� Formų apibrėžimo priemonės:• leidžia klasifikuoti ekrano ir dokumento formatus.
� Importo/eksporto transliatoriai:• leidžia pasikeisti informacija iš centrinės saugyklos su kitais
vystomais įrankiais.
� Kodo generavimo priemonės:• generuoja kodą arba kodo griaučius automatiškai iš projekto esančio
centrinėje saugykloje.
Pagal Ian Sommerville, Software Engineering, 2007 50
Esminiai akcentai
� Semantiniai duomenų modeliai aprašo duomenų loginę struktūrą.
� Objektiniai modeliai aprašo logines sistemos esybes, jų klasifikavimą ir agregavimą.
� Sekų modeliai vaizduoja bendravimą tarp veikėjų ir sistemos naudojamų objektų.
� Struktūriniai metodai teikia karkasą sistemos modelių kūrimui.