Sunteți pe pagina 1din 101

INGENIERIA Y GESTION

DE REQUERIMIENTOS
TI1217
Orlando Cavieres Palacios
1er.Semestre 2014

O - NORMAS (trabajo en EQUIPO)


O - Cumplimiento del Programa del Curso:

*Asistencia *Horario *Comunicacin y


Participacin *Casos de Estudio *Evaluacin
Lunes 08:30 a 10:00 y Jueves 13:45 a 15:15 hrs.
TI1217-352 Ingeniera y Gestin de Requerimientos
Aula 413
Atencin de Alumnos Jueves 15:00 a 16:00 hrs.
(Inscripcin)

O INGENIERA Y GESTIN DE REQUERIMIENTOS


Qu significa?
DIVIDIR PARA VENCER

O INGENIERA:

METODOS

INGENIE
RIA

HERRAMIENTAS

(Entrevistas; Casos de Uso; Prototipos; etc.)

(Modelo; Metodologa; Procedimiento)

TECNICAS
(Documentos; Verificacin; Contrato;..)

O GESTION:

*Gestin es la asuncin y ejercicio de responsabilidades sobre un


proceso (es decir, sobre un conjunto de actividades) lo que incluye:
- La preocupacin por la disposicin de los recursos y estructuras
necesarias para que tenga lugar.
- La coordinacin de sus actividades
- La rendicin de cuentas ante el abanico de agentes interesados
por los efectos que se espera que el proceso desencadene.
- Tambin se entiende por gestin al conjunto de trmites a realizar
para resolver un asunto.
QUE HACER con.($; Informacin; .;Recursos..)
*Wikipedia

REQUERIMIENTOS
NECESITO.???

IEEE.
(1) Una condicin o necesidad de
un usuario para resolver un
problema o alcanzar un objetivo.
(2) Una condicin o capacidad que
debe estar presente en un sistema o
componentes de sistema para
satisfacer un contrato, estndar,
especificacin u otro documento
formal.

USUARIO

Cmo?

REQUERIMIENTOS
Segn Leite:
Es el proceso mediante el cual se intercambian
diferentes puntos de vista para recopilar y
modelar lo que el sistema va a realizar. Este
proceso utiliza una combinacin de mtodos,
herramientas y actores, cuyo producto es un
modelo del cual se genera un documento de
requerimientos.

O Entonces:

Qu significa
INGENIERIA Y GESTION DE REQUERIMIENTOS ?
1ra. TAREA

O CICLO DE VIDA (METODOS) DEL SOFTWARE

FASE
o
ETAPA
A

FASE
o ETAPA
B

0000

FASE
o ETAPA
N

Como construir un software???... DIVIDIR PARA TRIUNFAR

O CONCEPTO DE CICLO DE VIDA

Una aproximacin lgica a la adquisicin, el suministro,


el desarrollo, la explotacin y el mantenimiento del software
*IEEE 1074

Un marco de referencia que contiene los procesos, las actividades


y las tareas involucradas en el desarrollo, la explotacin y el
mantenimiento de un producto de software, abarcando la vida del
sistema desde la definicin de los requisitos hasta la finalizacin
de su uso
*ISO 12207-1

O Ciclo de Vida del SW.

- MODELO (100% terico: Fases y algunas Actividades)


METODO (% terico % prctico: Adems algunas tareas)
PROCEDIMIENTO (100% prctico: tareas)
Problema ---------> PROYECTO ----------> Solucin
Fase A
t1|t 2

||

Fase B
||

ACTIVIDAD ACTIV. ACTIV.


A1
A2 A j

|||

||

|||

ACTIV.
B1

ACTIV,
B2

..

------|||

Fase N

| || | |

ACTIVIDAD ACTIV.
Bk
N1

..

|||
ACTIVIDAD
Nn

Proyecto: Conjunto de Fases


Fases: Conjunto de Actividades
Actividades: Conjunto de Tareas Tareas: Unidad mnima de un Proyecto
Tarea = tiempo x recursos = $costo$

