18
Identificando las clases del modelo  Análisis de Sistemas II Lic. Jorge Acosta Lic. Javier Rabuch

Identificando Las Clases Del Modelo

Embed Size (px)

Citation preview

  • Identificando las clases del modeloAnlisis de Sistemas IILic. Jorge Acosta Lic. Javier Rabuch

  • Segn Wirfs-BrockIdentificar clases candidatasLeer y entender las especificacionesExtraer 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.

  • Segn Wirfs-BrockIdentificar clases candidatasIdentificar candidatos para la abstraccin de superclases por agrupamiento de clases que comparten atributos comunes.

    Escribir una declaracin corta del propsito de las clases.

  • Segn Wirfs-BrockCuando mantener una clase candidataEs un elemento importante en la arquitectura.Es claramente diferenciable de otros candidatos.Se relaciona con otras clases.

  • Segn Wirfs-BrockCuando descartar una clase candidataCuando 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.

  • Segn Wirfs-BrockNombres de las clases

  • Segn Wirfs-BrockNombres de las clasesDar 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.

  • Segn Wirfs-BrockResponsabilidades de las clasesExtraiga 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 perdidasUtilizar relaciones "es-parte-de" para encontrar otras clases perdidas

  • Segn Rumbaugh - 10 pasos1. Identificar clases de objetos

    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.

  • Segn Rumbaugh2. Retener clases candidatasSe descartan segn el siguiente criterio:

    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.

  • Segn Rumbaugh3. Preparar un diccionario de datos Preparar un diccionario con todas las entidades del modelo y un prrafo que describa cada clase.

  • Segn Rumbaugh4. Identificar asociaciones Identificar las relaciones entre las clases y No emplear mucho tiempo en distinguir entre una asociacin y una agregacin.

  • Segn Rumbaugh5. Retener asociaciones correctasEliminar relaciones que cumplan los sig criterios:Asociaciones entre clases eliminadasAsociaciones irrelevantesAcciones (las asociaciones no deben describir suceso transitorios)Asociaciones ternariasAsociaciones derivadas

  • Segn Rumbaugh6. Identificar atributosAtributos: 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.

  • Segn Rumbaugh7. Retener atributos correctos

    Eliminar Objetos: Si es importante la existencia independiente de una entidad y no solo su valor se trata de un objeto.

  • Segn Rumbaugh8. Refinamiento mediante herenciaOrganizar 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

  • Segn Rumbaugh10. Iteracin del modelo de objetos Difcilmente en la primera iteracin el modelo de objetos quede correcto. Si se encuentra un error hay que volver a la etapa anterior para corregirlo.

  • BibliografaCapitulo 3 del libro Object Design de Rebecca Wirts-Brock.

    Capitulo 8 del libro Modelado y Diseo Orientado a Objetos de James Rumbaugh.