33
INTRODUCCIÓN A UML Ing. Andrés M García O

Introducción A UML Parte1

Embed Size (px)

Citation preview

Page 1: Introducción A UML Parte1

INTRODUCCIÓN A UML

Ing. Andrés M García O

Page 2: Introducción A UML Parte1

Proceso de desarrollo de software

Es el procedimiento mediante el cual se organizan todas las actividades relacionadas con la creación, presentación y mantenimiento de los sistemas de software.

Pasos a nivel macro para desarrollar software.

Ing. Andrés M García O

Planeación y

elaboración

Construcción Aplicación

Page 3: Introducción A UML Parte1

Proceso de desarrollo de softwarePasos de desarrollo Iterativo

Ing. Andrés M García O

Análisis

Diseño

Programación

Pruebas

Iteración 1

Análisis

Diseño

Programación

Pruebas

Iteración 2

Análisis

Diseño

Programación

Pruebas

Iteración n

Page 4: Introducción A UML Parte1

Que son Métodos y Metodología en el desarrollo de software?

Un Método es un proceso estructurado para generar un conjunto de modelos que describen los aspectos de un sistema de software en desarrollo

Una metodología es una colección de métodos aplicados a lo

largo del ciclo de vida del desarrollo de software y unificados por alguna filosófica.

Ing. Andrés M García O

Page 5: Introducción A UML Parte1

Metodologías aplicadas en el desarrollo de software Diseño estructurado descendente

◦ Yourdon y Constantine◦ Wirth◦ Dahl, Dijkstra y Hoare

Diseño dirigido por estructura de datos◦ Jackson◦ Warnier y Orr

Diseño orientado a objetos son las que siguen el modelo de objetos◦ Booch ◦ OMT (Rumbaugh et al.)◦ Objectory (Jacobson et al.)

Ing. Andrés M García O

Schlaer-MellorCoad/YourdonFusion (Coleman et al.)

Page 6: Introducción A UML Parte1

Que es UML?Significa (Unified Modeling Languaje) Lenguaje Unificado deconstrucción de modelos respaldado por el OMG (Object Managment Group).

El UML se dice que es unificado porque integra los métodos de Booch, Rumbaught (OMT) y Jacobson empleados para diseño de software.

Es un lenguaje que permite modelar, construir y documentar artefactos que forman un sistema software orientado a objetos.

Es un estándar en la industria de las TI para implementar ciclos de desarrollo.

Ing. Andrés M García O

Page 7: Introducción A UML Parte1

Que es artefacto? Un artefacto es una información que es utilizada o producida

mediante un proceso de desarrollo de software. Pueden ser artefactos un modelo, una descripción o un software. Los artefactos de UML se especifican en forma de diagramas,

éstos, junto con la documentación sobre el sistema constituyen los artefactos principales que el modelador puede observar.

UML utiliza los diagramas o artefactos gráficos para obtener estos distintos puntos de vista de un sistema:◦ Diagramas de Implementación. ◦ Diagramas de Interacción o comportamiento. ◦ Diagramas de Casos de uso. ◦ Diagramas de Clases.

Ing. Andrés M García O

Page 8: Introducción A UML Parte1

Puntos de vista aplicados en UML

Ing. Andrés M García O

Punto de vista de Implementación

- Componentes

Punto de Vista Estructural

-Clases-Objetos

Punto de vistacomportamiento

- Secuencias- Colaboración- Diagrama de estados

Punto de vitas de usuario

Casos de usoPunto de vista de ambiente

- DespliegueY visualización

Page 9: Introducción A UML Parte1

Diagramas del UML

Ing. Andrés M García O

Page 10: Introducción A UML Parte1

Captura de requerimientosLos requerimientos describen las necesidades o deseos de unProducto se debe definir lo siguiente:

