Enginyeria del Software II
UML
Jordi Cazorla Riera
Eduard Rando Segura
1 / 4 7
ÍNDEX
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
2 / 4 7
INTRODUCCIÓ
3 / 4 7
Enginyeria del Software:
“Disciplina que integra processos, mètodes i eines amb
l’objectiu de desenvolupar i mantenir sistemes de software
econòmics, fiables i eficients”.
Motiu:
INTRODUCCIÓ
INTRODUCCIÓ
UML
DIAGRAMES
Boom informàtic
(70’s-80’s)
Necessitat de
normes
CONCLUSIONS
4 / 4 7
Cicle de vida del software
INTRODUCCIÓ
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
5 / 4 7
“Tots ens hem d’entendre amb el mateix disseny”
INTRODUCCIÓ
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
Requeriments
Disseny
Grup
Implementació 1
Grup
Implementació 2
6 / 4 7
UML
7 / 4 7
UML
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
MOV R1, R2
ADD
R2,R5,R6
...
void metode(){
Int a;
...
}
Assemblador Codi Font Disseny
(UML)
UML Casos
d’Ús
Classes
O.O.
8 / 4 7
L’UML és un base formal per entendre el llenguatge de
modelatge (notació).
Té per objectius:
Proporcionar un llenguatge de modelatge visual.
Proveir de mecanismes d’extensió i especialització.
Impulsar la utilització de la programació O.O.
Donar suport a patrons de disseny.
UML
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
9 / 4 7
UML
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
1 0 / 4 7
DIAGRAMES
1 1 / 4 7
“Esquematitzar els requeriments d’un sistema”
DIAGRAMA CASOS D’ÚS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 2 / 4 7
ACTORS:
Entitats externes al sistema
Poden ser especialitzacions d’altres actors
DIAGRAMA CASOS D’ÚS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 3 / 4 7
CASOS D’ÚS:
Requeriment del sistema o funcionalitat del sistema
COMUNICACIÓ:
Relacions entre actors i casos d’ús o entre dos casos d’ús
DIAGRAMA CASOS D’ÚS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 4 / 4 7
RELACIONS:
Generalització
Inclusió
DIAGRAMA CASOS D’ÚS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 5 / 4 7
RELACIONS:
Extensió
DIAGRAMA CASOS D’ÚS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 6 / 4 7
Fitxes:
L’especificació d’un cas d’ús
<Imatge>
DIAGRAMA CASOS D’ÚS
CAS D’ÚS Nom del cas d’ús
Versió Nº Versió Data dd/mm/aa
Autors Autors del document
Descripció Descripció informal dels objectius del cas d’ús
Actors Actors que intervenen
Precondició Condicions que han de complir-se perquè es pugui realitzar el cas d’ús
Flux principal Flux principal d’events del cas d’ús
Subfluxos Diferents alternatives dins del flux principal
Fluxos alternatius Variacions en els fluxos principals o casos d’excepció
Postcondició Postcondició del cas d’ús
Requeriments no funcionals Llista de restriccions relacionades amb aquest requeriment funcional
Prioritat {urgent, normal, no prioritari}
Comentaris Comentaris addicional
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 7 / 4 7
Exemple:
DIAGRAMA CASOS D’ÚS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 8 / 4 7
“Mostrar els blocs d’un sistema O.O.”
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
1 9 / 4 7
CLASSE:
Contenidor d’informació
Expressions dels atributs i mètodes:
Visibilitat nomAtribut: tipus = valorInicial
Visibilitat nomOperacio(nomParàmetre: tipusParàmetre): tipusRetorn
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 0 / 4 7
Visibilitat dels mètodes i atributs:
DIAGRAMA CLASSES
Símbol Accés
+ Públic
- Privat
# Protegit
~ Paquet
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 1 / 4 7
CLASSES ESPECIALS
Classe abstracta Classe interfície
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 2 / 4 7
CLASSE ASSOCIACIÓ:
Atributs de les relacions
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 3 / 4 7
ASSOCIACIONS:
Definició: les interrelacions entre instàncies de dues classes
Cardinalitat:
DIAGRAMA CLASSES
Multiplicitats Significat
0..1 Zero o una instàncies
n..m De n a m instàncies
0..* o * Nombre indeterminat d’instàncies, inclòs el zero
1 Una única instància
1..* Nombre indeterminat d’instàncies essent una com a mínim
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 4 / 4 7
ASSOCIACIONS:
Agregacions: tenim un tot i una part
Composicions: una classe no pot existir sense una altra
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 5 / 4 7
ASSOCIACIONS:
DEPENDÈNCIES: un canvi a una classe pot implicar un
canvi a l’altre classe
RESTRICCIONS (OCL)
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 6 / 4 7
ASSOCIACIONS:
RELACIÓ INTERFÍCIE I IMPLEMENTACIÓ
ASSOCIACIONS REFLEXIVES: interacció amb elles mateixes
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 7 / 4 7
EXEMPLE:
DIAGRAMA CLASSES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 8 / 4 7
“Tipus especial del diagrama de classes que mostra instàncies del
nostre model”
DIAGRAMA D’OBJECTES
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
2 9 / 4 7
“Mostra el flux d’activitats que intervenen en un procés”
DIAGRAMA D’ACTIVITAT
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 0 / 4 7
DIAGRAMA D’ACTIVITAT
Punt d’inici
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 1 / 4 7
DIAGRAMA D’ACTIVITAT
Punt final
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 2 / 4 7
DIAGRAMA D’ACTIVITAT
Carrers (swimlines)
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 3 / 4 7
DIAGRAMA D’ACTIVITAT
Activitats
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 4 / 4 7
Fluxos condicionats i paral·lels
DIAGRAMA D’ACTIVITAT
Activitat si cert
Activitat si fals
[ condició ]
Activitat en
paral·lel 1
Activitat en
paral·lel 2
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
Decision node
Merge node
Fork Join
3 5 / 4 7
“Detallen com s’executen cada una de les operacions en una línia
temporal”
DIAGRAMA DE SEQÜÈNCIA
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 6 / 4 7
CLASSES
DIAGRAMA DE SEQÜÈNCIA
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 7 / 4 7
REQUADRES
DIAGRAMA DE SEQÜÈNCIA
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 8 / 4 7
TIPUS DE REQUADRES
DIAGRAMA DE SEQÜÈNCIA
Operador Significat
alt Fa referència a, quan tenim un condicional, a l’altrament
break
Si es compleixen les condicions que tenim predeterminades
s’executaran les instruccions de dins d’aquest requadre i acabarà,
per tant, els missatges posteriors a aquest requadre no es tindran en
compte.
loop És un bucle que, mentre la condició establerta sigui verdadera
s’anirà executant.
opt Si la condició és verdadera s’executarà la part de dins del
requadre.
par Els fragments s’executaran en paral·lel.
ref Permet fer referència a altres diagrames de seqüència tot permetent
la reutilització d’aquets fent-los més simples.
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
3 9 / 4 7
“Mateixa finalitat que el de seqüència però centrant-se en els rols
dels objectes”
DIAGRAMA DE COMUNICACIÓ
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
4 0 / 4 7
“Serveix per modelar comportament d’objectes i sistemes”
DIAGRAMA D’ESTAT
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
4 1 / 4 7
“Conjunt de components que són la part física d’un sistema.
Aquestes components representen l’empaquetament físic
d’elements que són lògics”
DIAGRAMA DE COMPONENTS
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
4 2 / 4 7
“Mostren la configuració de nodes, elements físics que
representen el hardware sobre el qual es desplega i s’executen
els diferents components“
DIAGRAMA DE DESPLEGAMENT
INTRODUCCIÓ
UML
DIAGRAMES
CASOS D’ÚS
CLASSES
OBJECTES
ACTIVITAT
SEQÜÈNCIA
COMUNICACIÓ
ESTAT
COMPONENTS
DESPLEGAMENT
CONCLUSIONS
4 3 / 4 7
CONCLUSIONS
4 4 / 4 7
CONCLUSIONS
INTRODUCCIÓ
UML
DIAGRAMES
CONCLUSIONS
L’UML és una notació molt útil en la fase de disseny.
L’UML està format per un conjunt de diagrames però no tots
s’utilitzen amb la mateixa freqüència.
4 5 / 4 7
4 6 / 4 7
Enginyeria del Software II
UML
Jordi Cazorla Riera
Eduard Rando Segura
4 7 / 4 7