Documente Academic
Documente Profesional
Documente Cultură
Proyecto Prctico
de Ingeniera de Requisitos
Curso 2010-2011
Gonzalo Gnova
Presentacin
http://www.ie.inf.uc3m.es/grupo/docencia/reglada/Is1y2/IS1.htm
http://www.ie.inf.uc3m.es/grupo/docencia/reglada/Is1y2/PDS.htm
Objetivos de la asignatura
Aprender...
Desarrollar capacidades
Equipos de 4 alumnos
Trabajo en 2+2 fases (URD/SRD + ADD/DDD)
Actividades en cada fase
Desarrollo y documentacin del proyecto conforme al ndice de la prctica
recuento de horas dedicadas al proyecto y mtricas
contabilizadas al principio de cada documento
enviadas aparte por correo segn las plantillas (horas, mtricas)
Sesiones de tutora por equipo
no se califica, pero asistencia obligatoria
Revisiones cruzadas
informes de revisin redactados conforme a las normas
Exposiciones en pblico y defensa del proyecto
entrega de transparencias impresas el primer da de exposiciones (2xPg!)
exposicin individual de una parte del proyecto
respuestas a los revisores y a los profesores
Proyecto Prctico de Ingeniera de Requisitos
Documentacin entregada
Descripcin de la prctica
URD: 15 a 20 pginas.
SRD: 30 a 40 pginas.
TOTAL: 45 a 60 pginas (sin contar ndices ni anexos). Trabajo excesivo?
Factor de penalizacin en la calificacin del documento por exceso de pginas.
penalizacin
1
1-(p-60)/60
0
0
60
Proyecto Prctico de Ingeniera de Requisitos
120
pginas
8
Nombre
Nombre
Ana Garca
25
35
60
Ana Garca
40
15
55
Juan Gmez
25
35
60
Juan Gmez
43
11
54
Isabel Lpez
25
35
60
Isabel Lpez
47
16
63
Pedro Fernndez
25
35
60
Pedro Fernndez
50
18
68
240
TOTAL 180
60
240
MAL
BIEN
9
Calendario de la asignatura
Clases tericas
Asistencia no controlada.
El examen de Test es un reflejo directo del aprovechamiento de las clases tericas, de ah la
importancia que se le da en la nota final.
Clases de laboratorio
Aprendizaje de herramientas.
Asistencia obligatoria.
Sirven para que el profesor pueda hacer un seguimiento efectivo del proyecto.
Aprovechad la tutora llevando un borrador bien trabajado.
Exposiciones/Revisiones
Asistencia obligatoria a todas las exposiciones, aunque no toque exponer.
Dos miembros exponen la prctica, dos responden a revisores y profesores.
Tiempo mximo de exposicin: 20 minutos entre ambos.
10
Evaluacin de la asignatura
Individual
Prctica
Teora
Equipo
Tutoras*
00% Exp/Preparacin
10%
Exp/Ejecucin
05% Documentacin
25%
Exp/Respuestas
05% Revisiones
05%
50%
10%
50%
50%
100%
11
Bibliografa
Ingeniera de requisitos
Eric Braude. Software Engineering. An Object-Oriented Perspective. John
Wiley & Sons, 2001.
Captulos 3 y 4
Ian Sommerville. Ingeniera del Software. Pearson-Addison Wesley, 2005.
Captulos 6 y 7
Roger Pressman. Ingeniera del software: un enfoque prctico, 6 ed. McGrawHill.
Captulos 7 y 8
12
Tema I
Requisitos del Usuario
13
Diseo
Documentos
Clsica
IEEE
ESA
Anlisis de
requisitos
Software
Requirements
Specification
(IEEE 830-1993)
User Requirements
Document
Diseo
arquitectnico
Diseo detallado
Software Design
Document
(IEEE 1016-1987)
Software Requirements
Document
Architectural Design
Document
Detailed Design
Document
14
El Estndar de la ESA
GENERAL
PRODUCTS
ESA Lite
15
Preguntas ms frecuentes
Proyecto Prctico de Ingeniera de Requisitos
16
Preguntas ms frecuentes
Proyecto Prctico de Ingeniera de Requisitos
17
18
Un caso prctico
Necesito algo para organizar mejor mis actividades, una
agenda para llevar al da mi horario, mis compromisos, etc.
x
x
x
x
x
x
x
x
x
x
x x x
x x x
x x x
MES
x x x
x x x
x
x
x
x
x
Da
x
x
x
x
x
Compromiso
Compromiso
Compromiso
19
1994
1996
1998
2000
2003
Proyecto exitoso
16%
27%
26%
28%
34%
Proyecto completo
pero deficiente
53%
33%
46%
49%
51%
Proyecto
cancelado
31%
40%
28%
23%
15%
20
Porcentaje
1996
1998
2000
2003
Aos
Proyecto exitoso
Proyecto cancelado
21
22
Lo que tienes
que hacer es...
Analista
Arquitecto
Cliente
Lo que tengo
que hacer es...
Diseador
23
Planificacin
Tiempo
Identificar
Entrevistar
[no conforme]
Escribir
Revisar
[conforme]
24
Textuales
Relativamente accesibles a un cliente sin formacin especfica
Texto en prosa comn y corriente
Texto estructurado, lenguaje tcnico
Casos de uso
Grficas
Requieren un cierto grado de formacin tcnica en el cliente
Tienen el peligro de convertir el anlisis de requisitos en diseo
Diagramas de flujo de datos
Diagramas de actividad
Diagramas de estados
Prototipos
No confundir con diseo, valorar la inversin
Interfaces de usuario
Protipado rpido
25
Beneficio
ptimo
GUI
simplificada
Recursos
malgastados
0%
Gasto efectuado
(% prototipo/total)
100%
Adaptado de E. Braude,
Software Engineering: An Object-Oriented Perspective
Proyecto Prctico de Ingeniera de Requisitos
26
27
28
Descubrir el objetivo
agencia de viajes
por internet
Patrn de
comportamiento
[no conforme]
[alternativas]
[conforme]
Objetivo
comprar billetes de avin por
internet facilitando la bsqueda
de tarifas baratas
Seleccionar un vuelo
[conforme]
[no conforme]
29
30
Asociaciones
Registrar
artculo
Modificar
datos de artculo
Consultar
lista de artculos
Vendedor
Casos de uso
Actores
Registrar
usuario
Observador
Pujar por
artculo
Comprador
Proyecto Prctico de Ingeniera de Requisitos
32
Actores
Un actor representa el rol que adopta una entidad externa que interacciona
directamente con el sistema.
Todo actor tiene un nombre.
Los actores significan roles, no entidades concretas:
Varias entidades concretas pueden desempear el mismo rol.
Una misma entidad concreta puede desempear varios roles.
33
Casos de uso
34
Actores cooperativos
Qu significa conectar varios actores a un mismo caso de uso?
Simular vuelo
Piloto
Entrenador
Include y Extend
Es posible definir relaciones entre casos de uso:
include: para describir un comportamiento comn reutilizable.
extend: para describir una variante del comportamiento base.
Sacar dinero
include
Validar
tarjeta
Inclusin
Base
Editar
documento
extend
Ayuda
Extensin
36
Actores
Objetivo
Precondiciones
Postcondiciones
Escenario bsico
37
Registrar artculo
Actores
Vendedor
Objetivo
Precondiciones
Postcondiciones
Artculo registrado
Escenario bsico
38
Escenarios alternativos
Nombre
Registrar artculo
Escenario bsico
Escenarios alternativos
Precondiciones y postcondiciones
Son una forma de refinar o especificar con ms detalle el objetivo del caso de
uso, mediante la descripcin del estado del sistema antes y despus de la
ejecucin del caso de uso:
Precondiciones: pueden ser comprobadas en la secuencia de acciones del caso
de uso, pero no realizadas en ese momento.
Postcondiciones: pueden referirse a la salida normal o a una excepcional.
Precondiciones
Registrar usuario
Postcondiciones
Usuario registrado
Registrar artculo
Pujar
Artculo registrado
40
sacar dinero
Validacin
Cambio de estado
Respuesta
entregar el dinero
41
Elementos principales:
Acciones: cada una de las unidades en que se descompone la actividad.
Transiciones: conexin entre el fin de una accin y el comienzo de otra.
Condiciones: deben ser expresiones booleanas mutuamente exclusivas.
42
Diagramas de actividad
Acciones y transiciones
Estados inicial y final
Decisiones y ramas alternativas
Sincronizacin de ramas concurrentes
Preparar desayuno
Abrir boca
Cortar
pan
Tomar alimento
Leer
peridico
Cerrar boca
[slido]
Beber
caf
Comer pan
[lquido]
[else]
Masticar
[terminado]
Limpiar cocina
Tragar
43
[sesin abierta]
44
Subactividades
Consultar lista
de artculos
[error]
Abrir sesin
Abrir sesin
[ok]
Mostrar lista de artculos con datos de vendedores
[sesin abierta]
[fin]
[mostrar pujas]
Seleccionar artculo
45
Formalizar la compra
Localizar la casa
Vendedor, Comprador
Formalizar la compra
SI del registro de
Formalizar la compra
la propiedad
Vendedor, Comprador,
Representante del banco,
Notario, SI del registro de la propiedad
Vendedor, Comprador,
Representante del banco, SI del banco,
Notario
46
Lo tico y lo legal
Primaca de lo tico
Funcin educadora de la ley
racionalidad
VIRTUD
(Sneca)
NORMA
(Kant)
autodominio
militar
rigorismo
disciplina
BIEN
(Epicuro)
da sentido
egosmo
felicidad
vividor
48
49
Cliente y
empleador
Producto
Juicio
Gestin
Profesin
Colegas
Personal
50
Tema II
Requisitos del Software
51
52
Diferencias RU-RS
Requisitos del Usuario
objetivo
fuente
usuario/cliente
usuario/cliente y analista
responsable
usuario/cliente
analista
audiencia
usuario/cliente (y desarrollador)
desarrollador (y usuario/cliente)
nfasis
conocimiento de expertos
modelado, mtodos formales
organizacin, no dejar cabos sueltos
consistencia y completitud
modelos
(modelo de dominio)
atributos
necesidad
(prioridad, estabilidad)
casos de
uso
nombre, actores
objetivo y escenario bsico
escenarios alternativos
pre- y post- condiciones
53
Adaptacin
ESA
URD / SRD
Modelo
lgico
Modelo de
requisitos
SRD
Modelo de
casos de uso
Modelo del dominio
Modelo de
anlisis
Modelo
conceptual
Modelo del
sistema
54
Requisitos no funcionales
Consumo de recursos
memoria, capacidad de trfico...
Rendimiento
velocidad, tiempo de respuesta...
Fiabilidad y disponibilidad
cuantificacin de fallos permitidos
Manejo de errores
errores del entorno, errores internos
Requisitos de interfaz
comunicacin con usuarios, con otras aplicaciones
Restricciones
exactitud, lenguajes y plataformas, arquitectura, estndares...
Seguridad
seguridad del sistema (security), seguridad de las personas (safety)
55
Matrices de trazabilidad
RU
0..*
1..*
1..*
RS
URD/SRD
RS1
RS2
RS3
X
X
Imp
ADD/DDD
1..*
RU
RS
Descripcin
RS
RU
1,2
1,3
2,4,5
RS4
RS5
Ttulo
56
Propiedades globales
Completitud
organizacin por tipos de requisitos
Consistencia
matriz de referencias cruzadas
Propiedades individuales
Tamao
Claridad
Comprobabilidad: validacin y verificacin
Condiciones de error
Atributos
Automticos: identificador, creador, fecha de creacin
Obligatorios: tipo, estado, descripcin breve.
Opcionales: descripcin detallada, fuente, necesidad, prioridad, estabilidad,
complejidad, riesgo, coste
57
R2
R1
R3
R4
R5
R6
R7
R2
R3
R4
R5
R6
+
x
x
+
R7
Conflicto (x)
Acoplamiento (+)
Redundancia (o)
Independencia
R1 y R5
R1 y R6
R4 y R5
R1 y R3
R3 y R4
R3 y R6
R4 y R7
(R7xR5, R7+R3)
R2
58
creado
eliminado
Propuesto
Validado
Implementado
Verificado
Cancelado
60
Configuracin de un proyecto
Propiedades globales de un proyecto: nombre, descripcin, ubicacin...
Atributos habilitados en funcin del tipo de requisito, valores desplegables.
61
Informes
Listado de requisitos: ordenacin, filtrado, atributos mostrados...
Estadsticas varias: ritmo de creacin/modificacin, conflictos...
Matrices de trazabilidad y consistencia.
Utilidades
62
DESARROLLADOR
Validabilidad
Completitud
Consistencia
Verificabilidad
Comprensibilidad
Precisin
Modificabilidad
Inambigedad
Trazabilidad Abstraccin
Atomicidad
Morfolgicos
Lxicos
Analticos
Relacionales
64
Objetos y clases
Atributos
Operaciones
Asociaciones
Propiedades bsicas: nombres, multiplicidad, navegabilidad
Relacin con otros elementos: atributos, operaciones
Generalizaciones
Generalizacin y clasificacin
Jerarquas de clases
65
Objetos y clases
66
p1 : Punto
posicinX = 3
posicinY = -5
instance of
Punto
posicinX
posicinY
situar( )
mover( )
instance of
p2 : Punto
posicinX = 0
posicinY = 2
p1 : Punto
p1
Punto
: Punto
Punto
posicinX
posicinY
Punto
situar( )
mover( )
67
Tipos de clases
Para entender lo que es una clase, hace falta entender cules sern sus
instancias. Un caso especial lo constituyen los objetos que representan una
coleccin, familia o tipo de cosas, ms que una cosa en s misma.
Ejemplos: raza perruna, producto a la venta, ttulo en la biblioteca.
Es decir, un mismo concepto del mundo real puede ser modelado como
objeto o clase segn el contexto:
Pastor Alemn
Lata de Atn
El Lenguaje Unificado de Modelado
68
Atributos
Atributo: propiedad compartida por los objetos de una clase
cada atributo tiene un valor (probablemente diferente) para cada objeto
69
Operaciones
Operacin: funcin o transformacin que puede aplicarse a los
objetos de una clase
pueden ser invocadas por otros objetos, o por el mismo objeto
mtodo: especificacin procedimental (implementacin) de una operacin
70
Enlaces y asociaciones
Asociacin:
especificacin de un conjunto
de enlaces
Vendedor
Artculo
representa la estructura y el
comportamiento del sistema
Estatuilla : Artculo
Enlace:
conexin entre objetos
determina una tupla de objetos
instancia de una asociacin
Juan : Vendedor
Ana : Vendedor
Cuadro : Artculo
Espejo : Artculo
71
Nombre de asociacin
subasta
Vendedor
Artculo
Persona
vendedor
artculo
Artculo
Nombres de rol
Los nombres de rol se pueden repetir en asociaciones distintas,
y pueden ser iguales que los nombres de las clases asociadas
Proyecto Prctico de Ingeniera de Requisitos
72
Multiplicidad de la asociacin
Artculo participa
obligatoriamente
0..1
1..1
0..*
1..*
vendedor
0..*
artculo
Artculo
Persona participa
opcionalmente
Valores tpicos:
Persona
1..1
cero o uno
uno y slo uno (abreviado como 1)
desde cero hasta muchos (abreviado como *)
desde uno hasta muchos
Otros valores:
rangos enteros: (2..*), (0..3), etc.
lista de rangos separados por comas: (1, 3, 5..10, 20..*), (0, 2, 4, 8), etc.
Proyecto Prctico de Ingeniera de Requisitos
73
Navegabilidad de la asociacin
No confundir:
direccin del nombre de la asociacin: asimetra lingstica
navegabilidad o direccionalidad de la asociacin: asimetra comunicativa
Vendedor
Vendedor
Vendedor
subasta
subasta
subasta
Artculo
Navegabilidad no especificada
Artculo
Asociacin unidireccional
Artculo
Asociacin bidireccional
74
Punto
posicinX
Coordenada
posicinY
posicinX
Coordenada
posicinY
75
Persona
conduce
Vehculo
Vehculo
Persona
posee
arrancar( )
conducir( )
detener( )
detiene
Proyecto Prctico de Ingeniera de Requisitos
76
Generalizacin y clasificacin
Generalizacin: clase-clase.
Gato es un tipo de Mamfero, Mamfero es un tipo de Animal.
Clasificacin: objeto-clase.
Fluti es un Gato, Fluti es un Mamfero, Fluti es un Animal.
Gato
Mamfero
Animal
instance of
Fluti
77
Generalizacin y especializacin
Dos puntos de vista complementarios:
Generalizar es identificar las propiedades comunes (atributos,
asociaciones, operaciones) de varias clases y representarlas en una clase
ms general denominada superclase.
Elevar el nivel de abstraccin, reducir la complejidad, organizar.
Especializar es capturar la propiedades especficas de un conjunto de
objetos dentro de una clase dada, que an no han sido distinguidas en
ella, y representarlas en una nueva clase denominada subclase.
Reutilizar un concepto aadiendo propiedades variantes.
78
Jerarquas de clases
Representaciones alternativas:
- relaciones binarias
- estructura en rbol
Bicicleta
Terrestre
Transporte
Automvil
Areo
Ferrocarril
Avin
Transporte
Helicptero
Terrestre
Generalizacin:
- no-reflexiva
- transitiva
- asimtrica
Bicicleta
Automvil
Areo
Ferrocarril
Avin
Helicptero
79
Dimensiones de especializacin
CuentaPersonal
CuentaSocial
CuentaEuro
CuentaDlar
Restricciones:
disjoint/overlapping: las subclases no pueden tener instancias en comn / o s.
complete/incomplete: no hay otras subclases / o s.
80
CuentaCorriente
CuentaPersonal
CuentaCorriente
CuentaEuro
CuentaPersonal
CuentaPersonalEuro
CuentaEuro
instance of
instance of
instance of
miCuenta
miCuenta
81
Alternativa a la doble
especializacin
Coche
Especializacin
exagerada?
color
CocheAzul
CocheVerde
CocheRojo
82
Diagrama de clases
captura y especifica el vocabulario del sistema:
elementos: clases, atributos, operaciones...
relaciones: asociaciones, generalizaciones...
estructura del sistema, fundamento de su comportamiento
sugerencias para mejorar la comunicacin:
nombres adecuados: clases, atributos, operaciones, asociaciones, roles
distribucin espacial de los elementos
evitar cruces de lneas
distinto nivel de detalle segn el propsito y nivel de abstraccin
Diagrama de objetos
ilustra la estructura del sistema mediante situaciones particulares
fotografa del sistema: objetos, valores de atributos; enlaces
las instancias deben conformarse a sus especificaciones
objetos, enlaces clases, asociaciones
las especificaciones pueden estar representadas en distintos diagramas
83
Sociedad
accionista
Persona
empleado
Sociedad
Limitada
Acme : Sociedad
accionista Clara : Persona
Emca : Limitada
empleado
Pedro : Persona
empleado
84
85
86
Restricciones y notas
Vendedor
nif {regla nif}
nombreDescriptivo
nombreUsuario
contrasea
falta determinar
las subclases
de Sociedad
Sociedad
accionista
Persona
empleado
{ningn accionista
puede ser empleado}
Proyecto Prctico de Ingeniera de Requisitos
87
Restricciones en asociaciones
0..1
Persona
{xor}
Cuenta
*
Vuelo
Sociedad
origen 1
destino 1 Aeropuerto
0..*
{ordered} escala
Cliente
*
reserva
Mesa
88
Un mismo concepto puede ser modelado a la vez como actor y como clase:
Actor: representa entidades externas al sistema.
Clase: representa entidades modeladas dentro del sistema.
Vendedor
Modificar
datos de artculo
Vendedor
nif
nombreDescriptivo
nombreUsuario
contrasea
subasta
registra
modifica
Artculo
descripcinBreve
descripcinAmpliada
fotografa
precioSalida
89
Asociaciones reflexivas
jefe
0..* amante
dirige
Empleado
0..*
Persona
subalterno
ama
0..* amado
90
Titulacin
0..*
matriculado
Alumno
0..*
pertenece
1..*
Asignatura
matriculado
0..*
91
Agregacin
0..*
1..*
Pieza
0..*
m1 : Mquina
p1 : Pieza
p2 : Pieza
m2 : Mquina
92
Composicin
Escuadrilla
0..3
1..*
Avin
0..*
0..2
Piloto
0..1
1
Cabina
Fuselaje
2
Ala
93
A
+B
-C
94
Clase-asociacin
Tiene todas las propiedades de una clase y de una asociacin:
atributos, operaciones y asociaciones con otras clases.
conexin entre clases que especifica enlaces entre ellas.
multiplicidad, navegabilidad, agregacin...
1..*
trabaja-para
0..*
Empresa
trabaja-para 0..*
pagar-en
sueldo
pagar( )
Cuenta
95
Persona
1..*
trabaja-para
0..*
Empresa
trabaja-para
sueldo
pagar( )
Persona
1
Empresa
clase intermedia
Proyecto Prctico de Ingeniera de Requisitos
96
Asociacin n-aria
Multiplicidad engaosa:
nmero permitido de instancias para cualquier posible combinacin de
instancias de las otras n-1 clases
la multiplicidad mnima suele ser 0
efecto rebote del uno: la multiplicidad mnima 1 (o superior) en un extremo
implica que debe existir un enlace (o ms) para cualquier posible combinacin de
instancias de los otros extremos
Un equipo enlazado con una
temporada siempre tiene un
*
*
Equipo
Temporada
entrenador asignado: no hay
enlaces cojos.
0..1
Entrenador
Equipo
Temporada
0..1
Entrenador
?
Equipo
ETE
Temporada
*
1
Entrenador
clase intermedia
98
Instalacin
Descarga (previo registro): http://www.kr.inf.uc3m.es/reqstudio/.
Requisitos HW
Pentium IV 2,4 GHz 512 MB o similar
Requisitos SW
Microsoft Windows XP Service Pack 2
.NET Framework 2.0
Herramientas ofimticas:
Microsoft Office Word: para la generacin de informes.
Microsoft Office Excel: para la generacin de tablas.
Microsoft Office Access: para exportacin/importacin.
Servidor: Microsoft SQL Server 2005 Express Edition.
100