◦ Clientes (Usuarios del sistema)◦ Funciones del sistema ◦ Metas (Objetivos que se quieren lograr con el software)◦ Atributos del sistema (Características o dimensiones del

sistema ejemplo: Facilidad de uso, tiempo de respuesta, plataformas en las que corre, tipo de interfaz gráfica)

◦ Los demás aspectos fundamentales que definan los objetivos y las metas que se quieren logar con el software.

Ing. Andrés M García O

Page 11: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

◦ Clientes: Publico segmentado entre 15 y 35 años, que tienen acceso a

internet, disponen de un computador moderno, disponen de tiempo de esparcimiento y les gustan los videojuegos casuales.

◦ Metas: Las metas de este proyecto de este video juego son las siguientes:

◦ Lograr un videojuego online que brinde diversión y que impacte al publico objetivo.◦ Tener una plataforma que soporte una comunidad de casual gamers de este

producto.◦ Obtener una alta fluencia de publico llegar a los 5 mil usuarios durante el primer

año de funcionamiento.

Ing. Andrés M García O

Page 12: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

◦ Funciones del sistema: Después de una lluvia de ideas y de haberse hecho un estudio de mercado se determino crear un juego de dinamo 3d online que permita las siguientes funciones: Debe manejar inscripciones de usuarios. Almacena datos de usuarios. Establece comunicación online. Debe permitir personalizar un avatar. Debe manejar interacción del teclado. Debe manejar interacción del mouse. Debe manejar colisiones con comportamiento físico. Debe incrementar niveles de dificultad. Publicar records que inciten a otros a superarlos.

Ing. Andrés M García O

Page 13: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

◦ Categorías de Funciones del sistema:

Ing. Andrés M García O

Categoría de la función

Significado

Evidente Debe realizarse y el usuario debería saber que la realizó

Oculta Debe realizarse aunque no es visible para el usuario.

Page 14: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

Ing. Andrés M García O

Función Categoría Ref

Debe manejar inscripciones de usuarios. Evidente R1.1

Almacena datos de usuarios. Oculta R1.2

Establece comunicación online. Oculta R1.3

Debe permitir personalizar un avatar. Evidente R1.4

Debe configurar el juego. Evidente R1.8

Publicar records que inciten a otros a superarlos. Evidente R1.9

Ref 1 Funciones básicas

Page 15: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

Ing. Andrés M García O

Función Categoría Ref

Iniciar partida Evidente R2.1

Debe manejar colisiones con comportamiento físico. Oculta R2.2

Debe manejar interacción del teclado. Evidente R2.3

Debe manejar interacción del mouse. Evidente R2.4

Mostrar puntaje. Evidente R2.5

Hacer anotación Evidente R2.6

Debe incrementar niveles de dificultad. Evidente R2.7

Ref 2 Funciones de ejecución del juego

Page 16: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

◦ Atributos del sistema: Debe ser intuitivo, fácil de entender y manejar. Debe correr en cualquier navegador y sistema operativo. La IU debe ser impactante con objetos 2D o 3D. Debe ser multijugador máximo 4 players mìnimo 2. Debe tener un tiempo de respuesta.

Ing. Andrés M García O

Page 17: Introducción A UML Parte1

Ejemplo de captura de requerimientos para un videojuego online

Ing. Andrés M García O

Atributos Descripción y detallesDebe ser intuitivo, fácil de entender y manejar.

El flujo de funcionamiento es facil e intuitivo.

Debe correr en cualquier navegador y sistema operativo.

SO:Windows, Linux, MacNavegador:Explorer, Chrome, Motzilla

La IU debe ser impactante con objetos 3D. Ventanas y objetos de UI se presentan en metáfora con efectos visuales en 3D

Debe ser multijugador Mínimo 1 player, Máximo 4 players

Debe tener un tiempo de respuesta. Cuando un usuario se registre o actualice sus datos debe demorar maximo 10 segundos en mostrar la acción ejecutada

Page 18: Introducción A UML Parte1

Casos de Uso

