Professional Documents
Culture Documents
Directores
DR. Mariano Fernndez Lpez
DR. Ramn Garca Martnez
Buenos Aires, Argentina
2001
Indice
Captulo 1: Introduccin
1.1 Introduccin
10
12
12
14
14
15
16
17
19
20
20
21
Indice
21
26
26
27
3.4 Alcance
28
29
29
33
33
Indice
4.1 Introduccin
36
37
40
41
47
49
49
50
52
55
ii
60
61
62
64
68
82
89
91
94
100
114
116
118
Captulo 6: Conceptualizacin
6.1 introduccin
135
136
Indice
137
iii
138
141
143
145
146
148
150
155
156
156
175
177
188
195
197
197
198
199
202
Indice
204
204
204
iv
205
206
213
213
214
214
215
219
219
222
224
240
243
244
253
253
Indice
10.1 Introduccin
255
255
Bibliografa
256
259
Apndices
Apndice A: Planificacin detallada del proyecto
Apndice B: Hojas de clculo del test de viabilidad
Apndice C: Adquisicin de conocimientos
Apndice D: Formalizacin de conocimientos
Indice
vi
Captulo I
Introduccin
Captulo I
1.1 Introduccin
Desarrollar software significa construir una mquina, simplemente mediante su
descripcin. Esta es una muy buena razn para considerar la actividad de desarrollo
de software como una ingeniera. En un nivel ms general, la relacin existente
entre un sistema software y su entorno es clara. El sistema es una mquina
introducida en el mundo de modo de provocar ciertos efectos en el mismo. Aquellas
partes del mundo que afectarn la mquina y que sern afectadas por ella sern el
Dominio de la Aplicacin. Es all donde los usuarios y/o clientes observarn si el
desarrollo ha cumplido su propsito. Nadie mide el xito de un sistema de reserva
para un teatro sobre las computadoras que lo soportan. Lo que se observa es el
mundo alrededor. Puede la gente reservar asientos facilmente?, Est lleno el
teatro?, Cunto tiempo insume obtener el boleto?, Se debitan correctamente las
tarjetas de crdito?
Esta distincin entre la mquina y el dominio de la aplicacin es la base de la
conocida Qu versus Cmo: Qu hace el sistema, se observa en el dominio de la
aplicacin, mientras Cmo lo hace se observa en la mquina misma. El problema
yace en el dominio de la aplicacin, la mquina es su solucin.
Una de las mayores deficiencias en la prctica de construccin de software es la
poca atencin que se presta a la discusin del problema. En general los
desarrolladores se centran en la solucin dejando el problema inexplorado y por
ende no descripto totalmente. El problema a resolver debe ser inferido a partir de
su solucin. Esta aproximacin orientada a la solucin puede funcionar en campos
donde todos los problemas son bien conocidos y han sido detalladamente
descriptos, clasificados e investigados, donde la innovacin deviene en la deteccin
de nuevas soluciones a viejos problemas. Pero el desarrollo de software no es un
campo con tales caractersticas. La versatilidad de las computadoras y su rpida
evolucin hace que exista un repertorio de problemas en constante cambio y cuya
solucin software sea de enorme importancia.
Cap. 1: Introduccin
Pg. 2
Un mtodo que resuelva todos los problemas brinda poca ayuda sobre cualquier
problema particular. Por lo tanto se debe clasificar los problemas y relacionarlos con
metodologas para resolverlo. Para ello surge una idea crucial llamada Marcos de
Problema. Un marco de problema define una clase de problema, mediante la
provisin de una estructura definida de partes principales en la cuales todos los
problemas de dicha clase deben coincidir. Los marcos de problema caracterizan
clases de problema que comunmente ocurren como subproblemas de problemas
reales mucho mayores. Que un problema particular encaje en un marco particular
depende de la estructura y caractersticas del dominio de la aplicacin y la
estructura y caractersticas de los requerimientos.
Un buen mtodo resuelve solo aquellos problemas que encajan en un marco de
problema particular. Explota las propiedades del marco y sus partes principales de
modo de brindar ayuda sistemtica y precisa para lograr la solucin. Esto significa
que el poder del mtodo depende de la calidad y precisin del marco.
Muchos proyectos han fallado porque sus Requerimientos fueron inadecuadamente
explorados y descriptos. Los requerimientos se ubican en el dominio de la
aplicacin donde est el problema. Se debe definir el problema mediante una seria,
precisa y explcita descripcin.
El objetivo del presente trabajo es el desarrollo de un sistema experto que asista al
ingeniero en software en la descripcin del problema elaborando el documento de
requerimientos de un sistema software.
1.2 Descripcin de la composicin del trabajo de Tesis.
En el captulo II se describe brevemente el concepto de marco de problema, su
estructura y
elementos
fundamentales
de
dominios,
fenmenos
compartidos
Cap. 1: Introduccin
Pg. 3
papers,
Cap. 1: Introduccin
Pg. 4
Captulo II
Dominio de la
Aplicacin
Captulo II
2.1 Introduccin
En este captulo se presenta el dominio de la aplicacin del sistema experto que
asiste al ingeniero en software en la elaboracin del documento de requerimientos
para cualquier tipo de software convencional.
Se describe el concepto de Marcos de Problema (Problem frames) introducidos
por primera vez por Jackson en 1995 [Jackson 1], los tipos de marcos de problema
elementales, cmo detectar e identificar los partes de un marco, y las diferentes
aproximaciones a la descomposicin de un problema real en subproblemas
ajustables a marcos elementales.
Posteriormente se trata la descripcin del dominio de la aplicacin y sus
requerimientos segn el marco de problema utilizando diferentes metodologas y
tcnicas, y cmo debe estar constituido el documento de requerimientos, meta final
del sistema experto.
2.2 Problemas de Software
Sabemos qu clase de problema resuelve un puente: Proveer un camino para que
ciertos objetos puedan moverse de un lugar a otro sin caer en el espacio vaco
existente entre ambos lugares. Esta definicin genrica del problema expone
claramente qu clase de preguntas es necesario realizarse para escribir los
requerimientos para el puente. Fundamentalmente ellas son: cul es el tamao y
peso de los objetos que lo cruzarn, cules son los puntos que debe conectar?,
adicionalmente debe conocerse datos del entorno del puente como por ejemplo:
otros tipos de carga tal como vientos, o dnde tiene sus fundaciones tal como tipo
de suelo del ro.
Entonces, qu clase de problemas resuelve el software?
Todos los problemas de software tienen la siguiente forma:
Configurar una mquina M para que produzca los efectos R en el D.
Pg. 6
La Mquina
Los
Requerimientos
El Mundo
detectar errores, por medio de usuarios u otro software para obtener informacin,
de motores para controlar maquinarias, etc.
Estas son las razones por las que el software es comnmente malentendido y por
las que la ingeniera del software difiere tanto del resto. El software no es un
artefacto tangible como un puente, un motor o una computadora. Software es una
configuracin particular de una computadora.
Estamos en condiciones de realizar algunas definiciones como:
Dominio del problema: Es la parte del mundo donde la mquina debe producir los
efectos deseados, juntamente con los elementos disponibles para producirlos,
directa o indirectamente.
El dominio del problema incluye todo aquello que se considere relevante para
describir los efectos deseados: Objetos sobre los que se hacen consultas, personas
a ser informadas, objetos a ser controlados, parmetros a ser mantenidos dentro
de cierto rango, resultados de consultas, etc.
Los elementos disponibles para los diseadores del software para producir los
efectos deseados tambin son parte del dominio del problema. Indirectos pueden
ser motores que la mquina enciende o apaga, personas que introducen valores,
etc. Pero donde hay elementos indirectos tambin los hay directos. Los nicos
efectos
que
una
computadora
puede
causar
directamente
son
sobre
Pg. 7
el
Requerimientos: Son los efectos que la mquina debe ejercer en el dominio del
problema, por virtud de su programacin.
Hemos hecho una definicin precisa limitando los requerimientos a condiciones en
el dominio del problema. No estamos interesados en el comportamiento del
software sino en los efectos producidos por el comportamiento del software. No
debemos confundir la solucin con el problema.
El mundo debe separarse en dominios. Cada dominio contiene individuos, esto es,
partes distinguibles sobre las cuales se desea decir algo. Son las partes fsicas del
mundo en trminos de las cuales se definen los requerimientos. Los individuos en el
dominio de la mquina son las subrutinas, las estructuras de datos que componen
la programacin as como los dispositivos de entrada/salida. La nica regla sobre
los individuos es que siempre se puede distinguir uno de otro.
En cada dominio tambin est incluido todo lo que se desea decir sobre los
individuos que lo componen. Todo lo que se est en condiciones de aseverar o
negar sobre un dominio se denomina predicado. Un dominio podra definirse
entonces como un conjunto de individuos con sus predicados.
Dado que los requerimientos estn expresados en trminos del dominio del
problema, solo pueden referirse a los individuos en el domino del problema.
La descripcin del dominio del problema ocupa la mayor parte del documento de
requerimientos. Inclusive ms que la lista de requerimientos. Dependiendo del tipo
de problema puede contemplar:
Pg. 8
Los
marcos
de
problema
caracterizan
clases
de
problema
que
Estaramos
desaprovechando
la
oportunidad
de
construir
un
en los
Pg. 9
Pg. 10
Estacin
Meteorolgica
Sistema de
Control
Consultas
Estacin
Meteorolog.
Temperatura
Temperaturas
Una lnea que conecta una elipse con uno o mas dominios indica que los
requerimientos aplican sobre dichos dominios. Los requerimientos siempre
especifican relaciones a ser construidas dentro o entre dominios.
Consultas
Usuarios
Pg. 11
Descripcin
Marco de
Problema
Requerimiento de informacin
sobre alguna parte del dominio Informacin
del problema
Reglas que debe seguir el
Reglas de
comportamiento del dominio del Control
comportamiento
problema
Mapeos sobre datos de entrada
Mapeos
Transformacin
y de salida del software
Operaciones que realizan los
Operaciones sobre
usuarios sobre objetos que
Workpieces
dominios creados
existen solo dentro del software
Mantenimiento de dominios que
no poseen fenmenos
Correspondencias
Conexin
entre dominios
compartidos en sus estados
correspondientes.
Tabla 2.1: Tipos de marcos de problema
Consultas
Para cada tipo de requerimiento existe un conjunto de informacin del dominio del
problema
necesario
para
describir
una
especificacin
que
implemente
el
requerimiento.
Estos marcos no constituyen una lista exhaustiva, solo describen una clase
especfica de problema. Cuando se detecta un problema que se ajusta a uno de los
marcos, se conoce cmo debe documentarse sistemticamente el problema de una
manera que sea til para el resto del desarrollo.
Los problemas reales involucran distintos tipos de requerimientos a la vez. Es el
caso de los marcos compuestos.
El propsito de enmarcar un problema no es forzarlo a que se ajuste a alguna
categora existente, por el contrario, es reconocer un problema familiar y a partir
de all, comenzar el anlisis de un problema no familiar.
Se expone a continuacin una breve descripcin de cada marco.
Pg. 12
Pg. 13
Para documentar un sistema dinmico se debe indicar cmo el sistema gana acceso
a cada evento que cambia el resultado de las posibles consultas.
Para documentar un sistema de informacin esttico no se debe indicar cmo el
sistema obtiene acceso a la parte relevante del mundo real sino cmo los
desarrolladores obtienen dicho acceso.
Hay una subclase de problema de informacin dinmico llamado Snapshot. El
sistema reporta sobre el estado actual de alguna parte del mundo real, como la
temperatura actual, o por ejemplo una foto de una avenida de Madrid va internet.
Estos problemas se enmarcan mejor como un problema de conexin.
Pg. 14
Pg. 15
Pg. 16
La figura 2.7 muestra los marcos de problema de conexin de tipo (a) y (b).
Tipo (a)
Tipo (b)
Figura 2.7: Marco de problema de conexin
El requerimiento en ambos casos es nada ms que una correspondencia asequible
de estados, no una perfecta correspondencia, dado que esta ltima suele ser
imposible de lograr. Normalmente los problemas de conexin ocurren como parte
de otro problema mayor.
Documentar un problema de conexin del tipo (a) consiste en la descripcin de los
mapeos entre los fenmenos compartidos que vinculan el dominio de conexin con
el dominio de inters, y los fenmenos compartidos entre el sistema y el dominio
de conexin. Este mapeo debe incluir los tipos de distorsin y retraso introducidos
por le dominio de conexin: Que tipo de conexin es la menos confiable? cul es
el retraso entre un evento en un extremo del dominio de conexin y el
correspondiente evento en el otro?
Es muy valioso documentar las maneras en que el sistema puede detectar que el
dominio de conexin no est funcionando apropiadamente.
Documentar un problema del tipo (b) involucra la descripcin del mismo tipo de
mapeos entre estados y/o eventos, excepto que ahora es una mapeo deseado, con
Pg. 17
descripciones
individuales
de
cada
componente
pero
cubriendo
sistemticamente todo.
No es necesario utilizar la misma metodologa de documentacin para todo el
proyecto. Se puede utilizar una diferente segn la pieza de software sobre la que se
trabaja.
Es justamente donde cobra importancia el tener un catlogo de marcos compuestos
disponible, dado que la experticia obtenida en otros software es lo que permite
enmarcar nuevos problemas de la manera correcta. Tales marcos compuestos son
la combinacin de marcos elementales donde se comparten dominios, formando un
nico marco representativo del problema.
El sistema es capaz de almacenar dichos marcos compuestos y los marcos
elementales constitutivos, de modo cuando el analista detecta un problema similar
o idntico obtenga un guiado en la documentacin completa del problema.
Usualmente, los problemas complejos poseen grupos de requerimientos de la
misma clase, esto es, requerimientos que corresponden a un tipo de marco de
problema y que hacen referencia al mismo conjunto de dominios. Haciendo la
particin en subproblemas se tienen requerimientos que no se superponen o
interfieren entre s. Adems se describen los dominios comunes una nica vez sin
que interfieran con los requerimientos.
La figura 2.8 muestra un marco compuesto para un sistema de inventario y
posteriormente los dos marcos elementales que lo constituyen.
Pg. 18
variadas
aproximaciones
la
descomposicin
de
problemas
en
Pg. 19
veces
el
problema
que
no
se
ajusta
ningn
marco
conocido
an
Pg. 20
son diferentes (es el caso del trfico ms denso en una direccin que en la otra) la
mquina debe poder distinguirlos. Generalmente la solucin a la dificultad de
identidad consiste en la introduccin de uno o varios subproblemas de mapeo.
Esta aproximacin consiste en trabajar desde el interior hacia afuera, donde el
interior es el marco que parece ajustar aproximadamente y el exterior es el
conjunto de dificultades circundantes. El problema central puede ser analizado
asumiendo que las dificultades sern resueltas en la solucin a los subproblemas
que las capturan.
Esta aproximacin es la aplicacin de la heurstica:
"Resolver un problema ms simple"
2.5.3 Reconocimiento de un marco compuesto
Si bien los marcos de problema elementales forman la base de la tcnica, es
conveniente contar con un rico conjunto de marcos compuestos. De este modo es
factible que una parte sustancial, u ocasionalmente el problema completo, se ajuste
a un marco de problema compuesto.
Esta aproximacin es el resultado de aplicar la heurstica:
"El mejor mtodo es haber resuelto el mismo problema anteriormente"
2.6 Documentacin
El documento de requerimientos debe poseer toda la informacin necesaria para la
concrecin exitosa del proyecto. En la tabla 2.2 se muestra una lista exhaustiva del
contenido que debe poseer. Ntese que no se define una estructura rgida, como lo
hacen los estndares, dado que el software es muy vasto como para definir tal tipo
de organizacin.
Pg. 21
El documento de requerimientos
Consultas
Reglas de comportamiento
Requerimientos
Mapeos
Operaciones en dominios creados
Correspondencias asequibles
Entidades, atributos y relaciones
(modelo de datos)
Secuencias de eventos
Reglas causales
Formatos de archivo
Fuentes de informacin
Hardware y/o software con el que
conectarse
Mapeos entre puertos I/O y hardware
Expectativas
Invariantes
Plataforma: hardware y
sistema operativo
Caractersticas globales
Limitaciones de diseo
Cambios deseables o
probables
Glosario
Introduccin
Informacin del documento
Tabla 2.2: Contenido del documento de requerimientos.
Requerimientos: Adems de la informacin que se debe incluir para cada tipo de
requerimientos, se puede indicar la importancia relativa o prioridad para cada uno
de ellos. Es til para decidir cul dejar para la siguiente versin, o bien eliminar si
el proyecto se retrasa. Dicha priorizacin puede ser mediante escalas numricas, no
obstante
una
aproximacin
simple
precisa
es
la
indicacin
para
cada
Pg. 22
Pg. 23
descripciones
del
dominio
del
problema)
conforman
el
Pg. 24
Captulo III
Definicin del
Problema
Captulo III
Pg. 26
Tales problemas sugieren que existe una creciente necesidad de herramientas que
asistan en el proceso de elaborar los requerimientos de un sistema software, que
trabaje con dominios complejos de modo que colabore con
tarea.
La ms poderosa contribucin de los sistemas expertos es poner al servicio de los
analistas noveles la experiencia adquirida por aquellas personas consideradas
verdaderos especialistas en el rea. (Davis, 1993)
Hay una gran distancia entre la correcta prctica de la ingeniera de software y la
prctica media, quiz mayor a la de cualquier otra ingeniera (Brooks, 1995).
Una herramienta que contribuya en el mejoramiento de la prctica de la ingeniera del
software y que a la vez incentive su aplicacin sera de vital importancia.
3.3 Objetivos del trabajo
El sistema experto que se pretende desarrollar tiene por objetivo asistir al analista y/o
Ingeniero en Software en la tarea de elaboracin del documento de Requerimientos.
Ante todo conviene aclarar cul es el significado de la terminologa que se utilizar en
el trabajo. Se entiende por Requerimiento la especificacin de la informacin necesaria
para realizar determinadas tareas o funciones, en tanto Requisito es una condicin y/o
especificacin tcnica u operativa respecto de los requerimientos. Dado que ambos
trminos suelen ser utilizados como sinnimos, hecha la aclaracin, el sistema experto
a desarrollar se centrar sobre los Requerimientos del sistema.
El proceso de ingeniera de requerimientos comienza con la etapa de elicitacin donde
se interacta fluidamente con los usuarios y/o clientes, se obtienen reportes de
sistemas anteriores, entrevistas, documentacin aportada por los futuros usuarios,
observaciones, etc.
Como resultado de dicha fase el ingeniero debe generar el
documento de
Pg. 27
metodologa
utilizada
por
los
expertos
para
resolver
el
problema,
Construir
el
sistema
mediante
el
uso
de
una
herramienta
para
la
3.4 Alcance
El sistema abordar el anlisis del problema mediante el uso de marcos de problema
para luego guiar al usuario en la informacin que necesita obtener para poder
documentar los requerimientos y la descripcin del dominio de aplicacin.
El objetivo primario es obtener un marco de problema adecuado al problema que el
software intenta dar solucin y, a partir del mismo, servir de gua para que toda la
informacin necesaria haya sido obtenida en orden de generar un documento
preliminar de requerimientos.
Pg. 28
Pg. 29
Ser Reutilizable
Ser Integrable
Los requisitos estn sometidos a constantes cambios y por ende el sistema tambin,
por lo que como resultado se obtiene un sistema en constante evolucin por lo que
puede considerarse como un prototipo en constante perfeccionamiento, mediante el
agregado
de
descomposicin
nuevos
del
marcos
problema,
compuestos,
mediante
mediante
nuevas
formas
nuevas
de
tcnicas
de
documentacin
A continuacin se describe en forma breve las diferentes etapas del Ciclo de Vida,
desarrolladas en el presente trabajo.
Pg. 30
pretende
conocimientos,
encontrar
garantizando
su
una
adecuada
correcta
representacin
manipulacin.
Es
el
de
los
primer
desarrolla
la
transformacin
de
los
conocimientos
Pg. 31
que
el mismo
puede
la Ingeniera del
Conocimiento.
Una vez considerado viable el desarrollo del proyecto se procede a la definicin de las
caractersticas de la tarea.
En la fase II se desarrolla un primer prototipo que luego se refina gradualmente hasta
conseguir las especificaciones precisas del problema. En la primera etapa de esta fase,
Concepcin de la Solucin y Descomposicin en subproblemas, se elabora un diseo
general del prototipo en conjunto con los expertos considerando las especificaciones
del sistema y el plan de requisitos elaborado en la primera fase de la metodologa.
Se contina con la Adquisicin de Conocimientos para obtener los conocimientos
pblicos y educir los conocimientos privados de los expertos, que son modelados en la
etapa de Conceptualizacin.
La Formalizacin de los Conocimientos determina los modelos de representacin
adecuados, que permiten definir el diseo detallado del Sistema Experto (motor de
inferencia, bases de conocimiento, interfaces, etc.).
La herramienta de implementacin del Sistema Experto es Kappa P.C. de la compaa
Intellicorp.
Una vez construido el SE, se procede a la Evaluacin, utilizando casos de prueba
suministrados por los expertos.
En base a los resultados obtenidos se definen nuevos Requisitos y se contina con el
siguiente prototipo.
Pg. 32
Pg. 33
Captulo IV
Estudio de la
Viabilidad
Captulo IV
Estudio de la Viabilidad
4.1. Introduccin.
El estudio de viabilidad permite determinar si el problema planteado puede ser
resuelto mediante un Sistema Experto. Se evalan los aspectos de Plausibilidad,
Adecuacin, Justificacin y xito que caracterizan al problema utilizando el Test de
Viabilidad propuesto por la Metodologa IDEAL.
Dicho test est conformado por un conjunto de caractersticas, a las cuales el
Ingeniero de Conocimiento debe asignar valores, de acuerdo al grado de
comprensin que este posee del problema, de los expertos, usuarios finales,
colaboradores, etc. del proyecto.
El test utiliza las siguientes cuatro dimensiones:
A) Plausibilidad: Uno de los requisitos ms importantes, por ser condicin
necesaria, es que existan verdaderos expertos en el rea del problema. Estos
expertos deberan estar totalmente disponibles para trabajar en el proyecto.
Adems es imprescindible que el experto sea cooperativo y capaz de articular sus
conocimientos y modos de razonamiento. Aqu es crtico disponer de un conjunto de
casos de prueba que permitan observar in situ cmo los expertos resuelven el
problema, de manera que sea ms sencillo entender el proceso real tal como es, as
como los conocimientos reales que utilizan.
B) Justificacin: El esfuerzo de desarrollo de un Sistema Experto se justifica por
ejemplo cuando la tarea del experto debe realizarse en entornos hostiles o
peligrosos, por lo que no se desea mantener un experto humano en el lugar, o
bien, cuando los expertos humanos escasean y una empresa necesita expertos en
distintas ubicacioens a la vez. Otra justificacin para el desarrollo de un Sistema
Experto es la rotacin de personal, por ejemplo por jubilacin y la experiencia
adquirida esta a punto de perderse.
Pg. 36
Pg. 37
1 si x = a
(x) =
0 en otro caso
Esta funcin sirve para manipular caractersticas que toman valores ntidos.
Como se puede visualizar en la Figura 4.1, las grficas de las funciones de
pertenencia pueden ser definidas gracias a sus puntos de ruptura o puntos
angulares. A cada valor lingstico le ser asociado un intervalo difuso, determinado
por los siguientes puntos angulares.
Valor Lingstico
Muy Poco o Nada
Poco
Regular
Mucho
Muchsimo o Todo
Intervalo difuso
0,01 0,01
1,2
1,2
2,2
3,4
3,4
4,4
5,6
5,6
6,6
7,8
7,8
8,8
10
1,2
4,4
6,6
8,8
10
Pg. 38
Valor Lingstico
No
S
Intervalo difuso
0,01 0,01 0,01
10
10
10
0,01
10
0,5
Todo
M ucho
Regular
Poco
Nada
9 10
Pg. 39
Tipo: una caracterstica puede ser de dos tipos: deseable o esencial y muestra su
importancia. Si es vital para el proyecto, es esencial, una caracterstica de este tipo
deber superar un valor de umbral, de lo contrario el proyecto deber ser
inmediatamente abandonado. En otro caso la caracterstica se considera deseable.
Umbral: Es una referencia para caractersticas esenciales. El valor del umbral es
fijo, pero no necesariamente igual para todas las caractersticas y es de la misma
naturaleza que el valor de las caractersticas.
Valor: para cada proyecto concreto hay que asignar un valor a cada caracterstica
dentro del conjunto de valores adecuados para cada naturaleza.
4.3 Funcionamiento de la Tcnica
La representacin de los valores en intervalos difusos segn los cuatro puntos
angulares mencionados anteriormente, permiten trabajar con estos como si fueran
valores numricos.
La media armnica proporciona los valores ms aceptables para el problema, con el
nico inconveniente que si hay un valor "cero" en el conjunto de los valores de los
que se hace la media, el resultado obtenido es "cero". Esto se soluciona haciendo la
media armnica y la media aritmtica del conjunto de intervalos y luego, hacer la
media aritmtica de los dos intervalos obtenidos. Es decir:
1
VCi =
2
k =1 Pik
1 k =1 PikVik
+
ri Pik
2 rki=1 Pik
k =1 Vik
ri
ri
Donde:
VCi Valor Global de la aplicacin en una dimensin dada.
Vik Valor de la caracterstica k en la dimensin j.
Pik Peso de la caracterstica k en la dimensin j.
ri nmero de la caracterstica en la dimensin j.
La suma de intervalos se realiza de la siguiente forma:
(V1 , V2 , V3 , V4) + (W1 , W2 , W3 , W4) = (V1 + W1 , V2 + W2 , V3 + W3 , V4 + W4)
Si una sola caracterstica de justificacin tiene un valor muy alto, enteramente est
justificado el desarrollo del sistema experto.
Pg. 40
Vf
i =1 PiVi
4
Pi
4
i =1
Pg. 41
Denominacin de la caracterstica
Categora
Dimensin
Peso (P)
Tipo
Naturaleza
Umbral
Valor
Experto
P1
+10
Esencial
Booleana
S (s)
Experto
P2
+7
Deseable
Difusa
No
Mucho
Tarea
P3
+8
Deseable
Difusa
No
Mucho
Tarea
P4
+10
Esencial
Numrica
S(8)
Tarea
P5
+9
Deseable
Numrica
No
Tarea
J1
+8
Deseable
Difusa
No
Mucho
Directivos/
usuarios
J2
+7
Deseable
Numrica
No
Experto
J3
+6
Deseable
Difusa
No
Mucho
Tarea
J4
+10
Deseable
Difusa
No
Poco
Tarea
J5
+10
Deseable
Difusa
No
Todo
Experto
J6
+10
Deseable
Difusa
No
Mucho
Tarea
J7
+8
Esencial
Booleana
S (s)
Tarea
A1
+7
Deseable
Difusa
No
Mucho
Pg. 42
Denominacin de la caracterstica
Categora
Dimensin
Peso (P)
Tipo
Naturaleza
Umbral
Valor
Tarea
A2
+10
Deseable
Difusa
No
Mucho
Tarea
A3
-2
Deseable
Difusa
No
Poco
Tarea
A4
+5
Deseable
Difusa
No
Mucho
Tarea
A5
+7
Deseable
Difusa
No
Mucho
Tarea
A6
+8
Deseable
Booleana
No
Tarea
A7
+8
Esencial
Difusa
Si (mucho)
Mucho
Tarea
A8
+8
Deseable
Difusa
No
Poco
Tarea
A9
+6
Deseable
Difusa
No
Mucho
Experto
A10
+3
Deseable
Booleana
No
Tarea
A11
+8
Deseable
Booleana
No
Experto
A12
+3
Deseable
Difusa
No
Mucho
Tarea
A13
+3
Deseable
Difusa
No
Mucho
Pg. 43
Denominacin de la caracterstica
Categora
Dimensin
Peso (P)
Tipo
Naturaleza
Umbral
Valor
Tarea
A14
-10
Esencial
Booleana
S (No)
No
Tarea
A15
-6
Deseable
Difusa
No
Nada
Directivos/
usuarios
E1
+7
Deseable
Difusa
No
Regular
Tarea
E2
+8
Deseable
Booleana
No
Tarea
E3
-5
Deseable
Booleana
No
No
Directivos/
usuarios
E4
-9
Esencial
Difusa
Si (poco)
Nada
Directivos/
usuarios
E5
+8
Deseable
Difusa
No
Poco
Tarea
E6
+7
Deseable
Difusa
No
Regular
Tarea
E7
+4
Deseable
Difusa
No
Todo
Experto
E8
+4
Deseable
Difusa
No
Todo
Directivos/
usuarios
E9
+8
Esencial
Difusa
Si (mucho)
Mucho
Tarea
E10
+5
Deseable
Difusa
No
Mucho
Pg. 44
Denominacin de la caracterstica
Categora
Dimensin
Peso (P)
Tipo
Naturaleza
Umbral
Valor
Tarea
E11
+6
Deseable
Difusa
No
Mucho
Experto
E12
-7
Deseable
Difusa
No
Poco
Directivos/
usuarios
E13
+4
Esencial
Difusa
S (mucho)
Mucho
Experto
E14
+8
Deseable
Difusa
No
Mucho
Experto
E15
+5
Deseable
Difusa
No
Mucho
Directivos/
usuarios
E16
+8
Esencial
Booleana
S (si)
Tarea
E17
-6
Deseable
Difusa
No
Regular
E18
+7
Esencial
Difusa
S (mucho)
Mucho
E19
-2
Deseable
Dilusa
No
Mucho
Experto
E20
+4
Deseable
Difusa
No
Regular
Tarea
E21
-6
Deseable
Booleana
No
No
Directivos/
usuarios
E22
+8
Esencial
Difusa
Si (mucho)
Mucho
Experto
E23
+5
Deseable
Booleana
No
Pg. 45
Plausibilidad
1,2
Nada
Poco
0,8
Regular
0,6
Mucho
0,4
Todo
0,2
Plausibilidad
0
0
10
Figura 4.2
Dimensin de Justificacion
Vr = (7.8 , 8.8 , 10 , 10)
Justificacin
1,2
1
0,8
0,6
0,4
0,2
0
Nada
Poco
Regular
Mucho
Todo
Justificacin
0
10
Figura 4.3
Pg. 47
Dimensin de Adecuacion
Vr = (4.248 , 4.729 , 5.221 , 5.702)
Adecuacin
1,2
1
Nada
Poco
Regular
Mucho
Todo
Adecuacin
0,8
0,6
0,4
0,2
0
0
10
Figura 4.4
Dimensin de xito
Vr = (4.178 , 4.671 , 5.172 , 5.607)
Exito
1,2
Nada
Poco
Regular
Mucho
Todo
xito
1
0,8
0,6
0,4
0,2
0
0
10
Figura 4.5
Finalmente una vez obtenidos los intervalos resultantes de las cuatro dimensiones,
se efecta el clculo final para determinar la viabilidad general del proyecto.
Pg. 48
6,5
Resultado Final
1,2
Nada
Poco
Regular
Mucho
Todo
Final
1
0,8
0,6
0,4
0,2
0
0
10
Figura 4.6
P2:
El
experto
es
capaz
de
estructurar
sus
mtodos
Procedimientos de trabajo.
Anlisis: El experto local ha sido compaero de tareas del autor por aos, lo que permite
aseverar que es capaz de estructurar sus mtodos y procedimientos de trabajo.
Pg. 49
Valor: Mucho
Anlisis de dicha informacin para el posterior guiado al usuario segn ciertos criterios
y estrategias de acuerdo a patrones de especificaciones.
Valor: Mucho
Caracterstica P4: Existen suficientes casos de prueba y sus soluciones asociadas
Anlisis: Tanto en la bibliografa, como en el material recopilado se dispone de documentacin
que sirve como ejemplo de documento de requerimientos y adems se cuenta con varios
ejemplos de anlisis del problema y descomposicin del dominio de la aplicacin.
Valor: 8
Caracterstica P5: La tarea slo depende de los conocimientos y no del sentido comn
Anlisis: Se debe disponer de material como por ejemplo la norma estndar IEEE/ANSI 8301998, las tcnicas de modelado de datos, estados, transiciones, taxonomas, etc. por lo que
podemos decir que la tarea depende en gran parte de los conocimientos que se posean acerca
de cmo documentar requerimientos y de cmo analizar el dominio de la aplicacin y el
problema que el software debe resolver.
Valor: 8
4.4.2.2 Justificacin de la Dimensin de Justificacin
Caracterstica J1: Resuelve una tarea til y necesaria
Anlisis:
Pg. 50
Pg. 51
adquisiciones,
reconocer
requisitos
errneos,
explicar
la
Pg. 52
Valor: Mucho
Caracterstica A5: La tarea requiere el uso de heuristicas para acotar el espacio de
bsqueda
Anlisis: Cuando se presenta un problema que debe analizarse para luego poder
documentar los requerimientos es necesario el uso de heursticas; las mismas
permiten que el espacio de bsqueda quede acotado en el momento de aconsejar al
ingeniero de software sobre los pasos a seguir.
Valor: Mucho
Caracterstica A6: la tarea es de carcter prctico y ms tctica que estratgica
Anlisis: La tarea est orientada fuertemente a la meta de especificar los requisitos
segn el estndar IEEE/ANSI 830-1998. El alcance est dado para el proyecto en
particular por lo que afecta en menor medida a la organizacin. Esto hace que sea
eminentemente tctica.
Valor: S
Caracterstica A7: Se espera que la tarea contine sin cambios signiticativos durante un
largo perodo de tiempo
Anlisis: El anlisis de requisitos utiliza tcnicas y metodologas desarrolladas en la
dcada del 70 y los 80. El estndar de requisitos tiene una versin anterior de 1984
por lo que se espera que el objetivo a lograr permanezca estable por un
considerable perodo de tiempo.
Valor: Mucho
Caracterstica A8: Se necesitan varios niveles de abstraccin en la resolucin de la tarea.
Anlisis: Los conocimientos para resolver la tarea no son complejos. Se necesitan
conocer algunas tcnicas de especificacin fcilmente comprensibles por usuarios
no tcnicos.
Valor: Poco
Caracterstica A9: El problema es relativamente simple o puede descomponerse en
subproblemas.
Anlisis: Se puede descomponer el problema en subproblemas, como por ejemplo
el guiado segn el estndar de requisitos, el proceso de buscar modelos patrones
Pg. 53
Pg. 54
Pg. 55
Anlisis: El trabajo ser el mismo pero con la ayuda y la asistencia del sistema, por
lo que este tipo de herramientas son bienvenidas. No obstante todo cambio genera
algo de resistencia.
Valor: Poco
Caracterstica E6: Se dispone de experiencia en INCO
Anlisis: No existe experiencia previa. Pero se dispone de material realizado por
expertos con experiencia previa.
Valor: Regular
Caracterstica E7: Se dispone de los recursos humanos, hardware y software necesarios
para el desarrollo e implantacin del sistema
Anlisis: Se cuenta con computadoras para el desarrollo, el software adecuado,
material bibliogrfico, la disponibilidad de personal universitario y de expertos
externos.
Valor: Todo
Caracterstica E8: El experto resuelve el problema en la actualidad
Anlisis: Se encuentran en el mbito de la ingeniera del software, donde se
resuelve el problema del anlisis de requisitos cotidianamente.
Valor: Todo
Caracterstica E9: La solucin del problema es prioritaria para la institucin
Anlisis: Es prioritaria dado que es una rama de investigacin que se desea
comenzar y proseguir con futuros trabajos.
Valor: Mucho
Caracterstica E10: Las soluciones son explicables
Anlisis: El sistema debe explicar cada solucin adoptada de modo de brindar
trazabilidad a los requisitos y ayudar al usuario a continuar con el proceso.
Valor: Mucho
Caracterstica E11: Los objetivos del sistema son claros y evaluables
Pg. 56
Anlisis: Los objetivos est claramente establecidos por el estndar a seguir, y del
mismo modo puede ser evaluado al finalizar el trabajo o mientras es realizado.
Adems se puede evaluar mediante la comparacin del documento de elicitacin
antes y despus verificando si se produjo una depuracin del mismo.
Valor: Mucho
Caracterstica E12: Los conocimientos estn repartidos entre un conjunto de individuos
Anlisis: Si bien se cuenta con varias personas expertas en la materia, todas posen
un nivel similar de conocimientos por lo que no es necesaria su presencia
simultnea.
Valor: Poco
Caracterstica E13: Los directivos, usuarios, expertos e IC estn de acuerdo en las
funcionalidades del SE
Anlisis: Se ha llevado una tarea de conciliacin de objetivos.
Valor: Mucho
Caracterstica E14: La actitud de los expertos ante el desarrollo del sistema es positiva y no
se sienten amenazados por el proyecto
Anlisis: Se espera con entusiasmo el desarrollo para luego continuar con el
proyecto global de investigacin.
Valor: Mucho
Caracterstica E15: los expertos convergen en sus soluciones y mtodos
Anlisis: Todos los involucrados poseen una formacin similar y adoptan soluciones
convergentes.
Valor: Mucho
Caracterstica E16: Se acepta la planificacin del proyecto propuesta por el IC
Anlisis: Fue aceptada.
Valor: S
Caracterstica E17: Existen limitaciones estrictas de tiempo en la realizacin del sistema
Pg. 57
Pg. 58
Captulo V
Adquisicin de
Conocimientos
Captulo V
Adquisicin de conocimientos
5.1 Introduccin
El proceso de adquisicin seguido ha sido subdividido en diferentes perspectivas de
profundizacin gradual, con las siguientes etapas:
1. Primeras reuniones y evaluacin de la viabilidad
2. Extraccin de conocimientos (A partir de la documentacin disponible, como
por ejemplo, libros, conferencias, proceedings, papers, etc)
3. Educcin de conocimientos (A partir de los expertos)
a. Interrogatorios iniciales
b. Investigacin profunda.
La Adquisicin de conocimientos se comenz con una serie de reuniones con los
expertos, y posibles usuarios del Sistema Experto.
para:
Pg. 60
genuinamente
privados
de
los
expertos.
La
educcin
es,
Informacin a tratar.
Tcnica adecuada.
Preparacin de preguntas.
2. Sesin.
3. Transcripcin.
4. Anlisis de la Sesin.
Pg. 61
Preparacin de Preguntas:
En qu consiste la actividad que desarrolla el experto?
Dnde se lleva a cabo la actividad?
Cmo se lleva a cabo la tarea?
A qu estar abocada la tarea del sistema experto?
Transcripcin de la Sesin 1
Sesin 1
Fecha: 1/04/00
Experto: Lic. Bibiana Rossi
Lugar: ITBA - CAPIS
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Obtener conceptos bsicos sobre el dominio y la tarea que debe realizar
el SE.
Pg. 62
Sera un asistente para definir requisitos sin considerar requisitos anteriores y sin
considerar un dominio especifico. Es ms una ayuda para asistir en la definicin de
todos los datos que se necesitan para especificar el requerimiento.
4.
una
condicin
y/oespecificacin
tcnica
operativa
respecto
de
requerimientos.
Pg. 63
los
ESPECIFICACION DE REQUERIMIENTOS
Identificacin
detallada
de
la
informacin
que
se
necesita
para
realizar
Evaluacin de la sesin
Se obtuvieron los resultados esperados. Se concluye que el SE debe asistir al
Ingeniero de Software
realizada,
sin
considerar
requerimientos
anteriores
dominios
especficos.
5.3.2 Sesin 2: Sesiones de profundizacin de conocimientos
Preparacin de la sesin
Preparacin de preguntas:
1. De los casos en los que has trabajado, Se mantiene un registro que
permita obtener estudios histricos?. En caso afirmativo, Existe la
posibilidad de utilizar dichos casos para evaluar el sistema?
2. Cundo se lleva a cabo el anlisis del problema, al tomar decisiones,
Se utiliza sentido comn?
3. Cmo se calificara la posibilidad de utilizar un sistema experto que
imitara tu forma de razonar ante la tarea de realizar el documento de
requerimientos?
4. Para realizar el anlisis y documentacin de requerimientos, Se
requiere de un volumen de conocimientos elevado?
5. Los
conocimientos
Pg. 64
propia?.
6. El anlisis del problema y enmarcado es sumamente sistemtico
(algortmico) o se utiliza algn tipo de atajo para resolver el
problema (heursticas) propio de la experiencia?.
7. Para analizar el dominio y documentar requerimientos Se puede
descomponer la tarea en varias subtareas?
8. Se suele llevar adelante el trabajo con informacin incompleta, es
decir, sin contar con toda la informacin que se deseara?.
9. Es conveniente justificar las soluciones adoptadas?
10. El tiempo esperado para dar una respuesta es limitado?
11. El sistema debe buscar la solucin ptima?
12. Una vez qu est construido el sistema, los usuarios tendrn que
tener
cierta
experiencia
en
el
campo
de
la
ingeniera
de
requerimientos?
Sesin 2
Sesin 2
Fecha: 3/04/00
Expertos: Lic. Bibiana Rossi, Lic. Edgardo Claverie
Lugar: ITBA - CAPIS
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Identificacin de la Viabilidad
1. De los casos en los que has trabajado, Se mantiene un registro que permita
obtener estudios histricos?. En caso afirmativo, Existe la posibilidad de utilizar
dichos casos para evaluar el sistema?
Existe la documentacin de cada proyecto en los que hemos participado, que bien
puede servir para casos de prueba tanto de aquellos proyectos exitosos como de
los que fracasaron ya sea por exceso de costo o tiempo, o bien por software
defectuoso.
2. Cundo se lleva a cabo el anlisis del problema, al tomar decisiones, Se utiliza
sentido comn?
El
proceso
de
ingeniera
de
requerimientos,
est
plenamente
basado
Pg. 65
en
Pg. 66
Anlisis de la Sesin 2
Los conocimientos extrados de la sesin 2 se encuentran reflejados en la
justificacin de las diferentes caractersticas que se evalan en test de viabilidad.
En la Justificacin de las caracteristicas del Test de Viabilidad, se describen los
conocimientos obtenidos de la presente sesin de educcin.
Pg. 67
Sesin 3
Fecha: 05/04/00
Experto: Lic. Bibiana Rossi
Lugar: ITBA - CAPIS
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: La presente sesin se concentrar en el entorno del proceso de
especificacin de requerimientos, definicin de trminos generales,
metodologa global de trabajo, es decir los lineamientos que enmarcan la
actividad mencionada.
Se pretende ubicar en rasgos generales la actividad que el experto realiza,
familiarizarse con los trminos y actividades ms comunes.
Se utiliza la tcnica de cuestionario dado la distancia fsica entre el experto
y el IC.
Transcripcin de la sesin
1. Podras definir qu son los requerimientos?
Son
las
necesidades
de
informacin, para
desarrollar
determinadas tareas
varias
ocasiones
su
utiliza
el
trmino
requisitos
como
sinnimo
de
Pg. 68
Hay que considerar que los requerimientos pueden no ser respecto de informacin
a obtener, sino respecto de la funcionalidad o de la performance con que se desea
esa informacin. En el hipottico caso que la informacin que se requiera sea la
misma que ya se obtiene pero que se desee con mayor rapidez y por algn medio
tecnolgico distinto a los actuales, en ese caso desde mi punto de vista los
requerimientos deberan igualmente especificarse a partir de cual es la actual
informacin. No creo conveniente obviar este paso (si bien es evidente que puede
resultar mas sencillo y rpido) y definir requisitos porque es factible que se requiera
algn ajuste en la informacin. Por otra parte es obviamente la forma de dejar
documentado de que informacin a obtener se hace referencia. Y si se hace
abstraccin generalizada de esta situacin puede pensarse que en muchos casos la
motivacin inicial es un cambio tecnolgico que suele llevar tambien implcitas
mejoras respecto del contenido y calidad de la informacin actualmente usada.
2. De igual modo podras definir que es una especificacin de requerimientos?
Identificacin detallada y documentada de la informacin necesaria para desarrollar
determinadas tareas o funciones.
3. De qu tipo de informacin, material, etc. necesitas disponer al comenzar el
proceso de especificacin de requerimientos?
Obviamente el objetivo del sistema, su alcance y limites, lo mas claro posible
porque justamente es la especificacin de requerimientos la que agrega precisin
respecto del objetivo, los limites y alcances. Aun as debe existir previamente un
objetivo definido con el mayor nivel de precisin posible.
La documentacin de las entrevistas realizadas a los usuarios, si las hubiera.
La documentacin de las encuestas o cuestionarios realizados por los usuarios.
Un bosquejo de los listados, formularios o documentos que los usuarios desean
recibir y con que periodicidad. Quienes son los destinatarios, y quienes originan la
informacin.
Una copia de los actuales listados, formularios o documentos que se usan
actualmente y con que periodicidad, en lo posible completos con la informacin
correspondiente. Con que periodicidad, destinatarios y orgenes de la informacin.
4. Una vez que has identificado el dominio de la aplicacin y el problema a
resolver, utilizas ciertos modelos, patrones o marcos, fruto de tu experiencia,
en el proceso de identificar y especificar los requerimientos para la aplicacin?
Por ejemplo, aplicas analogas de sistemas similares resueltos anteriormente,
pero atendiendo a las particularidades del actual?
Pg. 69
de
Pg. 70
punto de partida para cualquier actividad de anlisis y diseo. Tenia adems una
habilidad que pona en practica frecuentemente en sus habituales tareas como
director. En cuanto comenzbamos a trabajar juntos tomaba una hoja en blanco,
un lpiz negro y bosquejaba un diseo de formulario sobre el cual iba ordenando la
informacin que necesitaba para atender el tema de ese momento. Era realmente
interesante como ese bosquejo ordenaba el trabajo, lo clarificaba y quien tenia que
trabajar con el poda operativizar rpidamente las ideas.
Podra suponerse entonces que si estuviera en lugar de usuario facilitara la tarea
del entrevistador solicitndole los datos necesarios y que relacin deban tener. En
una ocasin un grupo estaba desarrollando un sistema fundamental para las tareas
del departamento, pues fue casi imposible poder obtener la informacin necesaria.
Para saber que informacin necesitaba (listados bsicos ) fue necesario recurrir a
los bosquejos que guardbamos quienes trabajamos con el, y fue necesario
organizar sesiones para observar como hacia la tarea, para poder rescatar cual era
la informacin que usaba y como.
A mi modo de ver este es realmente el peor de los problemas, pero por ahora no le
veo alternativa de mejora, salvo que se considere alguna forma de ayuda para que
un usuario defina los requerimientos desde su punto de vista y luego el analista los
defina profesionalmente.
En segundo lugar el problema que ocurre con mas frecuencia es la incompletitud de
los requerimientos. Es decir requerimientos definidos parcialmente, o no definidos.
Es decir en Ingeniera del Software se proponen dos modelos iniciales (que se
depuran a lo largo del anlisis y del relevamiento) como son el DER y DFD (al
menos el diagrama de contexto) que si bien se amplan, tal como mencion,
tambin es necesario poder hacer un primer bosquejo para tener la posibilidad de
estimar y presupuestar el proyecto. Pues bien todo esto debe poder construirse a
partir de los requerimientos. El problema es que usualmente falta informacin para
poder hacerlo, porque los requerimientos son incompletos.
7. Utilizas alguna forma de agrupacin de los requerimientos, segn una
determinada caracterstica u otro parmetro?
En la mayora de los casos me resulta fcil y claro agruparlos por subsistemas. Otra
alternativa seria por tema, otra puede ser por tipo de soporte en el que se pide. La
ultima me parece la menos adecuada en los trminos de requerimientos de los que
hablamos. Otra opcin puede ser por usuario, esta variante si no se usa de todas
formas seria conveniente identificar el o los usuarios que hayan solicitado el
requerimiento..
Pg. 71
reportes,
documentacin
de
entrevistas
usuarios,
encuestas,
Pg. 72
Sesin 4
Fecha: 10/04/00
Experto: Lic. Bibiana Rossi
Lugar: ITBA - CAPIS
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Avanzar en la obtencin de conocimientos en la perspectiva del entorno
de la tarea del analista de requerimientos y en el "cmo" de la tarea.
Transcripcin de la sesin
1. Qu tipo de informacin o documentacin generas como resultado de tu trabajo
como analista de requerimientos? Cmo la denominas?
Informe de Requerimientos. Como parte del Informe puede ir, una breve
descripcin del negocio, un organigrama, breve descripcion de las funciones de las
areas del organigrama, objetivo del trabajo, diagrama de contexto, diagrama de
nivel 1 de DFD (si corresponde). Enumeracin de los requerimientos. Muchos de
estos items pueden ser opcionales, y pueden ser acotados segn el escenario de
trabajo. Por ejemplo si estoy haciendo un sistema de gestion para el Ministerio
probablemente no ira todo el organigrama del ministerio sino de aquellas areas o
sectores vinculados al sistema en cuestin y su entorno.
2. Como informacin de entrada, Tomas datos suministrados o elicitados de los
usuarios (Documentacin de entrevistas, listados, formularios, etc.).
Asi es exactamente, de la documentacion de las entrevistas, de los formularios
existentes, de la observacion realizada, y aunque no debiera ser tan asi de mis
experiencias.
3. Consideras las restricciones y/o limitaciones que pudiere imponer el propio
dominio de la aplicacin por sus propias caractersticas?
Es tan genrico lo que preguntas que no se cual es el sentido. Podes aclararme
mejor esta pregunta?
Pg. 73
Cmo
Pg. 74
Pg. 75
Sesin 5
Informacin a Identificar: La presente sesin se concentrar en el entorno del
proceso de especificacin de requerimientos, definicin de trminos generales,
metodologa global de trabajo, es decir los lineamientos que enmarcan la actividad
mencionada.
Se pretende ubicar en rasgos generales la actividad que el experto realiza,
familiarizarse con los trminos y actividades ms comunes.
Sesin 5
Fecha:
Experto:
Lugar:
12/04/00
Lic. Edgardo Ral Claverie
Capis
IC:
Tcnica empleada: Cuestionario
Transcripcin de la sesin 5
11.Podras definir qu son los requerimientos?
Los requerimientos del software (tambin denominados requisitos) sintetizan el
comportamiento externo del sistema, es decir QUE debe hacer sin precisar
COMO conseguirlo.
Los requerimientos pueden ser vistos desde dos puntos de vista. Del usuario
(son las condiciones necesarias para que el usuario pueda
satisfacer su
Pg. 76
Pg. 77
de
organizacin
(muchas
veces
se
arma
un
sistema
sumando
sin
Pg. 78
15/04/00
Experto:
Lugar:
CAPIS
IC:
Pg. 79
Tablas de
Decisin.
6. Para lograr precisin, utilizas algn tipo de formalismo, como por ejemplo algn
conjunto finito de smbolos que ayude a disminuir la ambigedad en la
especificacin hecha en lenguaje natural?
Trato de emplear, en la medida de lo posible, cualquier tipo de formalizacin lgica
o matemtica.
7. Una vez que has reunido toda la informacin de entrada, considerada suficiente
como para comenzar a realizar la especificacin, podras indicarme, en lneas
generales, cmo
es
el procedimiento
que
llevas
cabo
para
realizar la
especificacin?
Pg. 80
Pg. 81
Anlisis de la sesin 6
Se obtuvo principalmente una plantilla para la documentacin formal de los
requerimientos. El experto adems expuso que la caracterstica de completud es la
que ms frecuentemente le causa problemas y explic una manera de lograrla.
centrales
telefnicas)
E2: Texto en un sistema procesador de Textos (Como dominio de un procesador de
textos)
E3: Mquina expendedora de bebidas (Como dominio de una aplicacin de control)
E4: Un archivo de registros en una cinta magntica (Como dominio de parte de un
sistema operativo)
E5: La Atmsfera (Como dominio de una aplicacin de meteorologa)
Paso 2: Identificacin de caractersticas
Pg. 82
C2
C3
C4
E1
E2
E3
E4
E5
E2
E3
E4
E5
C1
Unidimensional
Multidimensional
C2
Esttico
Dinmico
C3
Activo
Reactivo
C4
Intangible
Tangible
Paso 4: Formalizacin
Clasificacin de los elementos mediante distancia mnima
E1
E1
E2
E3
E4
E2
E3
E4
E5
11
10
11
3
5
E5
Pg. 83
[E1,E5]
[E1,
E5]
E2
E3
E4
11
10
E2
E3
E4
[[E1,E5],E3]
[[E1,E5],E3]
E2
E4
10
5
6
E2
E4
[[[E1,E5],E3],E4]
E2
[[[E1,E5],E3],E4]
E2
E5
E3
E4
E2
Pg. 84
E2
E3
E4
E5
C1
Unidimensional
Multidimensional
C2
Esttico
Dinmico
C3
Activo
Reactivo
C4
Intangible
Tangible
C2
C1
(C2-C1) = 0+2+2+1+0 = 5
C1'
(C2-C1')= 4+2+2+3+4 = 15
C3
C1
(C3-C1) = 3+2+2+2+1 = 10
C1'
(C3-C1')= 1+2+2+2+3 = 10
C4
C1
(C4-C1) = 0+0+2+3+0 =5
C1'
Pg. 85
C3
C2
(C3-C2) = 3+0+0+1+1=5
C2'
(C3-C2')= 1+0+4+1+3 =9
C4
C2
(C4-C2) =0+2+0+2+0 =4
C2'
(C4-C2')= 4+2+4+0+4=14
C4
C3
(C4-C3) =3+2+0+1+1=7
C3'
(C4-C3')= 1+2+4+1+3=11
C1
C1: Unidimensional
C2: Esttico
C3: Activo
C4: Intangible
15
10
15
C1
C1: Unidimensional
C2: Esttico
C2
5
9
14
C2
5
C3
10
5
C4
5
4
7
11
C3
10
5
C4
5
C3: Activo
C4: Intangible
4
7
C1
C1
[C2,C4]
[C2,C4]
C3
10
C3
C4
C1
C3
Pg. 86
siendo
Esttico
Uni
dimensional
Dinmico
Inerte
Autnomo
Activo
Programable
Multi
dimensional
Tangible
Intangible
Reactivo
Delegable
Pg. 87
Informacin
tratar:
Estndares
de
documentacin
de
requerimientos.
-
Preparacin de Preguntas:
Utiliza
el estndar
IEEE
STD-830
para
describir
requerimientos?
En caso afirmativo ha enfrentado dificultades al
utilizarla?
Transcripcin de la Sesin 8
Sesin 8
Fecha: 20/04/00
Experto: Benjamin L. Kovitz
Lugar: Internet
IC: Ing. Marcelo Rizzi
Tcnica empleada: Entrevista semi-estructurada
Objetivos: Esclarecer el problema de la estandarizacin de documentacin
tentativas
de
definir
generalmente utilizan un
estndares
exactos
para
documentar
requisitos
Pg. 88
inventando una estructura conceptual apropiada para el proyecto actual. (Lo notable
es que nadie propone completar una tabla de contenido como manera de escribir un
programa.)
Las secciones de
usted necesita para disear un interfaz. Y por supuesto muchos clientes no tienen
ninguna idea acerca de qu significan las frases " requisitos funcionales " y "
requisitos no funcionales "
2.Entonces cmo reemplaza el estndar para describir los requerimientos?
El template que utilizo es una lista de contenido, no una tabla de contenido, dado
que tabla implica organizacin y ello depender del software en cuestin. La lista de
contenido comprende los requerimientos propiamente dichos ya sea consultas,
reglas de comportamiento, mapeos, operaciones en dominios creados, luego una
exhaustiva descripcin del dominio del problema donde se trata las entidades,
atributos y relaciones, secuencias de eventos, reglas causales, formatos de archivo,
fuentes de informacin, hardware y software con los que debe interrelacionarse a
traves de mapeos entre puetos de entrada /salida y hardware.
Adems debe contener las espectativas de los usuarios, sus preferencias,
invariantes, etc.
Para ello debe indentificarse primero el marco de problema para cada subproblema
y luego describir con diferentes tcnicas los requerimientos, el dominio del
problema segn las partes del marco de problema ajustado, las interfaces con el
mundo exterior, etc.
Anlisis de la sesin
Se evidencia una clara frustracin con el estndar IEEE 830 para describir los
requerimientos. En contraposicin se obtuvo una lista de contenidos que debe estar
presente en la documentacin de requerimientos que se profundizar luego junto
con las tcnicas correspondientes en la etapa de extraccin de conocimientos del
libro del experto.
Pg. 89
marco.
Amplitud y profundidad: Se trata de esclarecer qu preguntas
Transcripcin de la Sesin 9
Sesin 9
Fecha: 22/04/00
Experto: Benjamin L. Kovitz
Lugar: Internet
IC: Ing. Marcelo Rizzi
Tcnica empleada: Entrevista semi-estructurada
Objetivos: Anlisis de un problema para ajustar a un marco.
1. Estoy trabajando en un proyecto que ser utilizado para manejar informacin
financiera; Los usuarios ingresan capital inicial y datos peridicos (es decir, renta
por un perodo de tiempo especfico). Ejecutarn una serie de clculos para
determinar los datos finales. Cmo debo analizar este problema?
Si
entiendo
el
proyecto
correctamente,
lo
clasificara
como
problema
de
Pg. 90
clculos. El requisito en un problema del control es hacer una cierta parte del
mundo real * comportarse * segn reglas especificadas. Una de las partes
principales de un problema del control son los medios disponibles para que el
ordenador pueda causar el comportamiento deseado: cmo el ordenador puede
cambiar los inyectores de combustible de encendido a apagado, que el ordenador
puede pedir que muevan items desde el almacn al muelle del envo y a cmo
comunicarse con esa persona, etc.
Naturalmente, la clasificacin no es tan importante como la obtencin de las clases
de informacin del dominio del problema que usted necesita para disear un
interfaz til. Pero basado en lo que he odo hasta ahora, suena como que usted
tiene unproblema clsico de " datos de entrada, datos de salida" del problema,
donde las interacciones causales con el mundo real son de poca preocupacin para
el diseador y los programadores de interfaz.
Aqu est un diagrama del marco que muestra las tres partes principales de un
problema de transformacin: entradas de informacin, salidas, y una regla o un
frmula que especifica una salida deseada para cada entrada de informacin
posible. Describa exhaustivamente
totalmente:
Pg. 91
Problema de Transformacin
Frmula o regla
que relaciona
entradas con
salidas
Datos iniciales
Entradas
Datos de
perioricidad
Calculadora
Financiera
Valores finales
Salida
Pg. 92
Anlisis de la sesin 9
-
Una vez que se tiene el marco debe simplemente describirse sus partes y el
problema queda documentado.
Transcripcin de la Sesin 10
Sesin 10
Fecha: 24/04/00
Experto: Benjamin L. Kovitz
Lugar: Internet
IC: Ing. Marcelo Rizzi
Tcnica empleada: Entrevista semi-estructurada
Objetivos: Anlisis de un problema para ajustar a un marco.
Supongamos
una
organizacin
responsable
de
regular
el
espectro
de
Pg. 93
la
asignacin del espacio del espectro? (2) cmo puede el sistema descubrir cuando
ocurren estos eventos , junto con toda la informacin pertinente asociada a ellos?
Una tercera alternativa es que quizs usted no desea dar al sistema la
responsabilidad de tomar las decisiones sobre a quin qu espacio del espectro ,
pero usted quisiera que el sistema sirviera como ayuda a la gente que toma esas
decisiones. La gente podra pulsar una peticin en el sistema, y el sistema podra
proponer una manera posible de satisfacer la peticin, o quizs deje a un usuario
visin una variedad de escenarios " qu-pasa-si ". En este caso, usted tiene un
Pg. 94
Pg. 95
Estas son algunas de las preguntas que hay que realizar cuando se enfrentan
diferentes tipos de problema:
PROBLEMAS de INFORMACIN (versin dinmica solamente):
Requerimientos:
Los
usuarios
deben
poder
obtener
respuestas
ciertas
preguntas.
(los
requerimientos deben indicar todas las preguntas posibles que los usuarios puedan
hacer.)
Preguntas del dominio:
Cul es el sujeto de esas preguntas? Qu * cosas * (entidades, objetos, o lo que
sea ) son el objeto de las preguntas, y qu atributos o relaciones entre esas cosas
son necesarios para contestarles?
Qu eventos cambian las respuestas a las preguntas? Es decir, para cada
pregunta, hay una contestacin correcta, determinada por, estado del mundo real.
Cmo puede averiguar el sistema cundo estos eventos ocurren? Por ejemplo
existen base de datos con esta informacin? Puede subscribir el sistema a alguna
fuente automatizada para proporcionarlo? O debe confiar el sistema en usuarios
humanos que ingresan la informacin? En ese caso, cmo consiguen esos usuarios
la informacin?
Si exactitud o temporizacin de las respuestas son especialmente importantes,
entonces usted tambin necesita preguntar: De qu maneras puede propagarse la
informacin errnea al sistema o incluir errores? Qu redundancia est all, en el
dominio del problema que el sistema puede aprovechar para descubrir los errores?
PROBLEMAS DE CONTROL
Requerimientos:
Ciertas cosas se comportan segn ciertas reglas. (Los requisitos deben detallar
todas las posibles situaciones que se supone que el sistema encontrar, y las
acciones deseadas que las cosas controladas deben tomar en cada situacin.)
Preguntas del dominio:
Pg. 96
Cules son las cosas cuya conducta nosotros necesitamos controlar? Cules son
las reglas de conducta que estas cosas obedecen sin tener en cuenta cmo nosotros
diseamos el sistema? Es decir, las leyes causales inherente en las cosas? Esto
incluye describir los eventos espontneos a los que el sistema debe reaccionar, as
como acciones que el sistema puede causar directamente o indirectamente.Cmo
puede descubrir el sistema eventos o el estado actual de las cosas en el dominio del
problema? (sta es la misma pregunta como en un problema de informacin.)
Cules son los eventos que el sistema puede causar directamente? Es decir, los
dispositivos de salida de la computadora que la computadora puede controlar
directamente?
Cmo se conectan los dispositivos de salida a las cosas cuyo conducta nosotros
queremos
controlar?
Directamente
indirectamente?
Si
hay
entidades
WORKPIECES
Requerimientos:
Pg. 97
Pg. 98
Anlisis de la Sesin
Se han obtenido fundamentalmente preguntas concretas que el sistema experto
debe inclur cuando se realiza el anlisis del problema con el objeto de enmarcar el
mismo.
De esta forma se puede comenzar la descripcin del dominio y de los
requerimientos utilizando tambin dichas preguntas.
5.3.8 Sesin 11: Un anlisis de protocolo
Sesin nmero: 11
Fecha: 25/04/00
IC: Ing. Marcelo Rizzi
Experto: Ing. En Sistemas Diego Linares
Tcnica Empleada: Anlisis de Protocolo
Material: Cinta de cassette nmero 1 - Protocolo 1
Objetivos: Profundizar cmo el experto realiza la tarea de bsqueda de un marco de
problema, chequea el ajuste del problema a ese marco y procede luego a la
especificacin de requerimientos a partir de dicho ajuste.
consiste
en
un
sistema
de
informacin
sobre
fotografas
almacenadas en un archivo.
La compaa editorial XYZ S.A. dispone de un archivo compuesto de 100.000 fotos
de temas y personajes histricos. Dado la complejidad de acceder manualmente al
mismo, se pretende su informatizacin. Para ello se debe construir un sistema
completo de archivo fotogrfico que contemple subsistemas para digitalizacin,
Alta-Baja-Modificacin, control de acceso y consulta al mismo. El caso que nos
ocupa corresponde al subsistema de consulta especficamente. Se asume que las
fotografas ya han sido digitalizadas y grabadas en diferentes discos compactos, en
formatos estndar. Las fotografas se utilizan en diferentes publicaciones de la
editorial.
Se han realizado mltiples entrevistas con los usuarios y directivos de la compaa
y se dispone de la suficiente documentacin como para comenzar la especificacin.
Pg. 99
Pg. 100
problema tienen caractersticas demandadas por las partes principales del marco
donde fueron asignadas? Si se corresponden. Cuarto y ultimo, el test de
proporcionalidad.
marco, la carga de cada parte es similar a las otras? hay partes del marco que
estn casi vacas de contenido y otras sobrecargadas? No, todo parece estar
razonablemente balanceado.
Los cuatro test resultaron exitosos, tenemos entonces que el marco de problema
apropiado es un marco de problema de sistema de informacin esttico.
Esto quiere decir que debo concentrarme sobre la parte denominada Funcin de
Informacin que conforma los Requerimientos del sistema.
Para llevar a cabo la especificacin de la relacin entre la informacin requerida, la
entregada y el mundo real, debo identificar las diferentes entidades que forman
parte del dominio de aplicacin y que son
requerimientos. Ellas son:
Compact Disc, copia impresa de una foto, copia magntica de una foto, usuario
editor, usuario fotomecnico.
Bien, ya tengo identificadas las entidades principales, ahora debo identificar sus
atributos.
Fotografas de alta resolucin: imagen, Persona o evento, lugar, fecha, descripcin,
nombre, formato digital, ancho, alto, color/bn, resolucin, fecha ultima publicacin,
numero de publicaciones, numero de CD.
Minifoto: imagen, Foto de alta resolucin a la que pertenece.
CD: capacidad total, numero.
Copia impresa de la foto: No tiene atributos
Copia magntica de la foto: No tiene atributos
Usuario Editor: Nombre
Usuario Fotomecnico: Nombre
Finalizada la identificacin de atributos, procedo a determinar la cardinalidad de
relaciones entre las entidades.
Pg. 101
Pg. 102
4.
Pg. 103
una
consulta
cualquiera
de
las
especificadas
en
los
requerimientos
Pg. 104
Requerimientos de No comportamiento
13. El tiempo de respuesta para todas las consultas especificadas en los
requerimientos funcionales de informacin 1 al 6, no podr exceder los 5
segundos hasta el comienzo del reporte.
14. Se debe soportar una cantidad de 6 terminales para realizar las consultas.
15. Se debe soportar una cantidad de 6 usuarios simultneos, realizando consultas.
16. El sistema debe poder administrar las 100.000 fotografas.
1.
Bien,
ya
he
requerimientos
estudiado
realizada,
la
las
documentacin
entrevistas,
relevada,
reportes
de
la
elicitacin
usuarios.
de
Procedo
2.
3.
4.
5.
6.
El Mundo Real comprende las fotografas ... y sus datos histricos y tcnicos ...,
los usuarios editores ... los usuarios fotomecnicos
7.
8.
9.
Pg. 105
Pg. 106
Concepto
Valor
Operador
Relacin
valor
valor
Concepto
Caracterstica
Valor
Valor
Concepto
valor
Valor
Operador
Valor
Concepto
Operador
Valor
Caracterstica
Caracterstica
Caracterstica
Caracterstica
Concepto
Valor
Caracterstica
Valor
Valor
Concepto
Valor
Valor
Valor
Operador
Operador
Valor
Operador
Caracterstica
Concepto
Caracterstica
Caracterstica
Caracterstica
Caracterstica
Operador
Valor
Caracterstica
Valor
Valor
Caracterstica
Valor
Valor
Caracterstica
Pg. 107
Concepto
Caractersticas
Valores
Documento
Tipo
Fotografa
Datos
Usuarios
Tipo
Consultas
Tipo
Elicitacin
Entrevistas
Reportes
Histricos
Tcnicos
Editores
Fotomecnicos
Espontneas y autnomas.
Marco de Problema
Tipo
Sistema
Sistema
Simple
Mquina
Mundo Real
fotografas, usuarios.
Informacin requerida
Informacin Entregada
informacin
y
fotogrfico.
Requerimientos
Funcin de Informacin
Dominio
Test de Separabilidad
Tipo
resultado
chequeo
Test de completitud
resultado
chequeo
resultado
chequeo
de
Informacin
material
Activo
Dinmico
esttico
Exitoso
Partes
perfectamente
identificables
Exitoso
Todo ajustado en
natural y razonable
Exitoso
forma
Tienen
caractersticas
demandadas
Exitoso
carga
de
razonablemente
balanceadas.
partes
Pg. 108
Relaciones
Mundo Real
tiene
Sistema
parte-de
Informacin Requerida
parte-de
tiene
Marco de Problema
Sist. Informacin
tiene
parte-de
tiene
tiene
Dominio de la aplicacin
Informacin Entregada
parte-de
Funcin de Informacin
Elicitacin
es
Documentacin
Relevada
es
Entrevistas
es
Reportes
Test de Separabilidad
es parte de
Prueba de Ajuste a un
marco de problema
es parte de
Test de Completitud
es parte de
es parte de
Test de Caractersticas
Test de Proporcionalidad
Pg. 109
Pg. 110
Establecer hiptesis
Aumentar credibilidad
Pg. 111
Metacomentarios
Ya he estudiado la documentacin Indica que el trabajo con los usuarios debe
relevada
ser previamente realizado para comenzar
con la tarea.
Veamos entonces si se ajusta...
Indica secuencialidad
Una vez que he identificado...procedo Indica secuencialidad de pasos
a ...
Esto
quiere
concentrarme...
decir
que
Incertidumbres
Las incertidumbres con que el experto se maneja son las siguientes:
Aparentemente son...
Razonablemente...
Paso 4: Interpretacin
El razonamiento comienza con el chequeo de la informacin existente obtenida en
el trabajo de elicitacin para la obtencin de los requerimientos informales. Luego
hace un breve anlisis para establecer la hiptesis de que tipo de problema podra
tratarse para tratar de ajustarlo a el marco de problema correspondiente.
SI Existe (Documentacin-relevada) ENTONCES
Ejecutar(Especificacin)
Si (Usuarios.Necesidad = consultas) ENTONCES
Establecer-hiptesis(Sistema de Informacin)
Luego identifica cada parte del marco de problema para sistemas de informacin
obtenido de la hiptesis planteada.
SI (Marco-De-Problema = MP de Informacin-simple) ENTONCES
Identificar(Mundo-Real)
Identificar(Informacin-Requerida)
identificar(Informacin-Entregada) Y identificar(Funcin-de-informacin) Y
identificar(Sistema)
SI (Tests-de-ajuste = SI) ENTONCES
Pg. 112
Esta entrevista fue hecha al experto Michael Jackson, autor del libro Software
Requirement and Specification. El experto al analizar la pregunta, envi su respuesta por
correo electrnico, que contena una metodologa de anlisis general teniendo en cuenta
bibliotecas de marco existentes o bien conceptos de dominios y marcos elementales.
Pg. 113
Sesin nro. 12
Fecha: 27/04/00
Experto: Michael Jackson
Lugar: Inglaterra (Internet)
IC: Ing. Marcelo Rizzi
Tcnica empleada: Entrevista estructurada
Objetivos: Profundizar el mtodo y heursticas de anlisis de problema y
ajuste a marcos.
subproblemas. Un
que
hallar una
ser resuelta.
Si la
Pg. 114
Anlisis de la sesin 12
Con esto, segn el problema observado se tiene el mecanismo adecuado para la
descomposicin del problema.
Evaluacin de la sesin 12
Ha sido muy fructfera dado que se ha podido obtener una heurstica para
descomponer el problema desde diferentes pticas.
5.3.10 Sesin 13: Anlisis de conexiones
Pg. 115
Esta entrevista fue tambin hecha al experto Michael Jackson, autor del libro Software
Requirement and Specification. El experto al analizar la pregunta, envi su respuesta por
correo electrnico.
Sesin nro. 13
Fecha: 03/05/00
Experto: Michael Jackson
Lugar: Inglaterra (Internet)
IC: Ing. Marcelo Rizzi
Tcnica empleada: Entrevista estructurada
Objetivos: Profundizar el mtodo y heursticas de anlisis de problema de
conexin.
1. Cmo percibimos que puede existir un problema de conexin al analizar el
problema?
Los fenmenos compartidos, vistos desde diferentes perspectivas desde
diferentes dominios , son la esencia de la interaccin y comunicacin entre
dominios de cualquier clase. Si lo que se observa desde dos dominios se
considera como un mismo fenmeno se deben cumplir las siguientes dos
precondiciones: Primero la correspondencia entre la observacin en los dos
dominios debe ser confiable. Segundo si el fenmeno compartido es un
evento, debe estar suficientemente sincronizado entre ambos dominios, es decir
no debe existir retardo significativo. Cuando ambas precondiciones de
velocidad y confiabilidad no se cumplen, se debe reconocer la presencia de otro
dominio: El dominio de conexin.
2. Cmo debemos procecer ante la presencia de un dominio de conexin?
Usted tiene 3 opciones:
a. Ignorar el dominio de conexin y tratar los fenmenos de cada lado
como compartidos, en desmedro de conocer que no lo son del todo.
La desventaja es que se pierde la dimensin de lo que est
sucediendo en el mundo real.
Pg. 116
sta
seccion
se
han
agrupado
todas
las
sesiones
de
adquisicin
de
Sesin nmero: 1
Fecha: 15/04/00
IC: Ing. Marcelo Rizzi
Tcnica Empleada: Anlisis estructural de texto.
Texto Analizado: Software Requirements & Specifications, Michael Jackson, AddisonWesley, 1995. ISBN: 0-201-87712-0
Objetivos: Obtener conceptos fundamentales acerca de requerimientos, terminologa
utilizada, el entorno de la especificacin de requerimientos, identificacin de la
problemtica de la especificacin de requerimientos.
de
relaciones
existentes
en
las
construcciones
gramaticales
SE-COMPONE-DE,
SE-DEFINE-COMO,
TRATA-
Pg. 117
considerada
como
un
todo,
puede
ser
considerada
REQUERIMIENTOS
Pg. 118
MAQUINA
FENOMENO
MARCO DE PROBLEMA
DOMINIO (Caracteristicas)
Esttico, Dinmico
Unidimensional, Multidimensional
Tangible, Intangible
Autnomo, Programable
En un DOMINIO dinmico hay una dimensin del tiempo, hay eventos, estados.
Pg. 119
, nada sucede.
Un DOMINIO es reactivo si realiza alguna accin por propia iniciativa pero como
respuesta a estmulos externos.
Pg. 120
Mundo Real
Funcin de
Informacin
Informacin
Entregada
Sistema
Informacin
Requerida
porque su
Anlisis de la sesin
El objetivo de conocer la terminologa y conceptos fue logrado. Adems se logr
vislumbar cul es la problemtica del trabajo de especificacin de requerimientos, y
el marco de problema para un sistema de informacin simple. Es imperativo
entonces continuar con la extraccin de conocimientos buscando en otros
materiales que profundicen sobre marcos de problema, qu elementos considerar
en un dominio, cmo subdividir dominios, etc.
Pg. 121
Sesin nmero: 2
Fecha: 17/04/00
IC: Ing. Marcelo Rizzi
Tcnica Empleada: Anlisis estructural de texto.
Texto Analizado: Software Requirements, Objects, Functions & States, Alan M. Davis,
Prentice Hall, 1993. ISBN: 0-13-805763-X
Objetivos: Profundizar el conocimiento sobre cmo dividir dominios, qu elementos se
deben tener en cuenta en un dominio,
Pg. 122
Desde el punto de vista de los requerimientos, una funcin es una tarea, servicio,
proceso, funcin matemtica o actividad que es actualmente llevada a cabo en el
mundo real y/o a ser llevada a cabo por el sistema bajo especificacin para resolver
el problema en el mundo real.
ESTADO
Desde el punto de vista de los requerimientos, un estado es una condicin de
alguna cosa que captura algo de su historia y es utilizada por la misma para
determinar como se encuentra en circunstancias especficas.
PARTICION
Principio que captura la relacin estructural parte-de entre objetos, entre
funciones o entreestados en el dominio del problema.
La finalidad de la particin es descomponer el problema en subproblemas para
ayudar al anlisis.
ABSTRACCION
Principio que captura la relacin estructural General/Especfico o Ejemplo-de o
Instancia-de entre objetos, entre funciones o entre estados en el dominio del
problema.
PROYECCION
Principio que captura la relacin estructural Visin-deentre objetos, entre
funciones o entre estados. En el dominio del problema. Permite observar el
problema desde distintas perspectivas.
CLASIFICACIN DE PROBLEMAS
Un Problema se puede clasificar segn:
Dificultad
Difcil No Dificil
Esttico Dinmico
Dinmico:
Los
datos
de
entrada
continan
arribando
durante
Pg. 123
el
Secuencial Paralelo
Evaluacin de la sesin
Se obtuvieron nuevos e importantes conceptos sobre requerimientos, como as
tambin una profundizacin en el enfoque a realizar sobre la informacin disponible
al momento de comenzar la especificacin de requerimientos, como lo son los
objetos, funciones y estados, efectuando tambin abstracciones, proyecciones y
particiones.
Se obtuvo una manera de clasificar el tipo de problema de la aplicacin en 5
dimensiones ortogonales que permite luego abocarse a la especificacin de
requerimientos de una manera diferente segn el problema. Sin embargo sta
sesin no deja en claro el objetivo de conocer mas profundamente el marco de
problema para un sistema de informacin simple.
Se necesita entonces una nueva sesin de extraccin aplicada a documentos que
traten marcos de problema.
Pg. 124
Sesin nmero: 3
Fecha: 19/04/00
IC: Ing. Marcelo Rizzi
Tcnica Empleada: Anlisis estructural de texto.
Texto Analizado:
1. Problem Decomposition for Reuse. Michael & Daniel Jackson. Paper obtenido de
Carnegie Mellon University. January 2, 1995.
2. Knowledge-intensive Software Engineering Tools. Mitsubishi Electric Research
Laboratories. Rich & Waters. Technical Report 91-03. 1991
3. Requirements Engineering, A Survey of methods and tools. H. Hoffmann, Instituto
de Informtica, Universidad de Zurich.
Requirement Assistant technical description, MIT
Objetivos:
Profundizar el conocimiento sobre cmo dividir dominios, qu elementos se deben
tener en cuenta en un dominio, obtener nuevos conceptos y agudizar el conocimiento
sobre marco de problema para sistemas de informacin simple.
Conocimientos adquiridos
MARCO DE PROBLEMA ESTTICO DE INFORMACION
El marco de problema esttico se compone de 5 partes:
Pg. 125
Las
reglas
de
informacin,
son
las
relaciones
requeridas
entre
el
Pg. 126
Anlisis de la sesin
Se encontr que los expertos coinciden en describir las problemas de informacin
como de dos tipos: estticos y dinmicos, dependiendo del comportamiento del
mundo real sobre el que se desea obtener informacin.
Sesin nmero: 4
Fecha: 21/04/00
IC: Ing. Marcelo Rizzi
Tcnica Empleada: Anlisis estructural de texto.
Texto Analizado: Problem Analysys Using Small Problem Frames, M.A. Jackson,
Proceedings of WOFACS 98, South African Computer journal 22, Pages 47-60, Marzo
1999.
Objetivos: Obtener una clasificacin detallada de cada uno de los marcos de problema
elementales.
Conocimientos Adquiridos
Marcos de Problema Elementales:
Tipo de
Requerimiento
Consultas
Reglas de
comportamiento
Mapeos
Operaciones sobre
dominios creados
Correspondencias
entre dominios
Descripcin
Requerimiento de informacin
sobre alguna parte del dominio
del problema
Reglas que debe seguir el
comportamiento del dominio del
problema
Mapeos sobre datos de entrada
y de salida del software
Operaciones que realizan los
usuarios sobre objetos que
existen solo dentro del software
Mantenimiento de dominios que
no poseen fenmenos
compartidos en sus estados
correspondientes.
Marco de
Problema
Informacin
Control
Transformacin
Workpieces
Conexin
Pg. 127
Pg. 128
Tipo (a)
Tipo (b)
Anlisis de la sesin
Se obtuvo la estructura depurada y simplificada de cada uno de los marcos de
problema elementales, luego de varias depuraciones.
Sesin nmero: 5
Fecha: 23/04/00
IC: Ing. Marcelo Rizzi
Tcnica Empleada: Anlisis estructural de texto.
Texto Analizado: Practical Software Requirements, Benjamin L. Kovitz, Manning
Publications, 1999. ISBN: 1-884777-59-7
Objetivos: Profundizar sobre las tcnicas de descripcin de requerimientos y dominio
del problema de acuerdo al marco de problema ajustado.
Conocimientos Adquiridos
Para generar el Documento de Requerimientos debe obtenerse la siguiente
informacin.
a) Problemas de Informacin:
- Objetos en el Mundo Real, sus atributos y relaciones
- Datos a ser almacenados sobre los objetos
- Todos los eventos del Mundo Real que cambian el resultado de las consultas, y
todas las posibles secuencias en las que ocurren dichos eventos.
Captulo 5: Adquisicin de Conocimientos
Pg. 129
- Las Consultas
- Cmo puede el sistema acceder los objetos y eventos (O en el caso de un sistema
de informacin esttico, cmo pueden los desarrolladores accederlos).
- Formatos de archivo para archivos existentes que el sistema necesite acceder (o
referir a documentacin existente).
- distorsiones y retardos introducidos por cualquier dominio de conexin.
b) Problemas de control
- Objetos en el dominio controlado. Modelo de datos si correspondiere.
- Leyes causales del dominio controlado, includos los eventos de los objetos son
capaces de generar.
- Reglas de Comportamiento
- Acciones en el dominio del problema que la computadora es capaz de iniciar.
-Fenmenos compartidos a travs de los cuales la computadora puede monitorear
el dominio controlado.
c) Problemas de transformacin
- Conjuntos de entrada.
- Conjuntos de salida.
- Fuente y destino de los datos.
- Mapeos entre los conjuntos de entrada y salida.
d) Problemas de Piezas de Trabajo (Workpieces)
-
e) Problemas de Conexin
-
Pg. 130
Para los diferentes elementos a describir segn cada marco de problema se debe
describir como se indica a continuacin:
Documentacin de Clases:
Nombre de la clase
Documentacin de relaciones
-
Documentacin de consultas
-
Documentacin de estados:
-
Para cada estado cuales son los eventos posibles, y para cada
evento posible, como responde el objeto mientras esta en dicho
Pg. 131
Documentacin de Acciones
-
La duracin de la accin
La naturaleza de la interrupcin:
Pg. 132
Evaluacin de la sesin
Esta sesin ha sido muy fructfera dado que para cada tipo de dominio [resente en
loas marcos y para cada tipo de requerimiento, se tiene una lista de los aspectos a
tener en cuenta para indagar en el dominio de la aplicacin y en las necesidades de
los usuarios y clientes y de ste modo plasmarlos en el documento de
requerimientos.
En el apndice C se transcriben las sesiones adicionales en idioma ingls de las
entrevistas realizadas a expertos internacionales.
Pg. 133
Captulo 6
Conceptualizacin
Captulo 6
Conceptualizacin
6.1 Introduccin
La conceptualizacin constituye la segunda etapa de la segunda fase de la
Metodologa IDEAL, la cual consiste bsicamente en el entendimiento del dominio
del problema y de la terminologa usada, como as tambin la modelizacin de la
tarea que lleva a cabo el experto a la hora de resolver el problema
Esta etapa permite al Ingeniero del Conocimiento conformar un marco inicial o
mapa mental de los diferentes conocimientos del dominio que el experto utiliza
durante la realizacin de su tarea
Una vez que ha sido identificado el dominio, el siguiente paso consiste en
estructurar los conocimientos para modelizar el comportamiento del experto en la
solucin del problema que son de su competencia.
La conceptualizacin conlleva un proceso de estructuracin de los conocimientos
adquiridos y, se desarrolla en una etapa doble: la primera se corresponde con una
actividad de Anlisis y, la segunda de un trabajo de Sntesis.
La actividad de Anlisis est basada en la identificacin de conocimientos
Estratgicos, Tcticos y Fcticos. El trabajo de Sntesis establece en mayor o
menor medida cmo dichos conocimientos son transformados en el Modelo Esttico
y Dinmico que conforma el Modelo Conceptual del Sistema.
La conceptualizacin persigue a travs del Anlisis y el proceso de Sntesis, la
obtencin de un Modelo Esttico y un Modelo Dinmico, que juntos modelarn el
comportamiento del experto en lo que compete a la solucin del problema.
En lo referente a la tarea de Anlisis se persigue la identificacin de tres tipos de
conocimientos: sern estos estratgicos, tcticos y fcticos.
Estratgicos: los cuales especifican qu hacer, dnde y por qu hacerlo, es decir,
los conocimientos estratgicos fijan la secuencia de pasos que se debern seguir
para ejecutar la tarea.
Captulo. 6: Conceptualizacin
Pg. 135
atributos que los definen, sus valores, y de dnde pueden ser derivados los datos,
es decir, cules son las fuentes para obtener informacin sobre cada uno de los
conceptos includos, como por ejemplo textos, bibliografa, informes, experiencia de
alguna persona, procedimientos, etc. El diccionario de conceptos es una "lista viva"
que sintetiza y sumariza todo lo que se obtiene por distintos mtodos de
adquisicin de conocimientos.
Otro documento importante es la Tabla Concepto-Atributo-Valor, la cual,
permite representar por cada concepto que atributos encierra y, de cada atributo
especificar los diferentes valores que puede llegar a poseer a lo largo de la
resolucin del problema.
Por ltimo uno de los elementos ms importantes que resume el Modelo Dinmico y
el Modelo Esttico es el Mapa de Conocimientos, el cual conforma el Modelo
Conceptual Completo del comportamiento del Experto.
6.2. Elaboracin del modelo conceptual
En el presente trabajo, luego de comenzadas las sesiones de adquisicin de
conocimientos, se ha comenzado a esbozar el modelo conceptual que nos permite
entender la tarea que desempea el experto.
Captulo. 6: Conceptualizacin
Pg. 136
de
Trminos,
Diccionario
de
Conceptos
la
Tabla
de
Concepto-Atributo-Valor.
Luego se describen las relaciones obtenidas entre los diferentes conceptos.
Luego de la obtencin de este material para el comienzo de la conceptualizacin, se
ha profundizado el anlisis de los conocimientos adquiridos y se ha continuado el
ciclo de adquisicin de conocimientos para poder redondear la descripcin de
Conocimientos Estratgicos, Tcticos y Fcticos.
Por ltimo, todos los conocimientos representados son sintetizados en el Modelo
Dinmico y Modelo Esttico de Conocimientos.
6.2.1. Identificacin, Comparacin y Categorizacin de Conceptos
Al iniciar la Conceptualizacin se debe conformar un glosario de todos los trminos
que se utilizarn a lo largo del proyecto. Esto permite eliminar ambigedades que
pudiesen ocurrir al ser interpretados o manipulados determinados trminos.
Para lograr una adecuada interpretacin del Glosario de Trminos se ha dedicado
primordial inters en la calidad y exactitud de sus descripciones. En la siguiente
tabla se observan los trminos que son empleados en la resolucin de la tarea por
parte de los expertos.
Adems el definir un adecuado glosario de trminos ha permitido realizar con
mayor precisin las sesiones de educcin de conocimientos, tendientes a evaluar y
refinar el Modelo Conceptual, en su primer etapa de gestacin.
Captulo. 6: Conceptualizacin
Pg. 137
6.2.1.1
Glosario de Trminos
Caracterstica del
dominio
Contexto del
problema
Descripcin
Puede considerarse como dos o mas eventos concatenados, con
una estructura de tiempo interna. Se diferencia de un evento
dado que sucede en un intervalo de tiempo en vez de en un
punto del tiempo.
Cuando se identifican las diferentes partes de un marco de
problema es importante averiguar la caracterstica de cada
dominio que interviene en dicho marco. Ello ayudar a
identificar el marco de problema y por consiguiente dnde se
debe concentrar el analista a la hora de especificar los
requisitos.
Es la parte del mundo donde la mquina ser instalada, y en la
cual sus efectos sern percibidos y evaluados.
Documento de
requerimientos
Documentacin de
salida
Dominio
Dominio creado
Dominio de la
aplicacin
Dominio de
conexin
Entidad (objeto)
Estado
Captulo. 6: Conceptualizacin
Pg. 138
Trmino
Eventos
Fenmeno
Fenmenos
compartidos
Funcin
Informacin de
entrada
Mquina
Marco de problema
Marco de problema
de conexin
Marco de problema
de control
Marco de problema
dinmico de
informacin
Marco de problema
esttico de
informacin
Marco de Problema
de Transformacin
Marco de Problema
de workpieces
Prueba de Ajuste al
marco
Descripcin
Es la designacin de hechos que involucran un punto en el
tiempo. Son atmicos e instantneos. Un evento representa una
transicin del mundo real de un estado a otro sin pasar por
estados intermedios.
Un fenmeno es aquello que aparenta existir, o estar presente o
ser el caso cuando se observa el mundo o alguna parte del
mismo en un dominio.
Eventos o estados compartidos por dos o mas dominios. Por
ejemplo el evento de vender un producto en el dominio
vendedor es tambin el evento de comprar un producto en el
dominio comprador. Es nicamente a travs de los fenmenos
compartidos que un dominio causa un efecto en otro dominio.
Desde el punto de vista de los requerimientos, una funcin es
una tarea, servicio, proceso, funcin matemtica o actividad que
es actualmente llevada a cabo en el mundo real y/o a ser
llevada a cabo por el sistema bajo especificacin para resolver el
problema en el mundo real.
Los materiales que se tienen al comienzo pueden ser listados,
reportes, documentacin de entrevistas a usuarios, encuestas,
cuestionarios a usuarios, documentos de elicitacin.
En situaciones no es suficiente la documentacin y es necesario
la observacin de tareas.
Cuando se construye software se construye una MAQUINA. Se
construye el comportamiento y las propiedades de la MAQUINA
que la har til para algn propsito particular.
-un marco de problema es una estructura consistente de actores
principales y tareas para la solucin.
Se define sobre el problema a resolver por un software que
simule fenmenos compartidos entre dos o mas dominios que
estn conectados por un dominio de conexin. Usualmente se
encuentran junto a otros problemas.
Se define sobre un problema en el que el software debe causar
que un cierto dominio se comporte de una determinada manera.
Se refiere a un marco de problema definido como una
generalizacin del problema consistente en sistemas de
informacin sobre entidades del mundo real que sufren
variaciones continuas o discretas en su estado.
Se refiere a un marco de problema definido como una
generalizacin del problema consistente en Sistemas de
Informacin sobre entidades del mundo real que no sufren
cambios ni perturbaciones en el tiempo.
Se define sobre un problema de mapeo de elementos de un
conjunto de entrada a un conjunto de salida, tal como la
conversin de archivos de un formato a otro, datos en grficos,
conversiones entre CMYK a RGB, etc.
Se define sobre un problema donde un usuario/s puede crear y
editar objetos que existen dentro del propio software que lo
resuelve, tal como documentos o grficos.
Son una serie de pruebas que debe realizar el experto par
asegurarse que ha elegido correctamente el marco de problema,
es decir, que el marco de problema se ajusta al problema que se
desea resolver.
Captulo. 6: Conceptualizacin
Pg. 139
Trmino
Relacin
Requerimiento
Descripcin
Un conjunto de Tuplas que mapean elementos de una entidad o
clase a elementos de una o mas entidades.
Condicin o capacidad necesitada por un usuario para resolver
un problema o llevar a cabo un objetivo.
Condicin o capacidad que debe cumplir o poseer un sistema
para satisfacer un contrato, estndar, especificacin u otro
documento formalmente impuesto.
Tabla 6.1: Glosario de trminos
Concepto
Funcin
Dominio
Se utiliza para
caracterizar una
parte del dominio
del problema
dentro de un marco
de problema y
luego segn su tipo
proceder a su
descripcin.
Descripcin
imprescindible en
el documento de
requerimientos
construida a partir
de la descripcin
de cada parte del
tipo dominio de
cada marco de
problema.
Descripcin del
Dominio del
problema
Fenmenos
Compartidos
Eventos o estados
compartidos por
dos o mas
dominios.
Se deben describir
como parte del
dominio del
problema.
Captulo. 6: Conceptualizacin
Sinnimos/
Acrnimos
Parte
Elementos
Relaciones
Tipo
Nombre
Identificado
Descripcin
del dominio
de la
aplicacin,
descripcin
del entorno
del problema
- Descripcin
de dominios
parte de un
MP
- Descripcin
de
Fenmenos
compartidos
entre
dominios
-Dominio
(Compuesto-por)
-Marco de
problema
(Describe-a)
-Documento de
requerimientos
(parte-de)
FC
Tipo
Descripcin
Dominio1
Dominio2
-Descripcin del
dominio del
problema.(Descrit
o-en)
-Marcos de
problema (Partede)
Marco de
problema
(Parte-de)
Pg. 140
Sinnimos/
Acrnimos
MP
Concepto
Funcin
Marco de
Problema
Estructura
consistente de
partes tales como:
Dominios,
Fenmenos
compartidos,
Requerimientos y
la mquina.
Proyecto
Es el elemento
Solucin,
contenedor de toda Descripcin.
la informacin til
en pos de la
solucin al
problema.
Requerimientos
Efectos que se
Requisitos.
desea que la
mquina produzca
en el domino del
problema.
Su descripcin es
parte fundamental
del documento de
requerimientos.
Es el producto
Especificacin Nombre de
resultante del
de
archivo,
sistema experto.
requerimiento Proyecto
Contiene la
s.
Partes
descripcin del
dominio del
problema y de los
requerimientos
Tabla 6.2: Diccionario de Conceptos.
Documento de
Requerimientos
Elementos
Relaciones
Nombre
Partes
Tipo
-Dominios
(Compuesto-por)
-Fenmenos
compartidos
(Compuesto-por)
-Mquina
(Compuesto-por)
Requerimientos(C
ompuesto-por)
-Descripcin
dominio del
problema.(Descrit
o-en)
-Marcos de
problema(Compu
esto-por)
-Documento de
Requerimientos(C
ompuesto-por)
Nombre,
Objetivo,
Partes,
Marcos,
Documento
de
Requerimient
os
Aproximacin
descomposici
n
Dificultad
Identificacin
Tipo
Descripcin
-Marco de
problema (Partede)
-Documento de
requerimientos
(Descrito-en)
-Requerimientos
(Compuesto-de)
Descripcin del
dominio del
problema.
(Compuesto-de)
Captulo. 6: Conceptualizacin
Pg. 141
Captulo. 6: Conceptualizacin
Pg. 142
Atributo
Dominio
Nombre
Valor
Mundo Real, Dominio Controlado, Datos de entrada, Datos de salida, Usuario,
Pieza de trabajo, Dominio de inters, Conexin.
Tipo
Descripcin
Identificado
TRUE, FALSE
Complejidad
Alta, Baja
del - Descripcin de
dominios parte de un
Marco de problema
- Descripcin de
fenmenos compartidos
- Completado
Si - No
Fenmenos
Tipo
Estado, Evento
Compartidos
Nombre
Descripcin
Captulo. 6: Conceptualizacin
distorsion-retardo
Si, No
Dominio1
Dominio
Dominio2
Dominio
Pg. 143
Concepto
Atributo
Marcos de Problema
Valor
Nombre
Tipo
Partes
Workpieces (MPWP)
Mundo Real, Consultas, Mquina, Dominio Controlado, Regla de comportamiento,
Datos de entrada, Datos de salida, Mapeos, Usuario, Operaciones en dominios creados
Pieza de trabajo, Correspondencias asequibles, Dominio de inters, Conexin.
Proyecto
FC_XX
Nombre
Objetivo
Partes
Documento
Requerimientos
Aproximacin
Descomposicin
Requerimientos
Documento
Dificultad
Marcos
Lista de marcos que describen el proyecto. Puede ser elementales o uno compuesto.
Identificacin
Tipo
Descripcin
Completado
de Nombre de archivo
Requerimientos
Partes
Captulo. 6: Conceptualizacin
Pg. 144
continuacin
se
determina
el
segundo
componente
de
la
terna
de
Conjunto Relacional
de Base
Proyecto
Documento de
requerimientos
Marco de Problema
1
1
1
Mquina
Fenmenos
Compartidos
Dominio
Requerimientos
Captulo. 6: Conceptualizacin
Pg. 145
Requerimientos para
Captulo. 6: Conceptualizacin
Pg. 146
Especificacin de
Requerimientos
1) Preparacin de
Material
1.1
Identif.
Objetivo
1.2
Identif.
Documentos
2) Anlisis del
Problema
2.1
Formulacin
de Hiptesis
inicial
2.2
Seleccin de
Aproximacin de
Descomposicin
2.3.1
Identificacin de
Partes de Marco
2.3
Ajuste de
Marcos de
Problema
3) Generacin de
Documentacin
2.4
Refinamiento de la
Descomposicin
2.3.2
Ajuste de Marcos
de Subproblemas
3.1
Generacin de
Documento de
Requerimientos
3.2
Generacin de
Especificacin de
Interfaces
3.1.1
Descripcin del
Dominio de
Aplicacin
3.1.2
Documentacin de
Requerimientos
3.1.1.1
Descripcin
dominios de
submarcos
3.1.2.1
Descripcin de
Requerimientos
Captulo. 6: Conceptualizacin
Pg. 147
Pg. 148
identificar las diferentes partes del marco o de los marcos de problema involucrados,
realizando un nuevo ajuste para verificar la certidumbre de la descomposicin
realizada.
Subpasos
2.1 Formulacin Inicial de Hiptesis de marco de problema
2.2 Seleccin de la aproximacin de descomposicin
2.3 Ajuste de marcos de problema
2.4 Refinamiento de la descomposicin
Entradas:
Descripcin acabada del problema a resolver mediante software
Material clasificado de elicitacin
Definicin del objetivo del sistema
Razonamiento:
Mediante el estudio y la observacin del problema y la ayuda de algunas heursticas, el
experto realizar la descomposicin del problema en subproblemas y luego ajustar un
marco elemental a cada subproblema para luego sintetizar todos los marcos en un
marco general del problema.
Por ejemplo, en el caso de marco de problema de sistemas de informacin, debe
buscar encontrar la parte del dominio que conforma el mundo real, la mquina, la
informacin requerida y la entregada, las caractersticas del dominio que requiere la
informacin y la funcin de informacin que vincula la informacin requerida, la
informacin entregada y el mundo real, que constituye los requerimientos a
especificar. Finalmente realiza la comprobacin de ajuste a dicho marco.
Salidas:
Composicin de las partes del marco general y de cada submarco.
Paso 3: Generacin de la documentacin
El experto comienza entonces a analizar cada marco de subproblema, cada parte
identificada dentro de dichos marcos y luego a describir las mismas segn una serie de
preguntas y pautas de modo que nada en el dominio de la aplicacin quede sin
describir y ningn requerimiento quede fuera de la documentacin. Los marcos actan
como guas para que el experto aplique las tcnicas de descripcin adecuadas a cada
Captulo. 6: Conceptualizacin
Pg. 149
tipo de parte y se efecte las preguntas necesarias para una correcta especificacin de
requerimientos.
Subpasos:
3.1 Descripcin del dominio de aplicacin
3.2 Documentacin de los requerimientos del sistema
Razonamiento
El experto sistemticamente comienza el recorrido por cada parte identificada, y
teniendo en cuenta a que marco elemental pertenece, efecta el anlisis y la
descripcin de dicha parte no olvidando ningn detalle mediante la adhesin a ciertas
guas de descripcin de dominios. Dicha descripcin del dominio consume gran parte
del documento de requerimientos. Seguidamente contina con la descripcin de cada
requerimiento del sistema, realizando los cuestionamientos correspondientes segn el
tipo de marco de subproblema al que pertenece la parte de requerimientos a describir.
Salidas
Documento de requerimientos finalizado.
6.2.3.2 Subpasos de la tarea
1.1: Identificacin del objetivo del sistema
Entradas
Documentacin resultante del proceso de Elicitacin.
Razonamiento
Aqu el experto analiza el objetivo propuesto por el usuario o cliente acerca del motivo
preciso de la construccin de la solucin software.
El experto debe poder identificar en primera instancia el tipo de problema a resolver
para realizar su hiptesis a partir de dicho objetivo. No obstante se afianzar la misma
con el anlisis posterior.
No debe quedar lugar a dudas acerca del objetivo del sistema.
El tipo o clase de problema que debe resolverse con un sistema software tiene esta
forma:
Configurar la Mquina M para producir el conjunto de efectos R en el dominio D
Captulo. 6: Conceptualizacin
Pg. 150
El tipo de problema debe limitarse a aquellos que al momento las personas saben
cmo resolver, y cuyos efectos los desarrolladores saben como llevar a cabo.
Una cuestin que el experto se plantea previo a conocer nada acerca del dominio del
problema es:
Qu beneficios desea el cliente que el software sea responsable de llevar a trmino?
Esto hace que se est enfocado en los efectos mas importantes a ser ejecutados en el
dominio del problema (informar a las personas acerca de algo, hacer que sucedan
cosas de acuerdo a ciertas reglas, proveer resultados de ciertos clculos, etc.).
Salidas
Objetivo explcito del problema a resolverse por medio de software.
1.2:
Identificacin
catalogacin
de
documentos
de
elicitacin
de
requerimientos
Entradas
Documentacin de elicitacin completa
Razonamiento
El experto debe analizar toda la documentacin reunida y clasificar la informacin que
el usuario provee para poder luego ser contrastada con su anlisis del dominio. Dicha
clasificacin se hace de acuerdo a un estndar de numeracin, que servir para la
trazabilidad de los requerimientos.
Salidas
Documento ndice de la documentacin disponible al momento de comenzar el trabajo.
2.1 Formulacin Inicial de Hiptesis de marco de problema:
Entradas
Objetivo del sistema
Documentacin catalogada de elicitacin.
Razonamiento
Luego de la preparacin del material el experto est en condiciones de realizar una
hiptesis acerca de cul marco de problema podra ajustarse al tipo de problema que
est analizando. Teniendo en cuenta el objetivo primario del sistema a construir
intentar identificar los principales componentes del problema, los requerimientos
esbozados en el material de elicitacin disponible, intentar asociar el problema a un
Captulo. 6: Conceptualizacin
Pg. 151
Pg. 152
Captulo. 6: Conceptualizacin
Pg. 153
Salidas
Documento con la descripcin completa y revisada del Dominio de la Aplicacin. Dicha
descripcin puede ser reutilizable para otros sistemas a construir sobre el mismo
dominio.
Reporte
de
elicitacin de
Captulo. 6: Conceptualizacin
Pg. 154
(Correspondiente
tarea
estratgica
2.2:
Seleccin
de
la
aproximacin de descomposicin)
b. Cmo formular la hiptesis del marco de problema adecuado (Correspondiente
a tarea estratgica 2.1: Formulacin inicial de hiptesis de marco de problema)
c. Cmo corroborar si cada marco se ajusta al problema (Correspondiente a tarea
estratgica 2.3: Ajuste de marcos de problema)
d. Cmo reconocer las dificultades en la aproximacin interior-exterior de
descomposicin. (Correspondiente a tarea estratgica 2.4: Refinamiento de la
descomposicin)
e. Cmo detectar posibles problemas de conexin (Correspondiente a tarea
estratgica 2.4: Refinamiento de la descomposicin)
f.
Captulo. 6: Conceptualizacin
Texto de la Regla
A veces el problema parece incluso no encajar ni siquiera
aproximadamente en ningn marco conocido. Puede ser
entonces til descomponer el problema trabajando del
exterior hacia el interior. La aproximacin aqu es intentar
encontrar partes o aspectos del problema reconocibles
que correspondan a los marcos conocidos, y analizarlos en
el contexto de esos marcos. Entonces ellos pueden
considerarse como problemas resueltos, y las partes y
aspectos del problema original que deben todava ser
resueltos pueden ser considerados sin la complicacin
adicional del subproblema ya resuelto.
Formulacin externa de SI
Proyecto.Marcos
Marco-elemental
ENTONCES
la regla
Proyecto.Aproximacin-descomposicin = Exterior-interior
Nombre de la regla
Rdescomponer
Captulo. 6: Conceptualizacin
Pg. 156
Estado de la Regla
Palabras del experto
Texto de la Regla
A veces el problema parece encajar un marco
conocido
aproximadamente,
pero
exhibe
Estas
dificultades
dan
lugar
Proyecto.Aproximacin-
descomposicin = Interior-Exterior
Nombre de la regla
rDescomponer1
Texto de la Regla
una tcnica totalmente desarrollada deber
tener un juego rico de marcos compuestos.
Puede esperarse que una parte sustancial de
un problema real, o incluso, el problema
completo, encajar en un marco compuesto
conocido.
SI
Proyecto.Marcos
Marco-compuesto-
conocido
ENTONCES
Proyecto.aproximacin-descomposicin
Marco-compuesto-conocido
Nombre de la regla
RDescomponer2
Captulo. 6: Conceptualizacin
Pg. 157
Texto de la Regla
Habiendo
analizado
la
documentacin
de
SI
Requerimientos.Tipo
ENTONCES
Proyecto.Marco
consultas
=
MP
de
Informacin
Nombre de la regla
AgregarMPInformacin
Texto de la Regla
Si el problema requiere que el software
controle un dispositivo haciendo que cumpla
una
serie
de
reglas
de
comportamiento
SI
Requerimientos.Tipo
reglas-de-
AgregarMPControl
Captulo. 6: Conceptualizacin
Pg. 158
Estado de la Regla
Palabras del experto
Texto de la Regla
Habiendo
analizado
la
documentacin
de
una
Nombre de la regla
AgregarMPWorkpieces
Texto de la Regla
Habiendo
analizado
la
documentacin
de
obtener
correpondiente
una
a
coleccin
cada
diferente
entrada
entonces
Nombre de la regla
AgregarMPTransformacion
Captulo. 6: Conceptualizacin
Pg. 159
Texto de la Regla
Una vez elegido el marco de problema que se
desea
ajustar,
sus
partes
han
sido
compartidos
necesarios
para
de
preguntarse:
informacin
hay
que
"Existen
Fenmenos
Eventos
Compartidos
Mquina
entre
los
Requirientes
de
SI
Proyecto.Marco.tipo=
Informacin
FenmenosCompartidosPI
Texto de la Regla
Para marcos de problemas de control hay que
preguntarse:
"Existen
Fenmenos
Fenmenos
Compartidos
MPSC.FC-C2,
MPSC.FC-C3)
Nombre de la regla
FenmenosCompartidosPC
Captulo. 6: Conceptualizacin
Pg. 160
Estado de la Regla
Palabras del experto
Texto de la Regla
Para marcos de problemas de Workpieces hay
que preguntarse: "Existe una Cadena de
Eventos
Producidos
por
el
Dominio
SI
Proyecto.Marco.tipo
ENTONCES
Workpieces
preguntar(MPWP.FC-E1,
MPWP.FC-E2, MPWP.FC-S1)
Nombre de la regla
FenmenosCompartidosWP
Texto de la Regla
Para marcos de problemas de Conexin hay
que preguntarse:
"Existen Fenmenos Compartidos entre la
Mquina y el Dominio de Conexin?"
"Existen Fenmenos Compartidos entre el
Dominio
de
Conexin
el
Dominio
de
Inters?"
Formulacin externa de la regla
SI
Proyecto.Marco.tipo
ENTONCES
Conexin
preguntar(MPCO.FC-C1,
MPCO.FC-C2)
Nombre de la regla
FenmenosCompartidosCO
Captulo. 6: Conceptualizacin
Pg. 161
Texto de la Regla
Tambin se debe evaluar en el marco elegido,
cada uno de los dominios intervinientes en
cuanto a si el tipo de dominio se corresponde
con el que le asigna el marco de problema al
cual pertenece. En el caso de la Parte Mundo
Real debe ser un dominio del tipo Autnomo
o Esttico.
SI
Dominio.Nombre
MundoReal
AND
DomMundoReal
Texto de la Regla
La Parte DominioControlado debe ser un
dominio del tipo Tangible y Autnomo o bien
solamente Reactivo.
SI Dominio.Nombre =
domControlado AND
DomControlado
Captulo. 6: Conceptualizacin
Pg. 162
Estado de la Regla
Palabras del experto
Texto de la Regla
La Parte Solicitantes de Informacin
debe
Dominio.Nombre=SolicitantesInformacin
And
Dominio.Tipo
Autonomo
Xor
DomSolicitantesInformacion
Texto de la Regla
La Parte Conjunto de datos de entrada debe
ser un dominio del tipo Autnomo.
SI Dominio.nombre =
datosentrada AND
DomDatosEntrada
Texto de la Regla
La Parte Conjunto de datos de salida
debe
SI
Dominio.nombre
datosSalida
Dominio.tipo = inerte
ENTONCES Dominio.identificado=TRUE
Nombre de la regla
DomDatosSalida
Captulo. 6: Conceptualizacin
Pg. 163
AND
Estado de la Regla
Palabras del experto
Texto de la Regla
La Parte Usuario del marco de Workpieces
debe ser un dominio del tipo Delegable y
Autnomo.
SI
Dominio.nombre
Usuario
and
DomUsuarioWP
Texto de la Regla
La Parte Usuario de cualquier otro marco de
problema debe ser un dominio del tipo
Autnomo.
SI
Dominio.nombre
Usuario
AND
Dominio.Tipo= Autonomo
ENTONCES Dominio.identificado=TRUE
Nombre de la regla
DomUsuario
Texto de la Regla
La Parte Pieza de Trabajo debe ser un
dominio del tipo Inerte o en su defecto
Reactivo.
SI
Dominio.nombre
Piezatrabajo
AND
DomPiezadeTrabajo
Captulo. 6: Conceptualizacin
Pg. 164
Estado de la Regla
Texto de la Regla
directamente
disponible
cuando
se
Nombre de la regla
dificultad-conexin
Tabla 6.23: Anlisis de dificultades de conexin.
Estado de la Regla
Palabras del experto
Texto de la Regla
Otro tipo de dificultad es una dificultad de
identidades en la que la mquina comparte un
juego de eventos o estados (fenmenos ) con el
dominio del problema pero no comparte los
papeles asociados que identifican las entidades
del dominio participantes Aqui cabe la aplicacin
de uno o mas
SI
Proyecto.Marco.Tipo
(Control
Informacin)
ENTONCES Proyecto.dificultad = identidad
Proyecto.Marco = Transformacin
Nombre de la regla
Dificultad-Identidad
Pg. 165
OR
Estado de la Regla
Palabras del experto
Texto de la Regla
Otra
dificultad
requerimientos
requerimiento
es
la
flexibles,
fijo
es
necesidad
de
cuando
un
inapropiado.
Los
SI Requerimientos.Tipo = Operaciones-sobredominio-creado
ENTONCES Proyecto.marco = MPWP
Proyecto.dificultad = req-flexible
Nombre de la regla
Dificultad-Rflexibles
Texto de la Regla
Nombre de la regla
RIDConexin
Captulo. 6: Conceptualizacin
Pg. 166
Texto de la Regla
Cuando el problema se ajusta a un marco de
informacin se debe documentar lo siguiente:
Objetos en el mundo real, sus atributos y
relaciones
Todos los eventos en el mundo real que
cambian el resultado de las consultas, y todas
las posibles secuencias en las cuales tales
eventos pueden ocurrir.
Consultas
Como el sistema puede acceder a tales
objetos y eventos
Distorsiones
retardos
introducidos
Nombre de la regla
DescribirMPInformacin
Captulo. 6: Conceptualizacin
Pg. 167
por
Estado de la Regla
Palabras del experto
Texto de la Regla
Cuando el problema se ajusta a un marco de
control se debe documentar lo siguiente:
Objetos en el dominio controlado (modelo de
datos si existiese.
Leyes
causales
incluyendo
los
del
dominio
eventos
que
controlado,
pueden
ser
Nombre de la regla
DescribirMPControl
Texto de la Regla
Cuando el problema se ajusta a un marco de
transformacin
se
debe
documentar
lo
siguiente:
Conjuntos de entrada y de salida
Fuente y destino de los datos.
Mapeos entre los conjuntos de entrada y
salida
Formulacin externa de la regla
Nombre de la regla
DescribirMPTransformacin
Captulo. 6: Conceptualizacin
Pg. 168
Estado de la Regla
Palabras del experto
Texto de la Regla
Cuando el problema se ajusta a un marco de
Workpieces se debe documentar lo siguiente:
Descripcin de las piezas de trabajo
Descripcin de las operaciones deseadas.
Nombre de la regla
DescribirMPWorkpieces
Texto de la Regla
Cuando el problema se ajusta a un marco de
Conexin se debe documentar lo siguiente:
Estados y eventos en el dominio de inters
Redundancias en el dominio de inters
Mapeos reales o deseados, entre estados y
eventos en diferentes dominios
Distorsiones y retardos introducidos por el
dominio de conexin, reales o deseados.
Reglas
para
determinar
cual
de
varios
Nombre de la regla
DescribirMPConexin
Captulo. 6: Conceptualizacin
Pg. 169
Estado de la Regla
Palabras del experto
Texto de la Regla
En un problema de transformacin o bien en
correspondencias
de
dominios
suele
ser
mediante
el
uso
de
diagramas.
Los
Basica
ENTONCES
Datos.Entrada.TipoDiagrama = Jackson
Nombre de la regla
DiagramaJackson
Texto de la Regla
Los diagramas Sintcticos se utilizan cuando la
estructura adems de ser bsica como la de
Jackson presenta caractersticas de Recursin.
Nombre de la regla
DiagramaSintctico
Captulo. 6: Conceptualizacin
Pg. 170
Estado de la Regla
Palabras del experto
Texto de la Regla
Los diagramas Warnier-Orr se utilizan cuando la
estructura adems de ser bsica y recursiva
presenta concurrencia.
Nombre de la regla
DiagramaWarnier-Orr
Texto de la Regla
Los diagramas de Flujo se utilizan cuando la
estructura adems de ser bsica, no presenta
muchas ramificaciones y posee un flujo de pocos
ciclos.
Nombre de la regla
DiagramaFlowChart
Texto de la Regla
Los
pero
que
se
puede
representar
SuiGeneris
ENTONCES
DatosEntrada.TipoDiagrama = Adhoc
Nombre de la regla
DiagramaAdhoc
Captulo. 6: Conceptualizacin
Pg. 171
Estado de la Regla
Palabras del experto
Texto de la Regla
En un problema de transformacin o bien en
correspondencias
de
dominios
suele
ser
mediante
el
uso
de
diagramas.
Los
SI
Dominio.nombre
datos_Salida
datos_salida.TipoEstructura
and
Basica
ENTONCES
Datos.Salida.TipoDiagrama = Jackson
Nombre de la regla
DiagramaJackson1
Texto de la Regla
Los diagramas Sintcticos se utilizan cuando la
estructura adems de ser bsica como la de
Jackson presenta caractersticas de Recursin.
SI
Dominio.nombre
datos_Salida
datos_salida.TipoEstructura
Basica
Recursion ENTONCES
Datos Salida.tipoDiagrama= Sintctico
Nombre de la regla
DiagramaSintctico1
Captulo. 6: Conceptualizacin
Pg. 172
and
And
Estado de la Regla
Palabras del experto
Texto de la Regla
Los diagramas Warnier-Orr se utilizan cuando la
estructura adems de ser bsica y recursiva
presenta concurrencia.
SI
Dominio.nombre
datos_Salida
datos_salida.TipoEstructura
Basica
and
And
DiagramaWarnier-Orr1
Texto de la Regla
Los diagramas de Flujo se utilizan cuando la
estructura adems de ser bsica, no presenta
muchas ramificaciones y posee un flujo de pocos
ciclos.
SI
Dominio.nombre
datos_Salida
datos_salida.TipoEstructura
Basica
and
And
Simple ENTONCES
DatosSalida.TipoDiagrama= FlowChart
Nombre de la regla
DiagramaFlowChart1
Texto de la Regla
Los
pero
que
se
puede
representar
SI
Dominio.nombre
datos_Salida
datos_salida.TipoEstructura
SuiGeneris
ENTONCES
DatosSalida.TipoDiagrama = Adhoc
Nombre de la regla
DiagramaAdhoc1
Captulo. 6: Conceptualizacin
and
Pg. 173
Texto de la Regla
Si se han descripto todos las partes del tipo dominio
en cada marco de problema identificado y los
fenmenos
compartidos
asociados,
los
correctamente
identificados
descriptos,
SI Descripcin-Dominio-delProblema.completado = Si AND
Requerimientos.completado = SI ENTONCES
Proyecto.Documento-de-Requerimientos =
Documento-de-requerimientos.nombreArchivo
Generar-Documento(Proyecto.Documentode-requerimientos
Nombre de la regla
Generar-Documento
Captulo. 6: Conceptualizacin
Pg. 174
Determinar Distorsiones y
Retardos de fenmenos
compartidos entre dos
dominios
Se observan diferentes
y desincronizados
Determinar complejidad
del dominio de conexin
No hay problema de
conexin
complejo
Determinar importancia de
distorsiones y retardos
importantes
simple
no importantes
Agregar marco de
problema de conexin
Agregar dominio de
conexin
Estado de la Regla
Palabras del experto
Texto de la Regla
1. Para
proceder
con
un
problema
de
considerarla
como
un
marco
de
SI
FC.Distorsion-retardo
(FC.dominio1.tipo=
Si
conexin)
ENTONCES
Proyecto.marco = MPCO
Nombre de la regla
rAgregar-MPCO
Captulo. 6: Conceptualizacin
AND
Pg. 175
Estado de la Regla
Palabras del experto
Texto de la Regla
Para proceder con un problema de conexin
usted puede:
1. Ignorar el dominio de conexin y tratar los
fenmenos de cada lado como compartidos,
en desmedro de conocer que no lo son del
todo. La desventaja es que se pierde la
dimensin de lo que est sucediendo en el
mundo real.
2. Tratar el dominio de conexin como si
fuera el dominio de inters. De sta forma se
ignora la existencia del mundo real
SI FC.distorsion-y-retardo = Si
AND
Dominio.tipo=conexion
Dominio.complejidad=Alta
And
ENTONCES
Proyecto.marco.parte = Conexion
Nombre de la regla
rAgregar-Dominio-conexin
Tabla 6.44: Agregado de dominio de conexin.
Captulo. 6: Conceptualizacin
Pg. 176
Informacin
Atributo
Descripcin
Dominio.Tipo
Es la caracterstica que define a un dominio
Definicin
Tipo de Valor
Cadena de caracteres
esttico, dinmico, activo, reactivo, inerte,
Rango de valores
unidimensional,multidimensional,tangible,
intangible,
autnomo,
delegable,
programable.
Nmero de valores por caso
Uso
b) Realizar la documentacin
del
utilizando
dominio
las
metodologas
Texto
Material de soporte
Captulo. 6: Conceptualizacin
Pg. 177
Informacin
Atributo
Descripcin
Dominio.Nombre
Es el nombre genrico que se le asigna a un
Definicin
Tipo de Valor
Cadena de caracteres
Mundo Real, Dominio Controlado, Datos de
Rango de valores
de
trabajo,
Dominio
de
inters,
Conexin.
Nmero de valores por caso
uno.
Se debe distinguir cada dominio por su
Uso
nombre.
Texto
Material de soporte
Sesin de extracin #4 y #5
Descripcin
Dominio.Identificado
ES el valor que indica si el dominio ha sido
debidamente identificado como parte del
Definicin
Tipo de Valor
Booleano
Rango de valores
TRUE, FALSE
uno.
Si todos los dominios de un marco de
problema estan identificados como TRUE,
Uso
entonces
el
marco
esta
ajustado
correctamente.
Formato resultados de salida
Texto
Material de soporte
Sesin de extracin #5
Captulo. 6: Conceptualizacin
Pg. 178
Informacin
Descripcin
Atributo
Descripcin Dominios de MP
Es la descripcin de cada uno de los dominios que
forman parte de los marcos de problema del
Definicin
Tipo de Valor
Cadena de caracteres
[Descripcin de Clases, Descripcin de Atributos,
Rango de valores
Descripcin
de
Relaciones,
Descripcin
de
Acciones]
Nmero
de
valores
caso
en un problema.
La descripcin sistemtica de cada dominio es
luego recolectada y formateada para conformar la
Uso
Texto
Material de soporte
Sesin de extracin #3
Descripcin
Descripcin de Fenmenos Compartidos
Es
la
descripcin
de
cada
uno
de
los
Tipo de Valor
Cadena de caracteres
[Descripcin
Rango de valores
de
Eventos,
Descripcin
de
Captulo. 6: Conceptualizacin
en un problema.
Pg. 179
Informacin
Descripcin
La descripcin sistemtica de cada FC es
luego
Uso
recolectada
formateada
para
parte
del
documento
de
requerimientos.
Formato resultados de salida
Texto
Material de soporte
Sesin de extracin #3
Descripcin
Tipo de Marco de Problema
Es la caracterstica que define la naturaleza
de un marco de problema, de modo de
representar un problema real bajo un modelo
Definicin
Tipo de Valor
Rango de valores
Nmero de valores por caso
Cadena de caracteres
[Informacin,
Control,
Conexin,
Workpieces, Transformacin]
uno. Cada marco de problema tiene un nico
tipo.
Para representar el problema del mundo real,
donde el sistema a construir debe hacer
sentir sus efectos. Con el marco de problema
identificado se procede a separar las partes
Uso
del
dominio
de
los
requerimientos
Texto
Material de soporte
Sesin de extracin #4 y #5
Captulo. 6: Conceptualizacin
Pg. 180
Informacin
Atributo
Descripcin
Partes de Marco de Problema
Son los componentes, actores o individuos
que
Definicin
forman
un
marco
de
problema.
Requerimientos,
Dominio
de
la
aplicacin o mquina.
Tipo de Valor
Cadena de caracteres
[
Consultas,
Regla
de
comportamiento,
Uso
problema,
verificar
que
se
ajuste
problema real.
Formato resultados de salida
Texto
Material de soporte
Sesin de extracin #5 y #6
Captulo. 6: Conceptualizacin
Pg. 181
al
Informacin
Atributo
Descripcin
Nombre de Marco de Problema
Es un identificador que se le asigna a un
Definicin
marco
de
problema
de
acuerdo
al
Cadena de caracteres
Rango de valores
Uso
Texto
Material de soporte
Sesin de extracin #5 y #6
Descripcin
Tipo de Requerimiento
Es
Definicin
efectos
que
los
usuarios
desean
se
Cadena de Caracteres
[Consultas,
Rango de valores
Mapeos,
Reglas
Operaciones
de
Comportamiento,
sobre
el
dominio,
Correspondencias asequibles]
Nmero de valores por caso
dos
usos:
a)
Para
identificar
con
los
cuestionamientos
Texto
Material de soporte
Sesin de extracin #5 y #6
Captulo. 6: Conceptualizacin
Pg. 182
Informacin
Atributo
Descripcin
Identificacin de Requerimiento
Es el cdigo de identificacin (ID) para cada
Definicin
requerimiento
de
modo
de
lograr
la
Tipo de Valor
Rango de valores
Nmero de valores por caso
Cadena de Caracteres
R#, donde # indica un numero entero
secuencial.
Uno. Cada requerimiento tiene un nico ID.
Para
Uso
documentar
unvocamente
en
los
el
requerimientos
documento
de
requerimientos.
Formato resultados de salida
Texto
Material de soporte
Sesin de extracin #5 y #6
Descripcin
Descripcin de Requerimiento
Es
Definicin
una
sentencia
que
define
el
Tipo de Valor
Cadena de Caracteres
Rango de valores
Uno.
Cada
requerimiento
tiene
una
descripcin
Para documentar los requerimientos con los
Uso
Texto
Material de soporte
Sesin de extracin #5 y #6
Captulo. 6: Conceptualizacin
Pg. 183
Informacin
Descripcin
Nombre
Atributo
de
Archivo
(Documento
de
requerimientos)
Nombre en formato DOS (8.3) del nombre de
Definicin
archivo
con
extension
HTM,
donde
se
combinacin
respetando
la
nomenclatura DOS.
Uno.
Fuente
Descripcin
Partes (Documento de requerimientos)
Descripciones que conforman el documento
de requerimientos
Cadena de Caracteres
[Descripcin
dominio
del
problema,
Descripcin de requerimentos]
Uno.
Obtenido a partir de los atributos descripcin
de dominio y descripcin de requerimientos.
Captulo. 6: Conceptualizacin
Pg. 184
Informacin
Descripcin
Aproximacin de descomposicin (Concepto
Atributo
Proyecto)
Indica el tipo de descomposicin que se
Definicin
realizar
sobre
identificar
los
el
problema
marcos
real
de
para
problema
constitutivos.
Tipo de Valor
Rango de valores
Nmero de valores por caso
Cadena de Caracteres
[Exterior-interior, Interior-Exterior,
Compuesto-conocido]
Uno.
Provisto por el usuario luego de analizar con
Fuente
Descripcin
Dificultad (Concepto Proyecto)
Cuando
se
selecciona
Interior-Exterior,
Definicin
la
aproximacin
pueden
presentarse
Tipo de Valor
Rango de valores
Cadena de Caracteres
[Identidad,
Conexin,
Requerimientos
flexibles]
Varios. Un proyecto puede exhibir mas de
una
dificultad
para
aplicar
un
marco
elemental.
Provisto
Fuente
seleccion
por
el
la
usuario
una
vez
aproximacin
descomposicin Interior-Exterior.
Tabla 6.59: Descripcin del atributo Dificultad del concepto Proyecto
Captulo. 6: Conceptualizacin
Pg. 185
que
de
Informacin
Atributo
Descripcin
Nombre (Concepto Proyecto)
Nombre que se asigna en el proceso de
Definicin
desarrollo al proyecto.
Tipo de Valor
Cadena de Caracteres
Rango de valores
Texto libre
Uno.
Fuente
Atributo
Descripcin
Objetivo (Concepto Proyecto)
Texto que describe someramente el objetivo
perseguido al intentar resolver el problema.
Definicin
Tipo de Valor
Cadena de Caracteres
Rango de valores
Texto libre
Uno.
Fuente
Atributo
Definicin
Descripcin
Tipo (Concepto Fenmenos Compartidos)
Tipo de FC que vincula a dos dominios en un
marco de problema.
Tipo de Valor
Cadena de Caracteres
Rango de valores
[Estado, Evento]
Uno.
Fuente
Captulo. 6: Conceptualizacin
Pg. 186
Informacin
Atributo
Descripcin
Dominio1/2
(Concepto
Fenmenos
Compartidos)
Primer/Segundo Dominio que interviene en
Definicin
Tipo de Valor
Cadena de Caracteres
Rango de valores
Uno.
Fuente
Tabla 6.63: Descripcin del atributo Dominio1/2 del concepto Fenmenos Compartidos
6.2.6. Modelo Dinmico o de Proceso
Una vez finalizado el anlisis de los distintos conocimientos, estratgicos, tcticos y
fcticos, que componen la etapa de anlisis de la conceptualizacin, se debe dar
comienzo a la etapa de Sntesis.
El estudio de las tareas obtenidas en la etapa de anlisis permiten elaborar el Modelo
dinmico o de proceso que lleva a cabo el experto y comprobar que no hay
demasiados errores ni olvidos. Para ello se recuerda cada tarea estudiada durante la
etapa de anlisis de conocimientos estratgicos y luego se define una jerarqua entre
las tareas. Posteriormente derivar todos los formalismos necesarios para la ejecucin
de la tarea, por ejemplo, metas, atributos para el comienzo de cada tarea.
Finalmente el proceso debe establecerse, completa y coherentemente, usando una
representacin estndar como se muestra en las figuras siguientes.
La jerarqua de tareas obtenida a partir del anlisis estratgico es la siguiente:
Captulo. 6: Conceptualizacin
Pg. 187
Diagrama
Jerrquico
de Tareas
Documento de Requerimientos
Def. de la Meta:
Generar en forma completa y precisa el Documento de requerimientos
Entradas Necesarias:
- Proyecto.Partes, Proyecto. Nombre, Proyecto.Objetivo
- Descripcin-Dominio-del-Problema.Descripcin-Partes-Marco-de-Problema,
- Descripcin-Dominio-del-Problema.Desscripcin-Fenmenos-Compartidos
- Requerimientos.Descripcin, Requerimientos.Nombre
- documento-Requerimientos.Nombre-Archivo
Salida Producida:
Proyecto.Documento-de-Requerimientos
Atributo
Descripcin-Dominio-Problema.
Descripcion-Parte-de-MP
Descripcin-Dominio-Problema.
Descripcion-FenomenosCompartidos
Descripcin del
dominio de la
aplicacin
Tarea 3.1.1
Refinamiento de la
descomposicin en
marcos
Atributo
Proyecto.Dificultad
Atributo Dominio.Tipo
FenomenosCompartidos.Tipo
Identificacin de
Marcos para cada
subproblema
Atributo Proyecto.marcos
Atributo
Proyecto.Partes
Identificacin de
Partes de Marco
Tarea 2.3.1
Ajuste de Marcos de
Problema
Definicin y
Documentacin de los
Requerimientos
Tarea 2.4
Tarea 3.1.2
Atributo Requerimientos.Tipo
Requerimientos.Descripcion
Tarea 2.3
Tarea 2.3.2
Atributo
Proyecto.Aproximacin
-descomposicin
Atributo Proyecto.Nombre,
Proyecto.objetivo
Seleccin de
Metodologa de
Descomposicin del
Problema
Tarea 2.2
Formulacin de Hiptesis e
identificacin de objetivo Tarea 2.1
Captulo. 6: Conceptualizacin
Pg. 188
Documento de Requerimientos
Descripcin del
Dominio de la Aplicacin
(Tarea 3.1.1)
Def. de la Meta:
Describir cada parte de cada marco de problema que
corresponda al dominio de la aplicacin, utilizando la
tcnica adecuada de descripcin segn el tipo de
entidad del cual se trate y su tipo de dominio.
Entradas Necesarias:
- Proyecto.Marcos, Marco.Tipo, Dominio.Tipo,
Dominio.Nombre, FC.Tipo
Salida Producida:
Descripcin-Dominio-del-Problema.DescripcinDominios-Parte-de-Marco-de-Problema
Descripcin-Dominio-del-Problema.Descripcin-deFenmenos-Compartidos
Reglas Afectadas:
Apartado 6.2.4.1.f
Definicin y documentacin de
requerimientos
(Tarea 3.1.2)
Def. de la Meta:
Listado completo de los requerimientos, segn se
identific en la parte correspondiente a
requerimientos de cada marco de problema
identificado. El listado debe estar catalogado con l
codificacin seleccionada.
Entradas Necesarias:
- Proyecto.Marcos, Marco.Tipo
-Requerimientos.Tipo
Salida Producida:
Requerimientos.Descripcin
Documento-de-Requerimientos.Partes
Reglas Afectadas:
Apartado 6.2.4.1.f
Refinamiento de la descomposicin
en marcos (Tarea 2.4)
Def. de la Meta:
Identificar otros marcos de problema que completen el
anlisis del problema
Entradas Necesarias:
- Proyecto.Dificultad,
Proyecto.Aproximacin-Descomposicin.
- Fenmenos-Compartidos.Dominio1, FenmenosCompartidos.Dominio2, FenmenosCompartidos.Distorsion-Retardo
Salida Producida:
Proyecto.Marcos
Reglas Afectadas:
Apartado 6.2.4.1.d y 6.2.4.1.e
Captulo. 6: Conceptualizacin
Pg. 189
Refinamiento de la descomposicin
en marcos
Captulo. 6: Conceptualizacin
Pg. 190
Seleccin Metodologa de
Descomposicin
(Tarea 2.2)
Def. de la Meta:
seleccionar una metodologa de descomposicin
acorde al problema enfrentado, que servir par
identificar los marcos correspondientes.
Entradas Necesarias:
- Proyecto.Nombre, Proyecto.Objetivo
Salida Producida:
Proyecto.Aproximacin-Descomposicin
Reglas afectadas:
Apartado 6.2.4.1.a
Captulo. 6: Conceptualizacin
Pg. 191
Identificacin de Objetivos
(Tarea 2.1)
Def. de la Meta:
Obtener una definicin del objetivo del sistema a construir,
determinando que tipo de mquina se desea configurar,
que efectos se desea que dicha configuracin produzca
y cuales son las propiedades del mundo real que la
mquina puede explotar para producir tales efectos.
Entradas Necesarias:
- Informacin de elicitacin.
Salida Producida:
- Proyecto.Nombre, Proyecto.Objetivo
Captulo. 6: Conceptualizacin
Pg. 192
Documento de Requerimientos
(Proyecto)
Descripcin
(Fenmenos Compartidos)
- Clases afectadas
- Origen de evento
- Parmetros de evento
- Estado inicial y final
- Nombre de los estados
Partes
(Doc. de Requerimientos)
Descripcin Dominio del Problema
Descripcin de Requerimientos
Descripcin de Requerimientos
(Requerimientos)
Segn solicitud de usuarios
Guiados por Marcos de Problema
Tipo de Requerimiento
(Requerimientos)
Tipo
(Fenmenos Compartidos)
- Estado
- Evento
Dificultad
(Proyecto)
- Consultas
- Reglas de comportamiento
- Mapeos
- Correspodencias asequibles
- Operaciones en dominios
creados
- Informacin
- Control
- Workpieces
- Transformacin
- Conexin
Aproximacin-Descomposicin
(Proyecto)
Aprox. Exterior-interior
Aprox. Interior-Exterior
Aprox. Marco-compuesto-conocido
Conexin
Identidad
Requerimientos flexibles
Captulo. 6: Conceptualizacin
Pg. 193
Dificultad
Aproximacin de descomposicin
Tipo de requerimientos
Tipo de dominio
Captulo. 6: Conceptualizacin
Pg. 194
Captulo 7
Formalizacin de
Conocimientos
Captulo 7
Formalizacin de Conocimientos
7.1 Introduccin
La etapa de formalizacin tiene como objetivo expresar los conocimientos sobre el
problema y su resolucin en estructuras que puedan ser utilizadas por una
computadora.
Las distintas estructuras que permiten expresar formalmente los conocimientos de
un dominio reciben el nombre de formalismos de representacin. A los mecanismos
de razonamiento de propsito general, independiente del dominio, que llevan
adelante su razonamiento con dichas estructuras para resolver el problema se las
llama motores de inferencia.
La estrategia de control se encuadra dentro del componente de resolucin de
problemas, e incorpora una estrategia de resolucin especficamente seleccionada
para el tipo de problemas que el sistema basado en conocimiento resolver,
adems determina la secuencia de tareas, evala alternativas, evala por qu se ha
llegado a ciertas decisiones y verifica si las mismas son las adecuadas.
Todos estos elementos se combinan en un modelo formalizado, que es una
representacin semi-formal o semi-computable de los conocimientos y condiciones
del experto. Para que un modelo formalizado sea totalmente computable necesita
de un modelo implementado, formado por una base de conocimientos, un motor de
inferencia y una estrategia de control.
7.2 Seleccin de formalismos
El formalismo de representacin elegido para el presente proyecto es un sistema
hbrido de marcos y sistemas de produccin.
Los sistemas de produccin estn formados por una base de hechos, una base de
reglas y la estrategia de control. La base de hechos o memoria de trabajo almacena
informacin sobre la tarea y las metas a alcanzar. La base de reglas est formada
por un conjunto de reglas o producciones que presentan la forma SI-ENTONCES. La
parte SI se llama antecedente y representa una lista de conocimientos a verificar.
La parte ENTONCES se llama consecuente y representa las acciones a realizar si los
Pg. 196
Mundo Real,
DominioControlado, Pieza de
Pg. 197
7.4
relacin
"compuesto-de"
definida
entre
el
marco
Documento
de
relacin
"compuesto-de"
definida
entre
el
marco
Documento
de
proyecto determinado.
f.
Pg. 198
Pg. 199
Proyecto
Compuesto-de
Compuesto-de
Marco de Problema
subclase-de
subclase-de
subclase-de
MP Problemas
de
Transformacin
subclase-de
MP Problemas
de Informacin
MP Problemas
de Control
Documento de Requerimientos
subclase-de
Parte-de
Compuesto-de
Parte-de
Parte-de
MP
Problemas
de Conexin
Compuesto-de
MP Problemas
de Pieza
Trabajada
Fenmenos
Compartidos
Describe
Describe
Clases
Requerimientos
Describe
Describe
Describe
eventos
Describe
Atributos
Dominio
estados
es-un
es-un
es-un
Dom.
Inters
es-un
es-un
es-un
es-un
Operaciones
Usuarios
Mapeos
Workpieces
Datos I/O
Mundo
Real
Relaciones
es-un
es-un
es-un
Dom.
Conexin
Acciones
es-un
es-un
Correspondencias
Reglas de
Comportamiento
Consultas
Dom.
Controlado
Pg. 200
Pg. 201
Proyecto
(*) Nombre
(*) Objetivo
(*) Partes
(*) Doc. Requerimientos
(*) Aprox. Descomposicin
(*) Dificultad
(*) Marcos
Compuesto-de
Compuesto-de
Marco de Problema
(*) Nombre
(*) Tipo
(*) Partes
Documento de Requerimientos
subclase-de
subclase-de
(*) NombreArchivo
(*) Partes
subclase-de
Parte-de
subclase-de
MP Problemas de
Transformacin
subclase-de
MP Problemas
de Informacin
(*) FC
(*) FC
MP Problemas
de Control
(*) FC
Parte-de
Compuesto-de
Parte-de
MP Problemas
de Conexin
(*) FC
MP Problemas de
Pieza Trabajada
(*) FC
Dominio
(*) Identificacin
(*) Tipo
(*) Descripcin
Clases
estados
es-un
Dom.
Inters
es-un
es-un
es-un
es-un
Operaciones
Datos I/O
Mundo
Real
Usuarios
Mapeos
Workpieces
es-un
Dom.
Conexin
Acciones
es-un
es-un
Correspondencias
Reglas de
Comportamiento
Consultas
Dom.
Controlado
Pg. 202
Describe
Atributos
eventos
es-un
es-un
es-un
Describe
Describe
Describe
Describe
Describe
Requerimientos
(*) Nombre
(*) Tipo
(*) Identificado
es-un
Relaciones
Pg. 203
la
integridad
de
la
Base
de
Conocimientos,
gestionar
valores
modificar
borrar
valores
en
otras
ranuras,
disparando
as
procedimientos asociados.
Pg. 204
sus
Las facetas son utilizadas por el motor de inferencia para mantener la integridad
semntica de los datos, o sea para comprobar que los valores introducidos en las
propiedades se corresponden con el tipo especificado, en la obtencin de valores y en
la asignacin de valores por defecto.
Pg. 205
Ranura
Objetivo
Cadena de
Caracteres
Tipo Ranura
Card.
Min.
Card.
Max.
No
Multiv.
Valor
Omisin
String
Valores
Permitidos
PedirUsuario($N
ombreSistema)
Prop.
General
No
String
Marcos
Cadena de
Caracteres
Marco
SI
^Marco de
Problema
Ajustado
Boolean
No
FALSE
DocumentoReq
Marco
No
TRUE/FAL SE
-
Partes
Marco
No
AproxDesc
Cadena de
Caracteres
No
Dificultad
Cadena de
Caracteres
Si Necesito
Si Aado
PedirUsuario($O
bjetivo)
PedirTipoDesco
mposicion($Tipo
Desc)
GenerarDoc($No mbreDoc)
Si Modifico
Si
Borro
^Partes
MarcoPr
oblema
Int-Ext
Ext-Int
M. Comp.
No
Identidad
Conexin
Req-Flex
Tabla 7.1: Marco Clase Proyecto
Pg. 206
NombreDoc
Tipo Ranura
Card.
Max.
Multiv.
Valor
Omisin
Valores
Permitidos
Prop.
General
Si Necesito
Si Aado
Si
Modifico
Si Borro
No
String
No
String
No
Inicial
Inicial
Creando
Terminada
Requerimiento Marco
No
Descripcin
Dom.
Problema
PathArchivo
Estado
Cadena de
Caracteres
Cadena de
Caracteres
Cadena de
Caracteres
Card.
Min.
Marco
^Requeri mientos
1
No
^DescDo minioPro
blema
Tabla 7.2: Marco Clase Documento de Requerimientos
Pg. 207
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv
.
Valor
Omisin
Valores
Permitidos
Ajustado
Boolean
No
FALSE
TRUE/FALSE
Descripcion
Cadena de
Caracteres
Cadena de
Caracteres
Cadena de
Caracteres
Marco
No
No
No
SI
Nota1
No
Grafico
Nombre
Partes
Tipo
Cadena de
caracteres
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
ProcIdentif
Partes
Pg. 208
Nombre
Tipo Ranura
Dominio
Cadena de
Caracteres
Cadena de
Caracteres
Marco
Identificado
Card.
Min.
Card.
Max.
Multiv.
Valor
Omisin
No
No
Si
Booleano
No
False
Tipo
Cadena de
Caracteres
No
Parte-de
Marco
No
Descripcion
Valores
Permitidos
Prop.
General
Si
Necesito
Si Aado
Si Modifico
Si Borro
^Marco
Dominio
TRUE/FALSE
Mquina/
Dominio_Apli
cacin/Reque
rimiento
^Marco
Problema
Tabla 7.4 Marco Clase Parte de Marco de Problema
Identificacin
Prioridad
Fuente
Tipo
Tipo Ranura
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Card.
Min.
Card.
Max.
Multiv
.
No
No
No
No
Valor
Omisin
Valores
Permitidos
Prop.
General
Si
Necesito
Cadena Caracteres
Deseable/Esencial/
FuturaVersin
Cadena Caracteres
Preguntar
Prioridad
Si Aado
Si Modifico
Si Borro
Consultas/Regla_C
omportamiento/Ma
peo/OperacDomCre
ados/Corresponden
ciaAsequible
Tabla 7.5: Marco Clase Requerimientos
Pg. 209
Tipo Ranura
Card.
Min.
Card.
Max.
Nombre
Cadena
Caracteres
Descripcin
Cadena
Caracteres
Tipo
Cadena
Caracteres
Multiv.
No
Valor
Omisin
Valores
Permitidos
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
Cadena
Caractere
s
No
Cadena
Caractere
s
Si
Cadena
Nota 2
Caractere
s
Tabla 7.6: Marco Clase Dominio
Nota 2: Los valores permitidos para marco de dominio son: Esttico, Dinmico, Unidimensional, Multidimensional, Tangible,
Intangible, Activo, reactivo, Inerte, Activo-Autnomo, Activo-Programable, Activo-Delegable.
Pg. 210
Tipo Ranura
Identificacion
Cadena
Caracteres
Partes_Descrit Marco
as
Desc_Fin
Boolean
Descripciones
Req_Def
Tareas
Cadena
Caracteres
Boolean
Cadena
Caracteres
Tareas_Descrit Cadena
as
Caracteres
Card.
Min.
Card.
Max.
Multiv.
Valor
Omisin
No
Si
No
FALSE
Si
No
FALSE
Si
Valores
Permitidos
Cadena
Caracteres
^Partes Marco
Problema
TRUE_FALSE
Cadena
Caracteres
TRUE-FALSE
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
Preguntar(
$Desc_Fin)
Preguntar(
$Req_Def)
Cadena
Caracteres
1
Si
Cadena
Caracteres
Tabla 7.7: Marco Clase Descirpcin Dominio del Problema (Advisor)
Pg. 211
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
Valor
Omisin
Nombre
Cadena
Caracteres
No
Descripcin
Cadena
Caracteres
No
Tipo
Cadena
Caracteres
Si
Dominio1
Cadena
Caracteres
Cadena
Caracteres
No
No
Dominio2
Valores
Permitidos
Prop.
General
Cadena
Caractere
s
Cadena
Caractere
s
Cadena
Caractere
s
Nota 3
Si Necesito
Si Aado
Si Modifico
Si Borro
Cadena
Caractere
s
Tabla 7.8: Marco Clase Fenmenos Compartidos
Nota 3: Son estados o eventos que dependen y estn caracterizados segn el marco de problema al que pertenezcan. Pueden
ser: FC_C1, FC_C2, FC_C3, FC_E1, FC_E2, FC_E3, FC_H1.
Pg. 212
Pg. 213
Pg. 214
o bien si es un
las
condiciones
generales
que
presenta
seleccione
una
forma
de
Pg. 215
componen
el
problema,
excepto
para
la
aproximacin
de
problema
anteriormente resuelto.
Para el caso de exterior a interior el sistema pregunta al usuario el/los tipos de
partes que va encontrando para deducir un marco, luego identificar el resto de
partes de dicho marco y eliminar la parte del problema resuelto para continuar con
el resto.
Para el caso de interior a exterior el sistema pregunta al usuario el marco de
problema elemental que mas se asemeja al problema enfrentado y luego pide que
identifique sus partes de acuerdo al problema. Finalmente lo guia en la resolucin
de las dificultades que impiden el ajuste preciso de dicho marco al problema. Las
mismas pueden ser dificultades de conexin y de identidad. El sistema brinda
ejemplos posibles y grficos en cada caso.
4. Luego se recorren todos los marcos para identificar cada parte de cada uno
mediante la indicacin del tipo de dominio que conforma, la existencia de diferentes
fenmenos compartidos entre dominios para luego proceder a verificar que los
marcos elegidos para la descomposicin se ajusten correctamente al problema. En
caso de resultado positivo continua adelante con la descripcin de cada dominio y
de los requerimientos.
En caso negativo vuelve a atrs recomendando una descomposicin diferente o
bien un marco distinto en caso de que alguno de ellos no est ajustado.
5. El siguiente paso es resolver las conexiones entre dominios cuando no se
cumplen las condiciones de velocidad y confiabilidad entre ellos; fundamentalmente
en el caso de marcos de problema de informacin y de control. All las alternativas
son 3:
a. Ignorar la existencia de un dominio de conexin y tratar los distintos dominios
como si estuvieran directamente conectados.
b. Tratar al dominio de conexin como un ente intermediario entre ambos dominios
y solamente describir dicho dominio.
c. Reconocer la existencia de un nuevo marco llamado marco de problema de
conexin y agregar el mismo a la lista de marcos del proyecto.
6. Se procede entonces a recorrer cada marco de problema y describir cada una de
las partes del mismo que conforman el dominio del problema segn reglas de
descripcin que dependen del tipo de dominio del que se trate, utilizando tcnicas
de descripcin adecuadas.
Pg. 216
Una vez descritos los dominios se proceder a definir en cada marco los
requerimientos correspondientes donde el sistema segn el caso pide diferentes
datos para conformar el requerimiento.
7. Finalmente, cuando el analista lo crea conveniente, el sistema generar el
documento con la especificacin preliminar de requerimientos segn una plantilla
estndar y lo dejar en formato HTML (HyperText Markup Language) para su
posterior manipulacin.
Pg. 217
Captulo 8
Seleccin de la
Herramienta
e
Implementacin
del Sistema
Captulo 8
8.1 Introduccin
Se describe aqu la seleccin de la herramienta a utilizar en la implementacin del
Sistema Experto Asistente en la Elaboracin del Documento de Requerimientos.
A partir del modelo formal obtenido se seleccion la herramienta que permite
trasladar el modelo formal del comportamiento del experto a un modelo que pueda
ser interpretado por una computadora, de modo de representar adecuadamente los
modelos formales.
La implementacin de un sistema basado en conocimiento exige una herramienta
de desarrollo que proporcione los formalismos de representacin en los cuales
puede codificarse la base de conocimientos, as como los mecanismos de inferencia
y control que pueden interpretar la base de conocimientos para ejecutar la tarea
deseada.
Una vez seleccionado el entorno, el modelo conceptual gua la implementacin del
Sistema Experto y permite crear un diseo de implementacin al aplicar el modelo
conceptual sobre las capacidades de la herramienta.
CMO
puede
alcanzarse
el
comportamiento
deseado,
dados
los
Captulo 8: Implementacin
Pg. 219
Captulo 8: Implementacin
Pg. 220
Caracterstica
Subcaracterstica
Dominio
Representacin de
Conocimientos
Incierto
Control
Motor de
Inferencias
BC
IC
Interfaces con
humanos
Depuracin
Usuario
Lenguaje
BBDD
Evaluacin
Marcos
Reglas
No posee
Agendas
Prioridades de Reglas
Herencia Mltiple
Demonios
Encadenamiento hacia delante
Encadenamiento hacia atrs
Mtodos
Integridad Relacional
Grficos
Barras de mens
Libreras
Ayuda
No Recompilacin
Interfaz grfica ampliable
Navegador
Traza
Paso a Paso
Puntos de ruptura
Detecta y evita bucles infinitos
Validacin
Creacin de interfaz grfica con ventanas
Grficos
Ejecucin interactiva
Herramienta ampliable
Adaptable al cliente
Ansi C
C++
Fortran
Sistemas con SQL
Hardware
Requisitos del
Sistema
Otras
caractersticas
Tcnicas
PC
Unix
X-Windows
Sistema Operativo
Windows DLL
MVS
Modular
En Capas
Integracin con otro software sencilla
Mecanismos dehoja de clculo
Prototipado rpido
Orientado a objetos
Reuso
Independiente del sistema operativo
Capacidad de Retroceso
Tabla 8.1: Caractersticas de Kappa-PC
Captulo 8: Implementacin
Pg. 221
Adems de
cuales eran las nicas accesibles para llevar adelante el proyecto de sistema
experto, permite la implementacin de marcos y reglas de produccin, facilitando la
implementacin dado que ofrece recursos de programacin visual para la
implementacin del modelo, y de la interfaz de usuario y mecanismos de
depuracin.
Posee el lenguaje de programacin llamado KAL que se ejecuta interpretado.
Adems al realizarse la programacin visual, automticamente la herramienta
genera el cdigo KAL correpsondiente, pudindose luego refinar dicho cdigo, o
bien agregar mediante cdigo aquellas rutinas necesarias que no se generen
automticamente.
En el presente proyecto, por su naturaleza, hubiera sido muy til que la
herramienta realizase equiparacin de marcos, algo no soportado en Kappa-PC. No
obstante, mediante programacin se salv la caraencia.
8.3. Plan de Implementacin del Asistente
Una vez familiarizado con el entorno de desarrollo que ofreca Kappa PC, se ha
dado comienzo a la implementacin del prototipo. Como lo establece la Metodologa
I.D.E.A.L., el ciclo de vida del sistema se basa en prototipado incremental. Lo cual
implica, que para haber logrado el prototipo, se desarrollan una serie de prototipos
hasta lograr aquel que satisface los requisitos determinados por los expertos.
a) Implementacin de Marcos.
La Base de Conocimientos formalizada en marcos, se ha representado de la
siguiente manera:
Para representar cada marco clase se utilizaron los Objetos Clase de Kappa
y, para representar los marcos instancia se han utilizado instancias de
objetos. Por ejemplo se utiliz el objeto Elemental para implementar el
Marco Clase Marco de problema.
Captulo 8: Implementacin
Pg. 222
implementado
el
Modelo
de
Marcos,
el
siguiente
paso
es
la
Marco-compuesto-conocido.
Luego
de
verificar su funcionamiento
reglas,
se
han
codificado
los
conocimientos
de
control.
Estos
Captulo 8: Implementacin
Pg. 223
el
presente
trabajo
se
emple
una
gran
cantidad
de
tiempo
en
la
Captulo 8: Implementacin
Pg. 224
En las siguientes figuras se observan las diferentes interfaces logradas para tal fin.
Captulo 8: Implementacin
Pg. 225
Figura 8.2
Si el usuario opta por crear un nuevo proyecto, el sistema inmediatamente
preguntar por el nombre del sistema, producto de un demonio que necesita dicho
dato. Una vez introducido el mismo pasa a otra pantalla, representada por la figura
8.2 en la que a travs de otro demonio se pide al analista que ingrese el objetivo
para el cual se construye el software. Este es un punto muy importante dado que
definir en la mayoria de los casos el marco de problema bsico. Por ejemplo
supongamos que estamos construyendo un sistema para administrar los nmeros
de IP estticos de una red TCP/IP con muchas subredes. El sistema servir de
soporte al administrador para realizar las asignaciones estticas de direcciones.
Puede que suceda dos alternativas:
a) Que el sistema simplemente informe el estado de las asignaciones realizadas y
permita que el administrador decida qu nmero nuevo asignar cada vez.
En ste caso se trata de un problema de informacin.
b) Que el sistema decida qu nmeros de IP asignar cada vez que se le pide la
operacin de alta de una nueva estacin. En ste caso el problema es de Piezas de
trabajo.
Captulo 8: Implementacin
Pg. 226
Figura 8.3
En la mayora de los casos de problemas de software de la realidad, su complejidad
hace que deban ser representados por mas de un marco de problema elemental, o
bien por un marco de problema elemental con elementos adicionales que dificultan
su simple aplicacin.
Entonces se debe proceder a la descomposicin del problema real en diferentes
marcos de problema elementales para su correcto anlisis.
Una vez introducido el objetivo del sistema a construir, el asistente propone tres
aproximaciones diferentes para la descomposicin: Exterior a Interior, Interior a
Exterior y similitud con un marco compuesto de un problema anteriormente
resuelto.
Provee para ello de conos con el signo de pregunta que asisten al analista sobre
cual tipo de aproximacin elegir. Adems brinda consejos sobre los principios para
lograr una correcta descomposicin.
Una vez elegida la aproximacin de descomposicin contina proponiendo el
siguiente paso que depender justamente de la aproximacin elegida:
a) Exterior-Interior: En ste caso sugiere analizar el tipo de requerimientos
observado en la documentacin obtenida en la etapa de elicitacin. Segn los
diferentes tipos aconsejar un marco diferente y solicitar que el analista ingrese
los distintos componentes segn el marco del que se trate.
En la figura 8.4 se observa que adems el asistente brinda informacin sobre el tipo
de marco apropiado segn los requerimientos que se observen, adems pautas
para identificar correctamente cada tipo de requerimiento.
Captulo 8: Implementacin
Pg. 227
Figura 8.4
b) Interior-Exterior: Con esta aproximacin el asistente pregunta mediante el
disparo de un demonio cul es el tipo de marco de problema central que mas se
ajusta al problema en cuestin, luego solicita la identificacin de cada una de las
partes que componen dicho marco. A posteriori gua al analista en la tarea de
resolver las distintas dificultades que an impiden tener el problema totalmente
resuelto como se observa en la figura 8.5.
Captulo 8: Implementacin
Pg. 228
Figura 8.5
Captulo 8: Implementacin
Pg. 229
Figura 8.6
Figura 8.7
Captulo 8: Implementacin
Pg. 230
Figura 8.8
En la misma se observan los siguientes elementos:
- Una lista con los marcos elementales identificados con el nombre asignado.
- Para cada uno, una lista con las partes identificadas de dicho marco.
- Una serie de cuestiones acerca de los fenmenos compartidos que deberan
observarse en cada marco, donde el analista debe reflexionar acerca de los
mismos, sobre los eventos, eestados, objetos y su interrelacin. Esto ayuda a
verficar que el marco de problema haya sido correctamente aplicado en la
descomposicin.
- Para cada parte del marco que sea un dominio que forma parte del dominio del
problema, una lista de tipos de dominio donde el analista debe indicar qu tipo
corresponde a la parte seleccionada.
El analista debe seleccionar cada parte y completar los cuestionamientos. Cuando
haya finalizado debe presionar el botn "Test de Ajuste de marcos" y el sistema
empleando las reglas de produccin verificar el correcto ajuste. En caso contrario
indicar cuales partes tienen problemas.
A su vez, si se hace click con el botn derecho sobre cada cuestin o sobre cada
tipo de dominio, el sistema proveer una ayuda rpida para su mejor anlisis.
Captulo 8: Implementacin
Pg. 231
Figura 8.9
En la figura se observa que adems el sistema provee de un checklist a modo de
gua sobre las distintas descripciones que debe realizarse para el marco de
problema elemental seleccionado.
Pulsando el botn "Comenzar la descripcin" el sistema pedir las descripciones
necesarias como se indic anteriormente.
A continuacin las figuras 8.10 a 8.16 muestran las diferentes pantallas para
describir los distintos dominios, donde en cada una se puede describir:
-
Captulo 8: Implementacin
Pg. 232
Consultas
Mapeos
Reglas de comportamiento
Operaciones sobre dominios creados
Correspondencias entre dominios
Figura 8.10
Captulo 8: Implementacin
Pg. 233
Figura 8.11
Figura 8.12
Captulo 8: Implementacin
Pg. 234
Figura 8.13
Figura 8.14
Captulo 8: Implementacin
Pg. 235
Figura 8.15
Figura 8.16
El sistema experto permite navegar por estas pantallas de modo de guiar al usuario
en las descripciones.
En todo momento se puede controlar mediante una pantalla que oficia de
navegador la situacin de la descripcin, elementos que falta describir, etc.
Cuando el analista considera que est todo finalizado, presiona el botn en el
navegador para generar el documento de requerimientos en formato HTML.
Captulo 8: Implementacin
Pg. 236
Figura 8.17
El documento de requerimientos resultante puede apreciarse en la siguente figura
(Slo el comienzo):
Captulo 8: Implementacin
Pg. 237
Figura 8.18
De sta forma se ha presentado el funcionamiento global del sistema.
Se adjunta al presente trabajo un disco CD-ROM con el cdigo fuente completo en
Kappa-PC.
Captulo 8: Implementacin
Pg. 238
Captulo 9
Evaluacin del
Sistema Experto
Captulo 9
9.1. Introduccin.
La evaluacin de Sistemas Basados en Conocimiento enfrenta una serie de
dificultades que los diferencian de los sistemas convencionales. En primer lugar ,ya
que los sistemas expertos tratan de resolver problemas que normalmente lo
resuelven humanos expertos, los criterios para medir su xito suelen no estar
definidos. En segundo trmino, los problemas que afrontan los sistemas basados
en conocimiento implican grandes espacios de bsqueda que nos son susceptibles
de modelizacin, al menos fcilmente.
Entre las diferencias ms importantes con los sistemas convencionales podemos
citar:
a. Los sistemas basados en conocimiento no son completamente objetivos.
b. Toleran una cierta cantidad de incertidumbre.
c. No pueden ser fcilmente verificados en el laboratorio.
d. Ya que modelan conocimientos de los expertos acerca de un dominio, existen
variaciones de opinin entre los distintos expertos.
Es por esto que se necesitan diferentes mtodos de evaluacin para asegurar la
confiabilidad de un sistema experto, que si bien no estn completamente
normalizados ni universalmente aceptados, es necesario llevar adelante la
evaluacin adems de ser una tarea crtica de la que depende en gran parte el
xito del proyecto.
En el proceso de desarrollo de un sistema experto se deben efectuar mltiples
evaluaciones1, cada una de las cuales con su propio objetivo.
Siempre se deben llevar a cabo, al menos, evaluaciones con los siguientes
objetivos:
Juristo, N. "Evaluacin de Sistemas Expertos", Mster en Ingeniera del Software, Madrid 1996.
Captulo 9: Evaluacin
Pg. 240
Dada la complejidad de los Sistemas Expertos existen mltiples criterios por los
que se pueden evaluar.
No obstante hay cuatro grandes aspectos del sistema que deben evaluarse:
Captulo 9: Evaluacin
Pg. 241
Captulo 9: Evaluacin
Pg. 242
Captulo 9: Evaluacin
Pg. 243
Casos seleccionados:
actan
como
"solicitantes
de
informacin"
sobre
un
mundo
real
Archivo de
Pginas
Editoriales
Consultas de
pginas
Sistema de
Archivo
Usuarios
Captulo 9: Evaluacin
Pg. 244
Transforma
PDF a ASCII
Pginas en
Formato PDF
Sistema de
Archivo (2)
Texto de pginas
en formato ASCII
Secuencias de
Luces
Semforos y
Controlador
Control de Trfico
Captulo 9: Evaluacin
Pg. 245
Operaciones
sobre las
secuencias
Control de
trfico(2)
Tcnico Operador
Secuencias
Reglas de
Clculo
Datos
Entrada
Paquete
Estadsticas
Usuarios
Frmulas
Datos
Salida
Crear y editar
Frmulas
Captulo 9: Evaluacin
Pg. 246
Datos
Entrada
Paquete
Estadsticas
Usuarios
Reglas de
Clculo
Datos
Salida
Usuarios
Paquete
Estadsticas
Frmulas
Crear y editar
Frmulas
Captulo 9: Evaluacin
Pg. 247
Reglas de
Negocio
Ordenes
Depsito
Bienes
Reportes
Empleados
Sistema de
Control de
Inventario
Reglas de
Negocio
Ordenes
Depsito
Bienes
Empleados
Sistema de
Control de
Inventario
Captulo 9: Evaluacin
Pg. 248
Ordenes
Depsito
Bienes
Reportes
Empleados
Sistema de
Control de
Inventario
Captulo 9: Evaluacin
Pg. 249
Dominio
Controlado
Mquina
Controlador del Router
Reglas de
Comportamiento
Router y Paquetes
Ruteo Correcto
Captulo 9: Evaluacin
Pg. 250
Consultas
Corespondencia
del modelo
Mquina
Controlador del
Router(2)
Solicitante de
Informacin
Figura 9.12: Marco de informacin del router
Captulo 9: Evaluacin
Pg. 251
Captulo 9: Evaluacin
Pg. 252
Captulo 9: Evaluacin
Pg. 253
Captulo 10
Conclusiones y
Futuras Lneas
de investigacin
Captulo 10
10.1 Introduccin
La tesis de Mster en Ingeniera de Software es el corolario del aprendizaje recibido
durante el posgrado. En l se ha intentado plasmar todos los conocimientos
recibidos tanto en la etapa de ingeniera del software como en la de ingeniera de
conocimiento. Su desarrollo ha permitido poner en prctica aspectos de gestin de
proyectos, estimaciones, evolucin de prototipos, diseo, prueba, codificacin,
anlisis de riesgos, etc. A su vez se pudo cristalizar la concrecin de un trabajo
puramente profesional, con los detalles y particularidades que ello encierra, tales
como relaciones sociales con usuarios, expertos, incertidumbres, errores de
estimacin y de apreciacin de conceptos, entre otros.
A continuacin se exponen las diferentes conclusiones y seguidamente un
propuesta sobre futuras lneas investigativas para evolucionar el sistema experto
desarrollado.
10.2 Conclusiones del trabajo de tesis
La utilizacin de una metodologa que promueve el desarrollo incremental de
prototipos, como es la metodologa I.D.E.A.L., procura que la culminacin del
proyecto se d en tiempos y costos acordes a los estimados.
Si bien el dominio de la aplicacin del sistema experto es complejo, se pudo
establecer mediante el test de viabilidad que su concrecin era posible.
La libertad de eleccin de diferentes tcnicas de educcin que promueve la
metodologa ha permitido capturar satisfactoriamente las tareas que desarrolla el
experto, sus razonamientos y heursticas.
La etapa de formalizacin ha permitido acercar el modelo conceptual al modelo
computacional de una manera muy analtica, lo que redund en un sistema
utilizable sin mayores complicaciones.
Pg. 255
Pg. 256
Pg. 257
Bibliografa
Bibliografa
[Bjorner 1] Dines Bjorner, Souleymane Koussoube, Roger Noussi and Gueorgui
Satchok, Jackson's Problem Frames: Domains, Requirements and Design; UNU/IIST
Report No. 102, United Nations University, may 1997.
[Brooks 1] Brooks Jr., Frederick P., The Mythical Man-Month,
1995.
Addison-Wesley,
Bibliografa
Pg. 259
[Jackson 4] Jackson Michael And Jackson Daniel, Problem Decomposition for Reuse,
Enero 1995.
[Jarke] Metamodels for REquirements Engineering. Matthias Jarke, Nature Team.
InformatikV,RWTH,Aachen.
(http://ksi.cpcs.ucalgary.ca/KAW/KAW96/jarke/jarke.html)
[Jones] Interfacing Requirements Management Tools In The Requirements
Managements Process - A First Look. David A. Jones, Pradip Kar. Proceedings of the
7th annual International Symposium of the INCOSE. August 1997.
[Kappa 1] Kappa PC, Quick Start, Intellicorp, Inc. 1992.
[Kappa 2] Kappa PC, User's Guide, Intellicorp, Inc. 1992.
[Kappa 3] Kappa PC, Advanced Topics, Intellicorp, Inc. 1992.
[Kar] Characteristics of Good Requirements. Paper given ath the 6th INCOSE
Symposium. Pradip Kar and Michelle Bailey, 1996.
(http://www.complianceautomation.com/incose.html)
[Kovitz 1] Kovitz, Benjamin L., Practical Software Requirements, Manning, 1999.
[Lamsweerde] Managing Conflicts in Goal-Driven Requirements Engineering, Axel
Van Lamsweerde, IEEE. Transactions on Software Engineering, Vol. 24, No. 11,
November 1998.
[Minsky, 75] Minsky, Marvin. A framework for representing knowledge". En P.
Winston. "The Psicology of Computer Vision", Mc graw Hill. Nueva York (Estados
Unidos). 1975.
[Pazos 1] Pazos, J. Anlisis de Viabilidad en Sistemas Basados en Conocimiento,
Mster en Ingeniera de software, Universidad Politcnica de Madrid, Instituto
Tecnolgico de Buenos Aires, 1997.
[Reubenstein] The Requirements Apprentice: Automated Assistance for
Requirements Acquisition. Howard B. Reubenstein and Richard Waters. IEEE
Transactions on Software Engineering, Vol 17, No 3, March 1991.
[Robertson] Volere: Requirements Specification Template. Edition 6.0. James &
Suzanne Robertson. 1998, Atlantic Systems Guild.
[Shaw 1] Shaw, Mary, Problem Definition with Problem Frames, Carnegie Mellon
Computer Science school. 1998.
[Sommerville 1] Sommerville, Ian, Software Engineering, Addison-Wesley, 1996.
[Sutcliffe 1] Sutcliffe, Alistair and Maiden, Neil, The Domain Theory for Requirement
Engineering, IEEE Transactions on Software Engineering, Vol. 24 No. 3, March
1998.
[Sutcliffe 2] Sutcliffe, Alistair and Maiden, Neil, Supporting Scenario-Based
Requirement Engineering, IEEE Transactions on Software Engineering, Vol. 24 No.
12, December 1998.
Bibliografa
Pg. 260
Bibliografa
Pg. 261
Apndice A
Id
1
Nombre de tarea
Definir objetivos, organizacin, mbito y planificacin del proyecto
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Proyecto: gant
Fecha: lu 30/06/03
unio
02/06
09/06
16/06
23/06
julio
30/06
07/07
14/07
21/07
agosto
28/07 04/08
11/08
18/08
25/08
septiembre
01/09 08/09
Tarea
Hito
Divisin resumida
Tareas externas
Divisin
Resumen
Hito resumido
Progreso
Tarea resumida
Progreso resumido
Pgina 1
15/09
22/09
octubre
29/09 06/10
13/10
20/10
noviembre
27/10 03/11 10/11
Proyecto: gant
Fecha: lu 30/06/03
17/11
24/11
diciembre
01/12 08/12
15/12
22/12
enero
29/12 05/01
12/01
19/01
26/01
febrero
02/02
09/02
16/02
23/02
marzo
02/03
09/03
16/03
23/03
abril
30/03 06/04
13/04
20/04
Tarea
Hito
Divisin resumida
Tareas externas
Divisin
Resumen
Hito resumido
Progreso
Tarea resumida
Progreso resumido
Pgina 2
mayo
27/04 04/05
11/05
18/05
25/05
junio
01/06
08/06
Apndice B
Dimensin de Plausibilidad
Caracterstica
P1
P2
P3
P4
P5
Peso
10
7
8
10
9
44
Valor
S
Mucho
Mucho
8
8
Intervalo Difuso
10
10
10
10
5,6 6,6 7,8 8,8
5,6 6,6 7,8 8,8
8
8
8
8
8
8
8
8
Resultado:
100
39,2
44,8
80
72
336
7,452
Peso*Valor
100
100
100
46,2
54,6
61,6
52,8
62,4
70,4
80
80
80
72
72
72
351
369
384
7,884 8,346 8,695
1
1,25
1,43
1,25
1,13
6,05
Peso/Valor
1
1
1,06
0,9
1,21 1,03
1,25 1,25
1,13 1,13
5,65
5,3
1
0,8
0,91
1,25
1,13
5,08
Plausibilidad
1,2
Nada
Poco
0,8
Regular
0,6
Mucho
0,4
Todo
0,2
Plausibilidad
0
0
10
Pg. B.2
Dimensin de Justificacin
Caracterstica
J1
J2
J3
J4
J5
J6
J7
Peso
8
7
6
10
10
10
8
Valor
Mucho
8
Mucho
Poco
Todo
Mucho
S
Intervalo Difuso
5,6
6,6
7,8
8
8
8
5,6
6,6
7,8
1,2
2,2
3,4
7,8
8,8
10
5,6
6,6
7,8
10
10
10
8,8
8
8,8
4,4
10
8,8
10
44,8
56
33,6
12
78
56
80
Peso*Valor
52,8 62,4
56
56
39,6 46,8
22
34
88
100
66
78
80
80
70,4
56
52,8
44
100
88
80
Mx:
7,8
Resultado:
8,8
10
Aprox. Numrica
57,6
56
43,2
28
91,5
72
80
91,5
10
Justificacin
1,2
1
Nada
0,8
Poco
0,6
Regular
0,4
Mucho
0,2
Todo
Justificacin
0
10
Pg. B.3
Dimensin de Adecuacin
Caracterstica
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
Peso
7
10
-4
5
7
8
8
8
6
3
8
3
3
-10
-7
Valor
Mucho
Mucho
Poco
Mucho
Mucho
S
Mucho
Poco
Mucho
S
S
Mucho
Mucho
No
Nada
Intervalo Difuso
5,6
6,6
7,8
5,6
6,6
7,8
1,2
2,2
3,4
5,6
6,6
7,8
5,6
6,6
7,8
10
10
10
5,6
6,6
7,8
1,2
2,2
3,4
5,6
6,6
7,8
10
10
10
10
10
10
5,6
6,6
7,8
5,6
6,6
7,8
0,01 0,01 0,01
0,01 0,01
1,2
Peso*Valor
Peso/Valor
8,8 39,2 46,2 54,6 61,6 1,25 1,061 0,897 0,795
8,8
56
66
78
88 1,786 1,515 1,282 1,136
4,4
-4,8
-8,8 -13,6 -17,6 -3,33 -1,82 -1,18 -0,91
8,8
28
33
39
44 0,893 0,758 0,641 0,568
8,8 39,2 46,2 54,6 61,6 1,25 1,061 0,897 0,795
10
80
80
80
80
0,8
0,8
0,8
0,8
8,8 44,8 52,8 62,4 70,4 1,429 1,212 1,026 0,909
4,4
9,6 17,6 27,2 35,2 6,667 3,636 2,353 1,818
8,8 33,6 39,6 46,8 52,8 1,071 0,909 0,769 0,682
10
30
30
30
30
0,3
0,3
0,3
0,3
10
80
80
80
80
0,8
0,8
0,8
0,8
8,8 16,8 19,8 23,4 26,4 0,536 0,455 0,385 0,341
8,8 16,8 19,8 23,4 26,4 0,536 0,455 0,385 0,341
0,01
-0,1
-0,1
-0,1
-0,1 -1000 -1000 -1000 -1000
1,2 -0,07 -0,07
-8,4
-8,4 -700 -700 -5,83 -5,83
55
Resultado:
469
522 577,3 630,3 -1686 -1689
4,248 4,729 5,221 5,702
-996
-997
Pg. B.4
Adecuacin
1,2
1
Nada
Poco
Regular
Mucho
Todo
Adecuacin
0,8
0,6
0,4
0,2
0
0
10
Pg. B.5
Dimensin de xito
Caracterstica
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
E11
E12
E13
E14
E15
E16
E17
E18
E19
E20
E21
E22
E23
Peso
7
8
-5
-9
8
7
4
4
8
6
8
-8
4
8
5
8
-6
7
-5
4
-6
8
5
Valor
Regular
S
No
Nada
Poco
Regular
Todo
Todo
Mucho
Mucho
Mucho
Poco
Mucho
Mucho
Mucho
S
Regular
Mucho
Mucho
Regular
No
Mucho
S
Intervalo Difuso
Peso*Valor
3,4
4,4
5,6
6,6 23,8 30,8 39,2 46,2 2,059
10
10
10
10
80
80
80
80
0,8
0,01 0,01 0,01 0,01 -0,05 -0,05 -0,05 -0,05 -500
0,01 0,01
1,2
1,2 -0,09 -0,09 -10,8 -10,8 -900
1,2
2,2
3,4
4,4
9,6 17,6 27,2 35,2 6,667
3,4
4,4
5,6
6,6 23,8 30,8 39,2 46,2 2,059
7,8
8,8
10
10 31,2 35,2
40
40 0,513
7,8
8,8
10
10 31,2 35,2
40
40 0,513
5,6
6,6
7,8
8,8 44,8 52,8 62,4 70,4 1,429
5,6
6,6
7,8
8,8 33,6 39,6 46,8 52,8 1,071
5,6
6,6
7,8
8,8 44,8 52,8 62,4 70,4 1,429
1,2
2,2
3,4
4,4
-9,6 -17,6 -27,2 -35,2 -6,67
5,6
6,6
7,8
8,8 22,4 26,4 31,2 35,2 0,714
5,6
6,6
7,8
8,8 44,8 52,8 62,4 70,4 1,429
5,6
6,6
7,8
8,8
28
33
39
44 0,893
10
10
10
10
80
80
80
80
0,8
3,4
4,4
5,6
6,6 -20,4 -26,4 -33,6 -39,6 -1,76
5,6
6,6
7,8
8,8 39,2 46,2 54,6 61,6 1,25
5,6
6,6
7,8
8,8
-28
-33
-39
-44 -0,89
3,4
4,4
5,6
6,6 13,6 17,6 22,4 26,4 1,176
0,01 0,01 0,01 0,01 -0,06 -0,06 -0,06 -0,06 -600
5,6
6,6
7,8
8,8 44,8 52,8 62,4 70,4 1,429
10
10
10
10
50
50
50
50
0,5
70
1,061
0,8
-500
-7,5
1,818
1,061
0,4
0,4
0,909
0,682
0,909
-1,82
0,455
0,909
0,568
0,8
-0,91
0,795
-0,57
0,606
-600
0,909
0,5
Peso/Valor
1,591 1,25
0,8
0,8
-500 -500
-900
-7,5
3,636 2,353
1,591 1,25
0,455
0,4
0,455
0,4
1,212 1,026
0,909 0,769
1,212 1,026
-3,64 -2,35
0,606 0,513
1,212 1,026
0,758 0,641
0,8
0,8
-1,36 -1,07
1,061 0,897
-0,76 -0,64
0,909 0,714
-600 -600
1,212 1,026
0,5
0,5
Pg. B.6
Exito
1,2
Nada
Poco
Regular
Mucho
Todo
xito
1
0,8
0,6
0,4
0,2
0
0
10
Pg. B.7
Dimensin
Plausibilidad
Justificacin
Adecuacin
xito
Peso
8
3
8
5
Valores Intervalo
7,45 7,88 8,35
8,7
7,8
8,8
10
10
4,25 4,73 5,22
5,7
4,18 4,67 5,17 5,61
24
Intervalo Resultado Final:
RESULTADO FINAL:
59,6
23,4
34
20,9
Peso*Valor
63,1 66,8
26,4
30
37,8 41,8
23,4 25,9
69,6
30
45,6
28
138
151
164
173
5,75
6,28
6,85
7,22
6,5
Resultado Final
1,2
1
Nada
Poco
0,8
Regular
0,6
0,4
Mucho
Todo
0,2
Final
0
0
10
Pg. B.8
Apndice C
Sesin C.1
Fecha: 21/04/00
Experto: Ben Kovitz
Lugar: Internet Chat
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Profundizar en el modo en que el experto enfrenta el problema para
asignar un marco de problema conocido mediante preguntas.
QUESTION:
Which questions do you make yourself to detect differents kinds of problem
frames?
RESPONSE:
The problem frames are guides for asking good questions, not
problems as an end in itself.
for classifying
The main intended benefits of the problem frames is to help you fully define
problems: to include not only the requirements, but the associated descriptive
domain information. That is, for each type of requirement, there are different
sorts of questions that you need to ask about the problem domain (as well as
different kinds of solutions that are appropriate).
So here is a big table of the five problem frames showing the requirement types
and the questions to ask to fully define the problem.
INFORMATION PROBLEMS (dynamic version only)
Requirement:
Users can get answers to certain questions. (The
possible questions that the users can ask.
Domain questions:
What is the subject matter of those questions? What *things* (entities, objects,
whatever) are the questions about, and what attributes of or relationships between
those things are needed in order to answer them?
What events change the answers to the questions? That is, for each question,
there is a correct response, determined by the real state of the world that the
question is about. What events change the correct response--the response that
we would like the system to give?
How can the system find out when these events occur? For example, are there
existing databases with this information?
Can the system subscribe to some automated source to provide it? Or must the
system rely on human users to enter the information? If so, how do those users
get the information?
If accuracy or timeliness of the answers is especially important, then you also need
to ask: In what ways can
information fail to propagate to the system or include
errors? What redundancy is there in the problem domain that
the system can
exploit to detect or correct errors?
CONTROL PROBLEMS
Requirement:
Pg.C.2
Certain things behave according to certain rules. (The requirements must spell out
all the possible situations that the system is supposed to address, and the desired
action that the controlled things should take in each situation.)
Domain questions:
What are the things whose behavior we need to control?
What are the rules of behavior that these things obey regardless of how we design
the system? That is, what are
the causal laws inherent in the things? This
includes describing the spontaneous events that the system must react
to, as
well as actions that the system can cause directly or indirectly.
How can the system detect events or the current state of the things in the problem
domain? (This is the same question as in an information problem.)
What are the events that the system can cause directly? That is, what are the
output devices of the computer, which the computer can control directly?
How do those output devices connect to the things whose behavior we want to
control? Directly or indirectly? If there are intermediate entities that the computer
can
communicate with through the input/output devices, and that
will do the
actual causing of the desired behavior, we need to know also how to control these
intermediate entities, every way in which they can fail, and how the system can
detect when they've failed. An example of these
intermediate entities is people
that the computer asks to perform jobs.
TRANSFORMATION PROBLEMS
Requirement:
System outputs data file or data stream B corresponding by
certain rules to input
data file or data stream A. (The
requirements must spell out the desired output
stream for every possible input stream.)
Domain questions:
What are all the possible inputs?
How does the system get the inputs? (From a file, from user input, from some
other system via TCP/IP? If the latter, then you also need to know port addresses,
domain names, and the application-level protocol through which the remote
system sends the data.)
How does the system deliver the outputs? (Store them to a file, display them on
the screen, send them via Remote Procedure Call to an existing system on a
network? If the latter, then you also need to find out the Interface Definition
Language for the procedures, etc.)
WORKPIECE PROBLEMS
Requirement:
Users can create/edit/manipulate/view/etc. things that
such as accounts or documents.
Domain questions:
In a workpiece problem, the problem domain doesn't already exist. Instead, it's
created by the software in response to user commands. So there's really no
problem domain to "research". But there is a problem domain to specify:
What are sets of possible attributes of the workpiece objects?
What are the relations between them (e.g. one-to-many, as a document section
can contain many paragraphs, or a single account can contain many transactions)?
What are the operations that users can perform on the objects? (Scheduling a
conference room, stretching objects in a CAD tool, etc.) The operations constitute
the requirements.
Another good question to ask is if there are any invariants that we want to see
preserved by the operations. These aren't additional requirements, since we expect
Pg.C.3
that the operations as we've defined them already preserve the invariants.
they can be a helpful check.
But
Pg.C.4
Sesin C.2
Fecha: 23/04/00
Experto: Ben Kovitz
Lugar: Internet Chat
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Profundizar en el anlisis del problema mediante un caso de conversin
de datos entre dos bases de datos.
QUESTION:
Our system has one large database to pull from (not change), plus a lot of other
pieces of data (stats, logs, temp. data). There really isn't much of a data heirarchy,
per se.
How would you recommend thinking about the data mapping?
It sounds like what's making this problem hard is not identifying the major parts of
the problem (database, stats, log, etc.), but figuring out a systematic method for
describing one especially difficult part--the
data mappings.
RESPONSE:
We had to pump data from one old legacy system to another, changing the format
in rather complex ways in the process. We wrote the requirements in three main
pieces: (1) a "common vocabulary"
section that described what the data represented, in a way that was independent of
either system's representation; (2) a description of the interface protocol to system
A, in which each piece of data sent
through the protocol was marked with its corresponding data item from the
common vocabulary; and (3) a similar description for the other legacy system.
Section (1) was essentially a class diagram; the text accompanying the diagram
listed every class and attribute (all possible values of variables, etc.). Section (2)
was essentially a Jackson diagram describing the sequence of records that comes
out the sending system, together with textual descriptions of the format of each
record. Section (3) was similar, describing the input format of the receiving system
also in terms of sequence, selection, iteration, and hierarchy
For the receiving system, this was much trickier, since it wanted all sorts of
irregular repetitions of the same format in various places.I can't say this document
was easy to read, but the following technique at least got the job done. The
sending system only sent info about five different kinds of transactions. So we
wrote section (3) in five parts, just spelling out the appropriate format for each
transaction. Theoretically, you should be able to describe the entire format in total
generality, but a couple of attempts in that direction were excruciatingly difficult to
understand. In fact, the vendor-supplied info was at that level of generality. My
job really was just to figure out how each transaction was represented in their
format and write this up in a form comprehensible to the programmers.
We went with the common-vocabulary approach only because the customer wanted
to tie together more legacy systems in the future. The common vocabulary made it
Pg.C.5
easy to create a database of metadata that other systems could also map to. If
you know that you only have two systems to map between, then it's probably wiser
to just use one system as the "base vocabulary" and define the meaning of the
other system's data in terms of it. But if one system's data just doesn't map in any
straightforward way to the other system's data, you might also consider the
common-vocabulary approach.
Anlisis de la sesin C.2
Se obtuvo una aproximacin del razonamiento que sigue el experto cuando
enfrenta un caso de transformacin de datos.
Sesin C.3
Fecha: 2/05/00
Experto: Ben Kovitz
Lugar: Internet Chat
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Profundizar en el anlisis del problema mediante un caso de un
problema de clculo financiero.
QUESTION:
I'm working on a project that will be used to manage financial (specifically, tax)
information. Users enter beginning data (i.e., beginning capital accounts for
investors) and periodic data (i.e., income for a specific period of time). They will
run a series of calculations to determine ending data.
When viewing this project in terms of a problem frame, I clearly see an Information
problem: beginning data + a bunch of calculations = ending data. Users will be able
to report on the transactional history of any item available.
I also see a Control problem. The users don't see the solution purely as a
reporting tool - they see it as a management tool that "controls" the investors'
data. Government regulatory rules dictate the ways that you account for the
financial information. These behavioral rules are used to ensure that the data is
consistent across companies.
Am I missing something, or do many financial applications - TurboTax, Quicken,
investment tracking, etc. - solve both Information problems (what's my bank
balance?) and Control problems (your taxable wages are $xx,xxx.xx)?
RESPONSE:
If I understand the project correctly, I'd classify it as a Transformation Problem.
The responsibility of the system is to perform calculations: to convert input data to
output data according to specified rules.
I wouldn't think of this as an Information Problem, since *getting* the information
from an intractable real world doesn't sound like a major factor. In an Information
Problem the requirement is to synchronize the reports or queries output by the
system with some part of the real world. A major element of the problem definition
Pg.C.6
is to identify how the computer can find out the state of that real world: through
infrared detectors mounted throughout a building, through analog-to-digital
converters attached to temperature sensors, or, most typically, through a dataentry staff.
I also wouldn't think of this as a Control Problem, since the software is not
responsible for causing anything in the real world to happen, only to perform
calculations. The requirement in a Control Problem is to make some part of the
real world *behave* according to specified rules. One of the principal parts of a
Control Problem is the means available for the computer to cause the desired
behavior: how the computer can turn the fuel injectors on or off, who the computer
can ask to move items from the warehouse to the shipping dock and how to
communicate with that person, etc.
Naturally, classification isn't as important as gathering the kinds of problem-domain
information that you need in order to design a useful interface. But based on what
I've heard so far (which might not be the whole picture), it sounds like you have a
classic sort of "data in, data out" problem, where messy and unreliable causal
interactions with the real world are of little concern to the interface designer and
programmers.
Here's a frame diagram showing the three principal parts of a Transformation
Problem: inputs, outputs, and a rule or formula specifying a desired output for each
possible input. Exhaustively describe each of these, and the problem is completely
defined:
imagen financial
Pg.C.7
Not shown is the user, who supplies the inputs and views the outputs.
This problem might be more complex if the user has the ability to define the
formula, if the formula itself needs to be kept synchronized with the latest
Government policies, or if the inputs or outputs need to come indirectly from some
other source, such as an accounting system.
These would all introduce
subproblems into the main problem: what set of elements can the user combine to
create a formula? (Workpiece Problem), from what source can the system learn the
government policies? (Connection Problem), how can the system communicate with
the accounting system? (also a Connection Problem)
Or, if this program is responsible for making changes to accounts held in a bank,
then you would have a genuine Control Problem. In that case, you'd also have to
research the interface through which your program could manipulate the accounts,
and you'd have to define a behavioral requirement, stating the rule according to
which the accounts are supposed to change.
Turbotax solves a classic Transformation Problem: calculating your taxes. Indeed
another good name for Transformation Problem is Calculation Problem.
Quicken is a bit more complex: the problem it solves is to report on the state of
your finances, past and present. Quicken in effect answers the question, "How
much money have I spent on X during period P?", not "Assuming that I invested X
dollars at interest rate Y, how many years until it compounded to Z dollars?" So
Quicken does solve an Information Problem in that it reports the state of some part
of reality, and relies on you to keep it informed of changes to that part of reality
(your finances).
Even Turbotax could be considered an Information Problem in that its purpose is to
tell you how much you owe the IRS, and it relies on you as its source of information
about your income. But the vast majority of the solution consists of performing
calculations, not in updating a database to match events that occur continuously in
a problem domain. Operating the program consists of supplying a very complex
input and then viewing or printing a very complex output that Turbotax calculates.
Quicken also solves a number of Transformation Problems, in that it does more
than just display a record of transactions, it displays summary reports, generates
graphs and pie charts, and in general transforms the data about your finances into
a variety of useful formats.
Such Transformation Problems are a common
subproblem of many Information Problems.
Anlisis de la sesin C.3
Se determin la forma de evitar confundir un problema de control con uno de
transformacin, mediante la formulacin del anlisis adecuado de conjuntos de
datos de entrada y salida.
Adems se obtuvo la forma de detectar un problema de Workpieces muy comn en
problemas de software.
Pg.C.8
Sesin C.4
Fecha: 6/05/00
Experto: Ben Kovitz
Lugar: Internet Chat
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Profundizar en el anlisis del problema mediante un caso complejo de
administracin de espectros de radiofrecuencia.
QUESTION:
Suppose a system for regulating the radio frequency spectrum. We issue licences
to organisations to use spectrum space. Spectrum space is 3 dimensional - area,
and frequency bandwidth. We need to know who has what licence, be able to
charge for these licences on an annual basis but probably more importantly we
need to know what space is available for future sales. Our aim is to increase
competition and increase the effective use of spectrum space.
I know I have an information problem and there is a connection problem in terms
of users entering the information about the frequencies and areas. But do I have a
workpiece problem in the sense that spectrum space is created in the system and
we manage these spaces inside the system?
RESPONSE:
Sounds like you've pegged it! Regarding the question of whether "ownership of
spectrum space" is a realized domain, here's the question I'd ask if I were doing the
analysis: do you want the system to *decide* which parts of the spectrum space to
grant to new applicants, or do you want the system only to *inform* people of
which parts of the spectrum space are available?
An analogous example is a scheduler for conference rooms. The main responsibility
of the scheduler is to *decide* who can have which room and when, according to
certain rules, like "first come, first served." The table of who has what room at
what times is a purely conceptual construction, which the system has
to embody within itself--hence, in a realized domain, not a domain that the system
has to connect to.
So, here are some thoughts on good questions to ask, which relate to the question
of whether the spectrum-allocation domain is internal to the system (as in a
workpiece-like problem) or external to the system (as in an information problem).
If the responsibility of the system is to make decisions about which segments of the
spectrum space to grant to new applicants, then you have two questions to ask
next. (1) What are the rules according to which the system should make these
decisions? (2) What types of acts do you want people to be able to do with the
system, that would feed into those rules? A likely such act is "Request a segment
of spectrum space." A simple rule might be, "Whoever first submitted a valid
request for a given segment gets that segment." (Another such act might be,
"Request to override an allocation." And the corresponding rule might be, "Only a
member of the communications commission may override an allocation.")
The route of "the system makes the decisions" implies that the acts that you define
must have some legally recognized significance: people must agree that they will
Pg.C.9
be bound by the rules that you define. That is, people must agree that whatever
interface behavior you invent to implement "request computer to
grant segment of spectrum space" will have legally binding consequences (as
defined by the spectrum-allocation rules).
(Making a bid on eBay is an example of one of these acts with legally binding
consequences.)
On the other hand, if the responsibility for making these decisions is something you
want to leave with the government, the system's job might only be to inform users
of current and proposed allocations of the spectrum. In this case, there are
different questions to ask. (1) What are all the events that change the allocation of
spectrum space? (2) How can the system find out when these events occur, along
with all the pertinent information associated with them? If the people who make
the allocation decisions are known to always or usually follow certain rules, that's
good information to gather, too, since you
can exploit that to detect data-entry errors.
A third alternative is that perhaps you don't want to give the system the
responsibility for making the decisions about what spectrum space to grant to
whom, but you want the system to serve as an aid to the people who do make
those decisions. People could type a request into the system, and the system could
propose a possible way to satisfy the request, or perhaps let a user view a variety
of "what-if" scenarios. In this case, you have a classic workpiece problem: the
spectrum-space domain is purely fictitious, embodied only in the computer. The
software provides a set of operations that users can perform on this
fictitious world in order to see the results.
You could also call this a sort of transformation problem, in that the system's job is
to perform calculations on data entered by the user. Indeed small transformation
problems are a subproblem of almost every software problem. But notice that the
main questions to ask are, "What fictitious entities do you want me to create in the
computer, and what operations and/or calculations would you like to be able to
perform on them?"
Thinking of the problem as "Build me a little computerized blackboard for exploring
consequences of possible ways to satisfy requests for spectrum space" seems to
lead to all sorts of fruitful questions. Eventually, you should wind up with answers
of a sort that you can give to a programmer, tester, and UI
designer to implement, like "An allocation has attributes X, Y, and Z. The possible
values of X are..." That's when the requirements are really done.
BTW, for a long time now, I've been trying to come up with a really good *first*
question to ask during analysis--a question that you can ask even before you know
anything about the problem domain. I think I've got it: "What benefit do you want
to make the software responsible for achieving?" That seems to get the customer
focused on the most important effects to be achieved in the problem domain-informing people of something, making things happening according to certain rules,
providing the results of certain calculations, etc.
Once you've got that main problem identified, then you can start addressing all the
subproblems involved in bringing it about, like what services the data-entry
subsystem will need to provide, how to address the inevitable errors that will occur
during data entry, what existing systems provide what existing information.
Anlisis de la sesin C.4
Se determin la gran importancia que tiene formular correctamente los objetivos
del sistema, cual es la principal pregunta a formularse en la s primeras instancias.
Pg.C.10
Pg.C.11
Sesin C.5
Fecha: 12/05/00
Experto: Ben Kovitz
Lugar: Internet Chat
IC: Ing. Marcelo Rizzi
Tcnica empleada: Cuestionario
Objetivos: Anlisis de un caso de calendario de tareas para empleados donde
existen usuarios en el mundo real y usuarios del sistema.
QUESTION:
I've spent a couple hours trying to sort out a frame for a project. Put simply, the
software schedules employees to work "events" which do not follow any weekly, or
daily, pattern. These same employees also update the system with new events
that are to be worked by N employees. My frame ended looking very similar to
your basic Information Frame, except I had to have two users, one in the real
world, and one interacting with the system. How is a clash like this resolved, where
users are an extremely important part of the world that is to be made "real" inside
the machine M, which has no direct connection to the real world?
RESPONSE:
It sounds like the main domains are as follows:
1. An "employees" domain, out in the real world.
2. A "machine" domain, with which the employees communicate.
3. A "schedule domain", which exists only in software, inside the machine.
The schedule domain *refers* to the employees domain.
The employees
themselves don't exist only in software, of course It's enough for the schedule
domain to contain data that represents (refers to) the employees.
It sounds like the majority of the requirements work is defining the properties of
the schedule domain. Somehow or other, the end product implements a sort of
"language" for describing the events that the
employees are supposed to perform. If those events recur in tricky or complex
ways, this language needs a lot of flexibility. You might have a set of elementary
schedule elements, like "one-time event",
"recurring event", each with associated data, like the date and time and the
duration between repetitions of the event. Or you might have little templates for
certain repeating time intervals, like "week",
in which people can specify which days of the week a recurring event. Theoretically,
you could even have a Turing-complete language in which each recurring event is a
self-modifying program that reschedules itself every time it occurs.
If I understand the problem correctly, beyond defining the schedule domain, the
requirements consist of (a) defining actions that users can perform on the schedule
domain, like "add new scheduled event", "delete scheduled event", "modify
scheduled event", etc., and (b) defining some way for the system to notify the
users when they're supposed to perform a scheduled event--sending email, flashing
them on a big monitor on a shop floor, or whatever it might be.
Pg.C.12
All of the above gives you all the information you need to invent the interfaces and
design the data model. You know what physical interfaces you have to define: the
software interface to email or to the big monitor, and the regular user interface to
the employees where they add/delete/modify/etc. their schedules.
The
add/delete/modify interface needs to have some way to represent, either visually or
perhaps in text (like the cron utility in Unix), every possible "sentence" in the
"language" for defining recurring events.
If you want the system to give a report to someone on which events were
completed, then of course that's a different sort of problem. In that case, you'd
also have to identify how the machine can find out when the events get completed.
Anlisis de la sesin C.5
Dada la existencia de usuarios en dos partes del problema, se obtuvo claramente
como debe analizarse la presencia de usuarios humanos en el mundo real,
mediante su modelizacin ya sea en un problema de workpieces o bien en un
problema de informacin.
Pg.C.13
APNDICE D
Apndice D
D.1: Marcos subclase adicionales a los desarrollados en el captulo 7.
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv
.
Valor
Omisin
Valores
Permitidos
Subclase_de
Marco
No
FC_E1
Booleano
No
False
TRUE/FALSE
FC_E2
Booleano
No
False
TRUE/FALSE
FC_H1
Booleano
No
False
TRUE/FALSE
Prop.
General
Si
Necesito
Si Aado
Si Modifico
Si Borro
Si Modifico
Si Borro
^Marco_
Problema
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv
.
Valor
Omisin
Valores
Permitidos
Subclase_de
Marco
FC_C1
Booleano
No
False
TRUE/FALSE
FC_C2
Booleano
No
False
TRUE/FALSE
FC_C3
Booleano
No
False
TRUE/FALSE
Prop.
General
Si
Necesito
Si Aado
^Marco
_Proble
ma
Pg.D.2
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv
.
Subclase_de
Marco
No
FC_C1
Booleano
No
Valor
Omisin
Valores
Permitidos
Prop.
General
Si
Necesito
Si Aado
Si Modifico
Si Borro
^Marc
o_Prob
lema
False
TRUE/FALSE
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv
.
Valor
Omisin
Valores
Permitidos
Subclase_de
Marco
No
FC_E1
Booleano
No
False
TRUE/FAL
SE
FC_E2
Booleano
No
False
TRUE/FAL
SE
FC_E3
Booleano
No
False
TRUE/FAL
SE
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
^Marc
o_Prob
lema
Pg.D.3
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv
.
Valor
Omisi
n
Valores
Permitidos
Subclase_de
Marco
No
FC_C1
Booleano
No
False
TRUE/FALSE
FC_C2
Booleano
No
False
TRUE/FALSE
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
Si Modifico
Si Borro
^Marc
o_Prob
lema
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
Velocidad_con Boolean
fiabilidad Con.
Clases
Marco
No
Si
Eventos
Si
Marco
Valor
Omisin
Valores
Permitidos
Prop.
General
Si
Necesito
Si Aado
TRUE
TRUE_FA
Preguntar
LSE
$Vel_conf
^Marco
Clase
^Marco
Eventos
Tabla D.6: Marco SubClase Mundo Real
Pg.D.4
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Clases
Marco
Si
Eventos
Marco
Acciones
Marco
Estados
Marco
Valor
Omisin
Valores
Permitidos
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
^Parte
Marco
Probl.
^Marco
Clase
Si
^Marco
Eventos
Si
^Marco
Acciones
Si
^Marco
Estados
Tabla D.7 Marco SubClase Dominio Controlado
Pg.D.5
Tipo Ranura
Velocidad_con Boolean
fiabilidad
Car-estructura Cadena
Caracteres
Card.
Min.
Card.
Max.
Multiv.
Si
Si
No
No
Entradas
Cadena
Caracteres
Cadena
Caracteres
Marco
Si
Salidas
Marco
Si
Tipodiagrama
Grafico
Valor
Omisi
n
TRUE
Valores
Permitidos
TRUE-FALSE
Bsica/Concurr
ente/Adhoc/Re
cursin/simple
Nota 1
Prop.
General
Si Necesito
Si
Aado
Si
Modifico
Si Borro
Preguntar
$Vel_Conf
PreguntarCarac
teristica_Estruc
tura_Secuencia
PedirnombreGr
fico
^Marco
Entradas
^Marco Salidas
Pg.D.6
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Clases
Marco
Si
Eventos
Marco
Valor
Omisin
Valores
Permitidos
Prop.
General
Si Necesito
Si Aado
Si Modifico
Si Borro
Si Aado
Si Modifico
Si Borro
^Parte
Marco
Probl.
^Marco
Clase
Si
^Marco
Eventos
Tabla D.9: Marco SubClase Pieza_de_Trabajo
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Redundancias
Cadena
Caracteres
No
WatchDog
Cadena
Caracteres
Valor
Omisin
Valores
Permitidos
Prop.
General
Si Necesito
^Parte
Marco
Probl.
PreguntarR
edundanci
as
No
Preguntar
Watchdog
Tabla D.10: Marco SubClase Dominio_de_Inters
Pg.D.7
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
Valor
Omisin
SubClase-de
Marco
No
Nombre
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
No
No
No
No
Entrada
Resultado
Definicin
Valores
Permitidos
Prop.
General
Si
Necesito
Si Aado
Si Modifico
Si Borro
Si Aado
Si Modifico
Si Borro
^Marco
Req
Tabla
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
D.11: Marco SubClase Consultas
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Expresion_SI
Cadena
Caracteres
Cadena
Caracteres
No
Expresin_EN
TONCES
Valor
Omisin
Valores
Permitidos
Prop.
General
Si
Necesito
^Marco
Req
-
Cadena
Caracteres
1
No
Cadena
Caracteres
Tabla D.12: Marco SubClase Reglas_de_Comportamiento
Pg.D.8
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Mapa
Set_Entrada
Cadena
Caracteres
Marco
No
Si
Set_Salida
Marco
Si
Valor
Omisin
Valores
Permitidos
Prop.
General
Si
Necesito
Si Aado
Si Modifico
Si Borro
Si Modifico
Si Borro
^Marco
Req
-
Cadena
Caracteres
^Marco
Datos
Entrada
^Marco
Datos
Salida
Tabla D.12: Marco SubClase Mapeos
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Eventos_
Interface
Operacin
Cadena
Caracteres
Cadena
Caracteres
No
Valor
Omisin
Valores
Permitidos
Prop.
Genera
l
Si Necesito
Si Aado
^Marc
o Req
Cadena
Caracteres
1
No
Cadena
Caracteres
Tabla D.13 : Marco SubClase Operaciones_En_Dominios_Creados
Pg.D.9
Tipo Ranura
Card.
Min.
Card.
Max.
Multiv.
SubClase-de
Marco
No
Mapa
No
Set_Eventos
Cadena
Caracteres
Marco
Set_Estados
Marco
Valor
Omisin
Valores
Permitidos
Prop.
General
Si
Necesito
Si Aado
Si Modifico
Si Borro
Si
Modifico
Si Borro
^Marco
Req
-
Cadena
Caracteres
Si
^Marco
Eventos
Si
^Marco
Estados
Tabla D.14: Marco SubClase Correspondencias
Tipo
Ranura
Atributo-de
Marco
Nombre
Cadena
Caracteres
Definicin
Cadena
Caracteres
Atributos
Marco
Eventos
Marco
Estados
Marco
Card Card
Valor
Valores Prop.
Multiv
Si
.
.
Omisi Permitid Gener
.
Necesito
Min. Max.
n
os
al
1
1
No
^Partes
Marco
Problema
1
1
No
Cadena
PedirAtribu
Caractere
tos
s
1
1
No
Cadena
Caractere
s
1
Si
^Marco
Atributos
1
Si
^Marco
Eventos
1
Si
^Marco
Estados
Tabla D.15 : Marco subclase Clases
Si Aado
Pg.D.10
Tipo
Ranura
Card.
Min.
Card.
Max.
Multi
v.
Valor
Omis
in
Valores
Permitidos
Atributo-de
Marco
No
Nombre
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
No
Cadena Caracteres
No
Cadena Caracteres
No
[Entero,Real,Moneda,
Fecah,Hora,FechaHor
a,V/F,Texto]
AfectadoPor
Marco
Si
^Marco Eventos
InfoExtra
No
Cadena Caracteres
Clave
Cadena
Caracteres
Booleano
No
TRUE/FALSE
Relacin
Booleano
No
FALS
E
FALS
E
TipoRelacion
Cadena
Caracteres
No
Definicin
TipoValores
Prop.
Si
Si
Si
Si
Genera Necesit
Aado Modifico Borro
l
o
^Clases
TRUE/FALSE
ProcPedi
rInfoExt
ra
ProcPedi
r($Tipo
Relacion
)
Uno_Muchos/Muchos_
Uno/Muchos_Muchos
Tabla D.16: Marco subclase Atributos
Pg.D.11
Tipo
Ranura
Atributo-de
Marco
Definicin
Acciones
Cadena
Caracteres
Marco
Inicial_Final
Booleano
EventosAf
Marc
Info_Adicional
Cadena
Caracteres
Card Card
V.
Multiv
Valores
Prop.
.
.
Omis
.
Permitidos
General
Min. Max.
in
1
1
No
^Parte Marco
^Parte Marco
Problema
Problema
1
1
No
Cadena
Caracteres
1
Si
^Marco
Acciones
1
1
No
FALS TRUE/FALSE
E
1
Si
^Marco
Eventos
1
1
No
Cadena
Caracteres
Tabla D.17: Marco subclase Estados
Si
Si
Si
Necesito Aado Modifico
Si
Borro
Pg.D.12
Tipo
Ranura
Subclase-de
Marco
CicloVida
Cadena
Caracteres
Marco
Clases
Parmetros
Resultados
Tipo
Disparador
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Card Card
Multi
Valor
Valores
Prop.
.
.
v.
Omisin Permitidos
General
Min. Max.
1
1
No
^Parte Marco ^Parte
Problema
Marco
Problema
1
1
No
Cadena
Caracteres
1
Si
^Marco
Clases
1
1
No
Cadena
Caracteres
1
1
No
Cadena
Caracteres
1
1
No
Cadena
Caracteres
1
1
No
Cadena
Caracteres
Tabla D.18: Marco subclase Acciones
Si
Necesito
Si
Aado
Si
Modifico
Si
Borro
Pg.D.13
Tipo
Ranura
Atributo-de
Marco
Nombre
Cadena
Caracteres
Cadena
Caracteres
Cadena
Caracteres
Marco
Parmetros
Fuentes
Clases_Afecta
das
Card Card
Multiv
Valor
Valores
.
.
.
Omisin Permitidos
Min. Max.
1
1
No
^Parte Marco
Problema
1
1
No
Cadena
Caracteres
1
1
No
Cadena
Caracteres
1
1
No
Cadena
Caracteres
1
1
No
^Clases
Prop.
General
Si
Necesito
Si
Aado
Si
Modifico
Si
Borro
Pg.D.14
Pg.D.15
Pg.D.16
Entonces
ProcIdentifFenomenos (Control);
Regla: FenomenosCompartidosPTR
Si
ClasePadre($MarcodeProblema) = $MarcoProblemaTransformacin
Entonces
InformarAsistente("Sin Fenomenos Compartidos);
Regla: FenomenosCompartidosWP
Si
ClasePadre($MarcodeProblema) = $MarcoProblemaWorkpieces
Entonces
ProcIdentifFenomenos (Workpieces);
Regla: FenomenosCompartidosCO
Si
ClasePadre($MarcodeProblema) = $MarcoProblemaConexion
Entonces
ProcIdentifFenomenos (Conexin);
D.2.4 Formalizacin de reglas para el chequeo del ajuste del marco elegido
al problema analizado.
Estas reglas se agregan para formalizar la tarea estratgica 2.3.2, ajuste de los
marcos de problemas.
Regla: rAjusteWP
Si
$MarcoPiezadeTrabajo.E1 = TRUE And
$MarcoPiezadeTrabajo.E2 = TRUE And
$MarcoPiezadeTrabajo.S1 = TRUE And
$Usuario.Identificado = TRUE And
$PiezadeTrabajo.Identificado = TRUE
Entonces
$MarcoPiezadeTrabajo.Ajustado = TRUE;
Regla: rAjustePI
Si
Pg.D.17
Pg.D.18
Si
$MundoReal.Dominio = Autonomo Xor Estatico
Entonces
$MundoReal.Identificado = TRUE;
Regla: DomControlado
Si
$DominioControlado.Dominio = (Tangible And Autonomo) Or
Reactivo
Entonces
$DominioControlado.Identificado = TRUE;
Regla: rDomSolicInformacion
Si
$SolicitantesInformacion.Dominio = Autonomo Xor Programable Xor
Delegable
Entonces
$SolicitantesInformacion.Identificado = TRUE;
Regla: DomDatosEntrada
Si
$DatosEntrada.Dominio = Autonomo
Entonces
$DatosEntrada.Identificado = TRUE;
Regla: DomDatosSalida
Si
$DatosSalida.Dominio = Inerte
Entonces
$DatosSalida.Identificado = TRUE;
Regla: DomUsuarioWP
Si
$Usuario.Dominio = Delegable And $Usuario.Dominio = Autonomo
And EsPartedeMarco(Usuario) = Workpieces
Entonces
$Usuario.Identificado = TRUE
Pg.D.19
Regla: DomUsuario
Si
$Usuario.Dominio = Autonomo
Entonces
$Usuario.Identificado = TRUE
Regla: DomPiezadeTrabajo
Si
$PiezadeTrabajo.Dominio = Inerte Xor Reactivo
Entonces
$PiezadeTrabajo.Identificado = TRUE;
Regla: rFallaAjusteMarco
Si
$MarcodeProblema.Ajustado = FALSE
Entonces
ProcBuscarDesajuste;
D.2.6 Formalizacin de reglas para el refinamiento de la descomposicin
del problema en subproblemas.
Estas reglas se corresponden con la tarea estratgica 2.4, conceptualizadas en el
captulo 6, apartado 6.2.4.1.d. y apartado 6.2.4.1.e
Regla: Dificultad-Conexion
Si
$MarcodeProblema.Tipo = Informacin And
$Fenomenos-compartidos.distorsion-retardo = SI
Entonces
$Proyecto.Dificultad = Conexion;
ProcAgregarMarco(Informacin);
ProcDescribirCorrespondencias;
Regla: Dificultad-Conexion1
Si
$MarcodeProblema.Tipo = Control And
$Fenomenos-compartidos.distorsion-retardo = SI;
Pg.D.20
Entonces
$Proyecto.Dificultad = Conexion ;
ProcAgregarMarco(Informacin);
ProcDescribirCorrespondencias;
Regla: Dificultad-Identidad
Si
$MarcodeProblema.Tipo = Control Or Informacion And
Seguimiento_Instancia_Clases = TRUE
Entonces
$Proyecto.Dificultad = Identidad;
ProcAgregarMarco(Transformacion) ;
Regla: Dificultad-RFlexibles
Si
$Requerimientos.Tipo = Operaciones-sobre-el-Dominio-creado AND
$Fenomenos-compartidos.distorsion-retardo = SI;
Entonces
$Proyecto.Dificultad = Req-Flexible ;
ProcAgregarMarco(Workpieces) ;
Regla: RIDConexin
Si
$Fenomenos-compartidos.Dominio1 = MundoReal Or DomControlado AND
$Fenomenos-compartidos.Dominio1 <> $Fenomenos-compartidos.Dominio2
OR
$Fenomenos-compartidos.Tipo = Evento AND
$Fenomenos-compartidos.Distorsion-retardo = SI
Entonces
ProcAgregarMarco(Conexin) ;
Pg.D.21
Pg.D.22
Regla: DiagramaAdhoc
Si
$Dominio.nombre = Datos_Entrada AND $DatosEntrada.TipoEstructura =
Desconocido
Entonces
$DatosEntrada.TipoDiagrama = Adhoc ;
Regla: DiagramaJackson1
Si
$Dominio.nombre = Datos_Salida AND $DatosSalida.TipoEstructura =
Basica
Entonces
$DatosSalida.TipoDiagrama = Jackson ;
$DatosSalida.Grafico = gJackson;
Regla: DiagramaSintactico1
Si
$Dominio.nombre = Datos_Salida AND $DatosSalida.TipoEstructura =
Basica And Recursion
Entonces
$ DatosSalida.TipoDiagrama = Sintactico ;
$ DatosSalida.Grafico = gSintactico;
Regla: DiagramaWarnier-Orr1
Si
$Dominio.nombre = Datos_Salida AND $ DatosSalida.TipoEstructura =
Basica And Recursion And Concurrente
Entonces
$ DatosSalida.TipoDiagrama = Warnier-Orr ;
$ DatosSalida.Grafico = gWarnier-Orr;
Regla: DiagramaFlowChart1
Si
$Dominio.nombre = Datos_Salida AND $DatosSalida.TipoEstructura =
Basica And Simple
Entonces
$ DatosSalida.TipoDiagrama = FlowChart ;
$ DatosSalida.Grafico = gFlowChart;
Pg.D.23
Regla: DiagramaAdhoc1
Si
$Dominio.nombre = Datos_Salida AND $DatosSalida.TipoEstructura =
Desconocido
Entonces
$ DatosSalida.TipoDiagrama = Adhoc ;
D.2.8 Reglas para el guiado en la descripcion de partes de los marcos de
problema.
Estas reglas se corresponden con as conceptualizadas en el captulo 6, apartado
6.2.4.1.f, pertenecientes a la tarea estratgica 3.1.1.1 y 3.1.2.1, descripcin del
dominio del problema y de requerimientos respectivamente.
Cabe acotar que las mismas han sido adaptadas para su formalizacin en la
herramienta.
Regla: rDescribirPartes1
Si $Marco.Parte = MundoReal Or DomControlado Or PiezadeTrabajo
Entonces
ProcDescribirClases;
ProcDescribirAtributos;
ProcDescribirEventos;
ActualizarAdvisor;
Regla: rDescribirPartes2
Si $Marco.Parte = Consultas
Entonces
ProcDescribirConsultas;
ActualizarAdvisor;
Regla: rDescribirPartes3
Si $Marco.Parte = Reglas_de_Comportamiento
Entonces
ProcDescribirReglas;
ActualizarAdvisor;
Regla: rDescribirPartes4
Si $Marco.Parte = Mquina Or Usuario
Pg.D.24
Entonces
IndicarUsuario(Parte no Requiere Descripcion en el Documento)
ActualizarAdvisor;
Regla: rDescribirPartes5
Si $Marco.Parte = SolicitantesInformacin
Entonces
Preguntar($SolicitanteInformacion.Tipo)
Si $SolicitanteInformacion.Tipo = Hardware
Entonces
ProcDescribirHardware;
ActualizarAdvisor;
Regla: rDescribirPartes6
Si $Marco.Parte <> SolicitantesInformacin
Entonces
Describir_Usuario;
ActualizarAdvisor;
Regla: rDescribirPartes7
Si $Marco.Parte = Mapeo
Entonces
ProcDescribirMapeos;
ActualizarAdvisor;
Regla: rDescribirPartes8
Si $Marco.Parte = DatosEntrada Or DatosSalida
Entonces
ProcDescribirDatosEntrada/Salida
ActualizarAdvisor;
Regla: rDescribirPartes9
Si $Marco.Parte = Operaciones_en_Dominios_Creados
Entonces
ProcDescribirOperaciones;
ActualizarAdvisor;
Pg.D.25
Regla: rDescribirPartes10
Si $Marco.Parte = Conexion
Entonces
ProcDescribirCorrespondencias;
Preguntar(DominioInteres.Nombre)
ActualizarAdvisor;
Regla: rDescribirPartes11
Si $Marco.Parte = Dominio_de_Inters
Entonces
Preguntar Nombre($Dominio_de_Interes);
D.2.9 Formalizacin de la regla para generacin del documento de
requerimientos
Esta regla se corresponde con la tarea estratgica 3.1 conceptualizada en el
captulo 6, apartado 6.2.4.1.g
Si
$Descripcin-dominio-del-problema.completado = SI And
$Requerimientos.completado = Si;
Entonces
$Proyecto.Documento-Requerimientos =
Documento-Requerimentos.nombre-archivo;
ProcGenerarDocumento($Proyecto.Documento-Requerimientos);
D.2.10 Formalizacin de Procedimientos Identificados en los Marcos
ProcSeleccionar_MarcoCompuestodeBiblioteca;
COMIENZO
MostrarBiblioteca();
PreguntarUsuario($Proyecto.Marco);
FIN;
ProcSeleccionarTipoRequerimientoObservado
COMIENZO
PreguntarUsuario($Proyecto.Marco.TipoRequerimiento);
FIN;
Pg.D.26
ProcSeleccionarMarcoElementalBase
COMIENZO
PreguntarUsuario($Proyecto.Marco);
CrearInstancia($MarcodeProblema, $Proyecto.Marco);
FIN;
ProcAgregarMarco
COMIENZO
Mientras ($Proyecto.ProblemaTotalmenteDescompuesto = FALSE)
COMIENZO
PreguntarUsuario($Proyecto.Marco);
CrearInstancia($MarcodeProblema, $Proyecto.Marco);
FIN;
ProcIdentifPartes($Marco);
COMIENZO
PARATODO ($Marco.Partes)
Preguntar($Marco.Partes.Nombre)
FIN;
PreguntarUsuario($NombreSistema)
COMIENZO
Preguntar($Proyecto.NombreSistema);
FIN;
PreguntarUsuario($ObjetivoSistema)
COMIENZO
Preguntar($Proyecto.Objetivo);
FIN;
ProcChequearProyecto($Proyecto)
COMIENZO
PARATODOS($Proyecto.Marcos)
Si $MarcodeProblema.Ajustado =TRUE
Entonces $Proyecto.Ajustado = TRUE;
FIN;
Pg.D.27
ProcIdentifFenomenos ($marco);
COMIENZO
Si $marco = Informacion
Entonces
Preguntar(H1,"Existen Fenmenos Compartidos entre la Mquina y el Mundo
Real controlados por ste ltimo?");
Preguntar(E1, "Existen Eventos Compartidos entre los dominios Mquina y
Requirientes de Informacin controlados por stos ltimos?");
Preguntar(E2, "Existen Eventos entre los dominios Mquina y Respuestas
controlados por la Mquina?");
Si $marco = Control
Entonces
Preguntar(C3,"Existen Fenmenos Controlables en el Dominio Controlado?");
Preguntar(C1, "Existen Fenmenos Compartidos Controlados por la
Mquina?");
Preguntar(C2,"Existen Fenmenos Compartidos Controlados por El Dominio
Controlado?");
Si $marco = PiezadeTrabajo
Entonces
Preguntar(E1,"Existe una Cadena de Eventos Producidos por el Dominio
Operaciones en su interface con el Dominio Herramienta?");
Preguntar(E2,"Existen Eventos Generados por el dominio Herramienta en su
interface con el dominio Workpieces?");
Preguntar(S1,"Existen Cambios de Estado en el Dominio Workpieces como
consecuencia de eventos generados por Herramienta?");
Si $marco = Conexin
Entonces
Preguntar(C1, "Existen Fenmenos Compartidos entre la Mquina y el
Dominio de Conexin?");
Preguntar(C2,"Existen Fenmenos Compartidos entre el Dominio de
Conexin y el Dominio de Inters?");
FIN;
ProcBuscarDesajuste($Proyecto.Marcos)
COMIENZO
PARATODO ($Proyecto.Marcos)
PARATODO($Marco.Partes)
Pg.D.28
Si $Marco.Partes.Ajustado = FALSE
Entonces (MostrarMarcoDesajustado)
FIN;
ProcResetAjustado($Marco)
COMIENZO
$Marco.Ajustado = FALSE;
FIN;
ProcResetIdentificado($Parte)
COMIENZO
$Parte.Identificado = FALSE;
EsPartedeMarco($Parte).Ajustado = FALSE;
FIN;
ActualizarAdvisor($item)
Si $item = Descripcion And $item Not(Member-of(Descripciones_Realizadas)
Entonces
AgregarDescripcion;
Si $item = Tarea And $item Not(Member-of(Tareas_Realizadas)
Entonces
AgregarTarea;
Pg.D.29