You are on page 1of 38

UML

Unified Modeling Language


(Lenguaje de Modelamiento unificado)

Qu es un Modelo?

Un Modelo es una Simplificacin de la Realidad

Conceptos Importantes
Modelo: captura una vista de un sistema del mundo real. Es una
abstraccin de dicho sistema, considerando un cierto propsito. As, el modelo describe completamente aquellos aspectos del

sistema que son relevantes al propsito del modelo, y a un


apropiado nivel de detalle. Diagrama: una representacin grfica de una coleccin de

elementos de modelado, a menudo dibujada como un grafo con


vrtices conectados por arcos.

Modelado es el diseo de aplicaciones de software antes de la codificacin. El modelado es una parte esencial de los grandes proyectos de software, y til incluso pequeos proyectos a medio y as. Un modelo juega el papel anlogo en el desarrollo de software que los planos y otros planes (los mapas de sitio, elevaciones, modelos fsicos) juegan en la construccin de un rascacielos. Utilizando un modelo, los responsables del xito de un proyecto de desarrollo de software se aseguran a s mismos de que la funcionalidad del negocio es completa y correcta, las necesidades de los usuarios finales se cumplen, y el diseo del programa es compatible con los requisitos de escalabilidad, robustez, seguridad, extensibilidad, y otras caractersticas, antes de la ejecucin en el cdigo hace que los cambios difcil y caro de hacer. Las encuestas muestran que los grandes proyectos de software tienen una gran probabilidad de fracaso - de hecho, es ms probable que una aplicacin de software grande no va a cumplir todas sus necesidades a tiempo y dentro del presupuesto de que tendr xito. Si utilizas uno de estos proyectos, que tiene que hacer todo lo posible para aumentar las probabilidades de xito, y el modelado es la nica manera de visualizar su diseo y cotejarla con los requisitos antes de que su equipo empieza a cdigo.

Qu es UML?
Es una herramienta o Lenguaje de Modelamiento Unificado que permite a los creadores de Sistemas generar diseos que capturen sus ideas en una forma convencional y fcil de comprender y as poder comunicrselas a otras personas.

Qu es UML?
UML define una notacin que se expresa como diagramas que sirven para representar modelos/subsistemas o partes de ellos Define una estructura para ir del anlisis al diseo y de ste a la implementacin.

Qu es UML?
UML es un lenguaje visual para especificar, construir y documentar sistemas (OMG - Object Management Group) Unified (UNIFICADO): El aporte de muchos mtodos y notaciones Independiente de implementaciones, plataformas y lenguajes Modeling (MODELADO): Los modelos son utilizados en todas las ingenieras Language (LENGUAJE): Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje comn

UML no es Metodologa!

Diagramas de Comportamiento
diagrama de casos de uso (usado por algunas metodologas durante recopilacin de requisitos); Diagrama de Actividad- diagrama de mquinas de Estado.

Diagramas Estructurales:
diagrama de clase, -diagrama de objetos, -diagrama de componentes, -Diagrama de Estructura Compuesta,- Diagrama de paquetes, -diagrama de implementacin.

Diagramas de interaccin, -diagrama de secuencia, - diagrama de Comunicacin, Diagrama de temporizacin, Diagrama de interaccin

Diagramas de UML
Los diagramas expresan grficamente partes de un modelo.

Diagrama de Caso de Uso Diagrama de Secuencia

Diagrama de Clases Diagrama de Objetos

Diagrama de Colaboracin

Modelo
Diagrama de Componentes

Diagrama de Estados

Diagrama de Actividad

Diagrama de Distribucin

Diagramas de UML
La finalidad de los Diagramas es presentar diversas
perspectiva de un Sistema, a los cuales se le conoce como MODELO. El Modelo UML de un Sistema es similar a un Modelo de Escala de un Edificio.

Es importante destacar que el Modelo UML describe lo


que supuestamente har un Sistema, pero no dice como implementar dicho sistema.

Por qu tantos Diagramas?


Los Diagramas UML permite examinar un Sistema desde distintos puntos de vista. En necesario contar con diferentes perspectiva en un Sistema por que se cuenta con diferentes personas implicadas, los cuales tienen enfoque particulares en diferentes aspectos del Sistema. El Objetivo es satisfacer a cada Persona involucrada. Cabe recalcar que en UML no es necesario que aparezcan todos los Diagramas.

Casos de Uso
Los Casos de Uso es una tcnica para capturar informacin de cmo un sistema o negocio trabaja, o de cmo se desea que trabaje. Ayuda a obtener requerimientos desde el punto de vista del Usuario (actor), modelando la funcionalidad del sistema. No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura de requisitos. Es el poderoso concepto que ayuda al analista a comprender la forma en que un Sistema deber comportarse.

Elementos de los Casos de Uso


Actor: rol que juega un usuario con respecto al sistema. un Actor no necesariamente representa a una persona en particular, sino ms bien la labor que realiza frente al sistema.
Caso de Uso: l Operacin o tarea especfica que se realiza tras una orden de algn agente externo, originada por una peticin de un actor o bien desde la invocacin desde otro caso de uso

Relaciones de los Casos de Uso


Son: Inclusin, Extensin, Generalizacin y Agrupamiento. Asociaciones: Es el tipo de relacin ms bsica que indica la invocacin desde un actor o caso de uso a otra operacin (caso de uso).

Relaciones de los Casos de Uso


Generalizacin: Las Clase se pueden heredar entre si,

de igual forma sucede con los Casos de Uso. El Caso de


Uso secundario hereda las acciones y significados del Primario, y adems agrega sus propias acciones.

