Vista previa del material en texto
SESIÓN 06: Modelamiento del Diseño Orientado a Objetos Pregrado Qué es un objeto ? ’’ Un objeto tiene estado, comportamiento, e identidad; la estructura y comportamiento de objetos similares son definidos en su clase común; los terminos instancia y objeto son intercambiables ’’. Grady Booch ’91 ’’ Un objeto es cualquier cosa a la que se le aplica un concepto, el que representa una idea o noción que nosotros compartimos y aplicable a ciertos objetos en nuestro conocimiento ’’. James Martin ’92 Ingeniería de Sistemas Pregrado Clase Nivel superior de abstracción. Representa a un conjunto de elementos con características o detalles comunes. Es la descripción de un grupo de objetos con: Una semántica en común (nombre): Propiedades en común (atributos). Comportamiento similar (operaciones). La misma forma de relacionarse (asociaciones). Ingeniería de Sistemas Pregrado Clases Conceptuales Informalmente una clase conceptual es una idea, cosa u objeto. Formalmente una clase podría ser considerada en términos de su símbolo, intención y extensión. Símbolo: Palabras o imágenes representando una clase conceptual Ingeniería de Sistemas Pregrado Clase Se representa a través de un rectángulo dividido en tres partes. Parte 1: Se coloca el nombre de la clase. Parte 2: Se colocan los atributos. Parte 3: Se especifican las operaciones. Atributos Operaciones Nombre ... ... ... Ingeniería de Sistemas Pregrado Nombre de la clase Debe ser un sustantivo claro y preciso. Debe dar idea clara de la unidad de información que representa. La primera letra en mayúscula. El resto de las letras en minúscula. Aeropuerto Lugar Venta Transacción Piloto Rol Tienda Contenedor Ruta Descripción Avión Objeto físico Ingeniería de Sistemas Pregrado Nombre de la clase Factura Cliente Producto DetalleFactura Pais Ingeniería de Sistemas Pregrado Clase Atributos: Forma la parte estática de la clase. Representa una característica de la clase. Debe dar idea clara de la unidad de información que representa. Los valores del atributo establecen la diferencia entre los objetos. No debe representar una llave foránea. No debe representar características como tipo, estado, categoría, etc. Ingeniería de Sistemas Pregrado Atributo de la clase Nombrarse con un sustantivo claro y preciso. Puede formarse por una o varias palabras. Deben ser escritas de forma continua. Utilizar letra minúscula en su redacción. Si está compuesto por más de una palabra solo la primera letra de cada palabra a partir de la segunda debe escribirse en mayúsculas. Los elementos que definen al atributo son: Nombre, tipo de dato, valor inicial y visibilidad. Sintaxis. visibilidad nombre: tipodato = valorInicial Ingeniería de Sistemas Pregrado Clase Operaciones: Forma la parte dinámica de la clase. Representa un comportamiento de la clase. Significa un conjunto de acciones con un mismo objetivo a ser desarrollado por la clase. Debe dar idea clara de la acción que representa. Cada objeto de la clase tiene la capacidad de desarrollar la operación. Ingeniería de Sistemas Pregrado 10 Clase Atributos Operaciones Nombre Persona nombre apellido materno apellido paterno sexo edad comer() beber() dormir() Ingeniería de Sistemas Pregrado Es una relación entre clases que indican una conexión significativa e interesante. Está representada como una línea entre clases con nombre. La asociación es inherentemente bidireccional. Es convencional leer la asociación de izquierda a derecha o de arriba hacia abajo. MODELANDO LA ASOCIACIÓN Ingeniería de Sistemas Pregrado Ejemplo de Asociación Ingeniería de Sistemas Pregrado Multiplicidad Los roles contienen también una información de multiplicidad que precisa el número de instancias que participan en la relación. Ingeniería de Sistemas Pregrado Asociaciones entre clases La asociación es una relación que indica algún vínculo o conexión significativa entre dos clases. Las asociaciones modelan la forma en que se relacionan los objetos de las clases. Se representa a través de una línea continua Cliente Orden de Compra 0..n 1 emite Ingeniería de Sistemas Pregrado Asociaciones entre clases Los elementos que definen la asociación son: Nombre. Multiplicidad. Navegabilidad. Tipo. Cliente Orden de Compra 0..n 1 emite Ingeniería de Sistemas Pregrado Asociaciones entre clases Nombre. Frase verbal clara y precisa que refleja el propósito de relación. Describe la manera en que ocurre la asociación. No es elemento obligatorio. Se utiliza solo cuando mejora la comprensión de la asociación. Cliente Orden de Compra 0..n 1 emite Se lee: El cliente emite órdenes de compra Ingeniería de Sistemas Pregrado Asociaciones entre clases Multiplicidad o cardinalidad Especifica la cardinalidad de la asociación. Modela la cantidad de objetos de un extremo de la asociación que se asocian a un objeto del otro durante el tiempo de vida del sistema. Se representa a través de una numeración. Se coloca en cada extremo de la asociación. Cliente Orden de Compra 0..n 1 emite Ingeniería de Sistemas Pregrado Del ejemplo Registrar compra Actividad 1 Del caso de estudio Registrar compras, revise la especificación de los casos de uso: “Registrar Compras”. Luego, identifique las clases Entidad de la Capa de Dominio y muéstrelas en un diagrama de clases sin relaciones. Ingeniería de Sistemas Pregrado Ejemplo Ingeniería de Sistemas Pregrado Actividad 2 Revise nuevamente la especificación de los casos de uso: “Registrar compra” Identifique los atributos de las clases Entidad y muéstrelas en el diagrama de clases. Ingeniería de Sistemas Pregrado Ejemplo Ingeniería de Sistemas Pregrado Actividad 3 Revise nuevamente la especificación de los casos de uso: “Registrar compra”. Identifique las relaciones entre las clases Entidad y muéstrelas en el diagrama de clases. Asigne nombres a las relaciones de asociación y su multiplicidad. Ingeniería de Sistemas Pregrado Ejemplo Modelo Lógico Ingeniería de Sistemas Pregrado Práctica De la siguiente platilla genere: Diagrama de casos de uso, Diagramas de Clase de análisis, Diseño de la Arquitectura y Diseño de la capa de dominio (Diagrama de clase lógica) Ingeniería de Sistemas Pregrado Desarrolle los ejercicios propuestos Ingeniería de Sistemas Pregrado Lecturas recomendadas Craig Larman. (2003) “UML Y PATRONES una introducción al análisis y diseño orientado a objetos y al proceso unificado”, 2da edición.. Capitulo 17: Modelo de Diseño: realización de los casos de uso con los patrones GRASP. Capitulo 19: Modelo de Diseño: creación de los diagramas de clases de diseño. Capitulo 30: Diseño de la arquitectura lógica con patrones. Capítulo 31: Organización de los paquetes de los modelos de diseño e implementación. Ingeniería de Sistemas Pregrado Gracias por su participación Ingeniería de Sistemas Pregrado figura origen mover() redimensionar() dibujar() Empleado Empleado Cliente Recepcionista Orden Servicio genera registra Hoja1 1 uno y sólo uno 0..1 cero o uno m..n de "m" a "n" * muchos cero a muchos uno a muchos Hoja2 Hoja3 1uno y sólo uno 0..1cero o uno m..nde "m" a "n" * muchos 0.. * cero a muchos 1.. * uno a muchos