I NGENIERÍA DE R EQUERIMIENTOS Análisis. Sandra Victoria Hurtado Gil, 2009 Ingeniería de...
-
Upload
ernesta-linares -
Category
Documents
-
view
10 -
download
1
Transcript of I NGENIERÍA DE R EQUERIMIENTOS Análisis. Sandra Victoria Hurtado Gil, 2009 Ingeniería de...
INGENIERÍA DE REQUERIMIENTOSAnálisis
Sandra Victoria Hurtado Gil, 2009
Ingeniería deRequerimientos
Especificación
Validación
Análisis
Adquisición
Desarrollo
Administración Control de Versiones
Seguimiento
Control de Cambios
Sandra Victoria Hurtado Gil, 2009
ANÁLISIS
El objetivo del análisis es descubrir problemas, inconsistencias y faltantes en los requerimientos adquiridos. Esto sirve de retroalimentación para las personas interesadas, de manera que se puedan resolver mediante un proceso de negociación
Sandra Victoria Hurtado Gil, 2009
TEMAS
PriorizarIdentificar problemasIdentificar oportunidadesNegociar
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Los proyectos de software tienen recursos limitados
Es importante priorizar los requerimientosAyuda a resolver conflictosPermite planificar las entregasFacilita el uso adecuado de los
recursosBalancear beneficios y costos
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Es un trabajo realizado entre usuarios/clientes y desarrolladoresUsuarios/clientes definen las
funciones con mayores beneficiosDesarrolladores definen costos,
riegos técnicos, y dificultad de cada función
Todos los requerimientos pactados se implementarán, pero algunos no son tan esenciales
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
EscalasPocos valores
Puede ser subjetivaTodos deben estar de acuerdo en el significado
Tres valoresAlta – Media – BajaEsencial – Condicional – OpcionalCrítica – Importante - Útil
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Alta – EsencialRequerimiento de misión críticaEl software no es aceptable sin él
21
3
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Media – CondicionalOperaciones de soporte del sistemaAmplía la funcionalidad del software,
pero se puede aceptar sin él al comienzo
Baja – OpcionalInteresante tener esta funcionalidad o
cualidad, si los recursos lo permitenFunciones que no son muy valiosas
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
La prioridad de cada requerimiento debe ir en la especificación de los casos de uso o en la especificación de los requerimientos
En un caso de uso con varias alternativas, algunas pueden tener mayor prioridad que otras
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
IdentificarRegulaciones externasFunciones núcleo del negocio y/o
diferenciadorasLas demás características
Priorizar basados en costos, beneficios y riesgos
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
RUPPriorizar basado en:
Beneficios (para el negocio)Crítico, importante, útil
Impacto en la arquitecturaNinguno, extiende, modifica
RiesgosTienen más alta prioridad los más
críticos, con mayor impacto y riesgo
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Pasos (1)Hacer una lista con los casos de uso
y los requerimientos del sistema que no están en los casos de uso
Para cada caso de uso/requerimiento se califican de 0 a 3 los siguientes aspectos:Significativo para la arquitecturaRiesgoNaturaleza crítica (beneficio)
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Pasos (2)Se determina el peso que se dará a
cada aspecto, en un rango de 1 a 3Se calcula la prioridad de cada caso
de uso/requerimiento, sumando los valores de cada aspecto (multiplicados previamente por su respectivo peso)
Los valores más altos corresponden a las mayores prioridades
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Ejemplo:
Requisito Tipo Arq. Riesgo Beneficio Suma
Procesar venta CU 2 0 3 11
Gestionar devoluciones
CU 1 1 1 6
Soporte para varios lenguajes
Req. 3 2 1 10
…
Pesos: Arq: 1, Riesgo: 2, Beneficio: 3
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
XPPlanning GamePriorizar basado en:
Importancia para el negocioEsfuerzo (costo)Riesgo
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
XPLos usuarios/clientes definen el valor
para el negocio (crítico – significante - útil)
Los desarrolladores definen el riesgo (bajo, medio, alto) y estiman el esfuerzo
Se negocian las prioridades y se selecciona la historia de usuario que se implementará
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Karl WiegersPriorizar basado en:
Valor del requerimientoBeneficio, costo de no tenerlo
Costo y riesgoImplementación, elementos técnicos
La prioridad está directamente relacionada con el valor e inversamente relacionada con el costo y el riesgo
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Pasos (1)Listar los requerimientos,
características o casos de uso que se desean priorizar
Estimar el beneficio relativo (1 muy bajo, 9 el máximo)Basado en los objetivos del negocioDeterminado principalmente por los clientes
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Pasos (2)Estimar el costo de no tener la
función (1 bajo, 9 alto)Valor = Suma del beneficio y el
costoSe puede dar un peso a cada uno
Estimar el costo de implementar la función (1 bajo, 9 alto)Complejidad, Interfaz de usuario, …Determinado por los desarrolladores
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Pasos (3)Estimar el riesgo asociado (1 bajo, 9
alto)Falta de experiencia, tecnología nueva, …
Calcular la prioridad, así:Prioridad =
% Valor / (% Costo + % Riesgo)Se puede dar pesos al costo y al riesgoEl porcentaje es con respecto al total de todas las funciones evaluadas
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Pasos (4)Ordenar de forma descendenteLos primeros elementos, por tener un
balance favorable en costo/beneficio, son candidatos a tener alta prioridad
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Ejemplo
Req. Bene-ficio
Costo no
tener
Valor %Valor
Costo %Costo
Riesgo
%Riesgo
Priori-dad
R1 5 3 13 8.4 2 4.8 1 3 1.3
R2 9 7 25 16.2 5 11.9 3 9.1 0.9
… T:154
T:42
T:33
Pesos: Beneficio: 2, Costo no tener: 1, Costo: 1, Riesgo: 0.5
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Tablas:Son una herramienta de gran ayuda,
que incluye elementos numéricos en una valoración que generalmente es subjetiva
Los resultados obtenidos deben ser revisados, pues sirven de guía pero no son absolutos
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Otros aspectos que se pueden considerarVolatilidad de los requerimientosCompetidoresRecursos…
Sandra Victoria Hurtado Gil, 2009
EJERCICIO
Elabore una plantilla para calcular las prioridades de los requerimientos
Sandra Victoria Hurtado Gil, 2009
PRIORIZAR
Otras técnicasVoto acumulativo (100-Dollar Test)
Distribuir 100 unidades (pesos, horas) entre los requerimientos
Puntuación (Ranking)Dar un puntaje de 1 a N (para N requerimientos), donde 1 es el menos importante
Diez primeros (Top Ten)
Sandra Victoria Hurtado Gil, 2009
TEMAS
PriorizarIdentificar problemasIdentificar oportunidades Negociar
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
DeterminarLos requerimientos son factibles
TécnicamenteEconómicamenteOperacionalmente
No hay contradicciones/inconsistencias
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Algunas técnicasLista de preguntasRevisar casos de usoMatriz de requerimientosMatriz CRUD
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Ejemplo Lista de preguntas¿Los requerimientos son
consistentes con los objetivos propuestos?
¿Hay requerimientos “cosméticos”, es decir, que no son realmente necesarios?
¿Se requiere tecnología con la que no se cuenta actualmente?
¿Algún requerimiento se puede dividir en otros requerimientos?
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Revisar casos de uso (1)El diagrama de casos de uso
presenta claramente el comportamiento del sistemaNo hay cadenas de relaciones “include” y/o “extends”
Hay pocas dependencias entre casos de uso
Todas las relaciones entre los casos de uso están justificadas
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Revisar casos de uso (2) Se han identificado todos los casos
de usoNo hay casos de uso innecesariosSi el modelo es muy grande o las
responsabilidades están distribuidas, se han utilizado paquetesLos paquetes hacen el modelo más fácil de entender
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Matriz de requerimientosFilas y columnas con los requerimientosCero (0) si son independientesUno (1) si presentan algún conflictoDos (2) si tienen elementos comunes,
es decir, se solapan
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Ejemplo - Matriz de requerimientos
R1 R2 R3 R4 R5 R6
R1 0 2 0 1 1
R2 0 0 0 0
R3 2 0 2
R4 1 1
R5 0
R6
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Matriz CRUDPermite encontrar requerimientos
faltantesFilas Casos de usoColumnas Entidades - ConceptosCeldas:
C: CrearR: Leer - ConsultarU: ActualizarD: Borrar
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Ejemplo – Matriz CRUD
Entidades
Casos de uso Orden Químico Solicitante Proveedor
Ingresar orden C R R R
Cambiar orden U,D R R
Gestionar inventario de químicos C,U,D
Reporte de órdenes R R R
Editar solicitantes C,U,R
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR PROBLEMAS
Entidades que no tengan alguna de las acciones¿Falta un caso de uso?¿Algún caso de uso está incompleto?¿El objeto no es necesario?¿Falta determinar alguna regla del
negocio?
Sandra Victoria Hurtado Gil, 2009
EJERCICIO
Elabore la matriz CRUD para los casos de uso y entidades en el ejemplo
Determine posibles requerimientos faltantes
Sandra Victoria Hurtado Gil, 2009
TEMAS
PriorizarIdentificar problemasIdentificar oportunidadesNegociar
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR OPORTUNIDADES
Refinar los requerimientos
Requerimiento
¿Cómo va aser la entrada?
¿Cómo va aser el resultado?
Restricciones detiempo de ejecución
Restricciones de datos
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR OPORTUNIDADES
Requerimientos explícitosSe declaran y establecen
Requerimientos implícitosSe asume que se deben cumplir
Requerimientos innovadoresVan más allá de las expectativas del
cliente
Sandra Victoria Hurtado Gil, 2009
IDENTIFICAR OPORTUNIDADES
Mejorar “usabilidad” (facilidad de uso) del sistemaAyudas o guías para el usuario
No son triviales, impactan positivamentePromedio de uso de cada acción
Acciones más frecuentes tienen mayor prioridad y facilidad de acceso
Sandra Victoria Hurtado Gil, 2009
TEMAS
PriorizarIdentificar problemasIdentificar oportunidadesNegociar
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Consiste en llegar a un acuerdo en los requerimientos, con las personas interesadas en el proyecto
Se realizaCuando hay conflictos
Diferentes objetivos y perspectivas de las personas interesadas
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Se deben identificar los conflictosElementos en conflictoAutores, Fuentes
Participarán en la negociaciónDescripción del conflictoPosibles alternativasImportancia / Urgencia
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Plantilla propuestaConflicto <id> - <nombre>
Descripción
Requerimientos relacionados
Alternativas
Consecuencias
Posibles soluciones
Comentarios
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Se deben evitar los conflictos emocionalesContar con un buen facilitar
Además de los conflictos y las alternativas, se deben hace explícitas las argumentacionesApoyan la solución seleccionada
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Pasos (1)Definir el problemaDefinir los interesadosIdentificar los objetivos de cada
interesadoAnalizar los objetivos
InconsistenciasRiesgosSupuestos
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Pasos (2)Determinar los criterios/reglas para
evaluar las alternativasNegociación, basada en:
Realizar propuestas y definir qué aspectos se está dispuesto a cambiar
Buscar alternativas para los puntos en conflicto
Establecer beneficios y compromisos de cada una de las partes
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Se pueden usar herramientas que ayuden en el procesoPlantillas para identificar conflictosTormentas de ideas y votacionesEspacios de trabajo compartidos –
herramientas colaborativa – WikisHerramientas automáticas
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Herramientas automáticasNSS (Negotiation Support Systems)
AspireNegoisstEasy Win-WinSmartSettle
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR Modelo Win-Win
Elementos: Condiciones ganadoras (Condiciones Win)
Objetivos y definiciones de los interesados con respecto al sistema
Acuerdo Una condición ganadora que no presenta conflictos
Problema Se crea cuando hay un conflicto entre condiciones
ganadoras Opciones
Soluciones sugeridas
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Modelo Win-Win:
Condición Win
Problemas
Opciones
Acuerdoscubre
adopta
resuelven
involucra
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Pasos (1)Establecer una forma de clasificar
los elementos, paraEntender el dominio del negocioBuscar elementos rápidamente
En tarjetas se anotan las condiciones ganadorasSe clasifican y se dejan visibles (pegar en una pared)
Sandra Victoria Hurtado Gil, 2009
NEGOCIAR
Pasos (2) Se identifican conflictos
Se anotan en tarjetasSe anotan en otras tarjetas las opcionesSe discuten los argumentos para seleccionar una de las opciones anotadas
Los acuerdos (condiciones ganadoras sin conflictos o las opciones seleccionadas)Se pegan en otra pared
Sandra Victoria Hurtado Gil, 2009
ENLACES
Modelo Win-Winhttp://sunset.usc.edu/publications/TE
CHRPTS/1998/usccse98-512/usccse98-512.pdf
http://www.mindtools.com/CommSkll/NegotiationSkills.htm
Plantilla Priorizaciónhttp://www.processimpact.com/goodi
es.shtml