Sunteți pe pagina 1din 29

Universitatea Ovidius Constanta, Facultatea de Matematica si Informatica

INGINERIA SISTEMELOR
SOFTWARE
Proiect: EManagementImobiliare

Profesor indrumator: Lector Dr. Puchianu Crenguta


Studenti:

Specializarea: Informatica
Anul III, seria 1, grupa 1

CUPRINS

TEMA DE PROIECT ........ pg.3


CERINTE FUNCTIONALE .... pg.4
CERINTE NEFUNCTIONALE .... pg.7
DESCRIEREA A PATRU CAZURI DE UTILIZARE SOFT .... pg.8
DIAGRAMA UML A CAZURILOR DE UTILIZARE .. pg.13
DIAGRAMA UML DE ACTIVITATI .. pg.14
DIAGRAMA DE CLASE A MODELULUI DE DOMENIU .. pg.18
DIAGRAMA UML DE SECVENTE DE SISTEM .. pg.19
DIAGRAMA DE CONTEXT pg.21
DIAGRAMA DE SECVENTE (PROIECTARE) pg.22
DIAGRAMA DE CLASE (PROIECTARE) . pg.24
EXPLICAREA APLICARII MODELELOR DE PROIECTARE
GENERALE DE ATRIBUIRE A RESPNSABILITATILOR pg.26

Proiect: E-ManagementImobiliare
Agenia imobiliar ManagementImobiliare intermediaz vnzarea sau
nchirierea imobilelor(apartamente, garsoniere, case, vile), a spaiilor
comerciale i a terenurilor din Constana.Pentrugestiunea mai uoar a
2

intermedierilor, proprietarul ageniei a decis s cumpere sistemul software EManagementImobiliare.


Orice client poate vizualiza interfaa grafic principal a sistemului EManagementImobiliare ide a face anumite cutri: dup tipul imobilului, zona
dorit i tipul tranzaciei (cumprare sau nchiriere). Aplicaia afieaz
rezumate ale anunurilor (mpreun cu pozele) despre imobilele,spaiile
comerciale sau a terenurilor gsite.
Clientul, posibil cumprtor, se prezint la un agent imobiliar al
companiei. La cererea agentului,aplicaia printeaz un acord de
confidenialitate prin care clientul se oblig c nu va da informaiidespre
imobilele vzute la agenia ManagementImobiliare n cazul n care se duce i
la alte agenii imobiliare. Dup ce semneaz, clientul primete un nume de
utilizator i o parolgenerate de sistem pentru a fi accesat.
Dupa ce se logheaz, posibilul cumprtor completeaz un formular afiat
de aplicaie cu datedespre cerinele pe care trebuie s le ndeplineasc
imobilul cutat. Aceste cerine sunt: tipulprodusului (imobil, spaiu comercial
sau teren), tip tranzacie (cumprare sau nchiriere), numrde camere,
materiale folosite (bca, ciment sau caramid), zona sau zonele dorite,
orientare (unuldin cele 4 puncte cardinale), cu sau fr loc de parcare, cost
aproximativ (n euro) i etajul sauetajele preferate.
Sistemul caut i afieaz lista rezultatelor gsite. Din aceste rezultate,
clientul poate alege unulsau mai multe imobile pe care vrea s le vad. In
acest caz, sistemul anun agenii imobiliari
care se ocup cu vnzarea sau nchirierea lor i pe proprietarii (vnztori) care
dein respectiveleproprieti.
Acetia din urm sunt anunai automat de ctre sistem c exist un posibil
cumprtor ifolosind aplicaia E-ManagementImobiliare scriu o list de date i
ore cnd sunt disponibili.
Aceast list este afiat agentului i viitorului cumprtor. Acesta alege una
sau mai multe date
cnd ar fi disponibil. Sistemul alege prima din aceste date i o transmite
agentului imobiliar ivnztorului.
In plus, orice vnztor poate accesa sistemul E-ManagementImobiliare
pentru a posta un anunimobiliar. Pentru aceasta, vnztorul trebuie
scompleteze un formular cu datele (cerinele demai sus) despre imobilul pe
care-l scoate la vnzare i o poz jpg de interior al imobilului sau o poz a
terenului. Dup aceea, aplicaia genereaz automat i afieaz un anun, pe
careutilizatorul l poate modifica. Apoi, anunul este salvat pe suport persistent
i este afiat la cererea utilizatorului.
Agentul imobilar care se ocup cu intermedierea vnzrii sau nchirierii a
unor produse

