Está en la página 1de 9

18/06/2018

EL LENGUAJE UNIFICADO DE ¿Por qué modelamos?


MODELADO: UML
•El modelado es una parte central de todas las
“El Lenguaje unificado de modelado” 2da
edición. actividades que conducen a la producción de
Booch, Grady, Rumbaugh, James, Jacobson, Ivar.
Cap. 1, 2, 4, 5, 6, 7, 8, 17 y 18. un buen software.
•Como tal la ingeniería software debe basarse
“UML 2” Jim Arlow - Ila Neustadt en el modelado como una parte central de toda
Anaya multimedia, 2006.
Cap. 1, 7, 4. la actividades que conducen a la producción de
software de calidad.
Introducción a UML - Marisa Pérez
3

¿Qué es un modelo? Objetivos del modelado


“Es un simplificación de la realidad” “Se construyen modelos para comprender
mejor el sistema que se está desarrollando”
.Proporciona planos de un sistema (detallados o grales)
Logramos:
.incluyen elementos que tienen gran influencia y omite los
•Visualizar cómo es o queremos que sea un
que no son relevantes para el nivel de abstracción dado.
•Todos los sistemas pueden ser descriptos desde
sistema.
diferentes perspectivas utilizando diferentes modelos y •Especificar la estructura o el comportamiento
cada modelo es una abstracción semánticamente cerrada de un sistema.
del sistema. •Proporcionan plantillas que guían en la
•Los modelos pueden ser construcción de un sistema.
• Estructurales (destacan la organización del sistema) •Documentar las decisiones que adoptamos.
• de Comportamiento (resalta la dinámica del sistema).

5
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez
4

Principios del modelado Formas de enfocar un modelo


1. La elección de qué modelos crear tiene gran influencia En el diseño de un sistema software hay dos formas de
enfocar un modelo:
sobre cómo se encara un problema y cómo se da forma a
• Perspectiva algorítmica: el bloque principal de construcción es
la solución. el procedimiento o función. Los desarrolladores se centran en
cuestiones de control y descomposición de algoritmos grandes
2. Todo modelo puede expresarse con diferentes niveles de en otros más pequeños.
precisión. • Perspectiva Orientada a Objetos: el bloque principal de
construcción es la Clase o el Objeto. Un objeto es una cosa,
3. Los mejores modelos están ligados a la realidad. generalmente extraída del vocabulario del dominio del problema
o de la solución y una clase es una descripción de un conjunto
4. Un único modelo o vista no es suficiente. Cualquier de objetos que son lo suficientemente similares para compartir la
especificación.
sistema se abordará mejor a través de un pequeño Todo objeto tiene una identidad (puede distinguirse de otros
objetos), un estado (datos asociados a él) y un comportamiento
conjunto de modelos casi independientes con múltiples (a un objeto se le pueden hacer cosas y él puede hacer cosas a
otro objeto).
puntos de vista.
6

Introducción a UML - Marisa Pérez


Introducción a UML - Marisa Pérez

1
18/06/2018

Presentación de UML Presentación de UML


¿Qué es UML? UML es un Lenguaje.
Unified Modeling Language - Lenguaje de Modelado Unificado. • Proporciona un vocabulario y reglas para combinar las
• Es un lenguaje estándar para escribir planos (modelos) de palabras para hacer posible la comunicación.
software. • Como lenguaje de modelado permite la representación
• Es un lenguaje muy expresivo que cubre todas las vistas conceptual y física de un sistema.
necesarias para desarrollar y desplegar todo tipo de sistemas. • El vocabulario y las reglas indican cómo crear y leer modelos
• UML es independiente del proceso de desarrollo de software bien formados, pero el proceso de desarrollo dirá qué modelos
aunque para utilizarlo óptimamente se recomienda el RUP. deben crearse y cuándo.

9
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Presentación de UML Modelo conceptual de UML


UML es un Lenguaje para…
• Visualizar: permite representar y comunicar ideas mediante Para comprender UML, se necesita adquirir un modelo
un modelo explícito que facilita la comunicación, trasciende
el lenguaje textual y presenta una semántica bien definida conceptual del lenguaje. Esto requiere aprender a utilizar tres
detrás de cada símbolo de UML.
elementos principales:
• Especificar: para construir modelos precisos, no ambiguos y
completos. A. Bloques básicos de construcción de UML
• Construir: no es un lenguaje de programación pero permite
B. Reglas que dictan cómo se pueden combinar esos bloques
trasladar en forma directa a algunos lenguajes de
programación. básicos-
• Documentar: todos los artefactos construidos durante un
proyecto. C. Y algunos mecanismos comunes que se aplican a través
de UML.
…los artefactos de un sistema con gran cantidad de software.
10

