REQUERIMIENTOS DE SOFTWARE Cúmar Cueva
REQUERIMIENTOS DE SOFTWARE Maneja el Sistema de Requerimientos Permite la solución de un problema del mundo real. Son una combinación compleja de requerimientos de diferentes personas en diferentes niveles de una organización y entorno. Es verificable
Requerimientos de Producto y Proceso Requerimientos del software a ser desarrollado (funcionalidades) Proceso Restricciones llevadas a cabo en el desarrollo del sotware. (Plataforma, etc)
Requerimientos Funcionales y No-Funcionales Describen las funciones que el software cumplirá. (capacidades) No-Funcionales Determinan como se obtendrá la solución. Requerimientos de Calidad, rendimiento, mantenimiento, seguridad y otros
Propiedades Emergentes Requerimientos que no dependen de un solo componente. Para su cumplimiento se evalúa la interoperabilidad de los componentes que le conforman.
Requerimientos Cuantificables Requerimientos claros Evitar ambigüedad. Si es posible cuantificarlos (%). Esto impide una interpretación subjetiva de los requerimientos
Requerimientos del Sistema y del Software Requerimientos de todo el conjunto que forma el sistema. Incluyendo los Usuarios Requerimientos de Software Sistema compuesto por software Derivan de los requerimientos del sistema.
2 PROCESO DE REQUERIMIENTOS
Modelado de Procesos Proceso de Requerimientos nace con la aplicación y se mantiene durante todo el ciclo de vida. Debe adaptarse a la organización de la empresa. Incluye actividades de: Análisis, especificaciones y validaciones.
Actores del Proceso Define roles dentro del proceso de requerimientos. Relaciones interdisciplinarias. Usuarios Clientes Ingenieros de Software Reguladores
Procesos de Manejo y Soporte Determina el manejo del Proyecto. Establece relaciones entre: Costos Recursos Humanos Entrenamiento Herramientas
Procesos de Calidad y Mejoramiento Determina la relación entre costos y tiempo. Se incluyen como parte la satisfacción del cliente. Calidad del Software Pruebas de Rendimiento Usabilidad
3 RECOLECCIÓN DE REQUERIMIENTOS Origen de los Requerimientos
Origen de los Requerimientos Diferentes Orígenes. El reconocer su origen servirá para determinar su impacto en el proyecto. Objetivos claros Conocimiento del área de origen Roles Entorno de Operación y Organización
Técnicas de Elicitacion(Recolección) Como obtener los requerimientos. Actividad cooperativa. Entrevistas -- Encuentros de grupo Escenarios Prototipos Observación
4 ANALISIS DE REQUERIMIENTOS Detectar y Resolver conflictos
http://www.processimpact.com/goodies.shtml.
Clasificación de Requerimientos Clasificar los Requerimientos según categorías. Basándose en criterios como: Funcional – No Funcional Si depende de otros En Base a Prioridades Alcance de los Requerimientos Estabilidad / Volatibilidad
Modelado Conceptual Desarrollo de modelos del mundo real. Su Elección depende de varios factores. Flujo y Modelado de Datos Modelos de Estado Traceo de Eventos UML Interacciones de Usuario Modelo de Objetos Modelo del Contexto del Software (inicio)
Diseño Arquitectónico y Asignación de Requerimientos Basado en el modelo conceptual. Permite detectar errores que no pudieron ser vistos en al modelo anterior. Se pueden detectar nuevos requerimientos Análisis detallado de los requerimientos Deben cumplir su función.
Negociación de Requerimientos Resolver conflictos entre requerimientos. Decisiones pueden ser tomadas unilateralmente. Se aconseja consultar con las partes implicadas (roles)
5 ESPECIFICACIÓN DE REQUERIMIENTOS
Definición de la Documentación del Sistema Requerimientos del Sistema Requerimientos del Usuario Definido a alto nivel. No maneja documentación técnica IEEE Std 1016-1998 http://standards.ieee.org/reading/ieee/std_public/new_desc/se/1016-1998.html
Especificación de los Requerimientos del Sistema Documentación referida al sistema en conjunto. Abarca un contexto de aspectos de ingeniería. Se basa en componentes del Software. ISO/IEC 18019 http://www.usabilitynet.org/tools/r_international.htm#18019
Especificación de los Requerimientos del Software Documento que contiene las especificaciones del software. Función del Software y que No hará el Software. Permite un examen riguroso de los requerimientos. Escrito en lenguaje natural. Indicadores de Calidad del Software (Mas común)
SRS IEEE Std 830-1998 IEEE Template for software requirements specification http://standards.ieee.org/reading/ieee/std_public/description/se/830-1998_desc.html
6 VALIDACIÓN DE REQUERIMIENTOS
Revisión de Requerimientos Revisión de requerimientos (Documentacion) Formar un Grupo representativo. Varios roles (Customer, Engineering )
Creación de Prototipos Modelos de Validación Hacen fácil la interpretación de la función del software. Mejor perspectiva. Desarrollo costoso. Su costo puede ser asumido considerando los beneficios que este puede traer (tiempo de desarrollo)
Validación del Modelo Test de Aceptación Examinar los aspectos de los requerimientos. Test de Aceptación Todo requerimiento debe ser comprobable una ves terminado. Identificar y diseñar test para comprobar el cumplimiento de los requerimientos.
Proceso de Requerimientos
7 CONSIDERACIONES PRÁCTICAS
Naturaleza Iterativa del Proceso de Requisitos Los requerimientos no son lineales. Están propensos al cambio. Revisiones Nuevas funcionalidades Gestión del Cambio El manejo de requerimientos debe contemplar la forma en que se cambiarán los mismos. Se describen los procedimientos y análisis que se deben dar para ello.
Atributos de los Requerimientos La sola descripción del requerimiento no basta. Se debe adjuntar información relevante Test de prueba Medidas Cuantificables Requisitos de rastreabilidad Identificación del Origen del Requerimiento Predecir sus efectos en el proyecto
Atributos Para Usuarios Para Desarrolladores Disponibilidad Mantenibilidad Eficiencia Portabilidad Flexibilidad Reusabilidad Integridad Capacidad de Testeo Interoperabilidad Fiabilidad Robustez Usabilidad
Requisitos de Medición Útil para tener una medida cuantificable de un requerimiento. Esto determina el tamaño del requerimiento y por consecuencia su costo de desarrollo y de las tareas de mantenimiento.
Conclusiones Los requerimientos de software son el punto de partida para el desarrollo de una solución óptima. Todo requerimiento que no sea consultado con el usuario, será una traba en el desarrollo del sistema. Los requerimientos son medibles, cuantificables y comprobables.
Bibliografía Estándares de Ingeniería http://electronics.ihs.com/ Estándares de IEEE http://standards.ieee.org Estándares ISO http://www.usabilitynet.org/ SRS http://www.microtoolsinc.com/Howsrs.php
REQUERIMIENTOS DE SOFTWARE Cúmar Cueva