You are on page 1of 6

Tema 5.

Diseo orientado a objetos: otros diagramas


1 Los casos de uso ______________________________________________________________ 2
1.1 1.2 1.3 1.4 Los casos de uso en UML __________________________________________________________2 Inclusin _______________________________________________________________________3 Extensin _______________________________________________________________________3 Agrupamiento ___________________________________________________________________4

2 3 4

Diagrama de estados __________________________________________________________ 4


2.1 Simbologa ______________________________________________________________________5

Diagrama de secuencia _________________________________________________________ 5


3.1 Mensajes _______________________________________________________________________5

Ejercicios ____________________________________________________________________ 6

Tema 5. Diseo orientado a objetos: otros diagramas

Entornos de Desarrollo

1 Los casos de uso


Los diagramas de clase muestran las clases que van a formar nuestro sistemas y las relaciones entre ellas de una forma esttica, es decir, la forma que va a tener el sistema desde el punto de vista del cliente. Sin embargo, existen ocasiones en las que el cliente no es el usuario potencial ni final del sistema y, a menudo, las especificaciones que aquel propone no coinciden con las necesidades de este. El trabajo con los casos de uso pretende modelar el sistema desde el punto de vista del usuario. El anlisis de los casos de uso nos proporciona informacin acerca de lo que se va a hacer con el producto que se va a disear y el modo en que se van a satisfacer los requerimientos. Se trata de un idea mental que todos tenemos cuando vamos a comprar algo que no sea de forma compulsiva.
Por ejemplo. Cuando vamos a comprar un coche nos cuestionamos una serie de dudas voy a utilizar el coche como coche familiar o para salir o para trabajar? Cunto motor me hace falta? Realmente necesito traccin a las cuatro ruedas? Gasolina o gasoil o hbrido? Cambio secuencial o automtico? Incorporo GPS?...

Hasta ahora, en el diseo tradicional, el usuario vea el diseo de software como una fase oscura en la que exista cierto hermetismo, la premisa era Dime qu es lo que quieres que ya, yo, si eso. La intervencin del usuario durante las etapas de desarrollo era casi nula y, aunque sigue teniendo dudas acerca del funcionamiento final del producto que se desea desarrollar, los diagramas de casos de uso son fcilmente entendibles por los usuarios y permiten una rpida modificacin y adaptacin. Mediante los casos de uso, el analista consigue una estructura que permite determinar la forma en que el usuario trabajar con el sistema. Estas situaciones en las que el usuario trabajar con el sistema se denominan caso de uso y el sistema estar formado por un conjunto de ellas. Cada una de estas situaciones describir un conjunto de eventos en los que se desenvuelven las escenas de los casos de uso. Una escena ser iniciada por un actor, que puede ser una persona, otro sistema, un hardware o por el paso del tiempo, y generar un resultado utilizable por cualquier actor, incluyendo al que la inici.

1.1 Los casos de uso en UML


Una escena se representa mediante un rectngulo, agrupando, dentro de l, todo el sistema que se puede computarizar (los actores no pueden ser informatizados, puesto son agentes externos del sistema). Para identificar a un actor, se dibuja un mueco con el nombre justo debajo de l. Por ltimo, los casos de uso de la escena se escriben dentro de una elipse que los rodee1.

Ilustracin 1. Elementos UML en un caso de uso.

Ejemplo. Vamos a disear el software de los relojes con los que fichan los empleados de una fbrica de galletas BiscuitsForAll. Para eso, un usuario introduce su cdigo personal cuando llega a la fbrica y cuando abandona su puesto de trabajo, escribiendo un registro al que jefe de personal que indica el trabajador, la fecha, la hora de entrada y la hora de salida.
1

En algunas ocasiones puedes encontrar el nombre del caso de uso debajo de la elipse.

Tema 5. Diseo orientado a objetos: otros diagramas

Entornos de Desarrollo

Ilustracin 2. Ejemplo de caso de uso (un poco somero).

1.2 Inclusin
Los casos de uso pueden estar formados por otros casos de uso que hagan ms fcil el trabajo y que permita reutilizarlos en donde sean necesarios (recuerda eso de divide y vencers). En esos casos en los que un caso de uso integra entre de su operatividad a otro caso de uso, se dice que un incluye uno al otro y se nota con una flecha entre ambos sobre la que se escribe la palabra incluye metida entre parntesis angulosos, es decir, incluye2.
Ejemplo. Cuando un empleado de la fbrica de galletas BiscuitsForAll entra en la fbrica o sale de ella hay que fichar, por lo que se pueden abrir dos casos de uso que completen al que ya habamos creado (Registrar entrada y Registrar salida).

Ilustracin 3. Ejemplo de reloj de fichar con uso de inclusin.

1.3 Extensin
Es posible que una misma operacin pueda ser realizada con algn tipo de especificidad, es decir, que se tenga una versin de una operacin para algunos casos especiales. En esos casos, se dice que un caso de uso extiende3 a otro caso de uso. La extensin, igual que la inclusin, se refleja mediante una flecha que une los casos de uso interponiendo entre ellos la palabra extiende metida en parntesis angulosos.
Ejemplo. Existe un caso de uso especial en el que los empleados de la fbrica de galletas BiscuitsForAll pueden realizar horas extras. Ntese que, en este supuesto, tambin interesa guardar la

