Sunteți pe pagina 1din 69

tema 2 - ingeniería de

requerimientos

enrique barreiro
departamento de informática
universidade de vigo

escuela superior de ingeniería informática


ingeniería del software de gestión
introducción
tema 2 – ingeniería de requerimientos

errores en la especificación de requerimientos


los requerimientos precisan comunicación entre desarrolladores,
clientes y usuarios:
errores: se descubren tarde y son caros de corregir a posteriori
falta de funcionalidad
funcionalidad mal especificada
interfaces confusas o inútiles
funcionalidad obsoleta

los analistas
construyen un modelo del dominio de la aplicación observando a los
usuarios en su entorno
seleccionan una representación comprensible para clientes y usuarios
(por ejemplo, casos de uso)
validan el modelo del dominio construyendo prototipos de la interfaz
y buscando retroalimentación con los usuarios y clientes.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 2 / 69
introducción
tema 2 – ingeniería de requerimientos

la obtención de requerimientos
identificación de un área del problema
definición de un sistema que soluciona el problema y sirve como contrato
con el cliente: especificación del sistema
en el análisis se estructura y formaliza la especificación para producir el
modelo de análisis.
especificación vs modelo de análisis:
representan la misma información Ingeniería de
requerimientos
difieren en el lenguaje y la notación
especificación: lenguaje natural
modelo de análisis: notación formal o semiformal Especificación
sirven de elemento de comunicación del sistema
especificación: comunicación con cliente y usuarios :Modelo
modelo de análisis: comunicación entre desarrolladores
Análisis
actividades de la obtención de requerimientos
Modelo de
identificación de actores análisis
:Modelo
identificación de escenarios
identificación de casos de uso
refinamiento de casos de uso
identificación de relaciones entre casos de uso
identificación de requerimientos no funcionales

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 3 / 69
comunicación con el cliente
tema 2 – ingeniería de requerimientos

sistema de entrevistas (preguntas-respuestas)


adecuado para las primeras tomas de contacto
conveniente comenzar por preguntas de contexto libre, para
entender el problema, personas interesadas en la solución,
naturaleza de ésta, y efectividad de la reunión
preguntas centradas en el cliente, objetivos globales y beneficios
¿quién solicita el trabajo?
¿quién utilizará la solución?
¿cuál será el beneficio económico de una buena solución?
¿existen otras alternativas a esta solución?
preguntas sobre el problema y la solución
¿qué entiende el cliente por una solución “correcta”?
¿qué problemas afrontará esta solución?
¿en qué entorno se va a implantar la solución?
¿existen restricciones o aspectos de rendimiento importantes?
preguntas sobre la efectividad de la reunión
¿es usted la persona adecuada para responder a estas preguntas? ¿Sus
respuestas son “oficiales”?
¿son relevantes mis preguntas para su problema?
¿hay alguien más que pueda proporcionar información adicional?
¿hay algo más que debería preguntar?

problemas de las entrevistas


malentendidos
omisión de información
mala relación de trabajo (“nosotros-ellos”)
...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 4 / 69
comunicación con el cliente
tema 2 – ingeniería de requerimientos

Definición del
proyecto diseño conjunto de aplicaciones (JAD, “joint
application design”)
Guía de definición desarrollado por IBM a finales de los setenta
administrativa una sesión de trabajo con participación de todos los
involucrados
Investigación resultado de la sesión: documento de especificación
que incluye definiciones de elementos de datos,
flujos de trabajo y pantallas de interfaz
Especificación
Agenda de preliminar representa un acuerdo entre usuarios, clientes y
sesión desarrolladores y minimiza los cambios posteriores
de requerimientos
Preparación
actividades
definición del proyecto: el coordinador se entrevista
Documento con gerentes y clientes para determinar objetivos y
de trabajo alcance del proyecto, creando la “guía de definición
administrativa”.
investigación: entrevista con usuarios, recopilación de
Guión de la información del dominio, descripción de flujos de
sesión trabajo y asuntos a tratar en la reunión. Se crea la
“agenda de sesión” y la “especificación preliminar”.
preparación: el coordinador crea un “documento de
trabajo” o primer borrador del documento final.
Sesión sesión: el coordinador guía al equipo para crear la
especificación del sistema en una reunión que puede
durar varios días. Se definen los flujos de trabajo,
elementos de datos, pantallas, informes,... Las
Formularios decisiones se documentan en unos formularios.
secretario documento final: el coordinador prepara el
“documento final” usando los “formularios” y se
distribuye a los asistentes para su revisión. Reunión
Preparación para discutir revisiones y finalizar el documento.
Documento
documento
final
final

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 5 / 69
tipos de requisitos
tema 2 – ingeniería de requerimientos

modelo FURPS+ de requisitos:


Funcionalidad (Functional): características, capacidades y seguridad.
Facilidad de uso (Usability): factores humanos, ayuda,
documentación.
Fiabilidad (Reliability): frecuencia de fallos, capacidad de
recuperación de un fallo y grado de previsión.
Rendimiento (Performance): tiempos de respuesta, productividad,
precisión, disponibilidad, uso de los recursos.
Soporte (Supportability): adaptabilidad, facilidad de mantenimiento,
internacionalización, configurabilidad.
El “+” indica requisitos adicionales como:
Implementación: limitación de recursos, lenguajes y herramientas,
hardware,…
Interfaz: restricciones referentes a la interacción con sistemas externos
Operaciones: gestión del sistema en su puesta en marcha
Empaquetamiento
Legales: licencias,…

Otra clasificación:
Requisitos funcionales
Requisitos no funcionales
Requisitos de implementación

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 6 / 69
tipos de requerimientos
tema 2 – ingeniería de requerimientos

requerimientos funcionales
describen las interacciones entre el sistema y su entorno (usuarios u
otros sistemas), sin tener en cuenta cuestiones de implementación.
se estudian y representan en el Modelo de Casos de Uso

Requerimientos
Requerimientosfuncionales
funcionalesde
deGeHoWeb.
GeHoWeb.
GeHoWeb
GeHoWebes esun
unsistema
sistemapara
paralalagestión
gestiónde
dehorarios
horariosde
delalaEscuela
EscuelaSuperior
Superiorde deIngeniería
Ingeniería
Informática
Informática (ESEI). El administrador del sistema, que se tendrá que identificaralalacceder
(ESEI). El administrador del sistema, que se tendrá que identificar accederalal
mismo,
mismo, es el encargado de introducir las asignaturas que se imparten en cada curso,así
es el encargado de introducir las asignaturas que se imparten en cada curso, asícomo
como
los datos del encargo de docencia anual (grupos de teoría y práctica de cada asignatura).
los datos del encargo de docencia anual (grupos de teoría y práctica de cada asignatura).
Además,
Además,elelsistema
sistemapermite
permiteintroducir
introducirlos
losdatos
datosde
delas
lasaulas
aulasde
deteoría
teoría(ubicación
(ubicaciónyyaforo)
aforo)yyde
de
prácticas (ubicación, sistemas operativos, software,...).
prácticas (ubicación, sistemas operativos, software,...).
La
Laconfiguración
configuracióndel
delhorario
horariose
selleva
llevaaacabo
cabodirectamente
directamentesobre
sobreuna unaplantilla
plantillahoraria
horariasemanal,
semanal,
en
en la que cada casilla representará una hora en un determinado día de la semana.Cuando
la que cada casilla representará una hora en un determinado día de la semana. Cuandoelel
administrador
administradorpulsa
pulsaesa
esacasilla
casillasesemostrarán
mostraránlaslasasignaturas
asignaturasdel delcurso
cursoque
quese seesté
esté
configurando
configurando en ese momento. Una vez escogida las asignaturas se mostraránlos
en ese momento. Una vez escogida las asignaturas se mostrarán losgrupos
gruposde
de
teoría
teoría y práctica a los que todavía no se les ha asignado un horario. Al escoger un grupose
y práctica a los que todavía no se les ha asignado un horario. Al escoger un grupo se
muestran
muestranlaslasaulas
aulasdisponibles
disponibles(si(sies
esunungrupo
grupodedeteoría)
teoría)oolos
loslaboratorios
laboratoriosquequecumplen
cumplenlas
las
restricciones
restricciones de sistemas operativos establecidas para esa materia y que no estánocupados
de sistemas operativos establecidas para esa materia y que no están ocupadosaa
esa
esahora.
hora.
ElElsistema
sistemapodrá
podráser
serconsultado
consultadopor
porcualquier
cualquierusuario,
usuario,que
quepodrá
podráconsultar
consultarelelhorario
horariode
deuna
una
asignatura, un curso, o de un aula o laboratorio concretos.
asignatura, un curso, o de un aula o laboratorio concretos.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 7 / 69
tipos de requerimientos
tema 2 – ingeniería de requerimientos

Gestionar asignaturas

Usuario externo
Gestionar profesores
Administrador

Consultar horarios
Introducir encargo de docencia

Gestionar aulas y laboratorios


Modelo de Casos de Uso de
Gehoweb (gestión de horarios)

Gest ionar horarios

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 8 / 69
tipos de requerimientos
tema 2 – ingeniería de requerimientos

requerimientos no funcionales
describen aspectos del sistema visibles por el usuario que no se
relacionan en forma directa con el comportamiento funcional del
sistema.
se recogen en los casos de uso con los que están relacionados, o en
la Especificación Complementaria.
en el Glosario se agrupan y clarifican los términos que se utilizan en
los requisitos
ejemplos: restricciones en el tiempo de respuesta, precisión de los
resultados,...

