Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ClaseAyD 11
ClaseAyD 11
SISTEMAS
SESION 11
2
Contenidos
1. Modelamiento de Requisitos
2. Resumen de la fase de requisitos
3
Modelado de Requisitos
4
Artefacto
Pieza de información utilizada o producida por un
proceso de desarrollo de software
Artefactos implicados durante la captura de
requisitos
Actor
n
Glosario
Caso de Uso
Descripción de la Arquitectura 5
Work Flow de Requisitos
Arquitecto Priorizar
los Casos de Uso
Detallar
Especificador CU los Casos de Uso
Diseñador de Interfaz
de usuario Prototipar
la Interfaz de Usuario6
Modelado de Requisitos
Objetivo:
Establecer los requisitos funcionales y no
funcionales del sistema.
7
Qué es un Requerimiento ?
RAE (Real Academia de la Lengua Española)
Requerimiento
Acción y efecto de requerir.
Requisito
Circunstancia o condición necesaria para
algo.
8
Qué es un Requerimiento ?
Un requerimiento es una condición o capacidad
a la que el sistema (siendo construido) debe
conformar [ Rational Software Corp.].
10
Qué representan y muestran los
Requerimientos ?
Los requerimientos de usuario representan
el conjunto completo de resultados a ser
obtenidos utilizando el sistema.
Los requerimientos de sistemas deben
mostrar todo lo que el sistema debe hacer
mas todas las restricciones sobre la
funcionalidad.
Los requerimientos forman un modelo
completo, representando el sistema total a
algún nivel de abstracción.
11
Rol de Requerimientos
Si un producto no es lo que el cliente o los usuarios
quieren, entonces la calidad de la construcción es
irrelevante.
El rol clave de los requerimientos es mostrar a los
desarrolladores y usuarios que se necesita de un
sistema.
Proveer los requerimientos forma parte de un
lenguaje que todos comprenden, ya que todos están
involucrados, incluyendo los clientes.
El primer y básico rol de los requerimientos es por lo
tanto la comunicación.
12
Cómo identificamos los
Requerimientos ?
Los Requerimientos toman vida desde que
realizamos nuestro primer encuentro de
interlocución con usuarios o clientes.
Este puede desarrollarse utilizando cualquiera
de una variedad de técnicas como entrevistas
para intercambiar opiniones, brainstorming,
prototipeo, cuestionarios, etc.
Cuando los requerimientos se logran redactar
a un significativo nivel de detalle, tendremos
listo el documento denominado “Especificación
de Requerimientos”.
13
Buena Especificación de
Requerimientos
Un resultado primario es la Especificación de
Requerimientos, la cual define y documenta
en forma completa el comportamiento
externo del sistema a ser construido.
Caracterizándose por :
Definidos sin ambigüedad
Son completos
Tienen consistencia
Especifica el origen
Evita detalles de diseño
Están enumerados
14
Beneficios de una Buena Gestión
de Requerimientos
15
Los Problemas de la Gestión de
Requerimientos
No son siempre obvios y tienen muchas fuentes.
No son siempre fáciles de expresar en palabras.
Hay muchos tipos diferentes a distintos niveles de
detalle.
El número puede llegar a ser inmanejable.
Están relacionados a otros en una variedad de
formas.
Hay muchos interesados y partes responsables.
Cambian.
Pueden ser sensibles al tiempo.
16
El Alto Costo de Errores en los
Requerimientos
Hay fuertes evidencias que una efectiva
administración de requerimientos conducen a
los ahorros del proyecto integral.
Las tres razones primarias para esto son :
Costos de reparar errores en los requerimientos
superan en mas de 10 veces a otros errores.
Errores de requerimientos comprenden encima del
40% de todos los errores de un proyecto de
software.
Pequeños reducciones en el número de errores de
requerimientos rinden grandes dividendos al evitar
costos de re-trabajo y días de retraso.
17
NIVELES DE LOS REQUERIMIENTOS
20
Requerimientos del Sistema
Establecen con detalle los servicios y
restricciones del sistema.
El documento de requerimientos del sistema,
algunas veces denominado especificación
funcional, debe ser preciso.
Éste sirve como parte del contrato entre el
negocio y el desarrollador de software.
21
Ej. Definición de
Requerimientos de Usuario
22
Ej. Especificación de
Requerimientos del sistema
No Funcionales
Usabilidad
Fiabilidad
Rendimiento
Adaptabilidad, Mantenimiento, Configurable
Implementación: lenguajes, herramientas,..
GUI
Legales 24
Requerimientos Funcionales
Describen la funcionalidad o los servicios que se
espera proveerá el sistema.
Estos dependen del tipo de software y del
sistema que se desarrolle y de los posibles
usuarios del software.
Cuando se expresan como requerimientos del
usuario, habitualmente se describen de forma
general mientras que los requerimientos
funcionales del sistema describen con detalle la
función de éste, sus entradas y salidas,
excepciones, etc.
25
Requerimientos no funcionales
26
RNF Requerimientos del
Producto
Éstos especifican el comportamiento del
producto.
Algunos ejemplos son los requerimientos de
desempeño en la rapidez de ejecución del
sistema y cuánta memoria se requiere; los de
fiabilidad que fijan la tasa de fallas para que
el sistema sea aceptable; los de portabilidad y
los de usabilidad.
27
RNF: Requerimientos
Organizacionales
Se derivan de las políticas y procedimientos
existentes en la organización del cliente y en
la del desarrollador.
Algunos ejemplos son los estándares en los
procesos que deben utilizarse;
Los requerimientos de implementación como los
lenguajes de programación o el método de diseño
a utilizar, y los requerimientos de entrega que
especifican cuándo se entregará el producto y su
documentación.
28
RNF: Requerimientos Externos
Este gran apartado cubre todos los requerimientos
que se derivan de los factores externos al sistema y
de su proceso de desarrollo.
Éstos incluyen los requerimientos de
interoperabilidad que definen la manera en que el
sistema interactúa con los otros sistemas de la
organización; los requerimientos legales que deben
cumplirse para operar dentro del marco de la Ley, y
los requerimientos éticos que permitan asegurar que
será aceptado por el usuario y por el público en
general.
29
Ejemplos RNF
Requerimiento del Producto
El tiempo de respuesta que debe ofrecer el sistema para
una transacción en el módulo X debe oscilar entre los 3 y 6
seg.
Requerimiento Organizacional
El proceso de desarrollo del sistema y los documentos a
entregar deberán apegarse al proceso y a los productos a
entregar definidos en la norma Nº abc-2002.
Requerimiento Externo
El sistema no deberá revelar a sus operadores alguna
información personal de los clientes excepto su nombre y
número de referencia.
30
Del modelo de negocio al
modelo de requisitos
Extraer los casos de uso del sistema a
partir de las actividades que aparecen en
los diagramas de actividades.
Establecer el modelo conceptual a
partir de las informaciones incluidas en los
diagramas de actividades.
31
Del modelo de negocio al modelo
de requisitos
De los diagramas de proceso...
rol
actor
Caso de Uso
actividad
32
Introducir Pedido Analizar Produccion
Cliente
JefeTecnico
Planificar Produccion
JefeProduccion
33
Identificación de casos de uso
Objetivos Estrátegicos casos de uso del negocio
Ejemplo: Evitar pérdidas
Objetivos de Usuario casos de uso
Ejemplo: Realizar Venta
Subfunciones ¿casos de uso?
Ejemplo: Iniciar sesión (Login)
34
Identificación de casos de uso
Establecer los límites del sistema
Identificar los actores principales
¿Es el cliente un actor en el sistema Terminal Punto
de Venta?
Identificar sus objetivos de usuario
Posible uso de los eventos externos
Definir un caso de uso por objetivo de usuario
Excepción: casos de uso para manejar información
(crear, eliminar, modificar, consultar)
Formato expandido y esencial
35
Plantilla usecases.org
Actor Principal
Personas involucradas e Intereses
Precondiciones
Postcondiciones
Escenario Principal (Flujo Básico)
Extensiones (Flujos Alternativos)
Requisitos especiales
Tecnología y Lista Variaciones de datos
Frecuencia
Cuestiones abiertas
36
Ejemplo: Terminal Punto de Venta
Realizar Venta
Cajero Cliente
Registrar Productos
Casos de Uso
Inicia
Gerente
Gestion Usuarios
Administrador
Sistema
37
Caso de uso “Realizar Venta”
38
Caso de uso “Realizar Venta”
Flujo Básico:
1. A: El cliente llega al TPV con los artículos.
2. A: El cajero inicia una nueva venta
3. A: El cajero introduce el identificador de cada artículo.
4. S: El sistema registra la línea de venta y presenta descripción del
artículo, precio y suma parcial.
El Cajero repite los pasos 3 y 4 hasta que se indique.
5. S: El Sistema presenta el total
6. A: El Cajero le dice al Cliente el total a pagar
7. S: El Cliente paga y el sistema gestiona el pago.
8. S: El Sistema registra la venta completa y actualiza Inventario.
9. S: El Sistema presenta recibo
39
Caso de uso “Realizar Venta”
40
Caso de uso “Realizar Venta”
Requisitos especiales:
- Interfaz de usuario con pantalla táctil en un monitor de pantalla
plana. El texto debe ser visible a un metro de distancia.
- Tiempo de respuesta para autorización de crédito de 30 sg. El 90%
de las veces
...
Lista de Tecnología y Variaciones de Datos:
- El identificador podría ser cualquier esquema de código UPC, EAN,..
- La entrada de información de la tarjeta se realiza mediante un lector
de tarjetas.
...
Cuestiones Pendientes:
- Explorar cuestiones de recuperación de accesos a servicios remotos
- ¿Qué adaptaciones son necesarias para diferentes negocios?
41
Diagramas de estado de casos
de uso
introducirArticulo
finalizarVenta
EsperandoPago
realizarPagoEnEfectivo
Autorizando
Pago
realizarPagoACredito
Procesar Venta
realizarPagoConCheque
42
Elaboración de casos de uso
¿Cuándo?
Al principio de la iteración en formato extendido y
esencial, se refinan a lo largo de las iteraciones
¿Dónde?
En talleres de captura de requisitos
¿Quién?
Usuarios finales, clientes, desarrolladores
¿Cómo? (Herramientas)
Herramientas de requisitos web-enabled integradas
con un procesador de texto (texto cdu) y
herramientas CASE UML (diagramas de cdu)
43
Recomendaciones sobre casos
de uso
Define bien los límites del sistema.
Los actores interaccionan con el sistema.
Pregunta qué quieren los actores del sistema:
Objetivos.
Distingue el flujo normal de los flujos alternativos.
Lo importante es escribir la descripción del caso
de uso, no dibujar diagramas de casos de uso.
Uso limitado de las relaciones include y extend
44
Recomendaciones sobre casos
de uso
Usa include para factorizar parte de un flujo que
aparece en varios casos de uso.
Las extensiones pueden incluirse dentro del caso
de uso base como flujos alternativos en vez de
incluir casos de uso aparte.
El propio sistema puede disparar casos de uso.
No incluir casos de uso CRUD; casos de uso Crear
y Consulta si son relevantes.
No especificar casos de uso que incluyan detalles
de diseño de interfaces de usuario.
45
Modelo Conceptual (o Dominio)
Representa el vocabulario del dominio:
ideas, conceptos, objetos
No son modelos de elementos software
Clases conceptuales
Clases no incluyen operaciones, sólo
atributos
Atributos: números o texto
Asociaciones entre clases
46
Identificar Clases Conceptuales
Si se hace modelado del negocio:
“Los objetos información, entrada y salida de las
actividades de los diagrama de proceso, representan
entidades y conceptos del dominio”.
Una clase conceptual para cada información
relevante.
De la especificación del diccionario se extraen:
atributos, asociaciones, restricciones
Se refina a lo largo de las iteraciones
“Más vale que sobren clases que falten”
47
Del Modelo del Negocio al
Modelo Conceptual
Objeto información “Pedido” (modelo del negocio)
48
Identificar Clases Conceptuales
49
Identificar Clases Conceptuales
51
EspecificaciónTarea
Cliente Pedido
1 1..n 1
1
1
Modelo Plantilla 1..n Tarea Puesto Producción
1 1 1..n 1
1 1
Propio EnCatalogo 1
OrdenTarea
0..n
LineaMaterial
Material
53
Identificar Asociaciones
Lista de Asociaciones (continua)
A es una línea de una transacción o informe B
A es conocido/registrado/informado/capturado en B
A es miembro de B
A es una subunidad organizacional de B
A usa o maneja a B
A comunica con B
A está relacionado a una transacción B
A es el siguiente a B
A es apropiado por B
A es un evento relacionado con B
54
Identificar Asociaciones
“Encontrar clases conceptuales es más importante
que encontrar asociaciones. Se debe dedicar más
tiempo a encontrar clases conceptuales que
asociaciones”
55
Asociaciones en TPV
A es parte física de B
TPV-Caja
A es parte lógica de B
LineaVenta-Venta
A está físicamente contenida en B
Item-Tienda, TPV-Tienda
A está lógicamente contenida en B
EspecificacionProducto-CatalogoProductos
A es una descripción de B
EspecificacionProducto-Item
56
Asociaciones en TPV
A es una línea de una transacción o informe B
LineaVenta-Venta
A es conocido/registrado/informado/capturado en B
Venta-TPV
A es miembro de B
Cajero-Tienda
A usa o maneja a B
Cajero-TPV, Gerente-TPV
A comunica con B
Cliente-Cajero
A está relacionado a una transacción B
Cliente-Pago, Cajero-Pago
A es el siguiente a B
LineaVenta-LineaVenta
A es apropiado por B
TPV-Tienda
57
Atributos
Son valores de tipos de datos: Identidad no tiene sentido
Tipos Primitivos: Boolean, Date, Numero, Time, String
Tipos no primitivos: Direcciones, Colores, Número Tlfno,
Número Seguridad Social, DNI, Código de Producto
Universal, Código Postal,..
Tipos no primitivos se deben modelar como clases si:
Están formados por varias partes
Son aplicables las operaciones
Tiene otros atributos
Es una cantidad con una unidad
No utilizar atributos como claves ajenas
58
Documentos de Análisis Requisitos
Casos de Uso
Especificación Complementaria
Captura otros requisitos
Glosario
Captura términos y definiciones
Visión
Define visión del producto de las personas
involucradas, en términos de sus necesidades y
características.
59
Especificación Complementaria
Funcionalidad
Abarca varios casos de uso
Ej. “Almacenar información errores”, “Cualquier uso requiere
autenticación de usuario”
Requisitos No Funcionales (Atributos de calidad)
Usabilidad, Mantenimiento, Adaptación, Fiabilidad, Rendimiento
Restricciones Implementación (hardware, software, desarrollo)
Componentes comprados y free open source
Interfaces
Reglas de Negocio (Ej. Reglas de descuento, Cálculo impuestos)
Cuestiones Legales
Cuestiones sobre el entorno físico y operacionales
Información en dominios relacionados
60
Visión
Oportunidad
Definición del problema
Alternativas
Descripción personal involucrado (stakeholder)
Objetivos usuario
Perspectiva del producto
Beneficios del producto
Lista de características del producto
Coste y precio
Otros requisitos y restricciones
61
Lista de Características del
Sistema
Alguna funcionalidad no puede ser asignada a un
caso de uso:
“El sistema debe hacer transacciones con sistemas
externos de inventario, contabilidad y cálculo de
impuestos”
Para algunas aplicaciones conviene más una lista
de características que casos de uso
Ej. Servidor de aplicación
62
¿Qué hacemos primero?
1. Escribir un borrador poco elaborado de la Visión
en la Etapa Inicial
2. Identificar objetivos del usuario y casos de uso
para ellos
3. Escribir algunos casos de uso y comenzar
Especificación Complementaria
4. Refinar Visión
63
Elaboración de Requisitos y
Visión
¿Cuándo?
Etapa Inicial, un poco
Modelado de requisitos en cada iteración
¿Dónde?
Inicio en talleres de requisitos, se completa después
¿Quién?
Analista de sistemas, Arquitecto Software, Usuarios
¿Cómo?
Herramientas de requisitos web-enabled integradas
con un procesador de texto
64
Casos de uso e iteraciones
Asignar prioridad a casos de uso
Escribir casos de uso en su forma expandida
Asignar casos de uso a iteraciones.
Varias versiones de un caso de uso complejo,
para añadir complejidad de modo incremental.
Necesidad de comunicación con el usuario
Al final un caso de uso esencial se transforma
en su forma concreta.
65
Iteraciones
Dirigidas por el riesgo
Asociar a cada caso de uso un nivel de riesgo e
importancia para el negocio
Comenzar pronto con la programación
Realizar pruebas
Rápida retroalimentación
Se obtiene la arquitectura en las primeras
iteraciones
66
Prototipo Inicial
Utilizar los casos de uso.
Incluye las interfaces de usuario
Sirve para validar los requisitos: analista y
usuarios llegan a un acuerdo sobre la
funcionalidad y vocabulario.
Prototipo desechable
Fácil de construir con herramientas visuales.
67
RESUMEN de requisitos
68
Fase II
Requerimientos( ASI )
Objetivos de la Fase
Obtener una especificación detallada
del Sistema de Información que
satisfaga las necesidades de
Información de los usuarios y sirva de
base para el diseño posterior del
sistema.
69
Fase II
Requerimientos
Actividades
ASI 1. Requerimientos del Sistema de
Información
ASI 2. Análisis de los Casos de Uso
ASI 3. Análisis de Clases
ASI 4. Análisis de Paquetes
ASI 5. Especificación de Interfaces con otros
sistemas
70
Fase II \ Actividad 1
Participantes
Analista de sistemas (responsable de toda la
actividad)
Equipo de Usuarios
71
Fase II \ Actividad 1
Práctica
Sesiones de Trabajo
Catalogación
Prototipeo
72
Fase II \ Actividad 1
73
Fase II \ Actividad 1 \ Tarea 1
74
Fase II \ Actividad 1 \Tarea 1
75
Fase II \ Actividad 1 \ Tarea 2
Funcionales
RF03 Mantenimiento de Los nuevos usuarios o cambios en 2
usuarios los usuarios antiguos debe ser
administrado por el supervisor
RF04 Registrar resultados de Debe permitir realizar el registro de 5
Son los
examen clínico los resultados del examen clínico
RF05 Gestión de Historias Se debe permitir la apertura, 5
Clínicas actualización o baja de las historias
especificos del
resultados del examen clínico dental
y al criterio del odontólogo.
RF08 Mantenimiento Debe permitir el mantenimiento de 2
Generales tratamientos, pacientes
implementar.
espacio para la atención del cliente.
RF10 Manejo de descuentos Debe permitir la realización de 3
descuentos por parte del odontólogo
de acuerdo a los pacientes.
RF11 Registrar resultados de El sistema debe permitir registrar 5
intervención los resultados después de cada
intervención así como las
observaciones.
RF12 Manejo de Debe permitir a los odontólogos el 5
Odontogramas manejo de odontogramas
permitiéndole modificar, guardar los
datos necesarios como los estados
de las piezas dentales.
RF13 Control de Ingresos El sistema debe permitir el calculo 3
de los ingresos percibidos durante el
mes
RF14 Registro de Gastos El sistema debe permitir el registro
de todos los gastos realizados
3
76
Fase II \ Actividad 1 \ Tarea 2
Funcionales
sistema semanalmente una copia de
seguridad de la base de datos así
como su recuperación.
Son los RNF03 Reparar base de Datos Debe permitir compactar
contenido de la base de datos
el 3
Se elabora el
Diagrama y
la
descripción
de los CU del
Sistema.
78
Fase II \ Actividad 1 \ Tarea 3
Negocio
Sistema
79
Fase II \ Actividad 1 \ Tarea 3
Extensiones:
Flujo de Eventos
limpio.
2. El asistente comienza una nueva apertura de historia clínica.
1-3.a.-El paciente le pide al asistente que cancele la apertura de historia clínica.
1.- El asistente cancela la apertura de historia clínica.
4. a.- El sistema encuentra algún fallo para comunicarse con la base de datos.
1.-El sistema reinicia el servicio y continua
1. a.- El sistema detecta que el servicio no se reinicia.
1.- El sistema señala el error.
2.- El asistente cancela la apertura de historia clínica.
6. a.- El sistema encuentra algún fallo para comunicarse con la base de datos.
1.-El sistema reinicia el servicio y continua
1. a.- El sistema detecta que el servicio no se reinicia.
1.- El sistema señala el error.
2.- El asistente cancela la apertura de historia clínica.
REQUERIMIENTO ASOCIADO
RF02 Registro de pacientes
80
RF05 Gestión de historias clínicas.
Fase II \ Actividad 1 \ Tarea 4
Se realiza un
prototipo de
las pantallas
del sistema.
81
Fase II \ Actividad 1 \ Tarea 5
82
Fase II \ Actividad 1 \ Tarea 6
83
Analisis y Diseño de Sistemas
FIN Sesión 11