Vous êtes sur la page 1sur 66

INGENIERA DE

REQUERIMIENTOS
INGENIERA DE
REQUERIMIENTOS
Ing. Sfora Romn Snchez

La parte ms difcil de construir un


sistema de software es decidir qu
construir []
Ninguna otra tarea afecta tanto
negativamente al sistema, al final, si
se realiza de manera incorrecta, al
inicio.
Frederick Phillips Brooks
Professor Department of Computer Scienc.
University of North Carolina. USA.

UNHEVAL - Ingeniera de Requerimientos

La construccin del software no es el


problema.
El verdadero problema radica en saber
cules son los requerimientos que deben ser
construidos y los que no.

ESTADSTICAS DE XITO NO
XITO

UNHEVAL- Ingeniera de Requerimientos

PRINCIPALES PROBLEMAS EN EL
DESARROLLO DE SW

Mala comprensin de las necesidades del usuario.


Requisitos y necesidades incompletas.
Cambio constante en los requerimientos.
Falta de estndares.
Deteccin tarda de errores.
Mala integracin de mdulos.
Pruebas insuficientes.

UNHEVAL - Ingeniera de Requerimientos

NECESIDADES
Interesados de la organizacin: Clientes, usuarios, etc
Neces
sidade

ntos
e
i
m
i
r
Reque

tura
c
e
t
i
Arqu

Necesidades de informacin y expectativas.


Anlisis y diseo de los procesos de la organizacin.
Modelado del negocio.
Anlisis de las actividades.
Personas que se benefician de los procesos.
Personas que ejecutan los procesos.
Informacin usada en los procesos.
Mejoramiento de procesos.
Identificar los problemas de informacin actuales y
futuros.

3/1/16

UNHEVAL- Ingeniera de Requerimientos

ARQUITECTURA
Neces
sidade

ntos
e
i
m
i
r
Reque

tura
c
e
t
i
Arqu

3/1/16

Anlisis y diseo de las clases del sistema.


Definir las capas, subsistemas, dependencias,
interfases y servicios.
Construir el modelo de datos.
Identificar patrones de diseo.
Construir el modelo de despliegue.

Equipo del proyecto: Desarrolladores, etc

UNHEVAL- Ingeniera de Requerimientos

REQUERIMIENTOS
Interesados de la organizacin: Clientes, usuarios, etc
Neces
sidade

ntos
e
i
m
i
r
Reque

tura
c
e
t
i
Arqu

3/1/16

Requisitos a ser satisfechos por el software.


Descripcin de lo que un sistema debe realizar.
Caractersticas y atributos del sistema.
Acuerdos con los interesados y desarrolladores.
Equipo del proyecto: Desarrolladores, etc

UNHEVAL- Ingeniera de Requerimientos

INGENIERA DE
REQUERIMIENTOS
Neces
sidade

ntos
e
i
m
i
r
Reque

Determinar las necesidades y

condiciones
de los
interesados y
Convertirlas en requisitos acordados,
documentados y mantenidos
a ser satisfechos por un software.

tura
c
e
t
i
Arqu

UNHEVAL- Ingeniera de Requerimientos

INGENIERA DE
REQUERIMIENTOS

Implica:

Neces
sidade

ntos
e
i
m
i
r
Reque

tura
c
e
t
i
Arqu

3/1/16

Identificar las necesidades de los


interesados.
Analizar las expectativas adicionales.
Negociar con los interesados y
el equipo de
proyecto los acuerdos
de desarrollo.
Documentar los requerimientos
adecuadamente.
Validar los requerimientos
contra las necesidades.

UNHEVAL- Ingeniera de
Requerimientos

10

DEFINICION DE IR SEGN DISTINTOS AUTORES

DEFINICION DE IR SEGN DISTINTOS AUTORES

No existe proceso nico que sea validado de aplicar en todas las


