You are on page 1of 42

Modelo de Anlisis

Clases y Estereotipos

Ingeniera de Software - Clases y Estereotipos

Objetivo del modelo de anlisis


Comprender y generar una arquitectura de objetos para el sistema en base a lo especificado en el modelo de requisitos.
Durante esta etapa NO se considera el ambiente de implementacin, lo cual incluye al lenguaje de programacin, manejador de base de datos, distribucin o configuracin de hardware, etc. En otras palabras el anlisis:
Pretende modelar el sistema bajo condiciones ideales Garantizando que la arquitectura de software resultante se suficientemente robusta y extensible para servir de base a la estructura lgica de la aplicacin.

El modelo de anlisis genera una representacin conceptual del sistema, consistiendo de clases de objetos. Cada una de las clases de objetos contribuye de manera especial para lograr la robustez de la arquitectura, como se muestra conceptualmente en la Figura siguiente.

Arquitectura de clases Clases con Estereotipos


Entidad Control Interfaz

Arquitectura de Clases
El modelo de anlisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseo posterior del sistema. Las arquitecturas se distinguen segn la organizacin de la funcionalidad que ofrecen los objetos dentro de ellas o la dimensin de los objetos. Esta dimensin corresponde a los diferentes tipos de funcionalidad que manejan los objetos dentro la arquitectura. Por ejemplo, en el caso de funcionalidad para el manejo de interfaces y base de datos, si existen tipos distintos de objetos para el manejo de cada una de estas por separado, entonces se considera que la arquitectura es de dos dimensiones. Por el contrario, si todos los objetos manejan de manera indistinta los dos tipos de funcionalidades, entonces se considera que la arquitectura es de una sola dimensin.

En el caso de los sistemas de informacin, uno de las tipos de arquitecturas mas importantes es la arquitectura MVC (3 dimensiones):
Modelo (informacin) Vista (Presentacin) Control (Comportamiento)

Arquitectura MVC
La vista (Presentacin):
Corresponde a las interfaces que se le presentan al usuario para el manejo de la informacin.

La informacin (modelo):
Representa el dominio del problema y es almacenada en una base de datos.

El control(Comportamiento):
Corresponde a la manipulacin de la informacin a travs de sus diversas presentaciones.

Clases con Estereotipos


La arquitectura para el modelo de anlisis ser implementada mediante tres tipos o estereotipos de objetos como elementos bsicos de desarrollo.

El tipo de funcionalidad o la razn de ser de un objeto dentro de una arquitectura se le conoce como su estereotipo.
Para los sistemas de informacin la arquitectura del sistema segn nuestro modelo de anlisis se basa en tres estereotipos bsicos de objetos:
Entidad Interfaz Control

Ingeniera de Software - Clases y Estereotipos

1. Arquitectura de Clases
El modelo de anlisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseo posterior del sistema. Dependiendo del tipo de aplicacin existen diversas arquitecturas que se pueden utilizar. En trmino de las propias arquitecturas, stas se distinguen segn la organizacin de la funcionalidad que ofrecen los objetos dentro de ellas o la dimensin de los objetos. Esta dimensin corresponde a los diferentes tipos de funcionalidad que manejan los objetos dentro la arquitectura.

Ingeniera de Software - Clases y Estereotipos

Estereotipos de Clases
Entidad para objetos Guardan informacin sobre el estado interno del sistema, a corto y largo plazo, correspondiente al dominio del problema. Un ejemplo de un objeto entidad es un registro de usuario con sus datos y comportamiento asociados. Interface para objetos Presentacin a las interfaces del sistema hacia el mundo externo, para todo tipo de actores, no slo usuarios humanos. Ejemplo: la funcionalidad de interface de usuario para insertar o modificar informacin sobre el registro de usuario.

Control para objetos Es el comportamiento o control especificando cuando y como el sistema cambia de estado, correspondiente a los casos de uso. Los objetos control modelan funcionalidad que no se liga naturalmente con ningn otro tipo de objeto, como el comportamiento que opera en varios objetos entidad a la vez, por ejemplo, hacer alguna computacin y luego devolver el resultado a un objeto interface. Ingeniera de Software - Clases y Estereotipos 10