imobiliare poate vizualiza la cerere situaia sa: dac au fost vizualizate


rezumatele sau anunurileproduselor de care se ocup, etc.

Sistem de intermediere a vanzarilor sau inchirierilor imobilelor, spatiilor


comerciale sau terenurilor
Documentul cerintelor
1. Descrierea sistemului: sistemul intermediaza vanzarea sau
inchirierea imobilelor,
spatiilor comerciale sau terenurilor.
2. Actori software: client, posibil cumparator (client care are user si
parola), agent
imobiliar, vanzator (detinator proprietate)
3. Cerinte functionale:
F1. Vizualizare proprietati
F1.1 Permite vizualizarea anunturilor.
F1.2 Permite cautarea anunturilor dupa anumite criterii: tip
imobil, zona,
tiptranzactie (cumparare/inchiriere)
F1.3Afiseaza lista anunturilor conform criteriilor introduse,
impreunacu
un
rezumat
si
poze
despre
imobilele/spatiilecomerciale/terenurile gasite.
F1.4 In cazul in care nu exista anunturi care indeplinesc
creteriile de cautare
se afiseaza un mesaj corespunzator.
F2. Logarea in aplicatie
F2.1 Permite introducerea userului si parolei primite pentru
autentificare
F2.2 Valideaza existenta contului.
F2.3 In cazul in care una din date nu este completata sau este
invalida afiseaza un
mesaj de avertizare.
F2.4 Altfel, autentificarea se face cu succes.
F3. Furnizare acord confidentialitate
F3.1 Permiteprintarea unui acord de confidentialitate.
F3.2 Daca clientul nu semneaza acordul este afisat mesaj de eroare.
F3.3 Altfel, genereaza user si parola pentruaccesarea sistemului.
F3.4 Memoreaza acordul de confidentialitate, userul si parola.

F4. Alegereimobil
4

F4.1 Permite introducerea cerintelor clientului prin afisarea unui


formular: tip
produs
(imobil,
sp.comercial,
teren),
tip
tranzactie, nr.camere, materiale
folosite,
zona,
orientare,
existenta loc parcare, cost aproximativ, etaj.
F4.2Cauta si afiseaza lista rezultatelor gasite conform criteriilor
introduse
F4.3Daca nu sunt rezultate care indeplinesc criteriile mentionate afiseaza
un mesaj corespunzator.
F4.4Altfel, permite alegerea unuia sau mai multor imobile din lista.
F4.5 Anunta agentii imobiliari si vanzatorul de un posibil
cumparator.
F5. Vizitare proprietate
F5.1Primeste de la vanzator o lista cu datele si orele la care este
disponibil.
F5.2 Afiseaza lista agentului imobiliar si viitorului cumparator.
F5.3Permite clientului alegerea uneia sau mai multor date din lista
de
disponibilitate
F5.4Alege prima data din lista si o trimite agenului imobiliar
sivanzatorului.
F6. Furnizare lista disponibilitate
F6.1 Anuntaproprietariiin cazul in care exista un posibil cumparator.
F6.2 Permite intocmirea unei liste cu datele si orele la care sunt
disponibili.
F6.3 Afiseaza lista agentului si viitorului cumparator.
F7. Administrare anunturi
F7.1 Permite completarea datelor si a unei poze cu proprietatea scoasa
la
vanzare, prin afisarea unui formular.
F7.2 Verifica corectitudinea datelor introduse
F7.3 Daca datele nu sunt corecte afiseaza un mesaj de eroare.
F7.4 Altfel, memoreaza datele noului anunt.
F7.5 Genereaza si afiseaza anuntul.
F7.6Permite modificarea anuntului afisat.
F7.7 Verifica corectitudinea datelor modificate
F7.8Actualizeaza si memoreaza datele noului anunt.

F8. Adaugare anunt imobiliar


5

F8.1 Permite completarea datelor si a unei poze cu proprietatea


