Vous êtes sur la page 1sur 48

Maestra en Computacin aplicada

Ingeniera de Software I

Requerimientos de
Software, UML
MC. Yesenia Hernndez Velzquez
yhernandez@lania.mx

Enero 2015

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? Por qu? 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

Caractersticas de un requerimiento
Correcto
Claro
Consistente

Verificable

Completo

requerimiento

Priorizado

Factible

Modificable

Necesario

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

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

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 las funcionalidades del
sistema como:
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 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

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
Recopilacin

Aceptacin de
requerimientos

Verificacin

Anlisis de
requerimientos

Especificacin
de
requerimientos

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 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

Modelado de procesos de negocios

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)

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
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

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
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

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 de clases
Diagrama de objetos
Diagrama de paquetes
Diagrama de estructura compuesta
Diagrama de componentes
Diagrama de perfiles
Diagrama de despliegue

Contenido

Diagrama de casos de uso


Diagrama de actividades
Diagrama de estado

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

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

Modelado es la solucin?
47

Gracias por su atencin

Vous aimerez peut-être aussi