You are on page 1of 39

Especifican qu es lo que el sistema debe hacer (sus funciones) y sus propiedades esenciales y deseables.

Propsito: Expresan el propsito del sistema sin considerar como se va a implementar. Identifican el qu del sistema, mientras que el diseo establece el cmo del sistema.

Definicin: Es el conjunto de tcnicas y procedimientos que nos permiten conocer los elementos necesarios para definir un proyecto de software.

El objetivo es que el desarrollador acte como un negociador, un interrogador, un consultor, como persona que consulta y propone para resolver las necesidades del cliente.

La carencia de buenos requisitos ha sido la causa del fracaso de proyectos con presupuestos de millones de dlares, ha impedido el desarrollo productivo, y ha sido el mayor contribuyente de los costos elevados del mantenimiento del software.

Segn el estndar internacional de Especificacin de Requerimientos IEEE830, los documentos de definicin y especificacin de requerimientos deben contemplar los siguientes aspectos como se indica a continuacin:

Ambiente Fsico:
Dnde esta el equipo que el sistema necesita para funcionar? Existe una localizacin o varias? Hay restricciones ambientales como temperatura, humedad o interferencia magntica?

Interfaces
La entrada proviene de uno o ms sistemas? La salida va a uno o ms sistemas? Existe una manera preestablecida en que deben formatearse los datos?

Usuarios y factores humanos:


Quien usar el sistema? Habr varios tipos de usuario? Cul es el nivel de habilidad de cada tipo de usuario? Qu clase de entrenamiento requerir cada tipo de usuario? Cun fcil le ser al usuario comprender y utilizar el sistema? Cun difcil le resultar al usuario hacer uso indebido del sistema?

Funcionalidad

Qu har el sistema? Cundo lo har? Existen varios modos de operacin? Cmo y cuando puede cambiarse o mejorarse un sistema? Existen restricciones de la velocidad de ejecucin, tiempo de respuesta o rendimiento?

Documentacin

Cunta documentacin se requiere? Debe estar en lnea, en papel o en ambos? A que audiencia est orientado cada informacin?

tipo

de

Datos
Cul ser el formato de los datos, tanto para la entrada como para la salida? Cun a menudo sern recibidos o enviados? Cun exactos deben ser? Con qu grado de precisin deben hacerse los clculos? Cuntos datos fluyen a travs del sistema? Debe retenerse algn dato por algn perodo de tiempo?

Recursos
Qu recursos materiales, personales o de otro tipo se requieren para construir, utilizar y mantener el sistema? Qu habilidades deben tener los desarrolladores? Cunto espacio fsico ser ocupado por el sistema? Cules son los requerimientos de energa, calefaccin o acondicionamiento de aire? Existe un cronograma prescrito para el desarrollo? Existe un lmite sobre la cantidad de dinero a gastar en el desarrollo o en hardware y software?

Seguridad
Debe controlarse el acceso al sistema o a la informacin? Cmo se podrn aislar los datos de un usuario de los de otros? Cmo podrn aislarse los programas de usuario de los otros programas y del sistema operativo? Con qu frecuencia deben hacerse copias de respaldo? Las copias de respaldo deben almacenarse en un lugar diferente? Deben tomarse precauciones contra el fuego, el dao provocado por agua o el robo?

Aseguramiento de la calidad
Cules son los requerimientos para la confiabilidad, disponibilidad, facilidad de mantenimiento, seguridad y dems atributos de calidad? Cmo deben demostrarse las caractersticas del sistema a terceros? El sistema debe detectar y aislar defectos? Cul es el promedio de tiempo prescrito entre fallas? Existe un tiempo mximo permitido para la recuperacin del sistema despus de una falla? El mantenimiento corregir los errores, o incluir tambin el mejoramiento del sistema? Qu medidas de eficiencia se aplicarn al uso de recursos y al tiempo de respuesta? Cun fcil debe ser mover el sistema de una ubicacin a otra o de un tipo de computadora a otro?

Deben ser correctos:

El cliente como el desarrollador deben revisarlos para asegurar que no tienen errores. Dos requerimientos son inconsistentes cuando es imposible satisfacerlos simultneamente. Si todos los estados posibles, cambios de estado, entradas, productos y restricciones estn descritos en alguno de los requerimientos. Todos los requerimientos deben ser revisados para asegurar que son posibles

Deben ser consistentes: Deben estar completos:

Deben ser realistas:

Deben ser verificables:


Se deben poder preparar pruebas que demuestren que se han cumplido los requerimientos.

Deben ser rastreables


Se puede rastrear cada funcin del sistema hasta el conjunto de requerimientos que la establece?

La entrevista es una forma de recoger informacin de otra persona a travs de una comunicacin interpersonal que se lleva a cabo por medio de una conversacin estructurada cuanta con las siguiente fases:
Preparacin: Realizacin. Anlisis.

