Sunteți pe pagina 1din 62

Modelarea sistemelor

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 1

Obiective

Motivarea modelrii contextului unui sistem


Descrierea modelrii comportamentale, a modelrii
datelor i a modelrii obiectelor.
Introducerea unor notaii utilizate n UML (Unified
Modeling Language)
Descrierea modului n care bancurile de lucru CASE
(CASE workbenches) ajut la modelarea sistemului

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 2

Modele ale sistemului

Exprim cerinele sistemului ntr-un mod mai tehnic.

Specificaiile sistemului sunt documentate utiliznd un set de


modele pentru sistem.

Utilizeaz reprezentri grafice care descriu:


Procesul economic
Problema ce trebuie rezolvat
Sistemul ce trebuie dezvoltat

Punte important ntre procesul de analiz i cel de proiectare.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 3

Modelarea sistemului

Modelarea sistemului ajut analistul n nelegerea


funcionalitii sistemului.

Modelele sunt utilizate n comunicarea cu clienii.

Diferite modele prezint sistemul din perspective diferite:

Perspectiv extern: contextul sistemului;


Perspectiv comportamental: comportamentul sistemului;
Perspectiv structural: arhitectura sistemului, arhitectura
datelor.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 4

Tipuri de modele

Un model al sistemului este o abstractizare a


sistemului i nu o reprezentare a acestuia.

Abstractizarea simplific n mod deliberat sistemul i elimin detaliile.

Tipurile de modele se bazeaz pe diferite abordri


ale abstractizrii:

Ex.
Modelul fluxului datelor (Data-flow) se concentreaz pe fluxul datelor i pe
transformrile funcionale suferite de acestea, fr a intra n detalii
referitoare la structura datelor.
Modelul entitate-relaie-atribut (Entity-relationship-attribute) documenteaz
structurile datelor sistemului i nu funcionalitatea acestuia.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 5

Tipuri de modele - exemple


Modelul fluxului datelor (Dataflow) se concentreaz pe
fluxul datelor i pe
transformrile funcionale
suferite de acestea, fr a
intra n detalii referitoare la
structura datelor.
Modelul entitate-relaie-atribut
(Entity-relationshipattribute) documenteaz
structurile datelor
sistemului i nu
funcionalitatea acestuia.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 6

Tipuri de modele

Modelul procesrii datelor : modul de procesare a datelor n


diferite stadii.
Modelul compoziiei : modul n care entitile se compun din
alte entiti.
Modelul arhitectural : principalele subsisteme i relaiile ntre
acestea.
Modelul clasificrii : organizarea entitilor pe baz de
caracteristici comune.
Modelul stimul/rspuns : reacia sistemului la evenimente.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 7

Subiecte tratate

Modelarea contextului

Modelarea comportamentului

Modelarea datelor

Modelarea obiectual

Bancuri de lucru CASE

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 8

Modelarea contextului

Modelele contextului sunt utilizate pentru a ilustra contextul


operaional al unui sistem modeleaz ceea ce se afl dincolo
de limitele/marginile (boundaries) sistemului.
Decizia referitoare la plasarea marginilor sistemului poate
fi afectat de consideraii sociale i organizaionale.

Modelele arhitecturale descriu sistemul i relaiile sale cu alte


sisteme.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 9

Exemplu: Contextul unui sistem ATM


Sistem de
securitate
Sistem de
contabilitate

Baza de date
a contabilitii

Sistem ATM
Baza de date
a utilizrii

Sistem de numrare

Sistem de ntreinere

Model arhitectural de nivel nalt exprimat sub form de diagram bloc.


Relaiile nu sunt definite => necesitatea suplimentrii cu alte modele.
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 10

Subiecte tratate

Modelarea contextului

Modelarea comportamentului

Modelarea datelor

Modelarea obiectual

Bancuri de lucru CASE

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 11

Modelarea procesului
Modelele procesului reprezint procesul de ansamblu i
procesele care sunt suportate de sistem.

