Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
Cada uno de los modelos del proceso de desarrollo del software
propuestos, incluye actividades que apuntan a la captura de
requerimientos.
Definicin de Requerimiento
Cuando el Cliente solicita que se desarrolle un sistema tiene algunas
nociones de lo que debe hacer.
Definicin de Requerimiento
Es decir, los requerimientos son lo que los clientes/usuarios esperan que
haga el sistema.
Importancia de los
requerimientos
En 1994 el Standish Group hizo un estudio sobre 350 compaas y cerca de
8000 proyectos de software para averiguar como les estaba llendo. Los
resultados fueron desencantadores:
Importancia de los
requerimientos
En 1995 Standish pidi a los participantes que especificarn las causas. Los
resultados fueron los siguientes:
Requerimientos incompletos (13,1%).
Falta de compromiso del usuario (12,4%).
Falta de recursos (10,6%).
Expectativas no realistas (9,9%).
Falta de soporte ejecutivo (9,3%).
Requerimientos y especificaciones cambiantes (8,7%).
Importancia de los
requerimientos
Boehm y Papaccio en 1988, realizan un cuantificacin del costo de
corregir los errores asociados a requerimientos en las diversas etapas del
software.
Costo en USD
Diseo
Codificacin
10
Prueba Unitaria
20
Produccin
200
Documentos de
Requerimientos
Existen dos documentos que emanan del anlisis de requerimientos:
Definicin de requerimientos
Es un documento que debe escribirse en trminos que el cliente
pueda entender. Es decir, este documento es un listado completo de
todas las cosas que el cliente espera que haga el sistema propuesto.
Este documento es escrito en forma conjunta por el cliente y el
desarrollador.
Documentos de
Requerimientos
Especificacin de requerimientos
Documento que reitera la definicin de los requerimientos en los trminos
tcnicos apropiados para el desarrollador del diseo de un sistema.
Es la contrapartida tcnica al documento de definicin de requerimientos y es
escrito por los analistas de requerimientos.
A veces un nico documento puede servir para ambos propsitos, lo que lleva a
un entendimiento comn entre clientes, analistas de requerimientos y
diseadores.
Pero a menudo se necesitan ambos documentos.
Documentos de
Requerimientos
Es muy importante, que al usar ambos documentos exista un
correspondencia directa entre cada requerimiento del documento de
definicin y aquellos documentos en la especificacin.
Esto para que la visin del cliente este unida a la de los desarrolladores
(esto se logra gracias a la gestin de configuracin).
Clasificacin de
Requerimientos
Segn el Tipo los requerimientos se clasifican en:
Requerimientos funcionales.
Requerimientos no funcionales.
Requerimientos del Dominio.
Segn a quien van dirigidos se clasifican en:
Requerimientos del Usuario.
Requerimientos del Sistema.
Clasificacin de
Requerimientos
Requerimientos funcionales
Clasificacin de
Requerimientos
Requerimientos no funcionales
A menudo son mas crticos que los funcionales. Mientras que un incumplimiento
de un requerimiento funcional degrada el sistema, el de un requerimiento no
funcional del sistema lo inutiliza.
Clasificacin de
Requerimientos
Requerimientos no funcionales
Clasificacin de
Requerimientos
Requerimientos no funcionales
Externos: cubre todos los requerimientos que se derivan de los factores
externos al sistema y de su proceso de desarrollo. Ej.: requerimientos de
interoperabilidad, requerimientos legales, requerimientos ticos.
Clasificacin de
Requerimientos
Requerimientos del dominio
Con este fin debe comprobarse que los requerimientos posean las
caractersticas que se desprenden de las siguientes preguntas:
Fuentes de Requerimientos
Modelo del Dominio
Deseos y necesidad
Modelo de la situacin
actual
De los interesados
Organizacin y sistemas
actuales
Requerimientos
Requerimientos
Reutilizables
Biblioteca de
Reutilizacin
Documentos existentes
Tipo de Requerimientos
recomendados
Plantilla de
Requerimientos
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Comprensin
del dominio
Verificacin
de Requerimientos
Recoleccin de
Requerimientos
Priorizacin
Clasificacin
Resolucin de
Conflictos
2.
3.
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Ambiguo (glosario).
Poca legibilidad (plantilla, formateo del texto).
Difcil de tratar (Verificar correctitud, consistencia, completitud).
Descripciones Dinmicas
Especifican estados y las transiciones entre estados en el tiempo.
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Propiedad
Medida
Rapidez
Tamao
KB.
Fiabilidad
Robustez
Portabilidad
Nmero de sistemas.
Facilidad de uso
Tiempo de capacitacin.
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Tcnicas para
describir un
sistema entorno a
estados y
estmulos.
Estados
Acciones a tomar.
F = Condicin Falsa
Ya oper antes
Autorizar Crdito
Condiciones
Acciones
V = Condicin
Buenos Antecedentes
Verdadera
- = condicin no
importa
Analizar antecedentes
X
X
ENTRADA
PROXIMO ESTADO
S1
S2
S1
S1
S2
S2
S2
S1
S3
S1
S3
S3
S1
S2
S3
INICIO
Solicitud de plaza
Acciones
ninguna
Solicitada
Plaza disponible
Confirmada
En Lista de Espera
El cliente cancela
Incrementar cuenta de plazas
El cliente ocupa
El cliente desiste
Retirar de la lista
ninguna
Ocupada
Cancelada
permite
describir
concurrencia
y Transiciones
L1 -Lugar con
marca
Transicin
L2 -Lugar
Transicin
habilitada: Existe
al menos un token en cada
uno de sus lugares de
entrada.
L1
L2
L2
T1
L5
L3
L4
Estado pronto para activar la
transicin.
L3
L4
L5
Secuencia
A4
T1
T3
T4
Conflicto
T5
T6
A2
A5
A6
T2
L3
T7
T8
Concurrencia
A7
T9
Mquina dispensadora
T1-Inserta moneda
E1- Tiene moneda
T4-dispensa
T2- rechaza
moneda
Proceso
Historia Clnica
Experiencia y
conocimiento
Registro Contable
Lista de exmenes y
servicios brindados
Examen
Mdico
Sntomas
Contabilidad
Medicacin y
Diagnostico
Factura
Paciente
Paciente
Ejemplo:
Actor:
Caso
de
Uso
<<include>>
Retiro de Monedas
Reutilizable
<<include>>
Retiro
Caso de Uso:
Cliente
<<include>>
Depsito
<<include>>
Transferencia
para
los
requerimientos
no
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Balancear
Calidad
Alcance
Necesidades
Restricciones
Expectativas
Proceso
Entrevistas individuales/grupales.
Encuestas/Cuestionarios.
Tormenta de ideas.
Casos de Uso.
Prototipado.
Ventajas
Ahorra tiempo de otros.
Prepara para otros enfoques.
Puede llevarse a cabo fuera
de la organizacin.
Desventajas
Perspectiva limitada.
Desactualizado.
Demasiado genrico.
Usar para:
Entender el problema de negocio.
Entender el ambiente de operacin.
Evitar omisin de requerimientos.
Mejorar las relaciones con el cliente.
Ventajas
Orientacin a las personas.
Interactivo / Flexible.
Rico.
Desventajas
Costoso.
Depende de las habilidades
interpersonales.
No substituye la entrevista.
Antes de usar el enfoque:
Determinar la informacin que se precisa.
Desarrollar cuestionario.
Probarlo con perfil tpico.
Analizar resultado de las pruebas.
Ventajas
Conveniente
para
contesta.
Respuestas annimas.
Desventajas
quien
Menos Rico.
Problemas
por
no
Respuestas.
Esfuerzo de desarrollo.
Reglas:
No se permite criticar ni debatir.
Dejar volar la imaginacin.
Generar tantas ideas como sea posible.
Mutar y combinar ideas.
Usarlo
Cuando el sistema est
orientado a la funcionalidad,
con varios tipos de usuarios.
Cuando la implementacin
se va a hacer OO y con UML.
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Artefactos
Informe
de
factibilidad
Documento
de
Requerimientos
Modelo del
Sistema
Especificacin
de
Requerimientos
Incluye:
Revisar objetivos del sistema.
Medicin de Requerimientos
Medicin de Requerimientos
Debido a que los requerimientos son utilizados por los diseadores y verificadores,
pueden utilizarse medidas que reflejen cuando los requerimientos estn preparados
para derivar a ellos.
La escala es la siguiente:
Medicin de Requerimientos
3. Hay elementos nuevos que lo hacen muy diferente de los que ha diseado (verificado) antes,
pero los comprende y piensa que a partir de ellos puede desarrollar un buen diseo (prueba).
4. Hay partes del requerimiento que no entiende bien y no est seguro de poder desarrollar un
buen diseo (prueba).
5. No comprende este requerimiento en absoluto y no puede desarrollar un diseo (prueba)
para l.
Diseadores
OK
A
1
B
1
Bibliografa
Software Engineering 6a. ed. Ian Sommerville Pearson Education
2000.(Cap. 5 y 6)
Ingeniera de Software Teora y Prctica Shari Lawrence Pfleeger
Pearson Education 2002. (Cap 4)