organizaciones. Cada organismo debe desarrollar su propio proceso de
acuerdo al tipo de producto que se est desarrollando, a la cultura
organizacional y al nivel de experiencia y habilidad de las personas
involucradas en la ingeniera de requerimientos.

QUIN HACE LA INGENIERA DE REQUISITOS?


Los Ingenieros de Software (Ingenieros de Sistemas o Analistas de
Sistemas) y los interesados (gerentes, clientes, usuarios finales).

IMPORTANCIA DE LA INGENIERA DE REQUERIMIENTOS?


El diseo y la construccin de un elegante programa de computadora
que resuelva el problema incorrecto no satisface las necesidades de
nadie. Por lo tanto, es muy importante entender lo que el cliente
quiere antes de comenzar a disear y construir un sistema basado en
PC.

PASOS PARA HACER INGENIERA DE


REQUERMIENTOS
Inicio

Gestin

Validacin

Obtencin

Elaboracin

Especifica
cin

Negociacin

Inicio.- Se define al mbito y la naturaleza del problema que


debe resolverse
Obtencin .- Ayuda al cliente a definir sus necesidades. QFD
Elaboracin.- Se refinen y modifican los requisitos bsicos
Negociacin .- Se definen las prioridades, cuales aspectos son
esenciales y en qu momento se requieren
Especificacin.- Puede ser un documento escrito, modelos
grficos, matemticos, etc.
Validacin.- Examinar existencia, omisiones y ambigedades
Gestin.- Identificar, controlar y rastrear los requisitos y los
cambios de stos en el proyecto

Las actividades del proceso incluyen :


Extraccin de requerimientos
Anlisis del problema
Especificacin
Validacin
Evolucin

ROLES O TIPOS DE PARTICIPANTES EN


LA INGENIERA DE REQUISITOS
Rol
Ingeniero de
requisitos

Descripcin
Tambin conocido como analista, es el responsable de interactuar con clientes
y usuarios para obtener sus necesidades y tambin de desarrollar y gestionar
los requisitos.

Cliente

Es el responsable de la financiacin del proyecto y tiene capacidad ejecutiva


para tomar decisiones sobre el mismo. Suele tener una visin global del
modelo de negocio.

Usuario

Es el usuario potencial del software a desarrollar en el proyecto y tiene una


visin detallada, aunque puede que parcial, del modelo de negocio.

Director del
proyecto

Es el responsable de la ejecucin del proyecto y tiene capacidad ejecutiva


para tomar decisiones sobre el mismo de acuerdo con el cliente.

Responsable de
calidad

Es el responsable del aseguramiento de la calidad de los productos obtenidos


durante las actividades de la ingeniera de requisitos.

Comit de
control de cambios
Personal TIC
del cliente

Rol colectivo responsable de decidir si se aceptan o se rechazan las peticiones


de cambios. Tanto el director del proyecto como un representante del cliente
suelen formar parte de l.
Es el responsable de proporcionar informacin sobre el entorno tecnolgico
del cliente.

El Problema
Requerimientos

Si un proceso es utilizado, equipos


funcionales
diferentes,
normalmente utilizan procesos y
lenguajes
de
modelacin
inconsistentes.
La mayora de los proyectos de
software
utilizan procesos que no estn bien
definidos. En su lugar los miembros
del equipo (re)inventan sus propios
procesos.
Los
procesos
no
estn
apropiadamente relacionados con
herramientas,

no
estn
propiamente automatizados.

Pruebas
Anlisis
Diseo

??
??

??
??
??

Proceso

??
??

Herramienta

Los elementos del anlisis y diseo


estructurado ms relevantes son
(algunos autores tienen distintas
visiones de la cantidad de elementos y
cuales son ellos):

DFD Diagrama de Flujo de Datos


Diccionario de Datos
DE Diagrama de Estructura
Mini especificaciones

SMBOLOS DEL DFD


(NOTACIN YOURDON/DE MARCO)

P
Proceso

Entidad Externa