La notacin de UML para un estereotipo se muestra en la Figura.

Ingeniera de Software - Clases y Estereotipos

11

Ingeniera de Software - Clases y Estereotipos

12

Clases para Casos de Uso


Cuando se trabaja en el desarrollo del modelo de anlisis, normalmente se trabaja con un caso de uso a la vez.

Para cada caso de uso se identifican los objetos necesarios para su implementacin.
Se identifican estos objetos segn sus estereotipos para corresponder a la funcionalidad ofrecida en cada caso de uso. Tpicamente se toma un caso de uso y se comienza identificando los objetos interface necesarios, continuando con los objetos entidad y finalmente los objetos control. Notar que, un objeto puede participar en varios casos de uso, este proceso es iterativo. Esto significa que cuando un conjunto de objetos ya existe, estos pueden modificarse para ajustarse al nuevo caso de uso. La meta es formar una arquitectura lo ms estable posible, reutilizando el mayor nmero de objetos posible. 15
Ingeniera de Software - Clases y Estereotipos 13

Se parte el caso de uso de acuerdo a los siguientes principios:


La funcionalidad de los casos de uso que depende directamente de la interaccin del sistema con el mundo externo

Interfaz.
La funcionalidad relacionada con el almacenamiento y manejo de informacin del dominio del problema Entidad. La funcionalidad especfica a uno o varios casos de uso y que no se ponen naturalmente en ningn objeto interface o entidad Control.
Ingeniera de Software - Clases y Estereotipos 14

Ejemplo: CU Imprimir archivo

Para el caso de uso imprimir archivo se pueden utilizar los objetos.


Se utilizan dos clases interface: Interface Archivo e Interface Impresora 5 clases entidad: Cola, Archivo con sus subclases Archivo Texto, Archivo Formateado y Archivo Grfico Una clase control: Servidor Impresora.
Ingeniera de Software - Clases y Estereotipos 15

Objetos identificados para el caso de uso Imprimir Archivo

Ingeniera de Software - Clases y Estereotipos

16

2. Identificacin de Clases con Estereotipos

Para llevar a cabo la transicin del modelo de requisitos al modelo de anlisis 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 lograr esto se debe identificar primero las clases interface, luego las entidad y finalmente las de control. El trabajo del analista consiste en distribuir lo mejor posible el comportamiento especificado en el modelo de requisitos en los diferentes tipos de objetos de la arquitectura de anlisis.
Ingeniera de Software - Clases y Estereotipos 17

Cambios?
Los ms comunes:
Son los cambios en su funcionalidad e interfaces. Los cambios a las interfaces afectan slo a objetos interface. Cambios a la funcionalidad son mas difciles, ya que la funcionalidad puede abarcar todos los tipos de objetos.

Si la funcionalidad esta ligada a la informacin existente, tales cambios afectan al objeto entidad representado esa informacin, o puede involucrar mltiples objetos incluyendo objetos control.

Ingeniera de Software - Clases y Estereotipos

18

OBJETOS INTERFAZ

Ingeniera de Software - Clases y Estereotipos

19

Interface
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 de interfaces. Permiten la comunicacin de Actores con el sistema. Traducen los eventos generados por un actor Eventos comprendidos por el sistema Traducir los eventos del sistema a una presentacin comprensible por el actor. Las clases interface son bastante fciles de identificar, donde se cuenta con al menos tres estrategias:
1. Se pueden identificar en base a los actores. 2. Se pueden identificar en base a las descripciones de las interfaces del sistema que acompaan al modelo de requisitos. 3. Se pueden identificar en base a las descripciones de los casos de uso y extraer la funcionalidad que es especfica a las interfaces. Ingeniera de Software - Clases y Estereotipos

20

Primer Paso: Actores


Cada actor concreto necesita su propia interface para su comunicacin con el sistema.

Un actor puede necesitar de varios objetos interface.


