• No se han encontrado resultados

08 Introducción a UML

N/A
N/A
Protected

Academic year: 2021

Share "08 Introducción a UML"

Copied!
46
0
0

Texto completo

(1)

08 Introducción a UML

Pablo Gervás

F. Informática, UCM, noviembre 2003

(2)

Usos de UML

• El lenguaje unificado de modelado UML se usa para:

– Mostrar los límites de un sistema y sus funcionalidades principales, utilizando casos de uso y actores

– Ilustrar la realizaciones de casos de uso, utilizando diagramas de interacción

– Representar una estructrua estática del sistema, utilizando diagramas de clases

(3)

Tipos de diagrama

• UML ofrece 9 tipos de diagramas

Diagramas de clases Diagramas de objetos

Diagramas de casos de uso Diagramas de secuencia

Diagramas de colaboración Diagramas de estados

Diagramas de actividades Diagramas de despliegue

(4)

Ejemplo de uso de UML

• Una universidad quiere informatizar su sistema de matricula

– El Administrador plantea una oferta de asignaturas para el semestre

• Cada asignatura puede ofrecerse en varios grupos

– Los estudiantes eligen 4 asignaturas principales y 2 alternativas – Una vez el estudiante se ha matriculado para el semestre, se

informa al sistema de facturación para que le pase al cobro la matrícula.

– Los estudiantes pueden usar el sistema para añadir o abandonar asignaturas durante un periódo de tiempo después de la matrícula – Los profesores usan el sistema para recibir las listas de

matriculados en sus asignaturas

– Se asignan contraseñas a los usuarios del sistema, que se utilizan para el control de acceso.

(5)

Actores

• Un actor es alguien o algo que tiene que interactuar con el

sistema que se está desarrollando

Administrador

Profesor

Estudiante

(6)

Casos de uso

• Un caso de uso es un patrón de comportamiento que muestra el

sistema

– Cada caso de uso es una secuencia de transacciones relacionadas llevadas a cabo por un actor y el sistema a modo de diálogo.

• Se examinan los actores para determinar sus necesidades

– Administrador -- editar la oferta de asignaturas – Profesor -- pedir listas

– Estudiante -- editar horario

– Facturación -- recibir información de matrícula del sistema

(7)

Documentar los casos de uso

• Se crea un flujo de eventos para cada caso de uso

– Escrito desde el punto de vista del actor

• Detalla lo que el sistema debe proporcionar al actor cuando se

ejecuta el caso de uso

• Contenidos típicos

– Cómo empiea y acaba el caso de uso – El flujo normal de eventos

– Flujos alternativos de eventos – Flujos excepcionales de eventos

(8)

Editar oferta

Flujo de eventos

• Este caso de uso empieza cuando el Administrador accede al sistema de matrícula y escribe su contraseña. El sistema verifica que la

contraseña es válida (E-1) y pide al Administrador que seleccione el semestre actual o un semestre futuro (E-2). El Administrador

selecciona el semestre deseado. El sistema pide al Administrador que seleccione la actividad deseada: AÑADIR, ELIMINAR, REVISAR, o SALIR.

• Si la actividad seleccionada es AÑADIR, se ejecuta el flujo secundario S-1: Añadir una asignatura.

• Si la actividad seleccionada es ELIMINAR, se ejecuta el flujo secundario S-2: Eliminar una asignatura.

• Si la actividad seleccionada es REVISAR, se ejecuta el flujo secundario S-3: Revisar oferta.

• Si la actividad seleccionada es SALIR, finaliza el caso de uso. • ...

(9)

Diagrama de casos de uso

• Los diagramas de casos de uso se crean para visualizar las

relaciones entre los actores y los casos de uso.

Facturacion

Editar horario Estudiante

Profesor

Administrador

Pedir lista de alumnos

(10)

Realizaciones de casos de uso

• El diagrama de casos de uso presenta una visión del sistema

desde fuera

• Los diagramas de interacción describen cómo los casos de uso

