Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática



Documentos relacionados
Ejemplo: agencia de viajes por internet

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Ejercicio Guiado de Análisis y Diseño Orientado a Objetos. Ejemplo: CAJERO AUTOMÁTICO

2.- Diseño del comportamiento: Diagrama de actividades. Mª Antonia Zapata

Diagramas de Casos de Uso

TEMA 7: DIAGRAMAS EN UML

DCU Diagramas de casos de uso

Actividad ASI 1: Definición del Sistema

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Programación páginas web. Servidor (PHP)

INGENIERÍA DEL SOFTWARE I. Univ. Cantabria Fac. de Ciencias. Especificación de Requisitos. Práctica 2

Ejemplo de Análisis Orientado a Objetos ATMs

Notación de Modelado de Procesos de Negocio

Diagrama de Clases. Diagrama de Clases

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

Casos de uso UML. Miguel Vega Granada, octubre de 2010 LSI - UGR

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

BPMN básico. Clase Modelos de Procesos. Javier Bermudez

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UML, ejemplo sencillo sobre Modelado de un Proyecto

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Modelado con Casos de Uso (CU)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

Guía Metodológica para el diseño de procesos de negocio

Casos de Uso Diagramas de Casos de Uso. Universidad de los Andes Demián Gutierrez Abril

Tema 5. Diseño detallado.

Modelando procesos. Introducción al modelamiento de procesos y BPM

Fundamentos de Ingeniería del Software. Capítulo 3. Análisis de Requisitos Introducción a los casos de uso

BPMN Business Process Modeling Notation

Análisis del Sistema de Información

ANÁLISIS Y DISEÑO DE SISTEMAS

Mesa de Ayuda Interna

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

BPMN BPMN BPMN. BPD Objetos de flujo - Actividades. BPD (Business Process Diagram) Notación de modelado de procesos de negocio BPD

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Proceso de desarrollo del software modelo en cascada

Interacción Persona - Ordenador

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Guía del Curso Analista Programador PHP Javascript

ASI. Análisis del Sistema de Información


PROGRAMACIÓN PÁGINAS WEB CON PHP

Los requisitos de un Sistema de Información

Curso Taller de Arquitectura de Software usando UML

MODELADO DEL DOMINIO (MODELO CONCEPTUAL)

El Modelo Conceptual

DOCUMENTO DE CONSTRUCCIÓN SOLUCIÓN DE NO CONFORMIDADES ISO 9000 Bizagi Process Modeler

SIGPRE Sistema de Gestión Presupuestaria

El modelo de casos de uso. Ingeniería de la Programación

2.4 Modelado conceptual

Ejercicios Diagramas de casos de uso

CAPITULO V. HERRAMIENTA CASE (Rational Rose, C++)

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Trabajo Ingeniería De Software

Metodología básica de gestión de proyectos. Octubre de 2003

INGENIERÍA DEL SOFTWARE I Tema 8. Contexto y Requisitos del Sistema (en desarrollo OO)

MARCO METODOLÓGICO CAPITULO III

DISEÑO DE FUNCIONES (TRATAMIENTOS)

Arquitectura de sistema de alta disponibilidad

Diseño de Componentes

Caso empresa ELÉCTRICA S.A.

1. Cuál es el objetivo del Diseño del Sistema de Información? del sistema. información. a. 5. b. 4. c. 3. d. 2. c. Diseño de. b.

Departamento de Informática Segundo semestre de Repaso para Certamen 1

M III ABSTRACCIÓN Y CLASIFICACIÓN

CAPITULO VII CONCLUSIONES Y RECOMENDACIONES

PROCESO UNIFICADO CAPTURA DE REQUISITOS

Tarjetas Inteligentes

TEMA 1.-Programación orientada a objetos (POO) Objetivo

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Modelo alternativo de análisis: Modelo de Jacobson

Diseño orientado al flujo de datos

M.T.I. Arturo López Saldiña

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

Pauta de Informe de Proyecto

