Curso Práctico de ADOO con UML y Enterprise Architect.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
DIAGRAMAS DE CASOS DE USO
UML DCU -DS Alvaro Garrido V..
Lenguaje Unificado de Modelado
Diagrama de Colaboración
DISEÑO ORIENTADO AL OBJETO
TEMA 8: DIAGRAMAS EN UML.
Tomado de:
Prof. César Luza Montero
Etapas y actividades en el desarrollo OO basado en UML
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
LENGUAJE UNIFICADO DE MODELADO UML
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
DESCRIPCION DEL PROBLEMA
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Tema 10: Interfaces Antonio J. Sierra.
Modelado Arquitectónico
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
UNIDAD 3: “Desarrollo Orientado a Objetos con UML”
CASOS DE USO Peña Freddy Vargas Gerardolenin.
Requerimientos Funcionales y Casos de uso
INGENIERIA DE SOFTWARE
CS-432: Ingeniería Moderna de Software Semana 3
CASOS DE USO Ing. Sonia Godoy H..
DIAGRAMAS ENTIDAD RELACIÓN
Capitulo III CASOS DE USO Los casos de uso son un fenómeno interesante, durante mucho tiempo, tanto en el desarrollo orientado a objeto como en el tradicional,
Ingeniería de software
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Trainning DFD.
TEMA 9: DIAGRAMA DE CLASE EN UML
Ingeniería de Software Laboratorio V
Ingeniería de Software
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
Ingeniería de Requisitos
Ésta es la relación más común e importante. Se puede incluir una relación entre 2 casos de uso de tipo “include” si se desea especificar comportamiento.
Departamento de Informática Universidad de Rancagua Prof:Paula Quitral Introducción a UML Caso de uso Departamento de Informática Universidad de Aconcagua.
Fundamentos del Análisis Orientado a Objetos
Unified Modeling Language (Lenguaje de Modelamiento unificado)
UML – Lenguaje de Modelado Unificado
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
ANÁLISIS Y DISEÑO DE SISTEMAS Diagramas de Casos de uso Ing. Linda K. Masias M.
ANALISIS Y DISEÑO DE SISTEMAS II “DIAGRAMAS DE DESPLIEGUE ” INTEGRANTES: COPA PALMA CARLOS REYNALDO MAMANI PACO EDWIN ALVARO SIRPA LAURA HECTOR ELOY.
Curso Práctico de ADOO con UML y Enterprise Architect
DIAGRAMAS DE SECUENCIA. UML está compuesto por los siguientes diagramas:
Base de Datos I – Ing. Mary Carlota Bernal J. BASE DE DATOS I Diseño conceptual de Base de Datos Modelo Entidad - Relación.
1 Repaso de UML Análisis y Diseño de Sistemas de Información II Enero de 2004.
Modelado UML Diagramas de Casos de Uso
Tema 7: Ingeniería del software Definición de software El software es: 1. instrucciones (programas de computadora) que cuando se ejecutan proporcionan.
1 Qué es UML Es un Lenguaje de Modelado Unificado basado en una notación gráfica que permite especificar,construir, visualizar y documentar los objetos.
Diagrama de clases Silvia Herzovich Rodrigo Aronas Matias Silversteyn.
Unified Modeling Language UML. Ejemplo a desarrollar La Universidad XXX desea computarizar su sistema de registración – El secretario establece el plan.
Casos de Uso Técnica para entender y describir requisitos
Diagramas UML Richard Mora Republica Bolivariana de Venezuela Ministerio del poder popular para la educación I.U.T. Antonio José de Sucre Barquisimeto,
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente.
Entregables del Proyecto
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
UML Lenguaje Unificado de Modelado. Unified Modeling Language UML es un lenguaje de propósito general para el modelado orientado a objetos. Es un lenguaje.
Un diagrama de actividades ha sido diseñado para mostrar una visión simplificada de lo que ocurre durante una operación o proceso. Es una extensión.
Silvia Herzovich – Gabriel Weinstein – Matías Silversteyn 5to BTO SPI II.
Modelo del Proceso de Negocio Francisco Valdés Souto 2 al 6 de marzo 2009 © Avantare Consultores S. A. de C. V. – Derechos.
PLANEACION DE LA AUDITORIA. PLANEACI Ó N DE LA AUDITORIA LA NORMA 410, AL REFERIRSE A LA PLANEACI Ó N DE LA AUDITORIA, ESTABLECE QUE LA PLANEACI Ó N DE.
Introducción a la Ingeniería del Software 1 El Diseño de Software Caracteristicas: Proceso Creativo Requiere de experiencia e ingenio Necesita del aprendizaje.
Transcripción de la presentación:

Curso Práctico de ADOO con UML y Enterprise Architect

Qué Necesita el Usuario

Qué Pidió el Usuario

Cómo lo Vio el Analista

Cómo se Diseñó

Cómo lo Escribió el Programador

Cómo Funciona el Sistema (en ocasiones...)

La Moraleja La moraleja de la historia Comunicación Efectiva comunicación multi- disciplinaria La Torre de Babel Cada participante maneja su propio lenguaje