scoasa la
vanzare, prin afisarea unui formular.
F8.2 Verifica datele introduse
F8.3 In cazul in care datele nu sunt corecte din punct de vedere sintactic
sau sunt
incomplete afiseaza un mesaj de eroare.
F8.4Altfel, genereaza anuntul si il afiseaza.
F8.5Memoreaza anunt.
F9. Modificare anunt imobiliar
F9.1 Permite introducerea datelor de identificare ale anuntului (ex: cod
anunt).
F9.2 Valideaza datele introduse.
F9.3 Daca datele sunt invalide afiseaza mesaj de eroare.
F9.4 Altfel, permite modificarea datelor anuntului: tip produs,
nr.camere,
materiale folosite, zona, orientare, loc
parcare, cost aproximativ, etaj.
F9.5 Verifica corectitudinea datelor.
F9.6 In cazul in care apar erori afiseaza un mesaj corespunzator.
F9.7Altfel, memoreaza modificarile efectuate si actualizeaza anuntul.
F10. Vizualizare situatie proprie
F10.1 Permiteintroducereadatelor deidentificare ale agentului
imobiliar.
F10.2 Vaideaza date
F10.3 In caz ca datele sunt incorecte se afiseaza un mesaj de
eroare.
F10.4 Atlfel, permite vizualizarea situatiei proprii: verificarea
rezumatelor si
anunturilor de care se ocupa, tranzactii etc.

4. Cerinte nefunctionale:
a. Aplicatia foloseste o baza de date in Access/Oracle pentru
gestiunea datelor persistente.
6

b. Utilizare:
utiliatorii nu trebuie sa urmeze un instructaj pentru a
folosi aplicatia.
aplicatia foloseste interfete grafice sugestive
aplicatia trebuie sa ruleze pe orice sistem de operare
c. Robustete: sistemul verifica datele primite de la user. Daca
sunt incorecte este afisat un mesaj de eroare si se ofera
posibilitatea reintroducerii datelor.

Modelul functional
I. Descrierea a patru cazuri de utilizare software
7

1.

Cazul de utilizare Alegere imobil


Nume: Alegere imobil
Descriere:Descrie comportamentul sistemului si interactiunea
lui cu
utilizatorul pentru selectarea unei
proprietati care urmeaza a fi vizitata.
Actor software: posibil cumparator
Eveniment declansator: Posibilul cumparator solicita
cautarea unor proprietati
dupa
anumite criterii.
Preconditii: Dupa logarea in aplicatie este disponibil formularul
de cautare
Postconditii: Sistemul memoreaza imobilului selectat si anunta
vanzatorul
(proprietarul) si agentul imobiliar cu
privire la un posibil cumparator.
Referinte incrucisate:
F4.1 -> F4.5
F
l
u
x
p
r
i
n
c
i
p
a
l

Utilizator

Sistem

1. Cere afisarea
proprietatilor
3. Completeaza si trimite
datele
8. Selecteaza din lista
afisata imobilele pentru
vizita [A3]

2. Cere completarea criteriilor dorite.


4. Verifica datele primite [A1]
5. Face cautarea dupa criteriile introduse
6. Afiseaza lista rezultatelor obtinute [A2]
7. Permite alegerea unuia sau mai multor imobile
din lista
9. Anunta vanzatorul si agentul imobiliar despre
un posibil cumparator.

Fluxuri alternative:
o [A1]: Datele sunt incomplete sau incorecte d.p.d.p
sintactic
1. Sistemul afiseaza un mesaj de eroare
2. Fluxul continua cu pasul 2 din fluxul principal
o [A2]: Nu exista anunturi care indeplinesc criteriile introduse
1. Sistemul afiseaza un mesaj corespunzator
2. Fluxul se incheie
o [A3]: Utilizatorul nu selecteaza nimic din lista afisata
1. Sistemul afiseaza un mesaj de avertizare
2. Fluxul se incheie

2. Cazul de utilizare Administrare anunturi


Nume: Administrare anunturi
Descriere: Descrie comportamentul sistemului si interactiunea
lui cu
utilizatorul in cazul in care acesta doreste
adaugarea sau modificarea
unui anunt.
Actor software:vanzator
Eveniment declansator:Vanzatorul alege optiune de adaugare a
unui nou anunt
Preconditii:Vanzatorul poate vizualiza si adaugaanunturi.
Postconditii: Sistemul memoreaza noul anunt si il afiseaza.
Referinte incrucisate:
F7.1 -> F7.8

Fluxul principal
Vanzator
1. Cere adaugare anunt
3. Introduce si trimite datele
noului anunt
8. Alege modificare anunt
9. Trimite datele noului anunt

Sistem
2. Cere completarea formularului de
adaugare anunt
4. Verifica corectitudinea datelor primite
[A1]
5. Memoreaza datele noului anunt
6. Genereaza si afiseaza anuntul
7. Permite modificarea anuntului [A2]
10. Verifica noile date [A3]
11. Actualizeaza anuntul conform noilor
date.
12. Memoreaza noul anunt.

