Ingeniería de Requerimientos

Slides:



Advertisements
Presentaciones similares
BizAgi - Business Agility
Advertisements

ingeniería de software
Ingeniería de Software II
ADMINISTRAR EL DESEMPEÑO Y LA CAPACIDAD
MINI ASSESSMENT P resentación de Hallazgos para Los Alpes Software AHEAD Agosto 2011.
UNIVERSIDAD "ALONSO DE OJEDA"
UNIVERSIDAD "ALONSO DE OJEDA"
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Gestión de Recursos Informáticos Unidad Nº 3: Gestión de calidad y eficiencia.
Aclaraciones de la Realización del Producto
Ingeniería de Software
Evaluaciones de Sistemas de Administración de la Seguridad SMSA
Sistemas de Calidad / ISO 9001:2000
METODO DE ANALISIS DE FALLAS
DIAGNÓSTICO DE CALIDAD AMS
PPQA.
INGENIERIA DE REQUERIMIENTOS
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Evaluación de Productos
Diseño de un Sistema de Control en Tiempo Real para el Kernel del Sistema Operativo utilizando MatLab-SimuLink Por: MARCO ANTONIO ESPINEL CANGUI DIRECTOR:
MESA 3 Evaluación, seguimiento y mejora, auditorias internas y Revisión por la dirección Requisitos P
ITERASOFT. OBJETIVOS DEL GRUPO Producir un sistema Manejador de Itinerarios de alta calidad y confiabilidad Realizar un proyecto bien administrado y productivo.
NORMAS INTERNACIONALES DE AUDITORIA DE SISTEMAS
Gestión de la Configuración (SCM)
Requerimientos /Metas:
REQUIREMENTS MANAGEMENT
ADMINISTRACIÓN DE REQUERIMIENTOS
Fundamentos de la Gerencia de Proyectos
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Ingeniería de Requisitos
Definición de Procesos y Políticas. 2 Marco de Procesos.
PARTICIPACIÓN DEL AUDITOR EN EL DESARROLLO DE SISTEMAS
Planeación con Planning Tool y DotProject Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes Rubby Casallas, Andrés Yie.
AUDITORIAS RESUMEN DE ASPECTOS RELEVANTE EN LA GESTION BASADO EN EL REFERENCIAL ISO 9001:2008.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Plan de Sistemas de Información (PSI)
Aplicaciones de Ingeniería de Software
Notas de Clase Modelado de Procesos de Negocio
Proceso de Gestión de Proyectos
Ximena Romano – Doris Correa
Areas de Proceso del Modelo CMMI-DEV
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Estudio de Viabilidad del Sistema (EVS)
35 años de investigación, innovando con energía 1 Mayo, 2012 P LAN DE ASEGURAMIENTO DE LA CALIDAD DEL DESARROLLO DE SOFTWARE E STÁNDAR IEEE 730 Y G UÍA.
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
El rol de SQA en PIS.
Grupo 10 – 2008 Proyecto de Ingeniería de Software
Ciclo de vida de un sistema
Roles de Open UP.
1 Motor de Generación de Formularios para Infocorp Presentación del Proceso.
Introducción al proceso de verificación y validación.
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
Ciclo de Vida del Software
ANGIE PAOLA SOLANO CASTIBLANCO DAR SOPORTE A LOS PROCESOS NORMAS ISO DOC. JOHANA LÓPEZ CHAVEZ SENA 2010.
Introducción a la Administración de Proyectos
Proceso de desarrollo de Software
LAR 145 Capítulo C.
Administración de Proyectos de Software
Taller – Plan Nacional de Adaptación de Honduras (PNA) Dirección General de Inversiones Públicas (DGIP) Julio, 2015.
SISTEMA DE GESTIÓN DE LA CALIDAD ISO 9001: AUDITORÍA INTERNA
Identificación de entradas, salidas y herramientas de procesos de gestión del PMI Jairo A. Orozco L.
Modelo de procesos de software
Procesos de Planeación
Plan de Pruebas de Aceptación
Gestión de la Configuración. Configuración del Software Conjunto de toda la información y productos utilizados o producidos en un proyecto como resultado.
Verificación y Validación del Software
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Gestión del Alcance del Proyecto
Transcripción de la presentación:

Ingeniería de Requerimientos Administración de Requerimientos

Si no controlamos el cambio, él nos controlará a nosotros Si no controlamos el cambio, él nos controlará a nosotros. Y eso nunca es bueno.

Ingeniería de Requerimientos Especificación Validación Análisis Adquisición Desarrollo Administración Control de Versiones Seguimiento Control de Cambios

Temas Definiciones Control de cambios Control de versiones Seguimiento Otros Pasos a seguir

Definiciones Los requerimientos cambian constantemente Nuevas regulaciones Especificaciones con errores Nuevas necesidades Cambios en el negocio Cambios en el proyecto

Definiciones Tipos de requerimientos volátiles Mutables Emergentes Debidos a cambios en el ambiente Emergentes Surgen por un mejor entendimiento del problema Consecuencia Se originan por el uso mismo del sistema De compatibilidad Por cambios en el proceso, dentro de la organización

Definiciones La administración de requerimientos es una aproximación sistemática para identificar, organizar, comunicar y administrar los requerimiento cambiantes de una aplicación de software. Alan M. Davis y Dean A. Leffingwell. Usando Administración de Requerimientos para Acelerar la Liberación de Aplicaciones de Mayor Calidad, 1995

Definiciones Cuando se presentan nuevos requerimientos (o cambios a los existentes) El plan establecido cambia Tiempos Costos Se debe definir una estrategia Posponer requerimientos Contratar más personas, trabajar tiempo extra Ajustar el plan

Definiciones Involucra Controlar los cambios a la línea base de los requerimientos Mantener los planes del proyecto actualizados Controlar las versiones de los requerimientos Conocer el estado de los requerimientos Administrar los enlaces lógicos entre los requerimientos y otros productos de trabajo

Definiciones Beneficios Mejor control de proyectos complejos Mejorar la calidad Satisfacción del cliente Reducir costos y retrasos del proyecto Mejor comunicación en el equipo Conformidad con estándares

Administración de requerimientos Definiciones Actividades Control de cambios Control de versiones Seguimiento Administración de requerimientos Rastreo Estado Métricas Karl Wiegers. Software Requeriments, 2003 Charlene Gross. Why Isn’t Someone Coding Yet (WISCY)?, 2004

Definiciones Se necesita un repositorio central de requerimientos, con: Requerimientos Atributos Estado de los requerimientos Otra información de administración pertinente

Definiciones Algunos atributos Fuente Prioridad Estado Autor(es) Responsable(s) Fechas Creación Cambios

Definiciones Algunos atributos Métricas – Criterios de éxito Número de Versión Relaciones con otros requerimientos Objetivos, Casos de uso Relaciones con otros productos Clases, Módulos, Pruebas Estabilidad

Definiciones El repositorio facilita las revisiones ¿Cuántos requerimientos hay? ¿Cuántos son de alta prioridad? ¿Cuándo serán implementados? ¿Cuáles requerimientos han cambiado desde la última revisión? ¿Quiénes son responsables de los cambios? ¿Cuál es el impacto (costos) estimado? Alan M. Davis y Dean A. Leffingwell. Usando Administración de Requerimientos para Acelerar la Liberación de Aplicaciones de Mayor Calidad , 1999

Temas Definiciones Control de cambios Control de versiones Seguimiento Otros Pasos a seguir

Control de cambios Proceso que ayuda a garantizar: Los cambios son consistentes con los objetivos Los cambios se comunican a Desarrolladores Usuarios Otras personas afectadas Se toman las acciones correctivas en planes y productos de trabajo

Control de cambios Elementos involucrados Línea base de requerimientos Solicitud de cambio Análisis de impacto Orden de cambio Documentos de validación/verificación Comunicación de resultados

Control de cambios Línea base de requerimientos Conjunto de requerimientos que se implementarán (en una versión dada) Antes de ser una línea base está en constante evolución Después de una aprobación los cambios deben pasar por un proceso formal Control de cambios Control de versiones

Comité de control de cambios Análisis de impacto Técnico, tiempo, necesidad, dinero Comité de control de cambios Requerimiento aceptado Requerimiento rechazado Requerimiento presentado Gustavo Andrés Alvear. Ingeniería de Requerimientos Línea base