◦ El caso de uso es un documento que describe la secuencia de los eventos del actor o los actores, describiendo en la situación que cuando y como ocurre.

◦ Ejemplo de un caso de uso Inscribir usuario :

◦ Caso de uso: Inscribir usuario◦ Actores: Jugador◦ Tipo de caso: Primario (Es fundamental que pase)◦ Descripción: Un cliente llega al portal y selecciona la opción

de inscribirse para poder jugar.

Ing. Andrés M García O

Page 19: Introducción A UML Parte1

Casos de Uso

◦ Ejemplo de un caso de uso: Curso normal de los eventos

Ing. Andrés M García O

Acción del actor Respuesta del sistema

1. Este caso inicia cuando el cliente llega al portal y decide inscribirse y selecciona la opción de inscripción.

2. Muestra el formulario de inscripción de datos

3. El usuario ingresa sus datos y da opción de continuar.

4. Guarda los datos de usuario y los almacena en la BD, y envía un e-mail de confirmación para cativa cuenta.

5. El usuario recibe el e-mail de confirmación y acepta la inscripción

6. Recibe la orden de confirmación de inscripción y actualiza al usuario como un miembro admitido en la BD.

Page 20: Introducción A UML Parte1

Casos de Uso◦ Ejemplo de un caso de uso (Expandido) jugar partida 1

player:

◦ Caso de uso: Jugar partida 1 player◦ Actores: Jugador◦ Tipo de caso: Primario (Es fundamental que pase)◦ Propósito: Jugar en modalidad 1 player VS CPU◦ Resumen: Un usuario llega al portal y decide jugar una nueva

partida de 1 player, comienza el juego lanzando el primer disco y se enfrenta a la CPU, finalmente después de que cualquiera de las 2 partes ya sea el jugador o la CPU anote 5 veces termina el juego.

◦ Tipo: Primario (Es muy común que ocurra)◦ Referencias : Funciones R2.1, R2.2, R2.3, R2.4, R2.5, R2.6, R2.7

Ing. Andrés M García O

Page 21: Introducción A UML Parte1

Casos de Uso

◦ Que es un actor?◦ Un actor es toda entidad externa al sistema que de alguna

forma interactúa o participa en la historia de los casos de uso. Por lo generar genera eventos que estimulan al sistema y también recibe daos o estímulos que el sistema genera en respuesta. Los actores se representan por el papel que desempeñan en un caso de uso, en este ejemplo sería papel de Jugador.

◦ En UML se representa de la siguiente manera:

Ing. Andrés M García O

Jugador

Page 22: Introducción A UML Parte1

Diagrama de casos de Uso

Ing. Andrés M García O

Jugador

Inscribir datos

Jugar 1 player VS CPU

Jugar 2 player

Actualizar Perfil y avatar

Revisar Score

Page 23: Introducción A UML Parte1

Definir Modelo Conceptual

Ing. Andrés M García O

El modelo conceptual es una representación gráfica que permite comprender el sistema que se esta desarrollando mostrando los conceptos, objetos, atributos y asociaciones más importantes.

La asociación es una relación entre dos objetos que indica una conexión que tiene un sentido dentro del contexto del problema del software desarrollado.

Las asociaciones se representan con una línea que tiene un nombre y une dos conceptos como muestra la siguiente figura:

Objeto A Objeto BAsociación 11 1..*

Page 24: Introducción A UML Parte1

Definir Modelo Conceptual

Ing. Andrés M García O

Las asociaciones pueden se pueden categorizar de la siguiente forma:Las más empleadas están resaltadas.

A es parte física de BA es una parte lógica de BA está físicamente contenido en BA está lógicamente contenido en BA es una descripción de BA es un elemento de línea en una transacción o reporte de BA se conoce/introduce/registra/presenta/captura en BA es miembro de BA es una subunidad organizacional de BA usa o dirige a BA se comunica con BA se relaciona en una transacción con BA esta contiguo a BA es una propiedad de B

