Upload
wilson
View
42
Download
4
Embed Size (px)
DESCRIPTION
Sistemos modeliai. Tikslai-klausimai egzaminui. Paaiškinti kodėl sistemos kontekstas turėtų būti modeliuotas kaip dalis reikalavimų inžinerijos proceso Aprašyti elgsenos modeliavimą, duomenų modeliavimą ir objektinį modeliavimą Parodyti kaip CASE paketai remia sistemos modeliavimą. - PowerPoint PPT Presentation
Citation preview
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1
Sistemos modeliai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 2
Tikslai-klausimai egzaminui Paaiškinti kodėl sistemos kontekstas turėtų būti
modeliuotas kaip dalis reikalavimų inžinerijos proceso
Aprašyti elgsenos modeliavimą, duomenų modeliavimą ir objektinį modeliavimą
Parodyti kaip CASE paketai remia sistemos modeliavimą
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 3
Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 4
Sistemų modeliavimas Sistemų modeliavimas padeda analitikui suprasti
sistemos veikimą ir sistemos modeliai naudojami bendravimui su užsakovu.
Skirtingi modeliai atvaizduoja sistemą skirtingais požiūriais:• Išorinis požiūris rodo sistemos kontekstą arba aplinką;
• Elgsenos požiūris atspindi sistemos veikimą;
• Struktūrinis požiūris atspindi sistemos arba duomenų architektūrą.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 5
Modelių tipai Duomenų apdorojimo modelis rodo duomenų apdorojimą
skirtingose stadijose. Sudėties modelis rodo kaip esybės yra sudarytos iš kitų
esybių. Architektūrinis modelis rodo principines posistemes. Klasifikavimo modelis rodo kokias bendras
charakteristikas turi esybės. Poveikis /atsakymas modelis rodo sistemos reakciją į
įvykius.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 6
Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 7
Kontekstiniai modeliai Kontekstiniai modeliai iliustruoja ir rodo kokia
yra sistemos aplinka. Socialiniai ir organizaciniai faktoriai įtakoja
sprendimą kas yra sistemos aplinka. Architektūriniai modeliai rodo sistemą ir jos
surįštumą su kitomis sistemomis.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 8
Proceso modeliai Proceso modeliai rodo bendrą procesą visumoje ir
sistemos remiamus procesus. Duomenų srauto modeliai naudojami proceso
demonstravimui ir rodo informacijos perdavimą iš vieno proceso į kitą.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 9
Aparatūros įsigyjimo procesas
Get costestimates
Acceptdelivery ofequipment
Checkdelivered
items
Validatespecification
Specifyequipmentrequired
Choosesupplier
Placeequipment
order
Installequipment
Findsuppliers
Supplierdatabase
Acceptdelivered
equipment
Equipmentdatabase
Equipmentspec.
Checkedspec.
Deliverynote
Deliverynote
Ordernotification
Installationinstructions
Installationacceptance
Equipmentdetails
Checked andsigned order form
Orderdetails plusblank order
form
Spec. +supplier +estimate
Supplier listEquipment
spec.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 10
Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 11
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 bet abu reikalingi sistemos elgesio aprašymui.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 12
Duomenų apdorojimo modeliai Duomenų srauto diagramos (DSD) gali būti naudojamos
atvaizduoti sistemos duomenų apdorojimą. DSD diagramos rodo apdorojimo žingsnius kaip duomenų
srautus sistemoje. DsD yra būdinga dalis daugeliui analizės metodų. DSD naudojamas paprastas ir intuityvus žymėjimas, kuri
lengvai gali suprasti vartotojas. Rodo duomenų apdorojimą nuo pradžios iki pabaigos.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 13
Duomenų srauto diagramos DSD atvaizduoja sistemą funkciniu požiūriu. Dokumentavimas ir sekimas kaip duomenys
siejasi su procesais yra naudingas bendram sistemos supratimui.
DSD gali būti naudojamos rodant kaip vyksta apsikeitimas duomenimis tarp sistemos ir jos aplinkoje esančių kitų sistemų.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 14
Užsakymo apdorojimo DSD
Completeorder form
Orderdetails +
blankorder form
Validateorder
Recordorder
Send tosupplier
Adjustavailablebudget
Budgetfile
Ordersfile
Completedorder form
Signedorder form
Signedorder form
Checked andsigned order
+ ordernotification
Orderamount
+ accountdetails
Signedorder form
Orderdetails
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 15
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 16
Būvio diagramos Leidžia modelį sudalinti į smulkesnius modelius. Trumpas veiksmų aprašymas yra pridėtas
kiekvienam būviui. Gali būti papildytos lentelėmis aprašančiomis
būvius ir poveikius.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 17
Mikrobanginės krosnelės modelis
Full power
Enabled
do: operateoven
Fullpower
Halfpower
Halfpower
Fullpower
Number
Dooropen
Doorclosed
Doorclosed
Dooropen
Start
do: set power= 600
Half powerdo: set power
= 300
Set time
do: get numberexit: set time
Disabled
Operation
Cancel
Waiting
do: displaytime
Waiting
do: displaytime
do: display 'Ready'
do: display'Waiting'
Timer
Timer
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 18
Mikrobanginės krosnelės būviai
State Description
Waiting The oven is waiting for input. The display shows the current time.
Half power The oven power is set to 300 watts. The display shows ŌHalf powerÕ.
Full power The oven power is set to 600 watts. The display shows ŌFull powerÕ.
Set time The cooking time is s et to the userÕs input value. The display shows the cooking timeselected and is updated as the time is set.
Disabled Oven operation is disabled for safety. Interior oven light is on. Display shows ŌNotreadyÕ.
Enabled Oven operation is enabled. Interior oven light is off. Display shows ŌReady to cookÕ.
Operation Oven in operation. Interior oven light is on. Display shows the timer countdown. Oncompletion of cooking, the buzzer is sounded for 5 s econds. Oven light is on. Displayshows ŌCooking completeÕ while buzzer is sounding.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 19
Mikrobanginės krosnelės poveikiai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 20
Mikrobanginės krosnelės operacijos
Cookdo: run
generator
Done
do: buzzer onfor 5 secs.
Waiting
Alarm
do: displayevent
do: checkstatus
Checking
Turntablefault
Emitterfault
Disabled
OK
Timeout
Time
Door open Cancel
Operation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 21
Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 22
Semantiniai duomenų modeliai Naudojami aprašyti sistemoje apdorojamų duomenų
loginę struktūrą. Esybių santykio atributų modelis apibrėžia sistemos
duomenų esybes, jų surištumą ir atributus Plačiai naudojama projektuojant duomenų bazes, lengvai
realizuojama reliacinėse duomenų bazėse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 23
Bibliotekos semantinis modelis
Source
titlepublisherissuedatepages
1
Article
titleauthorspdf filefee
has-links
1
Buyer
nameaddresse-mailbilling info
places
fee-payable-to
n
1
n
published-in
delivers in
m n
1
1
1
CopyrightAgencynameaddress
Country
copyright formtax rate
1
Order
order numbertotal paymentdatetax status
in
1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 24
Duomenų žodynai Duomenų žodyną sudaro visų sistemos modelyje
naudojamų vardų sąrašas. Esybių, jų sąryšių bei atributų aprašymas taip pat pridedamas.
Privalumai• Remia vardų valdymą ir padeda išvengti dubliavimo;
• Išsaugo informaciją apie analizę, projektavimą ir realizavimą;
Dauguma CASE paketų palaiko duomenų žodynus.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 25
Duomenų žodyno įrašai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 26
Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 27
Objektiniai modeliai Objektiniai modeliai aprašo sistemą objektų klasių ir jų
asocijacijų pagalba. Objektų klasė yra abstrakcija objektų aibės su bendrais
atributais ir paslaugomis (operacijomis) teikiamomis kiekvieno objekto.
Gali būti naudojami įvairūs objektiniai modeliai• Paveldėjimo modeliai;
• Agregavimo modeliai;
• Sąveikos moeliai.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 28
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
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 29
Paveldėjimo modeliai Hierarchiškai susistemina srities objektų klases. Hierarchijos aukščiausio lygio klasės atspindi
visų klasių bendras savybes. Objektų klasės paveldi atributus ir paslaugas
vienos ar daugiau super klasių. Klasių hierarchijos projektavimas gali būti
sudėtingas jei reikia išvengti dubliavimo skirtingose šakose.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 30
Objektiniai modeliai ir UML UML yra standartizuotas atvaizdavimas sumanytas
kūrėjų, kurie plačiai naudoja objektinės analizės ir projektavimo metodus.
Tai tapo efektyviu standartu objektiniam modeliavimui Ž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 asocijacijos) yra parodyta linijomis jungiančiomis objektus;
• Paveldėjimas yra nurodytas kaip apibendrinimas ir rodo hierarchiją labiau aukštyn negu žemyn.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 31
Bibliotekos klasės hierarchija
Catalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPublication dateISBN
Book
YearIssue
Magazine
DirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published item
TitleMedium
Recorded item
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 32
Vartotojo klasės hierarchija
NameAddressPhoneRegistration #
Library user
Register ()De-register ()
Affiliation
Reader
Items on loanMax. loans
Borrower
DepartmentDepartment phone
Staff
Major subjectHome address
Student
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 33
Daugialypis paveldimumas Leidžia objekto klasėms paveldėti atributus ir paslaugas iš
kelių super-klasių. Tai gali iššaukti semantinius konfliktus kur
atributai/paslaugos skirtingose super klasėse turi skirtingą semantiką.
Daugialypis paveldimumas sudėtingina klasių hierarchijos organizavimą.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 34
Daugialypis paveldimumas
# Tapes
Talking book
AuthorEditionPublication dateISBN
Book
SpeakerDurationRecording date
Voice recording
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 35
Objektų agregavimas Agregavimo modelis rodo kaip klasių rinkinys
susideda iš kitų klasių. Agregavimo modeliai yra panašūs į semantinių
duomenų modelių sąryšių dalį.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 36
Objektų agregavimas
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
TextDiagrams
Exercises
#ProblemsDescription
Course titleNumberYearInstructor
Study pack
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 37
Objekto elgesio atvaizdavimas
Elgsenos modelis parodo sąveiką tarp objektų nusakant tam tikrą sistemos elgesį, kuris yra apibrėžtas panaudojimo atvejais (use cases).
Sekos diagramos (arba bendradarbiavimo diagramos) UML’e yra naudojamos sąveikai tarp objektų atvaizduoti.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 38
Elektroniniai leidiniai
:Library User
Ecat:Catalog
Lookup
Issue
Display
:Library Item Lib1:NetServer
Issue licence
Accept licence
Compress
Deliver
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 39
Struktūriniai metodai Struktūriniai metodai apima sistemos
modeliavimą kaip neatskiriamą metodo dalį. Metodai apibrėžia modelių aibę, šių modelių
gavimo procesą, taisykles ir nurodymai taikomi modeliams.
CASE priemonės remia sistemos modeliavimą kaip kaip struktūrinio metodo dalį.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 40
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 41
Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 42
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ą.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 43
Analizės ir projektavimo paketai
Duomenų žinynas
Kodo generavi
mo 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
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 44
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 45
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 46
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.