3.2 IDENTIFICACION DE CLASES SEGUN ESTEREOTIPOS
Para llevar a cabo la transición del modelo de requisitos al modelo de analisis se deben identificar los objetos necesarios para implementar todos los casos de uso. La arquitectura de objetos debe considerar los tres tipos de estereotipos de objetos. Para ello se deben identificar primero las clases borde, las clases entidad y finalmente las de Control.
En general, los cambios mas comunes a un sistema son los de funcionalidad y bordes. Los cambios de las interfaces deben afectar solo a los objetos borde.
Los cambios a la funcionalidad son más difíciles de administrar, ya que ésta puede abarcar todos los tipos de objetos.
Toda la funcionalidad especificada en las descripciones de los
casos de uso que depende directamente de los aspectos externos del
sistema, se ubica en los objetos borde, pues a través de ello se
comunican los actores con el sistema. La tarea de una clase borde es
traducir los eventos generados por un actor en eventos comprendidos
por el sistema, y traducir los eventos del sistema en una
presentacion comperensible para el actor.
Las clases borde en otras palabras , describen la comunicación bidireccional entre el sistema y los actores.
Las clases borde son bastante fáciles de identificar, donde se cuenta con al menos tres estrategias:
1.Se pueden identificar con base a los actores.
2.Se pueden identificar con
base en las descripciones de las interfaces del sistema que acompañan
al modelo de requisitos.
3.Se pueden identificar con
base en las descripciones de los casos de uso y extraer la
funcionalidad específica a los objetos bordes.
- Estrategia correspondiente a los actores.
Cada actor necesita su propia clase borde para comunicarse con el sistema. En muchos casos un actor puede necesitar de varios objetos borde. Es evidente que los objetos borde no son totalmente independientes de cada uno, ya que, en ciertos casos deben saber la existencia de los demás.
- Entidad
Se utilizan objetos entidad para modelar la información que el sistema debe manejar a corto y largo plazo. La información a corto plazo existe durante la ejecución de un caso de uso, mientras que la información a largo plazo trasciende los caso de uso, por lo que es necesario guardarla en alguna base de datos o archivos.
Durante la identificación de objeto entidad, se encontrara que objetos que objetos similares aparecen en varios casos de uso.
- Clases entidad:
Validar Usuario: Este casi de uso requiere validar información
exclusivamente guardada en el registro de usuario, lo que se
hace en la clase entidad RegistroUsuario, utiliza también por el
caso de uso RegistroUsuario.
Ofrecer Servicios: Este caso de uso administra las opciones de
servicio y no requiere de ninguna clase entidad.
Registrar Usuario: Este caso de uso requiere guardar información
exclusivamente acerca del usuario, lo que se hace en la clase entidad
RegistroUsuario.
Registrar Tarjeta: Este caso de uso requiere guardar información
exclusivamente acerca de la tarjeta del usuario lo que hace en la
clase entidad RegistroTarjeta.
Consultar Información: Este casi de uso requiere de toda la
información relacionada con consultas. Se puede tomar las clases del
dominio del problema y quitar aquellas relacionadas con registros y
reservaciones.
Hacer reservación: Este caso de uso requiere de la información
relacionada con reservaciones. Se pueden tomar las clases del dominio
del problema y quitar aquellas relacionadas con registros.
Pagar Reservación: Este caso de uso requiere de la información
relacionada con reservaciones. Dado que es una extensión al caso de
uso Hacer Reservación, no es necesario volver a repetir todas las
clases entidad, sino más bien especificar cualquier clase adicional.
- Control
En la mayoría de los casos de uso, existe un comportamiento que
no se puede asignar de forma natural a ninguno de los otros dos tipos
de objetos ya vistos. Una posibilidad es repartir el comportamiento
entre los dos tipos de objetos, pero la solución no es buena si se
considera el aspecto de extensibilidad. Un cambio en el
comportamiento podría afectar varios objetos, dificultando su
modificación. Para evitar estos problemas, tal comportamiento se
asigna a objetos control.
Es difícil lograr un buen balance en la distribución del comportamiento del caso de uso entre los objetos entidad, borde y control. Los objetos de control normalmente proveen a administración de los demás tipos de objetos.
Es difícil lograr un buen balance en la distribución del comportamiento del caso de uso entre los objetos entidad, borde y control. Los objetos de control normalmente proveen a administración de los demás tipos de objetos.
CLASES
Los objetos se representan y agrupan en
clases que son óptimas para reutilizarse y darles mantenimiento. Una clase define el
conjunto de atributos y comportamientos compartidos por cada objeto de la clase. Por
ejemplo, los registros de los estudiantes en la sección de un curso almacenan información similar
para cada estudiante. Se podría decir que los estudiantes constituyen una clase. Los valores
podrían ser diferentes para cada estudiante, pero el tipo
de información es el mismo. Los
programadores deben definir las diversas clases en el programa que escriben. Cuando el programa
corre, los objetos se pueden crear a partir de la clase establecida. El término
instanciar se usa cuando un objeto se crea a partir de una clase. Por ejemplo, un programa podría
instanciar a un estudiante llamado Peter Wellington como un objeto de la clase denominada
estudiante.
Lo que hace a la programación
orientada a objetos, y por consiguiente al análisis y diseño orientado a objetos, diferente de
la programación clásica, es la técnica de poner todos los atributos y métodos de un objeto en
una estructura independiente, la propia clase. Ésta es una situación común en el mundo
físico. Por ejemplo, un paquete con harina para pastel empacado es similar a una clase ya que
contiene los ingredientes y las instrucciones para mezclar y hornear el pastel. Un suéter
de lana es similar a una clase porque incluye una etiqueta con instrucciones del cuidado que
advierten que se debe lavarlo a mano y ponerlo a
secar extendido. Cada clase debe tener un nombre que la
distinga de todas las demás. Los nombres declase normalmente son sustantivos o
frases cortas y empiezan con una letra mayúscula. En la figura 18.1 la clase se llama
RentaAuto. En el UML, una clase se representa como un rectángulo. El rectángulo contiene otras
dos características importantes: una lista de atributos y una serie de métodos. Estos elementos
describen una clase, la unidad de análisis que es una parte principal de lo que llamamos
análisis y diseño orientado a objetos.
Un atributo describe alguna propiedad
de todos los objetos de la clase. Observe que la clase RentaAuto posee los atributos
tamaño, color, marca y modelo. Todos los automóviles poseen estos atributos, pero los
atributos de cada automóvil tendrán diferentes valores. Por ejemplo, un automóvil puede ser azul,
blanco o de algún otro color. Más adelante demostraremos que es posible serrnás
específico acerca del rango de valores para estas propiedades. Al especificar atributos, normalmente
la primera letra es minúscula.
Un método es una acción que se puede
solicitar a cualquier objeto de la clase. Losmétodos son los procesos que una clase
sabe cómo realizar. Los métodos también se llaman operaciones. La clase RentaAuto
podría tener los siguientes métodos: inicioRenta( ), entregaAutof ) y servicio( ). Al
especificar métodos, normalmente la primera letra es minúscula.
Hay que entender bien el concepto de lo que es "Entidad" que hace referencia al tipo de funcionalidad o la razón de ser de un objeto dentro de una arquitectura y asi poder llevar a cabo la transición de identificar los objetos necesarios para implementar todos los casos de uso.
ResponderBorrarno todo es al aventon siempre hay que informarnos bien Para ello se deben identificar primero las clases borde, las clases entidad y finalmente las de Control.
ResponderBorrarmuy buen tema :)
el tema esta muy completo y coincido con los compañeros de arriba hay que tener bien definido que es Entidad y Los tipos de clases que existen para poder usarlos en su caso si es necesario ...
ResponderBorrarbuena informacion :)