Está en la página 1de 35

Ingeniera de Requerimientos

Estableciendo lo que el cliente requiere de un Sistema de Software.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Objetivos
Introduccin a la Nocin de Ingeniera de Requerimientos. Explicacin de los diferentes niveles de detalle de requerimientos que se necesiten. Describir como deben ser organizados los documentos de un Sistema de Requerimientos. Describir la validacin del Proceso de Requerimientos. Explicar porque los Requerimientos se involucran durante el tiempo de vida de un sistema.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Tpicos
El Proceso de Ingeniera de Requerimientos Los Documentos de Requerimientos de software Validacin de Requerimientos Evolucin de Requerimientos

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Ingeniera de Requerimientos
El proceso de establecer los servicios que el cliente requiere de un sistema y los limites bajo los cuales opera y se desarrolla. Los Requerimientos pueden ser Funcionales o NoFuncionales

Los Requerimientos funcionales describen servicios o funciones Los Requerimientos No-funcionales son un lmite en el sistema o en el proceso de desarrollo.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Qu es un Requerimiento?
Es un rango de instrucciones abstractas de alto nivel de un servicio o de un sistema, limitado a detallar una especificacin funcional matemtica. As es inevitable como los Requerimientos pueden servir en una funcin dual

Puede ser la base para una declaracin de un contrato, por lo tanto, deber estar abierto a interpretacin. Puede ser la base para el contrato en s, por lo tanto, debe ser definido en detalle. Ambas declaraciones sern llamadas Requerimientos.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Requerimientos Definicin/Especificacin

Definicin de Requerimientos Especificacin de Requerimientos Especificacin de Software

Una declaracin en un Lenguaje Natural incluye los diagramas de los servicios del sistema y sus lmites operacionales. Escrito para clientes. Un documento estructurado con descripcin o detalle de los servicios del sistema. Escrito como un contrato entre el cliente y el contratista. Descripcin detallada de software, la cual, puede servir como una base para diseo o implementacin. Escrito para desarrolladodres.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Definiciones y Especificaciones
Definicin de Requerimientos 1.

El Software proporciona significado de representacin y acceso a archivos externos creados por otras herramientas.

Especificacin de Requerimientos
1.1 El usuario debe proporcionar facilidades para definir el tipo de archivos externos. 1.2 Cada tipo de archivo externo puede tener una herramienta asociada. La cual, ser aplicada para el archivo. 1.3 Cada tipo de archivo externo ser representado como un icono especfico mostrado al usuario. 1.4 Las facilidades proporcionadas para la representacin del icono en un tipo de archivo externo ser definido por el usuario. 1.5 Cuando un usuario selecciona una representacin de icono de un archivo externo, el efecto de la seleccin es aplicar las herramientas asociadas con el tipo de archivo externo al archivo representado por la seleccin del icono. Ian Sommerville 1995 Ingeniera de Software, Ingeniera Software, 5a. edicin Capitulo Ian Sommerville 1995 5a. edicin de Capitulo 4 Diapositiva * 4 Diapositiva *

Lectores de Requerimientos
Definicin de Requerimientos Gerencia de Cliente Usuarios Finales del Sistema Ingenieros de Clientes Gerencia de Contratistas Arquitectos del Sistema Usuarios Finales del Sistema Ingenieros de Cliente Arquitectos del Sistema Desarrolladores de Software (Quiz) Ingenieros de Clientes Arquitectos del Sistema Desarrolladores de Software
Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva * 5a. edicin Capitulo Diapositiva

Requerimientos Especificacin de

Especificacin de Software
Ian Sommerville 1995 Ian Sommerville 1995 * 4

Problemas Desagradables
Sistemas de Software grandes con problemas de direccionamiento. Problemas de tal manera complejos que puede ser que nunca se comprendan completamente y donde los desarrolladores van comprendiendo el sistema durante su desarrollo Por lo tanto, los requerimientos son normalmente incompletos e inconsistentes.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Razones de Inconsistencia
Los sistemas de software grandes deben mejorar su actual situacin. Es difcil anticipar los efectos que el sistema tendr en la organizacin. Usuarios diferentes tienen requerimientos y prioridades diferentes. Hay constantemente compromiso de cambios en los requerimientos. Los usuarios finales del sistema y la organizacin que paga por el sistema tienen requerimientos diferentes. El prototipado es requerido para clarificar requerimientos

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Proceso de Ingeniera de Requerimientos

Estudio de Factibilidad Anlisis de Requerimientos Definicin de Requerimientos Especificacin de Requerimientos

Encuentran los usuarios actuales que sus necesidades son satisfechas dada la tecnologa y el presupuesto disponible? Encontrar que el sistema requiere del mantenimiento de intereses. Definir los requerimientos en una forma comprensible para el cliente. Define los requerimientos en detalle.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

El Proceso de Ingeniera de Requerimientos