se realizan a través de interacciones entre conjuntos de objetos

• Hay dos tipos de diagramas de interacción

– Diagramas de secuencia – Diagramas de colaboración

(11)

Diagrama de secuencia

• Un diagrama de secuencia muestra las interacciones entre

objetos en orden cronológico

: Estudiante gestormatriculas matematica 101

1: rellenar datos 2: enviar

3: añadir asignatura(juan, matematica 101)

4: quedan plazas? 5: quedan plazas? 6: añadir(juan) 7: añadir (juan) matem. 101 grupo A impreso matrícula

(12)

Diagrama de colaboración

• Un diagrama de colaboración muestra las interacciones entre

objetos organizadas en torno a los objetos y sus relaciones

entre ellos.

impreso asignatura : Impreso asignatura elGestor : Gestor Oferta unaAsignatura : Asignatura

1: rellena info asignatura 2: procesa

4: nueva asignatura

3: añade asignatura : Administrador

(13)

Diagramas de clases

• Capturan la vista de diseño estática de un sistema desde el

punto de vista de las clases

• Un diagrama de clases muestra la existencia de clases y las

relaciones entre ellas en la vista lógica del sistema

• Elementos de UML de los diagramas de clases

– Clases, su estructura y su comportamiento

– Relaciones de asociación, agregación, dependencia, y herencia – Indicadores de multiplicidad y navegación

– Nombres del papel que juega cada clase en una relación

(14)

Clases

• Una clase es una colección de objetos con estructura común,

comportamiento común, relaciones comunes, y semántica

común

• Se encuentran las clases a base de examinar los objetos en los

diagramas de secuencia y colaboración

• Una clase se dibuja como un rectángulo con tres

compartimentos

• Se debe poner nombre a las clases usando el vocabulario del

dominio

– Se debe intentar definir maneras pre-establecidas de poner nombres

– Por ejemplo, todas las clases son nombres en singular que empiezan por mayúscula

(15)

Representación de una clase

Nombre

Atributos

Métodos

Nombre

Pers ona Ventana tam año : Area

vis ible : Booleano m os trar()

(16)

Representación en detalle

• Gran nivel de detalle

– Atributos – Ámbitos – Visibilidad – Abstracción – Presentaciones Ventana

+ tam año : Area = (100,100) # visible : Booleano

+ tam año-defecto : Rectángulo # tam año-m áxim o : Rectángulo - Xptr : Ventana

+ m ostrar() + ocultar() + crear()

(17)

Clases

ImpresoMatricula GestorMatriculas Asignatura Estudiante OfertaAsignatura Profesor AlgoritmoHorarios

(18)

Operaciones

• El comportamiento de una clase se representa mediante

operaciones

• Las operaciones se encuentran examinado los diagramas de

interacción

impreso

matricula matriculas gestor

Gestor Matriculas

añadir asig(Estud,Asigna)

3: añadir asignatura(juan, matem. 101)

(19)

Atributos

• La estructura de una clase se representa mediante sus atributos

• Los atributos se encuentran examinando las definiciones de las

clases, los requisitos del problema, y aplicando conocimiento del

dominio

OfertaAsignatura numero lugar hora

Cada oferta de

asignatura

tiene un número,

un lugar

y una hora

(20)

Clases

ImpresoMatricula GestorMatriculas Asignatura Estudiante OfertaAsignatura Profesor AlgoritmoHorarios añadirEstudiante(Asig, InfoEstud) carrera nombre numero de creditos abrir() añadirEst(InfoEstud) lugar abrir() añadirEst(InfoEstud) categoria

(21)

Relaciones

• Las relaciones constituyen el camino para que se comuniquen

los objetos

• Se examinan los diagramas de secuencia y colaboración para

determinar qué relaciones entre objetos tienen que existir para

que pueda darse el comportamiento deseado - si dos objetos

necesitan comunicarse, deber haber una relación entre ellos

• Hay tres tipos de relación:

– Asociación – Agregación – Dependencia