Agente Proveedor

Comprar Gaseosa

Comprar un Vaso de Gaseosa

Rebastecedor

Recolector

Dependencia o Instanciacin: Es una forma muy particular de relacin entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea).

Relaciones de los Casos de Uso


Inclusin <<include>>: Volver a utilizar los pasos de un Caso de Uso dentro de otro. Permite factorizar un comportamiento en un caso de uso aparte y evitar repetir un mismo flujo en diferentes casos de uso. Incluye la funcionalidad de un Caso de Uso en otro. Un caso de uso base incorpora explcitamente el comportamiento de otro en algn lugar de su secuencia.
Enc ontrar por Titulo <<include>> Busc ar en la BD Pelic ulas

Cliente
Enc ontrar por Ac tor <<include>>

Dependencia

Relaciones de los Casos de Uso


Extensin <<extend>>: Un caso de uso base incorpora implcitamente el comportamiento de otro caso de uso en el lugar especificado indirectamente por este otro caso de uso. Extiende la funcionalidad de un Caso de Uso a otro bajo unas condiciones Es una relacin extendida cuando el caso de uso secundario es inusual
Estereotipo

Apuntar Pelic ula

<<extend>>

Contabilizar Ingresos

Cajero

Relaciones de los Casos de Uso

Agrupamiento
Cuando un Sistema consta de varios Sub-Sistemas, o cuando se realiza toma de requerimientos a varios usuarios, necesitamos organizar los Casos de uso por Categoras o Tipos de Sistemas, la mejor forma de organizarlo son con los Paquetes.

Casos de Uso - Utilidad


Modelar el comportamiento de un elemento (sistema, subsistema, clase): Centrarse en qu hace el elemento, NO en cmo lo hace. 1) Sirven para intercambiar opiniones los expertos del dominio, los usuarios finales y los desarrolladores. Los expertos del dominio especifican su vista externa para que los desarrolladores construyan su vista interna.

Casos de Uso - Utilidad


2) El creador del elemento comunica cmo se debera usar. El elemento puede ser complejo y tener muchas operaciones. 3) Sirven de base para probar el sistema una vez implementado.

Casos de Uso
Pasos a seguir: Identificar los actores que interactan con el elemento. Organizar los actores (roles generales, roles especializados, ). Considerar las formas ms importantes que tiene cada actor de interactuar con el elemento. Considerar las formas excepcionales que tiene cada actor de interactuar con el elemento. Organizar estos comportamientos utilizando las relaciones entre casos de uso vistas. Especificar cada caso de uso con texto y trazas de eventos.

Casos de Uso
Sugerencias y consejos: Cada caso de uso debe representar un comportamiento distinto e identificable del sistema (razonablemente atmico). Factorizar el comportamiento comn: include. Factorizar las variantes de comportamiento: extends. Describir el flujo de eventos de manera suficientemente clara para que alguien externo lo entienda. Mostrar slo los importantes para comprender el comportamiento del sistema. Mostrar slo los actores implicados.

DOCUMENTACION PARA SOPORTE DE SOFTWARE O APLICATIVO


Panorama General del Sistema Metas del Sistema Funciones, Clientes y Atributos del Sistema Lenguaje Unificado de Modelado UML

Los requerimientos describen las necesidades o deseos de un Producto se debe definir lo siguiente:

Clientes (Usuarios del sistema) Funciones del sistema Metas (Objetivos que se quieren lograr con el software) Atributos del sistema (Caractersticas o dimensiones del sistema ejemplo: Facilidad de uso, tiempo de respuesta, plataformas en las que corre, tipo de interfaz grfica)

Ing. Andrs M Garca O

Ejemplo de captura de requerimientos para un videojuego online

Clientes:
Publico segmentado entre 15 y 35 aos, 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 diversin 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 ao de funcionamiento.

Ing. Andrs M Garca O

Ejemplo de captura de requerimientos para un videojuego online

Funciones del sistema: Despus 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 comunicacin online. Debe permitir personalizar un avatar. Debe manejar interaccin del teclado. Debe manejar interaccin del mouse. Debe manejar colisiones con comportamiento fsico. Debe incrementar niveles de dificultad. Publicar records que inciten a otros a superarlos.

Ing. Andrs M Garca O

Ejemplo de captura de requerimientos para un videojuego online

Atributos del sistema:


Debe Debe La IU Debe Debe ser intuitivo, fcil de entender y manejar. correr en cualquier navegador y sistema operativo. debe ser impactante con objetos 2D o 3D. ser multijugador mximo 4 players mnimo 2. tener un tiempo de respuesta.

Ing. Andrs M Garca O

Ejemplo de captura de requerimientos para un videojuego online


Atributos
Debe ser intuitivo, fcil de entender y manejar.

Descripcin y detalles
El flujo de funcionamiento es facil e intuitivo.

Debe correr en cualquier navegador y sistema operativo. La IU debe ser impactante con objetos 3D. Debe ser multijugador Debe tener un tiempo de respuesta.

SO:Windows, Linux, Mac Navegador:Explorer, Chrome, Motzilla Ventanas y objetos de UI se presentan en metfora con efectos visuales en 3D Mnimo 1 player, Mximo 4 players Cuando un usuario se registre o actualice sus datos debe demorar maximo 10 segundos en mostrar la accin ejecutada

Ing. Andrs M Garca O

Diagrama de casos de Uso

Inscribir datos Jugador Jugar 1 player VS CPU Jugar 2 player Actualizar Perfil y avatar Revisar Score

Ing. Andrs M Garca O

You might also like