Sei sulla pagina 1di 51

Modelos

Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Tema 1: Modelado de Software


Bases Metodológicas de los Sistemas Software
Gabriel Luque

Bases Metodológicas de los SS Tema 2: Modelado 1 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Contenido

1 Modelos

2 Introducción a UML

3 Diagramas de casos de usos

4 Diagrama de clases

5 Otros modelos y usos

Bases Metodológicas de los SS Tema 2: Modelado 2 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Modelos

1 Modelos

Introducción a UML

Diagramas de casos de uso

Diagramas de clases

Otros modelos y usos

Bases Metodológicas de los SS Tema 2: Modelado 3 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Necesidad de modelado
• Sistemas informáticos complejos

• Mostrar lo que nos interesa (no siempre nos interesa todos los detalles)
Bases Metodológicas de los SS Tema 2: Modelado 4 de 51
Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Necesidad de modelado
• Demasiadas tecnologías y plataformas … (¿Cuál elegir?)
• … que evolucionan muy rápido (¿Quedará desfasado?)

• La idea es que mi lógica de negocio fuera independiente de las


tecnologías
Bases Metodológicas de los SS Tema 2: Modelado 5 de 51
Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Necesidad de modelado
• Diferentes puntos de vista: cliente, desarrollador, analista, usuarios, …

• Mismo producto pero múltiples vistas


Bases Metodológicas de los SS Tema 2: Modelado 6 de 51
Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

El concepto de modelo
• Un modelo es una abstracción del sistema
• La abstracción permite ocuparnos de detalles relevantes para nuestro
propósito (oculta detalles para no confundir la visión global)
• Utilidad del modelo:
• Abordar sistemas complejos
• Forma unívoca de comunicación
• Diferentes formas de expresar el sistema para diferentes vistas
• Técnica muy empleada en múltiples campos

Bases Metodológicas de los SS Tema 2: Modelado 7 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Modelado del Software


• Características de los modelos:
• Abstracto: enfatiza elementos importantes y oculta los irrelevantes
• Comprensible: fácil de entender por los observadores
• Preciso: representa de forma fiel el sistema que modela
• Predictivo: se pueden obtener conclusiones sobre el sistema modelado
• Barato: mucho más barato y sencillo de construir que el sistema
• Lenguaje de modelado:
• Código fuente: complejo y poco abstracto
• Lenguaje natural: ambiguo y propenso a errores
• Lenguaje visual: fácil de interpretar y procesar

Bases Metodológicas de los SS Tema 2: Modelado 8 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Conceptos de modelado
• Sistema software: Descrito por un conjunto de modelos
• Modelo: Simplificación para entender mejor el sistema
• Diagrama: Representación gráfica del modelo
• Vista: Subconjunto de diagramas que analiza un aspecto

Bases Metodológicas de los SS Tema 2: Modelado 9 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Cómo se usan
• Para detectar errores y omisiones en el diseño antes de comprometer
recursos para la implementación:
• Analizar y experimentar
• Investigar y comparar soluciones alternativas
• Minimizar riesgos

• Para comunicarse con los “stakeholders”:


• Clientes, usuarios, implementadores, encargados de pruebas,
documentadores, etc.

• Guiar la implementación

Bases Metodológicas de los SS Tema 2: Modelado 10 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Introducción a UML

Modelos

2 Introducción a UML

Diagramas de casos de uso

Diagramas de clases

Otros modelos y usos

Bases Metodológicas de los SS Tema 2: Modelado 11 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

UML

• UML (Unified Modeling Language) es un lenguaje de modelado de


Software

• Proporciona un vocabulario y reglas para crear modelos software

• Suficientemente expresivo para cubrir distintas vistas de la arquitectura


del software a lo largo del ciclo de vida

• Mayor nivel de abstracción que un lenguaje de programación

Bases Metodológicas de los SS Tema 2: Modelado 12 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

UML
• UML es un lenguaje para visualizar los elementos de un gran sistema
software, facilitando
• La comunicación entre los participantes (incluidas herramientas) en el
desarrollo

• La comprensión de las soluciones (notación gráfica)

• El mantenimiento de las soluciones conceptuales a lo largo del tiempo


(documentación)

• La generación de código (o, al menos, de los esqueletos de la aplicación


y de las clases)

Bases Metodológicas de los SS Tema 2: Modelado 13 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

UML
• UML es un lenguaje para especificar software
• Se pueden construir modelos precisos, no ambiguos y completos
• Cubre las decisiones de análisis, diseño e implementación

• UML es un lenguaje para construir software