Se pot utiliza modele ale fluxului de date pentru a ilustra


procesele i fluxul de informaii de la un proces la altul.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 12

Exemplu: Proces pentru procurare


echipament
Delivery
note

activitate
Equipment
Specify
spec.
Validate
equipment
specifi ca
tion
required

Equipment
spec.
Supplier
database

depozit de date

Checked
spec.
Get cost
estimates

Supplier list
Find
suppliers

limita sistemului

Spec. +
supplier +
Order
estimate
notifi cation
Choose
supplier

flux de date

Accept
delivery of
equipment

Delivery
note

Place
equipment
Order
order
details plus
blank or
der
form

Checked and
signed or
der form

Check
delivered
items
Installation
instructions

Install
equipment
Installation
acceptance
Accept
delivered
equipment
Equipment
details
Equipment
database

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 13

Modelarea comportamentului

Modelele comportamentale sunt utilizate pentru a


descrie comportamentul general al sistemului.
Tipuri de modele comportamentale:

Model al procesrii datelor arat modul de procesare a


datelor pe msur ce acestea se deplaseaz prin sistem;
Model al mainii cu stri (state machine) arat
rspunsul sistemului la evenimente.

Obs. Ambele modele sunt necesare pentru a descrie comportamentul


sistemului, deoarece ele arat sistemul din perspective diferite.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 14

Modelarea procesrii datelor


Ilustreaz paii procesrii sub form de fluxuri de date n sistem.

Diagramele fluxurilor de date (data flow diagrams - DFDs) pot fi utilizate


pentru a modela procesarea datelor n sistem.
DFDs

modeleaz sistemul din perspectiv funcional

ilustreaz paii procesrii odat cu fluxul datelor n sistem

sunt component intrinsec a multor metode de analiz

sunt realizate cu notaii simple i intuitive, pe care clienii le pot nelege


uor.

ilustreaz procesarea datelor end-to-end.


Model al procesrii datelor
Model al mainii cu stri

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 15

Exemplu: DFD pentru procesare ordin

Order
details +
blank
order form

Completed
order form
Complete
order form

Signed
order form
Validate
order

Signed
order form

Send to
supplier

Record
order
Order
details

Signed
order form

Checked and
signed or
der
+ order
notifi cation

Adjust
available
budget
Order
amount
+ account
details

Orders
fi le

Budget
fi le

Notaie:

Dreptunghi rotunjit procesare funcional


Dreptunghi depozit de date
Sgeat etichetat transferul de date ntre funcii.

Adapted after Ian Sommerville 2004

Model al procesrii datelor


Model al mainii cu stri

Software Engineering, 7th edition. Chapter 8

Slide 16

Diagramele fluxurilor de date


Utilitatea DFDs:

Urmrirea i documentarea datelor asociate unui proces este


util n dezvoltarea nelegerii sistemului n ansamblu.

Diagramele fluxurilor de date pot fi utilizate i n ilustrarea


schimbului de date ntre sistem i alte sisteme din contextul
su.
Model al procesrii datelor
Model al mainii cu stri

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 17

Modelarea strilor i tranziiilor (state machine)


Se modeleaz comportamentul sistemului ca rspuns la
evenimentele externe i interne.

Modelele ilustreaz rspunsurile sistemului la stimuli (de aceea


sunt utilizate n special pentru modelarea sistemelor de timp real).
Elementele de modelare:

strile sistemului - plasate n noduri

evenimentele - arce ntre aceste noduri.

La apariia unui eveniment sistemul face o tranziie dintr-o stare n alta.


Model al procesrii datelor
Model al mainii cu stri
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 18

Diagrama de stri (Statechart)

Permite descompunerea modelului n sub-modele.


Include o scurt descriere a aciunilor n forma do:
descriere_aciune.
Poate fi completat cu tabele n care sunt descrise strile i
stimulii.