Fluxuri alternative:
o [A1]: Date necompletate sau incorecte
1. Sistemul afiseaza un mesaj de eroare
2. Fluxul se continua cu pasul 2 din fluxul principal
o [A2]: Anuntul nu este modificat
1. Sistemul afiseaza un mesaj corespunzator
2. Fluxul se incheie
o [A3]: Datele nu sunt complete sau corecte din punct de vedere
sintactic

1. Sistemul afiseaza un mesaj de avertizare


2. Fluxul se continua de la pasul 7 al fluxului principal

3. Cazul de utilizare Logare in aplicatie


Nume: Logare in aplicatie
Descriere:
Descrie
comportamentul
sistemului
si
interactiunea lui cu
utilizatorul pentru autentificarea in aplicatiei.
Actor software:Posibil cumparator
Eveniment declansator: Posibilul cumparator se
logheaza in aplicatie cu userul si
parola furnizate.
Preconditii: Dupa accesarea aplicatie este disponibila
fereastra de logare care permite
introducerea
userului si parolei primite pentru autentificare.
Postconditii:Este disponibil formularul de cautare.
Referinte incrucisate:
F2.1 -> F2.4
F
l
u
x
p
r
i
n
c
i
p
a
l

Utilizator
1. Cere logarea in
aplicatie
3. Introduce userul si

Sistem
2. Afiseaza formularul de autentificare
4. Valideaza datele[A1]
5. Logheaza userul in aplicatie.

parola

Fluxuri alternative:
o [A1]: Username sau parola incorecte
1 Sistemul afiseaza un mesaj de eroare
2 Fluxul continua cu pasul 2 din fluxul principal

4. Cazul de utilizare Modificare anunt imobiliar


o Nume: Modificare anunt imobiliar
o Descriere:
Descrie
comportamentul
sistemului
si
interactiunea lui cu
utilizatorul pentru
modificarea unui anunt imobiliar.
o Actor software: vanzator
o Eveniment declansator: Vanzatorul alege optiune de editare a
unui anunt propriu
o Preconditii: Vanzatorul poate vizualiza si edita anunturile
proprii.
o Postconditii: Sistemul memoreaza modificarile efectuate de
vanzator si
actualizeaza anuntul.
o Referinte incrucisate:
F9.1 -> F9.7

Fluxul principal
Vanzator

Sistem

1.
Acceseaza
optiunea
de
editare anunt
3. Introduce si trimite date
6. Introduce si trimite noile date

2. Cere introducerea datelor de


identificare anunt
4. Verifica validitate date primite [A1]
5. Cere introducerea/modificarea datelor
anuntului
7. Verifica datele primite [A2]
8. Memoreaza modificarile
9. Actualizeaza anuntul conform noilor
date.
10. Memoreaza noul anunt.

Fluxuri alternative:
o [A1]: Date necompletate sau incorecte
1 Sistemul afiseaza un mesaj de eroare
2 Fluxul se continua cu pasul 2 din fluxul principal
o [A2]: Datele nu sunt complete sau corecte din punct de vedere
sintactic
1 Sistemul afiseaza un mesaj de avertizare
2 Fluxul se continua de la pasul 5 al fluxului principal

II. Diagrama UML a cazurilor de utilizare software


3
Vizualizare
proprietati

4
Logare in
aplicatie

Vizitat
or
Vizitare
proprietate

6
Alegere imobil7

8
9

Client
Vanzato
r

Furnizare lista
disponibilitate

10
11
12

Administrare
anunturi

13
<<extend
14
>>

<<extend
>>

Adaugare15
anunt
imobiliar

Modificare anunt
imobiliar

16
17
18

Vizualizare
19
situatie proprie

Furnizare acord
confidentialitate

20

21
22

Ag.imobilia
r

III. Diagrama UML de activitati pentru descrierea


cazurilor deutilizatesoftware

23

1.

Cazul de utilizare Alegere imobil

24
25
26
UTILIZATOR

SISTEM

27
Afiseaza formular
cautare

Cere afisare
28
proprietati
29
Completeaza si
trimite formularul
30
cu criteriile dorite
31

Verifica datele
introduse

32

[gaseste
rezultate]

33
Selecteaza
34
imobile din lista
35

[Nr=0]

[Nr>=1]

Afiseaza lista
rezultatelor
gasite

36
Nu selecteaza
niciun imobil

Selecteaza cel
37
putin un imobil
38
39

Cautare anulata

40

41
42
43
44
45

[Date
corecte]
[ nu
gaseste]

[Date
incorecte]

Afiseaza mesaj
corespunzator