REPASO CLASE ANTERIOR


INGENIERIA ==>
DIVIDIR PARA VENCER
- MODELO - METODO - PROCEDIMIENTO
Fase A
t1|t 2 |ACTIV.
| ||
tj
ACTIVIDAD
ACTIV.
A1
A2 A j

Fase B
|||
|
|||
ACTIV. |ACTIV,
B1

B2

..

-------

Fase N

||| |ACTIV.
||
ACTIVIDAD
Bk
N1

Proyecto: Fases o Etapas Actividades Tareas.


Tarea = tiempo x recursos = $costo$

Costo del Proyecto?...

|
|
..

|| tn
ACTIVIDAD
Nn

MODELO DE CASCADA

MODELO ESPIRAL

MODELO DE PROTOTIPO

MODELO ORIENTADO A OBJETOS


UML Casos de Uso

O Que tienen en comn los Modelos de Desarrollo

de SW.??
LA FASE O ETAPA DE REQUERIMIENTOS

EL CLIENTE SIEMPRE TIENE LA RAZON!!!

O Caractersticas de los requerimientos


- Los requerimientos deben especificarse.
- Los requerimientos, una vez establecidos y

documentados, sufren cambios continuos.


- Los requerimientos no son un proceso, son
el producto de la percepcin del usuario.

O Propiedades Principales de los Requerimientos


Necesario: Lo que pida un requerimiento debe ser necesario
para el producto.
No ambiguo: El texto debe ser claro, preciso y tener una nica
interpretacin.
Conciso: Debe redactarse en un lenguaje comprensible.
Consistente: Ningn requisito debe entrar en conflicto con otro.
Completo: Los requerimientos deben contener en s mismos
toda la informacin necesaria,
Alcanzable: Debe tener un objetivo realista, posible de ser
alcanzado en el tiempo y los recursos disponibles.
Verificable: Se debe poder verificar, con absoluta certeza, si el
requisito fue satisfecho o no.

- Modelo Comunicacional
Base de herramientas a utilizar para obtener Requerimientos

MENSAJE
EMISOR

Medio de Transmisin RECEPTOR

Ruido

* Los requerimientos precisan comunicacin entre


desarrolladores, clientes y usuarios.

* Errores: se descubren tarde y son caros de corregir


a posteriori. Causas:
- falta de funcionalidad
- funcionalidad mal especificada
- interfaces confusas o intiles
- funcionalidad obsoleta

* Los analistas o ingenieros de requisitos:


- Construyen un modelo del dominio de la
aplicacin observando a los usuarios en su
entorno
- Seleccionan una representacin comprensible
para clientes y usuarios (por ejemplo, casos de uso)
- Validan el modelo del dominio construyendo
prototipos de la interfaz y buscando
retroalimentacin con los usuarios y clientes.

Obtencin de requerimientos
- identificacin de un rea del problema
- definicin de un sistema que soluciona el
problema y sirve como contrato con el cliente:

especificacin del sistema

- en el anlisis se estructura y formaliza la


especificacin para producir el modelo de
anlisis.
- especificacin vs modelo de anlisis:
(Siguiente slide)

- especificacin vs modelo de anlisis:


= representan la misma informacin
= difieren en el lenguaje y la notacin

especificacin: lenguaje natural


modelo de anlisis: notacin formal o semiformal

= sirven de elemento de comunicacin

especificacin: comunicacin con cliente y usuarios


modelo de anlisis: comunicacin entre desarrolladores

Ingeniera de
requerimientos

Anlisis

Especificacin
del sistema
:Modelo

Modelo de
anlisis
:Modelo

MODELO FURPS+ DE REQUISITOS