El Proceso de Desarrollo “Escribir código es sólo una parte del total de esfuerzo de desarrollo”

El Análisis y Diseño Orientado a Objetos

El Diagrama de Casos de Uso El Eje de la Calidad

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

Diagrama de casos de uso Muestra el Comportamiento del Sistema Muestra el Alcance del Sistema Interacciones con entidades externas

Elementos del diagrama de casos de uso Asociación Actor Caso de Uso

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.

Carlos imparte un curso y estudia un postgrado Carlos como Profesor Carlos como Alumno Una entidad, varios actores

Carmen estudia administración y Claudia diseño gráfico Carmen como Alumno Varias entidades, un actor Claudia como Alumno

Caso de Uso 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.

Diagrama de casos de uso

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

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

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»

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”

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. >

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» )

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 LocalLarga 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 Colgar5 Sistema B conecta con numero marcado 6 Sistema desconecta6 Colgar 7 Sistemas desconectan

Paquetes Los paquetes sirven para agrupar de una manera lógica elementos de UML y reducir la complejidad Casos de uso Clases Componentes Paquetes

Paquetes de casos de uso Un paquete de casos de uso representa agrupación lógica de funcionalidad. Ejemplo: módulos, subsistemas, sistemas.

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

Documentación de casos de uso Especificación de Casos de Uso y Escenarios

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

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

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.

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

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

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

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

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 Flujo principal Flujos excepcionales Flujos alternos

CU: Registrar Calificaciones Flujo principal 1.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. 2.El sistema le pide al Catedrático que le indique el examen que desea calificar. 3.El Catedrático le indica al sistema el examen programado que desea calificar. 4.El sistema le indica al catedrático que asiente las calificaciones obtenidas por los alumnos en el examen. 5.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.

CU: Registrar Calificaciones (cont.) Flujo principal 6.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.

CU: Registrar Calificaciones (cont.) Flujos alternos 5a.Identificar a los alumnos sin derecho a examen 1.El Catedrático le indica al sistema que identifique a los alumnos sin derecho a examen. 2.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.

CU: Registrar Calificaciones (cont.) Flujos excepcionales Cancelar el registro de las calificaciones 1.En cualquier momento, el Catedrático le puede indicar al sistema que desea cancelar el registro de calificaciones. 2.El sistema le indica al Catedrático que confirme la cancelación del registro. 3.El Catedrático confirma la cancelación del proceso. 4.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.

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

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

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

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...

Ejemplo de flujo de eventos Especifique el Caso de Uso indicado

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

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

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.

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. 1. Marco Aurelio Torres H. le indica al sistema que desea registrar las calificaciones resultantes de un examen 2. El sistema le pide a Marco Aurelio Torres H. que le indique el examen que desea calificar. 3.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. 4.El sistema le indica a Marco Aurelio Torres H. que asiente las calificaciones obtenidas por los alumnos en el examen indicado. 5.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. 6.El sistema registra las calificaciones obtenidas por Juan de la Barrera, Agustín Melgar y Francisco Márquez

Ejercicio Enlistar los posibles flujos Enlistar un escenario para cada flujo Describir a detalle uno de los escenarios

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

El Diagrama de Clases La Estructura Estática del Sistema

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

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

Elementos en un Diagrama de Clases (1/2) Clases Atributos Operaciones Scope o alcance de atributos y operaciones

Elementos en un Diagrama de Clases (2/2) Relaciones Elementos de las Asociaciones y Agregaciones Navegabilidad Roles Multiplicidad Visibilidad entre clases

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

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

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

Control de Acceso y Encapsulamiento El control de acceso se emplea para reforzar el encapsulamiento Operaciones públicas Operaciones protegidas y privadas Atributos Privados

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

Especificación del Control de Acceso + agregarAlumno () + estaLleno () # determinarTamañoCurso () - maxAlumnos - Nombre Curso

Tipos de Relaciones entre Clases Asociación Agregación y Composición Generalización Dependencia Curso Diplomado Modulo Alumno

Asociación Es la relación más simple entre dos clases Indica que 2 clases pueden verse o solicitar sus servicios

Clases Asociación Una clase asociación contiene información perteneciente a un vínculo entre objetos AlumnoCurso Promedio Calificación

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

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

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)

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

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

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 Motor Llantas Barco Motor Aspas

Generalización Transporte Motor Carro Llantas Barco Aspas

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 Motor Llantas Aspas Transporte Motor Carro Llantas Barco Aspas

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)

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

Visibilidad Indica cómo y bajo que circunstancias pueden comunicarse dos clases relacionadas asociación, agregación o composición Por campo dependenciaLocal dependenciaPor parámetro dependenciaGlobal Tipo de Relación Visibilidad

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

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

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

VentasEmpresaNómina Paquete de Clases EmpleadoEmpresa Dirección Venta Nómina Producto Cliente Impuestos Factura

Ejercicio Desarrolle el Diagrama de Clases de Diseño con base en los artefactos antes generados

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