Sie sind auf Seite 1von 68

INGENIERÍA DE REQUISITOS

OBJETIVO DEL MODULO

Análisis y definición de los requisitos de una aplicación


informática
• Aprender...
- Analizar los diferentes métodos y técnicas para identificar,
recolectar, seleccionar, depurar y especificar los requisitos de
software
– Redacción de un documento completo de requisitos
– Estándares de documentación de proyectos
– Técnicas del análisis para ingeniería de requisitos
- Utilizar herramientas informáticas para especificación de
requerimientos de software
• Desarrollar capacidades
– Abstracción y resolución de problemas
– Lectura crítica y reflexiva
– Trabajo en equipo
– Exposición de resultados
CRITERIOS DE EVALUACÓN

Para la aprobación del módulo los estudiantes deben


cumplir con los siguientes parámetros

Talleres en aula-----------------20%
Evaluación Final----------------40%
Trabajo Final--------------------40%
CONTENIDOS

CAPITULO 1: INTRODUCCIÓN

• Qué es un requerimiento
• Clasificación de los requerimientos
• niveles de descripción de los requerimientos
• Proceso de la Ingeniería de requerimientos
¿ALGUNA VEZ LES HA
SUCEDIDO ESTO?
ESTO
¿O ESTO?
¿ALGUIEN ES JEFE
AQUÍ?
INTRODUCCIÓN
La comprensión de los requisitos de un problema están entre las
tareas mas difíciles que enfrenta un ingeniero de Software.

El Cliente es el que lo solicita pero el usuario es quien lo utiliza


INTRODUCCIÓN
Cada uno de los modelos del proceso de desarrollo del
software propuestos, incluye actividades que apuntan a la
captura de requerimientos.

Por lo tanto, la comprensión del propósito y la función del


sistema comienza con un atento examen de los
requerimientos.
Es necesaria una disciplina en el desarrollo de software y en
particular en el proceso de Ingeniería de Requerimientos a
fin de evitar que el desarrollo de software falle o que sufra de
costos excesivos
INGENIERÍA DE
REQUERIMIENTOS
Las malas o ineficientes prácticas de la Ingeniería de
Requerimientos llevan invariablemente al fracaso del
desarrollo del software, y pueden ser más costosas,
dependiendo de que tan tarde estas son descubiertas en el
proceso de desarrollo.
INGENIERÍA DE
REQUERIMIENTOS
El éxito de un sistema de software se mide de acuerdo al grado
con que este y su proyecto de desarrollo cumplen con el
objetivo para el cual fueron requeridos.
El problema del desarrollo de los sistemas de software es que
los requerimientos son inherentemente dinámicos.
• Los cambios ocurren constantemente debido a:
• cambios por mejoras,
• cambios por errores descubiertos, cambios por adopción de nuevas
tecnologías,
• cambios por mejoras en la comprensión del sistema, entre otros.
El proceso de Ingeniería de Requerimientos debe ser preciso y
flexible a la vez.
• Preciso por que debe incluir todos los requerimientos del cliente y del
ambiente donde este estará operando.
• Flexible, ya que los requerimientos están sujetos a constantes cambios.
A DONDE DEBEMOS
LLEGAR CON LA IR?

Las especificaciones son los


requisitos que el artefacto
software debe cumplir para
solucionar el problema que
el cliente lo presenta
QUE ES INGENIERIA DE
REQUERIMIENTOS IR?
• Proceso que comprende todas las actividades de requerimientos
para crear y mantener un documento de requerimientos del
sistema.

• Actividad relacionada con el descubrimiento, documentación, y


mantenimiento de un conjunto de requerimientos para un
sistema intensivo en software.

• El termino Ingeniería implica que se utilizaran técnicas repetibles


y sistemáticas para asegurar que los requerimientos del sistema
son completos, consistentes y relevantes.

• IR consiste en identificar el propósito del sistema de Software así


como el contexto en el que será utilizado
¿QUÉ ES UN
REQUERIMIENTO?
REQUERIMIENTOS
Lo primero que debemos saber es

¿ QUE SON LOS REQUERIMIENTOS ?

Son las necesidades y deseos de los interesados.


¿ QUE SON LOS
REQUERIMIENTOS ?

Un requerimiento de software define las funciones,


capacidades o atributos de cualquier sistema de software
DEFINICIONES
Es decir, los requerimientos son lo que los
clientes/usuarios esperan que haga el sistema
REQUERIMIENTOS
FORMALMENTE ES:

• Problema software P
• Configurado en una máquina M
• Ejerza un efecto o requisito R
• En un dominio D
• Que hacemos con los requisitos?
• No podemos recordar todo lo que habla el cliente
• Nunca debemos dejar nuestra memoria toda la
información
• El Documento de requisitos es una buena solución a este
problema
• El Documento de requisitos debe contener:
• Detalles del problema
• Propiedades y comportamientos deseados
del sistema
• Restricciones de diseño y fabricación del
producto
• Lo que el sistema soluciona
• Restricciones tecnológicas y funcionales
DOCUMENTO DE
REQUERIMIENTOS
Como se redacta.
• El sistema hará….
• El producto solucionará…
• O puede contar con diagramas

Según la metodología aplicada en la organización


ORGANIZACIÓN DE LOS
REQUERIMIENTOS
Tipificación

• Muy generales..
• Funcionales
• De implementación
• De rendimiento
• De usabilidad
TIPIFICACIÓN DE
REQUERIMIENTOS
Distintos requerimientos
Objetivos vs Requerimientos.
• Un objetivo todavía no es un requerimiento.
• Los objetivos son utilizados para guiar el proceso de IR.
• Pueden ser utilizados para identificar los diversos
requerimientos.

Ejemplo:

“Implementar un sistema de acceso a biblioteca que funcione en un


dispositivo móvil”
EJEMPLOS DE
REQUERIMIENTOS

1. El sistema debe mantener una serie de registros de las


búsquedas de material de la biblioteca, incluyendo libros,
periódicos, revistas y discos compactos, realizadas por el
usuario.
2. El sistema debe permitir que los usuarios busquen un objeto
por titulo, autor o ISBN
3. La interfaz de usuario del sistema debe ser implementada
usando un navegador Web
4. El sistema debe mostrar información al usuario en menos de
1 minuto.
5. El sistema debe estar disponible en al menos tres sistemas
operativos móviles existentes.
Los requerimientos pueden describir alguno de los siguientes puntos:
•Una facilidad a nivel de usuario.
Ejemplo: El procesador de texto debe incluir un verificador de ortografía y una función de
corrección

•Una propiedad muy general del sistema.


Ejemplo: El sistema debe asegurar que la información personal nunca se haga disponible sin
autorización.

•Una restricción especifica del sistema


Ejemplo: El sensor debe ser presionado diez veces por segundo.

•Una restricción para el desarrollo del sistema


Ejemplo: El sistema debe ser desarrollado usando Android.

•Como realizar una operación


Ejemplo: La cantidad de registros debe ser obtenida a través de las fechas de acceso,
sumando cada una.
TIPOS DE
REQUERIMIENTOS
Requerimientos Funcionales
Requerimientos No funcionales
Requerimientos del dominio

Los Requerimientos funcionales describen servicios o funciones,


de la manera en que éste debe reaccionar a entradas particulares
y de cómo se debe comportar en situaciones particulares
.

Representación:
Lenguaje natural
Modelos visuales
Métodos formales
TIPOS DE
REQUERIMIENTOS

Los requerimiento Funcionales definen:


• Cuáles entradas debe aceptar el sistema
• Cuáles salidas debe producir el sistema
• Qué datos debe almacenar el sistema que utilizarán otros
sistemas
• Qué operaciones debe realizar el sistema
TIPOS DE
REQUERIMIENTOS

Ejemplo de requerimientos Sistema para el control de maletas en


un aeropuerto.
Requerimiento del Usuario:
El sistema debe ser capaz de procesar 20 maletas por minuto.
Algunos requerimientos del sistema:
• Cada maleta procesada debe lanzar un evento de
almacenamiento.
• El sistema debe ser capaz de manejar 20 eventos de
almacenamiento por minuto.
Los Requerimientos no funcionales
• Son un límite en el sistema o en el proceso de desarrollo.
• Los requerimientos no funcionales no se refieren directamente
a las funciones específicas que proporciona el sistema, sino a
las propiedades emergentes de éste como la fiabilidad, el
tiempo de respuesta y la capacidad de almacenamiento
REQUERIMIENTOS
FUNCIONALES Y NO
FUNCIONALES
Un requisito no funcional pueden ser restricciones a los
requisitos funcionales.

Ejemplo: Requisito funcional


El sistema presentara una ventana para el ingreso del usuario

Ejemplo de Requisito no funcional

El usuario se validará en menos de 5 sg


EJERCICIO

Descripción Clasificación Sub_clasificación