- Funcionalidad (Functional): caractersticas, capacidades y
seguridad.
- Facilidad de uso (Usability): factores humanos, ayuda,
documentacin.
- Fiabilidad (Reliability): frecuencia de fallos, capacidad de
recuperacin de un fallo y grado de previsin.
- Rendimiento (Performance): tiempos de respuesta,
productividad, precisin, disponibilidad, uso de los recursos.
- Soporte (Supportability): adaptabilidad, facilidad de
mantenimiento, internacionalizacin, configurabilidad.
- El + indica requisitos adicionales como:
*Implementacin: limitacin de recursos, lenguajes y herramientas,

hardware,
*Interfaz: restricciones referentes a la interaccin con sistemas externos
*Operaciones: gestin del sistema en su puesta en marcha
*Legales: licencias,

TIPOS DE REQUERIMIENTOS
* Requerimientos funcionales
* Requerimientos no funcionales
* Requerimientos de implementacin

* Requerimientos funcionales
- Describen las interacciones entre el sistema y su
entorno (usuarios u otros sistemas), sin tener en
cuenta cuestiones de implementacin.
- Se estudian y representan en el Modelo de Casos
de Uso

* Requerimientos No Funcionales

- Describen aspectos del sistema visibles por el


usuario que no se relacionan en forma directa con
el comportamiento funcional del sistema.
- Se recogen en los casos de uso con los que estn
relacionados, o en la Especificacin Complementaria.
- En el Glosario se agrupan y clarifican los trminos
que se utilizan en los requerimientos
- Ejemplos: restricciones en el tiempo de respuesta,
precisin de los resultados,...

* Requerimientos de Implementacin
- Son necesidades del cliente que restringen la
implementacin (por ejemplo, lenguaje de
programacin, plataforma hardware, servidor de
pginas web, libro de estilo,...)

O Algunas propiedades de los requerimientos no funcionales que

hacen al producto atractivo, usable, rpido o confiable, son las


siguientes:
- Requisitos del producto: Especifican el comportamiento del
producto obtenido, velocidad de ejecucin, memoria requerida,
y porcentaje de fallos aceptables.
- Requisitos organizacionales: Son una consecuencia de las
polticas y procedimientos existentes en la organizacin,
procesos estndar utilizados, de fechas de entrega, y
documentacin a entregar.
- Requisitos externos: Presentan factores externos al sistema y a
su proceso de desarrollo, interoperabilidad del sistema con
otros, requisitos, legales, y ticos.

- Requerimientos de apariencia o interfaz externa

Ejemplo: Muy legible, Simple de usar, Profesional o


tipo ejecutivo.
- Requerimientos de Usabilidad Ejemplo: Facilidad de
uso por personas que hablen otros idiomas distintos
al del pas donde el producto fue creado, Accesibilidad
para personas discapacitadas, Consistencia en la
interfaz de usuario, Documentacin de usuario.
- Requerimientos de Rendimiento Ejemplo: Velocidad de
procesamiento o clculo, Eficiencia, Disponibilidad,
Tiempo de respuesta.

- Requerimientos de Soporte Ejemplo: Adaptabilidad,

Mantenimiento. Requerimientos de Portabilidad


Ejemplo: El producto podr ser usado bajo el sistema
operativo Linux.
- Requerimientos de Seguridad Confidencialidad: La
informacin manejada por el sistema est protegida
de acceso no autorizado y divulgacin.
- Integridad: la informacin manejada por el sistema
ser objeto de cuidadosa proteccin contra la
corrupcin y estados inconsistentes.

- Disponibilidad: Significa que los usuarios autorizados

se les garantizar el acceso a la informacin y que


los dispositivos o mecanismos utilizados para lograr
la seguridad no ocultarn o retrasarn a los usuarios
para obtener los datos deseados en un momento
dado.
- Requerimientos de confiabilidad :Frecuencia y
severidad de los fallos, Proteccin contra fallos,
Recuperacin, Prediccin de fallos, Tiempo medio
entre fallos.
- Requerimientos de Software: Ejemplo: Sistema
Operativo Windows 95 o Superior; Maquina Virtual
de Java versin 1.3 o Superior; etc.

