Professional Documents
Culture Documents
2 3 4
Ejercicios ____________________________________________________________________ 6
Entornos de Desarrollo
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.
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.
Entornos de Desarrollo
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).
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.
Entornos de Desarrollo
hora de inicio y de fin, pero tendr consideraciones especiales para el trabajador, sobre todo en su remuneracin mensual.
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).
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).
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.
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.
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.
Entornos de Desarrollo
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.