Flujo de datos

Flujo de eventos

D ALMACN DE
DATOS

Transformaciones o procesos
(funciones, clculo, seleccin)
Terminadores (Fuentes o Destinos)
(personas, entidades)
Flujos de informacin
(inputs-outputs)
Flujos de control (Ward & Mellor 85)
Ficheros o depsitos temporales de
informacin (base de datos, armario,
clasificador, etc.)

SMBOLOS DEL DFD


(NOTACIN MTRICA/SSADM)

ID

Localizacin

Proceso

Entidad
Externa

Flujo de datos

ALMACN DE
DATOS

Transformaciones o procesos
Terminadores (Fuentes o Destinos)
Flujos de informacin
Ficheros o depsitos temporales de
informacin

PROCESOS
TRANSFORMACIN
(clculo, operacin)
FILTRO
(verificacin fecha, validacin transaccin)
DISTRIBUCIN
(men, seleccin transaccin)

E1
P
E2
E3

Transformacin

S1
S2

PROCESOS
Nombres nicos, significativos y concisos
Preferiblemente expresados en funcin de las
entradas y salidas
Recomendacin:
verbo (no ambiguo) + objeto
Evitar verbos ambiguos
procesar, gestionar, manejar...
objeto est definido en el DD
Los procesos se descomponen en subprocesos,
hasta llegar a los procesos primitivos

DIAGRAMA DE CONTEXTO
Es el DFD ms general de todos
Est formado por un solo macroproceso (el
sistema), las entidades externas (fuentes y
destinos) y sus relaciones con el macroproceso
Delimita el sistema y su entorno

ENTIDADES EXTERNAS
Sealan los lmites del sistema y establecen
sus relaciones con el entorno
FUENTE

FUENTE

FUENTE

DESTINO

P
Sistema

DESTINO

DESTINO

Los identificadores (nombres) de las entidades externas


sern nicos, significativos y concisos

DIAGRAMA DE CONTEXTO
CLIENTE

pedidos
rdenes de compra

libros entregados

en principio, no
son materiales,
son datos

0.
Sistema de
Pedidos
libros pedidos

EDITOR

FLUJOS DE DATOS
Los nombres de los FD deben ser nicos,
significativos y concisos
Son datos, as que nmbralos como datos.
Pueden estar indistintamente en singular o
en plural, ya que en los DFDs no se
representan cantidades (Barranco 95)
Los nombres no sirven slo para identificar
los datos, sino tambin la informacin que
se tiene sobre ellos
P.ej. Informacin (fecha-vlida) > Informacin
(fecha)

Los Flujos de datos pueden tener lugar:

Entre dos procesos

X
P

B
X

Entre un Proceso y un almacn de datos


1.
Verificar
validez
de pedido

pedidos vlidos
D PEDIDOS
PENDIENTES

Entre una entidad externa y un proceso


CLIENTE

pedidos

0.
Sistema de
libros entregados Pedidos

FLUJOS DE DATOS
Flujos de datos interactivos (dialog flows)
Cuando dos FD establecen un dilogo o comparten una
accin de estmulo-respuesta, pueden dibujarse como un
nico FD de doble flecha, donde ambos extremos deben
llevar el nombre del FD que representan.

P
Determinar
estado
pedido

peticin estado pedido


respuesta estado pedido

pago
autorizacin crdito
P
solicitud crdito
Aceptar pago
recibo

denegacin
crdito

P
Analizar
Peticin
crdito

DESCOMPOSICIN FUNCIONAL
Cada proceso se puede explotar, refinar o
descomponer en un DFD ms detallado
El DFD de un sistema es realmente un
conjunto de DFDs dispuestos
jerrquicamente
Los niveles de la jerarqua estn
determinados por la descomposicin
funcional de los procesos
La raz de la jerarqua es el diagrama de
contexto, que es el ms general de todos

DESCOMPOSICIN FUNCIONAL
(II)
FUENTE

