Ingenieria de Requerimientos
Ingenieria de Requerimientos
Ingenieria de Requerimientos
requerimientos
enrique barreiro
departamento de informática
universidade de vigo
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.
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
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
Otra clasificación:
Requisitos funcionales
Requisitos no funcionales
Requisitos de implementación
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.
Gestionar asignaturas
Usuario externo
Gestionar profesores
Administrador
Consultar horarios
Introducir encargo de docencia
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.
requerimientos
requerimientos
no funcionales
no funcionales
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.
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
prototipar la interfaz de
usuario
estructurar el Modelo de
Casos de Uso
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
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
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
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
...
Servicio de Caja
Agencia Tributaria
Cliente
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.
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...
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
<<include>>
Cajero Abrir caja
Identificar usuario
<<include>>
<<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
...
SI ST EMA DE PAGOS Y
FA CT URA CIÓN
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
Ejemplo de la estrategia del Proceso Unificado sobre el método de desarrollo de los requisitos
Suspender Operación
...
: 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
: 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
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.
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
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
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)
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
<<include>>
Abrir Incidente Ampliar préstamo <<include>>
Controlador <<include>>
Ver plano
Prestatario Libro
<<include>> Comprobar reservas
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
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
Unión concurrente
Estado final
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
...
: 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.
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
...
: Sistema
: Cajero
introducirArticulo(artID, cantidad)
Nombre mejor
escanear(artID, cantidad)
Nombre peor
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
___
___
___
___
Modelo de
casos de uso Requisitos
adicionales
Caso de uso
(descrito)
Prototipar
la interfaz
___ Prototipo de interfaz de
___ usuari o
___
___
Glosario
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
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,...)
GLOSARIO
fuente: C. Larman, UML y patrones, 2002
Historial de revisiones
Definiciones
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
Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 4