Afiseaza mesaj
de eroare

Cautare
anulata
Anunta
ag.imobiliari si
vanzatorul de un
posibil cumparator
Asteptare lista
disponibilitate

46
2. Cazul de utilizare
47
48 VANZATOR
SISTEM

Administrare anunturi

Cere introducere
date

49
Cere adaugare
anunt
50
51
Introduce date
52
proprietate

Verifica datele
primite

53
54
55
56

[Date
incorecte]

[Date
corecte]

Memoreaza
datele noului
anunt

Afiseaza mesaj
eroare

57
58
59

Anunt
[Creat]

Genereaza si
afiseaza
anuntul

Registru
anunt [creat]

60
61

Memoreaza
anuntul

62
63
64
Cere modificare
65
anunt
66
[nu
selecteaza]

Nu modifica
anuntul

Anunt 3.
nemodificat

Anunt adaugat
Permite
modificare
anunt

[selecteaza]

67

Modifica date
anunt

Registru
anunt
[actualizat]

Memoreaza
anuntul

Anunt
[actualizat]

Registru
anunt [creat]
68

Anunt in aplicatie
Cazul de utilizare Logare
memorat

69
Registru
70anunt
[actualizat]

71

72
73
74
75
76
77

78
4. Cazul de utilizare Modificare anunt

79
80 Diagrama de clase a modelului
domeniu
81
82

- vanzator
83

Persoa

Client:Persoan

- proprietar - Ag.imobilia
84
detin
e

85

elibereaz
a

semneaz
a

86
Ag.imobiliar
a
- denu

Acord
87confidentiali

88

tate

89
detin
e

90

completea
za
0..*

Formular
- tipProdus:String
- tipTranzactie:Stri
ng
- nrCamere:Integer urmeaza
- materiale: String
1
1
- zona: String
- orientare: Char
- parcare: String
- cost:Double
- etaj: Integer

92
93

Proprietat
e
94

descrie

95
Imobi
l

Spatiu
comerci

96
97
98
99

ListaDisponibili
tate
-data: Date
-ora
1

urmeaza
ListaAnunt
0..uri
1

Inchirier
e/cump
arare
ListaAnunt
uri

91

1..*

Cautare
Cautare
-de
tipProdus:String
Cautare
- tipProdus:String
tipTranzactie:Stri
-- tipProdus:String
tipTranzactie:Stri
ng
- tipTranzactie:Stri
ng
- nrCamere:Integer
ng
- nrCamere:Integer
materiale:
String
Cautare
-- nrCamere:Integer
materiale:
String
zona: String
-- tipProdus:String
materiale:
String
zona:
String
orientare:
Char
tipTranzactie:Stri
-- zona:
String
orientare:
Char
parcare: String
-- orientare:
ng
Char
parcare:
String
cost:Double
-- parcare:
nrCamere:Integer
String
cost:Double
etaj: Integer
-- cost:Double
materiale:
String
etaj:
Integer
- etaj:
zona:Integer
String
- orientare: Char
- parcare: String
- cost:Double
- etaj: Integer

Teren

Anunt
- descriere:
String
- poza:Strin

ListaAnunt
uri

100

101

Diagrama
UML de secvente de sistem

1. Cazul de utilizare Alegere imobil


102
103
Posibil
cumparator

:SISTEM

104

Vanzator

1. 105
cereAfisareAnunturi(): void

106
2. trimiteDateCautare(tipProdus:String,
107 nrCamere:Integer,
tipTranzactie:String,
materiale:String,cost:Double ): ListaAnunturi
108
ListaAnunturi
109
3. trimiteListaImobileSelectate(lista:ListaImobile):
110
void
111
112

4.anuntaVanzator():vo
id

113
114

2. Cazul de utilizare Administrare anunturi


115
116
utilizat 117
or
118

:SISTEM

1. cereAdaugareAnunt():void

119
120
2.trimiteDescriereProprietate(tipProdus:String,
121
tipTranzactie:String, nrCamere:Integer,
materiale:String,cost:Double,poza:Image):Anunt
122
Anunt

123

3.
de utilizare Modificare anunt

Cazul

124

125
4.
de utilizare Logare in aplicatie

Cazul

126

127
128
129

Diagr
ama de context

130
1. Din punct de vedere structural sistemul este
modelat intr-o clasa a carei operatii sunt operatii
de sistem
131
Client 132
133
134
135
Cumparat
136

SISTEM