Control de cambios Proceso (1) 1. Solicitud de cambio por parte del interesado 2. Valoración Análisis de impacto 4. Comité de control de cambios decide Rechazar e informar al interesado Aceptar el cambio

Control de cambios Proceso (2) 5. Generar orden técnica para cambio Actividades y responsables 7. Hacer el cambio 8. Verificar el cambio - actividades de calidad 9. Promover el cambio (nueva versión), informar al usuario

Control de cambios Información de una solicitud (1) Identificador Origen – quién realiza la solicitud Tipo (cambio, mejora, error) Fecha Descripción Prioridad o fecha para la cual se requiere el cambio

Control de cambios Información de una solicitud (2) Proyecto Respuesta Estado Registrada, Evaluada, Rechazada, Aprobada, Cambio realizado, Verificada, Cancelada, Cerrada Responsable del cambio Verificador

Ejercicio Elabore un formato que permita realizar solicitudes de cambios en su organización

Control de cambios Comité de control de cambios De tres a cinco personas Incluir representantes de los interesados Evalúa los cambios propuestos Rechazar Aceptar Estimar esfuerzo Priorizar Actualizar el SRS

Control de cambios Comité de control de cambios Definir criterios para aprobar / rechazar una solicitud Usar una lista de chequeo Apoyarse en una evaluación de impacto y esfuerzo Todo cambio tiene un costo

Control de cambios Comité de control de cambios No siempre los clientes tienen la razón, pero tienen argumentos que son válidos y pueden ofrecer ideas para futuras versiones No se debe usar el proceso como una barrera Las razones para aprobar / rechazar una solicitud deben quedar registradas

Control de cambios Para cambios aprobados: Identificar las tareas que se deben realizar Se puede tener una lista de tareas estándar Asignar recursos a las tareas Estimar el esfuerzo requerido para cada tarea, de acuerdo con los recursos asignados y los elementos afectados Establecer el orden de las tareas Estimar el impacto en el cronograma

Ejercicio Elabore un formato de reporte final, que resuma las decisiones del comité para una solicitud de cambio.

Control de cambios

Control de cambios Hacer el cambio Empezar del mayor nivel de abstracción, y luego en cascada en los diferentes elementos que afecta Proceso de control de versiones Realizar cambios en la documentación pertinente (no solo en el código) Registrar tiempos

Control de cambios Verificación Pruebas, Inspecciones, … Revisar enlaces Informar a las personas interesadas Usuarios Personas responsables de los elementos afectados Personas encargadas del control de versiones

Control de cambios Un cambio en apariencia pequeño puede convertirse en algo muy grande Trampa (no caer en ella): Evitar el procedimiento formal de control de cambios, y aceptar “pequeñas” solicitudes de los usuarios

Control de cambios Tener espacios de retroalimentación en el proceso de desarrollo No hacer sentir “culpables” a quien solicite un cambio justificado Hacer énfasis en la revisión de los requerimientos con los interesados ¿Qué podría ocasionar que este requerimiento cambiara?

Temas Definiciones Control de cambios Control de versiones Seguimiento Otros Pasos a seguir

Control de versiones Versión Representa el estado de un requerimiento (o documento de requerimientos) en un momento dado Las versiones sucesivas difieren en uno o más cambios Adición, modificación o borrado de elementos Cada versión debe estar identificada de manera única

Control de versiones Esquema de identificación (numeración) Tres dígitos Primero: Cambios mayores Ejemplo: Cambio en comportamiento Segundo: Cambio menor Ejemplo: Adicionar una funcionalidad Tercero: Revisión Ejemplo: Corrección de un error Convención: Antes de la 1.0.0 son versiones no oficiales Bruegge y Dutoit. Ingeniería de Software Orientado a Objetos

Control de versiones Aspectos Asegurar la disponibilidad de la versión correcta Evita desperdiciar tiempo en requerimientos obsoletos o inconsistentes Los miembros del equipo de desarrollo tienen acceso a la última versión Cada cambio debe ser claramente documentado y comunicado Se definen permisos para realizar los cambios

