Documente Academic
Documente Profesional
Documente Cultură
Clase 3
Ingeniera de Requerimientos
(Toma, modelado, comunicacin,
aceptacin y mantenimiento)
Contenido Clase 3
Obtencin de requerimientos
Tcnicas tradicionales
Entrevistas y cuestionarios
Escenarios y casos de uso
Aproximacin cognitiva
Aproximacin contextual
Modelizando Empresas y
metas
UNPSJB - 2005
Modelizando el comportamiento
funcional
Modelizar funcionalidad
Evolucin del Anlisis
AE
AOO
Tcnicas formales
SCR
RML
RSML
Ingeniera de Software -
Comunicando
requerimientos
SRS (soft
requeriment
Specification)
Ambigedades y
como evitarlas
Estndares
Trazabilidad de
requerimientos
UNPSJB - 2005
Validacin de
requerimientos
Usos filosficos
Revisiones e inspecciones
Prototipacin
Aceptando los
requerimientos
Ingeniera de Software -
Evolucionando requerimientos
Administracin
del cambio
Administracin de inconsistencia
Rasgos de interaccin
Familias de productos para Administracin
de requerimientos
UNPSJB - 2005
Ingeniera de Software -
Contenido Clase 3
Bibliografa utilizada
Ingeniera
de Requerimientos
(Locoupulous)
Ingenira de Requerimientos (Davis)
Ingeniera de software (Pressman,
Sommerville)
Papers Varios
UNPSJB - 2005
Ingeniera de Software -
Toma de Requerimientos
Punto de comienzo
Alguna
El
El Ing.Requerimientos debe
Identificar
UNPSJB - 2005
el problema / oportunidad
Ingeniera de Software -
Toma de Requerimientos
Cual problema necesita ser resuelto? (identificar lmites)
Donde est el problema? (el contexto o el dominio del
mismo)
A Quienes involucra el problema? (identificar los
actores)
Por qu necesita resolverse? (identificar las metas de
los actores)
Como debera ayudar el soft? (tomar o colectar los
escenarios posibles)
Para cuando debe estar resuelto? (identificar
limitaciones de desarrollo)
Qu debemos tener en cuenta para resolverlo?
(identificar riesgos).
Adquirir suficiente conocimiento
Convertirse en un experto del dominio del problema
La
Latcnica
tcnicade
de
las
las66W:
W:
What?
What?
Where?
Where?
Who?
Who?
Why?
Why?
When?
When?
How
How(Which)?
(Which)?
UNPSJB - 2005
Ingeniera de Software -
Mundo del
sujeto
Como la mquina
representa
inforamcin sobre el
dominio de
aplicacin
Mundo del
uso
Interfases de
usuario
Mundo del
sistema
Justificar las
metas de
desarrollo
Mundo del
desarrollo
Desiciones de
diseo
UNPSJB - 2005
Ingeniera de Software -
Conocimiento tcito
UNPSJB - 2005
Ingeniera de Software -
Problemas en la comunicacin
La
La
UNPSJB - 2005
Ingeniera de Software -
10
Tcnicas tradicionales
Documentos existentes
Anlisis de datos
Entrevistas
Introspeccin
Agenda abierta
Estructuradas
Cuestionarios
Adquisicin en grupos
UNPSJB - 2005
Grupos enfocados
Brainstorming
JAD/RAD
Prototipacin
Aproximacin basada en
representacin
Basada en objetivos
Basada en escenarios
Basadas en casos de
uso
Ingeniera de Software -
11
Aproximacin
contextual (social)
Tcnicas etnogrficas
Observacin de
participantes
Etnometodologa
Anlisis de discurso
Anlisis de
conversacin
Anlisis de
presentacin
Diseo participatorio
UNPSJB - 2005
Aproximaciones
cognitivas
Anlisis de tareas
Anlisis de protocolos
Tcnicas de adquisicin
de conocimiento
Ordenamiento de
tarjetas
Grillas de repertorio
Tcnicas de escalado
de proximidad
Etnografa:
Etnografa:ciencia
cienciaque
quetiene
tienepor
porestudio
estudioyydescripcin
descripcinde
delas
las
razas
o
pueblos,
como
tambin
su
lengua,
sus
creencias,
razas o pueblos, como tambin su lengua, sus creencias,
artesanas,
usos,
Ingeniera
decostumbres
Softwareyy-formas
12
artesanas,
usos,
costumbres
formasde
devida
vida
Cuestionarios
Ventajas
Desventajas
UNPSJB - 2005
Qu mirar?
Tendencias en la seleccin
de ejemplos
Tendencias en la seleccin
de respuestas
Ejemplos de tamao chico
(con poca significancia
estadstica)
Preguntas ambiguas
(muchos que no contestan la
misma pregunta)
El cuestionario debe ser
testeado
Ingeniera de Software -
13
Entrevistas
Tipos
Estructuradas
Ventajas
Ricas en adquisicin de
informacin
Desventajas
Libres
UNPSJB - 2005
Difcil la comparacin de
respuestas
Administrar las
entrevistas no es una
tarea sencilla
Que mirar?
Preguntas sin
respuestas
Conocimiento tcito
El contexto de discusin
Actitud de los
entrevistados respecto
de los temas abarcados
Ingeniera de Software -
14
Tipos
JAD o RAD
Enfoque en grupo
Brainstorming
Ventajas
Interaccin ms natural
entre la gente, mayor a
una entrevista formal
Se puede medir la
reaccin ante material
de estmulo
Presentaciones,
maquetas, etc.
Desventajas
Que mirar?
UNPSJB - 2005
Ingeniera de Software -
15
Hechos y figuras,
informacin financiera, etc.
Reportes usados para toma
de decisiones,...
Resultados obtenidos,
informacin de marketing,..
Ejemplos
Obtener datos
representativos del conjunto Tamao del ejemplo
de la poblacin de
Balancear entre costo y
elementos
relevancia del ejemplo
UNPSJB - 2005
Ingeniera de Software -
16
Casos de uso
UNPSJB - 2005
Ingeniera de Software -
17
Casos de uso
Ventajas y desventajas
UNPSJB - 2005
Ingeniera de Software -
18
UNPSJB - 2005
Ingeniera de
Escribirlo
Especificar reglas para
eleccin del mismo y para
interacturar con l
Considerar alternativas
Ver posibles superposiciones
de casos de uso
Template
Templatede
decaso
casode
deuso:
uso:
Nombre:
Nombre:
Resumen:
Resumen:
Actores:
Actores:
Precondiciones:
Precondiciones:
Descripciones:
Descripciones:
Excepciones:
Excepciones:
Postcondiciones:
Software -Postcondiciones:
19
Excepciones:
Postcondiciones:
UNPSJB - 2005
Ingeniera de Software -
Orden de pedido
Tomar Estado
Enviar catlogo
Cancelar orden
Enviar producto
Re-Adquirir
producto
Delivery
Proveedor
20
Escenarios
Definicin
Secuencia especfica de
interacciones entre
actores y sistemas
Tienden a ser cortos
Puede sen
Positivos
(comportamiento
requerido)
Negativos (interaccin
no deseada)
UNPSJB - 2005
Ventajas
Desventajas
Falta de estructuracin:
se necesitan casos de
uso o modelo de tareas
para proveer una visin
de alto nivel.
Ingeniera de Software -
21
Modelado de tareas:
Conjunto jerrquico de
actividades estereotpicas
Los subojetivos son
tareas (o casos posibles
de uso)
Escenarios
Pueden ocurrir en
secuencia, en paralelo o Excepciones
como alternativas
Son variantes de casos de uso
Pueden ocurrir
No pueden ser modeladas como
peridicamente o en
escenarios en si mismo, interactan
respuesta a
con mltiples escenarios
contingencias.
UNPSJB - 2005
Ingeniera de Software -
22
Aproximacin
UNPSJB - 2005
Ventajas
Razonablemente
intuitivo
La declaracin explcita
de metas provee una
base para la solucin de
conflictos
Desventajas
Difcil de seguir la
evolucin
Ingeniera de Software -
23
Metas
Tipos
Requerimiento
Metas de realizacin
Metas de mantenimiento
Metas soft
Consejos
Obstculos y limitaciones
UNPSJB - 2005
Ingeniera de Software -
24
Base:
La toma de conocimiento
est ligada con el
descubrimiento experto
de conocimiento
Ligado con el crecimiento
de los sistemas expertos
Mtodos formales
KE es dura
Problemas de modelado
Problema de
representacin
UNPSJB - 2005
Es muy frgil,
para pequeos casos de
uso
Ingeniera de Software -
Inadecuado
epistemolgicamente
Expresividad vs.
Facilidad de adquisicin
25
Problemas de representacin
El conocimiento declarativo se
torna procedural con aplicacin
repetida, los expertos no pueden
hacer esto fcilmente
UNPSJB - 2005
diferentes representaciones de
conocimiento son buenas para
cosas diferentes
Ventaja
El conocimiento se crea, no se
extrae
Ingeniera de Software -
26
Ingeniera de Software -
27
UNPSJB - 2005
racionalizacin
Observar el comportamiento de
un agente como una caja negra
Acta como si tuviera
conocimiento sobre el
ambiente que utiliza
Construir dos modelos
Nivel simblico: descripciones
del mecanismo del
comportamiento
Nivel de conocimiento:
descripciones del conocimiento
del agente del mundo real
Ambiente
Observacin
Observador
(modelador)
Agente
Ingeniera de Software -
mecanizado
Modelo el nivel
de conocimiento
Comportamiento
Modelo de nivel
de smbolos
28
Anlisis de protocolo
Basadas en vocalizar el
comportamiento
Ventajas
Forma verbal de las
actividades cognitivas
Dentro del contexto
Desventajas
No tienen dimensin social
Basada en introspeccin
Tcnicas de escala de
proximidad
UNPSJB - 2005
Desventajas
Requiere una aceptacin del
conjunto de objetos
Difcil de lograr
Ordenamiento de tarjetas
Ingeniera de Software -
29
Abstraccin:
Construye modelos
abstrayndolos del dominio, el
modelo puede contestar
preguntas
Decidir sobre la ontologa del
fenmeno que se quiere
describir
Se asume que el conocimiento
y el entendimiento son
independientes del contexto
Utilizado normalmente por
cientficos naturales e
ingenieros
UNPSJB - 2005
Contextualismo
Ontologa:
Ontologa:parte
parte
de
delalametafsica,
metafsica,
que
estudia
que estudiaelelser
ser
en
general
y
sus
en general y sus
propiedades
propiedades
trascendentales
trascendentales
Ingeniera de Software -
30
Visin etnometodolgica
La toma de requerimientos es
una actividad social
UNPSJB - 2005
Etnologa:
Etnologa:ciencia
cienciaque
que
estudia
el
origen,
la
estudia el origen, la
distribucin
distribucinyylos
los
caracteres
caracteresfsicos
fsicosde
delas
las
razas
razashumanas
humanas
Se necesita considerar
Ingeniera de Software -
31
Etnometodologa
Bases:
UNPSJB - 2005
Categoras:
Las tcnicas
convencionales suponen
categoras preexistentes
La Etnografa intenta
utilizar sujetos con
categoras propias
Medidas
No tienen objetividad
cientfica, por ende los
sujetos deben crear su
propia fuente de
medicin.
Ingeniera de Software -
32
Observacin de participantes
Bases:
Los observadores
pasan un tiempo con
los sujetos, tratando
de convertirse en un
miembro ms del
grupo
Ventajas
Contextualizacin
Se revelan detalles
que otros mtodos no
pueden cubrir
UNPSJB - 2005
Desventajas
Consume mucho
tiempo
Se tiene mucha
informacin que
puede resultar difcil
de analizar
No se puede decir
mucho de cambios
que se propongan
Ingeniera de Software -
33
El modelado
Modelado
Actividad de modelado
Combinar problemas
Empricos: especificaciones
ligadas al mundo real
Formales: abstraccin,
estructura y representacin
del conocimiento del
problema
UNPSJB - 2005
De ingeniera:
mtodos formales de
construccin
Especificacin conceptual
Entender un dominio
especfico de informacin
Ingeniera de Software -
34
Agente de viajes
Jefe ejecutivo
Jefe de Catering
Jefe de seguridad
UNPSJB - 2005
Un agente es responsable de
reservas y cancelaciones
Hay diferentes tickets ofrecidos a
las agencias de viaje
La comida cargada est
relacionada con la nmero de
personas
Se debe conocer el nmero
aproximado de personas en el
vuelo 24 hs antes.
Tambin 24 hs antes se debe saber
por comidas especiales
Administrador de ventas
Ingeniera de Software -
35
UNPSJB - 2005
Ingeniera de Software -
36
UNPSJB - 2005
Ingeniera de Software -
37
Tipos de modelo
Lenguaje natural
Muy expresivo y flexible
Pobre al intentar captar la semntica del modelo
Mejor para la toma de requerimientos
Notacin semi formal
Captura estrutura y alguna semntica
Puede llevar a cabo algn razonamietno, chequeo
de consistencia y animacin
Notacin formal
Semntica muy precisa
Muy complejos
UNPSJB - 2005
Ingeniera de Software -
38
Independencia de implementacin
UNPSJB - 2005
Ejecutabilidad
Trazabilidad
Constructibilidad
Fcil de analizar
Formalidad
No modelar representacin de
datos, organizacin interna, etc.
Abstraccin
Minimalidad
No redundancia de conceptos
(cada cosa expresada de una
forma)
Ingeniera de Software -
39
Tcnicas de modelado
Modelado de empresa
Modelado de requerimientos
funcionales
Metas y objetivos
Estructura organizacional
Actividades, procesos y productos
Roles y trabajos de agentes
Vistas estructurales (de datos)
Vistas de comportamiento
Requerimientos de tiempo
Modelado
Modeladode
deinformacin
informacin(DER)
(DER)
Modelado
Modeladode
deorganizacin
organizacin(i*,
(i*,
SSM,
ISAC)
SSM, ISAC)
Modelado
Modeladode
demetas:
metas:(KAOS)
(KAOS)
Anlsis
Anlsisestructurado
estructurado(Yourdon,
(Yourdon,
Martin,
Martin,etc)
etc)
Anlisis
AnlisisOO
OO(Coad,
(Coad,Boock,
Boock,UML)
UML)
Mtodos
Mtodosformales
formales(SCR,
(SCR,RSML,
RSML,
Z)
Z)
UNPSJB - 2005
Ingeniera de Software -
QFD,
QFD,Redes
Redesde
depetri
petri
(performance),
(performance),Modelo
Modelode
de
tareas
tareas(disponibilidad)
(disponibilidad)
40
Evolucin en el tiempo
70
80
Basdados en conocimiento
90
Tcnicas: RML
Teleologa:
Teleologa:doctrina
doctrina
de
delas
lascausas
causasfinales
finales
Teleolgicos
Ejemplos: KAOS, I*
UNPSJB - 2005
Ingeniera de Software -
41
ER se obvia
ISAC (information
systems work & analysis
of Change)
Desarrollado en el 70 en
Suecia
Pondera la cooperacin
entre usuarios y
desarrolladores
Proceso ISAC
UNPSJB - 2005
Anlisis de informacin
Estudio de actividad
Anlisis de cambio
Implementacin
Ingeniera de Software -
42
Lista de problemas
UNPSJB - 2005
Anlisis de problemas
Anlisis de metas
Evaluar alternativas
Elegir una alternativa
Ingeniera de Software -
43
UNPSJB - 2005
Ingeniera de Software -
44
Pasos de la metodologa
1.
2.
5.
3.
4.
UNPSJB - 2005
Compara el modelo
conceptual con el paso 2
6.
7.
Ingeniera de Software -
45
Revision de modelos: i*
Rasgos
Caractersticas
Desarrollado en los 90
UNPSJB - 2005
El modelo de dependencia
muestra las dependencias entre
actores objetivo obtener un
mejor entendimiento de los por
qu?
Ingeniera de Software -
46
Revision de modelos: i*
AttendsMeeting
(p,m)
Dependencias de
tareas (un actor
necesita otro actor
para llevar a cabo la
tarea)
EJ: supongamos una
agenda para la
concurrencia a una
cita particular (ver
como evoluciona en
el paper
correspondiente)
UNPSJB - 2005
D
ExclusionDate
(P)
Iniciador
del
encuentro
participante
del
encuentro
PreferredDate
(P)
D
D
ProposedDate
(M)
D
Agreement
(M,P)
D
X D
AttendsMeeting
(ip,m)
Assured(A
ttendsMeet
ing (ip,m)
Ingeniera de Software -
participante
importante
del
encuentro
D
D
Dependencia de metas
dependencia de recueros
dependencia de tareas
Dependencia de metas
soft
O Opend (uncommited)
X Criticas
47
Revision de modelos: i*
Attends
Meeting
ParticipateIn
Meeting
D
Attend
Meeting
Organize
meeting
Quality
(proposed
DAte)
Low
Effort
MeetingBe
Schedule
Schedule
Meeting
Obtain
Agreement
Merge
AvailDate
Obtain
AvailDate
D
Meta
Exclusion
Dates
D
D
Preferred
Dates
Proposed
Date
Agreemen
t
D
D
Arrenge
Meeting
Convenie
nt(meetin
g, Date)
Low
Effort
Agreable
(meeting,
Date)
Find
Agreable
Date
User
Friendly
Min
Interrupt
ion
Agree To
Date
Cecurso
Meta Soft
Tarea
-+
UNPSJB - 2005
Participante
del
encuentro
Iniciador
del
encuentro
Ingeniera de Software -
48
Revision de modelos: i*
Conclusiones sobre i*
UNPSJB - 2005
Resumiendo
Mejor representacin y
razonamiento del
conocimiento
Mayor nivel de
formalidad en las
expresiones
Se incorpora
intencionalidad
relaciones mltiples y
distribuidas de
intencionalidad
Ingeniera de Software -
49
Rasgos
UNPSJB - 2005
Ingeniera de Software -
50
Caractersticas
El mtodo se centra en
la elaboracin de metas
Define un conjunto
inicial de metas y
objetivos de alto nivel
Define un conjunto
inicial de agentes y
acciones que estos
agentes pueden hacer
Luego iterativamente
Refina las metas
usando una
descomposicin
denominada AND OR
UNPSJB - 2005
Ingeniera de Software -
Identifica
obstculos a las
metas y conflictos
entre metas
Lleva las metas a
limitaciones que
pueden ser luego
asignadas a agentes
individuales
Refina y formaliza
las definiciones de
objetos y acciones
51
Modelado y anlisis
Anlisis de sistemas
varias escuelas
Anlisis orientado a
datos
Anlisis estructurado
Anlisis OO
Modelos se utilizan
para desarrollar una
comprensin del sistema
a realizar tres vistas:
UNPSJB - 2005
Ingeniera de Software -
52
Anlisis estructurado
Definicin
UNPSJB - 2005
Ingeniera de Software -
53
Anlisis estructurado
Conceptos centrales
Transformacin de datos
Actividades que transforman
los datos
Flujo de datos
Indica el paso de datos de la
entrada del mismo hacia la
salida
Representa grupos de datos o
elementos de datos
Almacenamiento de datos
Lugar donde se deja info para
su uso posterior
Los almacenes de datos son
pasivos, no transforman los
datos
UNPSJB - 2005
Entidad externa
Grupos de datos
Elemento de dato
Ingeniera de Software -
Unidad bsica de
informacin
54
Anlisis estructurado
Herramientas de modelado
DFD
Diagrama de contexto
Diferentes niveles de
descomposicin
Llegar hasta primitivas
funcionaels que no pueden
ser ms descompuestas
Elementos
Procesos
Flujos
Almacenes de datos
Entidades externar
UNPSJB - 2005
Diccionario de datos
Define cada
elemento de dato
Usa una notacin
BNF para definir la
estructura de los
elementos
Constructores
Construccin
Notacin
Significado
Est compuesto de
Secuencia
Seleccin
[|]
O bien
Repeticin
{ }n
N repeticiones de
()
Datos opcionales
**
Delimita comentarios
Ingeniera de Software -
55
Anlisis estructurado
Especificacin de procesos
cdigo
Evoluciones
DFD
UNPSJB - 2005
Ingeniera de Software -
56
Anlisis OO
Conceptos bsicos
UNPSJB - 2005
Motivacin
AOO es ms natural
Ingeniera de Software -
57
Anlisis OO
Primitivas de modelado
Objetos
Entidades con estados,
atributos o servicios
Clases
Forma de agrupar objetos
Abstracciones jerrquicas con
una relacin ES_UN
Atributos
Representan estados del objeto
Pueden especificar: tipo,
visibilidad y modificacbilidad
UNPSJB - 2005
Relaciones
Dos tipos:
Mtodos o servicios
Pasaje de mensajes
Todo parte
Es un
Ingeniera de Software -
58
Anlisis OO
Conceptos fudamentales
Herencia
Simple o mltiple
Ocultamiento
de informacin
Agregacin
UNPSJB - 2005
Ingeniera de Software -
59
Anlisis OO
Entidades externas
Que interactan con el sistema
a modelizar (personas,
dispositivos, otros sistemas)
Cosas
Que son parte del dominio que
se modeliza (reportes, seales)
Ocurrencias o eventos
Que pueden ocurrir en el
contexto del sistema
(transferencias de recursos,
acciones de control)
UNPSJB - 2005
Roles
Unidades organizacionales
Estructuras
Relevante a la aplicacin
(deptos, divisiones, equipos)
Lugares
Ingeniera de Software -
60
Anlisis OO
Caractersticas de seleccin
de objetos deben
atributos
Operaciones identificables
Atributos mltiples
Servicio necesario
Requisitos esenciales
Retener informacin
Atributos comnes
UNPSJB - 2005
Entidades externas
que aparecen en el
espacio del problema
y producen o
consumen
informacin
Ingeniera de Software -
61
Anlisis OO
Coad- Yourdon
Dcada del 80
Cinco pasos de modelado
UNPSJB - 2005
Ingeniera de Software -
62
Anlisis OO
Paciente
Objeto
Nombre
Fecha de nac
Altura
Peso
Atributos
Paciente
Nombre
Fecha de nac
Altura
Peso
Servicio
Clasificacin
todo parte
1,m
Mandatario
Ingreso
paciente
Cama
Habitacin
Service
UNPSJB - 2005
Alta paciente
medico
ltima visita
Service
1,m
1,m
1
Class
1
Class
1
Class
Attribute
Attribute
Attribute
Service
Service
Service
Ingeniera de Software -
63
Anlisis OO
Desarrollar un modelo de
informacin
UNPSJB - 2005
Desarrollar modelo de
procesos
Producir un modelo de
tiempo y control a nivel
del sistema
Definir dominios y
subsistemas
Ingeniera de Software -
Descomponer en partes
64
Anlisis OO
UML
An en desarrollo
Trata de estandarizar los
conceptos de modelado OO que
manejan varios autores
UNPSJB - 2005
Diagramas de clases
Diagramas de casos de
uso
Diagramas de caminos
de mensajes
Diagramas de
mensajes de objeto
Diagramas de estados
Diagramas de mdulos
Diagramas de
plataformas
Lo desarrollaremos en la
clase 5 ntegramente.
Ingeniera de Software -
65
Anlisis OO
Evaluacin de AOO
Ventajas de OO para IR
Desventajas
UNPSJB - 2005
Ingeniera de Software -
66
Mtodos formales en IR
Qu formalizar en IR?
UNPSJB - 2005
Chequear propiedades
automticamente
Testear consistencia, explorar
consecuencias
Ingeniera de Software -
67
Mtodos formales en IR
Por qu no se formaliza?
Tratan de concentrarse en la
consistencia y correctitud del
modelo
Normalmente modelizamos
inconsistencias,
incompletitudes y cosa
incorrectas
UNPSJB - 2005
Ingeniera de Software -
68
Mtodos formales en IR
Vista amplia
Vista estrecha
UNPSJB - 2005
Ingeniera de Software -
69
Mtodos formales en IR
UNPSJB - 2005
Ingeniera de Software -
70
Mtodos formales en IR
UNPSJB - 2005
Ingeniera de Software -
71
Mtodos formales en IR
Ontologa
Base matemtica
Modelos estado-evento
Tiempo como una objeto
primario
UNPSJB - 2005
Ejemplos
SCR: fijo, lgica
temporal, modelo
estado evento
RML: fijo, lgica de
predicado de
primer orden,
modelo estado
evento discreto
Telos: extensible,
tiempo como un
objeto primario.
Ingeniera de Software -
72
Mtodos formales en IR
Lenguajes formales de
especificacin
UNPSJB - 2005
Ingeniera de Software -
73
Comunicando requerimientos
SRS (soft req. Specification)
como construirlo,
los problema que
pueden surgir,
Estndares de
construccin
UNPSJB - 2005
Contractual
Es un elemento legal
Expresa un acuerdo
Ingeniera de Software -
74
Ms interesados en los
requerimientos
No interesados en req. del soft
Analistas de sistemas
Determinan que
requerimientos han sido
alcanzados
Administradores de
proyectos
UNPSJB - 2005
Testers
Usuario, clientes
Desarrolladores y
programadores
Cambio de requerimientos
Evolucin del soft
Ingeniera de Software -
Miden y controlan el
proceso de anlisis y
desarrollo del sistema
75
Quin lo escribe
El proveedor
El oferente
El desarrollador seleccionado
UNPSJB - 2005
Ingeniera de Software -
76
Proyecto A
Proyecto (B)
Propsito de la
Especificacin
Vista de
administracin
La especificacin es irrelevante, se
tiene alocados los recursos
lectores
1 autor de especificacin
2 cliente
2 clientes
UNPSJB - 2005
Ingeniera de Software -
77
Aspectos
Validez (correctitud)
Expresar los req. Actuales
Completitud
Especificar todo lo que el
sistema necesita y debe
hacer
Responder a todas las
entradas posibles
Completitud estructural
Consistencia
No contradecirse
Usar trminos de manera
consistente
UNPSJB - 2005
Necesario
No ambiguo
Entendible (claro)
Verificable
Modificable
Ingeniera de Software -
78
Redundantes
Ambiguas
No entendibles
Inconsistentes
incompletas
expandidas
ambiguas
expanden
condensadas
formalizan
redundantes
reducen
agrega
explicacin
no
entendibles
inconsistentes
Resuelven
incompletas
UNPSJB - 2005
Ingeniera de Software -
79
Ruido
UNPSJB - 2005
Puzzles
Pensamiento deseado
Ambigedad
Contradiccin
Sobre especificacin
Silencio
No conforme a estndares
Terminologa inventada o
inconsistente
Escribir de manera hostil para el
lector
Ingeniera de Software -
80
No incluir en especificacin
Diseo
UNPSJB - 2005
Ingeniera de Software -
81
Calidad de especificacin
Anlisis de texto
Imperativo
Opcin
Estadsticas de legibilidad
UNPSJB - 2005
Directivas
Tamao
Causan incertidumbre
Ej. Adecuado, aplicable
Especificacin de profundidad
Ingeniera de Software -
82
Se avisa al operador?
UNPSJB - 2005
Ingeniera de Software -
83
Revisar especificaciones en
lenguaje natural
Usar lenguajes de
especificacin
UNPSJB - 2005
Poner un requerimiento ms de
una vez ayuda al lector a
comprender
Pero es redundancia
Se debe usar una notacin ms
formal y no repetir.
Ingeniera de Software -
84
Caractersticas de un SRS
Modificabilidad
Trazabilidad
Notacin til
UNPSJB - 2005
Ingeniera de Software -
85
Describe aproximaciones
recomendadas para la
especificacin de
requerimientos.
Definiciones
Referencias
Partes de un SRC
Revisin
UNPSJB - 2005
Est compuesto de
cuatro secciones cada
una con subsecciones
Leer cuidadosamente el
paper IEEE prctica
recomendada para
especificacin de Req.
De soft (paper Q)
La especificacin del
trabajo integrador
deber hacerse
siguiendo esta
metodologa
Ingeniera de Software -
86
Trazabilidad de requerimientos
Definicin
UNPSJB - 2005
Ingeniera de Software -
87
Trazabilidad de requerimientos
Resumiendo
Es una demostracin de
completitud, necesidad y
consistencia
Una camino claro de
alocacin y seguimiento
de flujo a travs del
documento
Una derivacin a travs
de una jerarqua
Importancia
UNPSJB - 2005
Ingeniera de Software -
88
Trazabilidad de requerimientos
Mantenimiento
Habilidad de encontrar
informacin
rpidamente en
grandes documentos
Costo
UNPSJB - 2005
De cambio
De riesgo
De control sobre el
proceso de desarrollo
Dificultades
Visibilidad de proceso
Proveer posibilidad de
audicin
Administracin
Acceso a documentos
Ingeniera de Software -
89
Trazabilidad de requerimientos
Gratificacin demorada
La gente que define los
links de trazabilidad no
son gente que se
beneficie con ellos
Tamao y diversidad
Desarrollo vs V&V
Test, integracin,
mantenimiento
UNPSJB - 2005
Ingeniera de Software -
Gran rango de
documentos distintos,
herramientas,
decisiones,
responsabilidades
No hay esquemas
comunes para
clasificar y catalogar
requerimientos
En la prctica, la
trazabilidad se enfoca
en lneas base de
requerimientos.
90
Cobertura
Proceso de trazabilidad
UNPSJB - 2005
Identificar manualmente
links
Usar tablas manuales para
grabar links en los
documentos
Usar la herramienta de
trazabilidad (BD) para la
trazabilidad de un gran
proyecto
Las herramientas tienen la
habilidad de
Ingeniera de Software -
91
Cuales?
Hipertexto (links)
Limitaciones
Identificadores nicos
Coeficientes de similaridad
sintctica
Busca la ocurrencias de
patrones de palabras
UNPSJB - 2005
Herramientas de hipertexto
(document director, netscape
navigator)
Herramientas de desarrollo
general
Ingeniera de Software -
92
Limitaciones de herramientas
Problemas de informacin
Falta de convenio
Comunicacin informal
Fallan en rastrear
informacin de trazabilidad
UNPSJB - 2005
Ingeniera de Software -
La gente le da mucha
importancia la contacto
entre personas con
comunicacin informal
Se suplementa lo que se
almacena en la BD de
trazabilidad
El resultado es una BD de
trazabilidad que solo da
parte de la historia
An con la herramienta no
es fcil encontrar las
personas que generaron el
requerimiento
93
Cuales son?
Cambio
Intervencin
Quin estuvo
involucrado en la
confeccin de los
requerimientos?
Notificacin
Responsabilidad
UNPSJB - 2005
Quien es responsable
por este req?
Quin es el
responsable actual?
En que punto de ciclo
de vida el
responsable cambia?
Prdida de conocimiento
Ingeniera de Software -
94
Validacin de requerimientos
Qu veremos
El problema de la
negociacin
Negociacin sobre
requerimientos
El problema de la validacin
Validar requerimientos
Inspecciones y revisiones
prototipeo
UNPSJB - 2005
Ingeniera de Software -
Conflictos y su
resolucin
Tcnicas para
negociar
requerimientos
Aproximaciones para
argumentar
Aproximaciones
basadas en
conocimiento
Priorizacin de
requerimientos
95
El problema de validar
Aproximacin lgica
positivista
Hay un objetivo en el
mundo que puede ser
modelado construyendo un
cuerpo consistente de
conocimiento basado en
observacin emprica
Construir un modelo
consistente (validarlo con
observaciones empricas)
UNPSJB - 2005
Modificacin a la lgica
positivista (Popper)
Ingeniera de Software -
96
El problema de validar
Aproximacin post
modernista
En IR, la validacin
siempre es subjetiva y
contextualizada
UNPSJB - 2005
Ingeniera de Software -
97
Revisiones e inspecciones
Como tratarlos
UNPSJB - 2005
Ingeniera de Software -
Inspecciones
98
Programacin de aplicaciones
El factor de reduccin de
errores es 5.
Mejora la productividad en
un 15 a 25%.
UNPSJB - 2005
Se encuentra entre un
60 y 80% de errores
durante la inspeccin
Reduccin de costo entre
el 50 y 80% para V&V.
Incrementa la moral
Mejor estimacin y
planificacin
Mejor administracin de
las habilidades del staff
Ingeniera de Software -
99
Limitaciones de la inspeccin
Tamao
UNPSJB - 2005
Alcance
Salidas
Duracin
Timing
Examinar el producto
cuando el autor termina
con l.
Ingeniera de Software -
100
Limitaciones de la inspeccin
No muy temprano
El producto no est listo se pueden encontrar
problemas que el autor se encuentra solucionando
No muy tarde
El producto estar en uso los errores sern muy
costosos de solucionar
Propsito
UNPSJB - 2005
Ingeniera de Software -
101
Antes de la revisin
Durante la revisin
Revisar el producto no
al autor
UNPSJB - 2005
Evitar comentarios
profesionales o
destructivos
Pegarse a la agenda
Limitar el debate y
la refutacin
Identificar
problemas pero no
tratar de
solucionarlos
Tomar notas escritas
Luego de la revisin
Revistar el proceso
de revisin
Ingeniera de Software -
102
Posibilidades
Especialistas en revisin
(gente de QA)
Gente del mismo equipo
del autor
Gente invitada por ser
especialistas
Gente interesada en el
producto final
Gente que tenga algo
para contribuir
Gentes de otra parte de
la organzacin
UNPSJB - 2005
A quien excluir:
Cualquier responsable
directo o indirecto del autor
Cualquiera con problemas
personales declarados contra
el autor
Cualquiera que no est
calificado en revisin
Todos los administradores
Cualquiera que tenga
conflicto de intereses
Ingeniera de Software -
103
Estructuracin de la inspeccin
Se puede hacer la
estructura de la revisin
de varias formas:
Confiar en el experto
en revisin
Lista de chequeos
Revisiones activas
(escenarios)
Ad hoc:
Diferencias
Usar una lista de
preguntas o casos a
Los escenarios encuentran
revisar
mayores fallos que los otros
mtodos
A lista se hace a
No hay una diferencia
medida del
documento evaluado
marcada entre los dos
primeros
UNPSJB - 2005
Ingeniera de Software -
104
Prototipacin
Definicin
Respecto de definicin
UNPSJB - 2005
Ingeniera de Software -
105
Caractersticas de prototipos
Explicativo
Exploratorio
Experimental
Evolucionario
UNPSJB - 2005
Ingeniera de Software -
106
Clases de prototipos
Dos clases
Descartables
Evolucionables
Tercer opcin: operacionales
Descartables
Propsito
Uso
Aprender ms sobre el
problema o su solucin
Obtener conocimiento
Etapas tempranas o
posteriores
Aproximacin
Rpida y sucia
UNPSJB - 2005
Ventajas
Aprender el medio de
trabajo para lograr una
mejor adaptacin a las
necesidades y solucin
Entrega temprana, test
temprano, menos costo
Bueno an cuando falle
Desventajas
Derrochar esfuerzo si los
requerimientos cambian
rpidamente
Generalmente el
prototipo reemplaza
documentos
Ingeniera de Software -
107
Clases de prototipos
Evolucionables
Aprender ms sobre el
problema o su solucin
Reducir el riesgo de
construir partes del sistema
en forma temprana
Incremental, evolucionable
Aproximacin
UNPSJB - 2005
Los requerimientos no
estn congelados
Solo se retorna al
incremento anterior si
se encuentra un error
Flexible ?
Desventajas
Uso
Ventajas
Propsito
Ingeniera de Software -
108
Clases de prototipos
Prototipos organizacionales
UNPSJB - 2005
Ingeniera de Software -
109
Acordando requerimientos
Aspectos
Definicin de conflicto
UNPSJB - 2005
Ingeniera de Software -
110
Acordando requerimientos
UNPSJB - 2005
Ingeniera de Software -
111
Modelo de resolucin
Aproximacin usada
para dirimir el conflicto
Negociacin
Competicin
Arbitraje
Coercin
Educacin
UNPSJB - 2005
Trs modelos de
resolucin
Cooperativo involucra
negociacin
Competicin
involucra combate,
coercin y competicin
Resolucin por terceras
partes arbitraje y
apelar a una autoridad
Ingeniera de Software -
112
Modelo de resolucin
Negociacin
Competicin
Exploracin
cooperativa en el
rango de posibilidades
Los participantes
tratan de encontrar un
punto comn que
satisfaga a todas la
partes
Conocido como
integracin constructiva
o negociacin
constructiva
UNPSJB - 2005
Alcanzar la mxima
satisfaccin para el
participante
No tener en cuenta el
grado de satisfaccin
de las otras partes
No ser
necesariamente
hostiles
Caractersticas
Ingeniera de Software -
Si yo gano, alguien
tiene que perder
113
Modelo de resolucin
Terceras Partes
Se busca un rbitro
para que decida
Tipos
UNPSJB - 2005
Licitar y negociar
Licitar
Los participantes
establecen sus
trminos deseados
Negociar
Los participantes
buscan por la
integracin
satisfactoria de sus
pedidos.
Ingeniera de Software -
114
Causas de conflictos
Deutshc (1973)
Control sobre los recursos
Preferencias y estorbos (gustos o actividades de una
parte chocan contra otra)
Creencias (disputas sobre hechos, informacin, realidad)
La naturaleza de relacin entre partes
Robbins (1989)
Comunicacional (intercambio insuficiente de
informacin, ruido, percepcin selectiva)
Estructural (compatibilidad de metas, claridad
jurisdiccional, estilo del lder)
Factores personales (sistemas de valores individuales,
caractersticas de personalidad)
UNPSJB - 2005
Ingeniera de Software -
115
Experiencias resultados
Algunos aspectos
observados
UNPSJB - 2005
Los grupos
heterogneos son ms
conflictivos (an si son
ms experimentados),
los grupos homogneos
son mejores para tomar
decisiones ms
riesgosas
El efecto de la
personalidad es
eclipsado por factores
de situacin o de
percepcin
Ingeniera de Software -
116
mutualmente
exclusivos
Ay B
combinados
Ay B
combinados
no
interfirientes
N u e s tr a s a tis fa c c i n
N u e s tr a s a tis fa c c i n
N u e s tr a s a tis fa c c i n
N u e s tr a s a tis fa c c i n
interfirientes
inclusivos
UNPSJB - 2005
Ay B
combinados
Ingeniera de Software -
117
Igual vs igual
Jefe vs.
Subordinado
Roles
Rol de familia
vs. Rol
ocupacional
Chicos y chicas
en una clase
escolar
Fuerza area vs
ejrcito
Rol ocupacional
vs. Rol de
unidad
Padre vs hijos
Administracin
vs unin
Personalidad
social vs. Rol de
familia
Familia ncleo
vs familia
ampliada
Departamento
vs facultad
Sociedades
Protestantes vs
catlicos
Hombres libres
vs esclavos
Estado vs
mafias
Relaciones
supra
sociedades
Bloque sovitico
vs primer
mundo
URSS vs
Hungria
CEE vs Reino
unido
Grupos
Sectores
UNPSJB - 2005
Ingeniera de Software -
118
Prisionero B
Dados
Dos o ms jugadores
Utilidades conocidas
para cada uno de los
jugadores
Puede calcular
Confiesa
un ao a cada
uno
10 aos para A
y 3 meses
para B
tres meses
para A y 10
aos para B
8 aos para
uno
Prisionero A
Confiesa
Cual estrategia
resulta en el mejor
resultado
Como interactan las
estrategias de los
jugadores
UNPSJB - 2005
No Confiesa
No Confiesa
Pero
Ingeniera de Software -
119
Argumentacin
gIBIS
Desarrollado en 1989
Representa el proceso
de argumentacin como
un grafo hipertextual
Proceso bsico
Identificar usos
Identificar posiciones
que se pueden
adoptar con respecto
a las posiciones
Linkear argumentos
que soporte o refuten
posiciones
UNPSJB - 2005
Uso 1
responde a
Posicin 1
objeto de
Argumento 1
soporte
generaliza
preguntas
responde a
Uso 2
Argumento 3
Posicin 2
preguntas
Argumento 2
objeto de
objeto de
Argumento 4
es sugerido por
Uso 3
Ingeniera de Software -
Argumento 5
Uso 4
120
Argumentacin
Sinptico
UNPSJB - 2005
Ingeniera de Software -
121
Otros casos
OZ
Identificar perspectivas
(coleccin de creencias)
Guardar perspectivas anotando
el modelo de dominio de metas
y objetivos
El modelo de dominio linkea
atributos del producto a metas
Elegir combinaciones de
atributos de productos para
maximizar la satisfaccin de
participantes
UNPSJB - 2005
WinWin
Desarrollado por Bohem (1990)
Identifica condiciones de triunfo de
cada participante
Incorpora el conocimiento base del
dominio para calidad de
requerimientos y links de atributos del
producto
Proceso bsico
Ingeniera de Software -
122
El soft evoluciona
porque los
requerimientos
evolucionan
Familias de software
Guas
Administracin de
configuracin
UNPSJB - 2005
Lneas de productos
Puntos de vista
Leyes de la evolucin
del soft
Administracin
tradicional del cambio
Ingeniera de Software -
123
Tipos de programas
Programas
Especificables
Sentencias
formales del
problema
Mundo
Real
Un cambio en la
especificacin define
un problema nuevo,
entonces hay un
programa nuevo
UNPSJB - 2005
Ingeniera de Software -
Programa
Solucin
124
Tipos de programas
Sentencias imprecisas
del problema del mundo
real
Aceptacin: el programa
es una solucin
aceptable al problema?
El soft evoluciona
continuamente
Porque la solucin
nunca es perfecta, y
puede ser mejorada
Porque el mundo real
cambia y entonces el
problema cambia
UNPSJB - 2005
Mundo
Real
Cambia
Vista abstracta
del mundo real
Compara
Cambia
Especificacin
de
requeriminetos
Solucin
Ingeniera de Software -
Programa
125
Tipos de programas
Programas
empotrados
Un sistema que es
parte del mundo al
que modeliza
Aceptacin: depende
enteramente de una
opinin o un juez
Es inherentemente
evolcionario
Los cambios en el
soft y el el mundo
real se afectan
entre s
UNPSJB - 2005
Mundo Real
Cambia
Programa
Especificacin
de
requeriminetos
Ingeniera de Software -
Vista abstracta
del mundo real
Modelo
126
UNPSJB - 2005
Ley fundamental
Incremento de complejidad
Conservacin de la estabilidad
Organizacional
Conservacin de la familiaridad
Ingeniera de Software -
127
Crecimiento en requerimientos
Modelo de Davis
El usuario necesita
evolucionar
continuamente
El grfico presenta el
crecimiento de
necesidades en el
tiempo
Puede ser no lineal o
no continuo
El desarrollo tradicional
queda detrs de las
necesidades de
crecimiento
UNPSJB - 2005
Ingeniera de Software -
128
Filosofa de mantenimiento
Alguien ms es el
responsable del
mantenimiento
Se pierden Inversiones
en conocimiento y
experiencia
El mantenimiento se
convierte en un desafio
de la Ing. Reversa
El equipo de desarrollo
har un compromiso a
largo plazo para mantener
el soft
UNPSJB - 2005
Modelo iterativo
Ingeniera de Software -
129
UNPSJB - 2005
Ingeniera de Software -
130
Elementos de la administracin
de cambio
Items de configuracin
Proceso de administracin de
cambio
Lneas base
UNPSJB - 2005
Ingeniera de Software -
131
singularidad de productos
Pasos
Construir un modelo
Hacerlo consistente y
completo
Validarlo
Se asume que al IR es un
proceso con una salida simple
La salida es una
especificacin completa,
consistente y vlida
UNPSJB - 2005
Ingeniera de Software -
132
singularidad de productos
Hay mltiples
componentes de
modelos representando
diferentes
descomposiciones
Las familias de modelos
evolucionan con el
tiempo (agregando,
borrando, mezclando o
reestructurando la
familia)
La IR debe evolucionar
los requerimientos
UNPSJB - 2005
Ingeniera de Software -
133
Familias de Software
Reusar conocimiento y
experiencia ms que solo
productos de soft
El desarrollo de soft reusable
es ms caro!!
Libreras de componentes
reusables
Desarrollo de programas
(Java, C)
Ingeniera de dominio
UNPSJB - 2005
Ingeniera de Software -
Anlisis del
dominio(identifica
componentes reusables del
dominio del problema
Desarrollo de aplicacin
(usa componentes de
dominio para especificar
aplicaciones)
134
Familias de Software
Familias de soft
Muchas
Representa
UNPSJB - 2005
Ingeniera de Software -
135
Mltiples
perspectivas
Muchos actores
diferentes
Diversas clases de
conocimiento del
dominio
Vistas conflictivas (y
negociacin)
Muchos esquemas de
representacin
UNPSJB - 2005
Modelado distribuido
Analistas y actores
colaborando
Mtodos mltiples de
modelado
Evolucin continua de
requerimientos
Links de
comunicacin
imperfectos
Ingeniera de Software -
136
Demoras en la resolucin de
inconsistencias
Inconsistencias causas
UNPSJB - 2005
Ingeniera de Software -
137
El modelo de requerimientos
es una coleccin de puntos
de vista
Propietario
Dominio (que describe)
Estilo (notacin o reglas
utilizadas)
Plan de trabajo
(obligaciones de
consistencia con otros PV)
Historia de los cambios
Especificacin de contenido
UNPSJB - 2005
Ingeniera de Software -
138
UNPSJB - 2005
Ingeniera de Software -
139
Ventajas de los PV
Actores y trazabilidad
UNPSJB - 2005
Estructuracin del
proceso de desarrollo
Ingeniera de Software -
140
Ventajas de los PV
Estructuracin de descripciones
UNPSJB - 2005
Ingeniera de Software -
141
PV hacia adonde???
Mtodo de ingeniera
Proceso de modelado
Mtodo de diseo
definir un conjunto de
templates coherentes
PV como una
herramienta Meta CASE
Administracin de
consistencia
UNPSJB - 2005
Un proceso de modelado
de grano fino en cada PV
Como grafos
Como predicados sobre
estructuras de objetos
Como expresiones de lgica
de primer orden
Trazabilidad de requerimientos
Ingeniera de Software -
142
Administracin de inconsistencia
UNPSJB - 2005
Definicin de inconsistencia
Ingeniera de Software -
Elementos sintcticos de
especificacin parcial
Semntica de elementos en
especificaciones parciales
Subprocesos del proceso de
desarrollo
143
Administracin de inconsistencia
Las
Definicin de mtodos
Experiencia prctica con el mtodo
Contingencias locales durante el desarrollo
Las
UNPSJB - 2005
Ingeniera de Software -
144
Inconsistencia
La inconsistencia est en la IS
UNPSJB - 2005
Ingeniera de Software -
145
Inconsistencia
Algunas
chequeos de consistencias no
tienen la valoracin de performance
La
inconsistencia es contradictoria
Ej:
Porque generalmente es vista como algo malo
Porque siempre se puede cuestionar la
formalizacin
UNPSJB - 2005
Ingeniera de Software -
146
La deteccin es vital
Manejo de inconsistencia
Remover / reemplazar
elementos inconsistentes, o
remover / reemplazar reglas
que fueron rotas
Ignorarla
UNPSJB - 2005
Resolverla:
Si se necesita informacin
que no est disponible por el
momento
Mejorarla
Evadirla
Demorarla:
La inconsistencia indica,
normalmente, que se necesita
ms informacin
Ingeniera de Software -
147
Localizar
Inconsisten
cia
Detectada
Ignorar
Caracterizacin
de
Inconsistencia
Identificar
Clasificar
Midiendo
Inconsistencias
UNPSJB - 2005
Tolerar
Resolver
Diferir
Evadirla
mejorarla
Ingeniera de Software -
consecuencas de
monitoreos de acciones
reglas de
consistencia
Inconsistencia
Manipulada
148
Quin es el responsable
Como se expresan
responsabilidades?
UNPSJB - 2005
El sistemas administrador de
transacciones entre PV
Los dos PV testeados son
notificados de los resultados
Ingeniera de Software -
149
Como resolver
inconsistencias?
UNPSJB - 2005
Ingeniera de Software -
150
Ejercicios y trabajos
UNPSJB - 2005
Ingeniera de Software -
151