P
Sist

DESTINO

P
f2

P
f4

P
f5

P
f1

Y
P
f3

P
f43

x1

x2

P
f41

y2
y1

P
f45

P
f42

P
f44

CONSISTENCIA EN EL DFD
Cada proceso en un diagrama padre es una
consolidacin del DFD hijo
Balanceo de DFDs
Las E/S de un proceso padre deben corresponderse
con las E/S del DFD hijo que lo explica

JERARQUA DE DFDS
En un DFD completo cada proceso tiene un
nmero nico que lo identifica en funcin
de su situacin en la jerarqua
Cada DFD tiene tambin un nmero nico
que coincide con el proceso que describe
Las hojas o nodos terminales
corresponden a procesos primitivos o
indescomponibles
Para cada proceso primitivo existir una
miniespecificacin.
Localizacin
Proceso

Proceso primitivo en Mtrica

JERARQUA DE DFDS (II)


P 1.2
Proceso A

DFD 1.2
P 1.2.2
f2

V
Y

P 1.2.1
f1
A

P 1.2.3
f3

JERARQUA DE DFDS
DFD 0
El primer diagrama general que sigue al de
contexto es el nmero 0 por convenio
En el DFD 0 se hace una descomposicin en
subsistemas, es decir, se indican los procesos
ms importantes en el sistema

Han de ser SUBSISTEMAS

DESCOMPOSICIN FUNCIONAL Y
ALMACENES DE DATOS
Los almacenes aparecen lo ms tarde posible
En un nivel superior nicamente cuando son
interfaz entre procesos
Una vez que aparezca en un DFD, el almacn
aparecer otra vez en cada DFD de nivel ms
bajo relacionado

DESCOMPOSICIN
FUNCIONAL Y ALMACENES
DE DATOS (II)
P
A

FICH

P
B.1

P
A.1

D
P
A.2

P
B

FICH
P
B.2

FICH

IDEAS TILES PARA CONSTRUIR


EL DFD (II)
Nombrar adecuadamente todos los objetos del
DFD
Numerar adecuadamente procesos y diagramas
Realizar una correcta divisin en subsistemas
(DFD 0)
Utilizar la descomposicin funcional jerrquica
hasta alcanzar las funciones primitivas

DICCIONARIO DE DATOS

Es un conjunto de metadatos, es decir, de


informacin (datos) sobre datos
Contiene las definiciones de todos los
elementos de los diagramas
Implementacin

Manual
Procesador de textos
Base de datos
Automtico e integrado

DICCIONARIO DE DATOS
No slo se considera un catalogo de datos del
sistema sino de flujos de datos, almacenes y
procesos, guardando descripciones y detalles
de todos estos elementos.
Los analistas utilizan el diccionario entre otras
finalidades para:
Documentar las caractersticas del sistema
Manejar detalles en grandes sistemas
Dar un significado comn para todos los elementos
del sistema
Localizar errores y omisiones
Mantenimiento del sistema

PREGUNTAS QUE SE HACEN LOS


ANALISTAS SOBRE LOS DATOS
Dnde se usa este elemento de datos?
Qu mas hay que cambiar si lo modificamos?
Cul ser el impacto general del cambio?

EL DICCIONARIO DE DATOS CONTIENE DOS TIPOS DE


DESCRIPCIONES PARA LOS FLUJOSDE DATOS DENTRO DEL
SISTEMA: Elementos de datos y estructuras de datos.
El nivel ms importante de datos es el elemento dato, bloque
bsico e indivisible para todos los dems datos del sistema
Una estructura de datos es un grupo de datos elementales
relacionados, que el sistema trata como un componente. Los
flujos de datos y los almacenes de datos son estructuras de
datos.
DESCRIPCION DEL ELEMENTO DATO:
Incluye entre otras informaciones, nombre, descripcin, alias
o nombre alternativo, longitud y en aquellos procesos que lo
necesiten valores permitidos.