Es evidente que los objetos interface no son totalmente independientes de cada uno ya que deben saber de la existencia de los dems para poder resolver ciertas tareas. Ejemplo para Reservar un Asiento en un Vuelo el usuario debe interactuar con las interfaces que a su vez se comunican con las interfaces que se comunican con la base de datos del sistema de reservaciones.

Ingeniera de Software - Clases y Estereotipos

21

Tipos de interfaces
Interfaces a otros sistemas
Es muy comn que la comunicacin se describa mediante protocolos de comunicacin.

Interfaces a los usuarios humanos.


Ingeniera de Software - Clases y Estereotipos 22

Aunque cada tipo de objeto tiene un propsito distinto, es evidente que los objetos interface tienen como propsito principal las presentaciones. Sin embargo, tambin pueden manejar informacin y tener comportamiento. Cunta informacin y comportamiento debe ligarse a un objeto interface debe decidirse de manera individual.

Ingeniera de Software - Clases y Estereotipos

23

En ocasiones, es necesario incluir un nmero de clases interface adicionales correspondientes a cada pantalla que se le presenta al usuario, como se especific inicialmente durante el modelo de requisitos. A continuacin describimos las clases interface necesarias para cada caso de uso de acuerdo a la documentacin generada durante el modelo de requisitos. Se requieren todas las pantallas con las cuales los casos de uso se relacionan.

Ingeniera de Software - Clases y Estereotipos

24

Registrar Usuario
Se interacta con los actores Usuario y Base de Datos Registros a travs de las clases interface InterfaceUsuario e InterfaceBaseDatosRegistro, respectivamente.

Se utiliza la pantalla principal del sistema ( P-1) dado que el caso de uso se instancia mediante el botn Registrarse por Primera Vez o mediante la validacin de un usuario existente (esta validacin se hace a travs del caso de uso Validar Usuario que es incluido en Registrar Usuario). Esta pantalla ser implementada por la clase interface PginaPrincipal.
Asimismo se debe incluir la clase interface PginaServicio correspondiente a la pantalla del men de servicios (P-2) dado que se puede accesar este caso de uso a travs del botn Obtener Registro. Adicionalmente se deben incluir clases interface correspondientes a las pantallas propias de este caso de uso, que son las pantalla de registro de usuario por primera Vez (P-3) y de obtener registro (P-4). A las dos clases interface correspondientes las llamaremos PginaCrearRegUsuario y PginaObtenerRegUsuario, respectivamente.
Ingeniera de Software - Clases y Estereotipos 25

Clases interfaz identificadas del caso de uso Registrar Usuario

Ingeniera de Software - Clases y Estereotipos

26

Resumen de casos de uso identificados durante el modelo de requisitos junto con los actores y clases interface correspondientes.

Ingeniera de Software - Clases y Estereotipos

27

OBJETOS ENTIDAD

Ingeniera de Software - Clases y Estereotipos

28

Objetos Entidad
Se utilizan para modelar la informacin que el sistema debe manejar a corto y largo plazo. La informacin a corto plazo existe durante la ejecucin del caso de uso La informacin a largo plazo sobrevive a los casos de uso, por lo cual es necesario guardar esta informacin en alguna base de datos.

Los objetos entidad se identifican en los casos de uso (en el modelo de requisitos).

Ingeniera de Software - Clases y Estereotipos

29

La siguiente es una lista de las operaciones tpicas que deben ser ofrecidas por un objeto entidad:
Guardar y traer informacin Comportamiento que debe modificarse si el objeto entidad cambia Crear y remover el objeto entidad
Ingeniera de Software - Clases y Estereotipos 30

Ejemplo
Registrar Usuario: Este caso de uso requiere guardar informacin exclusivamente acerca del usuario, lo que se hace en la clase entidad RegistroUsuario.

Consultar Informacin: Este caso de uso requiere de toda la informacin relacionada con consultas. Tenemos las clases entidad Asiento, Avin, Tarifa, Aeropuerto, Aerolnea, Vuelo y Horario.

