Está en la página 1de 101

Ingeniería de requisitos

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

• Cuando las tareas se realizan y cuando cambia


la información? • Diagrama de estados

Porqué? • Porqué no sentimos motivados a hacer cumplir • Políticas del negocio


estándares, políticas, regulaciones y normas
legales ?
• ¿Por qué se toman las decisiones que influyen • Reglas de negocio
en el comportamiento y fortalecen la estructura
empresarial?
¿Qué modelos debo crear?

Pregunta Pregunta ejemplo Modelo


Cómo • Cómo operan los procesos para • Mapa de procesos
alcanzar metas y objetivos del
negocio?

• Como son realizadas las tareas y • Casos de uso y


cual es su secuencia? posiblemente mapas y
paquetes de casos de
uso.
Cómo escoger los modelos correctos?
• Algunos modelos son más adecuados que otros para
comunicar requerimientos de ciertos dominios de negocio.
• Escoger modelos que respondan a múltiples preguntas:
– Quién, qué, cuándo, porqué y cómo, para proporcionar una
mejor comprensión de los requisitos, y luego seleccionar y desarrollar
los modelos de manera adecuada. Por ejemplo:
Cómo escoger los modelos correctos?
• Dominio de negocio transaccional:
– Qué manejan procesos de negocio y tareas cómo: operaciones de negocio
y administración, procesamiento de pedidos y gestión de inventarios. Son
adecuados para modelos ¿Cómo? (Casos de uso y escenarios).
Relacionados con modelos ¿Quién? Y ¿Por qué? (Actores y reglas de
negocio)
• Dominios estructurales
– Existen para almacenar y analizar datos en los sistemas de minería de
datos, generar consultas y reportes son adecuados para modelos ¿Qué?
(Modelos de datos). Se puede relacionar con modelos ¿Por qué? (Reglas
de negocio)
Cómo escoger los modelos correctos?
• Dominios dinámicos:
– Responden a acontecimientos en constante cambio para almacenar
datos y actuar en función de su estado en un punto en el tiempo
cómo sistemas que manejan tráfico de red, operaciones de
dispositivos mecánicos y otras operaciones de tiempo real. Son
adecuados para modelos ¿Cuándo? (Tablas de evento-respuesta y
diagramas de estado.)
Cómo escoger los modelos correctos?
• Dominios orientados al control
– Ponen a prueba condiciones para tomar medidas o decisiones como
logística, detección de fraudes, configuración del producto, y
diagnóstico. Son adecuado para modelos ¿Porqué? (ej: reglas de
negocio, tablas de decisión)

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:

Combinación entre mapa de Relaciones


Modelado del negocio
Y mapa de procesos

Combinación de Diagramas de Contexto


Entender el alcance del proyecto Tablas evento- respuesta y/o
Políticas del Negocio

Utilizar combinaciones o variaciones de


Agregar detalles a los requerimientos de Tablas de Actores, Casos de Uso, Mapas de Dialogo
usuario Modelos de Datos, Diagrama de Estado y/o
Reglas de Negocio

Negociar acuerdos entre requisitos Priorización de requerimientos


Qué modelos y técnicas utilizar
para analizar requerimientos?
Cuando se necesite: Entonces crear:

Combinación entre mapa de Relaciones


Modelado del negocio
Y mapa de procesos

Combinación de Diagramas de Contexto


Entender el alcance del proyecto Tablas evento- respuesta y/o
Políticas del Negocio

Utilizar combinaciones o variaciones de


Agregar detalles a los requerimientos de Tablas de Actores, Casos de Uso, Mapas de Dialogo
usuario Modelos de Datos, Diagrama de Estado y/o
Reglas de Negocio

Negociar acuerdos entre requisitos Priorización de requerimientos


