Académique Documents
Professionnel Documents
Culture Documents
y entender las especificaciones Extraer sustantivos de las especificaciones y construir una lista. Escoger los sustantivos que pueden estar escondidos (ej voz pasiva) y agregarlos a la lista. Identificar clases candidatas de esos sustantivos.
Identificar candidatos para la abstraccin de superclases por agrupamiento de clases que comparten atributos comunes. Escribir una declaracin corta del propsito de las clases.
un elemento importante en la arquitectura. Es claramente diferenciable de otros candidatos. Se relaciona con otras clases.
tiene responsabilidades que se sobreponen con otras. Cuando es un concepto vago. Cuando aparece fuera del sistema, es decir no se relaciona con otras clases. Cuando no agrega valor.
a las clases un buen nombre que lo identifique con lo que sabemos de el. Aquellos objetos que proveen servicios dar nombres que finalicen con er.(ej StringTokenizer). Escoger un nombre que no limite comportamiento.
Extraiga responsabilidades de la especificacin buscando acciones e informacin. Identifique responsabilidades implicadas por las relaciones entre clases. Distribuir uniformemente la inteligencia del sistema. Utilizar relaciones es un" para encontrar herencias en las relaciones. Utilizar relaciones "es-analogo-para" para encontrar superclases perdidas Utilizar relaciones "es-parte-de" para encontrar otras clases perdidas
Ej: persona, casa, empleado, maquina, etc. Evitar estructuras de implementacin (ej listas, conector de base de datos, etc). Con frecuencia las clases se corresponden con sustantivos. No preocuparse por la herencia en una primera fase.
Clases redundantes: 2 clases que expresan la misma informacin, hay que retener la que tenga el nombre mas descriptivo. Clases irrelevantes, vaga: Si una clase tiene poco o nada que ver con el problema debe ser eliminada.
Operaciones: Toda operacin que posea caractersticas propias debe ser modelado como clase.
criterios:
Asociaciones entre clases eliminadas Asociaciones irrelevantes Acciones (las asociaciones no deben describir suceso
transitorios)
Propiedades de objetos individuales como: nombre, velocidad, color, etc. No deben ser objetos. Utilizar asociaciones. Dar a cada atributo un nombre significativo. No exagerar en el descubrimiento de atributos durante el anlisis.
Objetos: Si es importante la existencia independiente de una entidad y no solo su valor se trata de un objeto.
Organizar las clases empleando la herencia para compartir una estructura en comn. La herencia se puede aplicar en dos direcciones:
Generalizando aspectos comunes de clases existentes en una superclase. Refinando las clases existentes para dar subclases especializadas
Bibliografa
Capitulo
3 del libro Object Design de Rebecca Wirts-Brock. 8 del libro Modelado y Diseo Orientado a Objetos de James Rumbaugh.
Capitulo