Clase: Una descripción de uno o más objetos con un conjunto de atributos y servicios uniformes, incluyendo una descripción de cómo crear nuevos objetos en la clase.
Clase y Objeto: Un término que se refiere tanto a la clase como a los objetos que ocurren en la clase.
En el análisis de clases y Objetos se identifican las clases y los objetos candidatos para la aplicación a desarrollar. Las clases y los objetos se pueden obtener haciendo un análisis gramatical de la descripción del problema, subrayando términos que podrían ser representados con objetos dentro del sistema. Dentro del análisis gramatical de la descripción del problema, los objetos se pueden manifestar de la siguiente manera:
- Entidades externas: (otros sistemas, dispositivos, gente) que producen o consumen información a ser utilizada en el sistema.
- Cosas: (informes, visualizaciones, cartas, señales) forman parte del dominio de información del problema.
- Ocurrencias o Sucesos: (una transferencia de una propiedad o la terminación de una serie de movimientos de un robot) ocurren en el contexto de operación del sistema.
- Papeles: (gestor, ingeniero, vendedor) son jugados por personas que interactúan con el sistema.
- Unidades organizativas: (división, grupo, equipo) son relevantes para la aplicación.
- Lugares: (sala de facturación, muelle de descarga) establecen el contexto del problema y el funcionamiento general del sistema.
- Estructuras: (sensores, vehículos de cuatro ruedas, computadoras) definen clases de objetos.
Para representar las clases, los objetos y las clases objetos, se utiliza la siguiente notación:
Las clases son representadas por cuadros rectangulares redondeados divididos en tres partes. El nombre de la clase se muestra en la división superior del cuadro. Las otras dos divisiones se usan para las capas de atributos y servicios. Cuando una clase aparece sin objetos, puede ser solamente una clase base, ya que la única razón para que tal clase exista, es que sea un medio para agrupar atributos y servicios que serán heredados por varias otras clases.
Los objetos que tienen ocurrencia de una clase son representados por un cuadro sombreado rodeado por la clase. Debido a que los objetos tienen ocurrencias de una clase, no es posible que objetos existan independientemente de su clase.
Coad y Yourdon proporcionan la notación clase y objeto para distinguir gráficamente entre estructuras y mensajes que están orientados hacia la clase (tales como el mensaje “crear una nueva ocurrencia de un objeto”) de estructuras y mensajes orientados al objeto (“tal como “Quitar motor””).
A continuación se muestran criterios que se pueden usar para determinar si se justifica una nueva clase de objetos:
- Hay necesidad de recordar el objeto. Esto es que si el objeto puede ser descrito en un sentido definido y sus atributos son relevantes para el problema.
- Hay una necesidad de determinados comportamientos del objeto. Aunque un objeto no tenga atributos, hay servicios que debe proporcionar o estados de objeto que deben ser llamados.
- Usualmente un objeto tendrá varios atributos. Los objetos que tienen solamente uno o dos atributos sugieren diseños sobre analizados.
- Usualmente una clase tendrá más de una instancia de objetos, a menos que sea una clase base.
- Usualmente los atributos tendrán siempre un valor significativo para cada objeto de la clase. Los objetos que producen un valor nulo para un atributo, o para los que no es aplicable un atributo, por lo general implican una estructura generalización-especialización.
- Usualmente los servicios siempre se comportarán en la misma forma para todos los objetos de una clase. Los servicios que varían dramáticamente para algunos objetos de una clase o que regresan sin realizar acción para algunos objetos también sugieren una estructura generalización-especialización.
- Los objetos deben implementar requerimientos que son derivados del problema y no de la tecnología de solución. La parte de análisis del proyecto Orientado a Objetos no debe ser dependiente de una tecnología de implementación particular. Los objetos que atienden tales detalles técnicos no deben aparecer sino hasta muy tarde en la etapa de diseño. Los dependientes de la tecnología sugieren que el proceso de análisis tiene fallas.
- Los objetos no deben duplicar atributos o servicios que pueden ser derivados de otros objetos en el sistema.
No hay comentarios:
Publicar un comentario