En algunos lugares puedes ver la inclusin escrita en ingls, includes, aunque tambin es usual utilizar usa o uses. 3 Algunos autores defienden el trmino ingls, extends, para definir esta propiedad de los casos de uso.

Tema 5. Diseo orientado a objetos: otros diagramas

Entornos de Desarrollo

hora de inicio y de fin, pero tendr consideraciones especiales para el trabajador, sobre todo en su remuneracin mensual.

Ilustracin 4. Ejemplo de caso de uso con incluye y extiende.

1.4 Agrupamiento
En la mayora de los casos, los programas de ordenador son tan complejos que plasmar en un solo diagrama de casos de uso todos los requerimientos que el usuario y el cliente necesitan del software resulta complicado e, incluso, ilegible como para dibujarlo en un nico caso de uso. En ocasiones se necesita profundizar ms en un caso de uso, por lo que ser necesario llevar un control de qu casos de uso se han detallado ms y cul es y dnde se encuentra ese detalle. Para eso se usan los paquetes, para comprimir el contenido de un caso de uso en niveles superiores (para no dificultar la comprensin de diagramas de menor detalle).

Ilustracin 5. Forma en que se representa un paquete en UML.

2 Diagrama de estados
Los sistemas no permanecen inmviles realizando su actividad de forma aleatoria sin que nada ni nadie interacte con ellos. En todos los casos, la complejidad del programa ejecuta acciones encaminadas a resolver alguna actividad para la que han sido concebidos. Cuando un programa ejecuta una tarea para resolver algn problema relacionado con el software, siempre hay un hecho que provoca el cambio de atencin del programa hacia ese nuevo hecho. El desencadenante de esta prdida de atencin de lo que se estaba realizando para dar servicio a una nueva actividad puede ser un usuario, otro sistema o el paso del tiempo. Existe en todos los programas convencionales un elemento que provoca este cambio de estado de los sistemas. Nos referimos a las interfaces de usuario o GUI (Graphic User Interface Interfaz Grfica de Usuario).

Tema 5. Diseo orientado a objetos: otros diagramas

Entornos de Desarrollo

2.1 Simbologa
En un diagrama de estados hay representar los posibles estados en los que se puede encontrar un objeto, qu transiciones provocan el cambio de estado y los puntos de inicio y de fin de la secuencia de cambio. De esta manera, el punto de inicio se representa mediante un crculo, el estado de un objeto se dibuja usando un rectngulo con los vrtices redondeados, las transiciones se identifican con flechas y el punto final es un crculo rodeado por una circunferencia.

Ilustracin 6. Simbologa de un diagrama de estados.

Ejemplo. Qu ocurre cuando nos encontramos con un semforo en rojo conduciendo con nuestro vehculo? La respuesta todos la sabemos: 1. Paramos el coche y esperamos a que se ponga verde. 2. Con el semforo en verde, aceleramos y seguimos nuestro camino.

Ilustracin 7. Ejemplo de diagrama de estado.

3 Diagrama de secuencia
Muestra la forma en que los objetos se relacionan entre s a travs del tiempo. Estos diagramas constan de una coleccin de objetos (expuestos en la parte superior del diagrama metidos en un rectngulo) y una lnea de vida vertical discontinua que indica el tiempo que el objeto est activo y relacionado con otros objetos. El transcurrir del tiempo se representa verticalmente en el diagrama de secuencia, de modo que un mensaje que est ms cerca de la parte superior se ejecutar antes que un mensaje de la parte inferior. Por tanto, en un diagrama de secuencia tenemos cubiertas las dos dimensiones, la horizontal donde se reflejan los objetos y la vertical que se relaciona con el tiempo.

3.1 Mensajes
Los objetos se comunican mediante mensajes. Los mensajes que relacionan objetos van de la lnea de vida de un objeto a la lnea de vida de otro objeto. Los mensajes se pueden clasificar en: Simples ( ). Un objeto cede el control a otro. Sncronos ( ). Para que un objeto pueda seguir trabajando tiene que esperar una respuesta del mensaje. Asncronos ( ). El objeto puede trabajar sin tener que esperar respuesta alguna al mensaje.

Ejemplo. Siguiendo con el ejemplo del semforo, vamos a ver qu objetos intervienen y cmo se relacionan en el diagrama de secuencia.

Tema 5. Diseo orientado a objetos: otros diagramas

Entornos de Desarrollo

Ilustracin 8. Diagrama de secuencia de ejemplo.

4 Ejercicios
1. Realiza el caso de uso de un Examinator. Funciona de manera similar a la plataforma Moodle, en la que el profesor puede realizar un examen eligiendo l mismo las preguntas o escribindolas a pelo o bien el programa puede generar autopreguntas para el examen. El alumno responder las preguntas marcando sus respuestas y el programa corregir automticamente el examen mandando al profesor un informe de la calificacin del alumno. Para aquellas preguntas que el programa no pueda corregir, el profesor realizar la correccin de forma manual. 2. En los casos de uso existe tambin la generalizacin o herencia, indica qu elementos pueden ser generalizados y la manera en que debe de hacerse. 3. Realiza el diagrama de estados para el software incrustado en una tostadora. 4. Existen otros tipos de diagramas: de colaboracin, de actividades, de componentes y de distribucin, busca bibliografa e informacin de cada uno de ellos.

You might also like