Professional Documents
Culture Documents
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?
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?
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
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:
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?
Los requerimientos pueden extraerse de muchas maneras, sugiere ser creativos en la forma de averiguar qu es lo que los clientes quieren, y propone:
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.
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.
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.
ponen
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..
de
documentos
de
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).