Control de versiones Cada documento debe tener Historia de revisiones Número de versión Fecha Descripción Razón del cambio Autor Opcional Adicionar un número a los requerimientos que cambiaron

Control de versiones Ejemplo historia de cambios Versión Fecha Descripción Autor 1.0 Fecha0 Versión inicial autor0 1.1 Fecha1 Descripción cambio1 autor1 : n Fechan Descripción cambion Autorn

Control de versiones Versión 1.1 (Aprobada) Versión 1.2 (Aprobada) check-in check-in Versión 1.1 (Aprobada) Versión 1.2 (Aprobada) Repositorio del proyecto 1.1 check-out 1.2 Realizar cambios Verificación Roger Pressman. Ingeniería del Software: un enfoque práctico consulta 1.2 consulta 1.1

Control de versiones Definir permisos para realizar “check-in” y “check-out” Comité de control de cambios Permitir consultar las últimas versiones de los productos Mecanismos para notificar sobre los cambios

Control de versiones Usar herramientas Marcas de revisiones de los procesadores de texto Herramientas para control de versiones CVS, Perforce, ClearCase, … Herramientas para manejo de requerimientos, con control de versiones integrado

Temas Definiciones Control de cambios Control de versiones Seguimiento Otros Pasos a seguir

Administración de requerimientos Control de cambios Control de versiones Seguimiento Rastreo Estado Métricas

Seguimiento Rastreo También conocido como “Seguir el rastro” Trazabilidad (Trace) “Seguir el rastro” Hace parte de las actividades de aseguramiento de calidad

Seguimiento Permite Verificar que las necesidades de los usuarios/clientes se han implementado y probado Saber de dónde se derivó cada requerimiento Verificar que no existen comportamientos “extra” ni requerimientos que aparecen de la nada Entender el impacto de los cambios Qué elementos afecta un cambio en un requerimiento

Seguimiento Elementos del Rastreo Establecer las relaciones Poder ver/seguir las relaciones Identificar inconsistencias Mantener las relaciones cuando hay cambios

Necesidades de los clientes Productos subsecuentes Seguimiento Necesidades de los clientes Rastreo hacia Adelante (forward) Requerimientos Rastreo hacia Atrás (backward) Karl Wiegers. Software Requirements, 2003 Productos subsecuentes

Seguimiento Fuente: http://www.ravenbrook.com/doc/2003/02/24/requirements-and-change/

Seguimiento Rastreo Técnicas Matrices (la más usada) Árboles Otras (como hipervínculos) Determinar qué elementos se desean enlazar y qué técnicas usar Incluir en cada producto referencias al anterior Actualizar la información cuando hay cambios

Seguimiento Ejemplo matriz casos de uso – requerimientos funcionales Karl Wiegers. Software Requirements, 2003

Seguimiento Ejemplo matriz seguimiento

Ejercicio Elaborar una matriz de seguimiento a los requerimientos

Seguimiento Estados Permite tener una aproximación de avance del proyecto Definir los estados que se manejarán en la organización Establecer estándares para cambios de estados Responsables Métodos de seguimiento

Seguimiento Posibles estados Propuesto Aprobado Implementado Verificado Rechazado Eliminado

Seguimiento Estados de un requerimiento Aceptado Diseñado Desarrollado Probado Implantado Eliminado Presentado Rechazado

Seguimiento Métricas Solicitudes de cambio Actividades de cambios Por estado (abiertas, cerradas, etc.) Por fuente Actividades de cambios Tipos de actividades Tiempos (estimados e invertidos) Costos

Seguimiento Métricas Esfuerzo total destinado Número de requerimientos Clasificados por estados Número acumulativo de cambios en los requerimientos Identificar requerimientos más volátiles

Seguimiento Métricas Índice de madurez de los requerimientos RMI = (Rt – Rc) / Rt Rt Cantidad de requerimientos en la versión actual Rc Cantidad de requerimientos adicionados, modificados o borrados desde la versión anterior

Temas Definiciones Control de cambios Control de versiones Seguimiento Otros Pasos a seguir

Otros Plan de requerimientos Plan de versiones Reporte retrospectivo

