You are on page 1of 35

PROCESOS DE LA INGENIERA

DE REQUISITOS
INGENIERA DE
REQUERIMIENTOS
Ing. Sfora Romn Snchez

INTRODUCCIN
La I.R. cumple un papel primordial en el proceso de
produccin de software, que se enfoca a un rea fundamental:
la definicin de lo que se desea producir
Su tarea principal consiste en la generacin de
especificaciones correctas que describan con claridad, sin
ambigedades, en forma consistente y compacta, el
comportamiento del sistema, de esta forma, se pretende
minimizar los problemas relacionados al desarrollo de
sistemas.

TIPOS DE REQUISITOS

Nueva
Abstraccin

Usuarios: Servicio del sistema debe ser


comprensible para el cliente.
Sistema: Descripcin detallada de funciones
, uso de notaciones especializadas.
Dominio: Declaraciones cercanas al diseo e
implementacin

Naturaleza

Funcionales: Descripcin de qu funciones


hace el sistema.
No funcionales: Descripcin de cmo debe
funcionar el sistema

REQUISITOS FUNCIONALES Y NO FUNCIONALES

Requisitos funcionales: describen lo que el


sistema debera hacer
Ej.: el sistema debe proveer autenticacin de la identidad
de un usuario
Ej.: el sistema debe emitir una factura

Requisitos no funcionales: establecen


restricciones de cmo estos requisitos
funcionales son implementados.
EJ.: El proceso de autenticacin debera completarse en
menos de 4 segundos.
EJ.: La emisin de factura debe poder hacerse desde
cualquier terminal de trabajo.

REQUERIMIENTO
Definicin: Condicin o necesidad de un usuario para
resolver un problema o alcanzar un objetivo.
Es necesario si su omisin provoca una deficiencia en el sistema a
Necesario
construir.

Conciso

Si es fcil de leer y entender

Si no necesita ampliar detalles en su redaccin, esto es si proporciona


Completo
la informacin suficiente para su comprensin.
No
ambiguo

El lenguaje usado en su definicin, no debe causar confusiones.

Cuando puede ser cuantificable, de manera que permita hacer uso de


Verificable
mtodos como la inspeccin, anlisis, demostracin o pruebas

QU ES UN REQUISITO?
Un requisito podra describir:
Una facilidad a nivel usuario

Ej.: el procesador de palabras debe incluir un verificador de


ortografa y un comando de correccin

Una propiedad muy general del sistema


Ej.: el sistema debe asegurar que la informacin personal
nunca se haga disponible sin autorizacin

Una restriccin especfica del sistema


Ej.: el sensor debe ser activado 10 veces por segundo

Una restriccin para el desarrollo del sistema


Ej.: el sistema debe ser desarrollado usando Ada

Cmo llevar a cabo algn clculo


Ej.: la nota final debe ser calculada sumando las notas del
examen, proyecto y cursada del estudiante basado en la siguiente
frmula
nota final = nota_exam + 2 * nota_proy + 2/3 *
nota_cursada

Propiedades del dominio: Cosas en el dominio de aplicacin


que son verdaderas independientemente que se construya o no
el sistema de software
Requisitos: Cosas en el dominio de aplicacin que se desean
sean verdaderas mediante la construccin del sistema de
software
Especificacin: Descripcin de comportamiento (y datos) que
el programa tiene que tener para cumplir los requisitos slo
puede ser descrito en trminos de los fenmenos
compartidos por la maquina y el dominio de aplicacin

ROL DE LOS REQUISITOS


Acuerdo desarrolladores-stakeholders
Aspecto contractual
Multipartes (comunicacin, conflicto y
cambio de visiones)
Base para el diseo del software
Minimizar defectos tanto como sea posible
Proyecto Tcnicamente factible
Soporte para verificacin y validacin
Soporte a la evolucin del sistema

Stakeholder:

Entidad que ser afectada por el