(22)

Relaciones

• Una asociación es una conexión bi-direccional entre clases

– Una asociación se representa como una lína que conecta las clases relacionadas

• Una agregación es una relación más fuerte: entre el todo y las

partes que lo componen

– Una agregación se representa como una línea que conecta las

clases relacionadas con un rombo junto a la clase que representa el todo

• Una relación de dependencia es una relación más débil: la qu

hay entre un cliente y un proveedor cuando el cliente no tiene

conocimiento semántico del proveedor

– Una dependencia se representa como una línea punteada que apunta del cliente al proveedor

(23)

Asociación

Compañía Persona < Empleo Empleado Emp leador

Rol

Nombre

Dirección

Dirección

(24)

Multiplicidad y navegación

• La multiplicidad define cómo varios objetos participan en las

relaciones

– La multiplicidad de una relación es el número de ejemplares de una clase relacionados con UNA instancia de otra clase

– Para cada asociación y agregación, hay dos decisioens de multiplicidad que tomar: una para cada extremo de la relación

• Aunque las asociaciones y las agregaciones son bi-direccionales

por defecto, a veces es deseable restringir la navegabilidad de

la relación a una sola dirección

• Si la navegabilidad está restringida, se añade una punta de

flecha para indicar la dirección de navegación

(25)

Multiplicidad

1 ó más

0 ó más

Com pañía * < Em pleo 1..* Persona Em pleado

Em pleador

1..* *

(26)

Ejemplos de multiplicidades

• Ejemplos de multiplicidades

• 0..1 • 1 • 0..* • * • 1..* • 1..6 • 1..3,7..10,15,19..*

(27)

Agregación

• Agregación

– Tipo especial de asociación

– Connotación semántica de posesión, contención o composición

Símbolo de agregación

(28)

Composición

• Composición

– Agregación con connotación de posesión

– Coincidencia en tiempo de vida entre el todo y las partes

Símbolo de

composición

Encabezado Barra Panel Ventana 1 2 1

(29)

Representación de la composición

Ventana D es lizador[2] : Barra Título : Encabezado C uerpo : Panel V entana

Título: E nc abez ado D es l iz ador : Barra

Cuerpo: P anel

1

1

(30)

Dependencia

• Dependencia

– Refleja relación semántica entre dos clases – No representa asociación entre ejemplares

– Refleja que el cambio de una clase puede afectar a la otra

Dependencia

ClaseA ClaseB ClaseC <<amiga>> <<ll ama>>

(31)

Multiplicidad y navegación

1 0..* 0..* 1 1 1..* 4 3..10 0..4 1 ImpresoMatricula GestorMatriculas Asignatura Estudiante OfertaAsignatura Profesor AlgoritmoHorarios añadirEstudiante(Asig, InfoEstud) carrera nombre numero de creditos abrir() añadirEst(InfoEstud) lugar abrir() añadirEst(InfoEstud) categoria

(32)

Herencia

• Herencia es la relación entre una superclase y sus subclases

• Hay dos maneras de encontrar la herencia:

– Generalización – Especialización

• Los atributos, operaciones, y/o relaciones comunes deben

representarse al nivel aplicable más alto de la jerarquía

(33)

Representación de la herencia

Form a

Polígono E lipse S pline

Form a

(34)

Encontrar relaciones

• Se encuentran relaciones examinando los diagramas de

interacción

– Si dos objetos "hablan" debe haber un camino para la comunicación Gestor Matriculas Asignatura Gestor Matriculas Matem. 101: Asignatura 3: añadir estud(juan)

(35)

Relaciones

ImpresoMatricula GestorMatriculas Asignatura Estudiante OfertaAsignatura Profesor AlgoritmoHorarios añadirEstudiante(Asig, InfoEstud) carrera nombre numero de creditos abrir() añadirEst(InfoEstud) lugar abrir() añadirEst(InfoEstud) categoria

(36)

Herencia