11
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

A- Bloques de construcción de UML:


A- Bloques de construcción de UML: 1- Elementos
Existen en UML tres clases de bloques básicos:
1. Elementos son abstracciones
2. Relaciones que ligan estos elementos A-Son los nombres de los B- Son las partes dinámicas de
modelos UML. Representan los modelos. Son los verbos del
las partes estáticas de un modelo y representan
3. Diagramas que agrupan colecciones interesantes de modelo. Colectivamente se comportamiento en el tiempo y
denominan clasificadores. el espacio. Hay tres tipo:
interacciones, máquinas de
elementos estados y actividades.

C- Son las partes D- Son las partes explicativas


organizativas. Establecen de UML. Son comentarios
las divisiones en que se para describir, clarificar o
puede descomponer un observar cualquier elemento
modelo. Tipo principal: los de un modelo. Tipo principal:
paquetes. nota.
12

13

Introducción a UML - Marisa Pérez


Introducción a UML - Marisa Pérez

2
18/06/2018

A- Bloques de construcción de UML: A- Bloques de construcción de UML:


1- Elementos estructurales 1- Elementos estructurales

14

15
Introducción a UML - Marisa Pérez
Introducción a UML - Marisa Pérez

A- Bloques de construcción de UML:


A- Bloques de construcción de UML: 1- Elementos agrupación
1- Elementos comportamiento
Son las partes organizativas de los modelos
UML.
Hay un elemento de agrupación principal,
los paquetes. Un paquete es un mecanismo
de propósito general para organizar
elementos (estructurales, de
comportamiento, e incluso otros elementos
de agrupación ) en grupos.

Al contrario de los componentes (que


existen en tiempo de ejecución), un paquete
es puramente conceptual (sólo existe en
tiempo de desarrollo).
16

Introducción a UML - Marisa Pérez


Introducción a UML - Marisa Pérez 17

A- Bloques de construcción de UML: A- Bloques de construcción de UML:


1- Elementos anotación 2- Relaciones

Son las partes explicativas de los modelos UML. Una relación es una conexión entre elementos. Para diferenciar
las distintas relaciones se utilizan diferentes tipos de líneas.
Hay 4 tipos de relaciones:
Hay un tipo principal llamado Nota.
• Dependencia,
• Asociación,
Son comentarios que se pueden aplicar para describir,
clarificar y hacer observaciones sobre cualquier elemento de • Generalización
un modelo.
• Realización
19

Introducción a UML - Marisa Pérez 18 Introducción a UML -


Marisa Pérez

3
18/06/2018

A- Bloques de construcción de UML: A- Bloques de construcción de UML:


2- Relaciones: dependencia 2- Relaciones: asociación

20

21
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

A- Bloques de construcción de UML: A- Bloques de construcción de UML:


2- Relaciones: generalización 3- Diagramas.
Un diagrama es la representación gráfica de un conjunto de
elementos, visualizando la mayoría de las veces como un grafo
conexo de nodos (elementos) y arcos (relaciones).

Los diagramas se dibujan para visualizar el sistema desde


diferentes perspectivas, de forma que un diagrama es una
proyección de un sistema.

El mismo elemento puede aparecer en todos los diagramas, en


unos pocos diagramas (el caso más común) o en ningún diagrama.
22

23
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

A- Bloques de construcción de UML: B- Reglas de UML


3- Diagramas.
UML 2.0 incluye trece tipos de diagramas: Los bloques de construcción no pueden combinarse de cualquier
Estáticos: manera.
• Diagramas de clases El modelo debe ser semánticamente consistente y estar en armonía
• Diagramas de objetos
• Diagramas de componentes
con todos sus modelos relacionados.
• Diagramas de estructura compuesta Tiene reglas sintácticas y semánticas para:
• Diagramas de despliegue • Nombres: como llamar a los elementos, relaciones y diagramas.
• Diagramas de paquetes • Alcance: el contexto que da significado preciso a un nombre.
De comportamiento:
• Diagramas de casos de uso • Visibilidad: cómo se pueden ver y utilizar esos nombres con otros.
• Diagramas de secuencia • Integridad: cómo se relacionan apropiada y consistentemente unos
• Diagramas de comunicación elementos con otros.
• Diagramas de estados
• Diagramas de actividades
• Ejecución: qué significa ejecutar o simular un modelo dinámico.
• Diagramas de tiempos Los modelos pueden llegar a ser: abreviados, incompletos e
• Diagramas de visión global de interacciones inconsistentes.
24

25

Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

4
18/06/2018

C- Mecanismos comunes en UML Arquitectura


