Está en la página 1de 30

Requerimientos de

Software

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Ingeniería 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 Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Tipos de Especificación
• Requerimientos de Usuarios: Están definidos en
lenguaje natural que esbozan los servicios y
restricciones del sistema, Escrito para consumidores.
• Requerimientos del Sistema: Están definidos de
una manera estructurada, y además de los servicios
y restricciones del sistema, da nociones concisas de
como debería ser implementado.

Escuela de Ingeniería de Sistemas y Computación


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 Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Tipos de Requerimientos
• Requerimientos Funcionales: Definición 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 Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Requerimientos
Funcionales
• Describe las funcionalidades y servicios del sistema.
Ejemplos
• El sistema deberá almacenar la información personal
de los pacientes.
• El sistema deberá poder desplegar la historia clínica
en cualquiera de los nodos de acceso.
• El sistema deberá registrar cualquier acceso o
modificación sobre una historia clínica

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Requerimientos Ambiguos
• Muchos problemas relacionados con requerimientos
están asociados a la diferentes interpretación que se
le pueden dar a los mismos.
• Las ambigüedad puede ser usada para sacar partido
de las diversas situaciones
– Un desarrollador pude tomar la interpretación mas
simple (Por presión de tiempo).
– Un cliente puede tomar la interpretación mas
compleja (Para obtener más por su inversión).

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Caracteristicas Deseadas
• Para evitar problemas, se espera que una especificación de
requerimientos de tener las siguientes características: (IEEE-
830)
– Correcto:Lo que se especifica es lo que se quiere
– Completo: Todas las necesidades deben estar
reflejadas.
– Consistente: No debe existir contradicción entre
requerimientos.
– Comprobable: Se debe poder determinar si se cumple o
no.

Escuela de Ingeniería de Sistemas y Computación


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
críticos que los funcionales, dado que su
incumplimiento puede hacer inútil el sistema.
• Estos están clasificados según el tipo de restricción
que se quiera implementar.

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Clasificación
• 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 políticas y procedimientos del
organización (C readora o Usuaria).
• R equerimientos Externos : R equerimientos surgidos
por factores externos al proyecto de des arrollo como
tal.

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Clasificación

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Factores claves de la
comunicación
• Tamaño del G rupo: E ntre mas grande sea el grupo,
se dificultara mas la comunicación. (R ecomendado 4
a 7 P ersonas).
• Es tructura del G rupo: Los grupos informales
facilitan la comunicación.
• C ompos ición del g rupo: Las comunicación es
mejor en un grupo diverso.
• Es pacio Fís ico: Una correcta organización del
espacio pude beneficiar la comunicación.

Escuela de Ingeniería de Sistemas y Computación


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 corporación.
• Requerimientos Externos:
– La información medica de un paciente, no debe estar
al alcance del publico general.

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Medición de
Requerimientos
• Algunos requerimientos son difíciles de verificar,
principalmente los no funcionales.
• Se debe determinar en los posible crear métricas que
permitan verificar el requerimiento
Ejemplo
• La interfaz debe ser de fácil uso (Poco Verificable)
• La interfaz debe estar diseñada para que pueda ser
usada después de dos horas de capacitación, después de
lo cual la media de errores no excederá de dos por día

Escuela de Ingeniería de Sistemas y Computación


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 actualización de la pantalla
• Tamaño: Cantidad de Memoria o Disco duro
requerido.
• Facilidad de Uso: Tiempo de Formación requerido,
Cantidad de mensajes y documentación de ayuda,
efectividad de los usuarios.

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Medidas de Requerimientos
• Fiabilidad: Tiempo medio entre fallos, Porcentaje de
disponibilidad.
• Robustez: Tiempo de reinicio después de fallo,
numero de eventos que producen fallos, Probabilidad
de corrupción de datos después de fallos

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Interacción entre
requerimientos
• En sistema complejos es común 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 Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Requerimientos del
Dominio
• Estos requerimientos (funcionales o no funcionales)
están 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 explícitamente estos
requerimientos.

Escuela de Ingeniería de Sistemas y Computación


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 técnicos
• 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 Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Problemas de los
requerimientos de usuario
• Para hacer un documento fácil de leer, se eliminan
detalles que deterioran el detalle y la precisión de los
requerimientos.
• No hay una completa división entre requerimientos
funcionales y no funcionales.
• Muchos requerimientos tienen de ser expresados
juntos.

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Tips para requerimientos
de usuario
• Construir un formato estándar 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 informática.

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Requerimientos del Sistema
• Para que se pueda diseñar el sistema de la manera se
debe proveer de mas información al arquitecto.
• Los requerimientos del sistema proveen una definición
mucho mas completa y detallada, de tal manera que
sirva como un esbozo inicial de la aplicación.
• No se limita a especificar que debe hacer el sistema,
sino que además debe especificar como lo debe
hacer.

Escuela de Ingeniería de Sistemas y Computación


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 Especificación Formales: Lenguajes especiales
similares a los de programación
• Notaciones Gráficas: Representación del requerimiento por
medio de gráficas
• Notaciones matemáticas: Lenguajes basados en abstracciones
matemáticas (Autómatas, Álgebra de Procesos, etc)

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Datos básicos de un
Requerimiento de Sistema
• Función
• Descripción
• Entradas
• Fuente de la Entradas
• Salidas
• Destino de las Salidas

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Datos básicos de un
Requerimiento de Sistema
• Acción
• Requisito
• Precondición, Postcondición
• Efectos Colaterales

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Notaciones Gráficas

Escuela de Ingeniería de Sistemas y Computación


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 especificación de que debe
cumplir el sistema, y no contiene ningún aspecto de
diseño

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Usuarios del Documento de
Requerimientos

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Contenido del Documento
• Según la Norma IEEE 830-1998

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008
Lecturas Recomendadas
• Ingeniería de Software, Ian Sommerville. 7th Edición.
(Capitulo 6).
• Norma IEEE-830/1998 (Disponible en el campus
virtual).

Escuela de Ingeniería de Sistemas y Computación


Desarrollo de Software II
Febrero – Junio 2008

También podría gustarte