sistema y que tienen una influencia
directa
o
indirecta
sobre
los
requisitos del sistema.
Usuarios finales del sistema
Gerentes involucrados en los procesos organizacionales
influenciados o que influencian al sistema
Ingenieros
responsables
por
el
desarrollo
y
mantenimiento del sistema,
Clientes de la organizacin
Cuerpos externos tales como autoridades reguladoras o
de certificacin.
.

STAKEHOLDERS
Posibles stakeholders de un sistema
automatizado de sealizacin ferroviaria:
Los Operadores responsables de ejecutar el
sistema de sealizacin
Tripulacin del tren
Gerentes ferroviarios
Pasajeros
Ingenieros de instalacin y mantenimiento de
equipos
Autoridades de certificacin de seguridad

PROCESO DE RE
Conjunto de actividades que son seguidas con el
objetivo de descubrir, modelar, validar y mantener
un documento de requisitos.
Sistemas de informacin
existentes
Necesidades de los
stakeholders
Standard de la
organizacin
Regulaciones, polticas e
informacin del dominio

proceso

Requisitos acordados
Modelos del sistema
y su entorno.

QU DEBE HACER EL INGENIERO DE


REQUISITOS?
Punto de inicio

Nocin de existencia de un problema que debe ser


resuelto, ej:
Insatisfaccin con estado corriente del sistema/negocio
Oportunidad del negocio
Potencial ahorro de tiempo, recursos, costos, etc.

Un ingeniero de requisitos en un agente de cambio

El ingeniero de requisitos debe:

identificar el problema/oportunidad

Cual es el problema que se debe resolver? (Identificar los lmites)