Requerimientos
Requerimientosno
nofuncionales
funcionalesde
deGeHoWeb.
GeHoWeb.
La tasa de disponiblidad de Gehoweb debe ser de un 99%.
La tasa de disponiblidad de Gehoweb debe ser de un 99%.
ElElsistema
sistemadebe
debetener
teneruna
unainterfaz
interfazde
deuso
usointuitiva
intuitivayysencilla,
sencilla,complementada
complementadacon
con
un
un buen sistema de ayuda (la administración puede recaer enpersonal
buen sistema de ayuda (la administración puede recaer en personalcon
conpoca
poca
experiencia en el uso de aplicaciones informáticas).
experiencia en el uso de aplicaciones informáticas).
ElElsistema
sistemadebe
debedisponer
disponerde
deuna
unadocumentación
documentaciónfácilmente
fácilmenteactualizable
actualizableque
que
permita
permita realizar operaciones de mantenimiento con el menor esfuerzoposible.
realizar operaciones de mantenimiento con el menor esfuerzo posible.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 9 / 69
tipos de requerimientos
tema 2 – ingeniería de requerimientos

requerimientos
requerimientos
no funcionales
no funcionales

requerimientos requerimientos requerimientos


requerimientos
del producto requerimientos
organizacionales requerimientos
externos
del producto organizacionales externos

usabilidad eficiencia fiabilidad portabilidad interoperabilidad éticos legislativos


usabilidad eficiencia fiabilidad portabilidad interoperabilidad éticos legislativos

rendimiento espacio entrega implementación estándares privacidad seguridad


rendimiento espacio entrega implementación estándares privacidad seguridad

fuente: Ingeniería de Software, I. Sommerville, p. 102

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 10 / 69
tipos de requerimientos
tema 2 – ingeniería de requerimientos

requerimientos de implementación
son necesidades del cliente que restringen la
implementación (por ejemplo, lenguaje de programación,
plataforma hardware, servidor de páginas web, libro de
estilo,...)

Requerimientos
Requerimientosde
deimplementación
implementaciónde
deGeHoWeb.
GeHoWeb.
Con
Conelelfin
finde
deajustarse
ajustarseaalalaarquitectura
arquitecturade
delalaintranet
intranetactual
actualde
delalaESEI,
ESEI,GeHoWeb
GeHoWeb
debe
debe desarrollarse como un servicio web, accesible desde cualquiernavegador
desarrollarse como un servicio web, accesible desde cualquier navegador
Explorer
Explorer5.0,5.0,Netscape
Netscape5.0 5.0oosuperior,
superior,yyestará
estaráinstalado
instaladoenenun
unservidor
servidorWindows
Windows
2000,
2000, actuando como servidor de páginas web Internet InformationServer.
actuando como servidor de páginas web Internet Information Server.La
La
base
basedededatos
datosaautilizar
utilizarserá
seráSQL
SQLServer
Server7.0.
7.0.
La
Lainterfaz
interfazdedeusuario
usuariodebe
debededeajustarse
ajustarseaalas
lascaracterísticas
característicasde
delalaweb
webde
delalaESEI,
ESEI,
dentro de la cual estará integrado Gehoweb.
dentro de la cual estará integrado Gehoweb.
Además,
Además,en eneleldesarrollo
desarrollode
deGeHoWeb
GeHoWebdeberán
deberántenerse
tenerseen
encuenta
cuentalas
lasdirectrices
directrices
de
de política de seguridad recomendadas por el Grupo de Seguridad delalaESEI.
política de seguridad recomendadas por el Grupo de Seguridad de ESEI.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 11 / 69
características de la especificación de requerimientos
tema 2 – ingeniería de requerimientos

la validación de requerimientos es continua y muy importante,


para asegurarse de que la especificación es:
correcta: la especificación debe representar la visión que el cliente
tiene del sistema
completa: describe todos los escenarios posibles, incluyendo el
comportamiento excepcional
consistente: no se contradice a sí misma
no ambigua: no es posible interpretar aspectos de la especificación
de dos o más formas diferentes
realista: el sistema se puede implementar con las restricciones
documentadas
verificable: una vez que se construye el sistema, se puede diseñar
una prueba repetible que demuestre que se satisfacen los
requerimientos
ejemplos de requerimientos no verificables:
“el producto debe tener una buena interfaz de usuario”
“el producto debe responder en un tiempo razonable”
“el sistema debe ser seguro”

rastreable: la especificación se debe organizar de tal forma que


cada función del sistema se pueda rastrear hasta su conjunto de
requerimientos correspondiente. Facilita las pruebas y la validación
del diseño

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 12 / 69
estructura de un documento de requerimientos
tema 2 – ingeniería de requerimientos

Capítulo 1: propósito y ámbito


¿Cuáles son los objetivos y el ámbito general?
Participantes (¿a quién le interesa el sistema?)
¿Qué hay dentro del ámbito? ¿Qué hay fuera del ámbito?

Capítulo 2: Términos usados (Glosario)


Capítulo 3: Casos de uso
Actores primarios y sus objetivos generales
Casos de uso de negocio
Casos de uso de sistema

Capítulo 4: Tecnología utilizada


Requerimientos tecnológicos para este sistema
Sistemas con los que interactúa este sistema.
Requerimientos de esta interacción.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 13 / 69
estructura de un documento de requerimientos
tema 2 – ingeniería de requerimientos

Capítulo 5: Otros requerimientos


Proceso de desarrollo
Participantes en el proyecto
Feedback o visibilidad del proyecto que quieren los usuarios y clientes
¿Qué podemos comprar, qué debemos construir y quién es nuestra
competencia?
Otros requerimientos del proceso (prueba, instalación,…)
Reglas de negocio
Utilización y usabilidad
Fiabilidad
Rendimiento
Soporte, mantenimiento y portabilidad
Seguridad, documentación
Requisitos sin resolver o diferidos
Capítulo 6: factores organizativos, legales y humanos
Requerimientos legales y políticos
Consecuencias humanas de la finalización del sistema
Requerimientos de formación
Dependencias y restricciones del entorno humano

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 14 / 69
modelo de casos de uso
tema 2 – ingeniería de requerimientos

artefacto de UML: Modelo de Casos de Uso


casos de uso
propuestos inicialmente por Jacobson
mecanismos para ayudar a representar y comprender los
objetivos y requisitos de un sistema, de forma simple y
comprensible para todo el personal involucrado.
de forma informal, son historias del uso de un sistema para
alcanzar sus objetivos.
ejemplo (Larman, 2002, pág. 44):
Procesar Venta: un cliente llega a una caja con artículos para
comprar. El cajero utiliza el sistema PDV (punto de venta) para
registrar cada artículo comprado. El sistema presenta una
suma parcial y detalles de cada línea de venta. El cliente
introduce los datos del pago, que el sistema valida y registra.
El sistema actualiza el inventario. El cliente recibe un recibo del
sistema y luego se va con los artículos.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 15 / 69
modelo de casos de uso
tema 2 – ingeniería de requerimientos

mediante el Modelo de Casos de Uso se muestran cuatro


niveles de descripción:
división del trabajo: casos de uso que describen los
procesos de trabajo de los usuarios, relevantes para el
sistema. Definición de las fronteras entre usuarios y sistema.
funciones del sistema específicas de la aplicación
funciones de apoyo del sistema, como administración de
archivos, deshacer, políticas de gestión de excepciones,
seguridad,...
diálogo: casos de uso que describen las interacciones entre
usuarios e interfaz de usuario del sistema.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 16 / 69
actividades de la ingeniería de requerimientos
tema 2 – ingeniería de requerimientos

: Analista de sistemas : Arquitecto : Especificador de casos de uso : Diseñador de interfacesdeusuario

Encontrar actores y
Según el Proceso Unificado de
casos de uso
Desarrollo, los principales
Priorizar los pasos para capturar los
requerimientos son:
casos deuso

Detallar un caso identificación de actores y


de uso
casos de uso
Estructurar el modelo
de caso de uso Prototipar la interfaz
priorizar casos de uso
detallar casos de uso
de usuario

prototipar la interfaz de
usuario
estructurar el Modelo de
Casos de Uso

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 17 / 69
encontrar actores y casos de uso
tema 2 – ingeniería de requerimientos

: Analista de sistemas : Arquitecto : Especificador de casos de uso : Diseñador de interfacesdeusuario


objetivos
delimitar el sistema y su entorno
esbozar quién y qué (actores) interactuarán
con el sistema, y qué funcionalidad (casos de
uso) se espera del sistema
Encontrar actores y
casos de uso

capturar y definir un glosario de términos


Priorizar los comunes esenciales para poder describir
casos deuso detalladamente los casos de uso del sistema.
es la actividad más decisiva para obtener
Detallar un caso adecuadamente los requisitos
de uso
responsabilidad del analista de sistemas
Estructurar el modelo actividades (no tienen por qué seguir este
de caso de uso Prototipar la interfaz
de usuario
orden)
establecer el límite del sistema: solo software,
hardware y software como un todo, lo utiliza
una persona, una organización,...
encontrar actores principales: los que tienen
objetivos de usuario que se satisfacen
mediante el uso de los servicios del sistema
para cada actor, identificar sus objetivos de
usuario y escenarios asociados
definir los casos de uso que satisfagan los
objetivos de usuario. Nombrarlos de acuerdo
con sus objetivos. Normalmente los casos de
uso del nivel de objetivo de usuario se
corresponderán uno a uno con los objetivos de
usuario.
describir brevemente (descripción informal)
cada caso de uso

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 18 / 69
identificación de actores
tema 2 – ingeniería de requerimientos