• No es un lenguaje de programación visual, pero sus modelos se pueden
conectar de forma directa a una gran variedad de ellos
• Correspondencias entre UML y lenguajes: Java, C++,...
• Ingeniería directa: generación de código
• Ingeniería inversa: reconstrucción de modelos

• UML es un lenguaje para documentar


• requisitos, arquitectura, diseño, código fuente, pruebas
Bases Metodológicas de los SS Tema 2: Modelado 14 de 51
Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Modelado con UML


• Los modelos UML se basan en diagramas

• Los diagramas UML contienen conceptos y relaciones entre ellos

• Diferentes diagramas para diferentes vistas

Bases Metodológicas de los SS Tema 2: Modelado 15 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagramas UML
• Diagramas estructurales y de comportamiento:
• Estructurales: qué objetos deben estar presentes
• Comportamiento: comportamiento dinámico de esos objetos

Bases Metodológicas de los SS Tema 2: Modelado 16 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Cómo trabajar con UML


• Usar todos (y únicamente) los diagramas y características necesarios
• Tener en cuenta los destinatarios
• Tener en cuenta el objetivo, qué se quiere modelar

• Crear componentes
• Separar lo qué hace un componente de cómo lo hace

• UML es una notación, no una metodología


• Hay múltiples metodologías con actividades comunes como:
• Toma de requisitos, Análisis, Diseño, Implementación, Pruebas
• Independiente de la metodología

Bases Metodológicas de los SS Tema 2: Modelado 17 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagramas de casos de uso

Modelos

Introducción a UML

3 Diagramas de casos de uso

Diagramas de clases

Otros modelos y usos

Bases Metodológicas de los SS Tema 2: Modelado 18 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Casos de uso
• Los casos de uso describen el comportamiento de un sistema desde el
punto de vista del usuario según acciones y reacciones
• Permiten definir los límites del sistema y las relaciones entre el sistema
y el entorno
• Son descripciones de la funcionalidad del sistema independientes de la
implementación
• Describen qué hace el sistema, no cómo lo hace
• Particionan el conjunto de necesidades atendiendo a la categoría de
usuario que participan en el mismo
• Suele ser el mecanismo esencial para indicar requisitos y
funcionalidades en la mayoría de las metodologías:
• RUP los usa como guía durante todo el proceso
• Son los elementos incluidos en el Product Backlog de SCRUM

Bases Metodológicas de los SS Tema 2: Modelado 19 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Elementos de un diagrama de casos de usos


• Un diagrama de casos de uso es un grafo constituido por:

• Actores

• Casos de uso

• Relaciones entre los elementos

• Delimitación del sistema

Bases Metodológicas de los SS Tema 2: Modelado 20 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Actores
• Un Actor:
• Representa a un tipo de usuario
• Es una agrupación uniforme de personas, sistemas o máquinas que
interactúan con el sistema de la misma forma
• Se representan con “stick man” (puede adecuarse al contexto)
• El nombre del actor describe el papel desempeñado
• La misma persona física puede interpretar diferentes actores

Bases Metodológicas de los SS Tema 2: Modelado 21 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Caso de uso
• Un caso de uso describe una interacción coherente y con un objetivo
de un actor con un sistema.
• Se representa con una elipse
• Ejemplo: Buscaminas
• Actor: Jugador
• Casos de uso:
• Iniciar partida
• Descubrir casilla
• Marcar casilla

Bases Metodológicas de los SS Tema 2: Modelado 22 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones entre elementos


• Relaciones de comunicaciones entre actores y casos de uso

• Relaciones de generalización/especialización entre actores

• Relaciones entre casos de uso:


• Generalización/especialización
• Inclusión
• Extensión

Bases Metodológicas de los SS Tema 2: Modelado 23 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones entre Actor y Caso de uso


• Es una relación de comunicación entre el sistema y los actores

• Representa la comunicación unidireccional o bidireccional

• Se representa gráficamente mediante una línea continua

Bases Metodológicas de los SS Tema 2: Modelado 24 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones entre Actores


• Relación de generalización: se pueden definir categorías generales de
actores y especializarlos

• Esta relación se representa gráficamente mediante una flecha con la


cabeza hueca dirigida al actor más general

Bases Metodológicas de los SS Tema 2: Modelado 25 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones entre Casos de usos. Generalización


• Un caso de uso (hijo) hereda el comportamiento y significado de otro
caso de uso (padre)
• El caso de uso hijo puede añadir comportamiento o bien redefinir el
del padre. Puede colocarse donde aparezca el padre
• Ejemplo: un caso de uso Validar usuario puede tener como hijos los casos
de uso Comprobar Clave y Comprobar firma
• Se representa gráficamente con una flecha hueca dirigida al caso de
uso padre