en donde se debe resolver (Comprender el contexto)
De quien es el problema ? (Identificar los stakeholders)
Por qu necesita se resuelto? ((Identificar los objetivos de los
stakeholders)
Cmo podra ayudar un S.S. ( Plantear escenarios)
Cuando necesita resolverse? (Identificar restricciones de desarrollo)
Que podra evitar que lo resolvamos? (Identificar riesgos y viabilidad)

ACTIVIDADES DEL PROCESO DE


INGENIERA DE REQUISITOS
Elicitacin

Modelado

Anlisis

Gestin

Identificacin de
Fuentes Inform.
Recoleccin de
hechos
Comunicacin

Representacin

Verificacin

Organizacin

Validacin

Almacenamiento
(registracin)

Negociacin

Identificacin de
cambios
Anlisis de
cambios
Realizacin de
cambios

ACTIVIDADES EN EL PROCESO
Dependiendo del tamao DE
del proyecto
y del modelo de proceso de
LA
IR
software utilizado para el ciclo de desarrollo, las actividades de la IR
varan tanto en nmero como en nombres.
Tabla 1. Actividades de la IR para diferentes modelos de procesos de Ingeniera de Software
MODELO
Oliver and Steiner
EIA / IS-632
IEEE Std 1220-1994
CMM nivel Repetitivo
1996
(2)

Evaluar la
informacin
disponible
Definir mtricas
efectivas
Crear un modelo del
comportamiento del
sistema
Crear un modelo de
los objetos

Activi
dades

Ejecutar el anlisis
Crear un plan
secuencial de
construccin y
pruebas

Anlisis de

requerimientos Requerimientos

Identificacin de
requerimientos

Anlisis del Problema

Anlisis
funcional

Identificacin de
restricciones del
sistema a desarrollar

Comprender las
necesidades de los
involucrados

Anlisis de los
requerimientos

Definir el sistema

Anlisis funcional

Representacin de los
requerimientos

Analizar el alcance del


proyecto

Evaluacin y
estudio de
funciones

Comunicacin de los
requerimientos

Modificar la definicin
del sistema

Validacin de
requerimientos

Administrar los
cambios de
requerimientos

Estudio y evaluacin
del diseo

Sntesis
Anlisis y
control del
sistema

Anlisis de

RUP

Estudio de los
requerimientos
Validacin de
requerimientos

Verificacin de
funciones

Sntesis

EJERCICIO
Definir 10 requerimientos necesarios para el
desarrollo del problema planteado.

PERSONAL INVOLUCRADO
Usuario Final. Es la persona que usar el sistema desarrollado.
Ser quien utilice, disponga y se encuentre familiarizado con los
procesos que debe realizar el software; as tambin, es el que
utiliza las interfaces y los manuales de usuario.
Usuario Lder. Es el individuo que comprende el ambiente del
sistema o el dominio del problema en donde ser empleado el
software desarrollado.
Personal de Mantenimiento. Para proyectos que requieran un
mantenimiento eventual, stas personas son las responsables de
la administracin de cambios, de la implementacin y resolucin
de anomalas. Su trabajo consiste en revisar y mejorar los procesos
del producto finalizado.

PERSONAL INVOLUCRADO
Analistas y programadores. Son los responsables del desarrollo
del producto, en s ellos interactan directamente con el cliente.
Personal de pruebas. Se encarga de elaborar y ejecutar el plan
de pruebas para asegurar que las condiciones presentadas por el
sistema son las adecuadas. Son quienes validan si los
requerimientos satisfacen las necesidades del cliente.

EJERCICI
O
Mostrar una tabla con la cantidad de personal
requerido para el desarrollo y solucin del problema
planteado.
Tipo de personal

Cantidad

Justificacin

ACTIVIDADES DE LA INGENIERA DE
REQUERIMIENTOS
A pesar de las diferentes interpretaciones que cada
desarrollador tenga sobre el conjunto de actividades
mostradas en la tabla anterior, podemos identificar y extraer
cinco actividades principales que son:

Evolucin
Validacin
Especificacin
Evaluacin y
negociacin
Anlisis
del
problema

1. ANLISIS DEL PROBLEMA


El objetivo de esta actividad es entender las verdaderas
necesidades del negocio para el cual se har el proyecto.
Durante el anlisis del problema, se realiza una serie de
pasos para garantizar un acuerdo entre los involucrados,
basados en los problemas reales del negocio, los pasos
serian los siguientes:

Comprender el problema que se est resolviendo


Construir un vocabulario comn
Identificar a los afectados del sistema
Definir los lmites y restricciones del sistema

1. ANLISIS DEL PROBLEMA


El objetivo de esta actividad es entender las verdaderas
necesidades del negocio para el cual se har el proyecto.
Durante el anlisis del problema, se realiza una serie de
pasos para garantizar un acuerdo entre los involucrados,
basados en los problemas reales del negocio, los pasos
serian los siguientes:

Comprender el problema que se est resolviendo


Construir un vocabulario comn
Identificar a los afectados del sistema
Definir los lmites y restricciones del sistema

PARA PROYECTO
Redactar el problema planteado.
Elaborar el vocabulario comn.
Identificar los afectados del sistema.
Definir los lmites y restricciones del problema a
solucionar.

2. EVALUACIN Y NEGOCIACIN DE
REQUERIMIENTOS
Las principales actividades son:
Descubrir problemas potenciales.
Clasificar los requerimientos (Prioridad de cada requerimiento
depender de las necesidades que tenga el negocio)
Busca identificar la importancia que tiene un requerimiento
en
trminos de implementacin.

Mandatario
Deseable (se necesitan pero no son indispensables)
Innecesario
Una vez hecha esta categorizacin de los requerimientos, puedo tomar
como estrategia general el incluir los mandatorios, discutir los deseables y
descartar los innecesarios.
Antes de decidir la inclusin de un
requerimiento, tambin debe analizarse su costo, complejidad, y una
cantidad de otros factores.

Las principales actividades son:


Evaluar factibilidades y riesgos
Factibilidades tcnicas
Factibilidades operacionales
Factibilidades econmicas
Factibilidades tcnicas (pueden implementarse los
requerimientos con la tecnologa actual?);
Factibilidades operacionales (puede ser el
sistema utilizado sin alterar el organigrama
actual?);
Factibilidades econmicas (ha sido aprobado por
los clientes el presupuesto?).

Incremento en la comunicacin entre el equipo de


desarrollo y los afectados. Para una comunicacin
efectiva, hay una serie de consideraciones a tener en
cuenta:
Documentar todos los requerimientos a un nivel de
detalle apropiado.
Mostrar todos los requerimientos a los involucrados
en el sistema.
Analizar el impacto que causen los cambios a
requerimientos antes de aceptarlos.
Establecer las relaciones entre requerimientos que
indiquen dependencias.
Negociar con flexibilidad para que exista un
beneficio mutuo.
Enfocarse en intereses y no en posiciones.

EJERCICIO.
Entregar documento en donde se enlisten los
requerimientos del sistema planteando los puntos
vistos anteriormente, dicho documento ser la
carta de presentacin de los equipos.
Exponer ante los compaeros los requerimientos
fundamentales para llevar a buen trmino la
solucin del problema a plantear. (tiempo de
exposicin max. 10 minutos)

3. ESPECIFICACIN DE REQUERIMIENTOS
DE SOFTWARE.
Es la actividad en que se genera el documento y
contiene una descripcin completa de las
necesidades y funcionalidades del sistema, que
ser desarrollado; describe el alcance del sistema
y la forma como har sus funciones, definiendo
los requerimientos.
En la especificacin se definen:

Todos los requerimientos de hardware


Todos los requerimientos de software
Diagramas
Modelos de sistemas y cualquier otra cosa que sirva de
soporte y gua para fases posteriores.

Los clientes y usuarios utilizan la SRS para comparar si lo


que se est proponiendo, coincide con las necesidades de la
empresa.
Los analistas y programadores la utilizan para
determinar el producto que debe desarrollarse.
El personal de pruebas elaborar las pruebas funcionales
y de sistemas en base a este documento.
Para el administrador del proyecto sirve como
referencia y control de la evolucin del sistema.

4. VALIDACIN DE LOS REQUISITOS


Permite demostrar que los requerimientos definidos en el
sistema son los que realmente quiere el cliente, adems
revisa que no se haya omitido ninguno, que no sean
ambiguos, inconsistentes o redundantes.
La validacin de requerimientos es importante pues de
ella depende que no existan elevados costos de
mantenimiento para el software desarrollado

No debe confundirse la actividad de


evaluacin de requerimientos con la
validacin de requerimientos. La
evaluacin verifica las propiedades de
cada requerimiento, mientras que la
validacin revisa el cumplimiento de las
caractersticas de la especificacin de
requisitos.

Durante la actividad de validacin pueden hacerse preguntas en


base a cada una de las caractersticas que se desean revisar. A
continuacin se presentan varios ejemplos:

Estn incluidas todas las funciones requeridas por el cliente?


(completa)
Existen conflictos en los requerimientos? (consistencia)
Tiene alguno de los requerimientos ms de una
interpretacin? (no ambigua)
Est cada requerimiento claramente representado?
(entendible)
Pueden los requerimientos ser implementados con la
tecnologa y el presupuesto disponible? (factible)
Est la SRS escrita en un lenguaje apropiado? (clara)
Existe facilidad para hacer cambios en los requerimientos?
(modificable)
Est claramente definido el origen de cada requisito?
(rastreable)
Pueden los requerimientos ser sometidos a medidas
cuantitativas? (verificable)

5. EVOLUCIN DE LOS REQUERIMIENTOS


La actividad de evolucin es un proceso externo que
ocurre a lo largo del ciclo de vida del proyecto.
Los requerimientos cambian por diferentes razones:
Porque al analizar el problema, no se hacen las
preguntas correctas a las personas correctas.
Porque cambi el problema que se estaba
resolviendo.
Porque los usuarios cambiaron su forma de
pensar o sus percepciones.
Porque cambi el ambiente del negocio.

You might also like