MODELAMIENTO VISUAL Y UML Segunda Sesión Profesores del Curso
Objetivos Entender los beneficios del modelamiento visual Reconocer al UML como lenguaje estándar en la construcción de SW Identificar los diagramas UML y su papel durante la construcción del SW
Temario Testimonios empresariales Modelamiento visual UML Definición Historia Evolución Descripción
¿ Por qué usan Modelamiento Visual y el UML empresas líderes?
Testimonios Empresariales ERISSON: “......el modelamiento del SW es fundamental durante el desarrollo porque garantiza la construcción de la arquitectura del SW, permite entenderla de manera completa y reduce los riesgos....” ORACLE: “podemos representar los objetos del negocio y entender todas las definiciones de la base de datos...” IBM: “permite tener el control del ciclo de vida completo de un proyecto...”
Testimonios Empresariales REPUBLIC BANK: “......provee una plantilla del sistema y ayuda a entender el comportamiento del sistema....” HEWLETT PACKARD: “ayuda al equipo a entenderse y ver cual es su trabajo dentro del contexto de construcción del Sw. Hace viable la comunicación entre cliente, gente de análisis y diseño y sus herramientas de desarrollo...” MICROSOFT: “......reduce el costo de desarrollo, el tiempo y el riesgo de un proyecto de SW, incrementa la reutilización de componentes ....”
¿Qué es el Modelamiento Visual? El modelamiento visual provee una plantilla del sistema. El visualizar esta plantilla, ayuda a entender el sistema que se crea y cómo quisiera crearse, permite entender la estructura o comportamiento del mismo, sirve de guía durante el proceso de construcción del SW y nos permite documentar las decisiones que se toman.
Beneficios del Modelamiento Visual Captura procesos Incrementa la comunicación Define la arquitectura Administra la complejidad Reutilización
UML Lenguaje estándar que permite visualizar, especificar, construir y documentar los artefactos del sistema de software. Está demostrado que el trabajo con UML incrementa la productividad, reduce el ciclo de vida de construcción del software e incrementa la calidad del sistema.
Un poco de historia UML es un lenguaje que nació de la unión de las teorías de : James Rumbaugh Ivar Jacobson Grady Booch
Evolución de UML
Perspectivas para el UML UML es el lenguaje de modelamiento estándar predominante los próximos años. Entre las razones: Participan metodologistas influyentes. Participan empresas importantes. Tiene la aceptación del OMG como notación estándar.
Descripción de UML Los elementos y diagramas UML están basados en el paradigma orientado a objetos. Entre las partes de UML tenemos: 1.Las vistas 2.Los diagramas 3.Los elementos del modelo 4.Lo mecanismos de extensión
1. Las Vistas Muestran los diferentes aspectos del sistema que son modelados. Una vista no es un gráfico, pero es una abstracción consistente de un número de diagramas. Se tiene las siguientes vistas: Vista de casos de uso, vista lógica, vista de componentes, vista concurrente y vista de despliegue.
Vista de Casos de Uso: Muestra la funcionalidad del sistema percibido por actores externos. Vista Lógica: Muestra cómo la funcionalidad es diseñada dentro del sistema, define la estructura y el comportamiento del sistema. Vista de Componentes o Implementación: Muestra la organización de componentes del código. Y su implementación.
Vista Concurrente o de Procesos: Muestra la concurrencia en el sistema dividido en procesos y procesadores. Da cuenta de los aspectos de comunicación e integración. Vista de Despliegue: Muestra la arquitectura física del sistema.
Logical View Implementation View Use Case View Process View End-user Functionality Programmers Software management Use Case View Process View Deployment View Performance Scalability Throughput System integrators System engineering System topology Delivery, installation Communication
2. Los Diagramas Son los gráficos que describen el contenido de una vista. UML tiene nueve tipos de diagramas que se usan para mostrarnos todas los enfoques del sistema.
State Diagrams Class Use Case Diagrams State Diagrams Use Case Object Use Case Diagrams Sequence State Diagrams Component Scenario Diagrams Collaboration Models Scenario Diagrams Statechart Component Diagrams Deployment Activity Diagrams
Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagrama de Estados Diagrama de Secuencias Diagrama de Colaboración Diagrama de Actividades Diagrama de Componentes Diagrama de Despliegue
3. Los Elementos del Modelo Los conceptos usados son elementos del modelo que representan conceptos orientados a objetos como clases, objetos, mensajes y relaciones incluyendo asociación, dependencia y generalización.
4. Los Mecanismos de Extensión Los símbolos que complementan la información de los diagramas, tenemos las notas, caja de textos para títulos, líneas de indicación, entre otros.
Diagrama de Casos de Uso (negocio)
Diagrama de Casos de Uso DIAGRAMA DE CASOS DE USO DE NEGOCIO Diagrama en el que se plasman los procesos de negocio y los externos a ellos. Estos externos se benefician con el proceso o benefician al proceso.
Diagrama de Casos de Uso de Negocio
Diagrama de Actividades
Diagrama de Actividades Diagrama que captura acciones, es decir flujos de trabajo y actividades a llevarse a cabo. Este diagrama permite enfocar: *Las actividades de un caso de uso de negocio *La implementación de operaciones de una clase *Las actividades de un objeto *Las actividades de una situación
Diagrama de Casos de Uso (software)
Diagrama de Casos de Uso DIAGRAMA DE CASOS DE USO DE SOFTWARE Diagrama en el que se plasman las funcionalidades del software y los que interactúan con ellas.
Diagrama de Casos de Uso de Software
Diagrama de Clases
Clases, objetos y sus relaciones En el modelamiento orientado a objetos, las clases, objetos y sus relaciones son los principales elementos del modelo. Las clases y objetos modelan que hay en el sistema y las relaciones entre ellos revelan como están estructurados. Cuando se usa programación orientada a objetos los elementos mencionados se convierten en el código actual.
Diagrama de Clases GUI, Lógicas y Persistentes
Clases, objetos y sus relaciones Una clase es una descripción de un tipo objeto, todos los objetos son instancias de una clase, donde la clase describe las propiedades y comportamiento de un tipo de objeto. Una clase sería una descripción de un objeto en un tipo de sistema(información, técnico, distribuido, software, negocio)
Diagrama de Clases Persistentes
Diagrama de Colaboración
Diagrama de Colaboración Diagrama de interacción que enfoca las interacciones y los enlaces entre un grupo de objetos “colaboradores”. Este diagrama se enfoca en el espacio y muestra como los objetos, sus enlaces y los mensajes son enviados entre ellos.
Diagrama de Secuencia
Diagrama de Secuencias Muestran como los objetos interactúan entre ellos. Está enfocado en la secuencia de mensajes. Tiene dos ejes: el eje vertical que muestra el tiempo y el eje horizontal que muestra el grupo de objetos. Es específico para un escenario.
Diagrama de Estados
Diagrama de Estados Captura el ciclo de vida de los objetos, subsistemas y sistemas. Define los estados que un objeto puede tener y cómo los eventos afectan esos estados.
Diagrama de Estados Diagrama de Estados de una Orden de Pedido
Diagrama de Despliegue
Diagrama de Despliegue Describe la arquitectura en tiempo de ejecución de procesadores, dispositivos y los componentes de software que ejecutan esta arquitectura. Describe la topología del sistema, estructura de hardware y el software que se ejecuta en cada unidad.
Ejemplo del Diagrama de Despliegue
Diagrama de Despliegue Nodos.-Son los objetos físicos que tiene un tipo de recurso computacional. Ejm: dispositivos como impresoras, dispositivos de comunicación. Conexiones.-El tipo de comunicación es representado por un estereotipo que identifica el protocolo de comunicación o el tipo de red usado.
Diagrama de Componentes
Diagrama de Componentes Representa los componentes de software,sus dependencias y la estructura del código. Los componentes implementan en la arquitectura física, los conceptos y la funcionalidad definidas en la arquitectura lógica. Los componentes pueden ser fuentes, binarios y ejecutables.
Ejemplos de Diagrama de Componentes
Componentes y Despliegue Sólo los componentes ejecutables tienen instancias. Se utiliza un diagrama de despliegue para ubicar instancias de componentes ejecutables. Entre componentes existen las dependencias. Un componente puede definir interfaces que son visibles a otros componentes.
Ejemplos de Componente y Despliegue
Conclusiones El UML es un lenguaje reconocido mundialmente por la industria de construcción de software. El Modelamiento visual es una de las técnicas probadas que brinda mejores resultados.
Conclusiones Todos los sistemas tienen una estructura estática y comportamiento dinámico. La estructura se describe con los diagramas de clases, componentes y despliegue. El comportamiento dinámico del sistema se describe con diagramas de estados, secuencias, colaboración y actividades.