Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
07/09/2017 1 Ingeniería Software de Gestión. DETERMINACIÓN DE REQUERIMIENTOS Lo más difícil en la construcción de un sistema software es decidir qué construir…No existe tarea con mayor capacidad de lesionar un sistema cuando se hace mal…..Ninguna otra tarea es tan difícil de rectificar a posteriori….(F.P. Brooks, 1987) Ingeniería Software de Gestión. CRISIS DEL SOFTWARE • El gasto anual en proyectos software en EEUU es de unos 250 billones de dólares, invertidos en aproximadamente 1750000 proyectos •31.1 % serán cancelados •52.7 % costarán 190% más de lo estimado •Un 16.2 % será finalizado a tiempo y dentro del presupuesto, pero el producto final poseerá aprox. la mitad de los requisitos iniciales. Estudios anteriores reflejan que: • El 45% de los errores tienen su origen en los requisitos y en el diseño preliminar • El 56% de los errores que tienen lugar en un proyecto Software se deben a una mala especificación de requisitos Factores principales que conducen al fracaso en los proyectos software •Falta de comunicación con los usuarios •Requisitos incompletos •Cambios en los requisitos 07/09/2017 2 Ingeniería Software de Gestión. Los requisitos se sitúan en la frontera socio-técnica de los sistemas, y esa frontera es borrosa, e inconsistente. Según M. Jackson los requisitos son: “donde lo formal se encuentra con lo informal”. Los requisitos están vivos, emergen, interactúan, cambian, desaparecen… Requisitos Ingeniería Software de Gestión. Qué es la Ingeniería de Requisitos? La IR trata los principios métodos, técnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadores, de forma sistemática y repetible. Cumple un papel primordial en el proceso de producción de software, ya que enfoca un área fundamental: la definición de lo que se desea producir. Su principal tarea consiste en la generación de especificaciones correctas que describan con claridad, sin ambigüedades, en forma consistente y compacta, el comportamiento del sistema; de esta manera, se pretende minimizar los problemas relacionados al desarrollo de sistemas Fases: 1. Determinación de requerimientos. 2. Análisis de requerimientos. 07/09/2017 3 Ingeniería Software de Gestión. Determinación de Requerimientos. Conceptos. Requisito/Requerimiento. Condición, Característica o Restricción que debe tener o cumplir un sistema o componente de un sistema para satisfacer un contrato, norma, especificación u otro documento formalmente impuesto. Una capacidad del software solicitada por un usuario para resolver un problema y cumplir con un objetivo ¿Qué es? ¿Quién lo hace? ¿Por qué es importante? ¿Cuáles son los pasos? ¿Cuál es el producto obtenido? ¿Cómo puedo estar seguro de que lo he hecho correctamente? Ingeniería Software de Gestión. Determinación de Requerimientos. El análisis de requisitos del software puede dividirse en cinco áreas de esfuerzo: (1) reconocimiento del problema (2) evaluación y síntesis (3) modelado (4) especificación (5) revisión. 07/09/2017 4 Ingeniería Software de Gestión. DOCUMENTO DE REQUISITOS Documento: cualquier medio electrónico de almacenamiento y distribución de información • DRU = Documento de Requisitos de Usuario: Se escribe desde el punto de vista del usuario no contiene gran nivel de destalle.: Descripción del problema actual y metas a lograr con el nuevo sistema. • ERS = Especificación de Requisitos de Software, Desarrolla mucho mas los contenidos de la DRU, por lo que los requisitos son mas detallados. ESTANDARES IEEE 830 Ingeniería Software de Gestión. Determinación de Requerimientos Características. Características que han de reunir los requisitos para ser de alta calidad. Correctos, sin errores. Consistentes. No ambiguos. Son completos: 1. Externamente completa si contiene todas las propiedades deseadas por el cliente. 2. Internamente completa si no existen referencias no definidas. 07/09/2017 5 Ingeniería Software de Gestión. 1. Características. Son realistas. Puede el sistema hacer lo que el cliente desea. Los R. Describen algo necesario para el cliente. Verificables. Un requisito es verificable si existe algún proceso finito de coste razonable que pueda probar que el producto software cumple con el requisito. Son rastreables. Trazables, el origen de cada requisito está claro y se posibilita la referencia de cada uno de estos requisitos en desarrollos futuros o incrementos de la documentación. Determinación de Requerimientos Ingeniería Software de Gestión. 1. Tipos de Requerimientos. 1. R. Funcionales. Una función es algo que hará el sistema. Describen una interacción entre el sistema y su ambiente. 2. R. No funcionales. Describen restricciones que limitan las opciones de solucionar el problema. Restricciones cuantitativas o precisión. 3. Seudorequerimientos. Impuestos por el cliente que restringen la implementación del sistema. Determinación de Requerimientos 07/09/2017 6 Ingeniería Software de Gestión. Determinación Requerimientos DocumentaciónObtención Cliente/Usuario Desarrolladores Especificación Sistema Validación Determinación de Requerimientos Ingeniería Software de Gestión. Cómo escribir Requisitos? Los requisitos constituyen la base de la comunicación entre todas las partes interesadas en el desarrollo : usuarios, clientes, desarrolladores y el equipo encargado de las pruebas, todas estas personas forman un conjunto heterogeneo por lo que “la mejor forma de escribir requisitos NO EXISTA Lenguaje Natural Se identifica cada requisito con una frase corta: “El Sistema hará X…” , “Se facilitará X…..” Ejemplos: 1. El sistema mantendrá un registro de todos los materiales de la biblioteca . (R. General) 2. El Sistema permitirá a los usuarios realizar una búsqueda por Título, Autor o ISBN (R. Funcional) 3. La interface de usuario se implementará sobre un navegador Web. (R. de Implementación) 4. El sistema deberá soportar al menos 20 transacciones por segundo. (R. de Rendimiento) 07/09/2017 7 Ingeniería Software de Gestión. Determinación de Requerimientos Proceso que tiene como objetivo capturar, documentar y condiciones o características que debe cumplir un sistema dado: La especificación del sistema. 1. Obtención de requerimientos. Captura de requerimientos con el objetivo de definir que es el sistema. 2. Documentación de requerimientos. Los requisitos han de reflejarse en un documento como registro del proceso de captura con el objetivo de fijar una base para clientes y desarrolladores. 3. Validación. Es el proceso por el cual se determina si la especificación es consistente es decir si los requerimientos satisfarán las necesidades del cliente. Educción de Requisitos Análisis y Negociación Documentació n de Requisitos Educción de Requisitos Necesidades Información del Dominio Estándares Documento de Requisitos GESTION DE REQUISITOS Ingeniería Software de Gestión. Principales fuentes de requisitos Los requisitos pueden proceder de: • Metas: factores críticos de éxito • Conocimiento del dominio de la aplicación • Los interesados. Los afectados por el sistema • El entorno físico que rodea al sistema • El entorno organizacional. • Los procesos de negocio. 07/09/2017 8 Ingeniería Software de Gestión. Participantes en el proceso. Supervisores del contrato,sugieren hitos de control y cronogramas que disciplinan el desarrollo del sistema. Clientes y usuarios, deben comprender y trasmitir adecuadamente los requerimientos, para del sistema. Los gerentes de negocios, para calibrar el impacto de construir y utilizar el sistema. Los diseñadores que usarán los requerimientos como base del desarrollo. Los verificadores encargados de las sesiones de prueba destinadas a asegurar que el sistema cumple los requerimientos. Determinación de Requerimientos Ingeniería Software de Gestión. Captura de Requerimientos. 1. Primera tarea 2. Fase critica. Colaboración de grupos heterogéneos. Captura de Requer. Actividades Obtención Requer. Identifc. Actores Desarrollador Cliente/Usuario Identifc. Funcionalidad Determinación de Requerimientos 07/09/2017 9 Ingeniería Software de Gestión. Objetivos de la captura de requerimientos (OO): Identificación de actores. Entidades externas que interactúan con el sistema. Como abstracción de papeles. Identificar la funcionalidad a la que tiene acceso cada actor. Identificación de escenarios. Descripción concreta, enfocada e informal de una sola característica del sistema desde el punto de vista de un solo actor. Descripción de casos de uso. Determinación de Requerimientos Ingeniería Software de Gestión. Administración de la Captura de requerimientos: Fuentes: Documentación. Personas con puntos de vista necesarios. Técnicas Cuestionarios Entrevistas Talleres Prototipos Determinación de Requerimientos 07/09/2017 10 Ingeniería Software de Gestión. Fuentes. Análisis de Documentación. Es imprescindible cuando: Se Introduce al sistema en infraestructuras existentes. Documentación a analizar: Sobre las prácticas existentes de los usuarios. Sobre procedimientos de soporte. Sobre componentes técnicos. Sobre el modelo lógico Sobre los modelos de procesos y datos Sobre requisitos existente Determinación de Requerimientos Ingeniería Software de Gestión. Técnicas 1. Elaboración de cuestionarios. 1. Recomendable para grandes poblaciones (+30 personas). 2. Recomendable como base para posterior entrevista personal. 3. Crear un marco para el análisis de resultados. (visión clara de cómo utilizar la información) 4. Comprobar que existe información suficiente en el personal “cuestionado”. 5. Garantizar que es comprensible (no utiliza argot técnico). 6. Probarlo antes de comenzar 7. Verificar la comprensión. Determinación de Requerimientos 07/09/2017 11 Ingeniería Software de Gestión. Problemas con la educción Entre los principales problemas que pueden entorpecer la tarea de la educción de requisitos se cuentan los siguientes: •Los usuarios no pueden /saben describir sus tareas •Mucha información importante no llega a verbalizarse •La educción se afronta como un proceso pasivo, cuando debería ser un proceso cooperativo. Ingeniería Software de Gestión. Tipos de cuestionarios: Para recopilar datos estructurados. Modalidades: 1. Mediante Lista de cuestiones concretas y de respuesta cerrada. ¿Cuánto lleva operando el actual sistema de facturación (en años)?. 2. Mediante índices. ¿Importancia de estos factores para adquirir un OS? Baja Alta Velocidad 1 2 3 4 5 Usabilidad 1 2 3 4 5 Flexibilidad 1 2 3 4 5 Determinación de Requerimientos 07/09/2017 12 Ingeniería Software de Gestión. Tipos de cuestionarios: Cuestionarios para recoger información abierta. Se formula una pregunta abierta. ¿Cuál son para usted los factores principales en la selección de proveedor de servicios de Internet” Útiles para obtener una información inicial sobre el área. Importante evitar sesgos. Determinación de Requerimientos Ingeniería Software de Gestión. Ejemplo de Cuestionario Determinación de Requerimientos 07/09/2017 13 Ingeniería Software de Gestión. Determinación de Requerimientos Ingeniería Software de Gestión. Determinación de Requerimientos 07/09/2017 14 Ingeniería Software de Gestión. Determinación de Requerimientos Ingeniería Software de Gestión. Entrevistas Objetivo: Obtener toda la información posible de la visión que el entrevistado tiene de los requisitos. Depende de la habilidad del entrevistador para crear un clima de confianza. Resulta útil planificar las entrevistas para evitar sesgos (evitar que un grupo incline a un lado el proceso). Preparar un marco para la entrevista (mediante un cuestionario) Confirmar detalles del entrevistado Establecer la finalidad de la entrevista con el entrevistado Organizar una lugar adecuado. Confirmar los detalles por escrito. Determinación de Requerimientos 07/09/2017 15 Ingeniería Software de Gestión. Técnicas captura. Entrevistas: Es aconsejable 2 entrevistadores (una conduce la entrevista el otro supervisa la interacción y toma notas): Mejora la gestión del tiempo. Beneficia la supervisión. Es aconsejable emplear tanto preguntas abiertas como cerradas: Abiertas: Suelen comenzar por “qué”, por qué” y “como” y exigen respuesta detallada por el entrevistado. Cerradas: Aquellas con un Intervalo específico de respuesta. El entrevistador debe centrar la entrevista cuando esta se desvía. El entrevistador debe evitar emitir juicios de valor para no influir. Determinación de Requerimientos Ingeniería Software de Gestión. Técnicas captura. Entrevistas: Análisis de resultados de la entrevista: Si se ha utilizado como marco un cuestionario, este se utilizará como contexto e el análisis. Si la entrevista no es estructurada, el resultado se detallará como informe. Nombre entrevistado. Puesto de trabajo y breve descripción. Punto de vista que representa. Fecha, hora y lugar de la entrevista Resumen de puntos principales Documentos de referencia Otros contactos. Esquema de resumen de entrevista Determinación de Requerimientos 07/09/2017 16 Ingeniería Software de Gestión. Técnicas captura. Talleres: Reunión de partes interesadas. Sesiones intensivas y estructuradas concentradas en uno o dos días. Es preciso una importante preparación previa: Definir con los participantes la finalidad del taller. Facilitarles información histórica. El taller ha de ser dirigido por un experto para: Garantizar que todo los participantes aportan sus puntos de vista. No se desvían del propósito del taller. Determinación de Requerimientos Ingeniería Software de Gestión. Técnicas captura. Talleres: Los requisitos capturados en el taller se registran junto con todas las cuestiones y acciones resultantes. Se genera un informe para documentar los resultados y base de la especificación de requisitos. Tiene la ventaja de reunir a los participantes pudiendo debatirse las cuestiones más controvertidas y resolver así requisitos aparentemente divergentes satisfaciendo a las partes. Determinación de Requerimientos 07/09/2017 17 Ingeniería Software de Gestión. Técnicas captura. Modelado de proceso: Método de análisis vertical (up-dow) para establecer la composición funcional del area para la cual se propone el sistema. Proceso Funciones Funciones Funciones Actividades Actividades Actividades Actividades Actividades Determinación de RequerimientosIngeniería Software de Gestión. Técnicas captura. Modelado de proceso: Se descompone el sistema en procesos “atómicos” que no admitan mas divisiones. La derivación de procesos se realizará mediante técnicas de captura de requisitos. Los usuarios revisarán el modelo en cada desagregación. Permite correcciones antes de seguir con una mayor elaboración Permite identificar procesos de bajo nivel duplicados, permitiendo una simplificación del modelo. Determinación de Requerimientos 07/09/2017 18 Ingeniería Software de Gestión. Técnicas captura. Prototipado: Un prototipo es un modelo de sistema eventual que se puede utilizar para demostrar las características de lo que el sistema puede ofrecer. 2 métodos: P. desechable, P. evolutivo. Los prototipos pueden usarse para: Demostrar la viabilidad del sistema. Se implanta parte del sistema para: Comprobar el comportamiento funcional. Análisis de rendimiento. Aclarar los requisitos del usuario. Ingeniería Software de Gestión. Doc. De Requisitos del Usuario/determinación de requerimientos. Elementos de la documentación: Se perfila el propósito general del sistema con referencias a otros sistemas relacionados y un diccionario de términos y abreviaturas que puedan ser útiles. Descripción de antecedentes y objetivos del desarrollo. Si el cliente tiene un nuevo enfoque para describir el problema se recoge el enfoque y sus restricciones o suposiciones si las hay. Se detallan se definen las características del sistema: Limites del sistema, interfaces, lista clases y características, funciones y procesos con sus entradas y salidas y finalmente requerimientos específicos de rendimiento. Requerimientos sobre soporte, seguridad y privacidad y cualquier restricción. Determinación de Requerimientos 07/09/2017 19 Ingeniería Software de Gestión. Doc. De Requisitos del Usuario/determinación de requerimientos. Introducción 1. Alcance. Área de aplicación de los requisitos. 2. Definiciones. 3. Historial. 4. Descripción de alto nivel. Esquema del problema. 5. RF (Forma atómica y con identificador) 6. RNF (Forma atómica y con identificador y vinculados a los funcionales que soportan) 7. Restricciones específicas Especificación: Requisitos del Usuario Determinación de Requerimientos Ingeniería Software de Gestión. Doc. De Requisitos del Sistema/especificación de requerimientos. Se desarrolla a partir del documento de requisitos del usuario. Cubre el mismo área que el documento de requisitos del usuario pero en los términos técnicos adecuados para diseñar el sistema, Suele estar redactado por analistas de requerimientos. Se fundamenta en: El modelado del sistema, para esclarecer la funcionalidad del sistema. Restricciones sobre infraestructura. Requisitos Funcionales y no funcionales. Determinación de Requerimientos 07/09/2017 20 Ingeniería Software de Gestión. Doc. De Requisitos del Sistema/especificación de requerimientos. Introducción 1. Alcance. Relación con otros sistemas 2. Definiciones. 3. Historial. Infraestructura existente 4. Descripción de alto nivel. Esquema del problema. 5. RF (Forma atómica y con identificador) 6. RNF (Forma atómica y con identificador y vinculados a los funcionales que soportan) 7. Restricciones específicas E. Requisitos del Sistema Determinación de Requerimientos Ingeniería Software de Gestión. Validación. La determinación de requerimientos tiene 2 propósitos: El acuerdo entre clientes y desarrolladores sobre qué debe ser el sistema. Proporcionar a los diseñadores pautas para el desarrollo. La validación de requerimientos es el proceso por el cual se determina si la especificación del sistema es consistente, es decir si los requerimientos satisfarán las necesidades del cliente. 2 pasos (trazabilidad): Se asegura que cada especificación del sistema pueda ser rastreada hasta su requerimiento en el documento de definición. Se chequea la definición comprobando que cada requerimiento es rastreable hasta la especificación. Determinación de Requerimientos 07/09/2017 21 Ingeniería Software de Gestión. Validación. La técnica más utilizada y simple son las reuniones de revisión. Se examinan los requerimientos por parte de: Representantes del cliente: Operadores del sistema. Operadores que preparan las entradas Operadores los que utilizan las salidas Gerentes de estos empleados. Representantes del desarrollador: Equipo de diseño Equipo de pruebas, y gestión de configuración Determinación de Requerimientos Ingeniería Software de Gestión. Validación. La trazabilidad de requisitos se documenta mediante la MTR (Matriz de trazabilidad de Requisitos). Matriz de Trazabilidad de RequisitosResumen de requisitos del Usuario Requisito del Usuario Requisito del Sistema Identificador Identificador Determinación de Requerimientos 07/09/2017 22 Ingeniería Software de Gestión. SOFTWARE PARA GESTION DE REQUISITOS REQUISITE PRO: Es una herramienta de administración de requerimientos que permite al equipo crear y compartir sus requerimientos utilizando métodos familiares basados en documentos potenciados por la aplicación de las capacidades de una base de datos, tales como la trazabilidad y análisis de impacto. El resultado es una mejor comunicación y administración de requerimientos con una mayor probabilidad de completar los proyectos en tiempo, dentro del presupuesto y superando las expectativas. http://www-01.ibm.com/software/awdtools/reqpro/ Es una solución de Gestión y Definición de Requisitos (RDM) específicamente diseñada para proporcionar soporte integral a todo el proceso de Requisitos. Ayuda a los equipos a elaborar especificaciones de requisitos de sistemas de alta calidad: los usuarios pueden capturar y gestionar requisitos, analizarlos en relación con el dominio del negocio en el que están clasificados y representar el sistema que están elaborando a través de técnicas claras que posibiliten la comprensión directa para el usuario final. http://www.visuresolutions.com/irqa-requirements-tool Ingeniería Software de Gestión. Realiza la gestión colaborativa de pruebas con la que se crean y gestionan casos de prueba y planes de prueba. Permite su ejecución (de forma manual) y realizar un seguimiento de los resultados de la prueba en forma dinámica, generar informes, traza de requisitos de software, priorizar y asignar tareas. Página oficial: http://testlink.sourceforge.net/docs/testLink.php RTM Workshop: Producto para la gestión de requisitos. Trata los requisitos como objetos, que pertenecen a clases que corresponden a varios tipos de requisitos o a artefactos de otros proyectos como pueden ser elementos de diseño o casos de prueba. HP Quality Center es una aplicación web que admite todos los aspectos esenciales de la gestión de pruebas. Ayuda en la gestión de requisitos de software, planificación y programación de pruebas, análisis de resultados y gestión de defectos Página oficial: https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto& cp=1-11-127-24%5E1131_4000_10__ http://www-01.ibm.com/software/awdtools/reqpro/ http://www.visuresolutions.com/irqa-requirements-tool http://www.fabricasdesoftware.es/herramientas/gestion-de-requisitos/ https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-127-24%5E1131_4000_10__
Compartir