Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis de Requerimientos
@aacabrera
@racorrea
Análisis de requerimientos
• Para analizar requerimientos, se necesita entender y definir
suficientemente los mismos con la finalidad de que los
stakeholders puedan priorizar sus necesidades y definir los
requerimientos del software.
• El análisis de requerimientos es responsabilidad de el analista pero
debe involucrar a las partes interesadas clave como usuarios,
clientes y personal técnico que para comprender las necesidades
de los usuarios.
• El resultado de la fase de análisis son los modelos de
requerimientos .
Porqué crear modelos…
• Facilitan la comunicación entre los técnicos y las dueños del
negocio.
• Los modelos permiten al equipo ver los diferentes aspectos de
los requerimientos de los usuarios desde diferentes
perspectivas.
• Dejar al descubierto requerimientos erróneos, ambiguos, y
conflictivos.
• Descubrir y corregir estos errores resulta en requerimientos de
alta calidad.
Porqué crear modelos…
• Hacer del proceso de desarrollo de requerimientos más
interesante y atractivo para los stakeholders.
• Usar modelos tanto textuales como visuales provee variedad y
permite a los stakekolders entender los requerimientos desde
otro punto de vista.
• Algunas personas entienden de forma más precisa con
palabras mientras otras lo hacen mejor con diagramas.
Ciclo de análisis
• Es importante analizar los requerimientos a medida que se
obtienen desde: las personas, documentos y fuentes externas.
Especificación de
requerimientos
Ciclo de análisis
Para analizar los requerimientos:
1. Modelado del negocio (Si es necesario)
• Determinar si es necesario el modelado
• Escoger uno o mas modelos de negocio
• Crear los modelos, verificando su exactitud a medida que evolucionan.
2. Defina el alcance del proyecto
• Crear una combinación de modelos para describir el alcance del proyecto
• Comprobar los modelos entre sí para descubrir los defectos en los
requisitos.
• Revisar el alcance y obtener un acuerdo con el patrocinador del proyecto.
Ciclo de análisis
3. Crear modelos de requerimientos de usuario al detalle.
• Seleccione modelos que ayuden a los usuarios a expresar sus
necesidades.
• Repetidamente refinar los modelos, validando sus correcciones.
• Aproveche el plan de elicitación de Stakeholders para usar
adecuadamente el tiempo de las personas.
• Revisar el alcance de los modelos cuando surjan nuevas necesidades.
Ciclo de análisis
4. Priorizar las necesidades.
• Organizar los requerimientos para que fácilmente puedan ser
priorizados.
• Reunir a los Stakeholders para negociar los requerimientos.
• Determinar criterios para tomar decisiones acerca de la importancia
de los requerimientos.
• Priorizar los requerimientos basados en estos criterios.
5. Repita los pasos 3 y 4 (Modelos de requerimientos y
priorización) hasta lograr una especificación correcta
¿Qué modelos debo crear?
Pregunta Pregunta ejemplo Modelo
Quién • Quienes son los stakeholders del proyecto • Categorización de
• Quién interactuará directamente con el stakeholders.
software. • Tabla de actores o
• Quién supervisara la interacción con el personas
sistema • Mapa de diálogo
Qué • Que significan los términos más • Glosario
importantes del negocio
• Que funciones en la organización • Diagrama de contexto
interactúan o comparten información
• Qué elementos de los datos estáticos • Modelo de datos (Modelo
deben ser almacenados y como están de clases, tablas o
relacionados diccionario de datos.)
¿Qué modelos debo crear?
Pregunta Pregunta ejemplo Modelo
Cuando • Cuando el sistema necesita responder o actuar? • Tabla Evento-Respuesta
NOTA: Tomar en consideración que estas son solamente guías. Cada dominio es
diferente, entonces se debe determinar que modelos son los más útiles para desarrollar
un subconjunto de modelos de manera preliminar para luego validarlos.
Qué modelos y técnicas utilizar
para analizar requerimientos?
Cuando se necesite: Entonces crear:
Participantes:
áreas funcionales,
departamentos o funciones
Mapa de procesos
Enlaces a otros modelos:
• Algunos pasos del proceso podrían representar uno o más casos de
uso o pasos de un caso de uso.
• Algunos procesos podrían representar procesos en un diagrama de
flujo de datos
• Un mapa de proceso “to-be" equivale aproximadamente a un mapa
de casos de uso (excepto que un mapa de casos de uso solo incluye
procesos automatizados).
• Las entradas y salidas pueden convertirse en entidades o atributos
en el modelo de datos.
Qué modelos y técnicas utilizar
para analizar requerimientos?
Cuando se necesite: Entonces crear:
Qué es?
• Muestra el sistema en su ambiente con la entidades externas (ej: personas y
sistemas) que proveen y reciben información o materiales desde y hacia el
sistema
Nombre alternativo:
• Diagrama de alcance
Porqué usarlo?
• Para ayudar a los stakeholders de manera rápida y simple a definir el alcance del
proyecto.
• Para enfocar la necesidades e insumos del sistema y sus salidas.
Diagrama de contexto
Qué hace?
• Ayuda al equipo a identificar stakeholders externos, sistemas o
subsistemas que proveen o reciben información o productos
del sistema.
• Permite al equipo enfocarse desde afuera hacia adentro,
evitando la tendencia de abordar demasiados detalles en poco
tiempo.
• Provee un punto de partida para entender los datos usados por
el sistema y como alimentar a otros sistemas o personas.
Mapa de contexto
Qué hace?(2)
• Verifica los usuarios directos e indirectos identificados en la lista de stakeholders.
Como hacerlo?
• Dibujar un circulo que represente al sistema y etiquételo con el nombre del
sistema.
• Identifique entidades externas
– Personas, cosas, otros sistemas, dispositivos físicos
• Agregar flujos de información
– Etiquete los flujos de información usando un “Adjetivo + Sustantivo”
(EmpleyeeIdentificationData, OrderDetails).
Mapa de contexto
Tablas Evento-Respuesta
Qué es?
• Identifica cada evento (ej. por ejemplo: un estímulo de entrada que activa
el sistema para llevar a cabo alguna función) y las respuestas de los
eventos resultantes de esas funciones.
Porqué usarlos?
• Para definir todas las condiciones a las que el sistema debe responder, para
la definición de los requerimientos funcionales a nivel de alcance del
proyecto.
• En la creación de una tabla evento-respuesta también pueden surgir
necesidades de acceso a bases de datos externas o fuentes de archivos.
Tablas Evento-Respuesta
Qué hacen?
• Clarificar la dinámica que conduce el comportamiento del
sistema.
• Provee un punto de inicio para identificar los casos de uso.
• Explica que eventos desencadenan salidas hacia en un
diagrama de contexto.
• Ayuda al equipo a identificar posibles trabajos de sistema
planificados o por lotes (batch).
Tablas Evento-Respuesta
Cómo lo hacen?
• Nombre los eventos y clasifíquelos como de negocio, temporales, o
señales.
– Nombres de los eventos (Negocio): “Sujeto + Verbo + Objeto”, los eventos son
iniciados por humanos
– Eventos temporales: “Tiempo para + Verbo + Objeto”, son en función del tiempo.
Ej: Trabajos programados Batch, Cron
– Eventos de señal: “Sujeto + Verbo + Objeto”, se originan en dispositivos HW.
• Para cada evento, describa la respuesta requerida.
– El formato de las respuestas de evento es “<objeto> siempre a <asunto>” o “el
sistema almacena <Información> “.
• Verifique la tabla evento respuesta contra los modelos existentes
Tablas Evento-Respuesta
Evento Tipo Respuesta
El usuario crea una Negocio Se crea una cuenta con los datos
cuenta registrados por el usuario en el
sistema
Tiempo para verificar Temporal Correo enviado con enlace de
una cuenta verificación de cuenta del usuario
El usuario hace el pago Negocio Se envía una solicitud de pago a un
proveedor de servicios de pago
(Paypal, Bancos, Etc)
Autorización de pago, Señal El sistema almacena información
disposición de pago de autorización.
Tabla de evento-repuesta del sistema de
Autotrámites
Políticas del negocio
Qué son?
• Las políticas de negocio son las directrices, normas y
reglamentos que rigen o condicionan la conducta de un
negocio.
• La políticas son la base para la toma de decisiones
Políticas de negocio
Incrementar ventas
en un 25%
Dar descuentos a
clientes leales
– Capturar video.
– Enviar mensajes de correo electrónico.
– Recibir mensajes de correo electrónico.
– Navegar en internet.
– Comprar un producto Objeto Entidad
Verbo Acción
Casos de uso
Como lo hacen? (2)
• Crear una breve descripción de cada caso de uso.
• Crear un cabecera para cada caso de uso
• Verificar el número inicial de casos de uso antes de agregar
detalles a cada uno.
• Determinar los pasos en el caso de uso
• Verifique los pasos por secuencia e integridad
• Determine los pasos para las excepciones de los casos de uso.
Casos de uso
• Documente los pasos de cualquier variación del casos de uso.
• Identifique y documente de forma separada los casos de uso
<<include>>
• Chequee los casos de usos con la finalidad de identificar
requerimientos faltantes.
• Defina atributos para asociar a los casos de uso.
Caso de uso
Encabezado del caso de uso Explicación
Número de identificación del Número único de caso de uso
caso de uso
Nombre del caso de uso En formato verbo-objeto, que describa el objetivo del
actor.
Precondiciones Lista de casos de uso anteriores, estado del sistema
antes que los casos de uso puedan proceder, o ambos.
Post-condiciones ( o Estado del sistema luego de terminar exitosamente.
resultados exitosos)
Actor principal El actor que inicia el caso de uso e interactúa con el
sistema logrando los objetivos
Actor secundario Actores de apoyo necesarios para para que el sistema
complete caso de uso.
Inicio de los eventos El evento de negocio, temporales o señal que causa el
actor para iniciar el caso de uso.
Caso de uso – Ejemplo Descripción
ID Caso de uso UC5
Nombre del caso Asignar trabajo
de uso
Actor principal Planificador
Actor secundario Trabajador
Inicio de eventos Buscar trabajador
Incluye Caso de uso 1 (Autenticar usuario); Caso de uso 4 (Buscar
trabajadores disponibles); Caso de uso 2 (Estimar el trabajo).
Pre-codiciones El contratista está “Activo”; El Programador tiene una sesión en el
sistema.
Post-condiciones Notificar la asignación del trabajo al trabajador
Caso de uso - Ejemplo
Descripción El planificador utiliza la funcionalidad para asignar y notificar sus
actividades de trabajo a los trabajadores de la empresa
Flujo básico
1. El planificador inicia la actividad de asignación de trabajo
2. El sistema <Verifica que esté autenticado>
3. El sistema <Busca un trabajador disponible>
4. El sistema presenta trabajadores disponibles.
5. El planificador selecciona un trabajador.
6. El sistema <Estima un trabajo>
7. El sistema presenta la estimación
8. El planificador guarda la asignación en el sistema
9. El sistema notifica al trabajador sus actividades de trabajo
Caso de uso – Ejemplo general
Casos de uso - Relaciones
Casos de uso - Asociación
Casos de uso - Extensión
Generalización
Especialización
Casos de uso – Generalización actores
Generalización
Especialización
Caso de uso – Ejemplo especializado
Modelo de datos
• Un modelo de datos muestra las necesidades de información
del sistema, ilustrando la estructura lógica de datos
independientes de los datos de diseño o de los mecanismo de
almacenamiento de datos.
• Nombres alternativos para éste modelo:
– Modelo de datos conceptual
– Diagrama Entidad Relación (ERD)
– Modelo de datos lógico
– Modelo de dominio
Modelo de datos
• ¿Por qué usarlo?
– Para identificar, resumir y formalizar los atributos de los datos y las
estructuras necesarias para satisfacer los requerimientos funcionales
y para crear una base de datos fácil de mantener.
– Los modelos de datos ayudan a simplificar el diseño y la
programación, y ayudar a identificar las entidades de datos externas.
Modelo de datos
• ¿Qué hacer?
– Identifica los grupos de información para almacenar y las relaciones
entre ellos de una forma tecnológica neutral.
– Ilustra la estructura de los datos después de aplicar las reglas de
negocio.
– Elimina los datos redundantes y estructuras de datos complejas.
– Especifica las reglas para mantener la integridad de los datos.
– Facilita el diseño de bases de datos.
Modelo de datos
• Preguntas clave que este modelo responde
– ¿Qué datos necesitan los usuarios para acceder o guardar?
– ¿Qué datos son necesarios para hacer cumplir las reglas de negocio?
– ¿Cómo se estructurará la información cuando todas las reglas de
negocio se cumplan?
– ¿Qué limitaciones existen cuando los registros se agregan o eliminan?
Modelo de datos
Elemento Entidades (Nombres)
Explicación Cosas que indican que se almacenará. Las entidades pueden ser
personas, lugares o conceptos (tangibles o intangibles, larga o
corta vida
Ejemplo Cliente, Trabajo, Sitio, Contratista, Ubicación
Representación
gráfica
Representación
gráfica