Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El comportamiento del sistema bajo desarrollo, que es la funcionalidad que debe proveer dicho sistema, es documentado en un modelo de casos de uso; el cual ilustra las funciones pretendidas para ese sistema y hacia quien esta dirigido y la relacin que existe entre estos casos de uso y los actores involucrados.
El rol ms importante de un modelo de casos de uso es la comunicacin. Provee un vehculo usado por el cliente, el usuario final y los desarrolladores para discutir la funcionalidad y comportamiento del sistema.
Subject
Consiste en definir los lmites del sistema. Estos son definidos o por quienes usan el sistema o por que usa el sistema, adems de los beneficios que el sistema debe ofrecer a los actores.
Subject
Es representado por un cuadrado etiquetado con el nombre del sistema, donde los actores son dibujados fuera de los limites del sistema y los casos de uso dentro. El modelado de requisitos se deber comenzar con una idea tentativa de cuales sern los lmites del sistema.
Actores
Un actor especifica un rol que alguna entidad externa adopta cuando interacta con el sistema directamente.
Puede representar el rol de una persona o un rol interpretado por otro sistema o un componente de hardware que tiene interaccin con alguno de los lmites del sistema.
Actores
Es importante entender el concepto de rol. Un elemento puede tener varios roles simultneamente y a travs del tiempo. Esto significa que un rol puede ser interpretado por diferentes elementos simultneamente y a travs del tiempo.
Actores
Uno de los errores ms comunes es confundir un rol que alguien interpreta en el contexto del sistema con la persona o el elemento mismo.
Identificar Actores
Para identificar actores es importante identificar qu o quin usar el sistema y qu roles juegan ellos en la interaccin con el sistema. Algunas preguntas que pueden ayudar a identificar actores son:
Quin o qu utiliza el sistema? Qu roles desempean en la interaccin? Quin instala el sistema? Qu otros sistemas interactan con el sistema? Quin o qu obtiene o provee informacin al sistema?
Cuando sea necesario modelar sucesos que se presentan en el sistema en puntos especficos del tiempo y que aparentan que no son disparados por ningn actor, se puede introducir al actor llamado Tiempo.
Notacin de un Actor
Casos de Uso
Un Caso de Uso es una especificacin de una secuencia de acciones, incluyendo secuencias de variacin y de error, que un sistema, subsistema o clase puede realizar con la interaccin de actores del exterior.
Casos de Uso
Un caso de uso realiza cierto trabajo cuyo efecto es tangible. Desde la perspectiva de un actor determinado, un caso de uso produce algo de valor para algn actor. Los casos de uso se pueden aplicar al sistema completo. Tambin se pueden aplicar a partes del sistema, incluyendo subsistemas e incluso clases e interfaces individuales.
Caso de Uso
La mejor manera de identificar casos de uso es comenzar con una lista de actores, y posteriormente considerar como estos actores van a usar el sistema. Empleando esta estrategia se puede obtener una lista candidata de casos de uso.
Qu funciones podra un actor en especfico requerir del sistema? El sistema almacena o regresa informacin? De ser as, qu actores requieren este comportamiento? Qu sucede cuando el sistema cambia de estado (por ejemplo cuando el sistema es iniciado o detenido)?
Algn evento externo afecta al sistema? Qu le notifica al sistema sobre estos eventos? El sistema genera algn reporte?
Cada caso de uso debe tener un nombre que lo distinga de otros casos de uso. Puede constar de texto de cualquier nmero de letras, nmeros y la mayora de los signos de puntuacin (excepto los dos puntos) y puede extenderse a lo largo de varias lneas.
En la prctica, son expresiones verbales que describen algn comportamiento del vocabulario del sistema que se esta modelando.
Un caso de Uso describe qu hace un sistema, pero no especifica cmo lo hace. El comportamiento de un caso de uso se puede especificar describiendo un flujo de eventos de forma textual, lo suficientemente claro para que alguien ajeno al sistema lo entienda fcilmente.
Cuando se escribe este flujo de eventos se debe de incluir cmo y cundo empieza y acaba el caso de uso, cundo interacta con los actores y qu objetos se intercambian, el flujo bsico y los flujos alternativos del comportamiento.
Las Precondiciones y Postcondiciones indican que viene antes y despus del caso de uso. Indican cual debe de ser el estado del sistema antes del Caso de Uso o bien cual deber ser el estado al final del caso de uso.
El Flujo de Eventos es una serie de enunciados declarativos listando los pasos de un caso de uso desde el punto de vista del actor. Se debe iniciar diciendo como comienza el Caso de Uso, as como indicar como termina.
El Flujo Alternativo es el que permite una secuencia de eventos diferentes a la presentada en el Flujo Principal.
Tambin es utilizado para documentar posibles errores, indicando lo que podra salir mal y que debera hacer en caso de que eso sucediera.
Ejemplo
Caso de Uso Enviar Orden
Precondiciones: Un usuario valido se ha firmado en el sistema Flujo Principal El Caso de Uso comienza cuando el cliente selecciona Enviar Orden El cliente introduce su nombre y direccin El cliente proporciona el cdigo postal, la ciudad y el estado El Cliente introduce el cdigo del producto del producto deseado El Sistema provee una descripcin y precio del producto El sistema mantiene corriendo el total de los elementos ordenados conforme son introducidos. El cliente introduce la informacin para realizar el pago por tarjeta de crdito. El Cliente selecciona Submit El sistema verifica la informacin, salva la orden como pendiente y enva la informacin del pago al sistema bancario. (E-1) Cuando el pago es confirmado, al orden es marcada como confirmada, se le regresa al cliente un ID de la orden y el caso de uso finaliza. Flujo Alternativo E-1 Si cualquier informacin es incorrecta, el sistema le solicita al cliente que la verifique. El Usuario presiona Cancelar, en ese momento el caso de uso Finaliza y regresa a la Pantalla Principal. Postcondiciones Si la orden no fue cancelada, es salvada en el sistema y marcada como confirmada.
Fin del Ciclo (no es necesario indicar el fin) El cliente introduce la informacin para realizar el pago por tarjeta de crdito. El Cliente selecciona Submit El sistema verifica la informacin, salva la orden como pendiente y enva la informacin del pago al sistema bancario. (E-1) Cuando el pago es confirmado, al orden es marcada como confirmada, se le regresa al cliente un ID de la orden y el caso de uso finaliza. Flujo Alternativo E-1 Si cualquier informacin es incorrecta, el sistema le solicita al cliente que la verifique.
Fin del Ciclo (no es necesario indicar el fin) El cliente introduce la informacin para realizar el pago por tarjeta de crdito El Cliente selecciona Submit El sistema verifica la informacin, salva la orden como pendiente y enva la informacin del pago al sistema bancario. (E-1) Cuando el pago es confirmado, al orden es marcada como confirmada, se le regresa al cliente un ID de la orden y el caso de uso finaliza.
Estilos de Presentacin
Los casos de uso pueden ser escritos de manera muy formal o en un estilo menos formal.
Hay que tener en mente quien va a leer el caso de uso y en base a ello seleccionar es estilo que sea mas apropiado.
Estilo Informal
Caso de Uso Cancelar Orden Cuando el usuario recibe la peticin de cancelar una orden busca la orden en el sistema y la marca como cancelada. Despus la peticin es enviada al sistema bancario para modificar el crdito de la cuenta del cliente.
Estilo en Pasos
Caso de Uso Cancelar Orden Flujo Principal 1. El caso de uso comienza cuando el usuario recibe la peticin de cancelar una orden 2. El Usuario introduce el ID de la Orden 3. El Usuario presiona Encontrar 4. El Sistema despliega la orden 5. El Usuario selecciona Cancelar 6. El Sistema marca la orden como cancelada 7. El Sistema bancario es notificado de la cancelacin del movimiento en la cuenta del cliente y esto finaliza el caso de uso.
Estilo en Tabla
Usuario 1. Recibe la peticin de cancelar una orden Sistema Sistema Bancario
2. Introduce el ID de la Orden
3. Presiona Encontrar 4. Despliega la Orden 5. Selecciona Cancelar 6. Marca Cancelada la Orden como 7. Es notificado de la cancelacin del movimiento en la cuenta del cliente
Caso de Uso Enviar Orden Precondiciones: Un usuario valido se ha firmado en el sistema Flujo Principal El Caso de Uso comienza cuando el cliente selecciona Enviar Orden El cliente introduce su nombre y direccin El cliente proporciona el cdigo postal, la ciudad y el estado El cliente introduce el cdigo de los productos que sern ordenados PARA cada cdigo de producto introducido El Sistema provee la descripcin del producto y su precio El sistema incrementa el precio del producto en el total Fin del Ciclo. El cliente introduce la informacin para realizar el pago por tarjeta de crdito. El Cliente selecciona Submit El sistema verifica la informacin, salva la orden como pendiente y enva la informacin del pago al sistema bancario. (E-1) Cuando el pago es confirmado, al orden es marcada como confirmada, se le regresa al cliente un ID de la orden y el caso de uso finaliza. (E-2) Flujo Alternativo E-1 SI en el paso 8 la informacin es incorrecta El sistema solicita al cliente que corrija la informacin E-2 SI en el paso 9 el pago no es confirmado El sistema solicita al cliente que corrija la informacin o que cancele la operacin SI el cliente selecciona corregir la informacin Regresar a paso 5 SI el cliente selecciona cancelar Finaliza el Caso de Uso En el momento que el usuario seleccione Cancelar finaliza el Caso de Uso Postcondiciones Si la orden no fue cancelada, es salvada en el sistema y marcada como confirmada.
Communicates: representa la comunicacin entre un actor y un caso de uso Include: es creado entre el nuevo caso de uso y cualquier otro caso de uso que incluya su funcionalidad Extends: es usado para mostrar un comportamiento opcional, un comportamiento que ocurra bajo ciertas condiciones, diferentes flujos que podrn correr basados en la seleccin de un actor.
Usuario <<communicate>>
Usuario
Descuento de Temporada
Fin del Ciclo. El Sistema busca si existe descuento por temporada SI existe descuento por temporada
Se extiende al Caso de Uso Descuento de Temporada
El cliente introduce la informacin para realizar el pago por tarjeta de crdito. El Cliente selecciona Submit El sistema verifica la informacin, salva la orden como pendiente y enva la informacin del pago al sistema bancario. (E-1) Cuando el pago es confirmado, al orden es marcada como confirmada, se le regresa al cliente un ID de la orden y el caso de uso finaliza. (E-2)
Descomposicin Funcional
Las partes trabajan en conjunto para proveer la funcionalidad del Sistema. No es una descomposicin funcional Se debe mantener la funcionalidad junta para describir un uso completo del sistema. Provee un contexto.
Casos de Uso
Seleccionar Producto
Actor
Proporcionar cantidad
Sntomas
Casos de Uso muy pequeos Demasiados Casos de Uso. Casos de Uso sin un resultado de valor. Nombre con operaciones de bajo nivel
Acciones Correctivas
Qu es lo que el usuario quiere lograr? A qu metas satisface este caso de uso? Qu valor aade este caso de uso? Cul es la historia detrs de este caso de uso?
<<include>>
Base de Datos
Diagramas de Secuencia
Diagrama de Secuencia
Muestra la secuencia cronolgica de mensajes entre objetos durante un escenario concreto. Posee 2 caractersticas principales:
Lnea de Vida: es la lnea discontinua vertical que representa la existencia de un objeto a lo largo de un periodo de tiempo. Foco de Control: es un rectngulo delgado y estrecho que representa el periodo de tiempo durante el cual un objeto ejecuta una accin.
Los mensajes en un diagrama de secuencia son especificados empleando una flecha que va desde el elemento que genera el mensaje (emisor) hasta el elemento que recibe el mensaje (receptor). Su direccin puede fluir de izquierda a derecha o bien en sentido contrario, dependiendo de la interaccin.
Nombre_parmetro : tipo_de_dato.
Los elementos que aparezcan en la firma del mensaje depender del conocimiento que se tenga en relacin al mismo.
El tipo de flecha que se emplea para denotar un mensaje es importante, puesto que indica el tipo de mensaje del cual se trata. Existen 5 tipos de mensajes:
Mensajes Sncronos Mensajes Asncronos Mensaje de retorno Mensaje para la creacin de un participante Mensaje para la destruccin de un participante
Mensaje Sncrono
1 : mensaje1()
Elemento1
Elemento2
Mensaje Asncrono
1 : mensaje1
1 : mensaje1() 2
Elemento1
Elemento2
<<destroy>> 1
Una secuencia de mensajes est bien cuando se debe mostrar una sola secuencia linear, pero a menudo se requiere mostrar condicionales o ciclos. En algunas ocasiones se desea mostrar la ejecucin concurrente de secuencias mltiples. Esto se puede lograr mediante el uso de operadores de estructura de control en los diagramas de secuencia.
Un operador de control se representa con una regin rectangular en los diagramas de secuencia. Dicho rectngulo posee una etiqueta en la parte superior izquierda, el cual especifica el tipo de operador del cual se trata.
Ejecucin Opcional: La etiqueta es opt. El cuerpo del operador de control es ejecutado si una condicin de guarda es verdadera cuando es evaluada. La expresin a evaluar deber aparecer entre corchetes al inicio del operador de control.
1 : mensaje1()
Ejecucin Condicional: La etiqueta es alt. El cuerpo del operador de control es dividido en mltiples subregiones mediante lneas discontinuas horizontales. Cada subregin representa una ramificacin de la condicional. Cada subregin tiene una condicin de guarda. Si la condicin de la subregin es verdadera, la subregin es ejecutada. En caso de que ninguna sea verdadera el operador de control buscar si existe una condicin especial [else], en caso de encontrarla, ejecuta la subregin.
1 : mensaje1()
[condicin] 3 : mensaje3()
Ejecucin en Paralelo: La etiqueta es par. El cuerpo del operador de control es dividido en mltiples subregiones mediante lneas discontinuas horizontales. Cada subregin representa una ejecucin en paralelo. En la mayora de los casos, cada subregin involucra diferentes lneas de vida. Cuando se llega al operador de control, cada subregin es ejecutada concurrentemente. La ejecucin de los mensajes en cada subregin es secuencial. Esta estructura no debe ser empleada cuando las diferentes ejecuciones interactan.
Ejecucin de un Ciclo: La etiqueta es loop(x,y). La subregin debe contar con una condicin de guarda la cual ser evaluada despus de cada iteracin. La x indica el nmero menor de veces que se puede ejecutar el ciclo y la y indica el nmero mximo.
4 : mensaje4()
5 : mensaje5()
ControlApp
: BD
2 : busca nivel()
Diagrama de Colaboracin
Diagrama de Colaboracin
Destaca la organizacin de los objetos que participan en una interaccin. Posee las siguientes caractersticas:
Camino: Para indicar como se enlaza un objeto a otro. Nmero de Secuencia: Para indicar la ordenacin temporal de los mensajes, se precede de un nmero que se incrementa secuencialmente por cada nuevo mensaje en el flujo de control.
1: selecciona opcin
pantalla_menu
: Operador
2: muestra pantalla
pantalla_consultas
4: solicita validacin
: BD_Central
Mquina de Estados
Mquina de Estados
Las mquinas de estados se utilizan para modelar los aspectos dinmicos de un sistema. El estado de un objeto es una condicin o situacin en la vida de un objeto durante la cual satisface alguna condicin, realiza alguna actividad o espera algn evento.
Mquina de Estados
Definiciones
Mquina de estados: es un comportamiento que especifica las secuencias de estados por las que pasa un objeto a lo largo de su vida en respuesta a eventos, junto con sus respuestas a estos eventos. Estado: es una condicin o situacin en la vida de un objeto durante la cual satisface alguna condicin, realiza alguna actividad o espera algn evento.
Definiciones
Evento: es la especificacin de un acontecimiento significativo que ocupa un lugar en el tiempo y en el espacio. En el contexto de las mquinas de estados, un evento es la aparicin de un estmulo que puede disparar una transicin de estados. Transicin: es una relacin entre dos estados que indica que un objeto que est en el primer estado realizar ciertas acciones y entrar en el segundo estado cuando ocurra un evento especificado y se satisfagan unas condiciones especificadas.
Definiciones
Actividad: es una ejecucin no atmica en curso, dentro de una mquina de estados. Accin: es una computacin atmica ejecutable que produce un cambio en el estado del modelo o devuelve un valor.
Diagrama de Actividades
El Diagrama de Actividades es una variante de los Diagramas de Estados, organizado respecto de las acciones y principalmente destinado a representar el comportamiento interno de un mtodo (la realizacin de una operacin) o de un caso de uso.
Diagrama de Actividades
Notacin:
Nombre de la Actividad
Diagrama de Actividades
Normalmente contienen:
Estados de Actividad: son estados que se pueden descomponer en otros estados. Estados de Accin: son estados que no se pueden descomponer. Transiciones Objetos
Diagrama de Actividades
Estados Especiales
Estados Inicial: indica el punto de comienzo por defecto para la mquina de estados o el subestado. Un estado inicial se representa por un crculo negro. Estado Final: indica que la mquina de estados o del estado que lo contiene ha finalizado. Un estado final se representa como un crculo negro dentro de un crculo blanco.
Inicio
Fin
Diagrama de Actividades
La bifurcacin es representada con un Rombo, y esta bifurcacin puede tener o no una condicin de guarda.
Expresin de Guarda
[ M ateriales no Disponibles ]
Volver a planificar
[ M ateriales Disponibles ]
Asignar Tareas
Diagrama de Actividades
Para la Divisin y Unin se utilizan las barras de sincronizacin, las cuales se representan como una lnea horizontal o vertical ancha. Una divisin puede tener 1 transicin de entrada y 2 o mas transiciones de salida, cada una de las cuales representa un flujo de control independiente. Despus de la Divisin, las actividades asociadas a cada uno de estos caminos continan en paralelo.
Diagrama de Actividades
Una Unin puede tener 2 o ms transiciones de entrada y 1 transicin de salida. Antes de llegar a la Unin, las actividades asociadas con cada uno de los caminos contina en paralelo. En la Unin, los flujos concurrentes se sincronizan y a partir de ah contina un nico flujo de control que sale de la Unin.
Preparar Conversacin
Gesticular ( )
Descomprimir
Estado de Accin
Limpieza
Es el hecho de dividir las actividades de un diagrama de actividades en grupos, donde cada grupo representa la parte responsable de esas actividades. En UML cada grupo se denomina calle, porque visualmente, cada grupo se separa de sus vecinos por una lnea vertical continua. Una calle especifica un lugar para las actividades.
Cada calle tiene un nombre nico dentro del diagrama. Realmente no tiene una semntica profunda, excepto que puede representar alguna entidad del mundo real. Cada actividad pertenece a una calle nica, pero las transiciones pueden cruzar las calles.
Un diagrama de actividades puede ser utilizado para modelar operaciones. Cuando se utiliza de esta manera, el diagrama de actividades se convierte simplemente en un diagrama de flujo de las acciones de la operacin.
Pasos:
Reunir las abstracciones implicadas en la operacin. Identificar las precondiciones en el estado inicial de la operacin y las poscondiciones en el estado final. Hay que especificar las actividades y acciones que tienen lugar a lo largo de la ejecucin y representarlos como estados de accin o estados de actividad. Hay que usar bifurcaciones cuando sea necesario especificar caminos alternativos e iteraciones Hay que usar divisiones y uniones cuando sea necesario especificar flujos paralelos de control.
Inicio
[ pendiente = I.pendiente ]
en otro caso
y = (pendiente * X) + delta;
Fin
Los diagramas de actividades se utilizarn para modelar una operacin cuando el comportamiento sea complejo y por lo tanto, difcil de comprender.