Sei sulla pagina 1di 30

Requerimientos de

Software

Escuela de Ingeniera de Sistemas y Computacin


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).

Escuela de Ingeniera de Sistemas y Computacin


Desarrollo de Software II
Febrero Junio 2008

Potrebbero piacerti anche