Ingeniera de Software - Clases y Estereotipos

31

Resumen de casos de uso identificados durante el modelo de requisitos junto con clases entidad correspondientes.

Ingeniera de Software - Clases y Estereotipos

32

OBJETOS CONTROL

Ingeniera de Software - Clases y Estereotipos

33

Hasta ahora se han identificado partido objetos interface y entidad a partir de cada caso de uso. En algunas situaciones todo un caso de uso pudiera implementarse exclusivamente mediante estos dos tipos de objetos. De tal manera no se necesitara ningn objeto control para el respectivo caso de uso. Sin embargo, en la mayora 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. Un cambio en el comportamiento podra afectar varios objetos dificultando la su modificacin. Por lo tanto, para evitar estos problemas tal comportamiento se asigna en objetos control.

Los objetos de control actan como pegamento entre los otros tipos de objetos
Por lo tanto proveen la comunicacin entre los dems tipos de objetos.
Ingeniera de Software - Clases y Estereotipos 34

Se identifican
Se asigna un objeto control a cada caso de uso, concreto y abstracto. A menudo un manera de asignar el comportamiento es modelar inicialmente el caso de uso sin ningn objeto control. Si un caso de uso se acopla a varios actores esto puede indicar que existen variados comportamientos en relacin a los diferentes actores y por lo tanto deben asignarse varios objetos control. La meta debe ser ligar solo un actor con cada objeto control ya que los cambios en los sistemas a menudo son originados por los actores y de tal manera se logra modularizar los posibles cambios.
Ingeniera de Software - Clases y Estereotipos 35

En el sistema de reservaciones de vuelo asignaremos inicialmente un objeto control para cada caso como se ver a continuacin. A estas clases las llamaremos manejadores o controladores para distinguir de los dems estereotipos.

Ingeniera de Software - Clases y Estereotipos

36

Ejemplo
Registrar Usuario: Este caso de uso requiere de un controlador para manejar la informacin y las interfaces relacionadas con el registro de usuario, lo que se hace en la clase control ManejadorRegistroUsuario. Adems, de manera similar a la necesidad de utilizar la pantalla principal y la de servicios en el caso de uso, tambin es necesario utilizar un controlador principal y el de servicios para que administren los aspectos que permiten llegar al control propio de registro.

A estas clases las llamaremos ManejadorPrincipal y ManejadorServicios, respectivamente.

Ingeniera de Software - Clases y Estereotipos

37

Resumen de los casos de uso identificados durante el modelo de requisitos junto con clases control correspondientes

Ingeniera de Software - Clases y Estereotipos

38

3. Clases segn Casos de Uso


Diagrama de clases para cada caso de uso de acuerdo a las clases identificadas en la seccin anterior. En estos diagramas incluiremos de manera preliminar asociaciones y multiplicidad. Para simplificar este proceso de asignacin de asociaciones y para ser consistentes entre diagramas, asignaremos a la clase control de cada caso de uso como el centro de las comunicaciones para todas las clases interface y entidad pertenecientes al mismo caso de uso. Estas clases interface y entidad no estarn asociadas entre si por el momento.

En relacin a la multiplicidad, asignaremos todas las asociaciones como de uno-uno con excepcin de las relaciones entre clases entidades que se mantendrn de acuerdo al dominio del problema y entre clases control y clases entidad donde por lo general ser uno-muchos.

Ingeniera de Software - Clases y Estereotipos

39

Ejemplo
Registrar Usuario
El caso de uso Registrar Usuario involucra una clase control ManejadorRegistroUsuario que es encargada de controlar la informacin de RegistroUsuario y las clases interface correspondiente. Etc etc etc

Ingeniera de Software - Clases y Estereotipos

40

Consultar Horarios
El subflujo Consultar Horarios del caso de uso Consultar Informacin involucra a todas las clases de .

Ingeniera de Software - Clases y Estereotipos

41

DIAGRAMAS DE SECUENCIA

Ingeniera de Software - Clases y Estereotipos

42

You might also like