Beruflich Dokumente
Kultur Dokumente
Ingeniera de Software I
Requerimientos de
Software, UML
MC. Yesenia Hernndez Velzquez
yhernandez@lania.mx
Enero 2015
www.lania.mx
TODOS LOS DERECHOS RESERVADOS
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
Qu?Porqu?Quin?
Caractersticas de un
requerimiento
Correcto
Claro
Verificabl
e
Consistent
e
requerimie
nto
Priorizad
o
Complet
o
Factible
Modificabl
e
Necesari
o
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
funcionalidades del sistema como:
las
restricciones de tiempo,
sobre el proceso de desarrollo,
recursos,
dominio del negocio.
Requerimientos no funcionales
NO
funcionale
s
Organizacional
es
Del producto
Usabilid
ad
Eficienci
a
Rendimi
en-to
Fiabilida
d
Memoria
Portabilidad
Fechas
de
entrega
Impleme
n-tacin
Externos
Aplicaci
n de
estndar
es
Interope
rabilidad
ticos
Legislativ
os
Segurida
d
Confiden
-cialidad
Ejemplos de requerimientos no
funcionales
Requerimiento del producto
Requerimiento Organizativo
Requerimiento externo
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
Recopilaci
n
Aceptacin
de
requerimie
ntos
Verificacin
Anlisis de
requerimien
tos
Especificaci
n de
requerimie
ntos
Administracin de requerimientos
16
Involucrados en la fase de
requerimientos
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
requerimientos:
utilizacin
de
tcnicas
de
levantamiento
de
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
Modeladodeprocesosdenegocios
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
Represent
ar
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
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)
Identificar cada requerimiento (etiquetar)
Documentar reglas de negocio
Especificar los atributos de calidad
Crear la matriz de rastreabilidad
Descripcin detallada de interfaces internas y externas
Especificar reportes
Documentar casos de prueba
25
Productos generados
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
Aceptacin de requerimientos
Obtener la aprobacin
para la especificacin 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
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
Cada miembro del proyecto debe tener
acceso a la ltima versin de los
requerimientos y los cambios deben ser
claramente identificados
Se debe asignar una persona responsable
para actualizar requerimientos
35
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
Actualmente la ltima versin publicada es la 2.4.1
(2011)
39
40
Diagramas UML
Estructura
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
de
de
de
de
de
de
de
clases
objetos
paquetes
estructura compuesta
componentes
perfiles
despliegue
Contenido
Iteracin
Diagrama
Diagrama
Diagrama
Diagrama
de
de
de
de
secuencia
colaboracin o Comunicacin
tiempo
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
47