Ingeniería de Requerimientos Análisis & Diseño MSc. Álvaro Mena Monge
Agenda
Informática Empresarial – 10 año
La Ingeniería de Requerimientos Propósitos de la Ingeniería de Requerimientos Conceptos de requerimientos y stakeholders Pirámide de los requerimientos Clasificación de los requerimientos Características de un buen requerimiento Especificaciones suplementarias Artefactos de la Ingeniería de
Informática Empresarial – 10 a
Ingeniería de requerimientos
Problemática Ing. requerimientos
Informática Empresarial – 10 año
Problemática Ing. requerimientos
Informática Empresarial – 10 año
Investigación de Standish Group en 352 compañías que reportaban más de 8000 proyectos de software 31% proyectos son cancelados antes de ser completados 53% proyectos cuestan 189% valor estimado Compañías grandes, 9% proyectos cumplen con tiempo y presupuesto Compañías pequeñas, 16% cumplen con el tiempo y presupuesto establecidos
Problemática Ing. requerimientos
Informática Empresarial – 10 año
Causas fallas Factores
% respuestas
Falta de información del usuario
12.8%
Requerimientos y especificaciones incompletas
12.3%
Requerimientos y especificaciones cambiantes
11.8%
Requerimientos pobres gran problema Entonces Cómo estimar el costo? Cómo crear un plan de proyecto, asignar recursos, etc.?
Propósitos Ing. requerimientos
Informática Empresarial – 10 año
Establecer y mantener un acuerdo con los clientes y otros afectados acerca de lo que el sistema debería hacer. Proveer a los desarrolladores un mejor entendimiento de los requerimientos del sistema. Definir los límites (delimitar) del sistema. Definir una interfaz de usuario para aquellas funcionalidades del sistema
Propósitos Ing. requerimientos
Informática Empresarial – 10 año
Estimación de costos y tiempos del sistema Base para diseñar el sistema, pruebas, documentación y manuales de documentación y entrenamiento Proveer fundamentos para la planeación de iteraciones
¿Qué es un requerimiento?
Informática Empresarial – 10 año
“Condición o capacidad que el sistema o un componente debe satisfacer”. Puede ser: – Capacidad requerida por un cliente o usuario para resolver un problema o alcanzar un objetivo – Capacidad que debe poseer un sistema para satisfacer un contrato, estándar, especificación u otro documento formal – Una restricción impuesta por un stakeholder Es requerimiento cuando esté escrito
El Stakeholder
Informática Empresarial – 10 año
“Persona que es afectada por el sistema que está siendo desarrollado ” Tipos: – Usuarios: usan el sistema – Clientes: solicitan y aprueban el sistema
Se consideran stakeholders – Persona que participa en el desarrollo ( analista de negocios, diseñadores, programadores, probadores, gestores de proyectos, diseñador gráfico)
El Stakeholder
Informática Empresarial – 10 año
Se consideran stakeholders – Persona que brinde conocimiento del sistema ( expertos del dominio, autores de documentos fuentes para la elicitación) – Ejecutivos – Personas involucradas en mantenimiento y soporte – Proveedores de reglas y regulaciones
Pirámide de los requerimientos
Informática Empresarial – 10 año
Pirámide de los requerimientos
Informática Empresarial – 10 año
Los diferentes niveles marcan el nivel de detalle Requerimiento Los datos deben ser persistentes Sistema deberá usar una base de datos relacional Sistema debe usar la base datos Oracle 9i
Tipo
Pirámide de los requerimientos
Informática Empresarial – 10 año
Necesidad del stakeholder: describe lo que la aplicación debería hacer para mejorar o reducir el costo de un proceso de negocio, incrementar ganancias o alcanzar regulaciones y otras obligaciones. Característica: es un servicio que el sistema provee para llenar una o más necesidades del afectado. Formulada por el analista del negocio. Caso de uso: Descripción del
Pirámide de los requerimientos
Informática Empresarial – 10 año
Requerimiento suplementario: – Dicta propiedades e impone restricciones en el proyecto o sistema. Especifica atributos del sistema. – Estas restricciones recaen en los servicios o funciones ofrecidas por el sistema: restricciones de tiempo, en proceso de desarrollo, estándares, etc.
Caso de prueba: una especificación de entradas de pruebas, ejecución de condiciones y resultados esperados. Escenario: secuencia específica de
Artefactos de la Ing. de Requerimientos
Informática Empresarial – 10 año
Documentos Peticiones de los stakeholders Visión Especificaciones de Casos de Uso Especificaciones Suplementarias Especificaciones de Requerimientos de Software (SRS) Glosario Casos de Prueba
Peticiones de los afectados
Informática Empresarial – 10 año
Documentación de las necesidades implica interpretar diferentes puntos de vista (intereses) de los afectados Es necesario identificar los afectados.
Peticiones de los afectados
Informática Empresarial – 10 año
Caso: Aplicación escritorio de soporte técnico Administrador de la aplicación: “Necesito ser capaz de incrementar el número de llamadas de soporte del equipo en un 30%” Se observa poco detalle en la necesidad
Finanzas “El presupuesto inicial para la implementación del proyecto no puede exceder los $350 mil” Esta necesidad puede ocasionar conflictos con otras
Una necesidad no indica una solución, describe una necesidad del
Características del software
Informática Empresarial – 10 año
Traducir las necesidades de los afectados en un conjunto de características del sistema “Necesitamos un aplicación web tal que los clientes puedan ingresar sus propias solicitudes de soporte técnico”
Necesidades de los afectados
Informática Empresarial – 10 año
ID
Necesidad
Stakeholder
STRQ1 “Necesito notificar al jefe de soporte cuando ‘una solicitud de soporte’ es iniciada”
Jefe de soporte
STRQ2 “Necesito asignar solicitudes de soporte a un ingeniero de soporte específico”
Jefe de soporte
STRQ3 “Necesito mantener informado al cliente del progreso de una solicitud de soporte”
Cliente (usuario)
Características del sistema
Informática Empresarial – 10 año
ID
Característica
Descripción
FEA1 El sistema funcionará La solicitud de soporte orientado al trabajo pasará por una serie de en flujo etapas y asignaciones FEA2 Capacidad de notificación por e-mail
Mapea con N1, N2, N3
Un sistema de notificación N1, N2, de correo centralizado será N3 utilizado por el flujo de trabajo
Características de un buen requerimiento
Informática Empresarial – 10 año
Carente de ambigüedad – Interpretarse de una sóla forma × Req1 El sistema no aceptará claves de acceso más grandes de 15 caracteres. – El sistema no deberá aceptar claves más largas de 15 caracteres. Si el usuario ingresa más de 15 caracteres al digitar su clave, un mensaje de error le indicará al usuario que debe corregirlo
Testeable – Debe poder verificarse si un requerimiento es implementado correctamente. – Algunas palabras NO se deben emplear – Adjetivos: robusto, seguro, preciso, efectivo, eficiente, expandible, flexible, mantenible, confiable, adecuado, amigable con el usuario
Características de un buen requerimiento
Informática Empresarial – 10 año
Testeable – Adverbos: rápidamente, de forma segura, a tiempo – Acrónimos: etc., y, o × REQ1 Las búsquedas deberán permitirle al usuario encontrar una reservación basado en apellidos, fecha, etc. – Los criterios de búsqueda deberían ser listados – Evitar las voces pasivas × El código del aeropuerto deberá ser ingresado por el usuario – El usuario deberá ingresar el código del aeropuerto – Pronombres indefinidos: pocos, muchos, varios, la mayoría, alguien, cualquiera × El sistema deberá soportar el uso concurrente por varios usuarios.
Características de un buen requerimiento
Informática Empresarial – 10 año
Claro (Preciso, Simple, Conciso) – No contener información innecesaria
Correcto – Si el req. contiene hechos, los mismos deben ser ciertos – Los precios de renta de los vehículos deberán mostrar los impuestos aplicables (13 %)
Entendible – Ser gramaticalmente correcto y con un estilo consistente. Usar convenciones y estándares.
Características de un buen requerimiento
Informática Empresarial – 10 año
Realista – Debe ser posible su implementación con las restricciones de tiempo, dinero y recursos disponibles – REQ1 El sistema deberá tener una interface de lenguaje natural que entienda comandos en Español
Independiente – No debe requerir otro requerimiento para poder entenderlo
Atómico – Ser traceable de forma simple
Características de un buen requerimiento
Informática Empresarial – 10 año
Libre de Implementación – No contener información de implementación o de diseño × REQ1 La información de contenido será almacenada en un archivo de texto
Consistente – No deben existir conflictos entre requerimientos – REQ1 Las fechas deberán desplegarse en el formato mm-dd-aaaa – REQ2 Las fechas deberán desplegarse en el formato dd-mm-aaaa
Características de un buen requerimiento
Informática Empresarial – 10 año
Completos – Debe especificar todas las condiciones en que puede ocurrir × REQ1 El país destino no necesitará ser desplegado para vuelos dentro de U.S.A. × REQ2 En los vuelos sobre mar, el sistema deberá desplegar un país destino
Requerimientos suplementarios
Informática Empresarial – 10 año
Llamados requerimientos arquitectónicos Conocidos como requerimientos no funcionales Dictan propiedades e impone restricciones en el proyecto o sistema. Especifica atributos del sistema. Recolectados en el documento Especificaciones Suplementarias Su elicitación es un tanto retadora
Requerimientos Suplementarios
Informática Empresarial – 10 año
Usar el enfoque sugerido por Peter Eeles – Crear lista de categorías de los Req. Suplementarios – Crear pregunta para cada categoría – Explicar al cliente el impacto y costo de cada decisión – Capturar la respuesta del cliente a cada pregunta – Asignar prioridad y peso a cada requerimiento
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
FURPS+ – Functionality, Usability, Reliability, Performance & Supportability – Restricciones (+): Design, Implementation, Interface & Physical
Las categorías pueden ser omitidas si no fueran aplicables
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Subcategoría
Funcionalidad
Usabilidad
Descripción Contiene reqs. funcionales no capturados en los casos de uso (impresión, ayuda y reportes)
Accesibilidad
La ayuda en línea deberá estar disponible desde el menú en cada página Facilidad de acceso y uso La renta de un vehículo deberá estar disponible con un solo clic desde la página principal
Estética
Estética de la UI & el “look and feel” Los campos de entrada múltiples deberán estar alineados verticalmente
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Subcategoría
Descripción
Usabilidad
Consistencia de UI
Consistencia de la UI
Ergonomía
La interfaz de usuario deberá ser consistente con el estándar IBM CUA Aspectos ergonómicos de la UI.
Facilidad de uso
Evitar clics innecesarios o movimientos del ymouse. Facilidad de uso de aprendizaje El proveedor de servicios deberá ser capaz de aprender a usar el sistema en una hora
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría Fiabilidad (Reliability)
Subcategor Descripción ía Disponibilida Porcentaje de tiempo de disponibilidad d del sistema
Robustez
El sistema deberá estar disponible un 99.93% deldel tiempo Capacidad sistema para resistir perturbaciones externas (entradas inválidas o falta de recursos)
Precisión
Para cada entrada inválida, el sistema desplegará un mensaje de error explicando el que formato de entrada Precisión con el sistema calcula esperado valores Las cantidades decimales deberán ser calculadas y almacenadas con precisión de dos decimales
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría fiabilidad (Reliability)
Subcategor Descripción ía Recuperació Elegancia de recuperación del sistema n ante una falla Tolerancia a fallas
Sensibilidad del sistema a que alguna de sus partes falle
Seguro
Cualquier amenaza a usuarios, datos, componentes del sistema o sistemas interoperantes que se deriven del uso del sistema Nivel de protección en torno al acceso a partes del sistema Una clave será requerida para acceder a las funcionalidades de administrador
Seguridad
Correcto
Cuan libre de defectos el sistema deberá quedar Una vez puesto en producción, el sistema deberá tener cero defectos críticos y no más de 20 defectos menores.
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría Subcategoría Descripción Performan ce
Rendimiento Tiempo de respuesta
Tiempo de Recuperación
Promedio con que el sistema ejecuta sus Quétareas tan rápido responderá el sistema a los eventos El promedio de tiempo de respuesta deberá ser menor que dos segundos Qué tan rápido se recupera el sistema de una falla. En caso de falla del sistema, un sistema redundante iniciará operaciones en 30 segundos El tiempo promedio de reparación deberá ser menor que una hora
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría Subcategoría Descripción Performan ce
Tiempo arranqueapagado Capacidad
El sistema deberá estar disponible en un minuto desde su arranque
Utilización de recursos
Uso de memoria, espacio en disco, almacenaje de b.d.
Número de usuarios que el sistema deberá soportar El sistema deberá soportar 5,000 usuarios concurrentes
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Subcategoría Descripción
Soportabilida d
Testeabilidad Adaptabilidad
Cuan fácil realizarle pruebas al sistema Que tan fácil el sistema se adapta a nuevos ambientes
Mantenibilidad Qué tan fácil será localizar errores y Compatibilidad repararlos Grado de compatibilidad del sistema con versiones previas del sistema Después que el sistema entre en producción, las versiones subsecuentes deberán ser compatibles. Todas las transacciones ingresadas en versiones previas deberán estar disponibles en la nueva versión
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Subcategoría Descripción
Soportabilida d
Configurabilid ad
Aspectos de configuración del sistema una vez instalado
Actualizable
Qué tan fácil será expandir el sistema con nuevas características
Instalable
Facilidad de instalación La instalación de una nueva versión del sistema no requerirá instalación alguna en las estaciones de trabajo
Escalabilidad
Que tan fácil el sistema escalará volúmenes de datos y de usuarios
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Subcategoría Descripción
Soportabilida d
Portabilidad
Facilidad para moverlo a otra plataforma de software o de hardware Un cambio del motor de base de datos en el futuro no deberá requerir dede lógica dedel aplicación Interoperabilid reescritura Reutilización partes sistema en ad otro sistema Reusabilidad
Cooperación con otros sistemas
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Subcategoría Descripción
Soportabilida d
Cumplimiento
Cómo el sistema acatará estándares
Reemplazable
Facilidad para cambiar componentes
Cambiable Analizable
Facilidad para cambiar funcionalidades Facilidad para analizar el sistema
Localización
Lenguajes que soportará el sistema
Auditable
Facilidad para auditar la operación del sistema
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Categoría
Descripción
Restricciones de diseño Reqs. de
Relacionados con la arquitectura y el diseño del sistemade programación, sistemas Lenguajes
implementación Reqs. físicos
operativos, de b.d., limitaciones de recursos (memoria, espacio de disco), convenciones de desarrollo Requerimientos de hardware para desplegar
Reqs. de documentación
el sistema Documentación impresa y digital, documentación en línea
Reqs. legales y licenciamiento Requerimientos de interfaces
Interfaces de hardware, software y comunicaciones
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Mecanismos de la arquitectura Representan soluciones concretas comunes a problemas frecuentes
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Lista de chequeo para levantarlos
Clasificación Req. Suplementarios
Informática Empresarial – 10 año
Trazabilidad
Informática Empresarial – 10 año
Habilidad para rastrear un elemento del proyecto con otros elementos del proyecto, en especial requerimientos Propósitos: Entender la fuente de los req. Administrar el ámbito del proyecto Administrar los cambios de req. Estimar el impacto de cambio de req. en el proyecto Verificar que todos los req. son implementados Estimar el impacto de una falla de una prueba en los requerimientos
Trazabilidad
Informática Empresarial – 10 año
Para un sistema de Máquina de Reciclaje, el documento Visión especifica la sgte. caracterísitica: FEAT10:La máquina de reciclaje permitirá la adición de nuevos tipos de botellas.
Esta característica es rastreada con un caso de uso “Agregar Nuevo Tipo de Botella”: Este C.U. permite al Operador enseñar a la máquina de reciclaje a reconocer nuevos tipos de botellas. Así, ayuda a verificar que todas las características son incluidas en las especificaciones de casos de uso y
Trazabilidad
Informática Empresarial – 10 año
Bibliografía
Informática Empresarial – 10 año
Zielczynski, Peter. Requirements management using IBM Rational RequisitePro. USA. IBM Press, 20008. IBM(R) Rational Unified Process