Tema 5: UML (2017)

Apunte Catalán
Universidad Universidad Autónoma de Barcelona (UAB)
Grado Ingeniería Informática - 2º curso
Asignatura Enginyeria del software
Año del apunte 2017
Páginas 5
Fecha de subida 11/06/2017
Descargas 0
Subido por

Vista previa del texto

TEMA 5: UML 1. INTRODUCCIÓ UML (Unified Modeling Language) és un llenguatge, una notació, per visualitzar, especificar, construir i documentar els elements d’un sistema que involucra una gran quantitat de software, des d’una perspectiva orientada a objectes (OO).
Objectius: - Produir un model o representació del sistema que pugui ser utilitzat, en una fase posterior, a fi d’implementar-lo.
Modelar sistemes, des del concepte fins als elements executables utilitzant tècniques OO.
Crear un llenguatge de modelat utilitzable tant per les persones com per les màquines.
Trobar un equilibri entre expressivitat i simplicitat.
Utilitats: - Permet especificar totes les decisions d’anàlisi, disseny i implementació construint models precisos, no ambigus i complerts.
Permet documentar tots els elements d’un procés de desenvolupament (requeriments, arquitectura, proves, versions, etc.).
UML pot connectar-se a llenguatges de programació, enginyeria directa i inversa.
2. BLOCS DE CONSTRUCCIÓ 2.1.
Elements 1) Estructurals: representen coses que són conceptuals o materials.
a. Interfície: comportament visible, serveis classe o component.
b. Classe: descripció d’un grup d’objectes amb propietats comunes (atributs), comportament comú (operacions), relacions comunes amb altres objectes i semàntica comuna.
c. Component: part física i reemplaçable d’un sistema.
d. Cas d’ús: conjunt de seqüència d’accions que un sistema executa.
e. Node: recurs computacional f. Actor: entitats externes que interactuen amb el software a desenvolupar.
2) Comportament: representen comportament en el temps i l’espai.
a. Interaccions: missatges d’intercanvi entre objectes per un propòsit determinat.
b. Estat: estats pels que passa un objecte en resposta a events.
3) Agrupació: parts organitzatives dels models (ex: paquets).
4) Anotació: parts explicatives dels models (ex: nota).
2.2.
Relacions 1) Dependència: relació semàntica, si modifiquem l’element independent pot afectar al dependent.
2) Associació: elements.
relació estructural, connexions entre 3) Generalització: relació generalització / especialització.
4) Realització: relació semàntica entre classificadors on especifica un contracte que un altre classificador garantirà.
2.3.
Diagrames 1) Diagrama de Casos d’ús Els casos d’ús representen els requeriments funcionals del sistema, el comportament desitjat. Són iniciats per un actor amb un objectiu, poden incloure seqüències alternatives on no s’aconsegueix l’objectiu. El sistema es considera una caixa negra.
Existeixen 3 tipus de relacions: o o o Generalització: un cas d’ús hereta el comportament d’un altre.
Inclusió (<<include>>): un cas d’ús base incorpora explícitament el comportament d’un altre.
Extensió (<<extend>>): un cas d’ús completa la funcionalitat d’un altre.
Escenari: seqüència específica d’accions que il·lustra el comportament del cas d’ús. Un escenari és una instancia d’un cas d’ús.
Els següents tipus de diagrames modelen els aspectes dinàmics del sistema.
2) Diagrama de seqüència Representen escenaris amb objectes, línia de vida, focus de control (temps durant el qual un objecte realitza una operació), missatges i informació de control.
Destaca l’ordenació temporal dels missatges.
Descripció dels objectes que intervenen en un escenari i els missatges que s’intercanvien.
3) Diagrama de Col·laboració Mostren interaccions organitzatives entre objectes ordenats a partir de la topologia que mostra l’enviament dels seus missatges. Destaca l’organització estructural dels objectes que envien i reben missatges.
4) Diagrama de transició d’estats S’utilitzen per mostrar els estats en que ens podem trobar un objecte durant el seu temps de vida, els events que causen la transició d’un estat a un altre i les accions que resulten d’un canvi d’estats. Inclouen: estats, transicions i notació estesa.
o o Estat: identifica un període de temps (no instantani) en la vida de l’objecte durant el qual està esperant alguna operació.
Transició: representa un canvi d’estat, aquest canvi pot anar acompanyat d’alguna acció. Aquestes s’associen a les transicions i es considera que succeeixen de forma ràpida i sense interrupció. Poden tenir associada una acció i/o una guarda. N’hi ha 2 tipus: ▪ Automàtica: quan s’acaba l’activitat de l’estat origen (no hi ha un event associat amb la transició).
▪ No automàtica: quan existeix un event que pot pertànyer a un altre objecte.
5) Diagrama d’activitats Diagrama de flux d’accions que mostra l’activitat que esdevé al llarg del temps.
És un cas especial de diagrama d’estats. Una activitat produeix algun canvi en el sistema o retorna un valor. Poden expressar canvis d’estats en objectes que no intervenen en el diagrama, cosa que el diagrama d’estats no pot fer.
6) Diagrama de Classes Es descriuen els tipus d’objectes d’un sistema i les relacions estàtiques que hi ha entre ells. Un objecte és una instància d’una classe. Contenen classes, interfícies i relacions.
Tipus de classes: o Comunicació: gestionen la interacció entre el sistema i el seu entorn (modelen les interfícies).
o Control: coordinen els events per realitzar el comportament del cas d’ús.
o Entitat: modelen la informació i el seu comportament. Representen entitats del món real o entitats internet necessàries.
Relacions en un diagrama de classes: o o o Dependència: un canvi en l’especificació d’un element afecta a l’altre.
Generalització: una classe derivada hereta les propietats de la seva super – classe. Tipus d’herència: ▪ Simple: una classe només deriva d’una classe.
▪ Múltiple: una subclasse pot derivar de més d’una classe.
▪ Solapada: una nova classe pot derivar d’una subclasse.
▪ Disjunta: una nova classe no pot ser subclasse de més d’una classe.
▪ Completa: partició en què tots els objectes estan representats per alguna subclasse.
▪ Parcial: hi ha objectes no representats per les subclasses.
Associació: connexió semàntica entre classes.
o o Agregació: associació del tipus “continent – contingut” (ex: departament – professor).
Composició: agregació on les parts no poden sobreviure al tot (ex: catàleg – producte).
3. MECANISMES COMUNS Notació que fixa un estil dins del model vàlida pels diferents elements que trobem als diagrames: - - Especificacions: UML té una part gràfica semàntica on s’especifiquen els detalls de cada element del sistema => permet construir un model incremental on podem anar afegint detalls.
Guarniments.
Divisions comunes Mecanismes d’extensivitat.
4. VISTES SEGONS ELS ROLS DEL PROJECTE UML permet modelar diferents vistes d’un problema i la seva solució. Aquestes són les vistes segons els rols del projecte: 1) Visió d’usuari: comportament del sistema des del punt de vista del què, no del com (usuaris, analistes, dissenyadors i provadors).
2) Visió estructural: disseny de classes per implementar els requisits funcionals i no funcionals (dissenyadors, programadors i provadors).
3) Visió de comportament: aspectes dinàmics del software com flux de missatges, de control, canvis d’estat (dissenyadors, programadors i provadors).
4) Visió d’implementació: organització del software a l’entorn de desenvolupament 5) Visió d’implantació: correspondència entre el software i hardware.
...