DESCRIPCION DE LAS ESTRUCTURAS DE DATOS:


Se construyen sobre cuatro relaciones de componentes , que
pueden ser a su vez elementos dato o estructuras de datos.
Incluye nombre de la estructura, descripcin y el contenido
(cuales son sus datos elementales y/o estructuras)

DESCRIPCIN DE FLUJOS Y ALMACENES DE DATOS:


Los flujos y almacenes de datos son estructuras de datos, una
estaticas y otras dinmicas. Su descripcin se hace en base a
esto, aadiendo otras caractersticas relevantes.
Para el flujo: nombre del flujo, descripcin, viene de los
procesos, va hacia los procesos, estructuras de datos.
Para el almacn: nombre del almacn , descripcin, flujos
recibidos, flujos proporcionados, descripcin de datos, tipo de
acceso

DESCRIPCIN DE PROCESOS:
Se hace en base al resto de los componentes, en el momento en
que se pueden considerarse como primitivas funcionales.
Nombre del proceso, descripcin, entrada de datos, salida de
datos, resumen de la lgica.

NOTACIN UTILIZADA PARA LA DESCRIPCIN

Construccin de
datos

Notacin

Significado

Agregacin

Est compuesto de

Secuencia

Seleccin

[I]

Repeticin

{}
()
*..*

Uno u otro
N repeticiones de
Datos opcionales
Delimitadores de
comentarios

NOTACIN..
Permite representar una composicin de
datos en una de las tres alternativas
fundamentales que pueden ser
construidas:
Como una secuencia de elementos de datos.
Como una seleccin de entre un conjunto de
elementos de datos.
Como una agrupacin repetitiva de elementos
de datos.

EJEMPLO:
Nombre: nmero de telfono
Alias: Fono
Donde se usa/cmo se usa:
Comprobar con ajustes iniciales (salida)
Marcar nmero (entrada)

Descripcin:
nmero de telfono = prefijo + nmero acceso.
Prefijo= [*un nmero de cuatro dgitos que comience en
0 un nmero de cinco dgitos que comience por ()]
Nmero de acceso= *secuencia numrica de cualquier
tamao*

DICCIONARIO DE DATOS
Flujo de datos: entrega
Descripcin: Conjunto de libros enviados por un
proveedor a la biblioteca, basado en la relacin
que previamente haba recibido.
Sinnimos: *** none ***
Componente de: *** none ***
Composicin:
Libros
+ { Albarn }
Informacin de entrada y salida
Origen
Destino
*** Off the diagram ***
Compra libros
PROVEEDORES
Biblioteca

DICCIONARIO DE DATOS
Almacen: Facturas
Descripcin: Informacin, por nmero de factura, sobre
facturas en el sistema actual.
Sinnimos: *** none ***
Composicin:
@Nmero-factura
+ Fecha-factura
+ Direccin-cliente
+ { Nmero-producto
+ Cantidad-producto
+ Costo-unidad-producto }
+ Costo-envo
+ Tasa-de-descuento
+ Neto-factura
+ Estado-factura

Procesos asociados:

Segn DFD general

Proc_cancelacin Proc_pago
Proc_consultas
Adjuntar_albarn

DICCIONARIO DE DATOS PROCESO :PSEUDOCDIGO.


Proceso: Verificar estado del socio
Nmero: 1.1.1
Descripcin: Se examina si el socio no est sancionado
Miniespecificacin:
Recibir Socio ID del socio
Leer SOCIOS para
Leer Flag-de-precaucin
Si OK, enviar Socio ID vlido
Complejidad:
Prioridad:
Ratio de transacciones: Memoria requerida (Kb):
Tiempo de proceso:

LGICA DE PROCESO.
MINI ESPECIFICACIONES

Tcnicas para describir la lgica de los procesos


primitivos

Lenguaje estructurado
Pre y post-condiciones
Tablas de decisin
rboles de decisin