Model al procesrii datelor


Model al mainii cu stri
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 19

Exemplu:
Full
power

Full power

Model al procesrii datelor

do: set power


= 600

stare

aciune

Model al unui cuptor cu microunde

Timer

Waiting
do: display
time

Half
power

Model al mainii cu stri

Number
Full
power
Half
power

Set time

Operation

do: get number


exit: set time

do: operate
oven

Door
closed

Timer
Door
open

eveniment

Half power
do: set power
= 300

tranziie

Enabled
Door
closed

Cancel

Start
Door
open

do: display
'Ready'

Waiting
do: display
time

Disabled
do: display
'Waiting'

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 20

Exemplu:

Descrierea strilor cuptorului cu microunde

Stare

Descriere
Model al procesrii datelor

Waiting

Cuptorul ateapt o intrare. Display-ul afieaz ora curent.

Half power

Cuptorul e setat la 300 watts. Display-ul afieaz Half power.

Full power

Cuptorul e setat la 600 watts. Display-ul afieaz Full power.

Set time

Timpul de coacere este setat cu valoarea introdus de utilizator. Display-ul afieaz


timpul de coacere selectat i este actualizat pe msura setrii timpului.

Disabled

Operarea cuptorului este dezactivat pentru siguran. Lumina interioar este aprins.
Display-ul afieaz Not ready.

Enabled

Operarea cuptorului este activat. Lumina interioar este stins. Display-ul afieaz
Ready to cook.

Operation

Cuptorul este n funciune. Lumina interioar este aprins. Display-ul afieaz


numrtoarea invers a dispozitivului de temporizare. La terminarea coacerii se
declaneaz un semnal sonor timp de 5 sec. Lumina interioar se aprinde. Display-ul
afieaz Cooking complete n timp ce se aude semnalul sonor.

Model al mainii cu stri

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 21

Exemplu: Descrierea stimulilor cuptorului cu microunde

Model al procesrii datelor


Model al mainii cu stri

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 22

Structurarea modelelor de stri


Necesar n modelele sistemelor mari, cu un numr mare
de stri posibile.
Super-stare

Noiune ce ncapsuleaz un numr de stri separate.

Reprezentat ca o singur stare ntr-un model de nivel mai nalt.

Este expandat (detaliat) ntr-o diagram separat.

Ex. Super-starea Operation din diagrama anterioar.

Model al procesrii datelor


Model al mainii cu stri
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 23

Examplu: super-starea Operation


Operation
Checking
do: check
status
Full
power

do: display
time

Number
Full
power
Half
power

Set time

Operation

do: get number


exit: set time

do: operate
oven

Enabled
Door
closed

Done
do: buzzer on
for 5 secs.

do: display
'Ready'

Cancel

Cancel

Start

Door
open
Half power
do: set power
= 300

Timeout

Door open

Door
closed

Timer

Cook
do: run
generator

Emitter
fault

Alarm
do: display
event

Timer

Waiting

Half
power

Turntable
fault

Full power
do: set power
= 600

OK

Time

Disabled
Door
open

Waiting

Waiting
do: display
time

Disabled
do: display
'Waiting'

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 24

State machine diagram (SMD)


n UML 2.0

Descrie un comportament sau o trstur comportamental.

Elemente de modelare:

Stri
Tranziii ntre stri
Declanatoare (triggers) pentru tranziii
Activiti realizate n cursul execuiei tranziiilor
Activiti realizate pe durata fiecrei stri

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 25

State machine diagram (SMD)


Comportamentul exprimat prin:
-

Tranziii de la o stare la alta n cadrul unui set de stri

Evenimente ce declaneaz tranziiile

Posible aciuni corelate cu tranziiile

Exprimare comportament pe diferite nivele de abstractizare


(ex. pentru un obiect, subsistem sau sistem).

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 26

State machine diagram (SMD)

Stare descrie condiia unui obiect n termeni de:

