capítulo 16. diagrama de clases uml - …ertello/swe/sesion12.pdf · 1 capítulo 16. diagrama de...
TRANSCRIPT
Capítulo 16. Diagrama de Clases UML
Florentino TORRES M.
CINVESTAV-Tamaulipas
15 de Oct del 2012
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 2 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 3 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Los Diagramas de clases están incluidos en UML para ilustrarclases, interfaces y sus asociaciones.
En capítulos anteriores se han visto los principios del diseñoorientado a objetos, en éste se explican los diagramas de clasespara ayudar a entender el diseño orientado a objetos.
En un nivel muy alto la notación del Diagrama de clases UMLpuede resumirse como muestra la siguiente imagen:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 4 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Notación Diagrama de Clases UML
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 5 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Los Diagramas de Clase UML pueden ser utilizados en múltiplesperspectivas, ya sea conceptual para ver el dominio del sistema oen la perspectiva de diseño para visualizar las clases.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 6 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 7 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
¿Qué es un clasificador? En UML un clasificador es un elementodel modelo que describe el comportamiento y características dela estructura, ejemplos de ellos son: clases, interfaces, casos deuso y actores.
En el diagrama de clases los más comunes son clases einterfaces.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 8 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Manera de mostrar los Atributos en UML:Usando atributos en forma de texto, ejemplo: venta: VentaUsando líneas de asociación: —–>O ambas
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 9 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Mostrar Atributos en UML
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 10 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
El formato completo para la notación de atributos es el siguiente:nombre : tipo = valor
También se pueden utilizar sintaxis de lenguajes de programaciónpara la declaración de atributos. Usando + para público y – paraprivado. Se asume que son privados si no se les asigna algunavisibilidad.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 11 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Mostrar Atributos en UML
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 12 / 70
Capítulo 16. Diagrama de Clases UML Aplicando UML: Notación de diagramas de clase común
Aplicando UML: Notación de diagramas de clasecomún
Notación para la asociación de clases
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 13 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 14 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
Método: conjunto de instrucciones que implementan unaoperación UML
Comentario o nota no tiene ningún impacto semántico.
Las restricciones UML deben de estar contenidas entre { }
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 15 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
Mostrar un método en un diagrama de Clases
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 16 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
Las operaciones son las asignaciones que están en la terceracaja de un diagrama de clases.
Si no se asigna visibilidad al método se asume que es público.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 17 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
¿Cómo mostrar métodos en diagramas de clase?
Un método es una implementación de una operación. Tiene dosmaneras de ilustrarlo:
Diagramas de interacción en forma de detalles y secuencia demensajes.En diagramas de clase mediante una nota que contenga la palabra«método»Ambas.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 18 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
Palabras reservadas: Son palabras que utilizan para representarun elemento del modelo, ejemplo:
«interface»representa una interface«actor»representa a la figura del actorabstract: representa una clase abstractaordered: grupo de objetos ordenados
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 19 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
PropiedadesEs un valor con nombre que denota a una característica de unelemento.name1 = valor1, nombre2 = valor2clase {abstract}etiqueta {left}
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 20 / 70
Capítulo 16. Diagrama de Clases UML Símbolos y cuerpos de los métodos
Símbolos y cuerpos de los métodos
Mostrando propiedades y palabras reservadas
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 21 / 70
Capítulo 16. Diagrama de Clases UML Dependencias
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 22 / 70
Capítulo 16. Diagrama de Clases UML Dependencias
Dependencias
Dependencia: Indica que un elemento1 está relacionado con unelemento2, y que cualquier cambio en el elemento1 podría afectaral elemento2. Las líneas de dependencia se marcan con líneaspunteadas. Las maneras de dependencia son:
Tener un atributo de tipo elemento1 en elemento2Enviar un mensaje a elemento1, donde elemento1 podría tener untipo de parámetro a recibir.Recibir un parámetro en elemento2 de un tipo específico deelemento1.Elemento1 es una superclase o interface.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 23 / 70
Capítulo 16. Diagrama de Clases UML Dependencias
Dependencias
Mostrando Dependencias
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 24 / 70
Capítulo 16. Diagrama de Clases UML Dependencias
Dependencias
Mostrando Dependencias
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 25 / 70
Capítulo 16. Diagrama de Clases UML Dependencias
Dependencias
Dependencias en Interfaces: Hay diferentes formas de mostrar lasdependencias en interfaces:
Notación socket:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 26 / 70
Capítulo 16. Diagrama de Clases UML Dependencias
Dependencias
Clock2 implementa la interfaz Timer. Windows2 usa una interfacecuando está colaborando con Clock2.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 27 / 70
Capítulo 16. Diagrama de Clases UML Agrupación y Composición
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 28 / 70
Capítulo 16. Diagrama de Clases UML Agrupación y Composición
Agrupación y Composición
Agrupación es una asociación para mostrar relaciones deinstancias.
Composición es una agrupación compuesta.Una instancia debe de pertencer solamente a una instanciacompuesta.No debe de haber instancias libres.Una instancia compuesta es responsable de crear y eliminarpartes.Si la instancia compuesta se destruye entonces las instanciastambién se destruyen.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 29 / 70
Capítulo 16. Diagrama de Clases UML Agrupación y Composición
Agrupación y Composición
Ejemplo de una composición UML
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 30 / 70
Capítulo 16. Diagrama de Clases UML Restricciones y Asociaciones
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 31 / 70
Capítulo 16. Diagrama de Clases UML Restricciones y Asociaciones
Restricciones y Asociaciones
Restricciones: Se muestran usando {}. Ejemplo:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 32 / 70
Capítulo 16. Diagrama de Clases UML Restricciones y Asociaciones
Restricciones y Asociaciones
Asociación Calificada: Es utilizada para seleccionar un objeto deun grupo de objetos más grande, Ejemplo:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 33 / 70
Capítulo 16. Diagrama de Clases UML Restricciones y Asociaciones
Restricciones y Asociaciones
Asociación de clases: Permite asociar clases así mismas comouna clase, y modelarla con atributos, operaciones y caraterísticas.Ejemplo:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 34 / 70
Capítulo 16. Diagrama de Clases UML Restricciones y Asociaciones
Restricciones y Asociaciones
Clases de instancia única: Es un tipo de clase que sólo se puedeinstanciar una vez, se debe de marcar con 1 en la esquinasuperior derecha.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 35 / 70
Capítulo 16. Diagrama de Clases UML Compartimientos definidos por el Usuario
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 36 / 70
Capítulo 16. Diagrama de Clases UML Compartimientos definidos por el Usuario
Compartimientos definidos por el Usuario
El usuario puede agregar compartimientos como sea necesario.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 37 / 70
Capítulo 16. Diagrama de Clases UML Clases Activas
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 38 / 70
Capítulo 16. Diagrama de Clases UML Clases Activas
Clases Activas
Una clase activa corre y controla su propio hilo de ejecución. Semuestra con dobles líneas verticales.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 39 / 70
Capítulo 16. Diagrama de Clases UML Clases Activas
Clases Activas
¿Cuál es la relación entre Diagrama de Interacción y Diagrama deClases?
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 40 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
1 Capítulo 16. Diagrama de Clases UMLAplicando UML: Notación de diagramas de clase comúnSímbolos y cuerpos de los métodosDependenciasAgrupación y ComposiciónRestricciones y AsociacionesCompartimientos definidos por el UsuarioClases Activas
2 Capítulo 17. GRASP: Diseño de Objetos con ResponsabilidadesGRASP: Diseño de Objetos con Responsabilidades
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 41 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
ObjetivosSe entenderá la esencia del diseño orientado a objetos.Entender las responsabilidades que son la clave de un buen diseñoorientado a objetos.Aprender los principios para el diseño orientado a objetos.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 42 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Diseño de objetos: Ejemplo de entradas.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 43 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Actividades del diseño de objetos:
En ésta parte el equipo se debe de reunir para llevar a cabo lassiguientes actividades de modelado:
Por dificultad.Interfaz de usuarioEl modelado de la base de datos.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 44 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
¿Cuáles son las salidas?Diagramas de Interacción.Diagramas de Clase.Prototipos de Interfaz.Modelos de Bases de Datos.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 45 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Responsibilidades y Diseño Enfocado a Responsabilidad (RDD)Manera de diseñar objetos de sofware o componentes, es decir,responsabilidades, roles y colaboraciones.Responsabilidad: Obligación de un clasificador.Hacer algo con un objeto, hacer un cálculo, etc.Coordinar actividades de otros objetos.Iniciar objetos.
Ejemplo: Una venta debe de ser capaz de agregar productos yconocer el total.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 46 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Grandes responsabilidades pueden incluir varias clases ypequeñas responsabilidades pueden ser métodos.
Por ejemplo, un objeto tipo venta debe de registrar los productos,calcular el total y para ellos necesita hacer uso de otros métodos
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 47 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
GRASP: Enfoque metódico para diseño orientado a objetos.Basado en patrones de asignaciones de responsabilidad.En los diagramas hay interacciones que suelen hacerse comométodos.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 48 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
¿Cuál es la conexión entre las responsabilidades GRASP y losdiagramas UML?
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 49 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
¿Qué son los patrones?Son principios que se utilizan para resolver problemas de maneraestructurada que describen el problema, la solución y el nombre.Ejemplo:Nombre del patrón: Asignación ResponsabilidadesProblema: ¿Cuál es el principio básico para la asignación deresponsabilidades a los objetos?Solución: Asignar la responsabilidad de la clase que tiene lainformación necesaria para cumplirla.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 50 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Pequeño ejemplo de un diseño de objetos con GRASP aplicado elcaso de estudio de monopolio
Hay 9 patrones GRASP pero sólo se verán los siguientes en ésteejemplo:
CreadorInformación de expertosBajo acoplamientoControladorAlta Cohesión
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 51 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Nombre: Creador
Problema: ¿Quién creará la clase A?
Solución: Asignar a la clase B la responsabilidad de crear la claseA.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 52 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
El diseño quedaría así:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 53 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Información de ExpertosNombre: Información de expertosProblema: ¿Cuál es el principio para asignar responsabilidades alos objetos de otros objetos?Solución: Asignar la responsabilidad a la clase que tenga lainformación necesaria de estos objetos.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 54 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
El diseño quedaría así:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 55 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Bajo AcoplamientoNombre: Bajo AcoplamientoProblema: ¿Cómo reducir el impacto del cambio?Solución: Asignar responsabilidades sólo cuando sean necesariaspara mantener un acoplamiento bajo.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 56 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Análisis del Diseño:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 57 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
ControladorNombre: ControladorProblema: ¿Qué objeto recibe y coordina la operación del sistema?Solución: Asignar la responsabilidad a un objeto que representeuna de estas opciones.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 58 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Análisis del Diseño:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 59 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Aplicando el principio:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 60 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Alta CohesiónNombre: Alta CohesiónProblema: ¿Cómo conservar los objetos enfocados, entendibles yadministrables con acomplamiento?Solución: Asignar la responsabilidad a un objeto que representeuna de estas opciones.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 61 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Análisis del Diseño:
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 62 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Aplicando GRASP a un diseño de Objetos.
GRASP: General Responsability Assignment Software Patterns
Los 9 patrones GRASP son:CreadorInformación ExpertosBajo AcomplamientoControladorAlta CohesiónPolimorfismoFabricación PuraIndirecciónVariaciones Protegidas
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 63 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Creador: Sale es un buen candidato para crear objetosSalesLineItem
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 64 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Información de Expertos: ¿Qué clase necesita conocer el total dela venta?
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 65 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Bajo Acoplamiento: Registrar el pago de una venta.
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 66 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Bajo Acoplamiento: Registrar el pago de una venta. (2 Opción)
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 67 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Controlador
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 68 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Controlador
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 69 / 70
Capítulo 17. GRASP: Diseño de Objetos con Responsabilidades GRASP: Diseño de Objetos con Responsabilidades
GRASP: Diseño de Objetos con Responsabilidades
Alta Cohesión
Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 70 / 70