Cerradas:

Donde los entrevistados responda un conjunto predefinido de preguntas.

Abiertas:
Donde no hay un programa predefinido.

Es todo un proceso al cual [Sommerville, 2005] llama Ingeniera de Requerimientos cuya meta es crear y mantener un documento de requerimientos del sistema. Este proceso consta de 4 subprocesos:
1. 2. 3. 4. El estudio de viabilidad: Obtencin y anlisis de requerimientos Especificacin de requerimientos Validacin.

Estudio de viabilidad: Se define como un estudio corto y orientado a resolver las siguientes preguntas:
1. El sistema contribuye a los objetivos generales de la organizacin o empresa? 2. El sistema se puede implantar utilizando tecnologa actual dentro de las restricciones de tiempo y presupuesto? 3. El sistema puede integrarse a otros sistemas existentes en la empresa?

No debe requerir ms de dos o tres semanas.

Obtencin y anlisis de requerimientos:


Aqu los ingenieros de software trabajan con los clientes y los usuarios finales del sistema para determinar el dominio de la aplicacin, qu servicios debe proporcionar el sistema, el rendimiento requerido del sistema, las restricciones hardware, etc.

Los requerimientos pueden extraerse de muchas maneras, sugiere ser creativos en la forma de averiguar qu es lo que los clientes quieren, y propone:

Revisar la situacin actual.


Trabajar en el mbito del usuario para comprender el contexto, los problemas y las relaciones. Entrevistar a los usuarios actuales y potenciales. Realizar un video para mostrar como podra funcionar el nuevo sistema. Investigar en documentos existentes. Conducir tormentas de ideas con los usuarios actuales y potenciales. Observar las estructuras y los patrones.

Se utiliza en la Ingeniera de Software para referirse a cualquier persona o grupo que se ver afectado por el sistema, directa o indirectamente.

Es el proceso de recoger informacin sobre el sistema propuesto y los existentes extrayendo esta informacin del usuario y del sistema Tcnicas: pueden usarse entrevistas, escenarios, prototipos y etnografa.

Es un documento que define, de forma completa, precisa y verificable los requisitos, el diseo y el comportamiento u otras caractersticas, de un sistema o componente de un sistema.

Una buena especificacin debe procurar:

Separar funcionalidad de implementacin. Una especificacin es una descripcin de qu se desea, en vez de cmo se realiza. Debe abarcar el entono en el que el sistema opera. Debe ser modificable.

Requerimientos funcionales:
Describen una interaccin entre el sistema y su ambiente, Describen como deben comportarse el sistema ante determinado estmulo. Son declaraciones de los servicios que debe proporcionar el sistema, de tal manera en que ste debe reaccionar a entradas particulares y de cmo se debe comportar en situaciones particulares.

Los requerimientos funcionales de un sistema describen lo que el sistema debe hacer.

Requerimientos no funcionales:
Describen una restriccin sobre el sistema que limita nuestras elecciones en la construccin de una solucin al problema. Restringen los servicios o funciones ofrecidas por el sistema. Incluye restricciones de tiempo, el tipo de proceso de desarrollo a utilizar, fiabilidad, tiempo de respuesta, capacidad de almacenamiento.

Los requerimientos no funcionales limites y restricciones al sistema.

ponen

Los tres grupos generales son:


Requerimientos del producto, Organizacionales y Externos.

De cada grupo se derivan los particulares.

Requerimientos del Producto:


Especifican el comportamiento del producto. Ejemplos: rapidez de la ejecucin, capacidad de memoria, fiabilidad, etc..

Requerimientos Organizacionales:
Derivan de polticas y procedimientos existentes en la organizacin del cliente y del desarrollador. Ejemplos: estndares de procesos, mtodos de diseo, lenguajes de programacin, mtodos de entrega, etc..

Requerimientos Externos:
Se derivan de factores externos al sistema y de sus procesos de desarrollo. Ejemplos: requisitos de interoperatividad, legislativos, ticos, etc..

Existen 2 tipos requerimientos:

de

documentos

de

Especificacin de requerimientos: Documento de definicin de los requerimientos

Definicin de los requerimientos redactada en lenguaje natural.

est

Especificacin de los requerimientos se redacta de una forma ms tcnica, por ejemplo, puede definir un requerimiento que se hizo en lenguaje natural, como una serie de ecuaciones, un diagrama de flujo de datos, casos de uso, etc..

Especificacin puede ser redactado en algn lenguaje formal de especificacin y ligarse al documento de definicin de los requerimientos, a continuacin se muestra un ejemplo del estndar RSL usa el (RAISE Specification Lenguage, RAISE: Rigorous Approach to Industrial Software Engineering).

You might also like