Son una descripcin detallada de los procesos


asociados al DFD de ltimo nivel

Se debe evitar:

Descripciones confusas
Ambiguedades
Exceso de papel
Especificaciones pobres o sobreespecificaciones

Debe contar con:

Claridad
Concisa y completa
Lgica y no fsica
Debe especificar el Qu y no el Cmo
Relacin armnica con los dems objetos del
diseo estructurado

Lenguaje estructurado
SI la factura excede de 300
SI la cuenta del cliente tiene alguna factura sin pagar
ms de 60 das, dejar la confirmacin pendiente de
este pago.
SI NO (la cuenta est en buen estado)
hacer confirmacin y factura

SI NO (la factura es de 300 o menos)


SI la cuenta del cliente tiene alguna factura sin pagar
ms de 60 das hacer la confirmacin, la factura y
escribir un mensaje sobre informe de crdito
SI NO (la cuenta est en buen estado)
hacer confirmacin y factura

FIN-SI.

Pre y post-condiciones
Pre1 (la factura excede de 300) Y (la cuenta del cliente tiene
alguna factura sin pagar ms de 60 das)
Pos1 (confirmacin pendiente de este pago)
Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene
ninguna factura sin pagar ms de 60 das)
Pos2 (confirmacin y factura realizadas)
Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene
alguna factura sin pagar ms de 60 das)
Pos3 (confirmacin y factura realizadas) Y (mensaje impreso sobre
informe de crdito)
Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene
ninguna factura sin pagar ms de 60 das)
Pos4 (confirmacin y factura realizadas)

Tablas de decisin
ESTADO DE LA
CUENTA

CORRECTO

NETO-FACTURA

>300

I MPAGADO CORRECTO
>300

I MPAGADO

<=300

<=300

CONFI RMACI N
PENDI ENTE
HACER
CONFI RMACI N

HACER FACTURA

ESCRI BI R MENSAJ E

rboles de decisin
Factura
excede de
300

Cuentas impagadas ms
de 60 das
Cuentas en buen estado

Poltica
contabl
e

Factura
menos de
300

Cuentas impagadas ms
de 60 das
Cuentas en buen estado

1. Dejar confirmacin
pendiente de los pagos
debidos.
2. Hacer confirmacin y
factura

3. Hacer confirmacin y factura y


escribir mensaje sobre informe de
crdito
4. Hacer confirmacin y
factura

Ejemplo DFD
Sistema de distribucin sin
inventario
Se trata de un sistema que sirve pedidos de
libros a unos clientes, con la particularidad
de que no mantiene un stock o inventario
interno. El sistema puede agrupar los
pedidos que clientes distintos hacen a un
mismo editor, de manera que se puedan
Adaptado del captulo 2 de Gane, C. and T. Sarson, Anlisis estructurado de sistemas.
conseguir descuentos.
1990, Buenos Aires: El Ateneo.

Anlisis de los procesos del


sistema
Aplicamos la visin sistmica
Diagrama de
contexto
CLIENTE

pedidos
rdenes de compra

libros entregados

en principio, no
son materiales,
son datos

0.
Sistema de
Pedidos
libros pedidos

EDITOR

EJEMPLO PRCTICO

0. Sistema de pedidos
pedidos

D LIBROS
rdenes de compra

estado del crdito

1.
Verificar
validez
de pedido

D CLIENTES

pedidos vlidos
D PEDIDOS
PENDIENTES

2.
Armar
pedidos
a editores

D RDENES DE
COMPRA

pedidos en lote
pedidos por ttulo

direccin

libros entregados
libros entregados =
albarn + listanovedades

4.
libros por Asignar
5.
clientes
Armar
libros a
entrega
pedidos
a clientes

libros
recibidos

3.
Verificar libros pedidos
envo
de editores

libros recibidos =
{ttulo + cantidad}

Vous aimerez peut-être aussi