Por lo tanto, conseguir los requisitos correctos es uno de los aspectos más críticos de un proyecto de software, independientemente del tipo de proyecto en cuestión, ya que capturarlos mal es la causa del problema. La ingeniería de requisitos es la parte de la ingeniería de software que se ocupa del problema de definir requisitos. Los casos de uso se han convertido en una de las técnicas de modelado más utilizadas para definir y documentar los requisitos funcionales de un sistema de software.
Se dará así una visión global de los diferentes tipos de requisitos, para posteriormente presentar en detalle la notación que propone UML para la técnica de casos de uso. Descriptores Ingeniería de requisitos; requisitos; restricción; obtener (provocar) reclamaciones; análisis de requisitos; especificación de requisitos de software (ERS); modelo de caso de uso; casos de uso;. Acertar con los requisitos es uno de los aspectos más críticos de un proyecto de software, independientemente del tipo de proyecto, como lo es una mala captura de los mismos.
El coste de un cambio de requisitos, una vez entregado el producto, es entre 60 y 100 veces superior a los costes en los que habría incurrido. Tenga en cuenta que todas las disciplinas de ingeniería son similares; El desarrollo de requisitos no está guiado por comportamientos esporádicos, aleatorios o por modas pasajeras, sino que debe basarse en el uso sistemático de enfoques probados [Reifer, 1994].
Proceso de Ingeniería de Requisitos (solo se muestran algunos productos)
Requisitos
Una representación en forma de documento de una condición o capacidad como la expresada en (a) o (b) [IEEE, 1999a].
El software debe proporcionar un medio para la representación y acceso a ficheros externos creados por otras herramientas
- Hay que proporcionar al usuario utilidades para definir el tipo de los ficheros externos 1.2 Cada tipo de fichero externo tendrá asociado una herramienta que podrá ser aplicada
- Cada tipo de fichero externo podrá estar representado mediante un icono específico en la interfaz del usuario
- Se proporcionarán utilidades para que el usuario pueda definirse el tipo de icono que asociará a cada tipo de fichero
- Cuando un usuario seleccione un icono que representa un tipo de fichero externo, el efecto de la selección será la aplicación de la herramienta asociada con el tipo de fichero
Requisitos no funcionales
Requisitos
Requisitos de usabilidad
Requisitos de fiabilidad
Requisitos de portabilidad
Requisitos de eficiencia
Requisitos de rendimiento
Requisitos de entrega
Requisitos de implementación
Requisitos de estándares
Requisitos de
Requisitos legislativos
Sommerville, 2002]
Especificación de requisitos del software
Una especificación es un documento que define, de manera completa, precisa y verificable, los requisitos, el diseño. ERS es la documentación de los requisitos esenciales (funciones, rendimiento, diseño, limitaciones y atributos) del software y. Dos o más requisitos definen diferente comportamiento del sistema ante las mismas condiciones y el mismo estímulo externo.
Clientes
Gestores
Desarrolladores
Encargados de pruebas
Encargados de mantenimiento
Kotonya y Sommerville, 1998]
Introducción
- Objetivo 1.2. Ámbito
- Descripción del resto del documento
Descripción general
- Perspectiva del producto 2.2. Funciones del producto
Requisitos específicos
- Requisitos funcionales
- Requisitos de interfaz externa 3.3. Requisitos de ejecución
- Restricciones de diseño 3.5. Atributos de calidad
Apéndices
Requisitos funcionales 1. Requisito funcional 1
- Requisito funcional 2
Requisitos de interfaz externa 1. Interfaces de usuario
- Interfaces de comunicaciones
Requisitos de ejecución 3.4. Restricciones de diseño
Requisitos no funcionales (atributos de calidad)
- Mantenimiento
Otros requisitos 1. Base de datos
Portada
Lista de cambios Índice
Participantes en el proyecto 3. Descripción del sistema actual
Catálogo de requisitos del sistema 1 Requisitos de información
- Requisitos funcionales
- Requisitos no funcionales
Matriz de rastreabilidad objetivos/requisitos 7. Glosario de términos
Conflictos pendientes de resolución [opcional, pueden ir en un documento aparte]
Apéndices [opcionales]
Durán y Bernárdez, 2002]
MDB: Una metodología de
Vista de casos de uso
Un diagrama de casos de uso es un gráfico de actores, un conjunto de casos de uso rodeados por los límites de un sistema. un rectángulo), asociaciones entre actores y casos de uso y relaciones de generalización entre actores. Un actor también puede representarse mediante un símbolo de clase con el estereotipo "actor".
Cliente
Estereotipo de actor
Símbolo de clase con estereotipo
Generalización de actores
El actor 3 o el actor 4 se pueden comunicar con el caso de uso cu3
Un caso de uso es una forma, patrón o ejemplo de uso específico, un escenario que comienza cuando algún usuario del sistema lo inicia. Un caso de uso es una unidad coherente de funcionalidad visible externamente proporcionada por un clasificador (llamado sistema) y expresada por secuencias de mensajes intercambiados por el sistema y uno o más.
Enfoque de los casos de uso en UML
Asociación La línea de comunicación entre un actor y el caso de uso en el que participa. Extensión Insertar comportamiento adicional en el caso de uso base que no conoce. Inclusión Insertar comportamiento adicional en el caso de uso base que describe explícitamente la inserción.
Tipos de relaciones en los diagramas de casos de uso
Comportamiento de caso de uso para padre, verificar identidad El padre es abstracto, no hay secuencia de comportamientos. Un descendiente específico debe proporcionar el comportamiento del caso de uso para el niño, Verificar contraseña: obtener la contraseña en la base de datos maestra. Comportamiento de casos de uso para niños Explore Retina: obtenga la firma de retina en la base de datos maestra.
Caso de uso base para la sesión CA mostrar el anuncio del día
Caso de uso incluido para Identificar cliente obtener nombre cliente
Caso de uso incluido para Validar cuenta establecer conexión con la BD de cuentas
La base debe formarse sin extensión, pero si la extensión está presente, una instancia de la base puede realizar la extensión. La base puede estar bien formada o no sin la inclusión, pero una instanciación de la base realiza la inclusión. El niño puede acceder al estado de la base y cambiarlo (mediante los mecanismos de herencia habituales).
La base ve la inclusión y puede depender de sus efectos, pero no puede acceder a sus propiedades.
Rumbaugh et al., 1999]
Catálogo Telefónico
Paquetes de casos de uso del sistema
Requisitos en el Proceso Unificado
Inicio Elaboración Construcción Transición
Disciplinas
Requisitos Análisis
Implementación Prueba
Fases
Objetos del dominio
Subsistemas
Objetos del dominio de
Código
Diseño del
Modelo de casos de uso
Análisis de requisitos
Bruegge y Dutoit, 2000]
Elicitación de Requisitos
Modelo análisis :Model
Especificación sistema
Model
Análisis
Jacobson et al., 1999]
Larman, 2002]
- Caso de estudio
- El cliente selecciona “Obtener Catálogo”
- Se muestra la pantalla de “Obtener Catálogo”
- El usuario introduce el nombre y su dirección postal
- El usuario selecciona enviar
- El sistema crea un pedido para un catálogo de productos con un coste de 0€
- El sistema graba el pedido
El caso de uso subyacente (B) necesita el caso de uso base (obtiene la funcionalidad básica de A) y determina qué se ejecuta desde A y qué cambios.
Procesamiento de pedidos NW
- El caso de uso se inicia cuando el cliente selecciona “Realizar Pedido”
- El cliente introduce su nombre y dirección
- Si el cliente introduce solamente su código postal, el sistema proporciona la ciudad y provincia
- El cliente introduce los códigos de los productos que desea
- El sistema proporciona la descripción y el precio para cada artículo
- El sistema mantiene el control del total de artículos solicitados en el orden en el que se han introducido
- El cliente introduce la información de la tarjeta de crédito para el pago
- El cliente selecciona “Enviar”
- El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
- Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
- Si el cliente introduce solamente su código postal
- El sistema proporciona la ciudad y provincia
- El sistema mantiene el control del total de artículos solicitados en el orden en el que se han introducido
- Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
- Para cada código de producto introducido
- El sistema proporciona la descripción y el precio para cada artículo
- El sistema añade el precio del artículo al total fin para
- El cliente introduce la información de la tarjeta de crédito para el pago
- El cliente selecciona “Enviar”
- El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
- Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
- Mientras el cliente introduzca códigos de producto
- El sistema añade el precio del artículo al total fin mientras
- El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
- Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
- Mientras el cliente introduzca códigos de producto
- El cliente introduce la información de la tarjeta de crédito para el pago
- El cliente selecciona “Enviar”
- El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
- Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
- El sistema añade el precio del artículo al total
- El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
A medida que solicita artículos, el sistema administra el número total de artículos solicitados en el orden en que fueron ingresados. Una vez confirmado el pago, el pedido se marca como confirmado y se devuelve un identificador de pedido al cliente. Si el cliente sólo introduce su código postal, el sistema proporciona la ciudad y provincia.
El sistema mantiene control sobre el total de artículos solicitados en el orden en que fueron ingresados. El sistema verifica la información, guarda el pedido como pendiente y envía la información de pago al sistema contable. Cuando se confirma el pago, el pedido se marca como confirmado, se devuelve un identificador de pedido al cliente y finaliza el caso de uso. Se devuelve un identificador de pedido al cliente y finaliza el caso de uso.
El sistema mantiene el control del número total de artículos solicitados en el orden en que fueron ingresados. Una vez confirmado el pago, el pedido se marca como confirmado, se devuelve un identificador de pedido al cliente y se cierra el caso de uso. Se devuelve un identificador de pedido al cliente y se finaliza el caso de uso. El sistema verifica la información, guarda el pedido como pendiente y envía la información de pago al sistema contable.
El sistema verifica los datos, guarda el pedido como pendiente y envía la información de pago al sistema de contabilidad. Información de pago al sistema de contabilidad. Una vez confirmado el pago, el pedido se marca como confirmado, el identificador del pedido se devuelve al cliente y se cierra el caso de uso.
Requisito no funcional
El sistema siempre debe responder a la entrada del usuario en un segundo.
Sistema de contabilidad
El sistema verifica la información, guarda el pedido como pendiente, y remite la
Una vez confirmado el pago, el pedido se marca como confirmado, el identificador del pedido se devuelve al cliente y se cierra el caso de uso. Si no se realiza el pago, el cliente recibe un identificador de pedido y el caso de uso finaliza. Si el cliente elige corregir la información, regrese al paso 5, si el cliente elige cancelar, el caso de uso finaliza.
El sistema verifica la información, guarda el pedido como pendiente y envía la información del pago al sistema contable.
El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
Caminos alternativos
El sistema verifica la información, guarda el pedido como pendiente, y remite la información de pago al sistema de contabilidad
Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
Caminos alternativos Alternativa 1: Cancelar
- En cualquier punto del escenario base del caso de uso, el cliente puede seleccionar “Cancelar”
- El sistema solicita al cliente que verifique la cancelación
- El cliente selecciona “Ok” y el caso de uso finaliza
- Datos incorrectos Alternativa 3: Pago no confirmado
- Cuando el pago se ha confirmado, el pedido se marca como
- El sistema verifica la información
- Guarda el pedido como pendiente
- Remite la información de pago al sistema de contabilidad
- Se solicita una actualización de cuenta
- Se envía la información de la tarjeta de crédito y la cantidad a cargar
- El sistema de contabilidad envía el conforme
- Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
- El caso de uso se inicia cuando el comercial selecciona “Devolver producto”
- El comercial busca el pedido
- El sistema muestra el pedido seleccionado
- El comercial selecciona el producto a devolver
- El comercial selecciona “Devolver”
- Se solicita una actualización de cuenta
- Se envía la información de la tarjeta de crédito y la cantidad a abonar
- El sistema de contabilidad envía el conforme
- Se actualiza la cantidad de producto en el almacén
- Se actualiza el pedido
- El sistema muestra el conforme y el caso de uso finaliza
- El caso de uso comienza cuando se recibe una petición de actualizar una cuenta
- El sistema envía la información de la tarjeta de crédito y la cantidad de crédito o débito al sistema de contabilidad
- El sistema de contabilidad envía el conforme
- El caso de uso finaliza
Se pueden descubrir fácilmente varios pasos comunes con el caso de uso anterior. El sistema envía la información de la tarjeta de crédito y el monto del crédito o débito al sistema contable.débito al sistema contable.
Caso de uso: Devolver producto
El caso de uso se inicia cuando el comercial selecciona “ Devolver producto”
Incluir Actualizar Cuenta
Se actualiza la cantidad de producto en el almacén
Se actualiza el pedido
El sistema muestra el conforme y el caso de uso finaliza Caso de uso: Realizar pedido
Incluir Actualizar Cuenta
Cuando el pago se ha confirmado, el pedido se marca como confirmado, se devuelve al cliente un identificador de pedido y el caso de uso finaliza
Realizar pedido
Puntos de extensión
Producto en rebaja: antes del paso 5
Cliente especial: después de que se hayan capturado todos los productos
Caso de uso: Realizar pedido
Etiqueta de la extensión
Condiciones de guarda
- El caso de uso comienza cuando el cliente llama al comercial de NW
- El comercial obtiene un identificador de catálogo del cliente y lo introduce en el sistema
- El sistema obtiene el nombre y dirección del cliente de la base de datos
- El comercial verifica esta información con el cliente
- El comercial le solicita los códigos de productos al cliente y los introduce en el sistema
- Para cada código de producto introducido
- El sistema proporciona una descripción de producto y su precio
- El sistema añade el precio del producto al total
- El comercial le solicita la información de pago al cliente y la introduce en el sistema
- El comercial envía la información de pago al sistema
- El sistema almacena el pedido como pendiente
- Incluir Actualizar Cuenta
- Cuando el pago está confirmado, el pedido se marca como confirmado, se envía un identificador de pedido al cliente, y el caso de uso finaliza
- El caso de uso comienza cuando el cliente selecciona “Realizar pedido” en la página principal de NW
- El sistema muestra la página principal del catálogo en línea
- El cliente navega por el catálogo en línea y selecciona los productos a adquirir
- Para cada producto seleccionado
- El cliente selecciona añadir el producto a la carta de compras
- El sistema añade el precio del producto al total de la carta de compras
- El cliente selecciona “Compra”
- El sistema solicita al cliente su nombre de usuario y su clave
- El cliente introduce un nombre de usuario y una clave y selecciona “Enviar”
- El sistema muestra la dirección de envío y método de pago para esta cuenta de cliente
- El cliente selecciona “Ok”
- El sistema almacena el pedido como pendiente
- Incluir Actualizar Cuenta
- Cuando el pago está confirmado, el pedido se marca como confirmado, se envía un identificador de pedido al cliente, y el caso de uso finaliza
Los datos necesarios para este caso de uso incluyen la dirección de facturación del cliente, la información de pago y la lista de productos seleccionados. El vendedor solicita los códigos de producto al cliente y los ingresa en el sistema. El vendedor solicita información de pago al cliente y la ingresa al sistema.
Cuando se confirma el pago, el pedido se marca como confirmado, se envía un ID de pedido al cliente y finaliza el caso de uso. El caso de uso comienza cuando el cliente selecciona "Realizar pedido" en la página de inicio de NW NW. El sistema muestra la dirección de envío y el método de pago de esta cuenta de cliente.
Realizar pedido, pero incorporando las variaciones en los casos de uso hijos
El cliente introduce los códigos de los productos que desea
Para cada código de producto introducido
Aportaciones principales del tema
Cuestiones y ejercicios
Tienda en línea
Lecturas complementarias
Campo, “Identification of non-functional requirements in textual specifications: a semi-supervised learning approach,” Information and Software Technology, vol. Davis, “The Role of Requirements Elicitation Techniques in Achieving Software Quality,” presented at the Eighth International Workshop on Requirements. Power, “Variety and Quality in Requirements Documentation,” presentado in Seventh International Workshop on Requirements Engineering: Foundation for Software Quality, REFSQ'2001 (June Interlaken, Switzerland, 2001.
Applying UML and Models: An Introduction to Object-Oriented Analysis and Design and Unified Process.
Ingeniería de Requisitos