Modelado del negocio
• Ayuda a entender como la aplicación de software apoya a los
procesos de negocio para agregar valor al negocio.
• El modelado del negocio ayuda a definir procesos eficientes
para ser usados en el nuevo software.
Modelado del negocio
• El software propuesto debe integrarse con procesos de negocio
nuevos o existentes, pero no todos los proyectos de software
requieren modelos de negocio.
• Se debe considerar el modelado de negocio cuando:
– El alcance del proyecto no es claro o es demasiado extenso.
– El patrocinio no es claro o difuso.
– La gerencia del proyecto necesita ser repensada o aplicar una reingeniería
en el trabajo es realizado.
– El negocio debe cumplir con las políticas legales o reglamentarias que
requieren la intervención manual, procesos y documentación .
Mapa de relaciones
• Es un diagrama que muestra que información y productos son
intercambiados entre usuarios externos, proveedores, y
funciones clave en la organización.
• Se lo conoce también como:
– Modelo de interacción del negocio
– Diagrama de contexto organizacional.
– Mapa de relaciones organizacionales.
Mapa de relaciones
Porqué usarlo?
• Para entender el contexto organizacional del proyecto,
identificando las funciones del negocio afectados y sus
entradas y salidas.
• Para identificar oportunidades para la mejora de procesos
antes de definir el alcance del proyecto de software
Mapa de relaciones
Que es lo que hace?
• Ilustra las entradas las entradas y salidas, las funciones o
partes de la organización y las entidades externas
• Trata al conjunto de procesos de negocio como un conjunto de
interacciones.
• Ayuda a los stakeholders del negocio a entender la
interrelaciones y decidir si el cambio en los proceso de negocio
esta garantizado.
Mapa de relaciones
• Grafique como cajas las principales funciones, departamentos,
y grupos de trabajo involucrados en el proceso de negocio.
• Liste las principales entradas y salidas que cada función recibe
o produce.
• Relacione las entradas y salidas con las funciones que usa y se
producen.
Mapa de relaciones
Cómo hacerlo?
• Dibuje las funciones clave, departamentos y grupos de trabajo
involucrados en el proceso de negocio como cuadros.
• Enumere las entradas y salidas clave que cada función recibe o
produce
• Conecte las entradas y salidas a las funciones que las utilizan y
las producen.
Mapa de relaciones
Mapa de relaciones

Funciones, Flujos de entrada/salida


departamentos o grupos
de trabajo
Mapa de relaciones
Enlaces a otros modelos:
• Las entradas y salidas pueden convertirse en entradas y salidas
en un diagrama de contexto.
• Las áreas funcionales pueden ser carriles en un mapa de
proceso.
Mapa de procesos
Qué es?
• Muestra la secuencia de pasos, entradas y salidas necesarias
para manejar un proceso de negocio a través de múltiples
funciones, organizaciones o roles de trabajo.
Nombres alternativos
• Diagrama de carreteras
• Mapa de procesos multi-funcional
Mapa de procesos
Porqué usarlo?
• Para identificar que procesos están asignados al software. Los mapas de
procesos también sirven como base para la mejora de procesos de negocio.
Que hace?
• Provee una vista multi-funcional.
• Ilustra puntos de automatización en un proceso.
• Habilita a los stakeholders del negocio a considerar cambios a la
documentación, flujos de trabajo existentes, decisiones y traspasos para mejorar
un procesos de negocio existente.
• Provee un marco de trabajo para agregar métricas para la reingeniería de
procesos de negocio.
Mapa de procesos
Cómo hacerlo:
1. Nombre los procesos de negocio a ser modelados, comience con un verbo de
acción.
1. Registro de notas, Cambio de modalidad, Creación de cuenta
2. Defina los eventos de negocio que desencadenan o inician el proceso.
1. Nombre del evento en formato “sujeto + verbo + objeto”: Ejemplo: “El docente ingresa
calificaciones” – “El estudiante realiza el examen” – “El usuario crea la cuenta”.
3. Nombre el punto final o resultado del proceso.
1. “La cuenta está creada” – “La nota está registrada”
4. Liste los participantes en el proceso de negocio (áreas funcionales,
departamentos o roles) en una columna, a los largo del lado izquierdo del
diagrama.
5. Cree filas o carriles horizontales para cada participante para representar las
entidades organizacionales o roles donde el trabajo es realizado.
Mapa de procesos
6. Identifique todos los pasos del proceso que ocurren entre el
evento y el resultado.
7. Identifique las salidas de cada paso
8. Revise el diagrama cuantas veces sea necesario.
Mapa de procesos
Nombrar el proceso con
un verbo de acción