Page 25: Introducción A UML Parte1

Definir Modelo Conceptual

Ing. Andrés M García O

Las asociaciones pueden presentar en sus extremos información llamada papeles que puede ser de:

• Nombre : Describe el papel que juega el objeto en la asociación• Expresión de multiplicidad: Describe cuantas instancias A pueden

asociarse a una instancia B en un momento determinado.• Navegabilidad: Describe el flujo de trabajo de la asociación

Vuelo CiudadVuela-a* 1

destino

Multiplicidad

Nombre

Navegabilidad

Page 26: Introducción A UML Parte1

Definir Modelo Conceptual

Ing. Andrés M García O

• Expresión de multiplicidad: Ejemplos de multiplicidad

Objeto B*

Objeto B1..*

Objeto B5..10

Objeto B4

Objeto B2,4,6

Cero o más

Uno o más

Cinco a diez

Exactamente cuatro

Exactamente dos, cuatro o seis

Vuelo Ciudad

Vuela-a* 0..3

Vuela-a* 1Ejemplo de asociación

múltiple

Page 27: Introducción A UML Parte1

Definir Modelo Conceptual

Ing. Andrés M García O

Ejemplo Videojuego online

Jugador Disco

Lanza1 1

Oponente

1

1

Lanza

Tablero de juego

1

1

Golpea1 1

1

1

Golpea

Display Score

1

1 Anota un punto

Inicializa juego

1

1Inicializa juego

1

1

Colisiona

Perfil

Edita perfil

1

1

Page 28: Introducción A UML Parte1

Definir Modelo de Clases

Ing. Andrés M García O

El diagrama de clases consiste en hacer una aproximación inicial de las clases incluyendo los métodos y los atributos principales de la solución que se esta desarrollando.

Lanza1 1

1

1

Golpea1 11

Inicializa juego

1

1Inicializa juego

1 Simula condiciones físicas

Jugador

Lanzar()Golpear()

Nombre

Disco

colicionar()

PosXPosY

Tablero

Iniciar ()

Motor fisica

Simular ()

PosDisco()

Page 29: Introducción A UML Parte1

Diagramas de secuencia

Ing. Andrés M García O

Los Diagramas de secuencia muestran el orden temporal de todos los mensajes que se transmiten de un objeto a otro cuando se cumplen las funciones del sistema.

Diagramas de secuenciaMuestran la secuencia de mensajes entre objetos durante un escenario concreto (paso de mensajes).

- En la parte superior aparecen los objetos que intervienen.- La dimensión temporal se indica verticalmente(el tiempo transcurre hacia abajo).- Las líneas verticales indican el período de vida de cada objeto.- El paso de mensajes se indica con flechas horizontales u oblicuas(cando existe demora entre el envío y la atención del mensaje).- La realización de una acción se indica con rectángulos sobre laslíneas de actividad del objeto que realiza la acción.

Page 30: Introducción A UML Parte1

Diagramas de secuencia

Ing. Andrés M García O

Ejemplo de un diagrama de secuencia.

Page 31: Introducción A UML Parte1

Diagramas de secuencia

Ing. Andrés M García O

Ejemplo de un diagrama de secuencia.

Page 32: Introducción A UML Parte1

Diagramas de secuencia

Ing. Andrés M García O

Ejemplo de un diagrama de secuencia maquina de gaseosas.

Ref. Libro Aprenda UML en 24 Horas de Joseph Schmuller

Page 33: Introducción A UML Parte1

Diagramas de secuencia

Ing. Andrés M García O

Ejemplo de un diagrama de secuenciaCaso de uso jugar 1 player

Jugador: Disco:Motor física :Openente:Tablero

Iniciar partida

Entregar Disco

Lanzar disco(Fuerza)Calcular posición del disco (X,Y)

Actualizar Pos disco(X,Y)

Evaluar anotación