Documente Academic
Documente Profesional
Documente Cultură
1
Requisitos / Requerimientos
¿Qué es un requisito?
2
Requisitos / Requerimientos
4
Requisitos / Requerimientos
¡Los requisitos se
concentran en “qué”
debe hacer el
sistema, no en
“cómo” debe hacerlo!
Es decir, dejen de pensar por los momentos
en cómo lo van a programar o implementar... 6
¿Qué Definen los Requisitos?
La tecnología
Restricciones
Requisitos de Operación
de información
que debe usar
Interacción Usuario /
Atributos de Calidad Las interfaces
Sistema
con otros
sistemas
Seguridad, facilidad de
La interfaz gráfica
uso, documentación,
usuario-sistema (GUI) 7
utilidad, etc.
¿Qué Tipos de Requisitos?
Funcionales
Dependiendo si
definen o no
funcionalidad
No Funcionales
Tipos de
Requisitos
De Usuario
Dependiendo de a
quienes están
dirigidos
De Sistema
8
Requerimientos Funcionales / No
Funcionales
Ejemplos de Requerimientos
Funcionales:
R-010:
R-200:
¿Propiedades Emergentes?
11
Requerimientos Funcionales / No
Funcionales
Propiedades Emergentes:
12
Requerimientos Funcionales / No
Funcionales
Ejemplos de Requerimientos
no Funcionales:
R-430:
R-233:
R-230:
Funcionales
Dependiendo si
definen o no
funcionalidad
No Funcionales
Tipos de
Requisitos
De Usuario
Dependiendo de a
quienes están
dirigidos
De Sistema
15
Requerimientos de Usuario / de Sistema
Requerimientos de Usuario:
Son aquellos que están dirigidos a los usuarios y
clientes (interesados en general) del sistema. Se
redactan usando lenguaje natural (generalmente) de
forma “no técnica” con el objetivo de que el personal
no técnico los pueda entender
Requerimientos de Sistema:
Son aquellos dirigidos a personal técnico: analistas,
programadores, arquitectos, ingenieros, etcétera.
Generalmente están escritos en un lenguaje mucho
más técnico pero mucho más preciso que los
requerimientos de usuario
16
Requerimientos de Usuario / de Sistema
Nuevamente...
Requisitos incompletos
Falta de participación del usuario
Expectativas poco realistas
Cambios en los requisitos y las especificaciones
El sistema dejó de ser necesario
19
Requisitos
20
El Costo del Cambio (de requisitos)
Fase Costo
($)
Requerimientos 0
Diseño 1
Arquitectónico
Diseño 2
Detallado
Codificación 3
Pruebas 5
de Unidades
Validación 20
Puesta 100
en Marcha /
Operación
Bien... pero...
¿Cómo se obtienen
los requisitos?
26
Requisitos
¿Ingeniería de Requisitos?
Una visión:
Definición y
Elicitación y Análisis
Especificación
Observación Modelo de
Entrevistas
Directa Negocios
Lectura /
Análisis de Prototipos Otras...
Documentos
29
Procesos de la Ingeniería de Requisitos
30
Tomado de Pressman 2005 / cap 7
Procesos de la Ingeniería de Requisitos
31
Tomado de Pressman 2005 / cap 7
Procesos de la Ingeniería de Requisitos
¿Por qué?
¿Y por qué?
¿Qué es esto?
¿Y esto otro?
¿Cómo hacen esto?
¿Y esto otro?
¿Quién hace esto?
...
32
Opinión personal
Procesos de la Ingeniería de Requisitos
33
Tomado de Pressman 2005 / cap 7
Procesos de la Ingeniería de Requisitos
34
Opinión personal
Procesos de la Ingeniería de Requisitos
Recuerde:
Una vez que comprenda algo,
repitalo al cliente con sus propias
palabras, y si éste lo entiende,
entonces usted estará seguro de que
lo ha entendido correctamente
35
Opinión personal
Procesos de la Ingeniería de Requisitos
Consejo:
Nunca vaya a una reunión de negocios o
a una entrevista de requerimientos sólo.
¡Dos es un número mágico!
¿Por qué cree usted que esto es así?
Consejo:
Tome notas / grabe la entrevista de ser
posible, y mantenga las grabaciones para
futuras referencias
36
Opinión personal
Procesos de la Ingeniería de Requisitos
Inspecciones
Es la actividad por medio de
Documentos
de la cual se extiende el
Discusiones,
modelo de requisitos, se Entrevistas,
Talleres
buscan y localizan Desarrollo
errores, inconsistencias, de
prototipos
limitaciones, carencias, Muchas de las
técnicas de la
etcétera... actividad
de captura 37
Procesos de la Ingeniería de Requisitos
Muchas de las
Inspecciones Discusiones /
técnicas de la
de Entrevistas /
actividad
Documentos Talleres
de captura
¿Quiénes participan
en la Ingeniería de
Requerimientos?
40
Participantes en el Desarrollo de Software
CLIENTE /
EJECUTIVO /
USUARIO
(Patrocina el
desarrollo del
¿Serán
sistema y
utiliza el
el cliente y
sistema)
el usuario lo
mismo en todos
los casos?
DESARROLLADOR
(Construye
el Sistema)
41
Participantes en el Desarrollo de Software
CLIENTE USUARIO
EJECUTIVOS (Utiliza el
(Patrocina el Sistema)
desarrollo
del sistema)
Proporciona Tiene
Financiamiento Necesidades
Tiene
Obligaciones
Proporciona
Contractuales
Sistemas de
Software
DESARROLLADOR
(Construye
el Sistema)
Pfleeger
(1998) 42
Participantes en el Desarrollo de Software
Otros
desarrolladores y
Usuarios
participantes en el
proyecto
Otros entes,
Clientes personas,
instituciones,
afectadas o
interesadas en el
sistema
A todas las
DESARROLLADOR personas
(Construye involucradas o
el Sistema) interesadas se
les llama
Stakeholder 43
Interesados / Actores / Protagonistas
(Stakeholders)
Instituciones
Consumidores Gubernamen
Usuarios tales
Comunidad
programad
analistas
ores
Empresa
diseñadore Contratante
s
Líderes de
proyecto
Clientes Gerentes
Proveedore
Clientes de s Consultores
/ arquitectos
la Empresa
asesores
44
Requisitos / Requerimientos
¿Problemas
Con los Requisitos?
¡Dilbert!
45
Requisitos (Problemas de los)
Primera Regla:
El usuario siempre tiene la razón
(Aunque se le puede intentar convencer de lo contrario)
Segunda Regla:
El cliente siempre tiene la razón, siempre y cuando esto no
contradiga lo establecido en le primera regla
Tercera Regla:
Usted (el desarrollador) tiene la razón, siempre y cuando esto
no contradiga la segunda o la primera regla
¡Ley Cero!
50
Requisitos / Requerimientos
¿Cómo se
documentan los
requisitos?
51
¿Qué necesito saber / definir sobre un
sistema?
Los involucrados
52
Fundamentado en base a la plantilla Volere, edición 14, Enero 2009
¿Qué necesito saber / definir sobre un
sistema?
53
Fundamentado en base a la plantilla Volere, edición 14, Enero 2009
¿Qué necesito saber / definir sobre un
sistema?
Otros aspectos
Soluciones ya existentes
54
Fundamentado en base a la plantilla Volere, edición 14, Enero 2009
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)
55
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)
56
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)
57
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)
Discusión
58
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos
59
Tomado de la plantilla Volere, edición 14, Enero 2009
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos
# de 045 Tipo de Funcional Ca so de 054
Re qu isit o: Re qu isit o: Uso / Eve nt o
Re la ciona do:
De scr ip ción : Los usuar ios deben poder intercam biar m ensajes y com unicar se por
m edio del foro, toda la com unicación debe estar m oderada para
evitar conductas inapropiadas por par te de los usuar ios, m ensajes
basura y publicidad no deseada.
Just if ica ción : Esta es la razón de ser del sistem a, el objet ivo pr incipal de un foro
WEB es perm it ir intercam biar m ensajes entre usuar ios.
Or ige n Pedro Moreno
( I nt e re sa do) :
Cr it e r io de El usuar io debe poder publicar un m ensaje.
Ace pt a ción / El m ensaje no debe aparecer hasta que un m oderador lo acepte.
Va lida ción : Si un m oderador acepta el m ensaje entonces éste aparece publicado.
Si un m oderador rechaza el m ensaje entonces éste no es publicado.
N ive l de 5 N ive l de 5
sa t isfa cción de l insa t isfa cción de l
Int e re sa do: Int e re sa do:
Pr ior ida d: 5 Re qu isit os e n 055, 034, 040
Conf lict o:
M a t e r ia l de
Soport e :
Ú lt im a Modif icado 15/08/2009 – Glor ia Linares
M od if ica ción : Creado 12/02/2009 – Luis Gut ierrez
60
Ejemplo de un requisito del foro WEB
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos
Planilla VOLERE para Documentación de Requisitos
Identificador del Requisito: 45 Tipo de Requisito: Funcional Caso de Uso/Evento: 4.2.1
Descripción:
Calcular el promedio diario, mensual y anual de precipitación en cada una de las estaciones climatológicas
del país
Criterios de validación:
Los valores obtenidos se compararán con los obtenidos en años pasados para determinar si hay
inconsistencias.
Dependencias (qué requisitos depende de este):35, 48 Conflictos (qué requisitos son incompatibles o
inconsistentes con este):
Documentos de soporte: Manual de Precipitación Histórico de cambios: 20-Mayo-2006
62
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos
Plantillas Volere*
http://www.volere.co.uk/
MeRinde**
http://merinde.rinde.gob.ve/
*Gracias a James Robertson de Atlantic System Guild por facilitame una copia
gratuita de las plantillas para uso académico
**MeRinde es más que un grupo de plantillas de apoyo, es una metodología de 64
desarrollo de software basada en el Proceso Unificado (UP)
Historias de Usuarios
(Modelos ágiles – XP, SCRUM)
Generación de Factura
Límites del
Sistema
Generalización /
Caso de Uso Especialización
de Actores
Asociación
Caso de Uso
/ Actor
Colaboración Actor
entre casos 67
de uso
Lenguajes / Notaciones Gráficas...
... y su respectiva descripción textual
Nombre: Crear mensaje foro
Autor: Pedro Pérez
Fecha: 21/04/09
Descripción:
Permite crear un nuevo mensaje (hilo) en el foro de discusión.
Actores:
Usuario / Moderador
Precondiciones:
El usuario debe de estar autenticado en el sistema.
Flujo Normal:
1.- El actor pulsa sobre el botón para crear un nuevo mensaje.
2.- El sistema muestra una caja de texto para introducir el título del mensaje y una zona de
mayor tamaño para introducir el cuerpo del mensaje.
3.- El actor introduce el título del mensaje y el cuerpo del mismo.
4.- El sistema comprueba la validez de los datos y los almacena.
5.- El moderador recibe una notificación de que hay un nuevo mensaje.
6.- El moderador acepta y el sistema publica el mensaje si éste fue aceptado por el moderador.
Flujo Alternativo:
4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al
actor de ello permitiéndole que los corrija.
6.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario.
Poscondiciones:
El mensaje ha sido almacenado en el sistema y fue publicado. 68
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)
Discusión
69
¿Cómo se definen los requerimientos?
Lenguajes Formales
Ejemplo de “Notación Z”
Otros...
71
Gestión de Requerimientos
¿Cómo se pone
orden en los
requerimientos?
¿Gestión de
requerimientos?
72
Gestión de Requerimientos
74
Gestión de Requerimientos
Objetivos
del Negocio
(O1, O2,
O3...) X1
CU1
X2
R1 CU2
X3
R2 CU3 X4 ...
X5 ¿Será
R3 CU4
importante
X6
también tener
trazas
CU5 con los
X7 desarrolladores?
¿Por qué?
Diseño,
Componentes
Interesados Requisitos Casos de Uso 75
Implementación,
Pruebas
Gestión de Requerimientos
Ejemplo de una matriz de rastreo
R1 R2 R3 R4 R5 ... Rn
R1 X
R2 X X
R3 X X Requerimientos
R4 X X
con
R5 X X
Requerimientos
(Dependencias /
... Conflictos)
Rn X X X
U1 U2 U3 U4 U5 ... Un
R1 X
R2 X X X
R3 X X
R4 X X
Requerimientos
R5 X X X
con
Interesados
...
Rn X X X 76
Gestión de Requerimientos
*Requirements Management 78
Herramientas para hacer
Gestión de Requerimientos*
*Requirements Management 79
Calidad de los Requisitos
80
¿Cómo sé que tengo requisitos de calidad?
82
¿Cómo sé que tengo requisitos de calidad?
83
Gracias
¡Gracias!
84