46
ille 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Sistemos modeliai

Sistemos modeliai

  • 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

Page 1: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1

Sistemos modeliai

Page 2: 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ą

Page 3: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 3

Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai

Page 4: Sistemos modeliai

©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ą.

Page 5: Sistemos modeliai

©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.

Page 6: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 6

Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai

Page 7: Sistemos modeliai

©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.

Page 8: Sistemos modeliai

©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ą.

Page 9: Sistemos modeliai

©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.

Page 10: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 10

Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai

Page 11: Sistemos modeliai

©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.

Page 12: Sistemos modeliai

©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.

Page 13: Sistemos modeliai

©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ų.

Page 14: Sistemos modeliai

©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

Page 15: Sistemos modeliai

©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.

Page 16: Sistemos modeliai

©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.

Page 17: Sistemos modeliai

©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

Page 18: Sistemos modeliai

©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.

Page 19: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 19

Mikrobanginės krosnelės poveikiai

Page 20: Sistemos modeliai

©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

Page 21: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 21

Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai

Page 22: Sistemos modeliai

©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.

Page 23: Sistemos modeliai

©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

Page 24: Sistemos modeliai

©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.

Page 25: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 25

Duomenų žodyno įrašai

Page 26: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 26

Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai

Page 27: Sistemos modeliai

©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.

Page 28: Sistemos modeliai

©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

Page 29: Sistemos modeliai

©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.

Page 30: Sistemos modeliai

©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.

Page 31: Sistemos modeliai

©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

Page 32: Sistemos modeliai

©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

Page 33: Sistemos modeliai

©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ą.

Page 34: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 34

Daugialypis paveldimumas

# Tapes

Talking book

AuthorEditionPublication dateISBN

Book

SpeakerDurationRecording date

Voice recording

Page 35: Sistemos modeliai

©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į.

Page 36: Sistemos modeliai

©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

Page 37: Sistemos modeliai

©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.

Page 38: Sistemos modeliai

©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

Page 39: Sistemos modeliai

©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į.

Page 40: Sistemos modeliai

©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.

Page 41: Sistemos modeliai

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 41

Aptariamos temos Kontekstiniai modeliai Elgsenos modeliai Duomenų modeliai Objektiniai modeliai CASE paketai

Page 42: Sistemos modeliai

©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ą.

Page 43: Sistemos modeliai

©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

Page 44: Sistemos modeliai

©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.

Page 45: Sistemos modeliai

©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.

Page 46: Sistemos modeliai

©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.