La tasa de tiempos de falla del sistema no podrá ser mayor
al 0,5% del tiempo de operación total
Toda funcionalidad del sistema y transacción de negocio
debe responder al usuario en menos de 5 segundos
Los permisos de acceso al sistema podrán ser cambiados
solamente por el administrador de acceso a datos
La aplicación deberá consumir menos de 500 Mb de
memoria RAM
El procedimiento de desarrollo de software a usar debe
estar definido explícitamente (en manuales de
procedimientos) y debe cumplir con los estándares ISO
9000
El sistema debe proporcionar mensajes de error que sean
informativos y orientados a usuario final.
El sistema debe ser desarrollado utilizando las
herramientas CASE XYZ.

Sistemas de datos médicos: El nuevo sistema y sus


procedimientos de mantenimiento de datos deben cumplir
con las leyes y reglamentos de protección de datos
médicos
Descripción Clasificaci Sub_clasificación
ón
La tasa de tiempos de falla del sistema no podrá ser mayor Producto Fiabilidad
al 0,5% del tiempo de operación total
Toda funcionalidad del sistema y transacción de negocio Producto Eficiencia
debe responder al usuario en menos de 5 segundos
Los permisos de acceso al sistema podrán ser cambiados Producto Seguridad
solamente por el administrador de acceso a datos
La aplicación deberá consumir menos de 500 Mb de Producto Espacio
memoria RAM
El procedimiento de desarrollo de software a usar debe Organizacional Operacionales
estar definido explícitamente (en manuales de
procedimientos) y debe cumplir con los estándares ISO
9000
El sistema debe proporcionar mensajes de error que sean Producto Usabilidad
informativos y orientados a usuario final.
El sistema debe ser desarrollado utilizando las Organizacional Desarrollo
herramientas CASE XYZ.

Sistemas de datos médicos: El nuevo sistema y sus Externos Legislativos


procedimientos de mantenimiento de datos deben cumplir
con las leyes y reglamentos de protección de datos
médicos
Requerimientos del Dominio

Son requerimientos que provienen del dominio de aplicación del


sistema y que reflejan las características de ese dominio.

Incluyen terminología especializada del dominio o referencias a


conceptos del dominio.

Pueden ser:
• Requerimientos funcionales nuevos
• Restringir los existentes o
• Establecer como se deben ejecutar cálculos particulares
Ejemplo de RD para un sistema de biblioteca:

1.- Deberá existir una interfaz de usuario estándar para todas las
bases de datos que estará basada en el estándar Z39.50

Ejemplo para un sistema de control de trenes

La desaceleración del tren se calculará como:


Dtren = Dcontrol + Dgradiente

donde Dgradiente es 9.81ms2 * gradiente compensado/ alfa y en


donde los valores de 9.81ms2 / alfa se conocen para diferentes tipos
de trenes
EJERCICIO:
Considere un sistema de “Casa Inteligente”, el cual consiste en
una combinación de hardware y software, en el cual una o mas
computadoras controlan varios aspectos de la casa, incluyendo
control de clima, seguridad, entretenimiento, entre otros.

Para este sistema defina:


-Dos objetivos que el sistema deba realizar y a partir de estos: -
Tres requerimientos funcionales
-Tres requerimientos No Funcionales
-Tres requerimientos de dominio
EJERCICIO
Lea la descripción del problema dada y describa.
Requerimientos no funcionales:
Del producto
De la organización
Externos
PROCESOS DE LA IR
Comprende de las actividades que permiten la elaboración de
documentos donde se albergan y entienden a los requerimientos
ETAPAS DEL PROCESO
DE IR
EDUCCIÓN DE REQUERIMIENTOS
La etapa de educir a los requisitos:
Identificar a los interesados:
• Gerentes
• Expertos del negocio
• Personas externas al negocio
• Usuarios
en el que se define:
• Dominio de aplicación
• Servicios que debe proporcionar el sistema
• Desempeño requerido
• Restricciones, etc
ETAPAS DEL PROCESO
DE IR
ETAPAS DEL PROCESO
DE IR
TÉCNICAS DE ELICITACIÓN, HERRAMIENTAS:

• Entrevistas, Cuestionarios,
Herramientas JAD
• Observación, análisis de tareas
• Planteamiento de un escenario
y proceso
• Prototipado
QUE PROBLEMAS PUEDE
DARSE EN LA ETAPA DE
EDUCCION?
ETAPAS DEL PROCESO
DE IR
Los stakeholders son variados por ejemplo
LECTURA

Metodología para la elicitación propuesta por Armando


Durán.
Fuente: Armando Durán
ETAPAS DEL PROCESO
DE IR
LA ETAPA DE ANÁLISIS
• Consiste en transformar los requisitos de usuario a
requisitos de software.
• El Ingeniero de software es el trabaja como el traductor
• Es el puente entre el técnico y el usuario
ETAPAS DEL PROCESO
DE IR
LA ETAPA DE ANÁLISIS
ConflictosNegociación:

• Se detecta con el cliente que se hace y que no se hace


• Se logra acuerdo para realizar cambios que satisfagan a todos
los stakeholders
• Proceso de resolver conflictos entre requerimientos, decidir cual
aceptar, determinar prioridades.

Negociación

Entrada – Conjunto de requerimientos en traslape o con conflictos


Salida –Un conjunto de requerimientos en común acuerdo
ETAPAS DEL PROCESO
DE IR
1) Identificación de conflictos

Existen diferentes tipos de conflictos.


Se pueden clasificar como :
Conflictos de datos:
Estos conflictos se pueden deber a faltas de información a
malentendidos o a interpretaciones diferentes de algún punto
ETAPAS DEL PROCESO
DE IR

Ejemplo:

R4: El reproductor de DVD debe ser capaz de manejar CDs (CD-RW) y


DVDs (DVD-RW) regrabables.

Un stakeholder no esta de acuerdo con el requerimientos. En su opinión


no tiene sentido que el reproductor de DVDs del carro sea capaz de
grabar CDs o DVDs

Conflicto mala interpretación.

Se requiere reescribir el requerimiento


ETAPAS DEL PROCESO
DE IR

Conflicto de valores:
Se presenta por diferentes criterios que los stakeholders utilizan
para evaluar un punto (ejemplo: diferencias culturales). A unos les
parecen mas importantes unos aspectos que otros.
ETAPAS DEL PROCESO
DE IR
LA ETAPA DE ANÁLISIS

Conflicto de intereses: Se presenta cuando los objetivos o


intereses con respecto al sistema de dos o mas stakeholders se
contradicen entre ellos.

Ejemplo: Un stakeholder desea que el sistema de entretenimiento del


nuevo modelo de automóvil este equipado con funcionalidades MP3,
disco duro opcional y una interfaz USB para atraer a los clientes
interesados en la tecnología.

Otro stakeholder desea que el sistema solo este equipado con un


reproductor de CD standard y el radio. Su objetivo es reducir costos para
atraer a clientes preocupados por el presupuesto.
ETAPAS DEL PROCESO
DE IR
2) Resolver conflictos
ETAPAS DEL PROCESO
DE IR
EVALUACIÓN DE LA ESTRATEGIA

Negociación Solución Decisión


creativa

Conflicto de
datos

Conflicto de
interés

Conflicto de
valor
REUNIONES DE
NEGOCIACIÓN
Las reuniones con los involucrados son clave para negociar y
resolver conflictos de requerimientos.

• Cada conflicto de requerimientos debe ser discutido y


evaluado individualmente.
• Participantes
• Los analistas que descubrieron los traslapes, omisiones
y/o conflictos de requerimientos.
• Stakeholders que pueden ayudar a resolver los problemas
encontrados.
• Un mediador independiente
PRIORIZACIÓN
Descubrir la importancia de cada requerimiento
Separa los requerimientos en tres categorías
• Requerimientos que deben ser absolutamente satisfechos
• Requerimientos que son muy deseables pero no
indispensables
• Requerimientos que son posibles pero que podrían
eliminarse
ETAPAS DEL PROCESO
DE IR
LA ETAPA DE ANÁLISIS

MODELOS DE REQUSITOS

Modelo de contexto Modelo de casos de Historias de


uso usuarios

Limita el alcance del sistema


ETAPAS DEL PROCESO
DE IR
ESPECIFICACIÓN DE REQUERIMIENTOS
Requerimientos del sistema describen el comportamiento del
sistema, pueden requerir diferentes técnicas de representación.

Es el proceso de escribir en un documento de requerimientos, los


requerimientos del usuario y del sistema, deben ser claros, sin
ambigüedades, fáciles de entender, completos y consistentes
ESPECIFICACIÓN DE
REQUERIMIENTOS
Herramientas para el tratamiento, administración
y desarrollo de requerimientos
1. Herramientas para administración de requerimientos:
Rational Requisite Pro®
Web Requisite®
CaliberRM®
REM
2. Herramientas CASE para especificar requerimientos:
Together®
3. Frameworks para el análisis de requerimientos
4. Metodologías que indican como llevar los procesos de
Requerimientos:
Zachman Framework, una herramienta utilizada para
analizar las características y requerimientos envueltos
dentro de la arquitectura de cualquier sistema de
información.
RUP(Rational Unified Process), sugiere llevar ciertos
documentos para el manejo y administración de requerimientos

Das könnte Ihnen auch gefallen