Por qu Modelamos
El modelado es una tcnica de hacer modelos, que ofrece Una visin global del sistema.
Importancia de Modelar
Objetivos del Modelar: Visualizar, especificar la estructura, proporcionan plantillas, documentan decisiones
La eleccin de qu modelos crear, y dar forma a una solucin. Todo modelo puede ser expresado a diferentes niveles de precisin. Los mejores modelos estn ligados a la Realidad Un nico modelo no es suficiente.
UML Definicin
UML es un Lenguaje de Modelado Unificado basado en una notacin grfica la cual permite: Especificar Construir Visualizar Documentar los elementos de un sistema
UML
UML puede ser utilizado por cualquier metodologa de anlisis y diseo orientada a objetos para expresar los modelos de diseo.
Qu es UML
Historia
Este lenguaje es el resultado de la unificacin de los mtodos de modelado orientados a objetos de: Booch, Rumbaugh (OMT:Object Modeling Technique) Jacobson (OOSE:Object-Oriented Sotfware Engineering) .
10
11
Sistema de Informacin Institucionales Bancos y Servicios Financieros Telecomunicaciones Transporte Comercio Electrnica mdica mbito cientfico Servicios distribuidos basados en la Web
13
14
15
Proveer un lenguaje de modelado visual fcil de usar y comprender. Proveer extensibilidad y especializacin Soportar especificaciones que no dependan de lenguaje de programacin alguno. Proveer un lenguaje de modelado exacto y accesible Apoyar a las crecientes herramientas de objetos del mercado Apoyar conceptos avanzados de desarrollo
16
Caractersticas de UML
Mecanismos de extensibilidad: los estereotipos, que permiten definir el rol de cada elemento en el modelo; las restricciones, que ofrecen la posibilidad de definir las reglas para mantener la integridad; los valores etiquetados, que permiten agregar nuevos elementos con valores. Hilos y procesos: permite modelar hilos y procesos para la ejecucin independiente de partes del programa. Patrones y colaboraciones: permite la reutilizacin de artefactos en las diferentes fases del desarrollo, a travs del uso de enfoques estndares. Diagramas de actividad: ofrece estos diagramas para el modelo de la lgica de la aplicacin. Interfaces y componentes: ofrece estos mecanismos para la conectividad y comunicacin para trabajar en diferentes niveles de abstraccin. Restricciones de lenguaje. UML provee el lenguaje OCL (Object Constraint Language) que permite especificar las reglas para establecer la integridad del modelo. Semntica de accin. UML ofrece mecanismos para especificar el comportamiento en forma de acciones que pueden representar la transferencia de informacin o mod. del sistema. Refinamiento: permite manejar relaciones entre los diferentes niveles de abstraccin.
17
18
Relaciones
interfaz nodo servidor componente
A brir( ) Cerrar() M over( ) D ibujar( )
Diagramas
Casos de uso
Realizar Pedido
Clase activa
GestorEventos Suspender () VaciarCola()
Estructurales
Cadena de responsabilidad
Estados
Esperando
Clasificadores
En general los elementos de modelado que pueden tener instancias son llamados clasificadores. Un clasificador tiene caractersticas estructurales y de comportamiento. Son clasificadores en UML: la clase, la interface, el tipo de dato, la seal, el componente, el nodo, el caso de uso y el subsistema.
20
Relaciones
Diagramas
Dependencia
Relacin entre dos elementos uno independiente a otro dependiente y puede afectar la semntica
0...1 Patrn * empleado
Asociacin
Generalizacin
Especificacin en donde el hijo comparte la estructura y el comportamiento del padre Es una relacin semntica entre clasificadores
Realizacin
Mecanismos comunes
Son una serie de mecanismos que se aplican durante todo el proceso de desarrollo de modelos en UML y su con su uso se consiguen diseos simples y eficientes. Estos mecanismos son los siguientes:
Especificaciones: UML no es simplemente un lenguaje que proporciona elementos grficos para modelado, tras cada elemento existe una especificacin que permite detallar textualmente el comportamiento de los mismos; de esta forma con los elementos grficos se consigue una visualizacin global del sistema y con la especificacin se logra una visualizacin detallada del mismo.
22
Mecanismos comunes
Adornos: Todos los elementos grficos en UML poseen una notacin grfica que representa los aspectos ms importantes de stos; an as existe una notacin que permite representar los aspectos ms especficos a travs de adornos, consiguiendo as una especificacin an ms detallada. Por ejemplo el uso de multiplicidad (nmero de instancias de una clase que pueden estar relacionadas con la clase asociada) y nombres de roles (que permiten aadir el papel que juega una clase en una asociacin y que se coloca en el extremo de una asociacin), las cuales se detallan a continuacin. La figura 2.3 muestra algunos ejemplos de adornos.
23
Mecanismos comunes
y Divisiones comunes: UML permite representar las distintas divisiones que presenta el diseo orientado a objetos. Por ejemplo la divisin clase/objeto donde un objeto es la manifestacin concreta de la clase. UML permite el modelado conjunto de los mismos a travs de una notacin especfica.
24
Mecanismos comunes
Mecanismos de extensibilidad: UML proporciona un lenguaje abierto en el que se pueden expresar los matices de los distintos sistemas, para ello hace uso de tres mecanismos que permiten extender el lenguaje: Estereotipo: Permite crear nuevos bloques de construccin partiendo de los ya existentes. Valor etiquetado: Permite aadir nuevas propiedades a un bloque de construccin. Restriccin: Permite aadir o modificar las reglas referidas a los bloques de construccin.
25
Diagramas
El principal objetivo de UML es el modelado, esto es permite capturar ideas, relaciones, decisiones y requerimientos en una notacin bien definida que puede aplicarse en diferentes dominios.
26
Diagramas
El principal objetivo de UML es el modelado, esto es permite capturar ideas, relaciones, decisiones y requerimientos en una notacin bien definida que puede aplicarse en diferentes dominios.
27
Relaciones
State Diagramas Diagrams Clase
Diagramas
Diagramas Tiempo State Diagramas Diagrams Objecto
Modelos
Diagramas Actividades
Despliegue
Diagramas
UML 2.0 clasifica los diagramas en dos categoras: los diagramas estructurales que se usan para capturar la organizacin fsica, y los diagramas de comportamiento, que sirven para modelar el comportamiento del sistema.
29
Diagramas Estructurales
Diagrama de Clases, que permiten capturar los detalles de las entidades que conformarn el sistema junto con sus relaciones. Diagramas de Componentes, los cuales muestran la organizacin y dependencias involucradas en la implementacin del sistema. Diagrama de Estructura Compuesta, permiten ligar los diagramas de clases con los de componentes enfatizando los detalles de implementacin. Diagramas de Despliegue, que muestran cmo los componentes se configuran en el tiempo de ejecucin y se distribuyen en las piezas de hardware. Diagramas de Paquetes, que se enfocan en mostrar cmo se agrupan las clases e interfaces. Diagramas de Objetos, que muestran las instancias de los diagramas de clases en una instancia del tiempo.
30
Diagramas de Comportamiento
Diagramas de actividad, los que permiten capturar el flujo de un comportamiento o actividad al siguiente. Diagramas de comunicacin, que son un tipo de diagramas de interaccin que se enfoca en los elementos involucrados en un comportamiento particular y en los mensajes que estos envan. Diagramas general de interaccin, los cuales son una versin simplificada de los diagramas de actividad, que se enfatizan en el elemento o elementos involucrados en realizar la actividad. Diagramas de secuencia, que son un tipo de diagramas de interaccin que enfatizan la atencin en el tipo y orden de mensajes pasados entre los elementos durante la ejecucin.
31
Diagramas de Comportamiento
Diagramas de estados, los que permiten capturar las transiciones internas del estado de un elemento. Diagramas de tiempo, que son un tipo de diagramas de interaccin que enfatizan los detalles de tiempo para los mensajes. Diagramas de Casos de Uso, que permiten capturar los requisitos funcionales de un sistema.
32