Sie sind auf Seite 1von 48

Maestra en Computacin aplicada

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?

Definicin de requerimiento (IEEE)


1. Una condicin o capacidad necesitada por un
usuario para resolver un problema o alcanzar un
objetivo
2. Una condicin o capacidad que debe tener un
sistema o componente del sistema para satisfacer
un contrato, un estndar, especificacin u otro
documento formalmente acordado
3. Una representacin documentada de una condicin
o capacidad, como se indica en los puntos
anteriores
4

Caractersticas de un
requerimiento
Correcto
Claro

Verificabl
e

Consistent
e

requerimie
nto

Priorizad
o

Complet
o

Factible

Modificabl
e

Necesari
o

Requerimientos del negocio


Representa los objetivos de alto nivel, en general
las necesidades del cliente
Establecen los beneficios que los clientes esperan
recibir del sistema
Por qu la organizacin requiere del software?
Documentacin que podra resultar:
Documento de visin y alcance
Documento de caso de negocios
Project charter
6

Requerimientos del usuario


Describe lo que los usuarios podrn realizar con el
sistema
Requerimientos de software desde el punto de vista
del usuario
Describe las tareas que los usuarios harn con el
SW
Posible documentacin resultante:
Casos de uso
Escenarios
Historias de usuario
7

Requerimientos del sistema


Estn
definidos
de
una
manera
estructurada, y adems de los servicios y
restricciones del sistema, da nociones
concisas
de
cmo
debera
ser
implementado
Qu requerimientos de alto nivel se tienen
para el producto (hardware y software)

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:

Documento de especificacin de requerimientos de software (ERS)

Qu funciones debe tener el sistema para que el usuario


pueda realizar sus tareas?
9

Requerimientos no funcionales
Restricciones
aplicadas
sobre
funcionalidades del sistema como:

las

restricciones de tiempo,
sobre el proceso de desarrollo,
recursos,
dominio del negocio.

Definen las propiedades y restricciones del


sistema a construir o sobre el proceso que lo
construir
Los requerimientos no funcionales, suelen ser
mas crticos que los funcionales, dado que su
incumplimiento puede hacer intil el sistema.10

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

La interfaz del usuario deber ser implementada con HTML


simple sin marcos o applets java

Requerimiento Organizativo

El proceso de desarrollo del sistema y los productos a entregar


deben ajustarse al proceso y a los productos a entregar
definidos en el IEEE-nnn.

Requerimiento externo

El sistema no deber revelar a sus operadores alguna


informacin personal de los clientes excepto su nombre y
nmero de referencia
12

Mtricas para especificar


requerimientos no funcionales

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

Existen personas responsables por aprobar los


cambios.
Los cambios son comunicados a todos los
grupos involucrados.
El proyecto incorpora los cambios
requerimientos en forma disciplinada.

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

Costo relativo de corregir un defecto


en requerimientos

36

UML
(UNIFIED MODELING LANGUAGE)

Unified Modeling Language


Lenguaje utilizado para especificar, visualizar y
documentar modelos de un producto software,
incluyendo su estructura y diseo, de tal forma que
considere todos los requerimientos.
Tambin puede utilizarse
para modelado de
procesos de negocio y sistemas distintos a
software.

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

Cmo se creo UML?

40

Objetivos en el diseo de UML


Modelar sistemas, desde los requisitos
hasta los artefactos ejecutables, utilizando
tcnicas OO.
Cubrir las cuestiones relacionadas con el
tamao propias de los sistemas complejos
y crticos.
Lenguaje utilizable por las personas y las
mquinas
Encontrar equilibrio entre expresividad y
simplicidad.
41

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

Diagrama de casos de uso


Diagrama de actividades
Diagrama de estado

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

Por qu las empresas no hacen


modelado?
La mayor parte de las empresas software
no realizan ningn modelado.
El modelado requiere:
aplicar un proceso de desarrollo
formacin del equipo en la tcnicas
tiempo

Se obtienen beneficios con el modelado?

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

Gracias por su atencin

Das könnte Ihnen auch gefallen