Desarrollo de Software II Febrero Junio 2008 Ingeniera de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar y ser desarrollado. Sommerville. Es una de las etapas mas criticas del proceso de software, determina que se va realizar. Mas del 30% de los proyectos de software que fracasan lo realizan por causa de los requerimientos.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Tipos de Especificacin Requerimientos de Usuarios: Estn definidos en lenguaje natural que esbozan los servicios y restricciones del sistema, Escrito para consumidores. Requerimientos del Sistema:Estn definidos de una manera estructurada, y adems de los servicios y restricciones del sistema, da nociones concisas de como debera ser implementado.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Lectores de Requerimientos Requerimientos de Usuarios Administradores Clientes. Usuarios Finales del Sistema. Administradores Contratistas Requerimientos de Sistema Arquitectos del sistema. Desarrolladores del Software. Usuarios Finales del sistema
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Tipos de Requerimientos Requerimientos Funcionales:Definicin de los servicios que el un sistema de proveer, su comportamientos a las diferentes entradas y situaciones. Requerimientos No Funcionales:Restricciones aplicadas sobre las funcionalidades del sistema como: restricciones de tiempo, sobre el proceso de desarrollo, recursos, dominio del negocio.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos Funcionales Describe las funcionalidades y servicios del sistema. Ejemplos El sistema deber almacenar la informacin personal de los pacientes. El sistema deber poder desplegar la historia clnica en cualquiera de los nodos de acceso. El sistema deber registrar cualquier acceso o modificacin sobre una historia clnica
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos Ambiguos Muchos problemas relacionados con requerimientos estn asociados a la diferentes interpretacin que se le pueden dar a los mismos. Las ambigedad puede ser usada para sacar partido de las diversas situaciones Un desarrollador pude tomar la interpretacin mas simple (Por presin de tiempo). Un cliente puede tomar la interpretacin mas compleja (Para obtener ms por su inversin).
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Caracteristicas Deseadas Para evitar problemas, se espera que una especificacin de requerimientos de tener las siguientes caractersticas: (IEEE- 830) Correcto:Lo que se especifica es lo que se quiere Completo: Todas las necesidades deben estar reflejadas. Consistente:No debe existir contradiccin entre requerimientos. Comprobable:Se debe poder determinar si se cumple o no.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos No Funcionales Definen las propiedades y restricciones del sistema a construir o sobre el proceso que lo construir Los requerimientos no funcionales, suelen ser mas crticos que los funcionales, dado que su incumplimiento puede hacer intil el sistema. Estos estn clasificados segn el tipo de restriccin que se quiera implementar.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Clasificacin R equerimientos del Producto: R equerimientos que especifican que el productos deba comportarse de una determinada manera. R equerimientos Org anizacionales :R equerimientos que surgen de polticas y procedimientos del organizacin (C readora o Usuaria). R equerimientos Externos : R equerimientos surgidos por factores externos al proyecto de des arrollo como tal.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Clasificacin
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Factores claves de la comunicacin Tamao del G rupo:E ntre mas grande sea el grupo, se dificultara mas la comunicacin. (R ecomendado 4 a 7 P ersonas). Es tructura del G rupo:Los grupos informales facilitan la comunicacin. C ompos icin del g rupo:Las comunicacin es mejor en un grupo diverso. Es pacio Fs ico: Una correcta organizacin del espacio pude beneficiar la comunicacin.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Ejemplos Requerimientos del producto: La interfaz debe ser implementada en HTML puro (Sin applets, Javascript, o frames). Requerimientos Organizacionales: El proceso de desarrollo debe estar conforme con el SGC de la corporacin. Requerimientos Externos: La informacin medica de un paciente, no debe estar al alcance del publico general.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Medicin de Requerimientos Algunos requerimientos son difciles de verificar, principalmente los no funcionales. Se debe determinar en los posible crear mtricas que permitan verificar el requerimiento Ejemplo La interfaz debe ser de fcil uso (Poco Verificable) La interfaz debe estar diseada para que pueda ser usada despus de dos horas de capacitacin, despus de lo cual la media de errores no exceder de dos por da
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Medidas de Requerimientos Rapidez: Transacciones procesadas por minuto, Tiempo de respuesta al usuario y a eventos, tiempo de actualizacin de la pantalla Tamao: Cantidad de Memoria o Disco duro requerido. Facilidad de Uso: Tiempo de Formacin requerido, Cantidad de mensajes y documentacin de ayuda, efectividad de los usuarios.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Medidas de Requerimientos Fiabilidad: Tiempo medio entre fallos, Porcentaje de disponibilidad. Robustez:Tiempo de reinicio despus de fallo, numero de eventos que producen fallos, Probabilidad de corrupcin de datos despus de fallos
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Interaccin entre requerimientos En sistema complejos es comn encontrar conflictos entre requerimientos no funcionales Ejemplo: El sistema debe maximizar la cantidad de usuario que pueden acceder al sistema. El sistema minimizar los recursos requeridos para su funcionamiento. No se puede cumplir a cabalidad con los requerimientos, Cual es mas critico?
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos del Dominio Estos requerimientos (funcionales o no funcionales) estn relacionados con el dominio de negocio que se empresa dominio. Problemas Estos requerimientos generalmente se expresa en un vocablo propio del dominio de negocio. Los especialistas del dominio no siempre detectan la necesidad de expresar explcitamente estos requerimientos.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos de Usuario Los requerimientos se especifican en un lenguaje entendible por los usuarios del sistema que no tienen conocimientos tcnicos Generalmente se expresan usando lenguaje natural, tablas y diagramas que todos puedan entender. Son suficientes para que los usuarios entiendan o sepan que esperar del sistema en desarrollo.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Problemas de los requerimientos de usuario Para hacer un documento fcil de leer, se eliminan detalles que deterioran el detalle y la precisin de los requerimientos. No hay una completa divisin entre requerimientos funcionales y no funcionales. Muchos requerimientos tienen de ser expresados juntos.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Tips para requerimientos de usuario Construir un formato estndar para expresar todos los requerimientos. Use el lenguaje de una manera consistente, que permitan diferenciar claramente entre requerimientos obligatorios y requerimientos deseables. Resaltar aspectos importante del requerimientos (Con negrilla, subrayado, etc). Evitar en lo posible la jerga informtica.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos del Sistema Para que se pueda disear el sistema de la manera se debe proveer de mas informacin al arquitecto. Los requerimientos del sistema proveen una definicin mucho mas completa y detallada, de tal manera que sirva como un esbozo inicial de la aplicacin. No se limita a especificar que debe hacer el sistema, sino que adems debe especificar como lo debe hacer.
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Requerimientos del Sistema Debe de especificarse en un lenguaje mas formal que el natural. Alternativas Lenguaje Estructurado: Hace uso de formulario o plantillas. Lenguajes de Especificacin Formales: Lenguajes especiales similares a los de programacin Notaciones Grficas: Representacin del requerimiento por medio de grficas Notaciones matemticas: Lenguajes basados en abstracciones matemticas (Autmatas, lgebra de Procesos, etc)
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Datos bsicos de un Requerimiento de Sistema Funcin Descripcin Entradas Fuente de la Entradas Salidas Destino de las Salidas
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Datos bsicos de un Requerimiento de Sistema Accin Requisito Precondicin, Postcondicin Efectos Colaterales
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Notaciones Grficas
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Documento de Requerimientos Es el documento formal en el cual se especifican los requerimientos del sistema. Debe contener los requerimientos de usuario y del sistema. Este documento es una especificacin de que debe cumplir el sistema, y no contiene ningn aspecto de diseo
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Usuarios del Documento de Requerimientos
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Contenido del Documento Segn la Norma IEEE 830-1998
Escuela de Ingeniera de Sistemas y Computacin
Desarrollo de Software II Febrero Junio 2008 Lecturas Recomendadas Ingeniera de Software, Ian Sommerville. 7th Edicin. (Capitulo 6). Norma IEEE-830/1998 (Disponible en el campus virtual).