INGENIERA DE REQUERIMIENTOS.
- Requerimientos del Software
Es la descripcin de los servicios y restricciones de un
sistema de software, es decir, lo que el software debe
hacer y bajo qu circunstancias debe hacerlo.
- Ingeniera de Requerimientos del Software
Es el proceso de descubrir, analizar, documentar y
verificar los requerimientos del software.

Fuente: [URJC]

Las actividades del proceso de ingeniera son:


1. Comprensin del dominio
2. Recoleccin de requisitos
3. Clasificacin
4. Resolucin de conflictos
5. Priorizacin
6. Verificacin de requisitos
7. Anlisis

Actividades de la Ingeniera de Requerimientos

[SOMMERVILLE,]

La ingeniera de requerimientos incluye dos actividades


principales: la obtencin de requerimientos, que da
como resultado una especificacin del sistema que el
cliente comprende, y el anlisis, que da como resultado
un modelo de anlisis que los desarrolladores pueden
interpretar sin ambigedad
Obtencin de
Requisitos

Especificacin
del sistema
Anlisis
Modelo del
anlisis

La obtencin de requerimientos se enfoca en la


descripcin del propsito del sistema y es la que
implica el reto mayor.
El cliente, los desarrolladores y los usuarios
identifican un rea problema y definen un sistema
que resuelve el problema, denominado
especificacin de los requisitos del software
que sirve como contrato entre el cliente y los
desarrolladores
Anlisis de un Caso: Area Problema, Facturacin.

Ejercicio
Proceso de Facturacin: Caso A
La funcin principal de la seccin de Facturacin es emitir
facturas. La seccin Contabilidad es responsable por la
verificacin y envo de la factura al cliente.
Ventas, atiende a los clientes a quienes le ofrece los
productos que produce la empresa, generando un pedido.
El vendedor visita Bodega para poder despachar el pedido
y comprobar que haya stock de los productos, los retira y
despacha los productos. Bodega almacena los productos
que produce la seccin de produccin. Ventas, verificada
la venta, informa cantidad despachada y precio unitario de
los productos a Facturacin.

Proceso de Negocio de Facturacin: Caso B


La funcin principal de la seccin de Facturacin es emitir
facturas. La seccin Contabilidad es responsable por la
verificacin y envo de la factura a Bodega para que sea
enviada junto con el despacho del producto.
Ventas atiende a los clientes a quienes le ofrece los
productos que produce la empresa de acuerdo al stock
que enva Bodega diariamente, generando un pedido si la
venta se concreta el cual es enviado a Bodega para su
despacho. Bodega informa cantidad despachada de los
productos a Facturacin. Ventas informa los precios de
productos a Facturacin y los actualiza cuando deciden
cambios.

Proceso: Ingeniera de Requerimientos


Prototipado

PROTOTIPO

Proceso: Ingeniera de Requerimientos


Prototipado
* Prototipos
O El uso de prototipos para recoger requisitos o

comprobar si se han entendido perfectamente es


una prctica cada vez ms extendida, especialmente en
sistemas que suponen un elevado grado de interactividad.
En este caso los prototipos a evaluar no sern ms que
maquetas no operativas o especificaciones formales que un
grupo de expertos debern evaluar.

Proceso: Ingeniera de Requerimientos


Prototipado

Caractersticas

Es un mtodo menos formal de desarrollo.


El prototipado es una tcnica para comprender las

especificaciones.
Un prototipo puede ser eliminado.

Un prototipo puede llegar a ser parte del producto final.

Proceso: Ingeniera de Requerimientos


Prototipado
O Ventajas
Ayudan a validar y desarrollar nuevos requerimientos.

Permite comprender aquellos requerimientos que no estn muy

claros y que son de alta volatilidad.


O Desventajas

El cliente puede llegar a pensar que el prototipo es una versin

del software que ser desarrollado.


A menudo, el desarrollador hace compromisos de
implementacin con el objetivo de acelerar la puesta en
funcionamiento del prototipo.