Bases Metodológicas de los SS Tema 2: Modelado 26 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones entre Casos de usos. Inclusión


• Una relación de inclusión (include) denota que un caso de uso está
incluido en otro
• Se da cuando un caso de uso se utiliza por sí mismo y, además, otros
casos de uso incluyen siempre esa funcionalidad
• También aparecen cuando varios casos comparten una funcionalidad

• Gráficamente se representa mediante una flecha etiquetada con el


estereotipo <<usa>> (o <<include>>) que parte del caso de uso base

Bases Metodológicas de los SS Tema 2: Modelado 27 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones entre Casos de usos. Extensión


• Una relación de extensión representa un comportamiento opcional de
un caso de uso
• Se puede indicar mediante un “punto de extensión” (condición) cuando
se amplia el caso de uso
• El caso de uso base, por tanto, bajo ciertas condiciones incorpora el
comportamiento de otro caso de uso en un punto concreto de su
especificación denominado punto de extensión
• Se representa gráficamente mediante una flecha etiquetada con el
estereotipo <<extiende>> (o <<extend>>) que llega al caso de uso base

Bases Metodológicas de los SS Tema 2: Modelado 28 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagramas de clases

Modelos

Introducción a UML

Diagramas de casos de uso

4 Diagramas de clases

Otros modelos y usos

Bases Metodológicas de los SS Tema 2: Modelado 29 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagrama de clases
• Describe la estructura de un sistema mostrando las clases del sistema,
sus atributos, operaciones, y las relaciones entre los objetos.

Bases Metodológicas de los SS Tema 2: Modelado 30 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Clases
• Describe la estructura y el comportamiento de objetos que tienen las
mismas características y semánticas
• La estructura se describe mediante sus atributos
• El comportamiento mediante sus operaciones

• Se representan con rectángulos con tres partes:


• Nombre (obligatorio)
• Atributos (opcionales)
• Operaciones o métodos (opcionales)

Bases Metodológicas de los SS Tema 2: Modelado 31 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Atributos
• Representan la información almacenada en una clase
• La descripción se compone de:
• Visibilidad
(público +, privado -, derivado /)
• Nombre (minúscula)
• Tipo
• Multiplicidad
(cantidad [X], indeterminado [*], rango[X..Y])
• Características (opcional)

Bases Metodológicas de los SS Tema 2: Modelado 32 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Atributos: Tipos
• Tipos simples: boolean, int, String …
• Otras clases definidas en nuestro diagrama de clases:

• También existen los tipos enumerados:


• Los atributos de dichos tipos sólo pueden adquirir los valores
determinados en el tipo enumerado

Bases Metodológicas de los SS Tema 2: Modelado 33 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Operaciones
• Especifican (principalmente) las acciones que las instancias de una
clase pueden realizar
• Su nombre comienza con minúscula
• Tiene visibilidad
• Pueden devolver algo (función), o simplemente realizar cambios en el
objeto (procedimiento)

Bases Metodológicas de los SS Tema 2: Modelado 34 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Generalización y clases abstractas


• Al igual que hacíamos con los actores (diagramas de casos de usos)
podemos especializar las clases (misma notación)

• Las subclases adquieren los atributos/operaciones de la súperclase


• Además, pueden definir nuevos

• Las clases abstractas representan clases que no pueden ser


instanciadas:
• Se usan como superclases de clases no abstractas
• Se representan con letra cursiva

Bases Metodológicas de los SS Tema 2: Modelado 35 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Generalización y clases abstractas

Bases Metodológicas de los SS Tema 2: Modelado 36 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones
• Son los mecanismos básicos de comunicación entre clases
• Tipos:
• Asociación
• Agregación
• Composición
• Especialización (ya vista)
• Pueden ser unidireccionales o bidireccionales
• Se caracterizan por (opcionales):
• Nombre
• Roles
• Multiplicidad
• Navegación

Bases Metodológicas de los SS Tema 2: Modelado 37 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones
• Asociación
• Relación de uso persistente
• Permite a los objetos de una clase contactar los objetos de otra clase
para acceder a sus datos y su comportamiento
• Se puede leer como “un objeto está asociado a otro”
• Composición
• Relación fuerte
• Se representa con un rombo con relleno
• Modela la relación entre un todo y las partes
• Se puede leer como “… es parte de …”
• El tiempo de vida del objeto incluido está condicionado por el tiempo del
vida del que lo incluye
• El objeto incluido no tiene sentido sin el que lo incluye