La visualización, especificación, construcción y documentación de
Existen cuatro mecanismos comunes que se aplican de forma
consistente a través de todo el lenguaje: un sistema software requiere que el sistema sea visto desde varias
• Especificaciones: proporcionan una base semántica que incluye a todas perspectivas: usuarios finales, analistas, desarrolladores,
las partes de todos los modelos de un sistema, y cada una de las partes está
relacionada con las otras de manera consistente integradores de sistemas, encargados de prueba, encargados de la
• Adornos: para incluir otros detalles además del nombre, atributos y
operaciones. Por ejemplo: si es abstracta, la visibilidad de sus atributos y documentación técnica y jefes de proyectos.
operaciones
La arquitectura de un sistema es el artefacto más importante que
• Divisiones comunes: clase/objeto, interfaz-implementación,
tipo/rol pueda emplearse para manejar diferentes puntos de vista y
• Mecanismos de extensibilidad: estereotipos, valores etiquetados
controlar el desarrollo a lo largo de todo el ciclo de vida.
y restricciones.

26

27
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Arquitectura Arquitectura
Es un conjunto de decisiones significativas sobre: Se puede describir a través de cinco vistas interrelacionadas:
• La organización de un sistema software.
• La selección de elementos estructurales y sus interfaces a
través de los cuales se constituye el sistema.
• Su comportamiento, cómo se especifican las
colaboraciones entre esos elementos.
• La composición de esos elementos estructurales y de
comportamiento en subsistemas progresivamente más
grandes.
•El estilo arquitectónico que guía esta organización: los
elementos estáticos y dinámicos y sus interfaces, sus
colaboraciones y su composición.
28

29
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Arquitectura Clases
Vista de casos de uso: comprende los casos de uso que describen Son los bloques de construcción más importantes de cualquier
el comportamiento del sistema como es percibido por los usuarios sistema orientado a objetos.
finales, analistas y encargados de pruebas. Una clase es una descripción de un conjunto de objetos que
Vista de diseño: comprende las clases, interfaces y colaboraciones comparten los mismos atributos, operaciones, relaciones y
que forman el vocabulario del problema y de la solución. semántica.
Vista de interacción: muestra el flujo de control entre sus Se utilizan para capturar el vocabulario del sistema en desarrollo
diversas partes, incluyendo los posibles mecanismos de
concurrencia y sincronización.
Vista de implementación: comprende los artefactos que se
utilizan para ensamblar y poner en producción el sistema físico.
Vista de despliegue: contiene los nodos que forman parte de la
topología hardware sobre la que se ejecuta el sistema.
30

31

Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

5
18/06/2018

Clases Clases
Nombre: que la distingue de otras clases. Organización de atributos y operaciones: no es necesario
Atributos: es una propiedad de una clase mostrar todos los atributos y todas las operaciones. En algunos
identificada con un nombre. Una clase puede tener casos no se debe (porque son muchos) y por eso se puede abreviar
ningún atributo o varios. Representa alguna una clase.
propiedad del elemento que se está modelando que
es compartida por todos los objetos de esa clase.
Operaciones: es la implementación de un servicio
que puede ser requerido a cualquier objeto de la
clase para que muestre su comportamiento. Es una
abstracción de algo que se puede hacer a un objeto
y que es compartido por todos los objetos de una Responsabilidades: es un contrato o una obligación de una clase.
clase. Puede tener ninguna o muchas.
Se pueden representar en un compartimiento separado al final del
ícono de la clase.

32

33
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Clases: Relaciones Clases: Relaciones


Las relaciones más importantes entre clases Asociación: es una relación estructural que especifica que los
son: objetos de un elemento se están conectados con los objetos de otro.
• Dependencia: representan relaciones de
uso entre clases. Nombre Rol Multiplicidad Agregación

• Generalización: conectan clases


generales con sus especializaciones.

• Asociaciones: representan relaciones


estructurales entre objetos.
34

35
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Diagrama de clases Diagrama de clases


Muestra un conjunto de clases, interfaces y colaboraciones, así Usos comunes:
como sus relaciones. • Para modelar el vocabulario de un sistema: qué abstracciones
son parte del sistema.
• Para modelar las colaboraciones simples: permiten visualizar y
especificar un conjunto de clases y sus relaciones.
• Para modelar un esquema lógico de bases de datos: puede servir
como un plano para el diseño conceptual de una base de datos.

Modelan la vista de diseño estática de un sistema.


36

37

Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

6
18/06/2018

Casos de Uso Casos de Uso