Estudio de Factibilidad Anlisis de Requerimientos Definicin de Requerimientos Especificacin de Requerimientos Definicin de Requerimientos Documento de Requerimientos
Ian Sommerville 1995 Ian Sommerville 1995 * 4 Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

Reporte de Factibilidad Modelos del Sistema

Especificacin de Requerimientos
5a. edicin Capitulo Diapositiva

Documento de Requerimientos
Es la declaracin oficial de lo que es requerido para que el sistema sea desarrollado. Incluye la definicin y especificacin de requerimientos. No es un documento de diseo. Tanto como sea posible, es un conjunto de lo que es el sistema y como lo har.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Requerimientos del Documento de Requerimientos


Especificacin de la conducta externa del sistema. Especificar los lmites de la implementacin. Fcil de cambiar. Sirve como una herramienta de referencia para mantenimiento. Recuerda el ciclo de vida del sistema, esto es, predice cambios. Proporciona respuestas caractersticas a un evento no esperado.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Estructura del Documento de Requerimientos

Introduccin. Glosario. Modelos del Sistema. Definicin de Requerimientos Funcionales.

Describe la necesidad de crear el sistema y cuales son sus objetivos. Define los trminos tcnicos usados.

Define los modelos que muestran los componentes del sistema y las relaciones entre ellos. Define los servicios que sern proporcionados.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Estructura del Documento de Requerimientos

Definicin de Requerimientos No-funcionales.


Definir las limitantes del sistema y el proceso de desarrollo.

Evolucin del Sistema. Especificacin de Requerimientos.


Especificacin detallada de los requerimientos funcionales del sistema.

Definir las suposiciones fundamentales en las cuales el sistema se basa y se anticipan los cambios.

Apndices. Indice.

Descripcin de la plataforma de Hardware del Sistema. Requerimientos de la base de Datos (quiz como un modelo ER)

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Identificacin de Requisitos
Preguntar al cliente, a los usuarios y a los que estn involucrados en los objetivos del sistema o producto y sean expertos, investigar como los sistemas o productos se ajustan a las necesidades del negocio, y finalmente, cmo el sistema o producto va a ser utilizado en el da a da.
Una relacin de necesidades y caractersticas Un informe del alcance del sistema Una lista de clientes, usuarios y otros intervinientes Prototipos para definir mejor los requisitos Escenarios que permiten ver al sistema o producto bajo

diferentes condiciones operativas.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Identificacin de Requisitos
La tcnica de obtencin de requisitos mas usada es llevar a cabo una reunin o entrevista preliminar.
Preguntas de contexto libre : Se enfocan sobre el cliente, los objetivos generales y los beneficios esperados.

Preguntas de identificacin de participantes y beneficios medibles. Preguntas dirigidas a la eficacia de la reunin

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Tcnicas para facilitar las especificaciones de la aplicacin

Directrices bsicas :
La reunin se celebra en un lugar neutral y acuden tanto los clientes como los desarrolladores. Se establecen normas de preparacin y de participacin Se sugiere una agenda lo suficientemente formal como para cubrir todos los puntos importantes, pero informal para el libre flujo de ideas Un coordinador que controle la reunin Mecanismos de definicin (carteles, pizarras, hojas de trabajo..) El objetivo es identificar el problema, proponer elementos de solucin, negociar diferentes enfoques y especificar un conjunto preliminar de requisitos.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Despliegue de la funcin de calidad


Es una tcnica de gestin de calidad que traduce las necesidades del cliente en requisitos tcnicos del software

Hace nfasis en entender lo que resulta valioso para el cliente y despus desplegar estos valores a lo largo del proceso de ingeniera.

Utiliza observaciones y entrevistas con el cliente, emplea encuestas y examina datos histricos.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Despliegue de la funcin de calidad

Requisitos Normales
Se declaran objetivos y metas para un producto o sistema. Si los requisitos estn presentes, el cliente quedar satisfecho.

Requisitos Esperados
Son implcitos al producto o sistema y son tan fundamentales que el cliente no los declara. Su ausencia sera motivo de una insatisfaccin significativa.

Requisitos Innovadores
Van mas all de las espectativas del cliente y suelen ser muy satisfactorias

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Anlisis y Negociacin de Requisitos


Una vez recopilados, los requisitos se agrupan por categoras y se organizan en subconjuntos, se estudia cada requisito en relacin con el resto.

Utilizando un proceso iterativo, se irn eliminando requisitos, se irn combinando y/o modificando para conseguir satisfacer los objetivos planteados.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Anlisis de requerimientos
Mtodos de anlisis. Caractersticas comunes. Realizan una abstraccin de las caractersticas del sistema, es decir, consisten en desarrollar un modelo del mismo. Representan el sistema de forma jerrquica, basndose en mecanismos de particin del problema y estableciendo varios niveles de detalle. Definen cuidadosamente las interfaces del sistema, tanto las interfaces externas, que relacionan el sistema con su entorno, como de las internas, las que se establecen entre los distintos mdulos definidos.

Sirven de base para las etapas posteriores de diseo y de implementacin.