Pasos del proceso

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:

Combinación entre mapa de Relaciones


Modelado del negocio
Y mapa de procesos

Combinación de Diagramas de Contexto


Entender el alcance del proyecto Tablas evento- respuesta y/o
Políticas del Negocio

Utilizar combinaciones o variaciones de


Agregar detalles a los requerimientos de Tablas de Actores, Casos de Uso, Mapas de Dialogo
usuario Modelos de Datos, Diagrama de Estado y/o
Reglas de Negocio

Negociar acuerdos entre requisitos Priorización de requerimientos


Diagrama de Contexto

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

Clientes leales son


aquellos que contratan
el servicio
dos o mas veces al año
Políticas de negocio
• Clarificar que políticas están dentro del alcance para aplicar
dentro del proyecto.
• Habilitan a los empresarios a repensar las políticas innecesarias
o ineficientes.
• Ayudan al equipo a descubrir personas adicionales quienes
pueden necesitar ser involucrados para aprobar o definir
políticas.
Como lo hacen?
1. Identificare grupos de políticas de negocio para el dominio
del problema.
– Tomar en cuenta regulaciones, procesos operativos, guías de
mantenimiento, y documentación de sistemas.
– Asegurarse que las políticas se alinean con uno o mas objetivos y
metas del negocio
– Agrupar las políticas dentro de grupos y nombrarlos para incluir
políticas relacionadas (ej. “precio del servicio” - “Reporte de
Impuestos”)
Cómo lo hacen?
2. Determinar donde serán asignadas las políticas
– Identificar si cada política se aplicará manualmente o si será
implementada en el software.
– Los empresarios deben revisar la documentación, instrumentos de
trabajo, capacitación, procedimientos y manuales de políticas
destinados a la comunidad empresarial
– Descomponer las políticas que se asignan a los programas en reglas
de negocio.
Cómo lo hacen?
• Documentar las políticas que están dentro del alcance del
proyecto.
– Documentar y etiquetar de manera única a cada política
– Considere identificar atributos candidatos tales como propietario,
origen (ej: regulaciones, procedimientos, etc) , fuente (legislación,
persona, documento), volatilidad (frecuencia de cambio) y
jurisdicción (roles o localidades que puedan desautorizar la política).
– Seleccione solamente los atributos a los que desea dar seguimiento y
que sirven a algún propósito útil para el proyecto
Politicas de negocio - Ejemplo
Política de Identi Política Propietario Fuente
grupo ficad
or
Descuento BP-1 Ofrecer descuentos a los jubilados Jim Bean, Lineamientos de
Director de precios en
marketing Marketing/
BP-2 Ofrecer descuentos a personal
Carpeta de
militar
precios
BP-2 Ofrecer descuentos a clientes
frecuentes
Planificación BP-4 Permitir solamente a un Jane Yi, Contratistas y
de tareas contratista ser asignado en cada Planificación Contador
intervalo de tiempo.
Politicas de negocio - Ejemplo
Política de Identifi Política Propietario Fuente
grupo cador

BP-5 Planificar sólo contratistas solicitados, a


menos que los clientes estén de acuerdo con
otro contratista.

BP-6 Programar trabajos en la semana de lo


solicitado.
Devolución BP-7 Permitir a los contratistas decidir si un cliente Carol Regal, Ver en sitios web o
insatisfecho podría recibir un reembolso o Contador competidores
repetir el servicio sin costo alguno. (Bookkeeper)

BP-8 Programar al mismo contratista para


relimpiar.
Próxima semana …
• Ejecutar la elicitación para obtener los requerimientos de
usuario
• Iniciar con la etapa de análisis de requerimientos
• Modelar los requerimientos para determinar
– Modelo de negocio
– Alcance del proyecto
Qué modelos y técnicas utilizar
para analizar requerimientos?
Cuando se necesite: Entonces crear:

Combinación entre mapa de Relaciones


Modelado del negocio
Y mapa de procesos

Combinación de Diagramas de Contexto


Entender el alcance del proyecto Tablas evento- respuesta y/o
Políticas del Negocio

Utilizar combinaciones o variaciones de


Agregar detalles a los requerimientos de Tablas de Actores, Casos de Uso, Mapas de Dialogo
usuario Modelos de Datos, Diagrama de Estado y/o
Reglas de Negocio

Negociar acuerdos entre requisitos Priorización de requerimientos


Tabla de actores
Qué es:
• Una tabla de actores identifica y clasifica los usuarios del
sistema en términos de sus roles y responsabilidades
Porqué usarlo:
• Para detectar usuarios faltantes del sistema
• Para identificar requerimientos funcionales como metas de
usuario (casos de uso)
• Ayuda a clarificar responsabilidades de trabajo.
Tabla de actores
Qué hace?
• Nombra y describe los roles humanos y no-humanos que
interactúan con las responsabilidades relacionada con el
sistema para esos roles.
• Describe los roles de los usuarios directos que interactúan con
el sistema.
• Complementa el mapa de actores.
Tabla de actores
Interrogantes
• Quién o qué necesita interactuar con el sistema?
• Que rol o roles se deben jugar cuando se interactúa con el
sistema.
• Cuales son las responsabilidades para las personas o cosas que
interactúan con el sistema.
Tabla de actores
Cómo lo hace?
• Liste los roles que se juegan en el sistema y coloque el nombre
del rol en la columna “Actor” de la tabla.
– Los actores incluyen personas, otros sistemas, dispositivos hardware,
y temporizadores
• Ponga atributos para cada actor en columnas adicionales.
• Revise la tabla de actores con la finalidad de encontrar actores
faltantes o extraños.
Tabla de actores - Ejemplo
Actor Atributos y responsabilidades Titulo
Programador Encuentra contratistas disponibles para las Programador,
solicitudes de los clientes que coinciden con su Gerente
localización.
Contador Generar diaria o semanalmente el pago de los Contador
cheques a los contratistas y deducir que todos
los impuestos estén correctamente deducidos.
Se asegura que todas las cuentas por pagar y
cobrar estén equilibradas
Proveedor de Viajar a la localidad del Cliente, limpiar las Contratista
servicios ventanas, y prestar servicios relacionados, tales
como: lavado de cubiertas a presión y limpieza
de cunetas. Servir a los clientes, pagar en
efectivo o cheque, y proporcionar a los clientes
de facturas del trabajo.
Tabla de actores – Ejemplo (2)
Casos de uso
Qué son?
• Son descripciones en términos abstractos de como los actores
usan el sistema para cumplir metas.
• Cada caso de uso es una pieza lógica de la funcionalidad de
usuario que puede ser iniciada por un actor y descrita desde el
punto de vista del actor de una manera neutral.
• Un caso de uso resume un conjunto de escenarios relacionados
Casos de uso
Porqué usarlos?
• Describir una secuencia de interacción entre el sistema y los actores
• Para revelar requerimientos funcionales clarificando lo que los usuarios
necesitan lograr cuando interactúan con el sistema.
• Los casos de uso son una forma natural de organizar los requerimientos
funcionales
• Para el usuario es fácil de entender y verificar las declaraciones de los
requerimientos funcionales.
• Proveen un alto nivel de representación visual de los requerimientos de
usuario
Casos de uso
Qué hacen?
• Especifican requerimientos de usuario como metas de los actores
que son descritas como secuencias de interacciones entre el actor y
el sistema.
• Documenta los pasos detallados para el normal uso del sistema así
como para el manejo de errores y variaciones.
• Ayudan a descubrir reglas de negocio y datos que sean necesarios.
• Provee documentación de requerimientos fácil de leer para
usuarios quienes no participan en el proceso de elicitación.
Casos de uso
Qué hacen? (2)
• Provee una forma corta para discutir un conjunto de
escenarios relacionados.
• Agrupa los requerimientos de usuario de tal manera que
facilita la priorización de requerimientos y determinar
versiones incrementales de software.
• Provee la base para el desarrollo de caso de prueba.
Casos de uso
Como lo hacen?
• Crear una lista inicial de casos de uso (Verbo + objeto).
– Capturar fotografías.
– Capturar video.
– Enviar mensajes de correo electrónico.
– Recibir mensajes de correo electrónico.
– Navegar en internet.
– Comprar un producto
Casos de uso
Como lo hacen?
• Crear una lista inicial de casos de uso (Verbo + objeto).
– Capturar fotografías. Acción del sistema