Atribute ale obiectului


Comportamentul n care este angajat.
Stare obiect = rezultatul cumulativ al comportamentului obiectului,
definit de valorile proprietilor sale (atribute i relaii).
n cadrul unei stri, un obiect poate:
- executa o activitate
- atepta un eveniment
- ndeplini o condiie.

Formal: o stare modeleaz o perioad de timp n care se menine adevrat o


condiie de invarian.
Exemple de condiii de invarian:
- Set de valori ale atributelor,
- Condiia de a lucra la o activitate,
- Condiia de a atepta un eveniment.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 27

State machine diagram (SMD)


Notaie pentru
o stare simpl

Internal transition: declaneaz un rspuns


din partea obiectului, nu o modificare a strii.

Entry /exit actions: activiti ce se execut ntotdeauna i se finalizeaz


-nainte de a ncepe starea (entry)
-nainte ca starea s rspund la evenimentele care declaneaz tranziia
ctre o alt stare (exit).

Activities: comportamentul obiectului n timp ce se afl n starea modelat


- poate fi ntrerupt atunci cnd un eveniment declaeaz o tranziie
- nu poate schimba starea obiectului

Adapted after Ian Sommerville 2004

Deffered event: eveniment transferat


ctre starea urmtoare n timpul tranziiei.

Software Engineering, 7th edition. Chapter 8

Slide 28

State machine diagram (SMD)


Tranziie: schimbare de stare iniiat de un declanator

Stare

Tranziie etichetat cu semntura unui eveniment

Declanator (Trigger): eveniment care poate iniia o tranziie ntre stri.


Tipuri de declanatoare:
SignalTrigger semnal transmis de un anumit comportament
CallTrigger apelul unei operaii
TimeTrigger atingerea unui anumit moment de timp
ChangeTrigger o modificare la valorile din sistem.
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 29

DIAGRAMA DE STRI
ELEMENTE ESENIALE:
-

stare

tranziie

eveniment

(pseudo)stare iniial

EVENIMENT [condiie] / efect

activitate entry

activitate do

activitate exit

TRANZIIE

Adapted after Ian Sommerville 2004

STARE

(pseudo)stare final

Software Engineering, 7th edition. Chapter 8

Slide 30

State machine diagram (SMD)


Tipuri de stri:
-

Simpl nu conine alte stri.

Compus conine una sau mai multe maini cu stri, n


regiuni separate.

Submain conine o submain (specificaia punctelor de intrare i de


ieire).

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 31

State machine diagram (SMD)


Diagram de stri compus

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 32

DIAGRAMA DE STRI
STRI COMPUSE I STRI INCLUSE

Stare compus

Stare inclus

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 33

DIAGRAMA DE STRI
CONCUREN I CONTROL
Reprezentare general

Variante de tranziie ctre o stare compus

Activarea tuturor submainilor concurente,


din strile iniiale

Adapted after Ian Sommerville 2004

Precizarea substrilor ctre care se fac


tranziii concurente.

Software Engineering, 7th edition. Chapter 8

Slide 34

DIAGRAMA DE STRI
CONCUREN I CONTROL
Variante de ieire dintr-o stare compus

Oricare din tranziiile de


ieire va fora realizarea
celorlalte i ieirea din
starea compus.

Atunci cnd toate submainile ajung n


stare final.

Activarea din starea iniial i trecerea n starea final sunt


forate de tranziii ale submainilor concurente.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 35

Subiecte tratate

Modelarea contextului

Modelarea comportamentului

Modelarea datelor

Modelarea obiectual

Bancuri de lucru CASE

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 36

Modele semantice ale datelor

Utilizate pentru a descrie structura logic a datelor


procesate de sistem.
Un model entitate-relaie-atribut (ERA) reprezint
entitile din sistem, relaiile ntre entiti i atributele
entitilor.
Modelul ERA este larg folosit n proiectarea bazelor
de date. Poate fi implementat utiliznd baze de date
relaionale.
Nu exis o notaie specific oferit de UML. Se pot
utiliza obiecte i asocieri.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 37