actores
representan entidades externas que
Actores del Sistema de Pagos y interactúan (mantenimiento y/o operación) con
Facturación el sistema
Comprador
puede ser un usuario o un sistema externo
Representa a una persona responsable de
adquirir bienes o servicios. Puede ser un un actor representa un rol:
comprador individual o alguien no se corresponde directamente con personas
perteneciente a una empresa. El concretas
Comprador de bienes y servicios necesita el
Sistema de Facturación y Pagos para enviar toda persona que interactúa con el sistema
pedidos y pagar las facturas. tiene que estar representado al menos por un
actor en el modelo de casos de uso
Vendedor
identificación de actores
Representa a una persona que vende y ¿qué grupos de usuarios necesitan el sistema
distribuye bienes o servicios. El Vendedor para su trabajo?
utiliza el sistema para conseguir nuevos
pedidos y entregar las confirmaciones de ¿qué usuarios realizan las funciones principales
pedido, facturas y avisos de pago. del sistema?
¿qué usuarios realizan funciones secundarias,
Sistema de cuentas bancarias como mantenimiento o administración?
El Sistema de Facturación y Pagos envía ¿existe algún sistema externo de hardware o
verificaciones de transacciones al Sistema software?
de Cuentas Bancarias
se da nombre a los actores y se describen
brevemente sus papeles y para qué utilizan el
sistema

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 19 / 69
identificación de actores
tema 2 – ingeniería de requerimientos

identificar actores principales y objetivos


además de actores principales y objetivos obvios, se pueden utilizar
diferentes preguntas para identificar otros menos evidentes:
¿quién arranca y detiene el sistema?
¿quién administra el sistema?
¿quién gestiona los usuarios y la seguridad?
¿es un actor el “tiempo” porque el sistema hace algo como respuesta a
un evento de tiempo?
¿quién evalúa la actividad o el rendimiento del sistema?
...

tipos de actores
actor principal: tiene objetivos de usuario que se satisfacen
mediante el uso de los servicios del sistema (por ejemplo, el cajero)
se identifica para encontrar los objetivos de usuario, que dirigen los casos
de uso
actor de apoyo: proporciona un servicio (por ejemplo, información)
al sistema en desarrollo. Por ejemplo, el servicio de autorización de
pago). Normalmente es un sistema informático, pero puede ser una
organización o una persona
se identifica para clarificar las interfaces externas y los protocolos
actor pasivo: está interesado en el comportamiento del caso de uso,
pero no es principal ni de apoyo. Por ejemplo, la Agencia Tributaria.
se identifica para asegurar que todos los intereses necesarios se han
identificado y satisfecho

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 20 / 69
identificación de actores
tema 2 – ingeniería de requerimientos

actor principal
tienen objetivos de usuario que se satisfacen mediante el uso
de los servicios del sistema (acuden al sistema para que les
ayude)
la lista actor-objetivo
recoge los actores principales y sus objetivos de usuario

Actor Objetivo Actor Objetivo

Añadir usuarios
Procesar ventas
Modificar usuarios
Gestionar devoluciones
Administrador del Eliminar usuarios
Cajero Abrir caja
sistema Gestionar seguridad
Cerrar caja
Gestionar tablas
...
...
Controlar productividad cajero
Sistema de Control de Analizar datos de ventas
Jefe de cajas Distribuir cajeros en cajas
Ventas y rendimiento
...

... ... ... ...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 21 / 69
identificación de actores
tema 2 – ingeniería de requerimientos

el actor principal y los objetivos de usuario dependen del límite


del sistema

Elementos de las Ventas de la Empresa

Servicio de Caja

Agencia Tributaria

Objetivo: obtener impuestos Sistema PDV


de las ventas
Sistema de
Actividad Cajero
de Ventas

Cliente

Objetivo: comprar artículos Objetivo: analizar datos de Objetivo: procesar ventas


ventas y rendimiento

fuente: C. Larman: UML y patrones

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 22 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

escenario (o instancia de caso de uso)


es una descripción narrativa de lo que la gente hace y experimenta
cuando trata de utilizar una aplicación informática, es decir, una
secuencia específica de acciones e interacciones entre los actores y
el sistema objeto de estudio.
descripción concreta e informal de una sola característica del
sistema, desde el punto de vista de un solo actor
los analistas y los usuarios escriben y refinan diversos escenarios
para comprender mejor lo que debe hacer el sistema
identificación de escenarios
¿qué tareas necesita el actor que realice el sistema?
¿qué información consulta el actor? ¿quién crea esos datos? ¿se
pueden modificar? ¿quién puede hacerlo?
¿qué cambios externos necesita informar el actor al sistema? ¿cuándo
y con qué frecuencia?
¿de qué eventos necesita el actor que le informe el sistema? ¿cuándo
y con qué frecuencia

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 23 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

ejemplos de escenarios
Un cliente llega a una caja con artículos para comprar. El
cajero utiliza el sistema PDV para introducir el identificador
de cada artículo. Cuando ha pasado el último artículo el
sistema presenta el total, el cliente paga y el sistema
gestiona el pago y presenta el recibo. El cliente se va con el
recibo y los artículos.
El usuario, previamente autentificado, navega por la tienda
online y va marcando los libros que le interesan. El sistema
los registra en el carro de la compra del usuario. Cuando
termina de comprar el usuario accede a su carro de la
compra y procede a realizar el pago. El sistema gestiona el
pago solicitando los datos necesarios y accediendo a la
pasarela de pago bancario que debe autorizar los datos de la
tarjeta. El sistema confirma la venta y muestra al usuario un
recibo para que lo guarde o lo imprima.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 24 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

caso de uso
especifica todos los
escenarios posibles para una
Un ejemplo en formato “informal” de distintos escenarios de un determinada funcionalidad
Un ejemplo
caso en formato “informal”
de uso (Larman02, pág. 45): de distintos escenarios de un
caso de uso (Larman02, pág. 45): representa una colección de
Gestionar Devoluciones escenarios con éxito y
Gestionar Devoluciones fracaso relacionados, que
Escenario principal de éxito:
Escenario principal de éxito:
describe a los actores
utilizando un sistema para
Un cliente llega a una caja con artículos para devolver.
ElUn cliente
cajero llegaelaPDV
utiliza una para
caja con artículos
registrar cadapara
uno devolver.
de los
satisfacer un objetivo.
El cajero utiliza el PDV para registrar cada uno de los
artículos devueltos...
artículos devueltos... es iniciado por un actor
Escenarios alternativos:
Escenarios alternativos: puede interactuar con otros
actores
1. Si se pagó con tarjeta de crédito, y
1. seSirechaza
se pagólacon tarjeta dedecrédito, y
se rechaza
transacción
la transacción de al representa un flujo de
reembolso a su cuenta, informar eventos completo a través
reembolso
cliente a su en
y pagarle cuenta, informar al
efectivo.
cliente y pagarle en efectivo. del sistema, es decir,
2. Si el identificador del artículo no se describe una serie de
2. Si el identificador del artículo no al
se
encuentra en el sistema, notificar interacciones relacionadas
Cajero y sugerir la entrada manual al
encuentra en el sistema, notificar
que resultan de la
Cajero y sugerir la entrada(quizás
manual
del
esté
código de identificación
del alterado).
código de identificación (quizás inicialización del caso de uso.
esté alterado).
3. Si el sistema detecta fallos en la
3. Si el sistema con
comunicación detecta fallos en
el sistema dela
comunicación con el
contabilidad externo... sistema de
contabilidad externo...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 25 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

Escenario: gatoEnÁrbol
Escenario: gatoEnÁrbol

Escenario: edificioEnLlamas
Escenario: edificioEnLlamas

Informar
emergencia

Escenario: terremoto
Escenario: accidenteAutopista Escenario: terremoto
Escenario: accidenteAutopista

<<inicia>>

OficialCampo

Informar Emergencia

Abri r Inciden te

Controlador

Asignar Recursos

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 26 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

las tareas se pueden agrupar a muchos niveles de granularidad


ejemplos:
definir estrategia de mercado
establecer política de descuentos
negociar contrato con proveedor
gestionar devoluciones de productos
iniciar sesión en el sistema
imprimir factura
...
todos son casos de uso a diferentes niveles, dependiendo de los límites del
sistema, actores y objetivos
PREGUNTA: ¿a qué nivel y alcance deben expresarse los casos de uso?
RESPUESTA: Para el análisis de requisitos de una aplicación informática,
hay que centrarse en los casos de uso al nivel de los procesos de negocio
elementales (EBP, Elementary Business Processes)
EBP:
tarea realizada por una persona en un lugar, en un instante, como respuesta a
un evento del negocio, que añade valor cuantificable para el negocio y deja los
datos en un estado consistente. Por ejemplo, Autorizar Crédito, o Solicitar Precio
no es un pequeño paso como “eliminar línea de pedido”, o “imprimir factura””
no tarda días y múltiples sesiones como “negociar contrato con proveedor”
son los caso de uso “base”, pero puede haber otros
pueden existir casos de uso que no sean EBP:
subtareas de un caso de uso base
ejemplo: “Pago a Crédito” puede aparecer en varios casos de uso base, por lo
que se puede separar en un caso de uso propio conectado a varios casos de uso
base

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 27 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

casos de uso y objetivos


los actores tienen objetivos y utilizan las aplicaciones para ayudarles
a satisfacerlos
por tanto, un caso de uso EBP se denomina caso de uso a nivel de
objetivo de usuario, para remarcar que sirve para satisfacer un
objetivo de un actor principal
procedimiento:
1. encontrar los objetivos de usuario
2. definir un caso de uso para cada uno
excepción: agrupación de objetivos separados del tipo Altas-Bajas-
Modificaciones-Consultas, en casos de uso denominados
Gestionar<X>
Registrar
artículo

Estos casos de uso, muy habituales en Borrar


Estos casos de uso, muy habituales en
aplicaciones de gestión, se agrupan artículo
aplicaciones de gestión, se agrupan Gestionar
normalmente
normalmenteen enun
unúnico
únicocaso
casode
deuso.
uso. artículos

Lógicamente, si un actor está Modificar