Programación páginas web con ASP.NET 3.5 (C#)

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre Reporte De Lectura

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

Business Process Management(BPM)

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Procesos de Negocios

Conceptos de redes. LAN (Local Area Network) WAN (Wide Area Network)

Diccionario de Datos (DD)

Tema 1. Conceptos fundamentales de los Sistemas Operativos

4. Programación Paralela


Capitulo III. Diseño del Sistema.

KW x hora. on/off

Transcripción:

Modelado Avanzado con Casos de Uso

Especificación Gráfica de Casos de Uso Una simple secuencia de acciones no puede describir adecuadamente la riqueza de situaciones que se pueden presentar en un caso de uso (alternativas, excepciones...). Posibles soluciones: Complicar la descripción textual de la secuencia de acciones. Emplear una descripción gráfica mediante diagramas de actividad. Un diagrama de actividad representa: El flujo de acciones (secuencial, alternativo o concurrente) de un caso de uso o de una operación de una clase. Elementos principales: Acciones: cada una de las unidades en que se descompone la actividad. Transiciones: conexión entre el fin de una acción y el comienzo de otra. Condiciones: deben ser expresiones booleanas mutuamente exclusivas. Modelado Avanzado con Casos de Uso 2

Actividades Especificación de comportamiento (parametrizado) cuyos elementos individuales son las acciones. El flujo de ejecución de una actividad se modela con nodos (acciones y nodos de control) conectados a través de ramas (transiciones). <nombre actividad> <contenido> Modelado Avanzado con Casos de Uso 3

Acciones Unidad abstracta fundamental de especificación de comportamiento. La ejecución de una acción representa alguna transformación o procesamiento en el sistema modelado. Tipos: Aceptación de evento: acción que espera por la ocurrencia de un evento. Envío de señal: acción que crea una señal y la transmite. Ejecución de comportamiento: especificación del comportamiento que debe ser llevado a cabo. Modelado Avanzado con Casos de Uso 4

Diagramas de Actividad Acciones y transiciones. Estados inicial y final. Decisiones y ramas alternativas. Sincronización de ramas concurrentes. Comer Desayunar Preparar desayuno Abrir boca Cortar pan Beber café Tomar alimento Leer periódico Cerrar boca Comer pan Masticar [sólido] [líquido] [terminado] [else] Tragar Limpiar cocina Modelado Avanzado con Casos de Uso 5

Correspondencia entre las Especificaciones Textual y Gráfica Nombre: Consultar lista de artículos Actores: Observador Objetivo: Obtener lista de artículos con datos de vendedores, y lista de pujas de un artículo con datos de compradores. Precondiciones: Postcondiciones: Escenario básico: Abrir sesión como Observador. Mostrar la lista de artículos con los datos de los vendedores. Opcionalmente: Seleccionar un artículo. Mostrar la lista de pujas del artículo con los datos de los compradores. Consultar lista de artículos [sesión abierta] Abrir sesión como Observador [ok] [else] Mostrar lista de artículos con datos de vendedores [fin] Seleccionar artículo [error] [mostrar pujas] Mostrar lista de pujas con datos de compradores Modelado Avanzado con Casos de Uso 6

Subactividades Consultar lista de artículos Abrir sesión [error] [ok] Abrir sesión Mostrar lista de artículos con datos de vendedores [sesión abierta] [fin] [mostrar pujas] [else] Abrir sesión como Observador Seleccionar artículo Mostrar lista de pujas con datos de compradores Modelado Avanzado con Casos de Uso 7

Swimlanes Partición con nombre que permite agrupar un conjunto de acciones. Permite especificar de manera visual qué recurso o rol es responsable de cada acción que forma parte del diagrama de actividad. Cliente Ventas Transporte Realizar pedido Comprobar crédito cliente Comprobar producto en stock Recibir pedido Enviar pedido Modelado Avanzado con Casos de Uso 8

Include y Extend Es posible definir relaciones entre casos de uso: «include»: para describir un comportamiento común reutilizable. «extend»: para describir una variante del comportamiento base (es decir, sólo se inserta el comportamiento cuando se cumple una condición). Base Sacar dinero «include» Condición: {nombre de usuario ya registrado} Validar tarjeta Inclusión Crear cuenta de usuario «extend» Registrar error Extensión Significado problemático en UML: No está clara la diferencia entre ambas (reutilización / inserción). No siempre encajan con la definición como unidad coherente de funcionalidad. Pueden llevar por error al modelado de procesamiento secuencial. En este curso se podrá utilizar «include», pero con mucho cuidado. Modelado Avanzado con Casos de Uso 9

Acceso al Sistema Situaciones típicas que tienen en común una secuencia de acciones previa a la ejecución de los demás casos de uso: Identificación o validación de usuarios. Inicio (y cierre) de sesión. Abrir un documento sobre el que se van a realizar diversas operaciones. etc. Posibles soluciones (y problemas asociados): Caso de uso aparte usado como «include» Complica innecesariamente el diagrama de casos de uso. Es parte de los demás casos de uso sólo la primera vez que se ejecutan. Caso de uso aparte cuyo resultado es usado como precondición para los demás. No representa una interacción completa, una funcionalidad en sí misma con un objetivo independiente de los objetivos de los demás casos de uso. Secuencia opcional de acciones en el diagrama de actividad del caso de uso. Puede reutilizarse definiéndola como subactividad. Modelado Avanzado con Casos de Uso 10

Actores Cooperativos Qué significa conectar varios actores a un mismo caso de uso? El caso de uso puede requerir la participación de varios actores, y cada actor asociado a un caso de uso representa un rol distinto, y uno de los actores será el iniciador del caso de uso, y los actores cooperan entre todos para realizar el objetivo del caso de uso. Incorrecto: pretender que es el mismo caso de uso para distintos actores, que lo ejecutan de modo independiente. Modelado Avanzado con Casos de Uso 11

Generalización de Actores Problema: Categoría de usuarios A requiere el mismo servicio que otra categoría de usuarios B. Posibles soluciones: Hay usuarios concretos que adoptan los dos roles (clasificación multiple). El actor A es subtipo del actor B (todo A es un B). Los actores A y B son subtipos del actor C (problema: proliferación de actores). Posibles errores: Asociar los dos actores con el mismo caso de uso (serían actores cooperativos). Que no requieran exactamente el mismo servicio (no sería el mismo caso de uso). Modelado Avanzado con Casos de Uso 12

Generalización de Casos de Uso Un caso de uso puede tener especializaciones con el fin de: Añadir asociaciones con actores que requieran distintas variantes. Añadir o sobrescribir pre/postcondiciones y acciones. Significado problemático en UML No usar la generalización de casos de uso si se puede evitar Modelado Avanzado con Casos de Uso 13

Realización de Casos de Uso El modelo de casos de uso captura los requisitos funcionales del sistema y recoge el vocabulario del dominio. Los requisitos funcionales son estructurados y formalizados usando el mismo vocabulario en el modelo de análisis, que es refinado y completado en el modelo de diseño con soluciones tecnológicas que aportan aspectos de implementación. Para realizar un caso de uso con metodología orientada a objetos se requiere una colaboración (tanto en análisis como en diseño), es decir, un conjunto de objetos que cooperan para conseguir el objetivo del caso de uso: Modelo estático de la colaboración: clases y asociaciones. Estructura de datos requerida por el caso de uso. Modelo dinámico de la colaboración: objetos y mensajes. Interacciones entre objetos para cumplir el objetivo del caso de uso. Modelado Avanzado con Casos de Uso 14