– 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

• Una relación de extensión denota un comportamiento opcional del sistema, el cual


es requerido en determinadas condiciones.
Casos de uso - Inclusión
• El caso de uso base invoca explícitamente al caso de uso añadido y su
comportamiento depende de él, pero ninguno de los dos tiene acceso a los
atributos del otro
Casos de uso – Generalización CU
En esta relación hay un caso de uso padre del cual uno o más casos de uso hijos heredan sus
características y especializan cierto comportamiento por tanto una instancia de un caso de uso hijo se
puede usar en cualquier lugar donde se requiera una instancia del caso de uso padre, pero no lo
contrario.

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 Nombre de la entidad


texto
Modelo de datos
Elemento Relaciones (verbos)
Explicación Hechos acerca de entidades o las conexiones entre ellas. Cada
expresión es expresada en lenguaje natural, conectando con un
verbo dos entidades.
Ejemplo Cliente posee cuenta, Contratista da servicio Trabajo

Representación
gráfica

Representación Entidad <verbo> entidad


texto
Modelo de datos
Elemento Atributos (nombres)
Explicación Información que describe a una entidad. Un atributo no se puede
descomponer en piezas mas pequeñas sin perder su significado.
Ejemplo Primer nombre, nombre servicio, costo del servicio, tasa por
hora, código postal, fecha de servicio
Representación Listar dentro o fuera de una caja de entidad,
gráfica
Apellido del contratista – carácter(15)
Primer nombre del contratista – (carácter (10)
Código postal del contratista – Numérico (10)
Fecha de vigencia del contratista – Fecha (yy/mm/dd)
Modelo de datos
• ¿Cómo lo hago?
1. Identificar y definir las entidades de datos.
2. Defina una clave primaria para cada entidad.
3. Identifique las relaciones entre las entidades.
4. Identifique y diagrame la cardinalidad y opcionalidad para
cada relación.
5. Verifique el modelo de datos
Modelo de datos – Relaciones de
Cardinalidad
CARDINALIDAD SIGNIFICADO NOTACIÓN
1:1 Una simple ocurrencia de una
(UNO A UNO) entidad es relacionada con una
sola ocurrencia de una segunda
entidad, y viceversa
1:M Una simple ocurrencia de la
(UNO A primera entidad es relacionada
MUCHOS) con una o mas ocurrencias de la
segunda entidad.
M:M Una simple ocurrencia de la
(MUCHOS A primera entidad se relaciona con
MUCHOS) una o mas ocurrencias de la
segunda entidad, y una simple
ocurrencia de la segunda entidad
es relacionada con una o mas
ocurrencias de la primera entidad.
Modelo de datos - Ejemplo
Reglas de negocio
• Las reglas de negocio son declaraciones textuales específicas
que se descomponen de las políticas de negocio. Describen lo
que se define, limita, o lo que permite el software.
• Se usan para especificar los controles que regulan los
requisitos del usuario y para aclarar que reglas deben
implementadas en el software.
• Los requerimientos de los usuarios dependerá de la aplicación
completa y correcta de las reglas de negocio.
Reglas de negocio
• Representan decisiones, cálculos y factores de inicio del
software.
• Identifica datos para ser comparados, calculados,
comprobados y probados.
• Permitir a los empresarios a replantearse las reglas de negocio
innecesarias o ineficientes.
Reglas de negocio
Reglas de negocio
Hechos
• Son afirmaciones verdaderas acerca del negocio
• Describen asociaciones o relaciones entre los términos del negocio.
Cabe indicar que los hechos no se traducen en requisitos
funcionales.
• Los hechos son verdades inmutables por cuanto definen los datos y
sus atributos.
• Ejemplos:
– Cada contenedor de productos químicos tiene un código de barras de
identificador único.
– Cada orden debe tener un cargo de envío.
Reglas de negocio
Restricciones
• Sirven para limitar las acciones que el sistema o los usuarios
deban realizar. Ejemplo sobre restricciones son:
– Un prestatario que es menor de 18 años de edad debe tener un
padre o un tutor legal como aval en el préstamo.
– Un usuario de la biblioteca puede poner hasta 10 anuncios en espera.
– Un usuario puede solicitar un producto químico en la lista de riesgo
de nivel 1 sólo si ha recibido entrenamiento con peligrosos químicos
en los últimos 12 meses.
Reglas de negocio
Acción de Facilitadores (Posibilita)
• Son aquellas posibilidades en las que desencadena una regla bajo
determinadas condiciones. La norma podría dar lugar a la especificación de
algunas funciones de software, cuyas condiciones conducen a la acción de
complejas combinaciones de valores lógicos.
• A continuación se presentan algunos ejemplos de acciones facilitadoras.
– Si el almacén tiene el producto A que se solicita en stock, entonces se ofrece el
producto en existencia al solicitante.
– Si la fecha de vencimiento del producto A en stock ha expirado, entonces
notificar al personal encargado de bodega.
Regla de negocio
Inferencias
• La inferencia (también llamada inferir el conocimiento),
consiste en la generación de nuevo conocimiento en base a
unas reglas que cumplen con ciertas condiciones.
• Una inferencia permite crear un hecho nuevo a partir de otros
hechos o cálculos. Algunos ejemplos de inferencias son:
– Un cliente quien a realizado dos o mas pedidos durante el primer
trimestre, se lo considera un cliente habitual.
Reglas de negocio
Cálculos
• Se ejecutan usando formulas matemáticas o algoritmos. Muchos
cálculos se derivan de reglas externas a la organización, como es el
caso, en nuestro medio las retenciones por concepto de venta.
• Estas reglas de cálculo permiten especificar requerimientos de
software de acuerdo a como se las va descubriendo.
• Pueden ser expresadas textualmente o de forma simbólica.
• Ejemplo: Hay un descuento a los productos de categoría A:
– del 5% al valor unitario cuando el pedido está entre 10 y 15 unidades,
– del 10% al valor unitario cuando el pedido está entre 16 y 20 unidades
– del 15% al valor unitario cuando son más de 20 unidades.
Reglas de negocio
• Para definir las reglas de negocio debe:
1. Identificar las fuentes de las reglas de negocio.
2. Hacer preguntas para identificar las reglas de negocio.
3. Documentar las reglas
4. Analizar las reglas – (Consistencia y necesidad)
Reglas de negocio
Reglas de negocio
GRUPO IDENT REGLA DE CATEG FECHA USE FUENTE
NEGOCIO CASE
Mantenim BR-2 Si un cliente paga Inferencia Julio 4 UC2 Jim Baan,
iento de por mas de un UC4 Director
clientes sitio, es de
considerado como marketing
cliente comercial.
Facturació BR-18 Si un cliente repite Acción Julio 4 UC4 Lineamien
n trabajos sobre los habilitador UC13 to de
$5.000 en un a precios,
período continuo Versión
de 12meses, 5.6
obtiene un
descuento del 15%
Qué modelos y técnicas utilizar
para analizar requerimientos?
Cuando se necesite: Entonces crear:

Combinación entre mapa de Relaciones


Modelado del negocio
Y mapa de procesos

Combinación de Diagramas de Contexto


Entender el alcance del proyecto Tablas evento- respuesta y/o
Políticas del Negocio

Utilizar combinaciones o variaciones de


Agregar detalles a los requerimientos de Tablas de Actores, Casos de Uso, Mapas de Dialogo
usuario Modelos de Datos, Diagrama de Estado y/o
Reglas de Negocio

Negociar acuerdos entre requisitos Priorización de requerimientos

También podría gustarte