Lógicamente, si un actor está artículo
únicamente autorizado a realizar
únicamente autorizado a realizar
determinadas
determinadasfunciones
funciones(por
(porejemplo,
ejemplo,
consultar
consultar artículos), se mostraránlos
artículos), se mostrarán los Consultar
casos de uso correspondientes
casos de uso correspondientes artículo

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 28 / 69
identificación de casos de uso
tema 2 – ingeniería de requerimientos

objetivos y casos de uso de subfunción


objetivo de subfunción: subobjetivos que dan soporte a un objetivo de usuario. Por
ejemplo, para cumplir el objetivo Abrir Caja el cajero necesita identificarse en el
sistema.
se representan objetivos de subfunción como casos de uso cuando la subfunción se
repite o es una precondición en muchos casos de uso de nivel de objetivos de
usuario
ejemplo: Identificar Usuario

<<include>>
Cajero Abrir caja

Identificar usuario
<<include>>

Dist ribuir cajeros en cajas


Es un caso de uso de subfunción, pero se
Jefe de Cajas
muestra porque se utiliza para el
funcionamiento de distintos casos de uso de
nivel de objetivo de usuario. De hecho, en este
caso sería una precondición: no se puede abrir
caja si el usuario no es autentificado por el
sistema.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 29 / 69
relación entre actores y casos de uso
tema 2 – ingeniería de requerimientos

relaciones de comunicación entre


actores y casos de uso
representan el flujo de información
durante el caso de uso
<<inicia>> se puede distinguir entre el actor
que inicia el caso de uso y los
demás actores que intervienen
posteriormente
OficialCampo
los casos de uso, identificados
Informar Emergencia previamente a partir de los
objetivos de los actores, se
representan mediante óvalos y
representan una tarea que el
sistema en desarrollo tiene que
Abri r Inciden te incorporar
Diagrama de Casos de Uso:
Controlador representa el contexto del sistema:
límites del sistema
qué permanece fuera del sistema
Asignar Recursos cómo se utiliza el sistema
resume el comportamiento de un
sistema y sus actores

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 30 / 69
relación entre actores y casos de uso
tema 2 – ingeniería de requerimientos

Actor Objetivo Descripción escenarios Caso de uso

Cajero Procesar venta … Procesar venta


Gestionar … Gestionar
Cajero
devoluciones devoluciones
Distribuir cajeros … Asignar cajeros a
Jefe de cajas
entre las cajas cajas

Administrador Altas de usuarios …

Administrador Bajas de usuarios … Gestionar usuarios

Administrador Modificar usuarios …

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 31 / 69
diagrama de casos de uso
tema 2 – ingeniería de requerimientos

límite del sistema

<<inici a>>

Procesar Ve nt a
Servicio de Autorización notación alternativa
Cajero de Créd ito para un actor que
representa a un
<<Actor>> sistema informático
<<inicia >> Gestionar Devoluciones Sistema de Cálculo de

sugerencias en la realización de
Impuestos

diagramas de casos de uso


en diagramas de contexto,
<< Actor>> Abrir Ca ja <<Actor>> utilizar únicamente casos de
Sistema de Control
de Ventas
Sistema de Contabilidad uso de nivel de objetivos de
usuario
Analizar Actividad mostrar los actores que
representen sistemas
<<Actor>>
Sistema de Recursos
informáticos con una notación
Gestionar Seguridad
Humanos alternativa a los actores
humanos
situar los actores humanos a la
Administrador del Sistema
Gestionar Usuarios izquierda y los de apoyo a la
comunicación derecha
lo realmente importante es la
descripción de los casos de uso,
Distribuir cajeros en cajas y no tanto los diagramas
Jefe de Cajas

...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 32 / 69
diagrama de casos de uso
tema 2 – ingeniería de requerimientos

SI ST EMA DE PAGOS Y
FA CT URA CIÓN

Sol ici ta r b iene s o servicios

iniciador Co nfirm ar p edido


iniciador

Enviar factura al comprador


iniciador

iniciador
Pagar factura
Vendedor

Comprador <<extend>>
iniciador

Re al iza r t ransa cc ió n
Pagar recargo por saldo deudor

Sistema de
cuentas bancarias

En vi ar aviso

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 33 / 69
casos de uso en el proceso unificado
tema 2 – ingeniería de requerimientos

Proceso Unificado: desarrollo dirigido por casos de uso


los requisitos se recogen principalmente en el Modelo de
Casos de Uso
los casos de uso son parte importante de la planificación de
las iteraciones: el trabajo de una iteración se define en parte
eligiendo algunos escenarios o casos de uso completos. Por
tanto, son una entrda clave para realizar estimaciones
las realizaciones de casos de uso dirigen el diseño, es decir,
el equipo diseña objetos y subsistemas que colaboran para
ejecutar o realizar los casos de uso
el trabajo con los casos de uso se realiza a lo largo de las
diversas iteraciones

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 34 / 69
casos de uso en el proceso unificado
tema 2 – ingeniería de requerimientos

Ejemplo de la estrategia del Proceso Unificado sobre el método de desarrollo de los requisitos

Comentarios y nivel de esfuerzo de los requisitos


Disciplina Artefacto Inicio Elab 1 Elab 2 Elab 3 Elab 4
1 semana 4 semanas 4 semanas 3 semanas 3 semanas
Requisitos Modelo de Casos 2 días de taller Cerca del final de la Cerca del final de la Repetir, se completa el Repetir con la intención
de Uso de requisitos. esta iteración, tiene esta iteración, tiene 70% de todos los casos de clarificar y escribir en
Se identifican lugar un taller de lugar un taller de de uso en detalle detalle el 80-90% de los
por el nombre requisitos de 2 días. requisitos de 2 días. Se casos de uso.
la mayoría de Se obtiene un mejor obtiene un mejor Sólo una pequeña parte
los casos de entendimiento y entendimiento y de éstos se construyen
uso y se retroalimentación a retroalimentación a durante la elaboración; el
resumen en un partir del trabajo de partir del trabajo de resto se aborda durante
párrafo breve implementación. implementación. la construcción.
Entonces se completa Entonces se completa
el 30% de los casos el 50% de los casos de
de uso en detalle uso en detalle
Diseño Modelo de Nada. Diseño de un Repetir Repetir Repetir. Deberían ahora
Diseño pequeño conjunto de estabilizarse los aspectos
requisitos de alto de altor riesgo
riesgo significativos significativos para la
desde el punto de arquitectura.
vista de la
arquitectura.
Implementación Modelo de Nada Implementar esto. Repetir. Se construye el Repetir. Se construye el Repetir. Se construye el
implementación 5% del sistema final. 10% del sistema final. 15% del sistema final.
(código, etc.)
Gestión del Plan de Estimación La estimación Un poco mejor... Un poco mejor... Ahora se pueden
Proyecto Desarrollo de muy imprecisa comienza a tomar establecer racionalmente
Software del esfuerzo forma la duración global del
total proyecto, los hitos más
importantes, estimación
del coste y esfuerzo.

fuente: C. Larman, UML y patrones, 2002

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 35 / 69
casos de uso en el proceso unificado
tema 2 – ingeniería de requerimientos

casos de uso en la fase de inicio


fase breve (pocos días)
identificación de objetivos y personal involucrado
determinar alcance del proyecto
elaboración lista actor-objetivo
iniciar diagrama de contexto de casos de uso
descripción de casos de uso
casos de uso importante, complejos o arriesgados se escriben en formato breve
entre el 10-20% de los casos de uso que representan las principales funciones o son arriesgados se escriben
en formato completo
escribir lista de intereses y personal involucrado para estos casos de uso
decidir si se realiza un estudio más profundo (fase de elaboración) o se rechaza el proyecto
ejemplo de un Modelo de Casos de Uso en la fase de inicio para un sistema de PDV:

Completo Informal Breve

Procesar Venta Procesar Alquiler Abrir Caja


Gestionar Devoluciones Analizar Actividad de Ventas Cerrar Caja

Gestionar Seguridad Gestionar Usuarios

... Distribuir Cajeros

Suspender Operación

Gestionar Tablas del Sistema

...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 36 / 69
casos de uso en el proceso unificado
tema 2 – ingeniería de requerimientos

casos de uso en la elaboración


fase de múltiples iteraciones de duración fija
se construyen incrementalmente partes del sistema arriesgadas, de alto
valor o significativas para la arquitectura
se identifican y clarifican la mayoría de los requisitos
retroalimentación de las fases de diseño e implementación
se pueden realizar talleres de requisitos en cada iteración:
no se estudian todos los casos de uso: se priorizan
se refinan los requisitos principales, que son inestables en las primeras
iteraciones, estabilizándose en las últimas
escritura y reescritura de la mayoría de los casos de uso, en formato completo
al final de la fase de elaboración
quedan descritos en detalle entre el 80 y el 90% de los casos de uso
quedan programadas partes del sistema (entre un 10 y un 15% del sistema)

casos de uso en la construcción


fase de múltiples iteraciones de duración fija, centrada en completar el
sistema
puede ser necesario escribir o reescribir casos de uso menores (incluso
puede necesitarse algún taller de requisitos)
el grado de cambio de los requisitos es mucho menor que en la
elaboración, pues la mayoría de los casos de uso funcionales y no
funcionales más importantes deben haberse estabilizado

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 37 / 69
priorizar casos de uso
tema 2 – ingeniería de requerimientos

: Analista de sistemas : Arquitecto : Especificador de casos de uso : Diseñador de interfacesdeusuario priorización de casos de uso
determinar cuáles son
Encontrar actores y necesarios para el desarrollo
casos de uso en las primeras iteraciones y
cuáles pueden dejarse para
posteriores iteraciones
Priorizar los
casos deuso

cuestiones a tener en cuenta:


Detallar un caso
de uso casos de uso con dificultad
de desarrollo
casos de uso imprescindibles
para la puesta en marcha del
Estructurar el modelo
de caso de uso Prototipar la interfaz
de usuario sistema
organización del desarrollo
incremental
disponibilidad de equipo de
desarrollo
se revisa la priorización con el
jefe de proyecto y se utiliza
como entrada para la
planificación de cada iteración
del proyecto

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 38 / 69
detallar los casos de uso
tema 2 – ingeniería de requerimientos

: Analista de sistemas : Arquitecto : Especificador de casos de uso : Diseñador de interfacesdeusuario objetivo principal: describir su
flujo de sucesos en detalle
Encontrar actores y cómo comienza
casos de uso
cómo termina
Priorizar los
casos deuso cómo interactúan con los actores

Detallar un caso
se detalla paso a paso la
de uso secuencia de acciones del caso
de uso
Estructurar el modelo
de caso de uso Prototipar la interfaz
de usuario se trabaja estrechamente con
los usuarios reales de los casos
de uso
resultado: descripción detallada
mediante
texto
diagramas

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 39 / 69
secciones de la descripción del caso de uso (1)
tema 2 – ingeniería de requerimientos

actor principal: actor que recurre a los servicios del sistema para
cumplir un objetivo
personal involucrado y lista de intereses
el caso de uso captura todo y sólo el comportamiento relacionado con la
satisfacción de los intereses del personal involucrado
ejemplo:
Cajero: quiere entradas precisas, rápidas y sin errores de pago, ya que las pérdidas se
deducen de su salario.
Vendedor: quiere que las comisiones de ventas estén actualizadas

precondiciones:
establecen lo que siempre debe cumplirse antes de comenzar un escenario en el
caso de uso.
no se prueban en el caso de uso, sino que son condiciones que se asumen que
son ciertas.
normalmente una precondición implica un escenario de otro caso de uso que se
ha completado con éxito, como “inicio de sesión”, o “validación de usuario”.
ejemplo: el cajero se identifica y el sistema lo autentifica.

postcondiciones:
establecen qué debe cumplirse cuando el caso de uso se completa con éxito
(bien el escenario principal de éxito o algún camino alternativo)
ejemplo: se registra la venta. El impuesto se calcula de manera correcta. Se
actualizan la Contabilidad y el Inventario. Se registran las comisiones. Se genera
el recibo.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 40 / 69
secciones de la descripción del caso de uso (2)
tema 2 – ingeniería de requerimientos

escenario principal de éxito (o flujo básico)


describe el camino de éxito típico que satisface los intereses del
personal involucrado
no suele incluir condiciones o bifurcaciones
recoge los pasos, que pueden ser de tres tipos:
una interacción entre actores
una validación (normalmente a cargo del sistema)
un cambio de estado realizado por el sistema (por ejemplo, registrando
una venta o modificando un registro de la base de datos)
el primer paso indica el evento que desencadena el comienzo del
escenario
ejemplo:
1. El Cliente llega a un terminal PDV con mercancías para comprar
2. El Cajero comienza una nueva venta.
3. El Cajero introduce el identificador del artículo.
4. ...
El Cajero repite los pasos 3-4 hasta que se indique
5. ...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 41 / 69
secciones de la descripción del caso de uso (3)
tema 2 – ingeniería de requerimientos

extensiones (o flujos alternativos)


indican todos los otros escenarios o bifurcaciones, tanto de éxito
como de fracaso.
la combinación del escenario principal y los escenarios de extensión
deberían satisfacer casi todos los intereses del personal involucrado
(algunos intereses se documentan como requisitos no funcionales)
ejemplos:
3a. Identificador no válido
1. El Sistema señala el error y rechaza la entrada
3b. Hay muchos artículos de la misma categoría y tener en cuenta una única
identidad del artículo no es importante (por ejemplo, 6 cajas de leche de
la misma marca).
1. El Cajero puede introducir el identificador de la categoría del artículo y la cantidad
un flujo alternativo tiene dos partes:
condición: algo que puede ser detectado por el sistema o el actor (el
Sistema detecta un fallo de comunicación con el sistema de actualización
de inventario)
manejo: se puede resumir en un paso o bien incluir una secuencia:
3-6a. El Cliente le pide al Cajero que elimine un artículo de la compra:
1. El Cajero introduce el identificador del artículo para eliminarlo de la compra
2. El Sistema muestra la suma parcial actualizada
si una extensión es muy compleja, se puede expresar como un caso de uso
aparte
pueden incluirse condiciones de extensión que se pueden dar durante cualquiera
de los pasos (por ejemplo, el sistema falla, o el Cliente cancela la compra)

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 42 / 69
secciones de la descripción del caso de uso (4)
tema 2 – ingeniería de requerimientos

requisitos especiales
se recoge cuando un requisito no funcional, atributo de calidad o
restricción se relaciona de manera específica con un caso de uso
incluye cualidades como rendimiento, fiabilidad y facilidad de uso, y
restricciones de diseño (a menudo en dispositivos de entrada/salida)
que son obligados o se consideran probables.
ejemplo:
interfaz de usuario con pantalla táctil en un gran monitor de pantalla
plana. El texto debe ser visible a un metro de distancia
tiempo de respuesta para la autorización de crédito de 30 segundos al
menos en el 90% de los casos
en ocasiones resulta conveniente reunir al final todos los requisitos
no funcionales en una especificación complementaria

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 43 / 69
descripción del caso de uso
tema 2 – ingeniería de requerimientos

Nombre del caso de


Nombre del caso de
uso: Pagar Factura
uso: Pagar Factura
Actores participantes: Comprador (inicia)
Actores participantes: Vendedor
Comprador (inicia)
Vendedor
Sistema de cuentas bancarias
Sistema de cuentas bancarias
Precondición: el comprador ha recibido los bienes y servicios y al menos una factura del sistema. El comprador ahora planifica el pago de
Precondición: el comprador ha recibido los bienes y servicios y al menos una factura del sistema. El comprador ahora planifica el pago de
las facturas
las facturas
Flujo de eventos:
Flujo debásico
Camino eventos:
Camino básico
1. El comprador invoca al caso de uso para comenzar a hojear las facturas recibidas del sistema. El sistema verifica
1. El comprador
que el contenidoinvoca
de cada al caso de es
factura usoconsistente
para comenzarcon lasa hojear las facturas
confirmaciones derecibidas del sistema.
pedido recibidas El sistema(como
anteriormente verifica
parte del caso de uso Confirmar Pedido) y así indicárselo al comprador. La confirmación de pedido describe(como
que el contenido de cada factura es consistente con las confirmaciones de pedido recibidas anteriormente qué
parte del caso
elementos seránde uso Confirmar
enviados, cuándo, Pedido)
dónde yy así indicárselo
a qué precio. al comprador. La confirmación de pedido describe qué
elementos serán enviados, cuándo, dónde y a qué precio.
2. El comprador decide planificar una factura para pagarla por banco, y el sistema genera una petición e pago para
2. El comprador
transferir decide
el dinero a la planificar
cuenta del una factura para
vendedor. Hay pagarla
que tener por
enbanco,
cuentay que
el sistema genera no
un comprador unapuede
petición e pagoelpara
planificar
transferir
pago de la el dinerofactura
misma a la cuenta del vendedor.
dos veces [A2]. Hay que tener en cuenta que un comprador no puede planificar el
pago de la misma factura dos veces [A2].
3. Más tarde, si hay suficiente dinero en la cuenta del comprador, se hace un pago mediante transacción en la
3. Más planificada.
fecha tarde, si hayDurante
suficiente dinero en la cuenta
la transacción, el dinerodelsecomprador,
transfiere dese la
hace un pago
cuenta mediante transacción
del comprador en la
a la del vendedor,
fechaseplanificada.
como describe en Durante
el casolade transacción,
uso abstracto el dinero
Realizarse Transacción
transfiere de (que
la cuenta del comprador
es utilizado a la
por Pagar del vendedor,
Factura). Tanto
elcomo se describe
comprador como en el caso detienen
el vendedor uso abstracto Realizar
notificación Transacción
del resultado de la (que es utilizado
transacción. por Pagar
El banco recogeFactura). Tanto
unos cargos
el comprador como el vendedor tienen notificación del
por la transacción, que se retiran de la cuenta del comprador [A3]. resultado de la transacción. El banco recoge unos cargos
por la transacción, que se retiran de la cuenta del comprador [A3].
4. La instancia del caso de uso finaliza.
4. La instancia del caso de uso finaliza.
Caminos alternativos
Caminos alternativos [A2] En el paso 2, el comprador puede, en cambio, pedir al sistema que devuelva un rechazo de factura al
[A2] En el paso 2, el comprador puede, en cambio, pedir al sistema que devuelva un rechazo de factura al
vendedor.
vendedor.
[A3] En el paso 3, si no hay suficiente dinero en la cuenta, el caso de uso cancelará el pago y se lo notificará al
[A3] En el paso 3, si no hay suficiente dinero en la cuenta, el caso de uso cancelará el pago y se lo notificará al
comprador.
comprador.
Postcondición: la instancia del caso de uso termina cuando la factura ha sido pagada o cuando el pago de la factura ha sido cancelado y
Postcondición:
no se halahecho
instancia del caso
ninguna de uso termina cuando la factura ha sido pagada o cuando el pago de la factura ha sido cancelado y
transferencia.
no se ha hecho ninguna transferencia.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 44 / 69
descripción del caso de uso
tema 2 – ingeniería de requerimientos

Nombre del caso de