Plan de Requerimientos Establecer la forma de trabajo de manera formal Cómo se llevarán a cabo las actividades relacionadas con requerimientos Incluso para proyectos pequeños Desarrollarlo al comienzo del proyecto

Plan de Requerimientos Temas (1) Propósito El objetivo del plan Resumen del proyecto Descripción general Visión

Plan de Requerimientos Temas (2) Desarrollo de los requerimientos Mecanismo acordado entre clientes/usuarios y equipo de desarrollo para revisar los requerimientos propuestos Criterios que definen un buen requerimiento Razones que soporten el requerimiento

Plan de Requerimientos Temas (3) Roles y responsabilidades Proceso de requerimientos Tareas Entradas, salidas Responsable Medidas para evaluar calidad del producto y del proceso

Plan de Requerimientos Temas (4) Mecanismos, técnicas y herramientas que se utilizarán Integración de prácticas efectivas Basadas en otras experiencias Referencias Apéndices

Plan de versiones Proyectos iterativos – incrementales Método para planeación de proyectos Establecer cómo se implementarán los requerimientos Diferentes niveles de detalle Cada versión se produce a intervalos definidos y proporciona un valor agregado a lo anterior

Plan de versiones Ejemplo Requerimiento Versión 1 Versión 2 Versión 3 CU-13 No Si, 100% CU-25 Solo flujo normal (50%) Flujos alternos 1 y 2 (80%) 100% CU-05 Funcionalidad completa, sin registro de auditoría Adicionar registro de auditoría (100%)

Reporte Retrospectivo Resultados del proceso de requerimientos Qué partes funcionaron bien Qué partes funcionaron mal No se debe usar como mecanismo de premio/castigo Fuente: Libro “Mastering the requirements process, second edition”.

Reporte Retrospectivo Aspectos Aprendizajes (Logros – Dificultades) ¿Se lograron los objetivos? Comunicación con los interesados ¿Se tuvieron en cuenta todos los interesados? Herramientas usadas Proceso de revisiones Dificultades - errores Acciones

Temas Definiciones Control de cambios Control de versiones Seguimiento Pasos a seguir

Pasos a seguir Establecer prácticas actuales Crear plan de acciones para mejorar Definir un piloto e implementar los nuevos procesos Evaluar los resultados

Pasos a seguir Aspectos Las pruebas piloto deben ser en proyectos que no tengan mucho riesgo, antes de incorporarlo “oficialmente” Adaptar a su organización No forzar ni incluir todas las prácticas Mecanismos de control Auditorías Posibilidad de reformar a partir de sugerencias

Pasos a seguir Recomendaciones Definir las actividades a realizar Documentar las actividades Capacitar a los participantes Publicar formatos, usar sistemas de apoyo Definir un responsable de los procesos de administración de requerimientos

Pasos a seguir Incluir en la capacitación Importancia de las actividades de requerimientos Éxito/Fracaso de proyectos Inversión: Valor de los buenos requerimientos Procesos, métodos, técnicas, herramientas que se utilizarán Errores que se pueden presentar y cómo evitarlos/corregirlos Ralph Young. The requirements engineering handbook

Pasos a seguir El cambio toma tiempo Identificar problemas en proyectos anteriores debidos a requerimientos Obtener el compromiso de los líderes / directivos Empezar con las prácticas más fáciles de implementar

Esfuerzo para verificar cumplimiento Validación y Verificación Pasos a seguir Área IR Esfuerzo para adoptar Esfuerzo para verificar cumplimiento Adquisición Moderado - Difícil Difícil Análisis Moderado Administración Fácil - Moderado Fácil Documentación Validación y Verificación   

Pasos a seguir Procesos recomendados para comenzar Inspecciones Usar plantillas para documentos de requerimientos Proceso de control de cambios Adicionar, posteriormente, el análisis de impacto Listado de requerimientos y Matriz de seguimiento

Enlaces Control de cambios: Herramientas control de versiones: http://www.agilemodeling.com/essays/changeManagement.htm http://www.ravenbrook.com/doc/2003/02/24/requirements-and-change/ Herramientas control de versiones: http://en.wikipedia.org/wiki/List_of_revision_control_software