Bases Metodológicas de los SS Tema 2: Modelado 38 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Relaciones
• Agregación
• Relación más débil que la anterior
• Se representa con un rombo sin relleno
• Se puede leer como “… posee un … ”
• El tiempo de vida del objeto incluido no está condicionado por el tiempo
del vida del que lo incluye
• El objeto incluido sí tiene sentido sin el que lo incluye
• Clases de asociación
• Modela relaciones complejas
• Suelen codificarse con tres clases:
2 relacionadas +
1 describe asociación

Bases Metodológicas de los SS Tema 2: Modelado 39 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Ejemplo (resumen)

Bases Metodológicas de los SS Tema 2: Modelado 40 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Otros modelos y usos

Modelos

Introducción a UML

Diagramas de casos de uso

Diagramas de clases

5 Otros modelos y usos

Bases Metodológicas de los SS Tema 2: Modelado 41 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Otros modelos
• Vimos que UML incorpora una cantidad de diagramas:
• Objetivo (estructura o comportamiento)
• Nivel de abstracción
• Destinatario

Bases Metodológicas de los SS Tema 2: Modelado 42 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagrama de componentes
• Un diagrama de componentes muestra los elementos de un diseño de un
sistema de software
• Un diagrama de componentes permite visualizar la estructura de alto
nivel del sistema y el comportamiento del servicio que estos
componentes proporcionan y usan a través de interfaces. Que se agrupan
en puertos y se conectan mediante conectores

Bases Metodológicas de los SS Tema 2: Modelado 43 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagrama de estados
• Un Diagrama de Estados muestra una Máquina de Estados
• Una máquina de estados es un comportamiento que especifica las
secuencias de estados por las que pasa un objeto a lo largo de su vida
en respuesta a eventos, junto con sus respuestas a esos eventos
• Un diagrama de estados muestra el flujo de control entre estados (en
qué estados posibles puede estar un objeto y como se producen los
cambios entre dichos estados)

Bases Metodológicas de los SS Tema 2: Modelado 44 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagramas de interacción
• Son diagramas de instancias en los que se muestra la interacción entre
distintos objetos del sistema
• Diferentes tipos de diagramas de interacción:
• Diagramas de secuencia, de colaboración, temporales, de vista general
de interacción

Bases Metodológicas de los SS Tema 2: Modelado 45 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagrama de Actividades
• Un diagrama de actividades muestra el flujo de control general de un
sistema, modelando su lógica
• Modela una secuencia de acciones y condiciones tomadas dentro de un
proceso

Bases Metodológicas de los SS Tema 2: Modelado 46 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Diagrama de despliegue
• El Diagrama de Despliegue se utiliza para modelar la disposición física
de los artefactos software en nodos (usualmente plataforma de
hardware o de comunicaciones)

Bases Metodológicas de los SS Tema 2: Modelado 47 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Model-driven architecture
• Meta: el uso de modelos formales para ayudarnos a tratar con la
complejidad e independencia de los sistemas complejos

• Basado en estándares: Unified Modeling Language (UML), Meta Object


Facility (MOF), XML Metadata Interchange (XMI), y Common
Warehouse Metamodel (CWM)

• Proceso:
• Mediante algún lenguaje de modelado (como UML) se crean modelos
independientes de la plataforma (PIM) del sistema
• Esos modelos se transforman a modelos específicos de la plataforma
(PSM) usando reglas formales.

Bases Metodológicas de los SS Tema 2: Modelado 48 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Model-driven architecture
• Con este acercamiento el enfoque y los artefactos fundamentales son
los modelos (y no programas)

• Ventajas:
• Conceptos del modelo más cercanos al dominio del problema y menos
ligado a la tecnología de implementación
• Los modelos son más fáciles de entender, comprender y mantener

• Tecnología:
• Se generan automáticamente programas completos a partir de modelos
• Se “verifican” automáticamente modelos en un ordenador

Bases Metodológicas de los SS Tema 2: Modelado 49 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Resumen
• Qué es un modelo y cómo se usa en el modelado software

• Un lenguaje de modelado: UML

• Un ejemplo de modelo de comportamiento: diagramas de caso de uso

• Un ejemplo de modelo estructural: diagrama de clases

• Otros modelos

• Usos avanzados de los modelos

Bases Metodológicas de los SS Tema 2: Modelado 50 de 51


Modelos
Introducción a UML
Diagramas de casos de uso
Diagramas de clase
Otros modelos y usos

Tema 2: Modelado Software


Bases Metodológicas de los Sistemas Software
Gabriel Luque

Bases Metodológicas de los SS Tema 2: Modelado 51 de 51

Potrebbero piacerti anche