Exemplu: Model semantic al bibliotecii


Article

entitate

title
authors
pdffile
fee

publishedin

Source
n

feepayableto

1
delivers
relaie

atribut

1
in
1

n
Order
ordernumber
totalpayment
date
taxstatus
n
places
1

Copyright
Agency
1
name
haslinks
address

title
publisher
issue
date
pages

Country
in

copyrightform
taxrate

Buyer
name
address
email
billinginfo

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 38

Dicionare de date

Dicionarele de date sunt liste cu toate numele utilizate n


modelele sistemului.
Includ descrieri ale entitilor, relaiilor, atributelor i ale
serviciilor.
Avantaje

Ofer suport pentru gestionarea numelor i evitarea duplicatelor;

Pstreaz cunotine organizaionale care leag analiza,


proiectarea i implementarea;

Multe bancuri de lucru CASE ofer suport pentru utilizarea de


dicionare de date.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 39

Exemplu: Intrri n dicionarul de date


Nume

Descriere

Tip

Dat

Article

Detalii despre articolul publicat ce ar putea fi solicitat de Entitate


persoanele ce utilizeaz LIBSYS.

30.03.2008

Authors

Numele autorilor articolului, care ar putea beneficia de o Atribut


parte din tax.

30.03.2008

Buyer

Persoana sau organizaia care solicit o copie a Entitate


articolului.

30.03.2008

O relaie 1:1 ntre Article i CopyrightAgency creia Relaie


trebuie s i se plteasc taxa de copyright.
Address (of the Adresa cumprtorului. Aceasta este utilizat alturi de Atribut
orice informaie de taxare necesar.
buyer)

29.03.2008

Fee-payble-to

31.03.2008

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 40

Subiecte tratate

Modelarea contextului

Modelarea comportamentului

Modelarea datelor

Modelarea obiectual

Bancuri de lucru CASE

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 41

Orientare obiect
Abordare orientat obiect (OO) a ntregului proces de
dezvoltare, adic:

Exprimarea cerinelor sistemului utiliznd un


model obiectual; reprezentarea OO att a datelor ct
i a procesrilor din sistem.

Proiectare utiliznd obiecte.

Dezvoltarea sistemului ntr-un limbaj de


programare OO.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 42

Modele obiectuale

Modelele obiectuale descriu sistemul n termeni de


clase de obiecte i asocieri ntre acestea.
Clas de obiecte = abstractizare referitoare la un set
de obiecte, coninnd atributele comune i serviciile
(operaiile) oferite de fiecare obiect.
Se pot realiza diferite modele obiect

Modele pentru motenire;


Modele pentru agregare;
Modele pentru interaciuni.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 43

Modele obiectuale

Modelele obiectuale sunt moduri naturale de reflectare a


entitilor din lumea real manipulate de sistem.
Clasele de obiecte ce reflect entitile domeniului sunt
reutilizabile ntre sisteme.
Obs.

Entiti mai abstracte sunt mai dificil de modelat utiliznd aceast


abordare.

Identificarea claselor de obiecte este recunoscut ca un proces dificil


care necesit o foarte bun nelegere a domeniului aplicaiei.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 44

Modele obiectuale i UML


UML este o reprezentare standard realizat de dezvoltatorii metodelor de
analiz i proiectare larg utilizate.

A devenit un standard eficient pentru modelarea OO (orientat obiect).

Notaie

Clasele de obiecte sunt dreptunghiuri cu trei compartimente:


nume, atribute, operaii;

Relaiile dintre clasele de obiecte (numite i asocieri) sunt


reprezentate prin linii care leag obiectele;

Motenirea este referit ca generalizare i este reprezentat


ascendent n ierarhie.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 45

Modele pentru motenire

Organizeaz clasele de obiecte ale domeniului sub forma unei


