Análisis de la Estructura de Objetos.
Análisis de la Estructura de Objetos.
El análisis de la estructura de objetos (AEO) define las categorías
de los objetos que percibimos y las formas en que los asociamos.
Objetos y Tipos de Objetos.
En el análisis se trata de identificar los tipos de objeto más
que los objetos individuales en un sistema. Los tipos de objetos se definen
en base a la comprensión del analista de nuestro mundo. Un objeto
puede categorizarse de variadas formas.
Representación para Tipo de Objeto (Persona).
Asociaciones de Objetos.
Es importante modelar la forma como los objetos se asocian entre sí.
Además es necesario identificar el significado de la asociación
y la cantidad de objetos con los que un objeto dado puede y debe asociarse
(cardinalidad).
Representación para la Asociación entre dos Tipos de Objetos.
Un objeto del tipo persona posee cero o muchos objetos del tipo vehículo.
Un objeto del tipo vehículo es de un y sólo un objeto del
tipo persona.
Jerarquías de Generalización.
Una de las vías de sentido común por las que el hombre organiza
su volumen de conocimiento es el de las jerarquías, de lo más
general a lo más específico.
Representación de una Jerarquía de generalización,
para el tipo de objeto Persona.
En las jerarquías se habla de subtipo o especialización
de un supertipo o generalización. En el caso anterior, persona es
el supertipo para Empleado y Estudiante, que son sus subtipos. Por otra
parte, Empleado es el supertipo para los subtipos Ejecutivo y Vendedor.
Los subtipos (niveles inferiores de la jerarquía) heredan las características
de sus supertipos, además, cada instancia de un tipo de objeto lo
es también de sus supertipos.
Jerarquías Compuestas.
Un objeto se denomina complejo si está formado por otros. Las jerarquías
Compuestas permiten realizar agregaciones de objetos.
Representación de una Jerarquía Compuesta.
Un objeto del tipo edificio se compone de a lo menos un objeto del tipo
piso. A su vez un objeto del tipo piso se compone de a lo menos un objeto
del tipo pasillo, podría tener varios (o ninguno) objetos del tipo
baño y oficina.
Diagramas de relación entre los objetos.
Los tipos de objetos están relacionados con otros tipos de objeto.
Por ejemplo, un empleado trabaja en una sucursal, o un cliente realiza
un pedido de varios productos.
Diagrama de Relación entre objetos.
Un objeto del tipo cliente puede ordenar muchos objetos del tipo pedidos,
y un objeto del tipo pedido es ordenado por un y sólo un objeto
del tipo cliente. Un objeto del tipo producto está en muchos o ningún
objeto del tipo pedido, mientras que un objeto del tipo pedido tiene al
menos un objeto del tipo producto.
Esquemas de Objetos.
La comprensión de un modelo suele ser más sencilla si los
tipos de objetos y relaciones se presentan mediante un diagrama de relación
entre objetos; los supertipos y subtipos se presentan en un diagrama de
jerarquías de generalización y las estructuras compuestas
en un diagrama compuesto. Sin embargo, para los usuarios más sofisticados
puede ser útil presentarlo todo en un mismo diagrama, el que se
denomina esquema de objetos.
Ejercicios.
a.
Diseñe la estructura de un sistema que maneje la información
de productos en una librería, que vende libros técnicos y
novelas.
Las novelas se clasifican como de ciencia ficción, romance,
misterio, juveniles y policiales. Los libros técnicos se clasifican
como de ingeniería, ciencias naturales o ciencias sociales.
Cada libro tiene un título, uno o más autores, una
editorial, un año de edición y un formato (tapas duras o
edición económica). Los libros técnicos tienen además
un código ISBN y capítulos, los que tratan una o más
materias.
La librería obtiene los libros por medio de proveedores
que representan a una o más editoriales. De cada libro se tiene
un stock (que puede ser cero). Al venderse un libro, el stock se actualiza.
Si un cliente requiere un libro cuyo stock es cero, se puede realizar un
encargo por parte del cliente. Esto significa que se pide el libro a un
proveedor de la editorial del libro.
b.
El jefe de una organización de desarrollo de software desea
administrar el desarrollo de los proyectos.
Cada proyecto de desarrollo de software está a cargo de
un jefe de proyecto, el cual lidera y coordina al equipo de proyecto, conformado
por un grupo de análisis y diseño, un grupo de construcción
y un representante de los usuarios que solicitó el software.
Cada proyecto contempla el desarrollo de una o más softwares
(aplicaciones) que se componen a su vez de elementos de software (aplicaciones
módulo). Cada elemento de software tiene un nombre, un responsable
del análisis y diseño (miembro de ese grupo), un responsable
de la construcción (miembro del grupo de construcción), una
fecha de actualización (la última) y un plan de test (a desarrollar
por el equipo de SQA ).
Un plan de test es una declaración narrativa de las pruebas
a aplicar al elemento de software para aprobarlo o no. El equipo SQA pertenece
a la organización, pero debe ser independiente del equipo de desarrollo
del software que contiene al elemento a evaluar.
Se desea poder manipular esta información y generar reportes
de todos los proyectos en desarrollo.
Utilice las técnicas orientadas al objeto revisadas en
clases.