Documente Academic
Documente Profesional
Documente Cultură
Pre-portada (-2)
Pre-portada (-1)
Olvide usted que est en un curso de
Ingeniera del Software, imagine que tiene a un
cliente enfrente, y que este cliente necesita un
software...
Pre-portada (0)
Requisitos / Requerimientos
(!Todo lo que el cliente quiere,
exactamente lo que quiere,
a como de lugar y a cualquier precio!)
Requisitos / Requerimientos
Qu es un requisito?
Requisitos / Requerimientos
Los requisitos expresan lo que el sistema debe hacer
para satisfacer las necesidades de sus clientes o
usuarios
es un aspecto de un sistema o una descripcin de
aquello que el sistema es capaz de hacer a fin de
cumplir su propsito
[Pfleeger, 1998]
Un requerimiento es un servicio que el sistema de
software debe satisfacer o una restriccin bajo la
cual el sistema debe operar
[Sommerville 2002]
Si me lo preguntan, en lo personal, pienso que...
Un requisito...
...es algo que el sistema debe ser
capaz de hacer (o una restriccin
que debe cumplir) para que pueda
cumplir su propsito y satisfacer a
sus usuarios
8
Requisitos / Requerimientos
Requisitos / Requerimientos
Los requisitos se
concentran en qu
debe hacer el
sistema, no en
cmo debe hacerlo!
Es decir, dejen de pensar por los momentos
en cmo lo van a programar o implementar...
10
Las funciones
que debe
ejecutar
La informacin
que debe
producir
Aplicacin
Requisitos
Restricciones
de Operacin
Interaccin Usuario /
Sistema
Atributos de Calidad
La interfaz grfica
usuario-sistema (GUI)
Seguridad, facilidad de
uso, documentacin,
utilidad, etc.
La plataforma
de operacin
del sistema
(Hardware /
Software)
La tecnologa
de informacin
que debe usar
Las interfaces
con otros
sistemas
11
Qu Tipos de Requisitos?
Funcionales
Dependiendo si
definen o no
funcionalidad
No Funcionales
Tipos de
Requisitos
De Usuario
Dependiendo de a
quienes estn
dirigidos
De Sistema
12
Ejemplos de Requerimientos
Funcionales:
R-010:
El sistema debe permitir el registro de nuevos usuarios en el
foro, los nuevos usuarios deben ser aprobados o rechazados
por un moderador antes de poder publicar mensajes
R-200:
Los usuarios deben poder intercambiar mensajes y
comunicarse por medio del foro, toda la comunicacin debe
estar moderada para evitar conductas inapropiadas por parte
de los usuarios, mensajes basura y publicidad no deseada
14
Propiedades Emergentes?
15
Propiedades Emergentes:
Son aquellas que resultan del sistema como un todo y que es
muy difcil o imposible atribuirle a un componente particular de
ste.
Por ejemplo, la fiabilidad, tiempo de respuesta, usabilidad,
capacidad de almacenamiento, etctera
El todo no siempre es la simple suma de sus partes...
16
Ejemplos de Requerimientos
no Funcionales:
R-430:
El sistema debe ser utilizable por medio de una interfaz WEB
R-233:
Se debe utilizar RUP como proceso de desarrollo del software
R-230:
El tiempo de respuesta del sistema al solicitar un reporte
nunca debe ser mayor a 10 segundos
17
Funcionales
Dependiendo si
definen o no
funcionalidad
No Funcionales
Tipos de
Requisitos
De Usuario
Dependiendo de a
quienes estn
dirigidos
De Sistema
19
20
Requisitos / Requerimientos
Nuevamente...
Por qu son
importantes los
requisitos?
22
Requisitos
Requisitos
24
Fase
Costo
($)
Requerimientos
Diseo
Arquitectnico
Diseo
Detallado
Codificacin
Pruebas
de Unidades
Validacin
20
Puesta
en Marcha /
Operacin
100
25
Sin embargo...
27
Nuevamente:
Dos de las tres primeras causas estn asociadas a los
requisitos!!!
Tomado del Standish Group Report (1995)
28
Nuevamente!!!
Dos de las tres primeras causas estn asociadas a los
requisitos!!!
Tomado del Standish Group Report (1995)
29
Requisitos / Requerimientos
Bien... pero...
Cmo se obtienen
los requisitos?
30
Requisitos
Ingeniera de Requisitos?
Proceso de establecimiento de los
servicios que debe proporcionar un
sistema, as como de las restricciones
sobre las cuales debe operar
Una visin:
Captura
Anlisis
Especificacin
Validacin
Descripcin
del
Problema
Prototipado
Elicitacin y Anlisis
Documentacin
y Validacin
Definicin y
Especificacin
32
Captura
Anlisis
Especificacin
Validacin
Entrevistas
Observacin
Directa
Lectura /
Anlisis de
Documentos
Modelo de
Negocios
Prototipos
Otras...
33
34
35
36
37
Opinin personal
38
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
Opinin personal
39
Consejo:
Nunca vaya a una reunin de negocios o
a una entrevista de requerimientos slo.
Dos es un nmero mgico!
Por qu cree usted que esto es as?
Consejo:
Tome notas / grabe la entrevista de ser
posible, y mantenga las grabaciones
para futuras referencias
Opinin personal
40
Captura
Anlisis
Especificacin
Validacin
Inspecciones
de Documentos
Discusiones,
Entrevistas,
Talleres
Desarrollo de
prototipos
Muchas de las
tcnicas de la actividad
de captura
41
Captura
Anlisis
Especificacin
Validacin
Documento
de Especificacin de
Requerimientos
Captura
Anlisis
Especificacin
Validacin
Discusiones /
Entrevistas /
Talleres
Muchas de las
tcnicas de la
actividad
de captura
Requisitos / Requerimientos
Quines participan
en la Ingeniera de
Requerimientos?
44
Sern
el cliente y
el usuario lo
mismo en todos
los casos?
DESARROLLADOR
(Construye
el Sistema)
45
Proporciona
Financiamiento
Tiene
Obligaciones
Contractuales
USUARIO
(Utiliza el
Sistema)
Tiene
Necesidades
Proporciona
Sistemas de
Software
DESARROLLADOR
(Construye
el Sistema)
Pfleeger
(1998) 46
Clientes
DESARROLLADOR
(Construye
el Sistema)
Usuarios
Otros entes,
personas,
instituciones,
afectadas o
interesadas en el
sistema
A todas las
personas
involucradas o
interesadas se
les llama
Stakeholder
47
Instituciones
Gubernamentales
Usuarios
Comunidad
analistas
programadores
Empresa
Contratante
diseadores
Lderes de
proyecto
Clientes de
la Empresa
Clientes
Gerentes
Proveedores
Consultores /
asesores
arquitectos
48
Requisitos / Requerimientos
Problemas
Con los Requisitos?
Dilbert!
49
50
Segunda Regla:
Tercera Regla:
Ley Cero!
54
Requisitos / Requerimientos
Cmo se
documentan los
requisitos?
55
56
57
58
60
61
62
Discusin
Qu ventajas / desventajas tendrn las listas
de Features sobre las descripciones
textuales en lenguaje natural?
63
64
045
Tipo de
Requisito:
Funcional
Caso de
Uso / Evento
Relacionado:
054
Descripcin:
Justificacin:
Origen
(Interesado):
Pedro Moreno
Criterio de
Aceptacin /
Validacin:
Nivel de
satisfaccin del
Interesado:
Nivel de
insatisfaccin del
Interesado:
Prioridad:
Requisitos en
Conflicto:
Material de
Soporte:
ltima
Modificacin:
65
Descripcin:
Calcular el promedio diario, mensual y anual de precipitacin en cada una de las estaciones climatolgicas
del pas
Justificacin del requisito
Es necesario para elaborar los reportes diarios, mensuales y anuales de precipitacin.
Fuente (que interesado lo propone):
Juan Pea
Criterios de validacin:
Los valores obtenidos se compararn con los obtenidos en aos pasados para determinar si hay
inconsistencias.
Grado de satisfaccin del interesado: 3
66
67
68
MeRinde**
http://merinde.rinde.gob.ve/
http://standards.ieee.org/reading/ieee/std_public/description/se/830-1993_desc.html
69
Historias de Usuarios
(Modelos giles XP, SCRUM)
Los requisitos del producto se capturan teniendo en
cuenta la visin del cliente y del usuario
Se recoge en unas sencillas tarjetas de forma
esquemtica y en un lenguaje claro QU una historia
que describe una interaccin entre el usuario y el sistema
GeneracindeFactura
Elusuariointroducelainformacindelcliente.Siel
clienteyaestregistradoconslointroducirlacdulase
debencargarsusdatos.Luegoseingresanloselementosa
facturarylascantidadesdecadaelemento.
Finalmenteelsistemaregistralafacturayescapazde
imprimirlaenlaimpresoralocalasociadaalterminaldel
usuario
Historias de Usuarios
(Modelos giles XP, SCRUM)
GeneracindeFactura
Elusuariointroducelainformacindelcliente.Siel
clienteyaestregistradoconslointroducirlacdulase
debencargarsusdatos.Luegoseingresanloselementosa
facturarylascantidadesdecadaelemento.
Finalmenteelsistemaregistralafacturayescapazde
imprimirlaenlaimpresoralocalasociadaalterminaldel
usuario
Lmites del
Sistema
Generalizacin /
Especializacin
de Actores
Caso de Uso
Asociacin
Caso de
Uso / Actor
Colaboracin
entre casos
de uso
Actor
72
Autor:
Pedro Prez
Fecha:
21/04/09
Descripcin:
Permite crear un nuevo mensaje (hilo) en el foro de discusin.
Actores:
Usuario / Moderador
Precondiciones:
El usuario debe de estar autenticado en el sistema.
Flujo Normal:
1.- El actor pulsa sobre el botn para crear un nuevo mensaje.
2.- El sistema muestra una caja de texto para introducir el ttulo del mensaje y una zona de
mayor tamao para introducir el cuerpo del mensaje.
3.- El actor introduce el ttulo del mensaje y el cuerpo del mismo.
4.- El sistema comprueba la validez de los datos y los almacena.
5.- El moderador recibe una notificacin 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 permitindole 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.
73
Discusin
Cual es la diferencia entre la plantilla anterior
(Caso de Uso), una Historia de Usuario y la
ficha Volere para definir requerimientos?
(Ademas de las diferencias evidentes
de formato y campos)
74
75
Otros...
Muchas veces la diferencia entre los
requerimientos y el diseo (o el modelo de
anlisis en RUP) no resulta lo suficientemente
clara
(El qu con el cmo)
76
Gestin de Requerimientos
Cmo se pone
orden en los
requerimientos?
Gestin de
requerimientos?
77
Gestin de Requerimientos
Qu usuario defini qu
requerimiento?
Qu requerimientos satisfacen qu
objetivos de negocio?
Qu requerimiento afecta a qu otro
requerimiento?
Dnde estn diseados e
implementados los requerimientos?
78
Gestin de Requerimientos
Gestin de Requerimientos
Objetivos
del Negocio
(O1, O2,
O3...)
X1
CU1
X2
R1
CU2
R2
CU3
R3
CU4
X3
X4
X5
X6
CU5
X7
Interesados
Requisitos
Casos de Uso
Diseo,
Componentes
Implementacin,
Pruebas
...
Ser
importante
tambin tener
trazas
con los
desarrolladores?
Por qu?
80
Gestin de Requerimientos
Ejemplo de una matriz de rastreo
R1 R2 R3 R4 R5
R1
X
R2 X X
R3
X
R4
X
X
R5
X
X
...
Rn
X
Requerimientos
con
Requerimientos
(Dependencias /
Conflictos)
...
Rn
Requerimientos
con
Interesados
R1
R2
R3
R4
R5
U1 U2 U3 U4 U5
X
X X X
X
X
X
X
X
X
...
Un
...
Rn
81
Gestin de Requerimientos
*Requirements Management
83
*Requirements Management
84
Gracias
Gracias!
89