Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porTrinidad Coronel Soto Modificado hace 9 años
1
Curso Práctico de ADOO con UML y Enterprise Architect
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
2
Qué Necesita el Usuario
Curso Práctico de ADOO con UML Qué Necesita el Usuario Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
3
Curso Práctico de ADOO con UML
Qué Pidió el Usuario Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
4
Curso Práctico de ADOO con UML
Cómo lo Vio el Analista Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
5
Curso Práctico de ADOO con UML
Cómo se Diseñó Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
6
Cómo lo Escribió el Programador
Curso Práctico de ADOO con UML Cómo lo Escribió el Programador Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
7
Cómo Funciona el Sistema
Curso Práctico de ADOO con UML Cómo Funciona el Sistema (en ocasiones...) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
8
Curso Práctico de ADOO con UML
La Moraleja La moraleja de la historia Comunicación Efectiva comunicación multi-disciplinaria La Torre de Babel Cada participante maneja su propio lenguaje Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
9
El Proceso de Desarrollo
Curso Práctico de ADOO con UML El Proceso de Desarrollo “Escribir código es sólo una parte del total de esfuerzo de desarrollo” Un desarrollo que sólo va a realizar código no necesita UML o técnicas avanzadas de ingeniería de software. Claro que tampoco puede aspirar con suficiente seguridad: A cumplir satisfactoriamente con las necesidades del cliente A ser escalable, flexible, robusto, de calidad, etc. A ser un sistema mantenible A cumplir con los tiempos y presupuestos del proyecto A dejar un aprendizaje para ser repetible Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
10
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
11
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
12
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
13
Curso Práctico de ADOO con UML Logística y Presentación
Introducción Logística y Presentación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
14
Curso Práctico de ADOO con UML
Presentación Instructor Milestone Consulting Alumnos y expectativas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
15
Curso Práctico de ADOO con UML
Logística Horario Descansos Comida Sanitarios Teléfonos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
16
Curso Práctico de ADOO con UML
Reglas del Juego Enfoque Práctico Participación Constante Ejemplos Ejercicios Material: Libro, Carpeta y Constancia Examen de Certificación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
17
Curso Práctico de ADOO con UML
Audiencia Cualquiera persona involucrada directamente con las actividades y artefactos generados en el análisis y diseño de software: Analistas y diseñadores responsables de generar artefactos formales Líderes de proyecto que requieren administrar y controlar los artefactos a generar durante el proyecto Revisores responsables de garantizar la calidad de los productos de software Programadores que requieren desarrollar código a partir de una especificación formal Ingenieros de pruebas que requieren realizar pruebas a partir de casos de uso Documentadores responsables de realizar manuales del sistema Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
18
Curso Práctico de ADOO con UML
Conocimiento Previo Experiencia en algún Proyecto de desarrollo de software Lenguaje de desarrollo Preferentemente en utilizado durante el curso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
19
Curso Práctico de ADOO con UML
Objetivos del Curso Al final del curso el participante deberá ser capaz de Comprender el paradigma de orientación a objetos Participar en las actividades de análisis y diseño utilizando UML como lenguaje de modelado Realizar modelos útiles de UML que le ayuden a obtener proyectos de mayor calidad Utilizar el proceso de software simplificado visto en clase en sus proyectos futuros Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
20
Curso Práctico de ADOO con UML
Agenda del Curso (1 de 2) Día 1 Análisis y Diseño Orientado a Objetos Proceso de Software Basado en RUP El Modelado Visual y el Uso de UML El Modelo de Casos de Uso Flujos de Eventos Día 2 El Modelo Conceptual y el Análisis de Sustantivos Las Interacciones entre Objetos: El Diagrama de Secuencia Patrones de Asignación de Responsabilidades Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
21
Curso Práctico de ADOO con UML
Agenda (2 de 2) Día 3 El Diagrama de Clases El Modelo de Componentes El Diagrama de Distribución Implementación: La Interpretación del Diseño Generación de Código e Ingeniería Inversa Día 4 Diagramas de Estado Diagramas de Actividad Segundo Caso Práctico Día 5 Caso Práctico (continuación) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
22
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
23
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
24
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
25
El Análisis y Diseño Orientado a Objetos
Curso Práctico de ADOO con UML El Análisis y Diseño Orientado a Objetos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
26
Curso Práctico de ADOO con UML
Orientación a Objetos Estilo de desarrollo Los elementos básicos de análisis, diseño y construcción son los objetos Haciendo un paréntesis, es importante diferenciar entre lenguajes OO y lenguajes que no lo son. Tenemos lenguajes: base-objetos: Lenguajes que no tienen herencia. Presentan un concepto parecido a clase y alguna forma de crear objetos a partir de ésta. orientado a objetos: Presentan el concepto de objetos, clases y herencia de clases. Diferencia entre el modelado por descomposición funcional y el OO Lo representaremos con un ejemplo culinario. El problema es hacer chilaquiles. Problema: Hacer chilaquiles. Descoposición funcional Se declaran una lista de datos, los cuales se encuentran en un espacio común. El algoritmo divide al problema en subproblemas o funciones, partiendo de las mas complejas hasta llegar a las acciones mas sencillas de realizar, llamadas también atómicas. En todo momento la descomposición del problema se hará identificando las acciones (verbos) que se deben realizar. Hacer chilaquiles se divide en dos subproblemas: freír tortillas con salsa añadir acompañamiento Freír tortillas con salsa presenta tres subdivisiones: freír tortillas preparar salsa verde juntar tortillas con salsa Freír tortillas y juntar tortillas con salsa son actividades que ya se saben realizar (atómicas). Sin embargo, el caso de preparar salsa verde aún podemos aclararla mas hervir chile y tomate licuar con ajo freír salsa que ya son actividades atómicas. Para el caso de añadir acompañamiento se particiona en dos actividades atómicas añadir crema añadir queso Si se deseara ahora preparar chilaquiles con salsa roja, se tendría que buscar cuales actividades hay que modificar. En este caso sería la parte de los datos y Prepara salsa verde, Hervir chile y tomate, en el caso del diagrama. Sin embargo, lo complicado no termina en modificarlos, ya que no se sabe si en alguna otra parte del sistema se puedan referenciar y entonces esto traiga problemas. Descoposición OO La modelación de esta solución se realiza a través de los sustantivos que definen al problema. En este caso los sustantivos mas importantes son: Chilaquiles, Tortillas, Salsa verde, Ingredientes, Licuadora, Sartén y Acompañamiento. Todos estos van a ser nuestros objetos que internamente van a conjuntar datos y operaciones, que podemos asociarlos de manera lógica a cada uno de sus conceptos. Cuando se pide haz_chilaquiles al objeto Chilaquiles, este debe tener un método que sabe hacer chilaquiles apoyándose en el objeto de Tortillas, que tiene tortillas como dato y sabre freír tortillas. Para el caso se Salsa verde, Chilaquiles le envía un mensaje diciéndole prepárate y entonces se preparará enviando mensajes a Ingredientes que los hierve, Licuadora que los licua y finalmente llama a Sartén para que los fría. Finalmente Chilaquiles le va a enviar un mensaje a Acompañamiento, para que se añada la crema y el queso, y queden finalmente preparados los chilaquiles. Es importante notar que los datos se encuentran implícitos formando parte de los objetos. Si en este modelo se desea hacer los chilaquiles con salsa roja, solo bastaría sustituir el objeto de salsa verde por el objeto Salsa roja, que se preparará, enviando mensajes a Ingredientes, Licuadora y Sartén, sin modificar nada más. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
27
Curso Práctico de ADOO con UML
Análisis Enfocado a investigar y comprender El dominio del problema El QUÉ del Sistema Incluye: Descripción del problema Requerimientos a cumplir Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
28
Curso Práctico de ADOO con UML
Diseño Enfocado en definir El producto de software La Solución al problema El CÓMO del sistema Incluye: Definición de la solución Arquitectura del sistema Mecanismos clave Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
29
Análisis Orientado a Objetos
Curso Práctico de ADOO con UML Análisis Orientado a Objetos Centrado en la Identificación de objetos/conceptos para comprender el problema La nómina de los empleados se calcula utilizando el sueldo asignado y descontando el impuesto del IMSS, mismo que se calcula de la siguiente forma.... Es un estilo de análisis de sistemas (el QUÉ) centrado en la identificación de objetos o conceptos que interactúan para llevar a cabo un proceso que deberá ser automatizado. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
30
Diseño Orientado a Objetos
Curso Práctico de ADOO con UML Diseño Orientado a Objetos La estructura del software se determina con base en objetos como elementos básicos de construcción del sistema Nómina Empleado Una de las ventajas de este tipo de desarrollo es que los objetos (conceptos) identificados por el usuario en el análisis son prácticamente los mismos que se utilizan para nombrar a los objetos de diseño. Sueldo Impuesto IMSS Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
31
Programación Orientada a Objetos
Curso Práctico de ADOO con UML Programación Orientada a Objetos class Nomina { private Empleado empleado; } public class Empleado private Sueldo sueldo; public class Sueldo private ImpuestoIMSS impuestoIMSS; Los objetos y componentes diseñados son implementados en un lenguaje como C++, Java, Smalltalk, Delphi o Visual Basic Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
32
Curso Práctico de ADOO con UML
Lenguaje Común QUÉ CÓMO Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
33
Curso Práctico de ADOO con UML
Qué es un Objeto Es una entidad física o abstracta que existe en el mundo real Se les puede identificar porque … Podemos hablar de ellos – poseen características particulares Podemos manipularlos – poseen comportamiento Son únicos e irrepetibles – poseen identidad Un objeto es una cosa del mundo real del cual podemos hablar (por tener una identidad o características que lo describen) y que puede ser manipulada o tener un comportamiento. También puede ser un concepto o proceso. Un objeto tiene características particulares que lo distinguen y un comportamiento especial. Ejemplos de objetos: Juan Pérez, Misifus, Mi carro, etc. Las características y el comportamiento que los distinguen son: Juan Pérez: se llama Juan Pérez, tiene 25 años, es moreno, camnia muy rápido, habla muy grave, etc. Misifus: se llama Misifus, es un gato, tiene 4 patas, tiene pelaje gris, maulla, cae en 4 patas, etc. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
34
Curso Práctico de ADOO con UML
Ejemplos de Objetos Ejemplo 1 Juanito Pérez Características: masculino, 10 años, blanco. Comportamiento: Camina, juega, brinca, habla. Ejemplo 2 Seguro de vida de Rubén Ramírez Características: Aseguradora: GNP, número: 2301, fecha: 12/oct/2001, cliente: Rubén Ramírez, Total: $100,000, etc. Comportamiento: Asegurar cliente, Asignar beneficiarios, Cotizar, etc. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
35
Curso Práctico de ADOO con UML
Clases Abstracción de objetos con características y comportamiento similares. Objeto 1: Juan Pérez Objeto 2: María López Persona Profesión Edad Tez Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar. Por ejemplo: El tipo de características que definen a Juan Pérez son: un nombre, edad, color de piel, tiene un modo de caminar, habla. Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla. Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA. En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales. Caminar Hablar Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
36
Identifica los Objetos y Clases
Curso Práctico de ADOO con UML Identifica los Objetos y Clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
37
Análisis y Diseño con UML
Curso Práctico de ADOO con UML Análisis y Diseño con UML Definir casos de uso Definir modelo conceptual Definir interacciones Diseñar diagramas de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
38
Actividades Principales del Análisis
Curso Práctico de ADOO con UML Actividades Principales del Análisis Casos de Uso. Descripción narrativa de los procesos de un sistema o negocio Modelo Conceptual. Muestra los conceptos relevantes dentro de un contexto Definir casos de uso Definir modelo conceptual Definir interacciones Diseñar diagramas de clases ANÁLISIS Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
39
Análisis de Requerimientos: Caso de Uso
Curso Práctico de ADOO con UML Análisis de Requerimientos: Caso de Uso Caso de Uso: Colocar una orden Descripción: El caso de uso comienza cuando un cliente llama a un ejecutivo de cuenta para solicitar la compra de un producto. El ejecutivo de cuenta registra la información del cliente y del producto en una nueva orden Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
40
Análisis del Dominio: Modelo Conceptual
Curso Práctico de ADOO con UML Análisis del Dominio: Modelo Conceptual Caso de Uso: Colocar una orden Descripción: El caso de uso comienza cuando un cliente llama a un ejecutivo de cuenta para solicitar la compra de un producto. El ejecutivo de cuenta registra la información del cliente y del producto en una nueva orden Nombre Producto Orden Cliente Ejecutivo de Cuenta Precio Clave Número Teléfono Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
41
Actividades Principales del Diseño
Curso Práctico de ADOO con UML Actividades Principales del Diseño Interacción entre los objetos. Diagrama de interacción Estructura estática del sistema. Diagrama de clases Definir casos de uso Definir modelo conceptual Definir interacciones Diseñar diagramas de clases DISEÑO Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
42
Interacción entre Objetos
Curso Práctico de ADOO con UML Interacción entre Objetos Ejecutivo de Cuenta Cliente Producto Solicitar compra Consultar datos Crear nueva orden Orden Solicitar datos Registrar orden Indicar datos de orden Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
43
Curso Práctico de ADOO con UML
Diagrama de Clases Ejecutivo de Cuenta Nombre Teléfono Producto Orden Cliente Precio Clave Número Registrar ( ) Modificar ( ) RecibirSolicitud ( ) Consultar ( ) objCliente 1..n Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
44
Curso Práctico de ADOO con UML
Ejercicio Caso de Uso: Saciar sed Análisis Caso de Uso Modelo Conceptual Diseño Interacción entre objetos Diagrama de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
45
Curso Práctico de ADOO con UML
Conclusiones El análisis es el momento en que se identifica el QUÉ del sistema, y el diseño es cuando se identifica el CÓMO El análisis y diseño orientado a objetos se caracterizan porque el elemento fundamental son los objetos Una ventaja importante de la orientación a objetos consiste en que los desarrolladores no necesitan hablar en términos diferentes a los usuarios Los objetos se identifican por tener características y comportamiento que los identifican de manera única Las clases surgen al categorizar o abstraer un conjunto de objetos con características similares Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
46
Curso Práctico de ADOO con UML
Conclusiones El análisis con UML incluye la definición de casos de uso y el análisis del dominio El diseño con UML incluye la definición de las interacciones entre los objetos y el diseño del diagrama de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
47
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
48
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
49
Curso Práctico de ADOO con UML
El Proceso Unificado Un framework para desarrollar sistemas con UML Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
50
Curso Práctico de ADOO con UML
Objetivos Conocer el proceso RUP y sus características principales Comprender la relación entre UML y RUP Entender las fases y disciplinas del proceso RUP Identificar las mejores prácticas sobre las que se basa RUP Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
51
Curso Práctico de ADOO con UML
Proceso Conjunto de pasos aplicados a un producto de entrada, llevado a cabo por roles con responsabilidades específicas, utilizando técnicas y herramientas para transformarlo en un producto de salida o para lograr un objetivo específico. Proceso de Venta, Pago de Nómina, Control de Inventarios, Inscripciones Escolares, etc. ¿CÓMO? ¿QUÉ? PROCESO Entrada Salida ¿CUÁNDO? ¿QUIÉN? Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
52
Curso Práctico de ADOO con UML
Proceso de Software Conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema de software. PROCESO DE SW Requerimientos Software Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
53
Curso Práctico de ADOO con UML
Proceso vs. Proyecto Un proceso sigue una serie de pasos realizados por roles involucrados para ir cumpliendo objetivos y/o desarrollando/utilizando productos y recursos Un proyecto es la ejecución en un momento determinado de un proceso con un tiempo, costo y alcance definido Cada proyecto es una instancia ejecutada del proceso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
54
Curso Práctico de ADOO con UML
Visión General de RUP Proceso RUP (Rational Unified Process) Proceso de desarrollo de software Desarrollado, mantenido y comercializado por Rational Software Co. Evolución del Proceso Objectory, proceso creado por Jacobson Basado en best practices de la industria Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
55
Características Principales
Curso Práctico de ADOO con UML Características Principales Dirigido por Casos de Uso Centrado en la arquitectura Ciclo de vida iterativo incremental Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
56
Ciclo de Vida de Cascada
Curso Práctico de ADOO con UML Ciclo de Vida de Cascada Requerimientos Análisis Diseño Programación Pruebas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
57
Proceso Iterativo Incremental
Curso Práctico de ADOO con UML Proceso Iterativo Incremental Concepción Elaboración Construcción Transición Iteración 1 Iteración 2 Iteración 3 Construcción Incremental Proceso de “Mini-Cascada” Planeación Captura de Requerimientos Análisis & Diseño Implementación Pruebas Preparar Liberación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
58
Especificación del Proceso RUP
Curso Práctico de ADOO con UML Especificación del Proceso RUP Aspectos para definir o documentar el proceso: Disciplinas – Requerimientos, Análisis y Diseño, Implementación, Pruebas, Administración de Proyectos, etc. Actividades – Forma en que los artefactos son producidos y evaluados Roles – Responsabilidades sobre las actividades y artefactos Artefactos – Productos de trabajo usados, producidos o modificados al realizar las actividades Para definir y documentar el proceso RUP, y en general cualquier proceso se deben de considerar los siguientes 4 aspectos que determinan el enfoque del proceso. Roles, Disciplinas (Flujos de Trabajo), Actividades y Artefactos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
59
Especificación del Proceso RUP
Curso Práctico de ADOO con UML Especificación del Proceso RUP Disciplinas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
60
Curso Práctico de ADOO con UML
Disciplinas De Ingeniería Modelado de Negocios Requerimientos Análisis y Diseño Implementación Pruebas Despliegue/Liberación De Soporte Administración de la Configuración y los Cambios Administración del Proyecto Ambiente Disciplinas de Ingeniería Modelado de Negocio. El objetivo consiste en comprender el contexto de negocio en donde se aplicará la solución, de manera que se obtenga la solución más adecuada para resolver las necesidades del cliente. Requerimientos. Es el proceso mediante el cual se identifican y documentan los requerimientos del cliente, por medio de casos de uso. Análisis y Diseño. Los requerimientos son analizados para comprender lo que el sistema tiene que realizar para cubrir las necesidades del cliente, y se define la arquitectura que soportará la solución. Implementación. A partir del diseño se lleva a cabo la programación para poder implementar los casos de uso. Pruebas. Se diseñan las pruebas del sistema a lo largo de cada una de las fases e iteraciones para verificar que se cumplan adecuadamente los casos de uso y requerimientos del sistema. Distribución. El sistema se pone en manos del cliente para aplicar las pruebas de aceptación y posteriormente liberar a producción. Disciplinas de Soporte Administración de la Configuración y Cambios. RUP es un proceso que considera que continuamente ocurren cambios a los requerimientos, además que el sistema se va construyendo de manera incremental por lo que es necesario llevar a cabo un proceso formal que permita controlar las versiones del sistema y los artefactos desarrollados. Administración del Proyecto. Para garantizar el éxito de un proyecto no es suficiente con llevar a cabo las actividades de ingeniería de software, pues el proceso que controla los parámetros de tiempo, costo y alcance es la administración de proyectos. Ambiente. Al iniciar el proyecto se preparan las herramientas e infraestructura para llevar a cabo el desarrollo, esto incluye la definición del proceso adaptado a las necesidades específicas del proyecto. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
61
Curso Práctico de ADOO con UML
Ciclo de Vida de RUP RUP está estructurado en 2 dimensiones, una a través del tiempo y otra en cuanto al contenido o trabajo desempeñado. En la primera dimensión están las fases, que ocurren de manera secuencial, y donde el cumplimiento de cada una determina un milestone mayor del proyecto. Las 4 fases son Concepción, Elaboración, Construcción y Transición. Concepción. En esta fase de define la Visión y Alcance del sistema, y se determina la factibilidad del desarrollo. Elaboración. Se obtienen a un detalle suficiente los requerimientos del sistema, los cuales son analizados y sirven de base para la definición y construcción de una arquitectura ejecutable. Construcción. Los casos de uso son refinados e implementados incrementalmente en pequeños ciclos de desarrollo llamados iteraciones, hasta terminar con una versión beta del sistema. Transición. La versión beta es puesta a prueba por los usuarios, y los defectos son corregidos hasta lograr la sastisfacción del cliente. Asímismo se realiza todo lo necesario para liberar el sistema y los diferentes entregables del sistema. En la otra dimensión del proceso están los flujos de trabajo, que son realizados en cada una de las fases, en diferentes proporciones. Existen 5 flujos de ingeniería y 3 de soporte o administrativos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
62
Especificación del Proceso RUP
Curso Práctico de ADOO con UML Especificación del Proceso RUP Disciplinas Actividades Para definir y documentar el proceso RUP, y en general cualquier proceso se deben de considerar los siguientes 4 aspectos que determinan el enfoque del proceso. Roles, Disciplinas (Flujos de Trabajo), Actividades y Artefactos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
63
Actividades en el Modelado de Negocio
Curso Práctico de ADOO con UML Actividades en el Modelado de Negocio Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
64
Actividades en Requerimientos
Curso Práctico de ADOO con UML Actividades en Requerimientos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
65
Actividades en el Análisis y Diseño
Curso Práctico de ADOO con UML Actividades en el Análisis y Diseño Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
66
Curso Práctico de ADOO con UML
Actividades en la CCM Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
67
Especificación del Proceso RUP
Curso Práctico de ADOO con UML Especificación del Proceso RUP Disciplinas Actividades Roles Para definir y documentar el proceso RUP, y en general cualquier proceso se deben de considerar los siguientes 4 aspectos que determinan el enfoque del proceso. Roles, Disciplinas (Flujos de Trabajo), Actividades y Artefactos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
68
Roles -- Trabajadores RUP
Curso Práctico de ADOO con UML Roles -- Trabajadores RUP Analistas Desarrolladores Testers Administradores Trabajadores Adicionales Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
69
Especificación del Proceso RUP
Curso Práctico de ADOO con UML Especificación del Proceso RUP Disciplinas Actividades Roles Artefactos Para definir y documentar el proceso RUP, y en general cualquier proceso se deben de considerar los siguientes 4 aspectos que determinan el enfoque del proceso. Roles, Disciplinas (Flujos de Trabajo), Actividades y Artefactos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
70
Curso Práctico de ADOO con UML
Productos de Software ¿ Software = Programa ? Software = Programa Especificaciones Casos de Prueba Manual de Usuario, etc. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
71
Curso Práctico de ADOO con UML
Artefactos UML El Modelado Visual y los Flujos de Trabajo Una de las prácticas más importantes de RUP, es el modelado visual. En cada uno de los flujos de trabajo de ingeniería de software se desarrollan modelos utilizando la notación estándar UML. En el modelado de negocio se pueden desarrollar un modelo de casos de uso de negocio que describe los procesos de negocio del cliente. Estos procesos son analizados a más detalle por medio de un Modelo de Objetos de Negocio. El Modelo de Objetos de Negocio puede ser utilizado para identificar el alcance del sistema, mismo que es descrito por medio de un Modelo de Casos de Uso en el flujo de trabajo de Requerimientos. Posteriormente, en el Análisis y Diseño, y por medio de un análisis de casos de uso, se obtiene un modelo conceptual del sistema, así como una serie de diagramas que conforman el Modelo de Diseño y que definen la arquitectura del sistema. En la Implementación se desarrolla el código de los componentes definidos en la arquitectura y que satisfacen los requerimientos establecidos en los casos de uso. Finalmente las pruebas utilizan los casos de uso como base para definir los casos de prueba que serán aplicados al sistema para verificar el cumplimiento de los requerimientos establecidos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
72
Roles y Artefactos en el Modelado de Negocio
Curso Práctico de ADOO con UML Roles y Artefactos en el Modelado de Negocio Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
73
Roles y Artefactos en Requerimientos
Curso Práctico de ADOO con UML Roles y Artefactos en Requerimientos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
74
Roles y Artefactos en el Análisis y Diseño
Curso Práctico de ADOO con UML Roles y Artefactos en el Análisis y Diseño Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
75
Roles y Artefactos en la Implementación
Curso Práctico de ADOO con UML Roles y Artefactos en la Implementación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
76
Roles y Artefactos en las Pruebas
Curso Práctico de ADOO con UML Roles y Artefactos en las Pruebas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
77
Roles y Artefactos en el Despliegue/Liberación
Curso Práctico de ADOO con UML Roles y Artefactos en el Despliegue/Liberación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
78
Roles y Artefactos en la CCM
Curso Práctico de ADOO con UML Roles y Artefactos en la CCM Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
79
Roles y Artefactos en la Administración de Proyectos
Curso Práctico de ADOO con UML Roles y Artefactos en la Administración de Proyectos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
80
Roles y Artefactos en el Ambiente
Curso Práctico de ADOO con UML Roles y Artefactos en el Ambiente Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
81
Curso Práctico de ADOO con UML
Conclusiones Es uno de los procesos más completos y con mayor soporte Dirigido por casos de uso, centrado en arquitectura, iterativo incremental Se centra en artefactos de UML y está soportado por los creadores de este lenguaje Se define a partir de disciplinas, actividades, trabajadores y artefactos Requiere una implementación paulatina y adecuación de acuerdo a las necesidades de la empresa Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
82
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
83
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
84
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
85
El Lenguaje Unificado de Modelado
Curso Práctico de ADOO con UML El Lenguaje Unificado de Modelado Antecedentes y evolución Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
86
Curso Práctico de ADOO con UML
Objetivos Comprender qué es el modelado y para qué sirve Entender la importancia del modelado visual como una de las mejores prácticas de las ingenierías Entender UML Conocer como surge y evoluciona UML Comprender los beneficios del modelado visual y UML en los proyectos de software Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
87
Curso Práctico de ADOO con UML
Modelos Representación simplificada de la realidad Simplifica al mostrar sólo ciertas características en cada modelo Herramienta de comunicación Facilita la comprensión de la idea, concepto, sistema, etc. Cada rol participante requiere vistas especiales para entender el problema Stakeholders Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
88
Simplificando la Complejidad
Curso Práctico de ADOO con UML Simplificando la Complejidad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
89
Curso Práctico de ADOO con UML
Modelo Visual Notación gráfica estándar Maquetas, fotografías, dibujos, planos, diagramas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
90
Curso Práctico de ADOO con UML
Siglas de Unified Modeling Language Lenguaje estándar de modelado de sistemas orientado a objetos No es una metodología, es una notación para desarrollar modelos “UML es un lenguaje estándar para visualizar, especificar, construir y documentar los artefactos de un sistema de software.” UML User’s Guide Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
91
Curso Práctico de ADOO con UML
Evolución de UML Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
92
Curso Práctico de ADOO con UML
Objetivos al crear UML Contar con un lenguaje expresivo de modelado visual Integrar mejores prácticas de desarrollo de software Ser independiente de cualquier lenguaje y proceso de desarrollo Motivar el desarrollo de las herramientas OO en el mercado Soportar conceptos de más alto nivel como frameworks, patrones y componentes Proporcionar mecanismos que permitieran extender los conceptos básicos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
93
Curso Práctico de ADOO con UML
Artefactos de UML Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
94
Curso Práctico de ADOO con UML
Enfoques Estructural Comportamiento Diagramas Estáticos Clases Objetos Componentes Despliegue/Distribución Diagramas Dinámicos Casos de Uso Secuencia Comunicación Transición de Estados Actividad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
95
Curso Práctico de ADOO con UML
Beneficios de UML Mejora la comunicación entre los involucrados Reduce costos y riesgos al permitir la experimentación con modelos Reduce la complejidad Mayor calidad del software y satisfacción del usuario Reuso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
96
Tipos de Sistemas Soportados
Curso Práctico de ADOO con UML Tipos de Sistemas Soportados Sistemas de información Empresarial Bancarios y Servicios Financieros Telecomunicaciones Transportes Defensa/aeroespaciales Médicos electrónicos Científicos Servicios distribuidos en Web, etc. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
97
¿Por qué me conviene usar un Proceso Basado en UML?
Curso Práctico de ADOO con UML ¿Por qué me conviene usar un Proceso Basado en UML? Estandarización de los artefactos a nivel global y organizacional Orden y control en el desarrollo al definir los artefactos a generar Mejora la comunicación interna y externa Aumenta la calidad y mantenibilidad de los sistemas Productividad y eficiencia en los desarrollos Facilita el reuso de artefactos Soporta la tecnología de objetos y componentes Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
98
Curso Práctico de ADOO con UML
Conclusiones Los modelos son una simplificación de la realidad Los modelos son excelentes herramientas de comunicación Los modelos pueden aumentar la eficiencia, reducir costos y aumentar la calidad Los modelos sirven como base para una buena planeación y administración Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
99
Curso Práctico de ADOO con UML
Conclusiones UML, al ser un lenguaje para modelar, proporciona los beneficios mencionados UML es un lenguaje notacional que permite modelar, documentar, visualizar y construir sistemas UML no incluye el orden o responsabilidades en que se utiliza UML puede ser utilizado para cualquier tipo de proyecto de desarrollo orientado a objetos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
103
El Diagrama de Casos de Uso
Curso Práctico de ADOO con UML El Diagrama de Casos de Uso El Eje de la Calidad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
104
Curso Práctico de ADOO con UML
Objetivos Aprender a describir el comportamiento general de un sistema por medio de casos de uso Entender qué es un actor y cómo representar su interacción con el sistema Comprender las relaciones entre casos de uso Conocer los mecanismos de extensión de UML en los diagramas de casos de uso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
105
Diagrama de casos de uso
Curso Práctico de ADOO con UML Diagrama de casos de uso Muestra el Comportamiento del Sistema Muestra el Alcance del Sistema Interacciones con entidades externas Los casos de uso son las cosas que podemos realizar con el sistema. El comportamiento del sistema se modela por medio de diagramas de casos de uso. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
106
Elementos del diagrama de casos de uso
Curso Práctico de ADOO con UML Elementos del diagrama de casos de uso Asociación Caso de Uso Actor Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
107
Curso Práctico de ADOO con UML
Actor Representa el rol que juega una entidad externa que interactúa con el sistema. Intercambia información con el sistema Puede ser un recipiente pasivo de información Puede representar el rol que juega un humano, una máquina u otro sistema Se nombran generalmente con sustantivos en singular Cliente, Vendedor, Administrador, Alumno, Sistema de Nómina, etc. Actor Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
108
Una entidad, varios actores
Curso Práctico de ADOO con UML Una entidad, varios actores Carlos como Profesor Carlos imparte un curso y estudia un postgrado Carlos como Alumno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
109
Varias entidades, un actor
Curso Práctico de ADOO con UML Varias entidades, un actor Claudia como Alumno Carmen estudia administración y Claudia diseño gráfico Carmen como Alumno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
110
Curso Práctico de ADOO con UML
Caso de uso Es la especificación de un conjunto de acciones que ejecuta el sistema Genera un resultado observable con valor real para el actor Describe un flujo de eventos completo Describe las interacciones entre el actor y el sistema El actor inicia un caso de uso cuando invoca cierta funcionalidad del sistema Al unir todos los casos de uso se tienen todas las formas posibles de usar el sistema Se nombran generalmente con un verbo en infinitivo: Realizar Venta, Cotizar Seguro, Generar Nómina, etc. Caso de Uso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
111
Diagrama de casos de uso
Curso Práctico de ADOO con UML Diagrama de casos de uso Se dibuja un diagrama de caso de uso para ilustrar la interacción entre el sistema y los actores Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
112
Relaciones entre casos de uso (1/2)
Curso Práctico de ADOO con UML Relaciones entre casos de uso (1/2) En ocasiones hay fragmentos de funcionalidad que varios casos de uso comparten Para evitar la repetición, esta funcionalidad común la podemos factorizar en un caso de uso nuevo Los casos de uso que lo requieren, invocan al caso de uso factorizado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
113
Relaciones entre casos de uso (2/2)
Curso Práctico de ADOO con UML Relaciones entre casos de uso (2/2) Entre los casos de uso pueden darse dos tipos de relaciones: Dependencia Implica que la funcionalidad englobada en un caso de uso depende de otro ya sea por que el primero (dependiente) incluye o extiende la funcionalidad definida por el segundo Generalización Implica que un caso de uso especializado reutiliza tanto el comportamiento como las relaciones que posee otro caso de uso más general Además, el caso de uso especializado puede redefinir ciertas actividades definidas por el padre Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
114
Relación de dependencia entre casos de uso
Curso Práctico de ADOO con UML Relación de dependencia entre casos de uso UML define dos formas de dependencia entre casos de uso: Includes Extends Para representarlos necesitamos utilizar el mecanismo de extensión de UML: Estereotipos Los estereotipos extienden el significado de los elementos de UML Se escriben entre “«” y “»” y se coloca junto al elemento que deseamos extender «includes» «extends» «estereotipo» Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
115
Curso Práctico de ADOO con UML
Relación Include Las relaciones “include” se usa … Para extraer parte del flujo que comparten más de un caso de uso Cuando se quiere visualizar parte del detalle de un proceso El “casos de uso base” incluye al “caso de uso incluido” Podemos definir flujos de trabajo que dependen únicamente del resultado, no del método ejecutado para realizarlo. Podemos definir flujos de trabajo dependientes del método ejecutado compuestos de flujos de trabajo que dependen únicamente del resultado. Los caso de uso: “Registro Individual” y “Registro de Grupo” son procesos que dependen del método ejecutado pero ambos incluyen el “Registro de Huéspedes” el cual únicamente depende del resultado <<include>> Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
116
Curso Práctico de ADOO con UML
Relación Extend La relación “extend” añade un flujo de trabajo a un caso de uso de negocio que ya se ha descrito completamente La mayoría de los casos de uso de extensión no se pueden ejecutar solos. Las relaciones extend se pueden usar para … Modelar un flujo que rara vez ocurre Modelar un flujo que solo ocurre bajo circunstancias especiales. <<extend>> Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
117
Curso Práctico de ADOO con UML
Puntos de extensión Identifica un punto en la funcionalidad de un caso de uso donde esta se puede extender por la funcionalidad de otro caso de uso (indicado en una relación «extends») Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
118
Relación de Generalización
Curso Práctico de ADOO con UML Relación de Generalización La generalización del caso de uso de negocio es usada para mostrar que dos flujos de trabajo comparten estructura, propósito y medio. Llamada Local Larga distancia 1 Levantar Auricular 2 Esperar tono 3 Marcar numero 4 el sistema conecta con el numero marcado 4 el sistema conecta con otro sistema B 5 Colgar 5 Sistema B conecta con numero marcado 6 Sistema desconecta 6 Colgar 7 Sistemas desconectan Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
119
Curso Práctico de ADOO con UML
Paquetes Los paquetes sirven para agrupar de una manera lógica elementos de UML y reducir la complejidad Casos de uso Clases Componentes Paquetes Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
120
Paquetes de casos de uso
Curso Práctico de ADOO con UML Paquetes de casos de uso Un paquete de casos de uso representa agrupación lógica de funcionalidad. Ejemplo: módulos, subsistemas, sistemas. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
121
Curso Práctico de ADOO con UML
Conclusiones El diagrama de casos de uso muestra el alcance, el comportamiento del sistema y su interacción con entidades externas Un actor es una entidad externa que interactúa con el sistema Un caso de uso es un conjunto de interacciones entre el sistema y uno o más actores Los casos de uso pueden relacionarse mediante dependencias o generalizaciones Las relaciones de dependencia entre casos de uso pueden estereotiparse con «extend» o «include» Los casos de uso se pueden agrupar en paquetes para reducir la complejidad y organizarlos en subsistemas y módulos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
122
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
123
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
127
Documentación de casos de uso
Curso Práctico de ADOO con UML Documentación de casos de uso Especificación de Casos de Uso y Escenarios Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
128
Curso Práctico de ADOO con UML
Objetivos Aprender a documentar los requerimientos del sistema mediante el uso de flujos de eventos y escenarios Entender la estructura de un flujo de eventos Comprender la ventaja de los flujos de eventos sobre el enfoque basado en listas de requerimientos Comprender el uso que tiene este artefacto para mejorar la comunicación entre las partes involucradas en el proyecto Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
129
Documentación de los casos de uso
Curso Práctico de ADOO con UML Documentación de los casos de uso Los casos de uso se documentan con: Una breve descripción El propósito del caso de uso en unas cuantas líneas El flujo detallado de los eventos Descripción detallada de eventos Terminología y redacción simple orientada al negocio/usuario Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
130
Caso de uso de alto nivel
Curso Práctico de ADOO con UML Caso de uso de alto nivel Las descripciones breves de los casos de uso se pueden realizar al principio del proyecto Nombre del Caso de Uso: Registrar Calificaciones Descripción Breve: Este caso de uso tiene como propósito permitir al Catedrático registra las calificaciones que obtuvieron sus alumnos tras la aplicación de un examen. Las calificaciones registradas ya no pueden modificarse una vez generada el acta correspondiente. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
131
Especificación del caso de uso
Curso Práctico de ADOO con UML Especificación del caso de uso La especificación de un caso de uso debe incluir: Precondiciones Flujos de eventos Flujo Principal Flujos Alternos Flujos Excepcionales Post-condiciones Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
132
Curso Práctico de ADOO con UML
Precondiciones Es el estado en que se encuentra el sistema antes de iniciar el caso de uso, y que es necesario para poder llevarlo a cabo exitosamente Generalmente son aspectos que no van a ser validados durante el caso de uso, sino que se dan por ciertos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
133
Precondiciones (Ejemplo)
Curso Práctico de ADOO con UML Precondiciones (Ejemplo) CU: Registrar Calificaciones Precondiciones: El catedrático debe haber iniciado una sesión en el sistema El examen a calificar debe estar registrado como un examen programado El examen a calificar no debe tener un acta asociada Los alumnos a los que se les asentarán las calificaciones deben estar registrados como alumnos inscritos en el grupo al que se aplicó el examen Los alumnos a los que se les asentará la calificación debe contar con derecho a presentar dicho examen. A los alumnos sin derecho a examen se les asienta una calificación de NA Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
134
Curso Práctico de ADOO con UML
Flujos de eventos Describe sólo los eventos que ocurren dentro del caso de uso y no lo que pasa en otros casos de uso Evita terminología vaga como por ejemplo, “información” y “etc.” Un flujo de eventos debe describir: Cómo y cuándo inicia y termina el caso de uso Cuándo interactúa el sistema con el actor en el caso de uso Qué información es intercambiada entre un actor y el sistema No describir los detalles de la interfase de usuario El flujo básico de eventos Cualquier flujo alterno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
135
Tipos de flujos de eventos
Curso Práctico de ADOO con UML Tipos de flujos de eventos Cada caso de uso Debe tener un flujo principal (o básico). Este flujo muestra los pasos o transacciones que normalmente ocurren en el caso de uso Puede tener uno o varios flujos alternos Normalmente tiene flujos excepcionales, que indican los pasos a seguir en caso de error Flujos alternos Flujo principal Flujos excepcionales Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
136
CU: Registrar Calificaciones
Curso Práctico de ADOO con UML CU: Registrar Calificaciones Flujo principal El caso de uso inicia cuando el Catedrático le indica al sistema que desea registrar las calificaciones resultantes de la aplicación de un examen. El sistema le pide al Catedrático que le indique el examen que desea calificar. El Catedrático le indica al sistema el examen programado que desea calificar. El sistema le indica al catedrático que asiente las calificaciones obtenidas por los alumnos en el examen. El Catedrático asienta las calificaciones obtenidas por los alumnos y al concluir le indica al sistema que las registre. El catedrático sólo podrá registrar las calificaciones para aquellos alumnos con derecho a examen. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
137
CU: Registrar Calificaciones (cont.)
Curso Práctico de ADOO con UML CU: Registrar Calificaciones (cont.) Flujo principal El caso de uso termina cuando el sistema registra las calificaciones asentadas para los alumnos. A los alumnos sin derecho a examen se les asienta una calificación de NA. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
138
CU: Registrar Calificaciones (cont.)
Curso Práctico de ADOO con UML CU: Registrar Calificaciones (cont.) Flujos alternos 5a. Identificar a los alumnos sin derecho a examen El Catedrático le indica al sistema que identifique a los alumnos sin derecho a examen. El sistema el sistema identifica a los alumnos sin derecho a examen y el flujo de eventos continúa en el paso 4 del flujo principal. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
139
CU: Registrar Calificaciones (cont.)
Curso Práctico de ADOO con UML CU: Registrar Calificaciones (cont.) Flujos excepcionales Cancelar el registro de las calificaciones En cualquier momento, el Catedrático le puede indicar al sistema que desea cancelar el registro de calificaciones. El sistema le indica al Catedrático que confirme la cancelación del registro. El Catedrático confirma la cancelación del proceso. El caso de uso termina con la cancelación del proceso de registro. En este caso cualquier calificación asentada por el catedrático no se registrará en el sistema. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
140
Curso Práctico de ADOO con UML
Post-condiciones Es el estado en el que debe quedar el sistema después de haber llevado a cabo exitosamente un caso de uso CU: Registrar Calificaciones Post-condiciones: Las calificaciones obtenidas por los alumnos en el examen deben estar registradas en el sistema. Los alumnos con derecho a examen tendrán registrada la calificación asignada por el catedrático mientras que a los alumnos sin derecho a examen se les registrará una calificación de NA Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
141
Usuarios de los casos de uso
Curso Práctico de ADOO con UML Usuarios de los casos de uso Clientes – validan que los desarrolladores comprendieron el problema Usuarios – clarifican sus ideas respecto al problema Desarrolladores – comprenden lo que el usuario espera del sistema a desarrollar Revisores – verifican la calidad de los requerimientos Analistas y diseñadores – base para el análisis y el diseño Tester – a partir de estos validan que el sistema hace lo que el cliente/usuario pidió Líder de proyecto – es la base para el plan de trabajo Documentador – lo usan como base aproximada de un manual de usuario Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
142
Curso Práctico de ADOO con UML
Prototipo GUI Facilita el levantamiento de requerimientos Al usuario y a los desarrolladores les ayuda a aterrizar y esclarecer ideas Reduce riesgos de requerimientos mal entendidos Se deben realizar en paralelo con los casos de uso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
143
El Prototipo y los casos de uso
Curso Práctico de ADOO con UML El Prototipo y los casos de uso Caso de Uso: Cotizar Seguro de Vida Descripción: El caso de uso comienza cuando el ejecutivo registra los datos del asegurado, el sistema utiliza los parámetros de cotización para indicar el monto ... Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
144
Ejemplo de flujo de eventos
Curso Práctico de ADOO con UML Ejemplo de flujo de eventos Especifique el Caso de Uso indicado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
145
Curso Práctico de ADOO con UML
Ejercicio Desarrollar para el caso de uso especificado: Las precondiciones El flujo de eventos principal Los flujos de eventos alternos Un flujo excepcional Las post-condiciones Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
146
Curso Práctico de ADOO con UML
Escenarios Un escenario es al caso de uso, lo que el objeto es a las clases Es una instancia específica de un caso de uso, al llevar a cabo uno de los flujos del caso de uso (ya sea primario, alterno o excepcional) Los escenarios son utilizados para comprender mejor algún caso de uso y para realizar las pruebas funcionales del sistema Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
147
Curso Práctico de ADOO con UML
Posibles Escenarios Para cada uno de los flujos de un caso de uso existe por lo menos un escenario Para el caso de uso “Registrar Calificaciones” existen los siguientes flujos posibles: Cuando el registro de calificaciones sigue la secuencia de eventos típica Cuando se desea identificar a los alumnos sin derecho a examen Cuando se cancela el registro de las calificaciones Y los siguientes ejemplos de escenario para cada flujo: Registrar las calificaciones del examen final para el ciclo 2006 obtenidas por los alumnos inscritos en el curso de Comunicación Oral y Escrita impartido por Marco Aurelio Torres H. los martes y jueves de 14:00 a 16:00 hrs. Identificar a los alumnos sin derecho al examen final para el ciclo 2006 inscritos en el curso de Comunicación Oral y Escrita impartido por Marco Aurelio Torres H. los martes y jueves de 14:00 a 16:00 hrs. Cancelar el registro de las calificaciones del examen final para el ciclo 2006 obtenidas por los alumnos inscritos en el curso de Comunicación Oral y Escrita impartido por Marco Aurelio Torres H. los martes y jueves de 14:00 a 16:00 hrs. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
148
Escenario: Registro de Calificaciones Exitoso
Curso Práctico de ADOO con UML Escenario: Registro de Calificaciones Exitoso Escenario: Registrar las calificaciones del examen final para el ciclo 2006 obtenidas por los alumnos inscritos en el curso de Comunicación Oral y Escrita impartido por Marco Aurelio Torres H. los martes y jueves de 14:00 a 16:00 hrs. Marco Aurelio Torres H. le indica al sistema que desea registrar las calificaciones resultantes de un examen El sistema le pide a Marco Aurelio Torres H. que le indique el examen que desea calificar. Marco Aurelio Torres H. le indica al sistema que desea registrar las calificaciones del examen final para el ciclo 2006 obtenidas por Juan de la Barrera, Agustín Melgar y Francisco Márquez, inscritos en el curso de Comunicación Oral y Escrita impartido los martes y jueves de 14:00 a 16:00 hrs. El sistema le indica a Marco Aurelio Torres H. que asiente las calificaciones obtenidas por los alumnos en el examen indicado. Marco Aurelio Torres H. asienta las calificaciones obtenidas por Juan de la Barrera, Agustín Melgar y Francisco Márquez y al concluir le indica al sistema que las registre. El sistema registra las calificaciones obtenidas por Juan de la Barrera, Agustín Melgar y Francisco Márquez Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
149
Curso Práctico de ADOO con UML
Ejercicio Enlistar los posibles flujos Enlistar un escenario para cada flujo Describir a detalle uno de los escenarios Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
150
Curso Práctico de ADOO con UML
Conclusiones Los flujos de eventos son la forma en que se describen textualmente y a detalle los casos de uso Los flujos de eventos permiten especificar el funcionamiento del sistema Es uno de los principales artefactos de entrada utilizados por los diferentes stakeholders Los prototipos GUI facilitan la identificación de requerimientos y casos de uso, y ayudan a eliminar riesgos tempranamente Los escenarios son instancias específicas para cada flujo del caso de uso Los escenarios son los guiones utilizados para realizar las pruebas al sistema y validar la implementación de los requerimientos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
151
El Modelo Conceptual y el Análisis de Sustantivos
Curso Práctico de ADOO con UML El Modelo Conceptual y el Análisis de Sustantivos El Análisis del Dominio Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
152
Curso Práctico de ADOO con UML
Objetivos El alumno aprenderá a identificar los conceptos del negocio y los datos que los definen. Aprenderá a desarrollar un modelo conceptual para representar gráficamente los conceptos importantes de un dominio. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
153
Curso Práctico de ADOO con UML
Modelo Conceptual Es la representación de conceptos en el dominio de un problema. Muestra los conceptos relevantes en el dominio de un problema. La identificación de los conceptos del negocio es la base para el desarrollo orientado a objetos. Su propósito en esta fase consiste en clarificar el dominio o las reglas del negocio. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
154
Elementos del Modelo Conceptual
Curso Práctico de ADOO con UML Elementos del Modelo Conceptual Los elementos que se muestran en un modelo conceptual son: Conceptos Atributos Asociaciones entre conceptos El artefacto que se utiliza en UML para representar el modelo conceptual es el diagrama de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
155
Representación del Mundo Real
Curso Práctico de ADOO con UML Representación del Mundo Real Una característica básica de un modelo conceptual es que es una representación de cosas del mundo real, NO de elementos de software Venta Fecha Total Venta BaseDeDatosDeVenta Fecha Total Imprimir ( ) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
156
Curso Práctico de ADOO con UML
Concepto Es cualquier cosa, idea u objeto del mundo real Empresa Persona Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
157
Atributos de Conceptos
Curso Práctico de ADOO con UML Atributos de Conceptos Son los datos simples que representan las características de un concepto (objeto) Empresa Persona Razón Social RFC Nombre Edad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
158
Curso Práctico de ADOO con UML
¿Atributo o Concepto? Un error bastante común en los modelos conceptuales consiste en presentar los conceptos como atributos de otros conceptos. Si no pensamos en un atributo como algo simple, tal como un texto o un número, entonces lo más probable es que se trate de un concepto. Ante la duda es mejor ponerlo como concepto, en lugar de atributo. Empresa Dirección Razón Social RFC Calle Colonia Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
159
Llaves Foráneas como Atributos
Curso Práctico de ADOO con UML Llaves Foráneas como Atributos Los atributos no deberían de ser usados para relacionar conceptos en el modelo conceptual ¿¿¿Llaves Foráneas??? !! NO !! Tarjeta Tarjeta Cuenta Numero Tarjeta Clave 1 Pertenece Clave NumeroCuenta Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
160
Asociaciones entre Conceptos
Curso Práctico de ADOO con UML Asociaciones entre Conceptos Muestran la relación lógica o física que existe en el mundo real entre dos conceptos. Se puede nombrar a las asociaciones para clarificar el modelo Empresa Persona Razón Social Dirección Emplea-a Nombre Edad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
161
Curso Práctico de ADOO con UML
Multiplicidad Describe cuántas instancias de un concepto (objeto) existen con respecto a otro objeto en una asociación en un momento dado. Empresa Persona Razón Social Dirección Emplea-a 1..* 1 Nombre Edad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
162
Curso Práctico de ADOO con UML
Multiplicidades ¿Cuántas instancias participan en la relación? exactamente 1 exactamente 3 desde 1 hasta 5 exactamente 3, 5 ó 10 cero o más 1 o más Concepto 1 Concepto 3 Concepto 1..5 Concepto 3,5,10 Concepto n Concepto * Concepto 1..* Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
163
Identificación de Conceptos
Curso Práctico de ADOO con UML Identificación de Conceptos Se obtienen a partir de casos de uso y documentos con información del problema Puede utilizarse la técnica de análisis de casos de uso. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
164
Análisis de Casos de Uso
Curso Práctico de ADOO con UML Análisis de Casos de Uso Es el proceso de examinar los casos de uso para descubrir objetos y clases para el sistema a desarrollar Selecciona un caso de uso Identificación de conceptos Sacar una lista de los sustantivos Clasificar los sustantivos en objetos, actores, clases, atributos o ninguno Seleccionar conceptos o clases candidatos Representar los conceptos y atributos en un diagrama de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
165
Lectura del Modelo Conceptual
Curso Práctico de ADOO con UML Lectura del Modelo Conceptual Una regla no escrita es que el modelo se lee de arriba hacia abajo y de izquierda a derecha El nombre de la asociación comienza con mayúscula y si arma una frase se separa con guión Aerolínea 1 Emplea 1..* Asignada-a Asignado-a Persona Vuelo Avión 1 * * 1 1 * Supervisa Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
166
Curso Práctico de ADOO con UML
Glosario de Términos El glosario de términos es un artefacto de RUP que sirve para especificar el significado de los términos manejados en el proyecto Incluye la definición de los conceptos y atributos Es un diccionario de términos donde se describe de forma breve los términos o conceptos manejados en el negocio. Es necesario para que tanto usuarios como desarrolladores manejen la misma terminología. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
167
Curso Práctico de ADOO con UML
Glosario de Términos Ubicación de la empresa, que consta de Colonia, Calle, Delegación y Ciudad Dirección Persona que ofrece sus servicios a una empresa a cambio de una retribución económica Empleado Entidad constituida legalmente que se crea para comercializar productos o servicios Empresa Definición Concepto Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
168
Descripción de Actores
Curso Práctico de ADOO con UML Descripción de Actores Como parte del glosario de términos se tiene que describir de forma breve a los actores. Persona que dirige el área de RH y que está autorizada para realizar movimientos críticos del área en la empresa, tales como la generación de la nómina Gerente de Recursos Humanos Usuario del sistema que mantiene los catálogos de la empresa Administrador Definición Concepto Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
169
Curso Práctico de ADOO con UML
Ejemplo Desarrolle el Modelo Conceptual indicado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
170
Curso Práctico de ADOO con UML
Conclusiones Un concepto es cualquier cosa idea u objeto El modelo conceptual es la representación de los conceptos del mundo real relevantes en el dominio Un concepto modelado para el sistema debe representar información útil dentro del contexto analizado Los atributos son los datos simples que describen al concepto Dos conceptos están asociados cuando existe una relación entre ellos en el contexto analizado La multiplicidad entre dos conceptos indica el número de repeticiones de un concepto en relación al otro El análisis de sustantivos es la técnica utilizada para identificar posible conceptos del dominio a partir de los sustantivos identificados en los casos de uso y otros documentos El glosario de términos es el artefacto donde se describe y estandariza el significado de la terminología o conceptos del sistema a desarrollar Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
171
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
175
Diseño Orientado a Objetos
Curso Práctico de ADOO con UML Diseño Orientado a Objetos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
176
Las Interacciones entre los Objetos
Curso Práctico de ADOO con UML Las Interacciones entre los Objetos El Diagrama de Secuencia y de Colaboración Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
177
Curso Práctico de ADOO con UML
Objetivos Aprender a modelar la dinámica de un sistema Aprender a modelar el comportamiento de un sistema usando los diagramas de secuencia y los diagramas de comunicación Entender las diferencias y similitudes entre los 2 tipos de diagramas de interacción Comprender la relación entre los diagramas de interacción y los diagramas de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
178
Diagrama de Interacción
Curso Práctico de ADOO con UML Diagrama de Interacción Son los artefactos de UML mediante los cuales se modelan las interacciones entre los objetos que colaboran para llevar a cabo (o realizar) un caso de uso, una parte de este o un escenario en particular. Es la representación gráfica de un flujo de eventos o un escenario. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
179
Tipos de Diagramas de Interacción
Curso Práctico de ADOO con UML Tipos de Diagramas de Interacción Existen 2 tipos de diagramas de Interacción: Diagramas de Secuencia Diagramas de Comunicación (antes Colaboración) Cada uno de estos diagramas se enfoca en ciertos aspectos especiales del sistema. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
180
Diagramas de Interacción
Curso Práctico de ADOO con UML Diagramas de Interacción Diagrama de Secuencia Diagrama de Comunicación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
181
Interacciones Una interacción es una secuencia o escenario que …
Comienza con un evento de sistema Registrar Calificaciones Programar Ciclo Escolar Termina con un resultado Calificaciones Registradas Ciclo Escolar Programado
182
Modelando Interacciones
Se recomienda modelarlas en el contexto de un escenario específico. Modelo Escenario A Escenario A Modelo Escenario B Escenario B
183
Curso Práctico de ADOO con UML
Diagrama de Secuencia Es el artefacto de UML que se utiliza para mostrar las interacciones entre los objetos, enfocándose en el orden o la secuencia de pasos del caso de uso o de un proceso. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
184
Curso Práctico de ADOO con UML
Elementos Flujo de Eventos Línea de Vida Ocurrencia de Ejecución Mensaje Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
185
Flujo de Eventos Narrativa que describe el comportamiento esperado del sistema y que captura los requerimientos funcionales y reglas del negocio a las cuales se deberá apegar el mismo La elaboración del diagrama SIEMPRE DEBE estar dirigida por el escenario del casos de uso
186
Curso Práctico de ADOO con UML
Línea de Vida (1/3) El símbolo de objeto unido a la línea vertical discontinua representa la existencia de un objeto en un momento determinado. Es posible indicar la creación y destrucción del objeto. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
187
Curso Práctico de ADOO con UML
Línea de Vida (2/3) Existen 3 formas de modelar una línea de vida en los diagramas de secuencia nombre del objeto y clase asociada Únicamente el nombre del objeto o instancia Únicamente el nombre de la clase Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
188
Línea de Vida (3/3) Una multiplicidad mayor a 1 entre dos clases implica una agregación de objetos en tiempo de ejecución Multiplicidad mayor a 1 en el diagrama de clases Multiplicidad mayor a 1 en el diagrama de secuencia
189
Curso Práctico de ADOO con UML
Mensajes (1/5) Se representan como flechas que van de una línea de vida a otra El objeto que recibe el mensaje es el servidor y el que envía el mensaje es el cliente Representan la comunicación entre los objetos que transmiten información esperando que se lleve a cabo alguna acción A la recepción de un mensaje se le considera un evento Pueden ser señales, invocaciones a operación o algo similar (RPCs o RMIs) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
190
Mensajes (2/5) Un mensaje puede corresponder a una operación en una clase o a un trigger en un diagrama de estados
191
Mensajes (3/5)
192
Mensajes (4/5) Mensaje Síncrono Mensaje Asíncrono Mensaje de Creación
Indica que el emisor del mensaje espera la respuesta del receptor del mismo Mensaje Asíncrono Indica que el emisor del mensaje continúa sus actividades sin esperar una respuesta del receptor Mensaje de Creación Resulta en la creación de un objeto nuevo Puede invocar un constructor en algunos lenguajes de programación (Java o C#)
193
Mensajes (5/5) Mensaje Reflexivo Respuesta
Mensaje que envía un objeto hacia sí mismo Sirve para modelar recursiones Respuesta Modela el retorno del control hacia el objeto que envío el mensaje No se acostumbra modelar El retorno es sobreentendido tras la conclusión de una ocurrencia de ejecución
194
Etiquetas de los Mensajes
Curso Práctico de ADOO con UML Etiquetas de los Mensajes predecesor condición-guardia expresión-secuencia valor-retorno = firma Ejemplos: 1: visualizar() [modo = visual] : redibujar() 2 * [n = 1..z]: prim = siguientePrimo(primo) 3.1 [x < 0]: foo() 3.2 [x => 0]: bar() 1.1a,1.1b/1.2: continuar() Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
195
Expresión de Secuencia (1/4)
Curso Práctico de ADOO con UML Expresión de Secuencia (1/4) predecesor condición-guardia expresión-secuencia valor-retorno = firma Tiene la sintaxis: [ entero | nombre ] [recurrencia] ‘:’ Entero Determina el orden y anidamiento del mensaje Es opcional en los diagramas de secuencia pero obligatoria en los de comunicación Nombre Representa un hilo de control concurrente Expresión de Secuencia Tiene la sintaxis: [ entero | nombre ] [recurrencia] ‘:’ El entero corresponde a un número de secuencia que especifica el orden del mensaje. El mensaje 1 siempre inicia una secuencia de mensajes; el mensaje 1.1 es el primer mensaje anidado dentro del contexto del mensaje 1; el mensaje 1.2 es el segundo mensaje anidado dentro del contexto del mensaje 1. Un ejemplo de secuencia es el mensaje 1; los mensajes 1.1, 1.2, 1.2.1, 1.2.2, 1.3 y así. De esta manera, la numeración determina tanto la secuencia como el anidamiento de los mensajes. El nombre representa un hilo de control concurrente. Por ejemplo los mensajes 1.2a y 1.2b son mensajes concurrentes que se envían en paralelo. Debe terminar con dos puntos (:) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
196
Expresión de Secuencia (2/4)
Curso Práctico de ADOO con UML Expresión de Secuencia (2/4) predecesor condición-guardia expresión-secuencia valor-retorno = firma Tiene la sintaxis: [ entero | nombre ] [recurrencia] ‘:’ Recurrencia Representa una ejecución condicional o una iterativa Sintaxis: ‘*’ ‘[’ cláusula-iterativa ‘]’ ‘[’ cláusula-condicional ‘]’ Expresión de Secuencia Recurrencia Representa una ejecución condicional o iterativa. Existen dos opciones: ‘*’ ‘[’ cláusula-iterativa ‘]’ ‘[’ cláusula-condicional ‘]’ La cláusula iterativa se usa para especificar una ejecución repetida donde la cláusula es una condición para la iteración como [i = 1..n]. Ejemplo: 1.1 *[x = 1..10]:hacerAlgo() La cláusula condicional se usa para especificar ramificaciones, no para expresar condiciones de guardia. [x < 0] y [x => 0] son dos cláusulas condicionales que pueden usarse en ramificaciones en donde sólo una de las condiciones es verdadera; por lo tanto sólo una de las ramificaciones es ejecutada. Tanto las cláusulas condicionales como las iterativas se expresan en seudo código o en el lenguaje de programación de interés. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
197
Expresión de Secuencia (3/4)
Recurrencia que modela ejecución condicional
198
Expresión de Secuencia (4/4)
Recurrencia que modela ejecución iterativa
199
Curso Práctico de ADOO con UML
Valor de Retorno predecesor condición-guardia expresión-secuencia valor-retorno = firma Está asignado a la firma del mensaje Muestra el valor resultante de la llamada a una operación Ejemplo 1.4.5: x = calcular(n) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
200
Curso Práctico de ADOO con UML
Firma predecesor condición-guardia expresión-secuencia valor-retorno = firma Está determinada por: El nombre de la operación El número de parámetros La secuencia de los tipos de los parámetros Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
201
Curso Práctico de ADOO con UML
Predecesor predecesor condición-guardia expresión-secuencia valor-retorno = firma Es una expresión usada para la sincronización de hilos Significa que los mensajes conectados a la secuencia de números especificados deben ejecutarse o manejarse antes de enviar el mensaje actual Sigue la sintaxis número-secuencia ‘,’ … ‘/’ Ejemplo 1.1a,1.1b/1.2:continuar() Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
202
Curso Práctico de ADOO con UML
Condición de Guardia predecesor condición-guardia expresión-secuencia valor-retorno = firma Es especificada con la sintaxis: ‘[’ guardia ‘]’ Expresión de guardia que determina el envío del mensaje La cláusula condicional se expresa normalmente en seudo código o en un lenguaje de programación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
203
Ocurrencia de Ejecución (1/3)
Cuando un objeto recibe un mensaje éste inicia una actividad a lo que se le conoce como “ocurrencia de ejecución” Se modela como un rectángulo delgado sobre la línea de vida del objeto Su modelado es opcional Una ocurrencia de ejecución indica que el objeto está activo Ejecutando su propio código Esperando que otro objeto le devuelva el control tras el envío de un mensaje
204
Ocurrencia de Ejecución (2/3)
Curso Práctico de ADOO con UML Ocurrencia de Ejecución (2/3) Representa el periodo de tiempo en el que un objeto está realizando una acción (está activo), ya sea directamente o mediante un procedimiento subordinado Ocurrencia de Ejecución de la operación asignarAvion(avion) Tiempo en el que se está ejecutando asignarAvion(avion) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
205
Ocurrencia de Ejecución (3/3)
Curso Práctico de ADOO con UML Ocurrencia de Ejecución (3/3) Para indicar que una ocurrencia de ejecución se da dentro del contexto de otra se emplean ocurrencias de ejecución superpuestas Ocurrencia de Ejecución superpuesta Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
206
Curso Práctico de ADOO con UML
Fragmentos Trozos en los que se puede descomponer un diagrama de secuencia En la esquina superior izquierda se prescribe la operación que maneja el fragmento Los diagramas de secuencia se pueden decomponer en trozos llamados fragmentos. Un fragmento combinado encapsula porciones de un diagrama de secuencia. Estos fragmentos están rodeados por un marco como el que rodea a todo el diagrama; el especificador en la esquina superior izquierda representa una operación que prescribe como se maneja el fragmento. Dentro del fragmento se encuentran una o más regiones separadas por una línea horizontal discontinua. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
207
Fragmentos – Comportamiento Condicional (1/2)
Curso Práctico de ADOO con UML Fragmentos – Comportamiento Condicional (1/2) Se usa la palabra “alt” como operación Se divide en regiones horizontales mediante líneas discontinuas Cada región tiene una restricción asociada También se les llama fragmentos combinados Al menos una alternativa ocurre Se puede poner una condición “else” en la alternativa final para representar la negación o disyunción de todas las demás guardias Cuando se muestra comportamiento condicional, se usa la palabra reservada “alt” como operación asociada al fragmento combinado, el fragmento se divide en regiones horizontales mediante líneas discontinuas. A cada región se le asocia una restricción que se muestra entre corchetes. A estos fragmentos con multiples flujos separados se les llama fragmentos combinados. Al menos una de las alternativas ocurre; se puede poner una condición “else” en la alternativa final para representar la negación o disyunción de todas las demás guardias. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
208
Fragmentos – Comportamiento Condicional (2/2)
Curso Práctico de ADOO con UML Fragmentos – Comportamiento Condicional (2/2) Cuando se muestra comportamiento condicional, se usa la palabra reservada “alt” como operación asociada al fragmento combinado, el fragmento se divide en regiones horizontales mediante líneas discontinuas. A cada región se le asocia una restricción que se muestra entre corchetes. A estos fragmentos con multiples flujos separados se les llama fragmentos combinados. Al menos una de las alternativas ocurre; se puede poner una condición “else” en la alternativa final para representar la negación o disyunción de todas las demás guardias. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
209
Fragmentos – Ciclos (1/2)
Curso Práctico de ADOO con UML Fragmentos – Ciclos (1/2) Se usa la palabra “loop” como operación Sigue la sintaxis loop [ ‘(’ mínimo [, máximo ] ‘)’ ] loop (1, 5) O se puede colocar una expresión Booleana en el condicional No es necesario dividir en regiones el fragmento Los ciclos se modelan colocando la palabra “loop” como operación asociada al fragmento. La sintaxis del operando de ciclo es “loop [ ‘(’ mínimo [, máximo ] ‘)’ ]” o se puede colocar una expresión booleana en el condicional. Cuando se usa un operador de ciclo, no es necesario separar el resto del contenido en operandos separados; no hay líneas horizontales discontinuas. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
210
Fragmentos – Ciclos (2/2)
211
Relación con el Diagrama de Clases
Curso Práctico de ADOO con UML Relación con el Diagrama de Clases Las clases que se utilicen en el diagrama de secuencia deben de incluirse en el de clases. Los mensajes pueden representar las operaciones de las clases. Una flecha entre dos clases indica una relación en el diagrama de clases Los nombres de los objetos en el diagrama de secuencia deben ser el nombre del rol en la asociación con la clase que lo está llamando. Cuando dos clases pueden enviarse mensajes significa que existe, o debe agregarse, algún tipo de relación entre dichas clases en el diagrama de clases. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
212
Curso Práctico de ADOO con UML
Ejercicio Modelar el diagrama de secuencia para el escenario indicado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
213
Diagrama de Comunicación
Curso Práctico de ADOO con UML Diagrama de Comunicación Corresponden con diagramas de secuencia simples No hay mecanismos de estructuración tales como fragmentos combinados Es irrelevante modelar que el orden de la recepción de los mensajes es diferente del orden de envío Se enfocan en las interacciones cuando lo más importante es modelar la arquitectura de la estructura interna y su correspondencia con el paso de los mensajes Los diagramas de comunicación se enfocan en las interacciones entre las líneas de vida donde la arquitectura de la estructura interna y el como esta corresponde con el paso de mensajes es importante. La secuencia de los mensajes se da a través de un esquema numerado. Los diagramas de comunicación corresponden a diagramas de secuencia simples en los que no se usan mecanismos de estructuración tales como fragmentos combinados. También se asume que son irrelevantes el modelado de las situaciones en que el orden de la recepción de los mensajes es diferente del orden de envío. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
214
Curso Práctico de ADOO con UML
Elementos Línea de Vida Mensaje Diagrama de Colaboración Al igual que el diagrama de secuencia modela las interacciones entre las clases, y entre actores y clases en un caso de uso o escenario. A diferencia de los diagramas de secuencia que dan más énfasis al orden de los pasos, este se enfoca más en la parte estructural o la relación entre las clases. Objetos y/o Clases Utilizan la misma notación de los rectángulos y los nombres subrayados separando con dos puntos el nombre de la clase y el del objeto. La diferencia radica en el posicionamiento de estas en el diagrama. Estas pueden distribuírse en cualquier posición dentro del diagrama Ligas entre Objetos Cuando 2 objetos deben de poder enviarse mensajes entonces se coloca una liga entre ambos. Independientemente de cuántos mensajes se puedan enviar sólo se coloca una liga entre esas 2 clases u objetos. Mensajes Representan lo mismo que en los diagramas de secuencia. Se colocan a un lado de la liga que une a las 2 clases que se tienen que comunicar. No hay límite (en teoría) con respecto al número de mensajes que se pueden colocar junto a una liga entre 2 objetos, aunque no resulta muy práctico utilizar más de unos 3. Mensajes Reflexivos Es una llamada de un objeto a sí mismo. Cuando se requiera un mensaje de este tipo se debe poner una liga que salga de la clase y entre a la misma clase. Multiobjetos En ocasiones una clase está relacionada no con una, sino con un conjunto de otra clase *. Dicho conjunto se representa con un multiobjeto. Esto surge debido a una relación con multiplicidad “n” en el diagrama de clases. Liga Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
215
Curso Práctico de ADOO con UML
Línea de Vida (1/2) Representa un participante individual (objeto) en la interacción En los diagramas de comunicación se representa mediante el símbolo de objeto Al igual que en los diagramas de secuencia, existen 3 formas de modelarlas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
216
Línea de Vida (2/2) Una multiplicidad mayor a 1 entre dos clases implica una agregación de objetos en tiempo de ejecución Multiplicidad mayor a 1 en el diagrama de clases Multiplicidad mayor a 1 en el diagrama de comunicación
217
Liga Indica que dos objetos pueden intercambiar mensajes (interactuar)
Aquí radica el énfasis estructural que existe entre los participantes de una interacción Liga
218
Curso Práctico de ADOO con UML
Mensajes Define una comunicación particular entre las líneas de vida que participan en una interacción Se coloca junto a la liga entre dos objetos Una liga puede servir como medio para transmitir más de un mensaje Un mensaje puede representar una operación del objeto receptor Un mensaje puede ser reflexivo, cuando el emisor y el receptor es la misma línea de vida Mensaje Mensaje Reflexivo Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
219
Curso Práctico de ADOO con UML
Analogías Diagrama de Secuencia Diagrama de Colaboración Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
220
Curso Práctico de ADOO con UML
Ejercicio Desarrollar el Diagrama de Comunicación para el escenario indicado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
221
Curso Práctico de ADOO con UML
Conclusiones Los diagramas de interacción muestran la forma en que se da la comunicación entre los objetos participantes en la realización de un caso de uso o escenario. Existen 2 tipos de diagramas de interacción: de secuencia y de comunicación. Cada uno de los tipos de diagramas de interacción se enfoca a aspectos específicos de la colaboración entre los objetos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
222
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
223
Curso Práctico de ADOO con UML Asignación de Responsabilidades
Patrones de Diseño Asignación de Responsabilidades Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
224
Curso Práctico de ADOO con UML
Objetivos Comprender el concepto de asignación de responsabilidades Entender el concepto de patrones de diseño Entender las características que hacen la diferencia entre un buen y un mal diseño Aprender a utilizar algunos patrones de diseño para mejorar los diseños del alumno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
225
Responsabilidades y Mensajes
Curso Práctico de ADOO con UML Responsabilidades y Mensajes Cuando una clase envía un mensaje a otra es porque la segunda clase tiene la responsabilidad de llevar a cabo cierta acción o de proporcionar cierto dato. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
226
Curso Práctico de ADOO con UML
Responsabilidades “es un contrato u obligación que debe cumplir una clase u objeto” [Booch, Rumbaugh] Las responsabilidades de una clase pueden ser de dos tipo: Conocer Hacer Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
227
Tipos de Responsabilidades
Curso Práctico de ADOO con UML Tipos de Responsabilidades Hacer Hacer algo por sí mismo Iniciar acciones en otros objetos Controlar y coordinar actividades de otros objetos Conocer Conocer datos encapsulados Conocer objetos relacionados Conocer cosas que pueda calcular o derivar Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
228
Asignación de Responsabilidades
Curso Práctico de ADOO con UML Asignación de Responsabilidades Es importante identificar a qué clase se le va asignar cierta responsabilidad Objetivos de una buena asignación de Responsabilidades Reusabilidad Mantenibilidad Componentes independientes y reutilizables Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
229
Curso Práctico de ADOO con UML
Patrones de Diseño Son soluciones a problemas de diseño que ya han sido probadas y han demostrado su eficacia, y a las cuales se les proporciona un nombre con el cual puede ser referido. Se podrían considerar como tips para obtener buenos diseños. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
230
Patrones para Asignación de Responsabilidades
Curso Práctico de ADOO con UML Patrones para Asignación de Responsabilidades Experto Creador Bajo acoplamiento Alta cohesión Controlador Capas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
231
Curso Práctico de ADOO con UML
El Experto Si una clase requiere un dato debe enviar un mensaje a la clase que lo tenga como atributo o lo pueda calcular con sus atributos. O a alguna clase con la cual tenga relación en el diagrama de clases y que a su vez conozca a la, o las, clase(s) que tenga el atributo. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
232
Implementación del Experto
Curso Práctico de ADOO con UML Implementación del Experto :Venta :RenglonVenta 1* : [for each] rv := next () :Venta t := total ( ) Venta Fecha Hora RenglonVenta cantidad Producto Precio rv:RenglonVenta 2: rt := subtotal ( ) Total ( ) subtotal ( ) ¿A quién le pedimos que nos proporcione el total de una venta? Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
233
Curso Práctico de ADOO con UML
El Creador Cuando se tiene que crear una nueva instancia u objeto de una clase, el que solicita su creación debe ser alguien que lo “conozca” o contenga en el diagrama de clases. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
234
Implementación del Creador
Curso Práctico de ADOO con UML Implementación del Creador :Venta agregarRenglonVenta (cantidad) Venta Fecha Hora agregarRenglonVenta ( ) total ( ) :RenglonVenta 1: create (cantidad ) ¿Quién instancia o crea los nuevos renglones de una venta? Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
235
Curso Práctico de ADOO con UML
Bajo Acoplamiento Entre menos relaciones haya entre las clases es mejor Cuando existen mensajes o llamadas entre 2 clases significa que hay una relación entre esas dos clases. El Bajo Acoplamiento disminuye la dependencia entre las clases y por lo tanto aumenta la posibilidad de poder reutilizarla sin necesidad de utilizar otras clases asociadas a esta. Alto Acoplamiento Bajo Acoplamiento Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
236
Implementación del Bajo Acoplamiento
Curso Práctico de ADOO con UML Implementación del Bajo Acoplamiento p:Pago 1: create ( ) :POST realizaPago ( ) Más Acoplado :Venta 2: agregaPago (p) :Venta 1: realizaPago ( ) :POST realizaPago ( ) p:Pago 1.1: crea (p) Menos Acoplado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
237
Curso Práctico de ADOO con UML
Alta Cohesión Una clase debe de hacer pocas cosas y muy especializadas. Los mensajes que recibe una clase deben ser para proporcionar servicios o información lógicamente relacionada. Una clase no debería de tener operaciones para calcular el total de una venta y para conectarse a un módem. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
238
Implementación de Alta Cohesión
Curso Práctico de ADOO con UML Implementación de Alta Cohesión p:Pago 1: create ( ) :POST realizaPago ( ) Baja Cohesión :Venta 2: agregaPago (p) :Venta 1: realizaPago ( ) :POST realizaPago ( ) p:Pago 1.1: crea (p) Alta Cohesión Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
239
Curso Práctico de ADOO con UML
Controlador Es recomendable que exista una clase que se encargue de coordinar o controlar la secuencia de pasos y condiciones generales de un caso de uso. Se puede generar una clase controladora para cada caso de uso. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
240
Implementación del Controlador
Curso Práctico de ADOO con UML Implementación del Controlador :POST agregarRenglonVenta (cantidad) :Tienda agregarRenglonVenta (cantidad) :Cajero agregarRenglonVenta (cantidad) :ManejadorVentas agregarRenglonVenta (cantidad) Clases apropiadas para controlar Una que represente al sistema Una que represente a la empresa o área operativa Una que represente el dispositivo El rol que lo coordina en el negocio Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
241
Curso Práctico de ADOO con UML
Capas Al especializar los servicios que puede proporcionar cada clase podemos separar lógicamente en diferentes capas las clases. Servicios de Usuario Servicios de Negocios Servicios de Datos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
242
Curso Práctico de ADOO con UML
Arquitectura de 3 Capas Serv. Usuario Serv. Negocios Serv. Datos Servicios de Usuario Son aquellas clases que hacen interface con el usuario. Los servicios u operaciones que deben implementar deben de ir orientados hacia el manejo de la interfaz de usuario y como intermediaria entre el usuario y la clase de negocios. Servicios de Negocio Son las clases que contienen toda la lógica y reglas de negocio. Generalmente son las clases de control. Servicios de Datos Son las clases que se encargan de la persistencia de los datos. Surgen directamente del dominio del negocio (del modelo conceptual), son las que deben de hacerse persistentes (versión de Microsoft) Carga de las clases desde la BD Actualización de los atributos de las clases hacia la BD Borrado de las clases almacenadas en la BD Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
243
Curso Práctico de ADOO con UML
Ejercicio Aplique los patrones de asignación de responsabilidades al diagrama de secuencia antes desarrollado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
244
Curso Práctico de ADOO con UML
Conclusiones La asignación de responsabilidades en el diseño de clases es uno de los aspectos más importantes y complicados Los patrones de diseño son soluciones ya probadas para desarrollar buenos diseños Los patrones para asignación de responsabilidades facilitan asignar los métodos a la clase más apropiada Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
245
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
246
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
247
Curso Práctico de ADOO con UML La Estructura Estática del Sistema
El Diagrama de Clases La Estructura Estática del Sistema Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
248
Curso Práctico de ADOO con UML
Objetivos Conocer los elementos de UML para modelar un diagrama de clases El alumno podrá desarrollar un diagrama de clases con base en los artefactos generados durante el análisis El alumno conocerá los elementos de un diagrama de clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
249
Curso Práctico de ADOO con UML
Diagrama de Clases Es el artefacto principal en el desarrollo orientado a objetos Muestra las clases en las que se implementará el sistema, sus relaciones, atributos y operaciones Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
250
Elementos en un Diagrama de Clases (1/2)
Curso Práctico de ADOO con UML Elementos en un Diagrama de Clases (1/2) Clases Atributos Operaciones Scope o alcance de atributos y operaciones Clase Es la descripción de un conjunto de objetos que comparten los mismos atributos, operaciones y relaciones. Algunos de estos surgen directamente de los conceptos obtenidos durante el análisis. Otros surgen de las interfaces. Algunas son clases “fabricadas” para llevar a cabo alguna responsabilidad especial de negocio o de sistema. Atributos Una caracterísitica o dato de una clase y a la cual se le da un nombre. Folio (característica de una venta) Edad (característica de una persona) Operaciones Un servicio que se le puede soliticar a un objeto para que realice cierto comportamiento. Nomina::GeneraNomina ( ) Robot::AvanzaUnPaso ( ) Persona::ObtenEdad ( ) Venta::ObtenTotal ( ) Firma de la Operación Es el nombre completo de una operación. Se puede mostrar opcionalmente en un diagrama de clases. Operación(Parm:TipoDato):TipoDatoOp ElevaTemperatura(Grados:Int):TemperaturaActual Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
251
Elementos en un Diagrama de Clases (2/2)
Curso Práctico de ADOO con UML Elementos en un Diagrama de Clases (2/2) Relaciones Elementos de las Asociaciones y Agregaciones Navegabilidad Roles Multiplicidad Visibilidad entre clases Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
252
Curso Práctico de ADOO con UML
Atributos Descripción de un dato que define a una clase El atributo debe tener especificado un nombre, tipo de dato y scope Cada objeto instanciado de una clase tiene su propio valor para el atributo Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
253
Curso Práctico de ADOO con UML
Operaciones Especificación de una transformación o query que puede ser solicitado a un objeto Consta de un nombre y una serie de parámetros (firma de la operación) Un método es la implementación de una operación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
254
Scope de Atributos y Operaciones
Curso Práctico de ADOO con UML Scope de Atributos y Operaciones Es la visibilidad que tienen las clases hacia los atributos y operaciones de una clase con la cual están relacionadas. Existen 4 tipos de scope: Público Privado Protegido Friendly Atributos Y Operaciones Públicas Son visibles a cualquier clase que tenga una relación con la clase que las contiene. Se modelan con un signo de más. Aunque un atributo podría declararse como público no se recomienda hacerlo más que en casos donde esto afecte el performance de manera crítica, pues se rompe con el concepto de encapsulamiento. Atributos Y Operaciones Privadas Sólo son visibles internamente en la clase que los contiene. En un diagrama de interacción sólo se pueden llamar en mensajes reflexivos. Se modela con un signo de menos. Atributos Y Operaciones Protegidas Sólo las clases hijas pueden ver a los atributos y operaciones protegidas. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
255
Control de Acceso y Encapsulamiento
Curso Práctico de ADOO con UML Control de Acceso y Encapsulamiento El control de acceso se emplea para reforzar el encapsulamiento Operaciones públicas Operaciones protegidas y privadas Atributos Privados Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
256
Especificación del Control de Acceso
Curso Práctico de ADOO con UML Especificación del Control de Acceso Se pueden usar símbolos de acceso en una clase para indicar la accesibilidad a sus atributos y operaciones + Acceso Público # Acceso Protegido - Acceso Privado ~ Acceso Friendly El acceso es concedido, de manera explícita, por la misma clase y no forzado por el cliente Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
257
Especificación del Control de Acceso
Curso Práctico de ADOO con UML Especificación del Control de Acceso + agregarAlumno () + estaLleno () # determinarTamañoCurso () - maxAlumnos - Nombre Curso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
258
Tipos de Relaciones entre Clases
Curso Práctico de ADOO con UML Tipos de Relaciones entre Clases Asociación Agregación y Composición Generalización Dependencia Curso Modulo Diplomado Alumno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
259
Curso Práctico de ADOO con UML
Asociación Es la relación más simple entre dos clases Indica que 2 clases pueden verse o solicitar sus servicios Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
260
Curso Práctico de ADOO con UML
Clases Asociación Una clase asociación contiene información perteneciente a un vínculo entre objetos Alumno Curso 3..10 4 Promedio Calificación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
261
Curso Práctico de ADOO con UML
Roles En términos de análisis indica el rol que toma una clase con respecto a otra en una relación de asociación En términos de implementación es el nombre de la instancia u objeto que se utilizará para solicitar los servicios de la clase y para asignarle valores a sus atributos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
262
Curso Práctico de ADOO con UML
Navegabilidad La asociación sin flechas indica que ambas clases pueden verse y comunicarse entre sí Pero, en ocasiones no es necesario eso, sino que una sola clase es la que requiere comunicarse con la otra, en este caso indicamos que existe navegabilidad hacia un solo lado por medio de una punta de flecha al final de la asociación Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
263
Curso Práctico de ADOO con UML
Agregación Es una clase especial de asociación donde una clase “contiene” a otra clase, o donde una clase “es parte de” otra clase Un Motor “contiene” Válvulas (o las válvulas son parte del motor) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
264
Curso Práctico de ADOO con UML
Composición Es un tipo de agregación más sólido donde las partes sólo existen cuando existe el contenedor Una mano está compuesta de dedos Si la mano desaparece los dedos no sirven de nada La parte sólo puede ser parte de un contenedor al mismo tiempo Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
265
Generalización (Herencia)
Curso Práctico de ADOO con UML Generalización (Herencia) Es una relación donde una clase es un tipo especial de otra clase. Es decir, tiene todas las características (atributos, operaciones y relaciones) de la súperclase más otras especiales Un carro es un tipo especial de transporte Existen dos formas de identificar la herencia: Generalización Especialización Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
266
Curso Práctico de ADOO con UML
Generalización Cuando obtenemos características comunes de varias clases para crear una súperclase de la cual van a heredar todas las subclases las características comunes Carro Barco Motor Llantas Motor Aspas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
267
Curso Práctico de ADOO con UML
Generalización Transporte Motor Carro Barco Llantas Aspas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
268
Curso Práctico de ADOO con UML
Especialización Es la técnica mediante la cual se identifica que una clase puede comportarse o tener características diferentes dependiendo de cierta situación o condición Identificamos cuáles son las características que nunca cambian y las dejamos en una súperclase, y las características especiales las ponemos en nuevas clases llamadas subclases Transporte Transporte Motor Motor Llantas Aspas Carro Barco Llantas Aspas Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
269
Curso Práctico de ADOO con UML
Dependencia Es un tipo de relación menos duradera que una asociación o una agregación La comunicación sólo es posible en momentos específicos de la clase dependiente (p.ej. cuando instancía o recibe como parámetro a la 2a clase) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
270
Curso Práctico de ADOO con UML
Visibilidad Existen cuatro opciones de visibilidad Global El objeto servidor es un objeto global Parámetro El objeto servidor es un parámetro de una operación del objeto cliente Local El objeto servidor se declara localmente dentro de uno de los métodos del objeto cliente Campo El objeto servidor es un campo contenido en el objeto cliente Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
271
Curso Práctico de ADOO con UML
Visibilidad Indica cómo y bajo que circunstancias pueden comunicarse dos clases relacionadas asociación, agregación o composición Por campo dependencia Local Por parámetro Global Tipo de Relación Visibilidad Visibilidad Global Es la visibilidad que adquiere una clase hacia otra clase debido a que la instancia fue declarada como global. Se modela por medio de una relación de dependencia desde la clase que requiere los servicios hacia la clase global. Visibilidad por Parámetro Es la visibilidad que adquiere una clase con otra en el momento en que entra como parámetro en una de sus operaciones. Factura::AgregaProducto (objProducto:Producto) La clase Producto es visible por parámetro a la clase Factura. Se modela por medio de una relación de dependencia. Visibilidad Local Es la visibilidad que adquiere una clase Servidor hacia una Cliente cuando es declarada una instancia de la clase Servidor dentro de una operación del Cliente. Mientras dura la operación de la Clase cliente se mantiene la relación con la clase servidor. Visibilidad por Campo Es la visibilidad que adquiere una clase Servidor hacia una Cliente cuando es declarada una instancia de la clase Servidor dentro de Cliente. En el diagrama de clases se refiere a las clases que tienen una relación de asociación o agregación con otra clase. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
272
Elaboración del Diagrama de Clases
Curso Práctico de ADOO con UML Elaboración del Diagrama de Clases Identificar operaciones y su scope (usar d. de interacción) Identificar atributos con su tipo de dato y scope Identificar relaciones entre clases (usar d. de interacción) Organizar clases en paquetes lógicos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
273
Información en Diagrama de Interacción
Curso Práctico de ADOO con UML Información en Diagrama de Interacción El diagrama de interacción es uno de los productos de entrada más importantes para elaborar el de clases Pasos para Refinar el Diagrama de Clases a partir del de interacción Convertir mensajes en operaciones Definir scope de las operaciones Decidir visibilidad requerida entre 2 clases comunicándose en el d. De interacción Si es global, local o por parámetro mostrar una dependencia en el d. De clases Si es por campo Identificar si es una relación de un todo con sus partes Si la parte, sólo es “parte” en una relación de composición, marcarla como composión Si no marcarla como agregación Si no, marcarla como asociación Mostrar la multiplicidad, navegabilidad y rol Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
274
Curso Práctico de ADOO con UML
Paquetes de Clases Las clases se pueden agrupar lógicamente en paquetes Las clases que se agrupan son las que guardan una relación cercana entre sí, ya sea de funcionalidad o de datos Estos grupos o paquetes lógicos de clases son los que suelen convertirse en componentes Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
275
Curso Práctico de ADOO con UML
Paquete de Clases Nómina Empresa Empleado Empresa Nómina Dirección Ventas Impuestos Venta Cliente Producto Factura Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
276
Curso Práctico de ADOO con UML
Ejercicio Desarrolle el Diagrama de Clases de Diseño con base en los artefactos antes generados Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
277
Curso Práctico de ADOO con UML
Conclusiones El diagrama de clases muestra la estructura estática del sistema Un diagrama de clases muestra las clases y sus relaciones Existen diferentes tipos de relaciones y visibilidad entre las clases Las clases se pueden agrupar lógicamente en paquetes para reducir la complejidad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
283
El Modelo de Componentes
Curso Práctico de ADOO con UML El Modelo de Componentes Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
284
Curso Práctico de ADOO con UML
Objetivos Usar UML para modelar los componentes que conforman a un sistema Conocer los elementos que conforman un diagrama de componentes Definir el concepto de desarrollo basado en componentes Enlistar los beneficios del desarrollo basado en componentes Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
285
Ingeniería Basada en Componentes
Curso Práctico de ADOO con UML Ingeniería Basada en Componentes Centrada en el diseño y construcción de software a partir de piezas reemplazables y reutilizables Se apega a la filosofía de “comprar, no construir” Supone una producción industrializada de software, en contraposición con una artesanal Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
286
Beneficios de la Ingeniería Basada en Componentes
Curso Práctico de ADOO con UML Beneficios de la Ingeniería Basada en Componentes Desarrollar con base en componentes Reutilización del software Simplifica las pruebas Simplifica el mantenimiento del sistema Aumenta la calidad Comprar componentes (no construir) Acelera el ciclo de desarrollo Mejora el ROI Facilidad de uso El paradigma de ensamblar componentes y escribir código para hacer que estos componentes funcionen se conoce como Desarrollo de Software Basado en Componentes. El uso de este paradigma posee algunas ventajas: Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización de software. Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los componentes antes de probar el conjunto completo de componentes ensamblados. Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre componentes, el desarrollador es libre de actualizar y/o agregar componentes según sea necesario, sin afectar otras partes del sistema. Mayor calidad. Dado que un componente puede ser construido y luego mejorado continuamente por un experto u organización, la calidad de una aplicación basada en componentes mejorará con el paso del tiempo. De la misma manera, el optar por comprar componentes de terceros en lugar de desarrollarlos, posee algunas ventajas: Ciclos de desarrollo más cortos. La adición de una pieza dada de funcionalidad tomará días en lugar de meses ó años. Mejor ROI. Usando correctamente esta estrategia, el retorno sobre la inversión puede ser más favorable que desarrollando los componentes uno mismo. Funcionalidad mejorada. Para usar un componente que contenga una pieza de funcionalidad, solo se necesita entender su naturaleza, más no sus detalles internos. Así, una funcionalidad que sería impráctica de implementar en la empresa, se vuelve ahora completamente asequible. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
287
Diagrama de Componentes
Curso Práctico de ADOO con UML Diagrama de Componentes Muestra las organizaciones y dependencias entre componentes y artefactos Componente Realización Interfaz Expuesta Manifestación El diagrama de componentes muestra las organizaciones y dependencias entre componentes y artefactos. Interfaz Requerida Artefacto Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
288
Curso Práctico de ADOO con UML
Componente Unidad auto-contenida que encapsula el estado y comportamiento de un conjunto de clasificadores Especifica un contrato con sus clientes y proveedores Unidad sustituible que puede ser remplazada por componentes que respeten sus mismas interfaces Un componente representa una parte modular de un sistema que encapsula su contenido y cuya manifestación es reemplazable dentro de su entorno Un componente define su comportamiento en términos de interfaces provistas y requeridas Un componente es una unidad auto-contenida que encapsula el estado y comportamiento de un conjunto de clasificadores. Un componente especifica un contrato tanto de los servicios que proporciona a sus clientes como de los servicios que requiere de otros componentes o servicios en el sistema en términos de sus interfaces provistas y requeridas Un componente es una unidad sustituible que puede ser reemplazada, ya sea en tiempo de diseño o en tiempo de ejecución, por cualquier componente que ofrezca una funcionalidad equivalente y apegada a sus interfaces. Mientras las interfaces requeridas y expuestas se apeguen a las restricciones definidas por una atmósfera, el componente podrá interactuar con dicho entorno. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
289
Interfaz Es una declaración del conjunto de características y obligaciones públicas que constituyen un servicio coherente ofrecido por un clasificador Especifica un contrato que obliga al que lo realiza a cumplirlo No especifica como implementarla, sólo lo que deben soportar quienes la realizan Dado que es una declaración, no es un elemento instanciable
290
Interfaces Provistas (1/2)
Conjunto de interfaces realizadas por un clasificador Representan las obligaciones que tienen las instancias del clasificador con sus clientes Describen los servicios que las instancias del clasificador ofrece a sus clientes
291
Interfaces Provistas (2/2)
292
Interfaces Requeridas (1/2)
Especifican los servicios que necesita un clasificador a fin de desempeñar su función y de cumplir sus propias obligaciones para con sus clientes Se especifican mediante una dependencia de uso entre el clasificador y la interfaz correspondiente
293
Interfaces Requeridas (2/2)
294
Realización Relación que existe entre un clasificador y una interfaz provista Significa que el clasificador se apega al contrato definido por la interfaz Realización
295
Curso Práctico de ADOO con UML
Artefacto Elemento concreto del mundo físico Representan la manifestación de un componente dentro del mundo físico A partir de UML 2.0 manifiestan a cualquier elemento empacable Un artefacto es la especificación de una pieza de información física que se usa o produce por un proceso de desarrollo de software, o por la distribución u operación de un sistema. Entre los ejemplos de artefactos se incluyen: archivos de modelos, archivos fuentes, scripts, archivos de ejecutables binarios, una tabla en una base de datos, un entregable del desarrollo, un mensaje de correo electrónico. Un artefacto definido por el usuario representa un elemento concreto del mundo físico. Una instancia particular de un artefacto se distribuye sobre la instancia de un nodo. Los artefactos pueden tener asociaciones de composición con otros artefactos que estén anidados en ellos. Por ejemplo, un artefacto “descriptor de distribución” para un componente puede estar contenido dentro del artefacto que implementa al componente. De esta manera, el componente y su descriptor son distribuidos sobre la instancia de un nodo como una instancia del artefacto. A diferencia de UML 1.X ahora los artefactos pueden manifestar cualquier elemento empacable, no sólo componentes. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
296
Dependencia entre Componentes (1/2)
Si un componente depende de otro significa que una clase del primer componente utiliza los servicios de una clase del segundo componente Factura depende de Productos Factura no funciona si no existe Productos, pero lo contrario si es posible
297
Dependencia entre Componentes (2/2)
La dependencia entre componentes también puede modelarse usando ensambles
298
Clases dentro de Componentes (1/4)
Para modelar que una clase se encuentra contenida dentro de un componente se usan relaciones de dependencia
299
Clases dentro de Componentes (2/4)
Alternativamente, las clases cuyos objetos realizan el comportamiento del componente pueden anidarse en éste
300
Clases dentro de Componentes (3/4)
Curso Práctico de ADOO con UML Clases dentro de Componentes (3/4) Recomendaciones para ubicar las clases de cada componente: Si en conjunto forman un objeto más complejo desde la perspectiva del usuario deben situarse en el mismo componente. Si el acoplamiento entre las clases es alto deben situarse en el mismo componente Si los servicios de una o un conjunto de clases son requeridos por varios componentes deben situarse en un componente independiente Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
301
Clases dentro de Componentes (4/4)
Curso Práctico de ADOO con UML Clases dentro de Componentes (4/4) Si: La clase P “es parte” de la clase T y La clase P NO “es parte” de ninguna otra clase La clase P y la clase T deben situarse en el mismo componente El componente debe ofrecer pocos servicios y muy especializados hacia el exterior Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
302
Curso Práctico de ADOO con UML
Ejercicio Agrupar las clases de diseño Actualizar el control de acceso para las operaciones Desarrollar el Modelo de Componentes Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
303
Curso Práctico de ADOO con UML
Conclusiones Un componente es una parte física reemplazable de un sistema Los componentes agrupan clases lógicamente relacionadas entre sí Los componentes pueden exponer o requerir una o varias interfaces Una interfase es un conjunto de servicios con un nombre La dependencia entre componentes indica que una clase dentro del componente cliente consume los servicios de otra ubicada en componente servidor Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
307
Modelo de Distribución
Curso Práctico de ADOO con UML Modelo de Distribución Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
308
Curso Práctico de ADOO con UML
Objetivos Modelar la arquitectura física de un sistema Conocer los elementos que conforman un diagrama de despliegue Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
309
Diagrama de Distribución
Curso Práctico de ADOO con UML Diagrama de Distribución Muestra: Los elementos de hardware sobre los que se montará el sistema Las conexiones entre los elementos de hardware La distribución física de los componentes de software sobre los recursos de hardware Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
310
Elementos Nodo Ruta de Comunicación Artefacto
311
Curso Práctico de ADOO con UML
Nodos Representan recursos de cómputo sobre los que se pueden distribuir los artefactos Pueden interconectarse para definir topologías de red Para indicar que un nodo se compone de otros nodos se usan composiciones Para indicar que un nodo soporta la ejecución de un componente se usa una dependencia con el estereotipo “deploy” (véase “Artefactos”) Posee dos especializaciones Dispositivos Entornos Ejecutables Un nodo es un recurso de cómputo sobre el cual se pueden distribuir artefactos para su ejecución. Los nodos pueden interconectarse mediante rutas de comunicación para definir estructuras de red. Los nodos jerárquicos se pueden modelar usando relaciones de composición o usando una estructura interna para el modelado avanzado de aplicaciones. Las flechas discontinuas con el estereotipo “deploy” muestran la capacidad de un tipo de nodo para soportar un tipo de componente. Alternativamente, esto se puede mostrar anidando los componentes dentro del nodo. Los nodos se pueden conectar con otros nodos mediante asociaciones. Una liga entre las instancias de nodos indican una ruta de comunicación entre estos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
312
Nodos – Dispositivos (1/2)
Curso Práctico de ADOO con UML Nodos – Dispositivos (1/2) Recurso físico de cómputo con capacidad de procesamiento Se modela usando un nodo con el estereotipo “device” Puede ser un elemento anidado cuando se quiere representar la descomposición de una máquina física en sus partes No estaban definidos en UML 1.x Un dispositivo es un recurso de cómputo físico con capacidad de procesamiento sobre el cual se distribuyen los artefactos para sus ejecuciones. Los dispositivos pueden ser complejos (pueden conformarse de otros dispositivos). Los dispositivos son especializaciones de los nodos. Un dispositivo puede ser un elemento anidado cuando se quiere modelar la descomposición de una máquina física en sus partes. Se modela usando un nodo con el estereotipo “device”. No estaban definidos antes de UML 2.0. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
313
Nodos – Dispositivos (2/2)
314
Nodos – Entornos Ejecutables (1/2)
Curso Práctico de ADOO con UML Nodos – Entornos Ejecutables (1/2) Nodo que ofrece un ambiente ejecutable para tipos específicos de componentes Sus instancias se asignan a otras instancias de nodos usando composiciones o mediante anidamiento Ejemplos: Sistemas Operativos, Motores de Flujos de Trabajo, Sistemas de Base de Datos o Contenedores de EJB’s No estaban definidos en UML 1.x Un entorno ejecutable es un nodo que ofrece un ambiente ejecutable para tipos específicos de componentes que son distribuidos sobre él en forma de artefactos ejecutables. Sus instancias se asignan a instancias de nodos usando composiciones entre ellas donde el entorno ejecutable juega el papel de parte. Los entornos de ejecución se pueden anidar (por ejemplo, el entorno ejecutable de una base de datos puede estar anidado en un sistema operativo). Los componentes del tipo apropiado son distribuidos en los entornos ejecutables específicos. Ejemplos típicos de entornos ejecutables estándar para los que los perfiles específicos pueden definir estereotipos son: “OS”, “workflow engine”, “database system” y “J2EE container”. Un entorno de ejecución opcionalmente puede poseer una interfaz explicita de los servicios a nivel del sistema que puede ser llamada por los elementos distribuidos, en esos casos el modelador desea hacer explícitos los servicios de software del entorno ejecutable. Los entornos ejecutables no estaban definidos en UML 1.x Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
315
Nodos – Entornos Ejecutables (2/2)
316
Rutas de Comunicación (1/2)
Curso Práctico de ADOO con UML Rutas de Comunicación (1/2) Asociación que se define únicamente en “objetivos de distribución” para modelar el intercambio de señales y mensajes entre ellos Estaban implícitas en UML 1.x. Se han hecho explicitas para modelar redes de nodos complejos Una ruta de comunicación es una asociación que se puede definir únicamente entre objetivos de distribución (ubicación de un artefacto distribuido) para modelar el intercambio de señales y mensajes entre ellos. Las rutas de comunicación estaban implícitas en UML 1.x. Estas se han hecho explícitas para formalizar el modelado de redes de nodos complejos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
317
Rutas de Comunicación (2/2)
Ruta de Comunicación
318
Curso Práctico de ADOO con UML
Artefactos (1/3) Elemento concreto del mundo físico Representan la manifestación de un componente dentro del mundo físico A partir de UML 2.0 manifiestan a cualquier elemento empacable Un artefacto es la especificación de una pieza de información física que se usa o produce por un proceso de desarrollo de software, o por la distribución u operación de un sistema. Entre los ejemplos de artefactos se incluyen: archivos de modelos, archivos fuentes, scripts, archivos de ejecutables binarios, una tabla en una base de datos, un entregable del desarrollo, un mensaje de correo electrónico. Un artefacto definido por el usuario representa un elemento concreto del mundo físico. Una instancia particular de un artefacto se distribuye sobre la instancia de un nodo. Los artefactos pueden tener asociaciones de composición con otros artefactos que estén anidados en ellos. Por ejemplo, un artefacto “descriptor de distribución” para un componente puede estar contenido dentro del artefacto que implementa al componente. De esta manera, el componente y su descriptor son distribuidos sobre la instancia de un nodo como una instancia del artefacto. A diferencia de UML 1.X ahora los artefactos pueden manifestar cualquier elemento empacable, no sólo componentes. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
319
Relación de Distribución
Artefactos (2/3) Se distribuyen sobre las instancias de los nodos Relación de Distribución
320
Artefactos (3/3) Pueden estar compuestos de otros artefactos
321
Especificación de Distribución
Curso Práctico de ADOO con UML Especificación de Distribución Parametriza la relación de distribución existente entre un artefacto y un nodo Ejemplos: Deployment Descriptor (J2EE), Web Config (ASP.NET) Una especificación de distribución es un mecanismo de propósito general para parametrizar una relación de distribución. Es muy común en varias tecnologías de hardware y software. Se espera que el elemento “especificación de distribución” sea extendido por perfiles de componentes específicos. Ejemplos no-normativos son: “concurrencyMode” con valores etiquetados {thread, process, none} o “transactionMode” con valores etiquetados {transaction, nestedTransaction, none}. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
322
Curso Práctico de ADOO con UML
Ejercicio: Elaborar el Diagrama de Distribución indicado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
323
Curso Práctico de ADOO con UML
Conclusiones El modelo de distribución muestra nodos (dispositivos o entornos ejecutables), rutas de comunicación y artefactos Los nodos son recursos de cómputo dentro de los que se ejecutan los artefactos Los artefactos son manifestaciones de los componentes en el mundo físico Las rutas de comunicación modelan el intercambio de señales y mensajes entre nodos Las especificaciones de distribución parametrizan la distribución de un artefacto en un nodo Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
325
Curso Práctico de ADOO con UML
Implementación La Interpretación del Diseño en UML a Código en Java y C# Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
326
Curso Práctico de ADOO con UML
Objetivos Conocer cómo se traduce cada uno de los elementos de diseño en UML a código en Java y C# Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
327
Curso Práctico de ADOO con UML
Implementación Proceso mediante el cual se escribe el código de un programa Con UML se pretende que el código sea el producto de salida en un proceso donde el producto de entrada es el diseño (diagramas de clases y de interacción principalmente) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
328
Vista Estática del Sistema
Curso Práctico de ADOO con UML Vista Estática del Sistema Los diagramas de clases indican la estructura estática del sistema, por lo que a partir de estos es posible armar el esqueleto o estructura del sistema en código La mayoría de las herramientas de modelado utilizan dicho modelo para generar el código Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
329
Estructura de una Clase
Curso Práctico de ADOO con UML Estructura de una Clase Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
330
Declaración de Atributos
Curso Práctico de ADOO con UML Declaración de Atributos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
331
Operaciones y Accesores / Mutadores (Java)
Curso Práctico de ADOO con UML Operaciones y Accesores / Mutadores (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
332
Operaciones y Propiedades (C#)
Curso Práctico de ADOO con UML Operaciones y Propiedades (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
333
Modificadores de Acceso (Java)
Curso Práctico de ADOO con UML Modificadores de Acceso (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
334
Modificadores de Acceso (C#)
Curso Práctico de ADOO con UML Modificadores de Acceso (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
335
Asociación, Agregación y Composición (Java)
Curso Práctico de ADOO con UML Asociación, Agregación y Composición (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
336
Asociación, Agregación y Composición (C#)
Curso Práctico de ADOO con UML Asociación, Agregación y Composición (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
337
Colecciones de Objetos (Java)
Curso Práctico de ADOO con UML Colecciones de Objetos (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
338
Colecciones de Objetos (C#)
Curso Práctico de ADOO con UML Colecciones de Objetos (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
339
Curso Práctico de ADOO con UML
Composición (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
340
Curso Práctico de ADOO con UML
Composición (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
341
Generalización (Java)
Curso Práctico de ADOO con UML Generalización (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
342
Curso Práctico de ADOO con UML
Generalización (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
343
Curso Práctico de ADOO con UML
Realización (Java) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
344
Curso Práctico de ADOO con UML
Realización (C#) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
345
Dependencia (por parámetro)
Curso Práctico de ADOO con UML Dependencia (por parámetro) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
346
Dependencia (por Visibilidad Local)
Curso Práctico de ADOO con UML Dependencia (por Visibilidad Local) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
347
Mensajes en Diagramas de Secuencia
Curso Práctico de ADOO con UML Mensajes en Diagramas de Secuencia Las flechas que van de una línea de vida a otra son mensajes entre los objetos El objeto que recibe el mensaje es el servidor y el que envía el mensaje es el cliente Un mensaje puede corresponder a una operación en una clase o a un trigger en un diagrama de estados :Avion :Vuelo Vuelo Asignar (IdAvion) VerificarSalida () Asignar (IdAvion) VerificarSalida ( ) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
348
Mensajes en un Diagrama de Interacción
Curso Práctico de ADOO con UML Mensajes en un Diagrama de Interacción public class Empresa { private Empleado MiEmpleado = new Empleado(); public void ContrataEmpleado ( Integer Id) String Nombre; MiEmpleado.Contrata (Id); Nombre = MiEmpleado.ObtenNombre (Id); } Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
349
Curso Práctico de ADOO con UML
Conclusiones El diseño en UML debe ser la entrada al proceso de codificación Cada uno de los elementos de diseño de UML tiene una representación en código El diagrama de clases representa el esqueleto o la estructura estática del sistema Los aspectos funcionales dentro de los procedimientos y funciones está definido por los diagramas de interacción Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
350
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
351
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
355
Curso Práctico de ADOO con UML
Máquinas de Estados Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
356
Curso Práctico de ADOO con UML
Objetivos Aprenderá a modelar los posibles estados de una clase por medio de un diagrama de transición de estados Entenderá el comportamiento de un sistema a partir de sus cambios de estado Podrá interpretar el diagrama de estados en código Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
357
Curso Práctico de ADOO con UML
Definición El diagrama de estados muestra: La biografía de un objeto Los eventos que causan la transición de un estado a otro Las acciones resultantes de un cambio de estado Muestra todos los posibles estados de un objeto Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
358
Curso Práctico de ADOO con UML
Ejemplos Simples Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
359
Curso Práctico de ADOO con UML
Estado Un estado es una condición o situación en la vida de un objeto durante la cual satisface alguna condición, realiza algunas actividades o está en espera de algún evento Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
360
Curso Práctico de ADOO con UML
Elementos Estados Transiciones Eventos Condiciones de Guarda Acciones Estados Anidados Historia Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
361
Curso Práctico de ADOO con UML
Estado Es una de las posibles condiciones en la que un objeto puede existir y está determinada por una de las 3: Valores de atributos Espera de algún evento Ejecución de alguna acción Nombre único a nivel de clase o a nivel de superestado Estados con el mismo nombre en un diagrama representan el mismo estado Abierto entry/ Registrar un alumno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
362
Estados Especiales o Pseudoestados
Curso Práctico de ADOO con UML Estados Especiales o Pseudoestados Estado Inicial. Un pseudo estado que indica el primer estado que toma un objeto cuando es creado Es obligatorio Sólo se permite uno Estado Final Indica el final de la vida de un objeto Es opcional Puede existir más de uno Inicializando do/ Inicializar el objeto curso RegistroCompletado do/ Generar lista del curso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
363
Curso Práctico de ADOO con UML
Transición de Estado Es un cambio del estado original a un estado sucesor como respuesta a un estímulo El estado sucesor puede ser el estado original En respuesta a un evento Al cumplirse una condición Abierto entry/ Registrar un alumno Cerrado do/ Reportar que el curso esta cerrado agregarAlumno [ numAlumnos = 10 ] evento (argumentos) [condición] / acción ^ objetivo.enviarEvento (argumentos) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
364
Curso Práctico de ADOO con UML
Eventos Es una ocurrencia que sucede en un instante de tiempo dado El estado de un objeto determina la respuesta a diferentes eventos Ejemplos: Agregar un alumno a un curso Crear un curso nuevo Abierto entry/ Registrar un alumno Cerrado do/ Reportar que el curso esta cerrado agregarAlumno [ numAlumnos = 10 ] Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
365
Curso Práctico de ADOO con UML
Condición de Guarda Es una expresión Booleana sobre el valor de los atributos de un objeto que se debe cumplir para que se dé la transición de estado Abierto entry/ Registrar un alumno Cerrado do/ Reportar que el curso esta cerrado agregarAlumno [ numAlumnos = 10 ] Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
366
Curso Práctico de ADOO con UML
Acciones Es una operación que puede estar asociada a una transición o a un estado Transición Instantáneas No interrumpibles Estado No instantáneas Interrumpibles Se ejecutan a la entrada, durante, a la salida o al ocurrir un evento. Abierto entry/ Registrar un alumno agregarAlumno / EnviarAviso [ numAlumnos = 10 ] Cerrado do/ Reportar que el curso esta cerrado Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
367
Estados Anidados o Compuestos
Curso Práctico de ADOO con UML Estados Anidados o Compuestos Registrando Cerrado do/ Reportar que el curso esta cerrado NoAsignado do/ Asignar profesor al curso Abierto entry/ Registrar un alumno H agregarAlumno / numAlumnos = 0 [ numAlumnos = 10 ] agregarAlumno Reducir la complejidad El superestado anida subestados Las transiciones comunes a los subestados se representan a nivel de superestado Anidamiento a cualquier nivel de profundidad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
368
Curso Práctico de ADOO con UML
Historia Al regresar a un superestado, éste recuerda cual fue el último estado visitado e inicia ahí Si la característica de historia no es empleada, al regresar al superestado se ingresará siempre al estado inicial Registrando Cerrado do/ Reportar que el curso esta cerrado NoAsignado do/ Asignar profesor al curso Abierto entry/ Registrar un alumno H agregarAlumno / numAlumnos = 0 [ numAlumnos = 10 ] agregarAlumno Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
369
Curso Práctico de ADOO con UML
Registrando Inicializando NoAsignado NoAsignado do/ Inicializar el objeto curso do/ Asignar profesor al curso do/ Asignar profesor al curso inscribirAlumno / numAlumnos = 0 agregarAlumno cerrarInscripciones[ numAlumnos >= 3 ] Abierto Abierto entry/ Registrar un alumno entry/ Registrar un alumno cerrarInscripciones[ numAlumnos < 3 ] RegistroCompletado do/ Generar lista del curso [ numAlumnos = 10 ] Cerrado Cerrado do/ Reportar que el curso esta cerrado do/ Reportar que el curso esta cerrado continuarRegistro H H cancelarCurso suspenderRegistro Suspendido Cancelado do/ Esperar 1 día Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
370
Curso Práctico de ADOO con UML
Teléfono Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
371
Curso Práctico de ADOO con UML
Consideraciones Durante el análisis, se debe poner especial atención en las clases que presentan un comportamiento significativamente dinámico Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
372
Curso Práctico de ADOO con UML
Conclusiones Un diagrama de transición de estados sirve para mostrar los posibles estados y transiciones de un objeto. Una transición indica el posible cambio de un estado a otro cuando ocurre un evento y/o se cumple una condición. Los estados compuestos o súper estados agrupan un conjunto de estados. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
373
Diagramas de Actividad
Curso Práctico de ADOO con UML Diagramas de Actividad Modelado de Negocios y Comportamiento de Casos de Uso Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
374
Curso Práctico de ADOO con UML
Objetivo El alumno aprenderá a describir un proceso utilizando los diagramas de actividad Entenderá los elementos que conforman un diagrama de actividad Aprenderá a describir escenarios y procesos utilizando diagramas de actividad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
375
Curso Práctico de ADOO con UML
Utilidad Modelar el flujo de trabajo de un proceso de negocio Modelar la secuencia de actividades dentro de un caso de uso Modelar información de codificación específica (Operación de una Clase) Uso de los Diagramas de Actividad. Una compañía puede emplear los diagramas de actividad para modelar el flujo de aprobación de pedidos o para modelar el seguimiento de facturas. Una firma de contadores puede emplear los diagramas de actividad para modelar un sin número de transacciones financieras. Una compañía de software puede emplear los diagramas de actividad para modelar un proceso de desarrollo de software. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
376
Propósito en el Modelado de Negocio
Curso Práctico de ADOO con UML Propósito en el Modelado de Negocio Entender la estructura y dinámica de una organización Asegurar que los clientes, usuarios finales y desarrolladores tengan un entendimiento común de la organización Determinar requerimientos sobre el sistema que dará soporte a la organización En los negocios y en otras industrias, existen varios manuales y sistemas automatizados. Cada uno de estos sistemas contiene uno o más flujos de trabajo. Un flujo de trabajo se define mejor como una secuencia bien definida de actividades que produce un valor observable u objetivo para un individuo o entidad bien desarrollada. Es posible modelar flujos de trabajo con diagramas de actividad. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
377
Curso Práctico de ADOO con UML
Elementos Estados y Actividades Transición de Estados Sincronizaciones Decisiones Carriles Objetos y Flujos de Objetos Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
378
Curso Práctico de ADOO con UML
Estados y Actividades Estado Inicial Actividad Estado Final Estado Inicial Muestra el principio de un flujo de trabajo Actividad Representa el desarrollo de una tarea dentro del flujo de trabajo Estado Final Muestra el término de un flujo de trabajo en un diagrama de actividad El estado inicial muestra, de manera explícita, el principio de un flujo de trabajo en un diagrama de actividad. Sólo puede existir un estado inicial por cada máquina de estados. Si se quieren hacer varios diagramas de actividad para representar una maquina de estados, se deberá emplear el mismo estado inicial en todos. Una actividad representa el desarrollo de una tarea o deber dentro del flujo de trabajo. Una actividad también puede representar la ejecución de una sentencia dentro de un procedimiento. Una actividad es similar a un estado, pero expresar el intento de que no exista una espera significativa (por eventos) dentro de una actividad. El estado final muestra, de manera explícita, el término de un flujo de trabajo en un diagrama de actividad. En un diagrama de actividad pueden existir más de un estado final, uno por contexto (cualquier estado que contenga subestados en un diagrama de estados anidado) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
379
Curso Práctico de ADOO con UML
Transición Transición Paso de una actividad a otra al ser completada Estado Inicial Estado Final Actividad 1 Actividad 2 Una transición de estado representa que un objeto en el estado origen desarrollará ciertas acciones específicas y entrará en el estado destino cuando ocurra un evento o cuando se cumplan ciertas condiciones. Una transición es una relación entre dos actividades, dos estados o entre una actividad y un estado. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
380
Curso Práctico de ADOO con UML
Sincronizaciones Ver un flujo de trabajo simultaneo Definen bifurcaciones y uniones Se representan mediante barras horizontales o verticales Las sincronizaciones permiten ver un flujo de trabajo simultaneo. Las sincronizaciones definen visualmente bifurcaciones y uniones representando flujos de trabajo paralelos. Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
381
Curso Práctico de ADOO con UML
Decisiones Lugar específico donde el flujo de trabajo puede ramificarse según una condición de guarda Pueden existir más de dos transacciones salientes, aunque la mayoría de las decisiones tendrán sólo dos Una decisión representa un lugar específico dentro del diagrama de actividad donde el flujo de trabajo puede ramificarse dependiendo de una condición de guarda Aunque pueden existir más de dos transacciones salientes, la mayoría de las decisiones tendrán sólo dos. Las cuales estarán determinadas por una expresión Booleana Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
382
Curso Práctico de ADOO con UML
Carriles Útiles para modelar flujos de trabajo de negocio Similares a un objeto Indican responsable de ejecutar una actividad específica Los carriles son útiles para modelar flujos de trabajo de negocio ya que pueden representar unidades organizacionales o roles dentro de un modelo de negocio. Los carriles son similares a un objeto ya que proporcionan una forma de decir quien esta desarrollando un cierto rol Al colocar actividades dentro de los carriles estamos diciendo quien es el responsable de ejecutar una actividad específica Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
383
Subprocesos de Negocio y Casos de Uso
Curso Práctico de ADOO con UML Subprocesos de Negocio y Casos de Uso A partir de las actividades definidas de un proceso de negocio se pueden identificar casos de uso del sistema Ejemplo: Del Proceso Registrar Orden surge un caso de uso “Registrar Orden” De Salida de Mercancía surge “Registrar Salida de Inventario” Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
384
Objetos y Flujos de Objetos
Curso Práctico de ADOO con UML Objetos y Flujos de Objetos Objeto Representan algo tangible Diagramar relaciones de entrada y salida entre actividades Flujo de Objeto Representa la relación entre una actividad y el objeto que la crea (como una salida) o usa (como una entrada) Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
385
Modelado de un Flujo de Eventos
Curso Práctico de ADOO con UML Modelado de un Flujo de Eventos Los casos de uso se pueden modelar también desde la perspectiva del usuario por medio de diagramas de actividad Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
386
Curso Práctico de ADOO con UML
Ejercicio Modele un diagrama de actividad para un proceso de negocio Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
387
Curso Práctico de ADOO con UML
Conclusiones El diagrama de actividades se utiliza para mostrar la secuencia de pasos en un proceso, en un caso de uso o en una operación Puede utilizarse para analizar y modelar procesos de negocio Permite mostrar los cambios de estados al entrar o salir de una actividad A partir de un diagrama de actividad de un proceso se pueden identificar casos de uso del sistema Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
388
Curso Práctico de ADOO con UML
¿Preguntas? UML Value Added Training Centers Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
389
Curso Práctico de ADOO con UML
Diplomado UML, Arquitectura de Software, CMM, el Proceso Unificado, JAVA y orientación a Objetos, Derechos Reservados © 2006, Sergio Orozco Arreguin, Paseos de los Jardines No. 233, Col. Paseos de Taxqueña, Del. Coyoacán.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.