Académique Documents
Professionnel Documents
Culture Documents
TEMA 2
Objetivos especficos
El alumno debe ser capaz de:
Enumerar las actividades del anlisis de sistemas y describir brevemente cada una de ellas. Enumerar y describir brevemente los principios fundamentales del anlisis de sistemas. Describir brevemente el contenido del Documento de Especificacin de Requisitos segn el estndar IEEE Std. 830. Definir qu es UML (Unified Modeling Language).
Enumerar los principales diagramas de UML. Definir qu es un modelo de anlisis y enumerar los principales modelos de anlisis.
Objetivos especficos
El alumno debe ser capaz de:
Actividades de Anlisis
El objetivo del anlisis de sistemas es realizar un Documento de Especificacin de Requisitos (especificar qu tiene que hacer el sistema y no cmo desarrollarlo).
El Documento de ERS es el resultado del trabajo conjunto de los analistas y de los clientes o usuarios. El Proceso de la Fase de Anlisis consiste en: Determinacin de Requisitos. Anlisis de Requisitos. Especificacin de Requisitos. Validacin de Requisitos.
Puede haber iteraciones y solapamientos entre las actividades, no tienen que realizarse necesariamente en secuencia.
Actividades de Anlisis
Requisitos
coordinar
Obtenidos
requisitos
Actividades de Anlisis
Confirmacin con los clientes/usuarios que los requisitos son vlidos, consistentes, etc. Utilizar listas de comprobacin.
Principios fundamentales del anlisis: Modelado. Particin. Planteamiento esencial de los requisitos.
MODELADO
Se realizan modelos desde tres perspectivas diferentes: Funcin: Qu hace el sistema? Informacin: Qu informacin utiliza el sistema? Comportamiento: Cundo sucede algo en el sistema? Es importante analizar las relaciones que existen entre los distintos modelos. La importancia de cada modelo depende de las caractersticas del sistema y del mtodo de anlisis utilizado.
PARTICIN
Dividir el problema en partes y establecer interrelaciones entre ellas para obtener la funcin global.
El Documento de Especificacin de los Requisitos del Sistema (ERS) contiene la especificacin de los requisitos del software y de las interfaces externas:
Funcionalidad: Qu debe hacer el software?
Atributos: Portabilidad, Correccin, Mantenibilidad, etc. Interfaces con los usuarios, con el hardware, con otros sistemas, etc.
Anlisis OO (UML)
UML es un lenguaje para visualizar, especificar, construir y documentar los modelos de un sistema desde una perspectiva OO.
UML es una notacin, no es un proceso. Hay muchos procesos que utilizan UML como notacin. Utilizable para sistemas que no sean software.
Anlisis OO (UML)
U.M.L
Notacin
Proceso (metodologa)
Unified Process Rational Unified Process
Herramienta
Rational Rose, Objecteering, Visio
Poseidon, Visual Paradigm, Umbrello
Craig Larman
Etc.
Anlisis OO (UML)
Principales Diagramas UML
Anlisis OO (Modelos)
Un modelo es una simplificacin de la realidad.
Un modelo es el resultado de un proceso de abstraccin y ayuda a comprender y razonar sobre una realidad. Un modelo software es una descripcin de un aspecto del software, expresada en un lenguaje bien definido. Se crean un conjunto de modelos software (planos del software) que permiten especificar aspectos del sistema como los requisitos, la estructura y el comportamiento. Los modelos:
ayudan a razonar sobre el sistema. favorecen la comunicacin. permiten documentar las decisiones. permiten una generacin automtica de cdigo.
Anlisis OO (Modelos)
Modelo de Casos de Uso.
Diagramas de Casos de Uso. Diagrama de Clases. Diagramas de Interaccin. Diagramas de Estados. Diagramas de actividades. Diagrama de Componentes. Diagramas de Despliegue.
Modelo Estructural.
Modelo de Comportamiento.
Modelo Implementacin.
Modelo de Despliegue.
Anlisis OO (Modelos)
Modelo de anlisis
Modelo conceptual de los datos
Modelo de comportamiento
Modelo de estados
Anlisis OO (Modelos)
Modelo de anlisis
Modelo conceptual de los datos
Modelo de comportamiento
Modelo de estados
Anlisis OO (Modelos)
Modelo de Casos de Uso
Cu: Realizar Venta Descripcin: Actores: Precondiciones: Postcondiciones: Esc. Principal: Esc. Alternativos:
Realizar Venta
Cajero
Cliente
Registrar Productos
Gerente
Inicia
Gestion Usuarios
Administrador Sistema
Anlisis OO (Modelos)
Modelo Conceptual de Datos (Modelo de Dominio)
Descrita por Registra venta de
Catalogo Productos
1 1
Contiene 1..n
Producto
0..1
Usado-por 0..n
Lineas Venta
cantidad
1..n
0..n
1..n
TPV 1 Iniciado por 1 Gerente
1 pagado por
1 Pago
Anlisis OO (Modelos)
Modelo de Comportamiento
: Cajero
:Sistema
finalizarVenta ()
crearPago()
Nombre: introducirItem (itemID: string, cantidad: integer) Referencias Cruzadas: Registrar Venta Precondiciones: Hay una venta en curso Postcondiciones: - Se cre una instancia lv de LineaVenta - Se asoci ldv a la venta en curso v - Se asign cantidad a lv.cantidad - lv se asoci a una EspecificacinProducto segn itemID
Anlisis OO (Modelos)
Modelo de Estados
Diagrama de estado
Espera Venta introducirProducto
introducirProducto
Introduccion Productos
Describe un conjunto de interacciones entre actores externos y el sistema en consideracin orientadas a satisfacer un objetivo de un actor. [D. Bredemeyer)
Es una coleccin de posibles secuencias de interacciones entre el sistema en discusin y sus actores externos, relacionado con un objetivo particular. [A. Cockburn]
Es una coleccin de escenarios de xito y fracaso relacionados que describe a un actor que usa un sistema para conseguir un objetivo [C. Larman]
26
Son iniciados por un actor con un objetivo en mente y es completado con xito cuando el sistema lo satisface. Puede incluir secuencias alternativas que llevan al xito y fracaso en la consecucin del objetivo. El sistema es considerado como una caja negra y las interacciones se perciben desde fuera. El conjunto completo de casos de uso especifica todas las posibles formas de usar el sistema, esto es el comportamiento requerido.
28
Procesar Prstamo
ResponsablePrestamos
asociacion
Los Casos de Uso NO son Orientados a Objetos: Herramienta para el anlisis de requisitos que se puede utilizar en proyectos no orientados a objetos
Relaciones: Actores relacionados con Casos de Uso (asociacin). Relaciones entre Casos de Uso:
Un cdu que extiende a otro (extend). Un cdu incluye a otro (include).
Roles jugados por personas, dispositivos, u otros sistemas. El tiempo puede ser un actor automticamente por el sistema). No forman parte del sistema. (procesos iniciados
Un actor puede intervenir en varios casos de uso. Identificar casos de uso mediante actores y eventos externos. Un actor necesita el caso de uso y/o participa en l.
Un caso de uso describe un conjunto de secuencias de interacciones entre actores y el sistema (escenarios): flujo principal y flujos alternativos o excepcionales.
Son documentos de texto, no son diagramas. El modelado de casos de uso consiste en escribir texto, no en dibujar diagramas.
Describir el flujo de eventos: Texto estructurado informal. Texto estructurado formal (plantillas). Pseudocdigo. Notaciones grficas: diagramas de secuencia.
Debe ser legible y comprensible para un usuario no experto. Debe indicar: actores, flujos principal y excepcionales.
35
Debe ser legible y comprensible para un usuario no experto. Debe indicar: actores, flujo principal, flujos excepcionales.
37
40
41
42
Anlisis OO (Modelo Casos de Uso) Descripcin de Casos de Uso (Diagrama de Secuencia del Sistema)
Cliente
Solicitud introducir NIP NIP introducido (NIP)
Sistema
ESCENARIO Principal
Anlisis OO (Modelo Casos de Uso) Ejemplo Caso de Uso Realizar Venta (Plantilla)
Caso de Uso: Realizar Venta. Descripcin: Un cliente llega al TPV con un conjunto de artculos. El cajero
registra los artculos y se genera un ticket. El cliente paga en efectivo y recoge los artculos.
Escenario principal:
1. El Cliente llega al TPV con los artculos. 2. El Cajero inicia una nueva venta.
44
Anlisis OO (Modelo Casos de Uso) Ejemplo Caso de Uso Realizar Venta (Plantilla)
Escenario principal (continuacin):
3. El Cajero introduce el identificador de cada artculo. 4. El Sistema comprueba que el artculo es correcto, registra la lnea de venta y presenta la descripcin del artculo, el precio y la suma parcial de la venta. El Cajero repite los pasos 3 y 4 hasta que se finalice la venta. 5. El Sistema presenta el total con los impuestos includos. 6. El Cajero le dice al Cliente el total a pagar. 7. El Cliente paga y el sistema gestiona el pago. 8. El Sistema registra la venta completa y actualiza el Inventario. 9. El Sistema presenta el recibo.
Anlisis OO (Modelo Casos de Uso) Ejemplo Caso de Uso Realizar Venta (Plantilla)
Extensiones (Flujos Alternativos):
3a. Identificador de artculo no vlido. 1. El Sistema seala el error y rechaza la entrada. 3-4a. El Cliente solicita eliminar un artculo de su compra. 1. El Cajero selecciona el artculo a eliminar. 2. El Sistema elimina el artculo de la venta y actualiza la suma parcial. ... 7a. Pago en efectivo 1. El Cajero introduce la cantidad entregada por el cliente. 2. El Sistema muestra cantidad a devolver. ... ....
Anlisis OO (Modelo Casos de Uso) Ejemplo Caso de Uso Realizar Venta (Plantilla)
Variaciones:
No funcional:
Interfaz de usuario con pantalla tctil en un monitor de pantalla plana. El texto debe ser visible a un metro de distancia. Tiempo de respuesta para autorizacin de crdito de 30 sg. El 90% de las veces. La entrada de informacin de la tarjeta se realiza mediante un lector de tarjetas.
Cuestiones Pendientes:
Explorar cuestiones de recuperacin de accesos a servicios remotos. Qu adaptaciones son necesarias para diferentes negocios?
No existe un mejor formato (diferentes preferencias, complejidad del caso de uso). Las secciones se pueden aadir y quitar; los nombres de los ttulos se pueden cambiar (no es especialmente importante).
Clave: Describir los detalles del escenario principal de xito y sus extensiones de alguna forma.
extend
Hacer Pedido
(establecer prioridad)
include
Relacin de inclusin
Comprobar clave
Validar Usuario
Generalizacin
Seguir Pedido
include
Examinar retina
Permite factorizar un comportamiento en un caso de uso aparte y evitar repetirlo en diferentes casos de uso. Ejemplo: Hacer Pedido: Obtener y verificar el nmero pedido; Include (Validar usuario); para cada lnea del pedido: Validar lnea de pedido;
de
El caso de uso base incluye una serie de puntos de extensin. Sirve para modelar: la parte opcional del sistema. un subflujo que slo se ejecuta bajo ciertas condiciones. varios flujos que se pueden insertar en un punto.
Representar un objetivo de subfuncin como caso de uso si la subfuncin se repite o es precondicin en muchos casos de uso de nivel de objetivos de usuario. Ej. Identificar y validar usuario. Excepcin caso de uso por objetivo: Agrupar objetivos separados CRUD (crear, recuperar, actualizar, eliminar) en un caso de uso llamado por convencin Gestionar <X>.
Error comn: Definir muchos casos de uso a un nivel muy bajo (eliminar una lnea de pedido)
Error comn: no identificar como casos de uso las tareas que inicia el propio sistema (anular reservas pasados quince das).
Especificar casos de uso no es una actividad de dibujar diagramas sino de escribir con el detalle necesario el flujo principal y los flujos alternativos: centrado en la escritura en vez del dibujo. El objetivo inicial es identificar los actores principales y a partir de sus objetivos encontrar los casos de uso, el diagrama de casos de uso es una ayuda visual. Los actores principales deben interactuar con el sistema. Un Caso de Uso implementacin. NO debe considerar cuestiones de
No es necesario aplicar la abstraccin USA CASOS DE USO CONCRETOS! Evita redes complicadas de casos de uso: Cuidado con las relaciones include y extend.
Los casos de uso slo consideran los requisitos funcionales del proyecto, hay que aadir los no-funcionales.
58
Con un caso de uso se describe un comportamiento esperado del sistema, pero no se especifica cmo se implementa. Un caso de uso se implementa a travs de una colaboracin: Sociedad de clases y otros elementos que colaborarn para realizar el comportamiento expresado en un caso de uso Una colaboracin tiene una parte esttica (diagramas de clases) y una parte dinmica (diagramas de secuencia).
caso de uso
colaboracin
Hacer Pedido
Gestin Pedidos
realizacin
<<Participa>> <<Participa>><<Participa>>
Objeto
Objeto
Objeto
<<Utiliza>>
Caso 1
Caso 2
Descomposicin estructurada
Sistema
Caso 3
Descomposicin de objetos CU3
B C E J G I H D
Caso 2 Caso 1
Caso 3
CU2
Funcin Funcin
Funcin
Funcin
Funcin
CU1
El objetivo de la arquitectura del sistema es encontrar el conjunto mnimo de colaboraciones bien estructuradas, que satisfacen el comportamiento especificado en todos los casos de uso del sistema
Bibl
Booch, G.; Jacobson, J.; Rumbaugh, J.M. El lenguaje unificado de modelado. Manual de Referencia, 2 ed. Ed. Addison Wesley, 2007.
Booch, G.; Jacobson, J.; Rumbaugh, J.M. El lenguaje unificado de modelado. Gua de Usuario, 2 ed. Ed. Addison Wesley, 2007.
Bibl
http://www.usecases.org http://alistair.cockburn.us/usecases/usecases.html IEEE Std. 830. Recommended Practice for Software Requirements Specifications.
C. Larman. UML y Patrones: Una introduccin al anlisis y diseo orientado a objetos y al proceso unificado. 2 ed. Prentice-Hall, 2003.
Pressman, R. Ingeniera del Software. Un enfoque prctico, 6 ed. McGraw Hill, 2005.
Sanchez, S.; Sicilia, M.A.; Rodrguez D. Ingeniera del Software. Un enfoque desde la gua SWEBOK. Ed. Garceta, 2011.