Nombre del caso de
uso: InformarEmergencia
uso: InformarEmergencia
Actores participantes: OficialCampo (inicia)
Actores participantes: Controlador
OficialCampo (inicia)
Controlador
Condición inicial: El OficialCampo activa la función Informar
Condición inicial: El OficialCampo
Emergencia en suactiva
PDA la función Informar
Emergencia en su PDA
Flujo de eventos:
Flujo de eventos:
1. El sistema EMERGENCIAS responde presentando
1. unElformulario
sistema EMERGENCIAS
al OficialCamporesponde presentando
un formulario al OficialCampo
2. El OficialCampo cubre el formulario, seleccionando
2. elElnivel
OficialCampo cubretipo,
de emergencia, el formulario,
ubicación,seleccionando
y una breve
el nivel de de
descripción emergencia,
la situación.tipo, ubicación,
También y una breve
describe
descripción de la situación. También describe
respuestas posibles a la situación de emergencia.
respuestas
Una posibles
vez cubierto a la situación
el formulario, de emergencia.
el OficialCampo lo
Una vez
envía y encubierto el formulario,
ese momento el OficialCampo
se notifica al Controlador. lo
envía y en ese momento se notifica al Controlador.
3. El Controlador revisa la información recibida y crea
3. unElIncidente
Controlador revisa
en la baseladeinformación recibida
datos llamando y crea
al caso
un Incidente en la base de datos llamando
de uso AbrirIncidente. El Controlador selecciona al caso
de respuesta
una uso AbrirIncidente. El Controlador
y da un acuse de recibo selecciona
del informe
deuna respuesta y da un acuse de recibo del informe
emergencia.
de emergencia.
4. El OficialCampo recibe el acuse de recibo y la
4. El OficialCampo
respuesta recibe el acuse de recibo y la
seleccionada.
respuesta seleccionada.
Requerimientos
Requerimientos
especiales: Se da acuse de recibo del informe del
especiales: Se da acuse en
OficialCampo de menos
recibo del
de 30informe del
segundos.
OficialCampo
La en menos de
respuesta seleccionada 30 segundos.
llega en menos de 30
La respuesta
segundos seleccionada
desde que la envíallega en menos de 30
el Controlador.
segundos desde que la envía el Controlador.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 45 / 69
descripción del caso de uso
tema 2 – ingeniería de requerimientos

Ubicación Descripción del caso de uso


Ubicación Descripción del caso de uso refinamiento
Estación 1. El OficialCampo activa la función Informar
OficialCampo 1. El OficialCampo
Emergencia en suactiva
PDA. la función Informar se incorporan detalles al
Emergencia en su PDA. caso de uso
2. El sistema EMERGENCIAS responde presentando
2. unElformulario
sistema EMERGENCIAS
al OficialCampo.responde presentando
El formulario se describe el flujo de
un formulario al OficialCampo. El formulario
incluye un menú de tipos de emergencia (incendio,
incluye undisturbios,...)
menú de tipos de emergencia (incendio,
eventos en mayor detalle
accidente, y campos para introducir
laaccidente,
ubicación,disturbios,...) y campos
descripción del para
incidente, introducir
petición de se mejora la descripción
la ubicación, descripción del incidente, petición de
recursos,...
recursos,... de las interacciones
3. El OficialCampo cubre el formulario, y puede
3. El OficialCampo
también cubre el formulario,
describir respuestas posibles ya puede
la
también de
situación describir respuestas
emergencia posibles
y solicitar a la
recursos
situación deUna
específicos. emergencia
vez que hay solicitar
llenado recursos
el formulario,
elespecíficos.
OficialCampoUnalo vez que
envía ha llenadoelelbotón
oprimiendo formulario,
“Enviar Informe” y en ese momento seellebotón
el OficialCampo lo envía oprimiendo notifica al
“Enviar Informe” y en ese momento se le notifica al
Controlador
Controlador
Estación 4. Al Controlador se le notifica un nuevo informe de
Controlador 4. Al Controlador
incidente mediantese leunnotifica
cuadroun denuevo
diálogoinforme de
incidente mediante
desplegable. un cuadro
El Controlador de diálogo
revisa la información
desplegable.
recibida y crea ElunControlador
Incidente enrevisa
la base la información
de datos
recibida al
llamando y crea
casoun deIncidente en la base Toda
uso AbrirIncidente. de datos
la
información contenida en el formulario delToda la
llamando al caso de uso AbrirIncidente.
información contenida
OficialCampo se incluyeen el formulario delen el
automáticamente
OficialCampo
Incidente. se incluyeselecciona
El Controlador automáticamenteuna en el
Incidente.asignando
respuesta El Controlador selecciona
recursos una (con el
al incidente
respuesta
caso de usoasignando recursosyaldaincidente
AsignarRecursos) un acuse (con
de el
caso de
recibo uso AsignarRecursos)
al informe de emergencia yenviandoda un acuse
un de
recibo albreve
mensaje informe de emergencia enviando un
al OficialCampo.
mensaje breve al OficialCampo.
Estación 5. El OficialCampo recibe el acuse de recibo y la
OficialCampo 5. El OficialCampo
respuesta recibe el acuse de recibo y la
seleccionada.
respuesta seleccionada.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 46 / 69
estructurar el modelo de casos de uso
tema 2 – ingeniería de requerimientos

: Analista de sistemas : Arquitecto : Especificador de casos de uso : Diseñador de interfacesdeusuario objetivos


extraer descripciones de
Encontrar actores y funcionalidad (de casos de uso)
generales y compartidas que
casos de uso

Priorizar los
casos deuso
pueden ser utilizadas por casos
de uso más específicos
Detallar un caso extraer descripciones de
funcionalidad (de casos de uso)
de uso

adicionales u opcionales que


pueden extender casos de uso
Estructurar el modelo
de caso de uso Prototipar la interfaz

más específicos (relaciones de


de usuario

extensión)
extraer descripciones de
funcionalidad (de casos de uso)
adicionales e incondicionales
incluidas en la ejecución de
casos de uso específicos
(relaciones de inclusión)

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 47 / 69
relaciones de generalización
tema 2 – ingeniería de requerimientos

generalización
simplifica la forma de trabajo y la
comprensión del modelo de
casos de uso
permite reutilizar casos de uso
“semifabricados” cuando se
reúnen casos de uso terminados
requeridos por el usuario (caso
de uso concreto).
Comprador Vendedor
Pagar factura
el caso de uso “semifabricado”
existe solamente para que otros
casos de uso lo reutilicen y se les
llama casos de uso abstractos.
no pueden instanciarse por sí
Ejecutar transacción mismos
una instancia de un caso de uso
concreto también exhibe el
comportamiento especificado
por un caso de uso abstracto
que lo (re)utiliza

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 48 / 69
relaciones de extensión
tema 2 – ingeniería de requerimientos

relaciones de extensión entre casos


de uso
un caso de uso extiende otro caso de
uso si éste puede incluir el
<<inicia>> comportamiento del primero bajo
<<extend>> determinadas condiciones
ventajas de separar el flujo
OficialCampo Conexión perdida excepcional y opcional con respecto
Informar Emergencia al caso de uso básico
el caso de uso básico se hace más
pequeño y comprensible
se distingue entre el caso común y
el excepcional, permitiendo que los
desarrolladores los traten de forma
diferente
Comprador Vendedor ambos son casos de uso completos
por sí mismos, con condición inicial y
Pagar factura

final, y comprensibles por el usuario


<<extend>> regla general: utilizar relaciones de
extensión para comportamientos
excepcionales, opcionales o que rara
Ejecutar transacción
Pagar cargos saldo deudor vez ocurren

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 49 / 69
relaciones de inclusión
tema 2 – ingeniería de requerimientos

relaciones de inclusión entre casos de uso


permiten dividir las redundancias y reutilizar casos de uso
el comportamiento sólo debe dividirse en casos de uso separados
cuando es compartido por dos o más casos de uso
no conviene dividir en exceso (especificación confusa)
regla general: utilizar relaciones de inclusión para comportamientos
que se comparten entre dos o más casos de uso

<<include>>
Abrir Incidente Ampliar préstamo <<include>>

Controlador <<include>>
Ver plano
Prestatario Libro
<<include>> Comprobar reservas

Tomar libro prestad o


Asignar Recursos

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 50 / 69
relaciones en el modelo de casos de uso
tema 2 – ingeniería de requerimientos

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 51 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

utilización de diagramas
puede resultar útil utilizar diagramas para describir un caso de
uso cuando existen diferentes estados y transiciones
alternativas que dificultan la comprensión de la descripción
textual
diagramas
de actividad: describen las transiciones entre estados con más
detalle, como secuencias de acciones.
de interacción: describen cómo interactúa una instancia de un caso
de uso con la instancia de un actor
aconsejable que sean simples, para que sean comprensibles por
el usuario

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 52 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

Ejemplo de un Diagrama de Actividad: Escenario de Procesar Venta


Cajero Sistema
Estado inicial

Actividad (o Seleccionar
estado de acción) nueva venta
Generar nueva
venta

Introducir
artículo
Registrar
artículo

Mostrar descripción y
sí precio

Bifurcación
¿hay más no
Mostrar total
artículos? con impuestos

División concurrente
Introducir pago

Calcular cambio Generar recibo

Unión concurrente

Estado final

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 53 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

Cajero Sistema
Ejemplo de un Diagrama de Actividad:
Escenario de Procesar Venta

Seleccionar
Procesar nueva venta
Venta
Generar nueva
venta

