Dirección General de Servicios de Cómputo Académico (DGSCA)‏

Slides:



Advertisements
Presentaciones similares
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Fundamentos de Diseño de Software INFT.1
TEMA 8: DIAGRAMAS EN UML.
Tomado de:
UML 1.4 Peter Emerson Pinchao Solis.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
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.
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Diagramas de clases Modelan la vista estática del sistema
DIAGRAMA DE CLASE.
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
Tema 10: Interfaces Antonio J. Sierra.
Modelado Arquitectónico
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
(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 *
Ingeniería de Software
Diagramas de Clase Angela Carrillo R..
Viviana Poblete López Módulo: Modelo de Datos

DISEÑO DE SOFTWARE 1ª. Parte
Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.
Análisis y Diseño Orientado a Objetos utilizando UML
Programación Orientada Objetos
CS-432: Ingeniería Moderna de Software Semana 3
Organización y Estructuración de Datos
Ingeniería de software
Diagrama de Clases ACI 570.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
Ingeniería de Software
Clasificación de Diagramas
Diseño de Sistemas.
Introducción a la Programación Orientada a Objetos (POO)
Ingeniería de Requisitos
DIAGRAMA DE CLASES.
UML.
UML Casos de Uso (repaso) y Diagramas de Clase
Modelan la vista estática del sistema Elementos básicos: Clases Relaciones Objeto: Representación de una entidad discreta (real o abstracta) - Estado:
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
UML – Lenguaje de Modelado Unificado
ORIENTACIÓN A OBJETOS El paradigma.
La Programación Orientado a Objetos
Diagrama de Clases.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
DIAGRAMAS DE SECUENCIA. UML está compuesto por los siguientes diagramas:
Modelado UML Diagramas de Casos de Uso
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
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.
Modelado UML Diagrama de Clases
Unified Modeling Language UML. Ejemplo a desarrollar La Universidad XXX desea computarizar su sistema de registración – El secretario establece el plan.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Transcripción de la presentación:

Dirección General de Servicios de Cómputo Académico (DGSCA)‏ Modelado de Sistemas con UML Integrado por: Rebeca Núñez Alonso Eduardo A. Sánchez Rodríguez Septiembre, 2007 Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Representan las características estructurales DIAGRAMA DE CLASES Representan las características estructurales El diagrama de clases muestra las clases que hay en el sistema y las relaciones estáticas (asociación y agregación) entre ellas. Se consideran la columna vertebral de los métodos OO Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Elementos y relaciones utilizados. Un diagrama de Clase contiene: DIAGRAMA DE CLASES Elementos y relaciones utilizados. Un diagrama de Clase contiene: Clases. Interfaces. Relaciones de dependencia, generalización, asociación y realización. Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES Una clase es una descripción de un grupo de objetos con propiedades comunes (atributos), comportamiento común (operaciones) y relaciones comunes con otros objetos (asociaciones y agregaciones)‏ En análisis, representa una entidad conceptual del dominio del problema. En diseño, es una entidad detallada que representa una parte de la solución. En código, es un bloque de código Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES Una clase es una abstracción en la que ella: Enfatiza características relevantes Suprime otras características Una clase es una definición abstracta de un objeto Define la estructura y comportamiento de cada objeto en la clase Sirve como una plantilla para crear objetos Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES Perspectivas Clase Una clase es una descripción de un grupo de objetos con Los diagramas de clases se pueden construir desde tres perspectivas: CONCEPTUAL. Representa los conceptos del dominio que se está estudiando. Se dibujan sin importar el software con que se implementarán por lo que son independientes del lenguaje. Pueden ubicarse en el contexto del negocio (modelado de negocio) o del sistema. (Análisis) ESPECIFICACIÓN. Enfocados al software en su filosofía pero no en su implementación (Semántica de acción ). (Diseño) IMPLEMENTACIÓN. Se expone por completo la implementación. (Código) Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES Cómo identificar las clases en un problema Las clases surgen de la terminología de un área de conocimiento. Hay que prestar atención a: Los sustantivos (cosas, personas, hechos) ya que pueden convertirse en clases del modelo Los verbos que pueden ser operaciones de las clases o en clases por sí mismas Los atributos de una clase también se pueden identificar por sustantivos específicos que pueden tomar algún valor Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES El nombre de una clase debe ser un nombre singular que caracterice de la mejor forma a la abstracción La dificultad en el nombramiento de una clase puede indicar que una abstracción está pobremente definida Los nombres deben venir directamente del vocabulario del dominio Una guía de estilo debe dictar convenciones de nombres para clases. Ejemplo: Las clases se nombran usando sustantivos singulares Los nombres de clases empiezan con una letra mayúscula (JAVA) No se usan palabras subrayadas. Los nombres compuestos de palabras múltiples se ponen juntas y la primera letra de cada palabra adicional se escribe en mayúscula. Ejemplo: alumno, profesor, sistemaCobro Cómo nombrar las clases Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES Una clase se comprende de tres secciones Notación Una clase se comprende de tres secciones La primera sección contiene el nombre de la clase La segunda sección muestra la estructura (atributos)‏ La tercera sección muestra el comportamiento (operaciones)‏ Las secciones segunda y tercera pueden suprimirse si no es necesario que sean visibles en el diagrama profesor profesor nombre empID profesor crear( )‏ guardar( )‏ borrar( )‏ modificar( )‏ profesor nombre empID crear( )‏ guardar( )‏ profesor borrar( )‏ modificar( )‏ Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase Estructura Comportamiento DIAGRAMA DE CLASES Ejemplo Clase Curso Estructura Nombre Ubicación Días ofrecidos Créditos Hora inicio Hora término Comportamiento Agregar un alumno Borrar un alumno Obtener lista del curso Determinar si está lleno a + b = 10 OPERACIONES ATRIBUTOS Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

DIAGRAMA DE CLASES Mari G. Juan H. Susy L. Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase DIAGRAMA DE CLASES Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, relaciones y semántica Un atributo es una propiedad de una clase identificada con un nombre, que describe un rango de valores que pueden tomar las instancias de la propiedad Una abstracción de un tipo de dato o estado que puede incluir un objeto de la clase Una operación es la implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre un comportamiento Es una abstracción de algo que se puede hacer a un objeto y que es compartido por todos lo objetos de la clase Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

DIAGRAMA DE CLASES ¿Cuántas clases hay? Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Notación DIAGRAMA DE CLASES Ejemplo (2)‏ NOMBRE DE LA CLASE ATRIBUTOS OPERACIONES Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Notación DIAGRAMA DE CLASES Notación Existen dos notaciones posibles: Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Abstracción DIAGRAMA DE CLASES Conceptos Abstracción Omitir las propiedades y acciones de un objeto y dejar sólo aquellas que nos interesan Por ejemplo: cuando se estudia el cuerpo humano podemos abstraer diversos subsistemas (respiratorio, óseo, nervioso, etc.)‏ Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clasificación de Clases. DIAGRAMA DE CLASES Clasificación de Clases. Una variante de clase, es la Clase abstracta. Ésta a diferencia de una clase normal, no pueden ser instanciadas directamente pues posee métodos abstractos (aún no han sido definidos, es decir, sin implementación). La única forma de utilizarla es definiendo subclases, que implementan los métodos abstractos definidos. Una clase abstracta se denota con el nombre de la clase y de los métodos con letra "itálica" o “cursiva”. Gráficamente se representan como una clase pero el nombre emplea letras cursivas, como se muestra en la figura de “Clase abstracta”.

Clasificación de Clases. DIAGRAMA DE CLASES Clasificación de Clases. Cuando los objetos de una clase tienen uno o más procesos o hilos que constituyen flujos de control independientes se le llama Clase Activa. Gráficamente una Clase Activa se representa como una clase pero con los lados del rectángulo más obscurecidos Clase1 +Atributo1 +Atributo2 +Operacion1() +Operacion2()

Clasificación DIAGRAMA DE CLASES - Características Conceptos Clasificación Los objetos con la misma estructura y comportamiento son agrupados en clases Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Jerarquía DIAGRAMA DE CLASES - Características Conceptos Jerarquía Un sistema se compone de subsistemas (más pequeños) relacionados que tienen a su vez propios subsistemas, y así sucesivamente. derby procesador memoria medioTransporte automovil Estructural De tipos “es un” computadoraPersonal teclado “es parte de” cpu monitor Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

solicitaPermisoAterrizar DIAGRAMA DE CLASES - Características Conceptos Mensajes Para que los objetos de un sistema trabajen en conjunto, un objeto (cliente) envía a otro un mensaje para realizar una operación y el objeto receptor (proveedor) ejecutará la operación Un mensaje es la petición de un servicio. Ej: Un objeto le puede mandar un mensaje a otro para que le haga un servicio. La invocación de una operación es el tipo de mensaje más común mensaje torreControl avion solicitaPermisoAterrizar Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Mensajes (2)‏ DIAGRAMA DE CLASES - Características Conceptos Mensajes (2)‏ Un mensaje es una función de llamada (con nombre, parámetros y un resultado)‏ El nombre, tipos de parámetros y tipo del resultado se denomina firma (signature)‏ El conjunto de firmas de todas las operaciones sobre un objeto se denomina protocolo torreControl avion Si/no: permisoAterrizar (idAvion: String, hora:dateTime, origen:String, ...)‏ Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Estereotipos DIAGRAMA DE CLASES - Características Un estereotipo es un elemento que extiende o clasifica las características Se utilizan para especificar la semántica de elementos ya definidos en UML Son elementos generalizables (se pueden especializar o generalizar) Se pueden especificar en una clase encima o delante del nombre de la clase Cada clase puede tener como máximo un estereotipo Estereotipos comunes (para el diseño de soluciones)‏ Entity (Bussines)‏ Boundary Control Estereotipos Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Estereotipos (2) DIAGRAMA DE CLASES - Características Los Estereotipos se muestran en la parte donde se escribe el nombre de la clase entre << >> Se pueden definir los estereotipos según convenga. Otros ejemplos: Table, Page, HTML, etc. Ejemplos de estereotipos definidos por el usuario: <<controlador>> Tomar decisión, mantener estado. <<tener información>> Saber ciertos hechos, ejemplo: acerca de conceptos, reglas. <<estructurar>> Organizar y presentar objetos, ejemplo: : listas, colecciones, pilas, etc. <<coordinador>> Reaccionar a eventos, delegar. Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Estereotipos (3) DIAGRAMA DE CLASES - Características Entity Estereotipo <<entity>> Una clase entidad modela información y comportamiento asociado que es generalmente de larga vida (es persistente, en algún momento va a quedar almacenado)‏ Se obtienen de los sustantivos del problema Son de alto nivel (perspectiva conceptual) pero también puede necesitarse para las tareas internas del sistema ya que corresponden a las estructuras de datos (mapeo a Base de Datos) Definen el comportamiento para manipular esta información Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Estereotipos (4) DIAGRAMA DE CLASES - Características Entity Estereotipo <<entity>> Representan los objetos de negocio (análisis)‏ Las operaciones se caracterizan por: almacenar y obtener información crear y remover objetos el comportamiento cambiante si el objeto entidad cambia Para información persistente y el comportamiento acoplado a ella Ejemplos de clases entity (entidad) Curso Horario Catalogo de Asignaturas Producto Cliente Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

<<entidad>> DIAGRAMA DE CLASES - Características Estereotipos (5) <<entidad>> Depositar artículo Nombre: cadena valor depositado: ECU Total diario: entero Crear () Obtener_valor (entero) Incremento () Lata Botella Caja

DIAGRAMA DE CLASES - Características Estereotipos (6) Boundary Estereotipo <<boundary>> Las Clases Límite se utilizan para modelar la interacción entre el sistema y sus actores. Esta interacción a menudo implica recibir (y presentar) información y peticiones de (y hacia) los usuarios y los sistemas externos. Un ejemplo seria el sistema VPOS de un banco que valida que la tarjeta de crédito tenga saldo disponible y registra el cobro de un producto, en este ejemplo, es un intermediario entre el actor y el sistema de ventas. Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

DIAGRAMA DE CLASES - Características Estereotipos (7) Boundary Estereotipo <<boundary>> Representan a menudo abstracciones de formularios, páneles, impresoras, sensores. Ejemplos frmInscripcion formaDatosPersonales Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Estereotipos (6) DIAGRAMA DE CLASES - Características Control Estereotipo <<control>> Las clases de control representan coordinación, secuencia, transacciones y control de otros objetos y se usan con frecuencia para encapsular el control de un caso de uso en concreto. Las clases de control también se utilizan para representar derivaciones y cálculos completos, como la lógica del negocio que no pueden asociarse con ninguna información concreta, de larga duración, almacenada por el sistema Comúnmente se utiliza una por cada caso de uso, para que controle como va a funcionar. Para funcionalidad no necesariamente atada a otras clases Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

<<control>> DIAGRAMA DE CLASES - Características Estereotipos (6) Control Estereotipo <<control>> Definir el comportamiento no natural en las clases interface y entidad Fungir como “goma de pegar” entre clases en casos de uso Definir comportamientos típicos de control Mejorar el mantenimiento del sistema <<control>> Controlador Verificar_validez () Calcular_total () Mandar_a_imprimir () Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

<<business>> DIAGRAMA DE CLASES - Características Restricciones Restricciones Es una extensión semántica de UML, que permite añadir nuevas reglas o modificar las existentes. Gráficamente es representado entre ({…}).<<business>> En la figura de ejemplo, la clase <<business>> “colección” está obligada a que se ordene de manera ascendente por el indice. <<business>> colección obtenAtribElementos()‏ obtenElementosDe()‏ insertaElementoDe()‏ {ordenar ascendente y por el índice} Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

<<interface>> DIAGRAMA DE CLASES - Características Interfaz Interfaz Una interfaz define un conjunto de especificaciones de operaciones, pero nunca un conjunto de implementación de ellas. Gráficamente, una interfaz se representa como un círculo o una clase estereotipada con <<interface>>. La interfaz presenta su nombre, nombre de atributos y operaciones. <<interface>> Interfaz2 Interfaz Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

<<interfaz>> DIAGRAMA DE CLASES - Características Interfaz (2) Interfaz La interfaz se utiliza para modelar la interacción entre el sistema y sus actores. Esta interacción a menudo implica recibir (y presentar) información y peticiones de (y hacia) los usuarios y los sistemas externos. Las clases de interfaz modelan las partes del sistema que dependen de sus actores, lo cual implica que clarifica y reúnen los requisitos en los límites del sistema. <<interfaz>> Impresor de recibo imprimir (recibo) Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

<<interface>> DIAGRAMA DE CLASES - Características Difícilmente una interfaz se encuentra aislada, generalmente suele estar conectada a la clase o componente que la realiza (se tratará la relación de realización más adelante). Contienen la funcionalidad directamente dependiente del entorno del sistema Se centran en la interacción entre los actores y los casos de uso Representan a menudo abstracciones de ventanas, impresoras, terminales, etc. Interfaz (2) Interfaz <<interface>> Dispositivo de alarma sonido (alarma) Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Polimorfismo DIAGRAMA DE CLASES - Características Diferentes objetos pueden responder a un mismo mensaje de diferentes maneras. El polimorfismo permite a los objetos interactuar entre ellos sin necesidad de conocer previamente a que tipo pertenecen. Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Encapsulamiento DIAGRAMA DE CLASES- Características Conceptos Encapsulamiento La única forma de acceder a los datos (estructura) de un objeto es a través de las operaciones (métodos o comportamiento). Permite ocultar los detalles de la implementación de un objetos Los objetos ocultan la funcionalidad interna de sus operaciones, de otros objetos y del mundo exterior, pero brindan los mecanismos para accederla Estructura Comportamiento Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Encapsulamiento (2) DIAGRAMA DE CLASES - Características Visibilidad Los objetos ocultan la funcionalidad interna de sus operaciones, de otros objetos y del mundo exterior, pero brindan los mecanismos para acceder a ella mediante permisos: Public Accesible a todas las clases Protected Accesible sólo a las subclases y a la clase misma Private Accesible sólo a la clase Implementation Accesible únicamente por la implementación del paquete Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Relaciones DIAGRAMA DE CLASES Todos los sistemas contienen varias clases y objetos Los objetos contribuyen al comportamiento del sistema colaborando con unos y otros La colaboración se realiza a través de las relaciones La existencia de una relación entre dos clases denota una vía de comunicación (enlace) entre instancias de las clases, por las que un objeto puede enviar mensajes a otro Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Relaciones (2) DIAGRAMA DE CLASES Las relaciones en el diagrama de Clases son: Asociación Nombre, rol, multiplicidad Agregación (pertenencia)‏ Relación de tipo tiene-un Generalización (herencia)‏ Es un relación de “es-un-tipo-de” Dependencia Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación DIAGRAMA DE CLASES Una asociación es una conexión semántica bi- direccional entre clases Esto implica que hay una liga entre objetos en las clases asociadas Las asociaciones se representan en diagramas de clase por una línea que conecta las clases asociadas La información puede fluir en cualquier dirección o en ambas direcciones a través de la liga Asociación Asociación Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (2) DIAGRAMA DE CLASES Para clarificar su significado, se puede nombrar una asociación El nombre se representa como una etiqueta que se pone a lo largo de la línea de asociación, a mitad de camino entre los iconos de clases Un nombre de asociación es usualmente un verbo o una frase con verbo Asociación (2) Asociación (2)‏ realiza Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (3) DIAGRAMA DE CLASES Un rol denota el propósito o capacidad en la que una clase se asocia con otra Los nombres de roles son típicamente sustantivos o frases con sustantivo Un nombre de rol se pone a lo largo de la línea de asociación cerca de la clase que modifica Uno o ambos finales de una asociación pueden tener nombres de roles persona Maestro curso Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (4) DIAGRAMA DE CLASES es capital de Asociación simple ciudad nombre población es capital de Asociación simple país Joven nombre es novio de /es yerno de Asociación derivada Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (5) DIAGRAMA DE CLASES empresa nombre domicilio trabaja para Roles persona #IMSS empleador empleado

Ejemplos de asociaciones en UML DIAGRAMA DE CLASES Ejemplos de asociaciones en UML Usuario Estación de trabajo  autorizar en > Autorización prioridades privilegios iniciar sesión terminar sesión Notación para “clase asociada” Directorio 1 Nombre atributos operaciones Atributo Operación

Asociación (Multiplicidad) DIAGRAMA DE CLASES Asociación (Multiplicidad) Multiplicidad Multiplicidad es el número de instancias de una clase relacionadas a UNA instancia de la otra clase Para cada asociación, hay dos decisiones de multiplicidad que tomar: una por cada final de la asociación Por ejemplo, en la conexión entre “persona” jugando el rol de “maestro” con “curso” Para cada instancia de persona, varios cursos (cero o más) deben impartirse Para cada instancia curso, exactamente una “persona” es el maestro persona Maestro curso 0..* 1 Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (Multiplicidad) DIAGRAMA DE CLASES Multiplicidad Asociación (Multiplicidad) Cada final de una asociación contiene una multiplicidad de indicadores Indica el numero de objetos que participan en la relación. El cero marca la opcionalidad y el uno la obligatoriedad Exactamente uno Cero o más Uno o más Cero o uno Rango específico 1 0..* 1..* 0..1 2..4 Muchos * Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (Multiplicidad) DIAGRAMA DE CLASES Multiplicidad Asociación (Multiplicidad) La multiplicidad expone varias hipótesis ocultas acerca del problema que se está modelando ¿Puede estar un maestro en sabático? ¿Puede tener un curso dos maestros? persona Maestro curso 0..* 1 Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Asociación (Multiplicidad) DIAGRAMA DE CLASES Asociación (Multiplicidad) Multiplicidad La multiplicidad responde a dos preguntas ¿La asociación es obligatoria u opcional? ¿Cuál es el numero mínimo y máximo de instancias que pueden ligarse a una instancia? Maestro Curso 1 0..* ¿Qué le dice este diagrama? Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase Asociación DIAGRAMA DE CLASES Son las tablas transitivas. Si quisiéramos rastrear los grados para todos los cursos que un alumno ha tomado La relación entre alumno y course es una relación de muchos-a- muchos ¿Dónde ponemos el atributo de calificación? student 0..* 3-10 course Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Clase Asociación DIAGRAMA DE CLASES Crear una clase de asociación usando el icono clase Conectar el icono clase a la línea de asociación usando una línea punteada La clase de asociación puede incluir múltiples propiedades de la asociación Sólo se permite una clase de asociación por asociación student 1..* 3-10 course grade Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Agregación DIAGRAMA DE CLASES La agregación es una forma especializada de asociación en la que un todo se relaciona con su parte o sus partes Agregación es conocida como “parte de” o relación que contiene Una agregación se representa como una asociación con un diamante al lado de la clase denotando el agregado (todo)‏ La multiplicidad se representa de la misma manera que otras asociaciones. El diamante es de la clase que representa el todo y la otra es como un maestro detalle. Agregación Auto puerta Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Agregación(2) DIAGRAMA DE CLASES ¿Se usa la frase “parte de” para describir relaciones? Una Puerta es “parte de” un Carro ¿Se aplican algunas operaciones en el todo automáticamente a sus partes? Mover el Carro, Mover la Puerta ¿Se propagan algunos valores de atributos del todo a todas o algunas de sus partes? El Carro es azul, La Puerta es azul ¿Hay una asimetría intrínseca a la relación donde una clase se subordina a la otra? Una Puerta Es parte de un Carro, un Carro No Es parte de una Puerta Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Composición DIAGRAMA DE CLASES Se da cuando un objeto está contenido forzosamente dentro de otro. Es identificada por una relación de “Siempre contiene”. A diferencia de la agregación, la composición indica que el todo no puede existir sin sus partes. Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Gráficamente se especifica añadiendo a una asociación normal un rombo lleno en la parte del todo Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Composición DIAGRAMA DE CLASES Ejemplo de Composición ¿Se usa la frase “siempre contiene” para describir relaciones? Un Auto es “siempre contiene” un Motor Auto Motor Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Generalización DIAGRAMA DE CLASES La generalización permite conectar clases generales con otras más especializadas Se conocen como subclase/superclase o hijo/padre Es un relación de “es-un-tipo-de” Una clase hija hereda las propiedades de sus clases padres, especialmente sus atributos y operaciones Generalización Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Generalización(2) DIAGRAMA DE CLASES Las clases son organizadas jerárquicamente. Las clases hijas conservan la estructura y comportamiento de las clases padres La clase general es llamada superclase; la especialización subclase La superclase define un comportamiento (protocolo) que todas las subclases heredan Las subclases pueden agregar nuevos atributos y operaciones Las subclases pueden sobre-escribir operaciones (conservando la firma pero proporcionando distintas implementaciones); es decir puede heredar del padre de forma distinta Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Generalización(3) DIAGRAMA DE CLASES Ejemplos de generalización Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Generalización(4) DIAGRAMA DE CLASES Personal Bibliotecario Instructor Investigador Superclase Subclase Manejador de teclado de mouse de joystick

Dependencia DIAGRAMA DE CLASES Las dependencias son relaciones de uso Indican que un cambio en la especificación de un elemento puede afectar a otro elemento que la utiliza Se representa con una línea discontinua dirigida hacia el elemento del cual se depende Se utilizan generalmente en el contexto de las clases o entre paquetes Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Dependencia(2) DIAGRAMA DE CLASES Ejemplo de Dependencia La creación del objeto Comercial esta condicionado a la instanciación proveniente desde el objeto CanalTV, es decir, el Objeto Comercial depende del Objeto CanalTV. Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Paquetes DIAGRAMA DE CLASES Un paquete es un mecanismo de propósito general para organizar elementos en grupos Se visualizan como carpetas Nombre del paquete Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Relaciones entre paquetes DIAGRAMA DE CLASES Relaciones entre paquetes Los paquetes se relacionan unos a otros usando una relación de dependencia Si una clase en un paquete “habla” con una clase en otro paquete entonces se agrega una relación de dependencia en el nivel de paquete Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Ventajas DIAGRAMA DE CLASES Facilita la re-utilización de la arquitectura y el código Los modelos reflejan de manera más cercana el mundo real Describe con mayor exactitud los procesos y datos incorporados Descomposición basada en partición natural. Representa los objetos de una forma real, es decir una clasificación. Más “fácil” de entender y mantener Estable Un cambio pequeño en requerimientos no significa cambios masivos en el sistema en desarrollo Diplomado de Comercio Electrónico - DGSCA - Agosto 2001

Evolución del diagrama de clases en el Análisis y Diseño Durante el análisis: Se establecen clases (principalmente entity) y conexiones básicas (asociaciones, agregaciones y generalizaciones)‏ Estas conexiones existen debido a la naturaleza de las clases, y no debido a una implementación específica Se hace una estimación inicial de multiplicidad para exponer hipótesis ocultas Durante el diseño: Se consideran otros estereotipos de clase (boundary y control)‏ Se refinan y actualizan las estimaciones de multiplicidad Se evalúan y refinan las relaciones Se detallan los tipos y firmas (signature)‏ Diplomado de Comercio Electrónico - DGSCA - Agosto 2001