ierarhii.
Clasele din vrful ierarhiei reflect caracteristicile comune
tuturor claselor.
Clasele de obiecte motenesc atributele i serviciile de la una
sau mai multe superclase; ele pot fi la rndul lor specializate
funcie de necesiti.

Obs. Proiectarea ierarhiei de clase poate fi un proces dificil dac se


dorete evitarea duplicrii n diferite ramuri ale ierarhiei.
Modele pentru motenire
Modele pentru agregare
Modele pentru interaciuni
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 46

Exemplu: Ierarhia de clase a bibliotecii


Library item

Modele pentru motenire

Catalogue number
Acquisition date
Cost
Type
Status
Number ofcopies

Modele pentru agregare


Modele pentru interaciuni

Acquire ()
Catalogue ()
Dispose ()
Issue ()
Return ()

Published item

Recorded item
Title
Medium

Title
Publisher

Book
Author
Edition
Publication date
ISBN

Adapted after Ian Sommerville 2004

Magazine
Year
Issue

Film
Director
Date of release
Distributor

Computer
program
Version
Platform

Software Engineering, 7th edition. Chapter 8

Slide 47

Exemplu: Ierarhia clasei Library user


Library user

Modele pentru motenire

Name
Address
Phone
Registration #

Modele pentru agregare


Modele pentru interaciuni

Register ()
De-register ()

Reader

Borrower
Items on loan
Max. loans

Affi liation

Staff
Department
Department phone

Adapted after Ian Sommerville 2004

Student
Major subject
Home address

Software Engineering, 7th edition. Chapter 8

Slide 48

Motenire multipl

n loc de a moteni atribute i servicii de la o singur clas


printe, un sistem ce suport motenire multipl permite
claselor de obiecte s moteneasc din mai multe superclase.

Obs.

Aceasta poate conduce la conflicte semantice n cazul n care atribute


i/sau servicii cu acelai nume din diferite superclase au semantici
diferite.
Motenirea multipl complic reorganizarea ierarhiei de clase.

Modele pentru motenire


Modele pentru agregare
Modele pentru interaciuni
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 49

Exemplu: motenire multipl


Book

Voice recording

Author
Edition
Publication date
ISBN

Speaker
Duration
Recording date

Talking book
# T
apes

Modele pentru motenire


Modele pentru agregare
Modele pentru interaciuni

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 50

Agregarea obiectelor

Un model de agregare arat cum clasele care sunt


colecii sunt compuse din alte clase.
Modelele de agregare sunt similare cu relaia part-of
din modelele semantice ale datelor.

Modele pentru motenire


Modele pentru agregare
Modele pentru interaciuni
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 51

Exemplu: agregare obiecte


Study pack
Course title
Number
Year
Instructor

OHP slides

Assignment
Credits

Exercises
#Problems
Description

Slides

Lecture
notes
Text

Videotape
Tape ids.

Solutions
Text
Diagrams

Modele pentru motenire


Modele pentru agregare
Modele pentru interaciuni

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 52

Modelarea comportamentului obiectelor

Un model comportamental ilustreaz interaciunile


dintre obiecte, care produc un anumit comportament
al sistemului specificat ca un caz de utilizare (usecase).
Diagramele de secvene, diagramele de
comunicare, diagramele de interaciune (interaction
overview) i diagramele de timp din UML 2.0 sunt
utilizate pentru a modela interaciunile dintre obiecte.
Modele pentru motenire
Modele pentru agregare
Modele pentru interaciuni

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 53

Exemplu
Ecat:
Catalog

:Library Item

Lib1:
NetServer

:Library User

Lookup
Display
Issue
Issue licence
Accept licence
Compress

Modele pentru motenire


Modele pentru agregare

Deliver

Adapted after Ian Sommerville 2004

Modele pentru interaciuni

Software Engineering, 7th edition. Chapter 8

Slide 54