Introducir
artículo
Registrar
artículo
Escenario simple de Procesar Venta
Escenario
parasimple
el pagodeenProcesar
efectivo.Venta
para el pago en efectivo.
Mostrar descripción y
1. El Cliente llega al terminal PDV sí precio
2.1. ElElCajero
Clienteinicia
llegauna
al terminal PDV
nueva venta
3.2. El Cajero inicia una nueva
El Cajero inserta el identificadorventa
3. El artículo
del Cajero inserta el identificador
4. Eldel artículoregistra la línea de
Sistema no
4. El Sistema
venta y presenta registra la línea de
la descripción ¿hay más Mostrar total
venta
del y presenta
artículo, precio la descripción
y suma artículos? con impuestos
del artículo, precio y suma
parcial
parcial
El Cajero repite los pasos 3 y 4 hasta Introducir pago
El Cajero
querepite los pasos 3 y 4 hasta
se indique
que se indique
5. El Sistema muestra el total con
5. El impuestos
los Sistema muestra
calculadosel total con Calcular cambio Generar recibo
6. Ellos impuestos
Cajero le dicecalculados
al Cliente el
6. El Cajero
total, y pideleque
dicele al Cliente el
pague
7. total, y pide que le pague
El Cliente paga y el Sistema
7. El Cliente
gestiona paga y el Sistema
el pago
... gestiona el pago
...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 54 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

diagramas de secuencia del sistema (DSS)


diagrama de secuencia:
notación de UML que muestra aspectos dinámicos de un sistema, y que
se utiliza en distintas fases
permite representar las interacciones entre los actores y las operaciones
que inician
DSS: muestra, para un escenario específico de un caso de uso:
los eventos que generan los actores externos
el orden de los eventos
eventos entre los sistemas
los sistemas se tratan como cajas negras
debe realizarse un DSS para el escenario principal de éxito del caso
de uso, y los escenarios alternativos complejos o frecuentes
los DSS en el Proceso Unificado
no aparecen explícitamente en el UP
fase de inicio: no se suelen realizar en esta fase
fase de elaboración: la mayoría se crean en esta fase, para detallar
identificar las operaciones y dar soporte a la estimación de tiempo y
costes
no es necesario crear DSS para todos

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 55 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

Ejemplo de un DSS: Escenario de Procesar Venta

: Sistema
: Cajero
crearNuevaVenta()
La caja puede encerrar un área
deLaiteración.
caja puede encerrar un área
Elde iteración.
*[...] indica que la caja es para
El
iterar*[...] indica que la caja es para introducirArticulo(artID, cantidad)
iterar
descripción, total
*[más artículos]

finalizarVenta()
Un mensaje con parámetros.
Ununa
Es mensaje con parámetros.
abstracción que
total con impuestos Es una abstracción que
representa el evento del
sistema de entrada de del
representa el evento los
sistema
datos de entrada
del pago de los
mediante
Valor(es) de retorno realizarPago(cantidad) datos del pago mediante
Valor(es) de
asociado(s) retorno
con el mensaje algún mecanismo
asociado(s) con el mensaje algún mecanismo
anterior.
Esanterior.
una abstracción que
Es una cambio devuelto, recibo
ignora la abstracción
presentaciónque y el
ignora
medio. la presentación y el
Lamedio.
línea de retorno es
La líneaside
opcional noretorno es
se devuelve
opcional
nada. si no se devuelve
nada.

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 56 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

Procesar
: Sistema
Venta
: Cajero
crearNuevaVenta()

introducirArticulo(artID, cantidad)
Escenario simple de Procesar Venta
Escenario
parasimple
el pagodeenProcesar
efectivo.Venta descripción, total
para el pago en efectivo.
1. El Cliente llega al terminal PDV *[más artículos]
2.1. ElElCajero
Clienteinicia
llegauna
al terminal PDV
nueva venta
3.2. El Cajero inicia una nueva
El Cajero inserta el identificadorventa
3. El artículo
del Cajero inserta el identificador finalizarVenta()
4. Eldel artículoregistra la línea de
Sistema
4. El Sistema
venta y presenta registra la línea de
la descripción
venta
del y presenta
artículo, precio la descripción
y suma total con impuestos
del artículo, precio y suma
parcial
parcial
realizarPago(cantidad)
El Cajero repite los pasos 3 y 4 hasta
El Cajero
querepite los pasos 3 y 4 hasta
se indique
que se indique
cambio devuelto, recibo
5. El Sistema muestra el total con
5. El impuestos
los Sistema muestra
calculadosel total con
6. Ellos impuestos
Cajero le dicecalculados
al Cliente el
6. El Cajero
total, y pideleque
dicele al Cliente el
pague
7. total, y pide que le pague
El Cliente paga y el Sistema
7. El Cliente
gestiona paga y el Sistema
el pago
... gestiona el pago
...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 57 / 69
modelo de casos de uso: aspectos dinámicos
tema 2 – ingeniería de requerimientos

algunas cuestiones de los DSS


se pueden utilizar para ilustrar colaboraciones entre sistemas (en iteraciones
posteriores a la de inicio)
en ocasiones puede mostrarse el texto (o fragmentos) del caso de uso del
escenario junto al diagrama
DSS y Glosario: los términos que aparecen en el DSS (operaciones, parámetros,
valores de retorno) pueden ser explicados en el Glosario
no es necesario crear DSS para todos los escenarios de todos los casos de uso,
sino que se crearán sólo para algunos escenarios seleccionados de la iteración
actual
no se recomienda invertir mucho tiempo en estos diagramas
asignación de nombres a eventos y operaciones
los eventos (y las operaciones del sistema asociadas) deben expresarse en términos de
intenciones del usuario, y no en términos del medio de entrada físico o a nivel de
elementos de interfaz
debe comenzar con un verbo (añdir, insertar, finalizar, crear,...)
ejemplo:

: Sistema
: Cajero
introducirArticulo(artID, cantidad)
Nombre mejor

escanear(artID, cantidad)
Nombre peor

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 58 / 69
los casos de uso en el desarrollo
tema 2 – ingeniería de requerimientos

planificación
antes de realizar estimaciones y planificar todo el proceso del proyecto se
necesita tener los casos de uso junto con
una idea correcta de qué significa cada uno
un correcto entendimiento de quién necesita cada uno y en qué medida lo necesita
el conocimiento de qué casos de uso tienen más riesgo
un plan del tiempo de implementación de cada caso de uso
si existe una entrega de varias versiones,
hay que negociar con el cliente qué casos de uso se entrega en cada una considerando
cuestiones como
necesidad del caso de uso para el cliente
tiempo de desarrollo del caso de uso
riesgo del caso de uso
luego se decide en qué orden se implementan y qué casos de uso pertenecen a cada
iteración del sistema

aspectos políticos: realizar casos de uso importantes para aquellas


personas con poder para retrasar o cancelar el proyecto
aspectos técnicos: entregar primero los casos de uso con mayor riesgo
(puede entrar en conflicto con los criterios anteriores)
validación del sistema: para validar el diseño se pueden tomar uno a
uno los casos de uso y comprobar que el sistema permite ejecutarlo

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 59 / 69
prototipar la interfaz de usuario
tema 2 – ingeniería de requerimientos

: Analista de sistemas : Arquitecto : Especificador de casos de uso : Diseñador de interfacesdeusuario


prototipado de la interfaz
diseño lógico de la interfaz: se decide qué
se necesita de las interfaces de usuario
Encontrar actores y para habilitar los casos de uso para cada
casos de uso
actor
Priorizar los diseño físico de la interfaz: se desarrollan
casos deuso
prototipos que ilustran cómo pueden
utilizar el sistema los usuarios para
ejecutar los casos de uso
Detallar un caso
de uso resultado final: conjunto de esquemas de
interfaces de usuario y prototipos de
Estructurar el modelo
interfaces que especifican la apariencia de
de caso de uso Prototipar la interfaz esas interfaces cara a los actores más
de usuario importantes

___
___
___
___
Modelo de
casos de uso Requisitos
adicionales
Caso de uso
(descrito)
Prototipar
la interfaz
___ Prototipo de interfaz de
___ usuari o
___
___
Glosario

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 60 / 69
prototipar la interfaz de usuario
tema 2 – ingeniería de requerimientos

diseño lógico de la interfaz de usuario


El
El actor
actor trabajará
trabajará con
con elementos
elementos de de interfaz
interfaz
al interactuar con el sistema, los actores utilizarán elementos
como
como Facturas.
Facturas. Factura
Factura es
es por
por tanto
tanto unun de interfaces que representan atributos de los casos de uso,
elemento
elemento de de la
la IU.
IU. Las
Las facturas
facturas tienen
tienen fecha
fecha y suelen ser términos del glosario (balance de cuenta, fecha
de
de vencimiento,
vencimiento, cantidad
cantidad aa pagar
pagar yy cuenta
cuenta de
de de vencimiento, titular de cuenta,...)
destino.
destino. Todos
Todos estos
estos atributos
atributos son
son necesarios
para
para un
un actor,
actor, que
que debe
debe decidir
decidir si
necesarios
si paga
paga oo no
no la
la
diseñador de interfaces
factura.
factura. recorre todos los casos de uso a los que el actor puede acceder
identifica y especifica cada elemento, actor por actor
Además,
Además, para
para decidir
decidir qué
qué facturas
facturas vava aa pagar,
pagar, asocia los elementos apropiados de la interfaz de usuario para
puede
puede querer
querer consultar
consultar el el saldo
saldo dede su
su cuenta
cuenta cada caso de uso
(ejemplo
(ejemplo dede información
información que que unun actor
actor necesita
necesita
cuando
cuando ejecuta
ejecuta el el caso
caso de de uso).
uso). Por
Por tanto,
tanto, la
la cuestiones a plantearse para cada actor
interfaz
interfaz debe
debe mostrar
mostrar laslas facturas
facturas según
según se se elementos de interfaz necesarios para posibilitar el caso de uso
planifican
planifican en
en el
el tiempo
tiempo yy cómo
cómo afectará
afectará el el relación entre esos elementos
pago
pago planificado
planificado de de las
las facturas
facturas alal saldo.
saldo. modo de utilización en los diferentes casos de uso
Por
Por eso,
eso, la
la Cuenta
Cuenta es
es otro
otro elemento
elemento de
de la
la IU.
IU. apariencia de los elementos
modo de manipulación
determinar qué elementos de interfaz deben ser accesibles al
Cuenta actor en cada caso de uso
clases del dominio, entidades del negocio o unidades de trabajo
• saldo previsto en el tiempo son adecuadas como elementos de interfaz para cada caso de
(determinado por las facturas a uso
pagar) elementos de la IU con la que va a trabajar el actor
acciones que puede invocar el actor, y decisiones que puede
1 tomar
cuenta del
facturas a pagar comprador guía o información que necesita el actor antes de invocar cada
* acción de los casos de uso
Factura información que debe proporcionar el actor al sistema
información que debe proporcionar el sistema al actor
• fecha de vencimiento valores medios de todos los parámetros de entrada y salida
• cantidad a pagar (necesario para optimizar la interfaz gráfica)
• cuenta destino
se recomienda utilizar hojas adhesivas para representar
elementos de interfaz
© enrique barreiro alonso escuela superior de ingeniería informática
universidade de vigo - departamento de informática ingeniería del software de gestión 61 / 69
prototipar la interfaz de usuario
tema 2 – ingeniería de requerimientos