Un caso de uso especifica un comportamiento deseado Un caso de uso describe un conjunto de secuencias
del sistema. de acciones; cada secuencia representa un posible
comportamiento del sistema.
Representan los requisitos funcionales del sistema.
Involucra la interacción de actores y el sistema.
“Un caso de uso especifica un conjunto de
Actores: roles que pueden jugar los usuarios. Pueden
secuencias de acciones, incluyendo variantes, que el
ser personas o sistemas.
sistema puede ejecutar y que produce un resultado
observable de valor para un particular actor.” Puede tener variantes: versiones especializadas, un
(Definición en UML) UC que extiende a otro o un UC que incluye a otro.
Un caso de uso realiza un trabajo tangible.

Describen qué hace el sistema, no cómo lo hace.

38

39
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Casos de Uso Casos de Uso - ACTORES


Un actor representa un conjunto coherente de
actor caso de uso
roles que juegan los usuarios de los casos de uso al
interaccionar con el sistema.

Roles jugados por personas, dispositivos, u otros


Gestionar Préstamos
Responsable sistemas.
Prestamos

El tiempo puede ser un actor (“procesos iniciados


asociación automáticamente por el sistema”).

No forman parte del sistema.


40

41
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Casos de Uso - ACTORES Casos de Uso – Descripción de un UC


Un usuario puede jugar diferentes roles. Son documentos de texto, no son diagramas.
El modelado de casos de uso consiste en escribir
En la realización de un caso de uso pueden texto, no en dibujar diagramas.
intervenir diferentes actores.
Describir el flujo de eventos
Un actor puede intervenir en varios casos de uso. Texto estructurado informal
Texto estructurado formal (plantillas)
Pseudocódigo
Identificar casos de uso mediante actores y Notaciones gráficas: diagramas de secuencia
eventos externos. Debe ser legible y comprensible para un usuario no
Un actor necesita el caso de uso y/o participa en experto.
él. Debe indicar: actores, flujos principal y excepcionales.
42

43

Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

7
18/06/2018

Casos de Uso – Organización de UC Casos de Uso


Extensión
Tres tipos de relaciones:
«extend» Hacer Pedido
Generalización Registrar Pedido
(establecer Urgente
Un UC hereda el comportamiento y significado
prioridad)
de otro.
Inclusión «include»
Comprobar clave
Un UC base incorpora explícitamente el Inclusión
comportamiento de otro en algún lugar de su Cliente Validar Usuario
secuencia. Generalización
Extensión «include»
Un UC base incorpora implícitamente el Examinar retina

comportamiento de otro UC en el lugar Consultar Pedido


especificado indirectamente por este otro UC.

44

45
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Casos de Uso – Organización de UC Casos de Uso – Organización de UC


Relación de inclusión Relación de extensión
Permite factorizar un comportamiento en un caso de El caso de uso base incluye una serie de puntos de extensión.
uso aparte y evitar repetir un mismo flujo en diferentes Sirve para modelar:
casos de uso. •la parte opcional del sistema, o
•un subflujo que sólo se ejecuta bajo ciertas condiciones.
Relación <<include>>.
Es una simple relación de inclusión, Relación <<extend>>.
es decir, los escenarios o situaciones Este tipo de relación refleja situaciones
posibles detalladas en un caso de uso particulares en un caso de uso que pueden
están incluidas en otro caso de uso ser tratadas (extendidas) por otro.
(aquel del que, gráficamente, En la descripción del caso de uso que
parte la flecha). es extendido debe haber una forma de
indicar en que punto entra en juego
46

47
el caso de uso que lo extiende (punto de extensión).
Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

Casos de Uso Casos de Uso


Identificación de casos de uso Cuestiones útiles para encontrar casos de
uso.
Basados en la identificación de los actores: ¿Qué tareas o funciones principales realiza cada
Identificar actores participantes en el sistema.
actor?
Identificar para cada actor los procesos que inicia o
¿Qué información del sistema debe adquirir,
en los que participa. producir o cambiar el actor?
¿Tendrá que informar el actor al sistema sobre
Basados en la identificación de los eventos: cambios en el entorno externo?
Identificar los eventos externos a los que el sistema
¿Qué información desea obtener el actor del
debe responder. sistema?
Relacionar eventos con actores y casos de uso
¿Desea el actor ser informado acerca de

cambios inesperados en el sistema?


48

49

Introducción a UML - Marisa Pérez Introducción a UML - Marisa Pérez

8
18/06/2018

Analizar el siguiente diagrama de casos de


uso con relaciones de inclusión y extensión y
comprender las relaciones entre casos de uso.

<<extend>>

Realizar Pedido Buscar en Catalogo


Comercial
<<include>>
<<include>>
<<include>>

Introducir Datos Cliente Seleccionar Producto Establecer Pago

50
Introducción a UML -
Marisa Pérez

También podría gustarte