nombre UsuarioSistema ImpresoMatricula GestorMatriculas Asignatura Estudiante OfertaAsignatura Profesor AlgoritmoHorarios añadirEstudiante(Asig, InfoEstud) carrera nombre numero de creditos abrir() añadirEst(InfoEstud) lugar abrir() añadirEst(InfoEstud) categoria

(37)

Diagramas de objetos

• Capturan la vista de diseño estática de un sistema desde el

punto de vista de los objetos

• En los diagramas de objetos

– No aparece la herencia

(38)

Representación de un objeto

Nombre y tipo

Atributos y valores

Triángulo: Polígono

centro = (0,0)

vértices = ((0,0),(4,0),(4,3))

colorLínea = negro

colorFondo = blanco

(39)

Variaciones posibles

Objeto con nombre y tipo

Objeto con nombre y sin tipo

Objeto anónimo con tipo

Triángulo: Polígono

Triángulo

(40)

Estado de un Objeto

• Un diagrama de transición de estados muestra

– La evolución de una clase dada

– Los eventos que producen una transición de un estado a otro – Las acciones que resultan de un cambio de estado

• Los diagramas de transición de estado se crean para objetos

que tengan un comportamiento dinámico significativo

(41)

Diagrama de Transición de Estado

Initialization

Open

entry: Register student exit: Increment count

Closed Canceled

do: Initialize course

do: Finalize course do: Notify registered students

Add Student / Set count = 0

Add student[ count < 10 ]

[ count = 10 ] Cancel

Cancel

Cancel

(42)

La presencia física del software

• Los diagrams de coponentes ilustran la organización y

dependencias entre componentes software

• Un componente puede ser

– Un componente de código fuente

– Un componente en tiempo de ejecución – Un componente ejecutable

(43)

Diagrama de componentes

Course Course Offering Student Professor Course.dll People.dll Course User Register.exe Billing.exe Billing System

(44)

Despliegue del sistema

• El diagrama de despliegue muestra la configuración de los

nodos de procesamiento que participan en la aplicación y los

procesos software que residen en ellos

• El diagrama de despliegue muestra la distribución de

componentes a lo largo de la empresa.

(45)

Diagrama de despliegue

Matricula Base de datos Biblioteca Residencia Edificio Principal

(46)

Ampliando UML

• Se utilizan estereotipos para ampliar la notación de UML

• Se usan los esterereotipos para clasificar y ampliar asociaciones,

relaciones de herancia, clases y componentes

• Ejemplos:

– Estereotipos de clase: interfaz, control, entidad, excepcion – Estereotipos de componente: subsistema

Referencias

Documento similar

Esta asignatura permite, por un lado, conocer la estructura del sistema impositivo español, en sus tres niveles territoriales, estatal, autonómico y local, así

La asignatura proporciona al alumno una visión general de las relaciones laborales en su vertiente colectiva: la libertad sindical, la representación laboral en

Sigla Curso Grupo Horario Profesor Aula Cupo Modalidad.. DE-1004 Introducción al estudio del Derecho II 1 Lunes y Jueves: 07:00 a

GRADO: Segundo Semestre SEMANA: Del 19-23 de febrero de 2018 NOMBRE DEL PROFESOR: Hilario Alejandro Martínez Martínez. ASIGNATURA: INTRODUCCIÓN A LAS CIENCIAS SOCIALES

CE22 Saber aplicar las técnicas de análisis de datos (tanto las de la estadística clásica como las técnicas de data mining) a un conjunto de datos reales, mediante el empleo de

Analizar el desarrollo histórico de la educación, desde la época prehispánica hasta el comienzo del Porfiriato, a través del estudio de procesos históricos y de los momentos

a) The fallacy of publicity, practicado por aquellos profesionales que se dedican a maquillar, enmascarar o embadurnar las situaciones en lugar de establecer los mecanismos

Departamento / Área Facultad de Ciencias Económicas y Empresariales (ICADE) Despacho Consultoria Social Empresarial- OD 2016. Correo electrónico