diseño físico de la interfaz de usuario


pasos
se preparan esquemas aproximados de la configuración de
elementos de las interfaces
se bosquejan elementos adicionales necesarios para combinar
varios elementos de interfaces de usuario (carpetas, ventanas,
herramientas, controles,...)
se construyen prototipos ejecutables de las configuraciones
más importantes (por ejemplo, con una herramienta de
prototipado rápido)
puede haber varios prototipos, uno por actor, para verificar
que cada actor puede ejecutar el caso de uso que necesita
revisión y validación
puede hacerse superficialmente y corregirse después, durante
el diseño
debe verificarse
que cada actor navegue de forma adecuada
que proporcione apariencia agradable y una forma consistente de
trabajo
que cumple con estándares relevantes como el color, tamaño de
botones, situación de barras de herramientas,...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 62 / 69
identificación de requerimientos no funcionales
tema 2 – ingeniería de requerimientos

requerimientos no funcionales
aspectos del sistema visibles para el usuario, que no stán
relacionados de forma directa con el comportamiento funcional del
sistema.
abarcan diversos aspectos:
interfaz de usuario y factores humanos: tipo de interfaz, experiencia,...
documentación:documentación requerida, destinatarios, tipo de
documentación técnica,...
consideraciones de hardware: compatibilidad con otro hardware,
existencia de otros sistemas,...
características de ejecución: usuarios concurrentes, carga de trabajo,...
gestión de errores y excepciones
cuestiones de calidad: fiabilidad, disponibilidad, robustez,...
modificaciones futuras
ambiente físico: condiciones climáticas, exposición a golpes,
accidentes,...
seguridad
recursos consumidor por el sistema
priorización de los requisitos

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 63 / 69
identificación de requerimientos no funcionales
tema 2 – ingeniería de requerimientos

artefacto de UML: Especificación Complementaria


captura otros requisitos, información y restricciones que no se
recogen en los casos de uso o en el Glosario.
comprende:
requisitos FURPS+ : funcionalidad, facilidad de uso, fiabilidad,
rendimiento y soporte (funcionality, usability, reliability, performance,
supportability)
informes
restricciones de software y hardware (sistemas operativos, plataformas,
redes, sistemas de bases de datos,...)
restricciones de desarrollo (herramientas de proceso y desarrollo,...)
otras restricciones de diseño e implementación
cuestiones de internacionalización (monedas, medidas, idiomas,...)
documentación (usuario, instalación, administración) y ayuda
licencia y cuestiones legales
estándares (técnicos, de seguridad, de calidad,...)
cuestiones del entorno físico (temperatura, vibraciones,...)
cuestiones operacionales (gestión de errores, frecuencia de copias de
seguridad,...)
reglas del dominio o negocio
ver ejemplo en C. Larman, UML y patrones, págs 80-84

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 64 / 69
el glosario
tema 2 – ingeniería de requerimientos

glosario
lista de los términos relevantes y sus definiciones
reduce problemas de comunicación y requisitos ambiguos: evita que un término
se utilice de forma distinta por diferentes personas involucradas en el desarrollo
debe comenzarse cuanto antes
el glosario como Diccionario de Datos
el diccionario de datos recoge datos sobre los datos (metadatos)
fase de inicio: el glosario debe ser un documento sencillo de términos y
descripciones
fase de elaboración: se amplía a un diccionario de datos, incorporando atributos
sobre los términos:
alias
descripción
formato (tipo, longitud, unidad)
relaciones con otros elementos
rango de valores
reglas de validación
importante tener en cuenta las unidades (medida, moneda,...)

puede haber términos compuestos


hay términos que incluyen otros elementos
ejemplo: Venta puede incluir fecha, lugar, cliente, lugar,...

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 65 / 69
el glosario
tema 2 – ingeniería de requerimientos

GLOSARIO
fuente: C. Larman, UML y patrones, 2002
Historial de revisiones

Versión Fecha Descripción Autor


Borrador de Inicio 10 de octubre, 2003 Primer borrador. Se refinará Juan Pérez
durante la elaboración

Definiciones

Término Definición e información Alias


artículo Un artículo o servicio en venta

autorización de Validación llevada a cabo por un servicio externo de autorización


pago de pago, que hará o garantizará el pago al vendedor
solicitud de Un conjunto de elementos enviados electrónicamente a un
autorización de servicio de autorización, normalmente como un array de
pago caracteres. Los elementos comprenden:
•ID de la tienda
•número de cuenta del cliente
•cantidad
•fecha
UPC Código de 12 dígitos que identifica un artículo. Normalmente se Código de
representa mediante un código de barras en los artículos. Producto Universal
… … …

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 66 / 69
el documento de análisis de requerimientos
tema 2 – ingeniería de requerimientos

documentos de análisis de requerimientos (RAD)


en él se documentan los resultados de la actividad de
obtención de requerimientos y la actividad de análisis
describe totalmente el sistema desde el punto de vista de los
requerimientos funcionales y no funcionales
sirve como base contractual entre cliente y desarrolladores
usuarios del RAD:
cliente
usuarios
administradores del proyecto
analistas del sistema
diseñadores del sistema
debe escribirse cuando el modelo de casos de uso sea
estable, es decir, cuando casi no haya modificaciones de
requerimientos
se actualiza durante el proceso de desarrollo cuando se
descubren problemas de especificaciones o cuando cambia el
alcance del sistema

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 67 / 69
el documento de análisis de requerimientos
tema 2 – ingeniería de requerimientos

1. 1. Introducción
1. 1. Introducción
1.1. Propósito del sistema
1.1. Propósito del sistema
1.2. Alcance del sistema
1.2. Alcance del sistema
1.3. Objetivos y criterios de éxito del proyecto
1.3. Objetivos y criterios de éxito del proyecto
1.4. Definiciones, siglas y abreviaturas
1.4. Definiciones, siglas y abreviaturas
1.5. Referencias
1.5. Referencias
1.6. Panorama
1.6. Panorama
2. Sistema actual
2. Sistema actual
3. Sistema propuesto
3. Sistema propuesto
3.1. Panorama
3.1. Panorama
3.2. Requerimientos funcionales
3.2. Requerimientos funcionales
3.3. Requerimientos no funcionales
3.3. Requerimientos no funcionales
3.3.1. Interfaz de usuario y factores humanos
3.3.1. Interfaz de usuario y factores humanos
3.3.2. Documentación
3.3.2. Documentación
3.3.3. Consideraciones de hardware
3.3.3. Consideraciones de hardware
3.3.4. Características de rendimiento
3.3.4. Características de rendimiento
3.3.5. Gestión de errores y condiciones extremas
3.3.5. Gestión de errores y condiciones extremas
3.3.6. Cuestiones de calidad
3.3.6. Cuestiones de calidad
3.3.7. Modificaciones al sistema
3.3.7. Modificaciones al sistema
3.3.8. Ambiente físico
3.3.8. Ambiente físico
3.3.9. Cuestiones de seguridad
3.3.9. Cuestiones de seguridad
3.3.10. Cuestiones de recursos
3.3.10. Cuestiones de recursos
3.4. Seudorrequerimientos (requerimientos de implementación)
3.4. Seudorrequerimientos (requerimientos de implementación)
3.5. Modelos del sistema
3.5. Modelos del sistema
3.5.1. Escenarios
3.5.1. Escenarios
3.5.2. Modelo de casos de uso
3.5.2. Modelo de casos de uso
3.5.3. Modelo de objetos
3.5.3. Modelo de objetos
3.5.3.1. Diccionario de datos
3.5.3.1. Diccionario de datos
3.5.3.2. Diagramas de clases
3.5.3.2.
3.5.4. Modelos dinámicos
Diagramas de clases plantilla de ejemplo de un
3.5.4. Modelos dinámicos Documento de Análisis de
3.5.5. Interfaz de usuario: rutas de navegación y maquetas de pantallas
3.5.5. Interfaz de usuario: rutas de navegación y maquetas de pantallas
3.6. Glosario
3.6. Glosario Requerimientos

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 68 / 69
bibliografía
tema 2 – ingeniería de requerimientos

Sommerville, I. Ingeniería de Software, cap. 5

Larman, C. UML y patrones, cap. 6, 7 y 9.

Stevens, P., Utilización de UML en ingeniería del software con objetos y


componentes, cap. 7 y 8

Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 4

Jacobson, Rumbaugh y Booch, El Proceso Unificado de Desarrollo, cap. 7

© enrique barreiro alonso escuela superior de ingeniería informática


universidade de vigo - departamento de informática ingeniería del software de gestión 69 / 69

S-ar putea să vă placă și