Académique Documents
Professionnel Documents
Culture Documents
Ingeniera de Software I
Requerimientos de
Software, UML
MC. Yesenia Hernndez Velzquez
yhernandez@lania.mx
Enero 2015
Objetivos
Requerimientos de software
Entender trminos clave en la ingeniera de requerimientos
Distinguir requerimientos
Identificar algunos problemas que pueden surgir
relacionados a los requerimientos
Identificar caractersticas de alta calidad de un conjunto de
requerimientos
UML
Revisar antecedentes de Unified Modeling Language
Verificar objetivos principales, aplicacin y diagramas que lo
conforman.
REQUERIMIENTOS DE SOFTWARE
Caractersticas de un requerimiento
Correcto
Claro
Consistente
Verificable
Completo
requerimiento
Priorizado
Factible
Modificable
Necesario
Requerimientos funcionales
Lo que los usuarios necesitan para que el sistema
funcione
Incluye las cosas que los usuarios requieren que el
sistema realice
Es el ejercicio de detallar que funciones soportar el
sistema, como vern y sentirn los usuarios el sistema
Documentacin resultante:
Requerimientos no funcionales
Restricciones aplicadas sobre las funcionalidades del
sistema como:
restricciones de tiempo,
sobre el proceso de desarrollo,
recursos,
dominio del negocio.
Requerimientos no funcionales
NO funcionales
Del producto
Usabilidad
Eficiencia
Rendimien
-to
Fiabilidad
Memoria
Organizacionales
Portabilidad
Fechas de
entrega
Implementacin
Externos
Aplicacin
de
estndares
Interopera
bilidad
ticos
Legislativos
Seguridad
Confidencialidad
Ejemplos de requerimientos no
funcionales
Requerimiento del producto
Requerimiento Organizativo
Requerimiento externo
12
13
Qu no es un requerimiento?
Detalles de diseo o implementacin
Informacin sobre planeacin del proyecto
Informacin de pruebas
Limites presupuestales
Calendario de construccin
14
Actividad:
Identificar al menos un requerimiento de cada tipo tomando en
cuenta el siguiente enunciado:
Un sistema automtico de expedicin de boletos vende boletos de
tren. Los usuarios seleccionan su destino e introducen una tarjeta
de crdito y un nmero de identificacin personal.
El boleto de tren se expide y se carga su cuenta de la tarjeta de
crdito.
Cuando el usuario presiona el botn de inicio, se activa un men
que muestra la lista de destinos, junto con un mensaje para el
usuario que le indica que seleccione el destino
Una vez que se ha seleccionado un destino, se pide a los usuarios
que introduzcan su tarjeta de crdito
Se comprueba su validez y entonces se le pide introducir su
identificacin personal. Cuando la transaccin de crdito se haya
validado, se expide el boleto.
15
Ingeniera de requerimientos
Recopilacin
Aceptacin de
requerimientos
Verificacin
Anlisis de
requerimientos
Especificacin
de
requerimientos
Administracin de requerimientos
16
Clientes:
inician un proyecto
Desarrolladores: disean,
programan, mantienen y
prueban el SW.
Personal de ventas y
soporte: Promocionan el
SW
17
Recopilacin de requerimientos
Proceso de identificar y entender las necesidades y restricciones del
producto
Mayor interaccin con el usuario
Se recurre a la utilizacin de tcnicas de levantamiento de
requerimientos:
Entrevistas
Encuestas
Talleres de requerimientos
Lluvia de ideas
Prototipos
Escenario
Historias de usuarios
Casos de uso
Juego de roles
18
Actividades
1.Identificar los requerimientos de negocio y desarrollar un documento de
visin y alcance
2.Definir un procedimiento para especificacin de requerimientos
3.Identificar los diferentes tipos de usuario
4.Identificar y seleccionar a los expertos del negocio (usuarios clave)
5.Establecer grupos de usuarios clave para la identificacin de los
requerimientos
6.Identificar necesidades de usuarios
7.Preparar y realizar talleres que faciliten la obtencin de requerimientos
8.Observar a los usuarios realizar su trabajo cotidiano y analizar sus flujos
de trabajo
9.Identificar los atributos de calidad y/o restricciones
Recopilacin de requerimientos
analysis Business Workflow s
goal
Obtener requerimientos
funcionales y no
funcionales
Input: Procedimiento para
especificacin
result
Lista de stakeholders y
grupos de trabaj o
Solicitud de
desarrollo o
mantenimiento
de Software
Obtencin de requerimientos
result
Documento de v ision y
alcance
information
Fluj os de trabaj o de
usuarios
information
Restricciones o atributos
de calidad
20
Anlisis de requerimientos
Refinar, analizar y
Asegurar
examinar/escudriar los
requerimientos obtenidos para
asegurar que todos los
stakeholders entienden lo que
pidieron, y para encontrar
errores, omisiones y otras
deficiencias
Aclarar
Representar
21
Actividades de anlisis
1. Dibujar un diagrama de contexto
2. Asociar requerimientos a subsistemas para dividir el
problema
3. Analizar la factibilidad de los requerimientos
4. Priorizar los requerimientos
5. Modelar los requerimientos (modelos grficos como casos
de uso)
6. Crear interfaces de usuario (un prototipo si es necesario)
7. Crear un glosario (modelo de dominio)
Productos generados
class Business Workflow s
input
Lista de
stakeholders y
grupos de trabaj o
input
Documento de v ision y
alcance
input
Fluj os de trabaj o de
usuarios
goal
Representar, aclarar y
entender
requerimientos
input
Restricciones o
atributos de calidad
Prototipos
Anlisis de
factibilidad
Anlsis de requerimientos
Solicitud de
desarrollo o
mantenimiento
de Software
Requerimientos no
funcionales
Requerimientos
priorizados
Modelado de
requerimientos (UML,
BPMN, Diag. de contexto,
etc.)
Especificacin de requerimientos
Documentacin de la solucin
propuesta incluyendo una
descripcin completa de las
funcionalidades del sistema
830
24
Actividades en la especificacin de
Requerimientos
Elaborar las especificaciones tcnicas (Technical Specification)
25
Productos generados
dfd Business Workflow s
Requerimientos
priorizados
input
Restricciones o atributos
de calidad
Prototipos
Requerimientos no
funcionales
Modelado de
requerimientos (UML,
BPMN, Diag. de contexto,
etc.)
Especificacin de requerimientos
Solicitud de
desarrollo o
mantenimiento
de Software
goal
Generar
especificacin del
Sistema
result
Documento de
especificacin
information
Matriz de trazabilidad
Verificacin de requerimientos
Asegurar que se realiz una
descripcin correcta del
comportamiento y
caractersticas del sistema
Cubrir las caractersticas
deseables de los
requerimientos
Completo,
consistente,
correcto,
factible,
modificable,
necesario,
priorizado,
verificable,
rastreable,
claro
Actividades
1. Realizar inspecciones de los requerimientos
2. Aplicar pruebas a los requerimientos
3. Definir los criterios de aceptacin para los
productos de los requerimientos
Productos generados
dfd Verificacion
Matriz de trazabilidad
Modelado de
requerimientos (UML,
BPMN, Diag. de contexto,
etc.)
Prototipos
Documento de
especificacin
goal
Asegurar calidad de
requerimientos
Listas de v erificacin
aplicadas
Verificacin de requerimientos
Solicitud de
desarrollo o
mantenimiento
de Software
information
Observ aciones a artefactos
v erificados
Casos de prueba
Aceptacin de requerimientos
Actividades
Presentar la especificacin de requerimientos
Formalizar el compromiso hacia la
especificacin de requerimientos por todos los
involucrados en el proyecto
Obtener la aprobacin por parte del cliente
Productos generados
dfd Aceptacion
Modelado de
requerimientos (UML,
BPMN, Diag. de contexto,
etc.)
Documento de
especificacin
Requerimientos
priorizados
Casos de prueba
goal
Obtener acuerdo sobre
alcance y especificacin del
sistema
Prototipos
information
Aceptacin general
de alcance
Aceptacin de requerimientos
Solicitud de
desarrollo o
mantenimiento
de Software
information
Plan de iteraciones
information
Acuerdo y
aceptacin de
requerimientos de
primera iteracion
Administracin de requerimientos
33
Control de cambios
Los cambios propuestos
cuidadosamente.
son
evaluados
34
Control de versiones
Cada versin de los documentos de
requerimientos debe ser identificada en forma
nica
36
UML
(UNIFIED MODELING LANGUAGE)
38
Resea histrica
Comenz como una iniciativa de Grady Booch y Jim Rumbaugh en 1994
para combinar las notaciones visuales de sus conceptos (Metodologa
de Booch y Tcnica de desarrollo de Objetos [OMT])
En 1995 Ivar Jacobson, creador de OOSE (Ingeniera de software
orientada a objetos) se uni al proyecto
En 1997 la versin 1.0 de UML fue propuesta como metamodelo
orientado a objetos de semntica y notacin estndares
39
40
41
Diagramas UML
Estructura
Diagrama de clases
Diagrama de objetos
Diagrama de paquetes
Diagrama de estructura compuesta
Diagrama de componentes
Diagrama de perfiles
Diagrama de despliegue
Contenido
Iteracin
Diagrama de secuencia
Diagrama de colaboracin o Comunicacin
Diagrama de tiempo
Diagrama de interaccin
42
Diagramas UML
43
Ventajas
Representacin de diferentes vistas (diseo y
documentacin)
Ahorro de tiempo en el desarrollo de software
Deteccin de errores
Mejora la comunicacin en el equipo
Puede facilitar modificaciones futuras
44
Desventajas
Algunos diagramas son redundantes o poco
usados
Semntica imprecisa
Su aplicacin podra extenderse y ser poca
efectiva
Extenso
45
46
Problemas en el desarrollo de
software?
Retrasos en los plazos
Proyectos cancelados
Rpido deterioro del sistema instalado
Tasa de defectos o fallos
Requisitos mal comprendidos
Cambios frecuentes en el dominio del problema
Muchas de las interesantes caractersticas del
software no proporcionan beneficios al cliente
Modelado es la solucin?
47