Distinguen entre requisitos esenciales y de implementacin.

No prestan demasiada atencin a la representacin de las restricciones o de criterios de validacin (exceptuando los mtodos formales).

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Validacin de Requerimientos
Demostracin de que los requerimientos que definen el sistema son lo que el cliente realmente quiere. Los costos de errores en los requerimientos son altos, por lo cual, la validacin es muy importante.

Fijar un error de requerimiento despus del desarrollo puede resultar en un costo 100 veces mayor que fijar un error en la implementacin.

El Prototipado es una tcnica importante de la validacin de requerimientos.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Chequeando Requerimientos
Validacin. Provee al sistema las funciones que mejor soporten las necesidades del cliente? Consistencia. Existe cualquier conflicto en los requerimientos? Completo. Estn incluidas todas las funciones requeridas por el cliente? Realismo. Pueden los requerimientos ser implementados con la tecnologa y el presupuesto disponible?

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Revisin de Requerimientos
Una revisin regular puede ayudar mientras la definicin de requerimientos est siendo hecha. Tanto el cliente como el staff de contratistas deben estar involucrados en la revisin. La revisin debe ser formal (con los documentos completos) o informal. Una buena comunicacin entre desarrolladores, clientes y usuarios puede resolver problemas en las primeras etapas.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Chequeo de la Revisin
Verificabilidad. Es el Requerimiento realmente probable? Entendibilidad. Es el Requerimiento comprendido propiamente? Probabilidad. Es el origen de los requerimientos claramente establecido? Adaptabilidad. Puede el requerimiento ser cambiado sin causar un gran impacto en otros requerimientos?

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Evolucin de Requerimientos
Los requerimientos siempre involucran como comprender mejor el desarrollo de las necesidades de los usuarios y como los objetivos de la organizacin pueden cambiar. Es esencial planear posibles cambios en los requerimientos cuando el sistema sea desarrollado y utilizado.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Evolucin de Requerimientos
Comprensin Inicial del Problema Comprensin de los Cambios del Problema

Requerimientos Iniciales

Cambios en los Requerimientos

Tiempo
Ian Sommerville 1995 Ian Sommerville 1995 * 4 Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva * 5a. edicin Capitulo Diapositiva

Clases de Requerimientos
Requerimientos Durables. Establecer requerimientos derivados de las actividades de la organizacin del cliente. Por ejemplo, un hospital siempre tendr doctores, enfermeras, etc. Puede ser derivado de modelos de dominio. Requerimientos Voltiles. Los requerimientos cambian durante el desarrollo o cuando el sistema est en uso. En un hospital, los requerimientos se derivan de las polticas salud-cuidados.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Clasificacin de Requerimientos

Requerimientos Cambiantes. Surgimiento de los Requerimientos. Requerimientos en Consecuencial. Requerimientos Compatibles.

Los requerimientos que cambian por el ambiente del sistema.

Requerimientos que surgen como una comprensin del desarrollo del sistema. Requerimientos que resultan de la introduccin del sistema a la computadora. Requerimientos que dependen de otros sistemas o de otros procesos de la organizacin.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Cambios en el Documento de Requerimientos


El documento de requerimientos debe ser organizado, de tal forma que los cambios en los requerimientos puedan ser hechos sin tener que reescribir demasiado. Las referencias externas deben ser minimizadas y las secciones del documento deben ser tan modulares como sea posible. Los cambios son fciles cuando se trata de un documento electrnico. Sin embargo, la falta de estndares para documentos electrnicos lo hace difcil.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Evolucin Controlada
Cambio en los Requerimientos Documento VI de Requerimientos Cambio en los Requerimientos Documento V1 de Requerimientos Documento V2 De Requerimientos

Implementacin V1 del Sistema

Implementacin V2 del Sistema

Implementacin V1 del Sistema

Implementacin V2 del Sistema

Inconsistencia de los Requerimientos y del Sistema


Ian Sommerville 1995 Ian Sommerville 1995 * 4

Consistencia de los Requerimientos y del Sistema


5a. edicin Capitulo Diapositiva

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

Resumen
Es muy difcil formular una especificacin de requerimientos completa y consistente. Una definicin de requerimientos, una especificacin de requerimientos y una especificacin de Software son una manera de especificar el Software para diferentes tipos de lectores. El Documento de Requerimientos es una descripcin para clientes y desarrolladores.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva

Resumen
Los errores en los requerimientos son usualmente muy caros de corregir una vez desarrollado el sistema. La revisin debe involucrar al cliente y al staff de contratistas para validar los requerimientos del sistema. El establecer requerimientos est relacionado con las actividades del cliente para el Software. Los requerimientos voltiles dependen del contexto en que se use el sistema.

Ian Sommerville 1995 Ian Sommerville 1995 * 4

Ingeniera Software, Ingeniera de Software, 5a. edicin de Capitulo 4 Diapositiva *

5a. edicin Capitulo Diapositiva