Subiecte tratate

Modelarea contextului

Modelarea comportamentului

Modelarea datelor

Modelarea obiectual

CASE workbenches

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 55

Metode structurate pentru dezvoltare de


software

Metodele structurate pentru dezvoltare de software incorporeaz


modelarea sistemului ca o parte inerent a metodei.
Metodele definesc un set de modele, un proces pentru realizarea
acestor modele, reguli care trebuie aplicate modelelor i ndrumri de
realizare a lor.
Instrumentele CASE ofer suport pentru modelarea sistemului ca
parte a unei metode structurate.

Lipsuri:

Nu modeleaz cerinele non-funcionale ale sistemului.


De obicei nu includ informaii care s specifice dac o anumit metod este
potrivit pentru o problem dat.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 56

Bancuri de lucru CASE


Def. Banc de lucru CASE (CASE workbench) = set coerent de
instrumente destinat s ofere suport pentru activiti corelate
ale procesului software, cum ar fi analiz, proiectare i/sau
testare.

Bancurile de lucru pentru analiz i proiectare ofer suport


pentru modelarea sistemului att n timpul procesului de
inginerie a cerinelor ct i n timpul celui de proiectare a
sistemului.
Aceste bancuri de lucru pot oferi suport pentru o metod de
proiectare specific sau pentru crearea mai multor tipuri diferite
de modele ale sistemului.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 57

Un workbench pentru analiz i proiectare


Dicionarul datelor

Generator cod

Instrumente de creare
formulare

Instrumente de realizare
diagrame structurate

Repozitoriu central
cu informaii

Instrumente pentru
proiectare, analiz
i verificare

Faciliti pentru
generare rapoarte

Faciliti de
limbaj de interogare

Facilti de
import/export

Componentele unui instrument CASE suport pentru metod


structurat.
Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 58

Componente ale workbench-ului pentru


analiz i proiectare

Editoare de diagrame
Creare modele pentru obiecte, date i comportament
Sunt, de asemenea, contiente de tipurile entitilor din
sistem

Instrumente pentru analiza i verificarea modelului


Proceseaz artefactele proiectrii i raporteaz erorile i
anomaliile

Repozitoriu i limbajul de interogare asociat


Memorare/gsire artefacte ale proiectrii i informaii
asociate, n repozitoriul central.

Dicionarul datelor

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 59

Componente ale workbench-ului pentru


analiz i proiectare

Instrumente pentru definirea i generarea de


rapoarte
Genereaz automat documentaia sistemului utiliznd
informaiile din repozitoriul central.

Instrumente pentru definirea de forme


Specificare de formate pentru ecran i pentru documente.

Traductoare pentru import/export


Schimbul de informaii ntre repozitoriul central i alte
instrumente de dezvoltare.

Instrumente pentru generare cod


Genereaz automat cod sau schelet (skeleton) de cod
utiliznd artefactele proiectrii pstrate n repozitoriul central.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 60

Rezumat

Un model reflect o perspectiv abstract asupra


sistemului. Tipuri complementare de modele ofer
diferite informaii despre sistem.
Modelele pentru context arat poziia unui sistem n
contextul su format din alte sisteme i procese.
Modelele pentru fluxul de date pot fi utilizate pentru
a modela procesarea datelor ntr-un sistem.
Modelele pentru stri i tranziii modeleaz
comportamentul sistemului ca rspuns la
evenimente interne sau externe.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 61

Rezumat

Modelele semantice pentru date descriu structura


logic a datelor care sunt importate sau exportate de
sistem.
Modelele obiectuale descriu entitile logice ale
sistemului, clasificarea i agregarea lor.
Modelele pentru interaciuni arat interaciunile
dintre actori i obiectele sistemului pe care le
utilizeaz.
Metodele structurate ofer un cadru (framework) pentru
dezvoltarea de modele ale sistemului.

Adapted after Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 8

Slide 62

S-ar putea să vă placă și