+ cereVizualizareAnunturi():
ListaAnunturi
+
trimiteDateFiltrare():ListaAnunturi
+ trimiteDateLogare():String
+
printareAcordConfidentialitate():Str
ing
+
trimiteListaImobileSelectate():void
+ trimiteListaDisponibilitate():void

Agent
imobiliar

137
Vanzator

138
139
140

2. Din punct de vedere functional sistemul este


descris intr-un caz de utilizare software
141
142
Client
143
144
145

E-Management
Imobiliare

146

Ag.imobili
ar

Cumparat
147
148
149
Vanzator
150

151

Diagrama de secvente realizata


in fata de proiectare

152
Arata interactiunile obiectelor care participa
in realizarea fiecarui caz de utilizare SW proiectat s
ordinea in timp in care sunt transmise mesajele dintre
obiecte.

153
1. Cazul de utilizare Alegere imobil

154

2. Cazul de utilizare Administrare anunturi

155

156

Diagrama de clase realizata in faza de


proiectare
1.Alegere imobil
157

158

2. Administrare anunturi
159

160

161 Explicarea aplicarii modelelor de


proiectare generale de atribuire a
responsabilitatilor
162
163 Controller este responsabil de efectuarea operaiilor
cerute de utilizator , atribuind responsabilitatea de a face cu
evenimentele de sistem catre o clasa non-UI care reprezinta sistemul
general sau un caz de utilizare. Acesta este responsabil cu primirea si
manipularea evenimentelor sistem.acest obiect este responsabil de
efectuarea operaiilor cerute de utilizator. Controller coordoneaz
(controleaz) operaiile necesare pentru a realiza aciunea declanat
de utilizator si foloseste, n general alte obiecte pentru a realiza
operaia, doar coordoneaz activitatea.Controllerul poate ncapsula
informaii despre starea curent a unui usecase.Are metode care
corespund la o aciune utilizator.
164
165 Creator descrie modul n care alocm responsabilitatea
de a crea obiecte n sistem n general o clasa B ar trebui s aib
responsibilitatea de a crea obiecte de tip A dac unul sau mai multe
(de preferat) sunt adevrate:
166 Instana de tip B conine sau agreg instane de tip A
167 Instana de tip B gestioneaz instane de tip A
168 Instana de tip B folosete extensiv instane de tip A
169 Instana de tip B are informaiile necesare pentru a
iniializa instana A.
170
171 High cohesion aloc responsabilitile astfel nct
coeziunea n sistem rmne ridicat. Este un principiu care se aplic
pe pacursul dezvoltrii n ncercarea de a menine elementele n
sistem:
172 responsabile de un set de activiti nrudite
173 de dimensiuni gestionabile
174 uor de neles
175 Coeziune ridicat (High cohesion) nseamna ca
responsabilitile pentru un element din sistem sunt nrudite, concentrate
n jurul aceluiai concept. mprirea programelor n clase i starturi este
un exemplu de activitate care asigur coeziune ridicat n sistem
176
177 Low Coupling - aloc responsabiliti astfel nct cuplarea
rmne slab (redus). Low Coupling ncurajeaz alocarea de
responsabilitai astfel nct avem:

dependene puine ntre clase;


impact sczut n sistem la schimbarea unei clase;
potenial ridicat de refolosire;
178
Forme de cuplare:
179 TypeX are un cmp care este de TypeY.
180 TypeX are o medod care refer o instan de tipul TypeY n
orce form (parameterii, variabile locale, valoare returnat, apel la
metode)
181 TypeX ete derivat direct sau indirect din clasa TypeY.
182
183 Expert - aloc responsabilitatea clasei care are toate
informaiile necesare pentru a ndeplini sarcina. Incercm sa
determinm care sunt informaiile necesare pentru a realiza ce se cere,
determinm locul n care sunt aceste informaii i alocm
responsabilitatea la clasa care conine informaiile necesare. Expert
conduce la alocarea responsabilitii n clasa care conine informaia
necesar pentru implementare. Ajut s rspundem la ntrebarea Unde
se pune metoda/campul.
184
185
Pure fabrication - cnd un element din sistem ncalc
principiul coeziunii ridicate i cuplare slab (n general din cauza
aplicrii succesive a ablonului expert): aloc un set de responsabiliti
la o clas artificial (clas ce nu reprezint ceva n domeniul problemei)
pentru a oferi coeziune ridicat, cuplare slab i reutilizare. Pure
Fabrication este o clas ce nu reprezint un concept din domeniul
problemei este o clas introdus special pentru a menine cuplare slab
i coeziune ridicat n sistem.

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