Vous êtes sur la page 1sur 11

Definicin del modelo del negocio y del dominio utilizando

Razonamiento Basado en Casos.


Autora: MSc. Martha D. Delgado Dapena.
Centro de Estudios de Ingeniera de Sistemas.
e-mail: marta@ceis.ispjae. edu.cu
Resumen
El resultado final de un proyecto de software es un producto que toma forma a lo largo del
desarrollo del proyecto. La calidad del producto final est! estrec"amente ligada a la calidad del
proceso de desarrollo de software entre otros aspectos.
En el mundo actual en el que se necesita o#tener productos con alta calidad que integran $ariadas
tecnologas y cuyo tiempo de ela#oraci%n sea mnimo se impone mejorar el proceso de desarrollo
de software incrementando la producti$idad de los equipos in$olucrados en el desarrollo de los
proyectos.
&o #asta con utili'ar una metodologa adecuada pues en un proyecto inter$ienen m(ltiples
especialistas no todos con la misma e)periencia so#re el tema especfico que se a#orda. Es
necesario contar con "erramientas que permitan apro$ec"ar la e)periencia de otros desarrolladores
en el dise*o de sistemas con caractersticas similares. +esarrollar sistemas que utilicen el
,a'onamiento -asado en Casos puede contri#uir fa$ora#lemente en logro de este o#jeti$o.
Este artculo "ace una #re$e incursi%n en el ,a'onamiento -asado en Casos y e)plica dos sistemas
desarrollados en el Centro de Estudios de Ingeniera de Sistemas que utili'an esta t.cnica para
o#tener el /odelo del &egocio y /odelo del dominio respecti$amente.
Palabras claves: ,a'onamiento -asado en Casos Inteligencia artificial Ingeniera de
,equerimientos Ingeniera de Software Calidad de Software.
Introduccin
+esde el surgimiento mismo de la computaci%n y a lo largo de toda su e$oluci%n se "a intentado
modelar o simular el pensamiento "umano y los procesos que ocurren en .l. En los inicios solo se
trata#a de representar en las computadoras el pensamiento estructurado los algoritmos de c!lculos
que podan definirse claramente como un conjunto de pasos que podan ser interpretados por las
m!quinas y de cierta forma sustituir o contri#uir a ele$ar la eficiencia del ser "umano en este tipo
de acti$idades. Con el tiempo se fueron introduciendo t.cnicas de inteligencia artificial muc"o m!s
am#iciosas los ro#ots empleados en diferentes esferas de la $ida econ%mica y social son una
muestra de ello.
Se "ace necesario entonces com#inar "erramientas con la e)periencia de los especialistas para
afrontar los nue$os retos que impone dise*ar sistemas eficientes y no$edosos en las condiciones
actuales sumamente cam#iantes. Esta necesidad es a(n m!s imperiosa cuando cada indi$iduo en
una organi'aci%n tiene su propia forma de a#ordar los pro#lemas y no siempre tiene todo el
conocimiento y e)periencia necesarios so#re el negocio.
Contar con una #ase de ejemplos que ayude en la construcci%n de software #asada en la e)periencia
de otros especialistas que "an a#ordado proyectos con caractersticas similares mejorara
considera#lemente la calidad del producto final y permitira a los analistas "acer sugerencias que
contri#uyan a mejorar los procesos producti$os y de negocios.
Este tra#ajo e)plica dos propuestas que permiten apro$ec"ar el conocimiento acumulado por los
desarrolladores de software en nue$os proyectos utili'ando el ,a'onamiento -asado en Casos
0,-C1 para o#tener un /odelo del &egocio y un /odelo Conceptual partiendo de un conjunto de
especificaciones iniciales #rindadas por los analistas.
Con esta informaci%n de car!cter preliminar los grupos de desarrollo pueden simplificar de manera
nota#le algunos aspectos de las fases de modelaci%n iniciales que permitan apro$ec"ar el tra#ajo y
las e)periencias pre$ias y aceleren por $as pro#adas el proceso total de ela#oraci%n de software.
En este tra#ajo se descri#en las caractersticas generales del funcionamiento de dos sistemas que se
desarrollan en el Centro de Estudios de Ingeniera de Sistemas 0CEIS1 que a#orda estos temas de la
Ingeniera de Software utili'ando la t.cnica de inteligencia artificial de ,-C.
2
3
1. Definicin del Modelo del negocio, una tarea compleja
Cualquier metodologa de 4n!lisis y +ise*o para el desarrollo de sistemas tiene como punto de
partida la captura de requisitos o#tenidos por los analistas en interacci%n con los usuarios que mas
tarde ser!n anali'ados y plasmados en "erramientas propias de cada metodologa de manera que
cu#ran las e)pectati$as de los usuarios y que se ajusten a las tendencias actuales de desarrollo de
aplicaciones.
La o#tenci%n de requerimientos es un paso muy importante para el posterior desarrollo de las
siguientes etapas 567 pues un error en estas fases iniciales puede dar al traste con un sistema que no
cumpla las e)pectati$as de los usuarios y difcilmente aporte $alor agregado al negocio para el que
de#e ser conce#ido.
&o #asta con utili'ar una metodologa adecuada pues en un proyecto inter$ienen m(ltiples
especialistas no todos con la misma e)periencia so#re el tema especfico que se a#orda es
necesario esta#lecer controles de calidad que contri#uyan a detectar fallas o demoras en la
ejecuci%n de los proyectos tempranamente de forma que se puedan tomar las medidas
correspondientes.
El .)ito de esta etapa depende en gran medida de la e)periencia de los analistas y grupos de
proyectos as como de las "a#ilidades desarrolladas por .stos en el desarrollo de sistemas con
caractersticas similares mientras m!s conocimiento so#re este tema tenga el analista m!s f!cil le
ser! proponer una soluci%n adecuada y adaptarse a los cam#ios del medio a(n cuando este proceso
de anali'ar sus e)periencias anteriores es algo que reali'ar! casi de manera intuiti$a y "asta sin
darse cuenta.
El o#jeti$o de los procesos de desarrollo de software es guiar a los desarrolladores para la o#tenc
i%n de sistemas que se ajusten a las necesidades de los clientes. La eficiencia se mide en t.rminos de
costo calidad y tiempo de desarrollo. El paso entre la determinaci%n de las necesidades de los
clientes y la implementaci%n de .stas de manera eficiente no es tri$ial y est! influenciada por
m(ltiples factores 5287.
Este es un proceso complejo que depende de la comunicaci%n entre clientes y especialistas y de la
relaci%n dentro de los grupos de tra#ajo entre otros factores. 9n sistema que no responda a las
necesidades de los clientes no cumple los requerimientos mnimos de calidad. :or todo esto se "ace
necesario contar con "erramientas que ayuden a los analistas a o#tener un /odelo del &egocio y
/odelo conceptual que se ajuste a las necesidades de los clientes y que utilice la e)periencia
acumulada "asta el momento en sistemas con caractersticas similares 5;7. 9na posi#le soluci%n es
utili'ar t.cnicas de inteligencia artificial que permitan acumular e)periencia y contar con ella en el
momento adecuado.
En el Centro de Estudios de Ingeniera de Sistemas 0CEIS1 se est! utili'ando esta t.cnica para
a#ordar la captura de requisitos en el desarrollo de proyectos. Se desarrollan dos sistemas que "acen
uso de ,-C para a#ordar .sta !rea de la Ingeniera de Software.
8
Se tra#aja en el desarrollo de un sistema en conjunto con la 9ni$ersidad :eruana de Ciencias
4plicadas 09:C1 que partiendo del listado de clientes y tra#ajadores del negocio y sus necesidades
propone el listado tentati$o de casos de uso y actores del sistema utili'ando la notaci%n 9/L 5<7.
Este software contar! con una #ase de ejemplos a partir de los cuales se o#tendr!n nue$as
soluciones. Esta "erramienta puede ser utili'ada tam#i.n en metodologas estructuradas para
descri#ir el modelo del negocio 567.
El segundo sistema desarrollado en el CEIS permitir! o#tener un listado preliminar de clases para
una metodologa orientada a o#jetos partiendo del listado de requerimientos candidatos. Este
listado preliminar tam#i.n llamado /odelo del +ominio 567 se #asar! en una #ase de ejemplos que
ser! accedida utili'ando ,-C 5=7.
El uso de estas "erramientas pueden disminuir el tiempo de modelaci%n del sistema y producir
software m!s eficiente y con mayor calidad ya que partir! de requerimientos iniciales que "an sido
o#tenidos a partir de la e)periencia propia del grupo y del tra#ajo reali'ado por otros grupos de
proyecto con anterioridad.
:ara una empresa productora de software pueden ser de muc"a utilidad sistemas con estas
caractersticas pues pro$eer! a la empresa de un #anco de ejemplos #asados en su propia
e)periencia de desarrollo y que podr! ser utili'ado por nue$os analistas lo que contri#uir! a la
formaci%n de .stos en las polticas de la organi'aci%n.
2. !u" es el Ra#onamiento $asado en casos%
Esta t.cnica de inteligencia artificial intenta llegar a la soluci%n de nue$os pro#lemas de forma
similar a como lo "acen los seres "umanos 52<7.
Cuando un indi$iduo se enfrenta a un nue$o pro#lema comien'a por #uscar en su memoria
e)periencias anteriores similares a la actual y a partir de ese momento esta#lece semejan'as y
diferencias y com#ina las soluciones dadas con anterioridad para o#tener una nue$a soluci%n. Este
proceso es intuiti$o y la persona lo reali'a pr!cticamente sin darse cuenta.
9na $e' que la persona tiene situadas un grupo de situaciones anteriores similares a la actual
anali'a las $ariantes que se presentan en la nue$a situaci%n y c%mo puede dar respuesta a estos
cam#ios.
+e manera resumida el proceso ocurre como sigue:
El indi$iduo #usc% en su memoria casos similares.
Intenta inferir una respuesta a partir del caso mas similar que encontr%.
<
>u$o que reali'ar algunas concesiones y ajustes para adaptar el caso anterior a la situaci%n
actual.
?inalmente la soluci%n o#tenida no es igual a la anterior pero cumple dos aspectos muy
importantes el primero da respuesta al nue$o pro#lema y el segundo "a enriquecido su e)periencia
anterior con la nue$a soluci%n.
El funcionamiento del ,-C parte de estos principios y para ello comprende cuatro acti$idades
principales 52 2@7:
,ecuperar los casos m!s parecidos.
,eutili'ar el o los casos para tratar de resol$er el nue$o pro#lema.
,e$isar y adaptar la soluci%n propuesta en caso de ser necesario.
4lmacenar la nue$a soluci%n como parte de un nue$o caso.
9n nue$o pro#lema se compara con los casos almacenados pre$iamente en la #ase de casos y se
recuperan uno o $arios casos. :osteriormente se utili'a y e$al(a una soluci%n sugerida por los
casos que "an sido seleccionados con anterioridad para $er si se aplica al pro#lema actual 5A 22
237.
4 menos que el caso recuperado sea igual al actual la soluci%n pro#a#lemente tendr! que ser
re$isada y adaptada produci.ndose un nue$o caso que ser! almacenado.
La ela#oraci%n de un sistema que emplea el ,-C presenta dos pro#lemas principales: el primero
sa#er c%mo almacenar la e)periencia de tal forma que .sta pueda ser recuperada en forma adecuada
y el segundo conseguir utili'ar la e)periencia pre$ia en un pro#lema actual 53 87.
La forma de representar y almacenar estas e)periencias se reali'a a tra$.s de casos. 9n caso
mantiene todos los atri#utos y caractersticas rele$antes de un e$ento pasado. Estas caractersticas
ser$ir!n como ndices para la recuperaci%n del caso futuro 52;7.
+e acuerdo a la naturale'a del pro#lema tratado se define la representaci%n del caso es decir cu!les
son los atri#utos importantes qu. pro#lemas ser!n tratados cu!l es la soluci%n propuesta etc.
4dem!s es necesario definir el o los mecanismos de recuperaci%n de casos 52A7.
&. 'tili#acin de la base de ejemplos para la definicin del Modelo del (egocio )
Modelo del Dominio
4 continuaci%n se anali'a c%mo utili'ar la #ase de ejemplos para o#tener el modelo del negocio y el
modelo del dominio en las aplicaciones descritas con anterioridad.
A
Se supone que se desea dise*ar un sistema para una Clnica /ultidisciplinaria donde los pacientes
pueden reser$ar citas para una especialidad determinada y a partir de a" se "ace un seguimiento de
las consultas reali'adas a .ste as como de los an!lisis indicados por el m.dico.
En el momento de reser$ar la cita para un paciente y una especialidad dados se asigna un m.dico de
esa especialidad que tenga espacio en su agenda y se le informa al paciente el da la "ora y el
nom#re del m.dico que lo atender! en su cita. En el momento de la consulta el m.dico puede
decidir indicar al paciente que se realice an!lisis para c"equear los resultados en la siguiente
consulta y $erificar la e$oluci%n de la enfermedad. :ara el caso de los an!lisis de la#oratorio "ay
que registrar la orden de an!lisis en el momento en que el paciente acude a la clnica a reali'!rselos
y posteriormente se almacenar!n los resultados lo que se "ar! por mediaci%n de un operador del
la#oratorio.
+espu.s de todas las entre$istas y estudios necesarios reali'ados por lo analistas 0"aciendo una
simplificaci%n del negocio1 se o#tiene un listado de clientes y tra#ajadores del sistema 5A7 con lo
que ellos necesitan del sistema como se muestra a continuaci%n:
Cliente / ra!a"ador #$u% necesita del sistema&
:aciente ,eser$ar cita para especialidad
Bperador de la#oratorio ,egistrar orden de an!lisis de la#oratorio
,egistrar resultados de an!lisis de la#oratorio
a!la '. Relacin de los clientes del siste ma con lo (ue ellos necesitan de %ste.
:ara la ta#la anterior se podra o#tener un +iagrama de Casos de uso 5C7 que modele los procesos
descritos con anterioridad y que tendra una forma similar al mostrado en la figura 2 considerando
como actores el contenido de la columna ClienteD>ra#ajador.
,eser$ar Cita
:aciente
,egistrar %rdenes
de an!lisis
Bperador de
La#oratorio
,egistrar resultados
de an!lisis
)igura '. Diagrama de casos de uso para el e"emplo de la cl*nica.
&%tese que en este diagrama no se incluye ning(n proceso que se encargue de crear la Eistoria
Clnica para un nue$o paciente en este caso el sistema que utili'a ,-C puede proponer un caso de
uso que sera una e)tensi%n del caso de uso F,eser$ar CitaG eso lo puede "acer el sistema porque
parte de la e)periencia de otros ejemplos en la #ase de casos que incluyen este proceso de creaci%
n de la "istoria clnica pero solo en los casos de aquellos pacientes que acuden por primera $e' a
consultarse.
Si los analistas no cuentan con un sistema de este tipo llegar!n a la soluci%n pero pueden incluir el
nue$o caso de uso en otro momento cua ndo de#a ser considerado desde el principio. Este es
un caso muy simple pero pudieran ser casos con relati$a complejidad y acti$idades muy
especficas con las que los desarrolladores de software no est.n familiari'ados en estos casos sera
muc"o mas e$idente la necesidad de una "erramienta con tales facilidades.
El sistema para el ejemplo tam#i.n puede proponer partiendo de los requerimientos candidatos
un listado preliminar de clases como las que siguen:
:aciente
Eistoria Clnica
+escripci%n de 4n!lisis de la#oratorio.
Brden de an!lisis de la#oratorio.
/.dico
Especialidad
4genda y
Cita reser$ada.
+espu.s de la propuesta del sistema el analista puede "acer ajustes a la soluci%n e incorporar
nue$as consideraciones de acuerdo a la situaci%n concreta que est! modelando y esa nue$a soluci%n
se almacenar! en la #ase de ejemplos como un nue$o caso para condiciones diferentes y con el que
se podr! construir una nue$a soluci%n para otro pro#lema del mismo tipo es decir la nue$a soluci%n
ser! considerada e)periencia acumulada a partir de este momento.
La #ase de ejemplos se enriquecer! y con ella el conocimiento y la e)periencia disponi#le para el
desarrollo de nue$os proyectos de software.
&.1. Dos propuestas de sistemas para obtener Modelo del (egocio ) Modelo del dominio
En el CEIS se tra#aja en el desarrollo de un sistema en conjunto con la 9ni$ersidad :eruana de
Ciencias 4plicadas 09:C1 que partiendo del listado de clientes y tra#ajadores del negocio y sus
necesidades propone el listado tentati$o de casos de uso y actores del sistema H/odelo del
&egocio- y para ello cada caso almacenado en la -ase de Casos contiene la siguiente informaci%n:
9suarios
>ra#ajadores
&ecesidades de cada usuarioDtra#ajador
4ctores resultantes
Casos de uso resultantes
,elaci%n de cada actor con los casos de uso
,equerimientos funcionales del sistema.
:ara recuperar los casos se "a considerado una funci%n o#jeti$o en la que se ma)imi'an
entre otros los $alores de los siguientes atri#utos:
Cantidad de usuariosDtra#ajadores iguales entre el caso actual y el almacenado.
Cantidad de necesidades comunes.
Cada uno de estos atri#utos tendr! un peso especfico que denotar! el ni$el de importancia de .ste
dentro de la funci%n o#jeti$o en el momento de seleccionar el modelo de negocio que mas se
parece a la situaci%n actual suministrada al sistema por el analista o grupo de proyecto.
El caso seleccionado se le muestra al analista para que realice los ajustes que entienda necesarios y
el nue$o caso se almacena teniendo en cuenta los ndices esta#lecidos en la aplicaci%n para el
almacenamiento de los modelos de negocio.
El segundo sistema desarrollado en el CEIS permitir! o#tener un listado preliminar de clases para
una metodologa orientada a o#jetos partiendo del listado de requerimientos candidatos. Este
listado preliminar tam#i.n llamado /odelo del +ominio utili'a una #ase de ejemplos con la
siguiente informaci%n:
Irea en la que clasifica el sistema
+ominio dentro del !rea
,equerimientos funcionales
,equerimientos no funcionales
Listado preliminar de clases y
,elaci%n entre el requerimiento y las clases.
En la -ase de Casos cada pro#lema ser! almacenado de acuerdo al Irea y el dominio donde
clasifique por ejemplo el Irea puede ser /edicina y el +o minio La#oratorio o Consulta E)terna.
:ara recuperar los casos se "a considerado una funci%n o#jeti$o en la que se ma)imi'an
entre otros los $alores de los siguientes atri#utos:
Cantidad de requerimientos iguales entre el caso actual y el almacenado.
Cantidad de requerimientos significati$os iguales.
El usuario del sistema -el analista- en el momento en que define los requerimientos de su pro#lema
de#e indicar cu!les de ellos de#er!n ser considerados como significati$os. Los requerimientos
significati$os son aquellos cuya importancia es medular en el desarrollo del software en general
son requerimientos funcionales.
El caso seleccionado se le muestra al analista para que realice los ajustes que entienda necesarios de
la misma forma que en el primer sistema.
*onclusiones
El ,-C es una de las !reas de mayor crecimiento en el campo de los sistemas #asados en
conocimiento. Este paradigma es utili'ado frecuentemente por los seres "umanos para resol$er un
sinn(mero de situaciones siendo .sta una de la s principales ra'ones de su aceptaci%n en la
comunidad de in$estigadores de Inteligencia 4rtificial. La calidad de este tipo de sistemas depende
de las e)periencias que almacene y de su capacidad para comprender adaptar e$aluar y reparar
nue$os casos.
Este tra#ajo puede ser un punto de partida para introducir el ,-C como ayuda a los desarrolladores
de sistemas y contri#uir as a lograr software con mayor calidad apro$ec"ando la e)periencia
acumulada de manera que se puedan construir soluciones cada $e' m!s complejas y con la rapide'
que e)ige el creciente ritmo de la tecnologa de la informaci%n.
Este tipo de sistemas contri#uyen de manera importante a ele$ar la calidad del proceso de desarrollo
de software y por consiguiente la calidad del producto final el cumplimiento de los cronogramas
pre$istos y otros aspectos que influyen considera#lemente en la eficiencia de las empresas de
software en el mundo actual.
+e gran utilidad seran estos sistemas en empresas desarrolladoras de software pues la dotaran de
una #ase de ejemplos con soluciones dadas en la propia empresa que ayudaran a futuros
desarrolladores a familiari'arse en poco tiempo con las caractersticas y polticas definidas en el
tra#ajo de .sta.
$ibliograf+a
2. 4lt"off J. : FCase--ased ,easoning. Eand#ooK of Software Engineering and Jnowledge
Engineering.G Kaiserslautern 4lemania. ?raun"ofer Institute for E)perimental Software
Engineering 0IESE1 3@@2.
3. 4lt"off J. : F:otential uses of case-#ased reasoning in t"e e)perience-#ased construction of
software systems.G Kaiserslautern 4lemania. :roceedings of t"e A
t"
Lerman MorKs"op in Case-
-ased ,easoning Centre for learning Systems and 4pplications 9ni$ersity of Jaiserslautern
2CC6.
8. -ergmann ,. : F+e$eloping Industrial Case -ased ,easoning 4pplications. >"e I&,EC4
/et"odology.G 2CCC -erln 4lemania. Springer-Nerlag.
<. -ooc" L. : F>"e 9nified /odeling Language. 9ser LuideG 2CCC 4ddison Mesley Longman
Inc.
A. Cuena O. : FSistemas Inteligentes. Conceptos >.cnicas y /.todos.G 2CC= :u#licaci%n de la
?cultad de Inform!tica de la 9ni$ersidad :olit.cnica de /adrid /adrid Espa*a.
;. ?owler /.: F9/L +estilledG segunda edici%n 3@@@ 4ddison Mesley Longman Inc.
6. Oaco#son I. : FEl :roceso 9nificado de +esarrollo de SoftwareG 3@@@ 4ddison Mesley
Longman Inc.
=. Jolodner O.: FCase--ased ,easoningG 2CC8 /organ Jaufmann :u#lis"ers Inc.
C. Larman L.: F9/L y :atronesG 2CCC :rentice Eall Eispanoamericana S.4.
2@. /anjares 4. : F,a'onamiento #asado en casos.G 9ni$ersidad &acional de Educaci%n a
+istancia +epartamento de Inteligencia 4rtificial /adrid Espa*a 3@@2.
22. ,ic" E. : FInteligencia 4rtificialG 2CC< /cLraw-Eill D Interamericana de Espa*a segunda
edici%n.
23. ,ies#ec" C".: FInside Case-#ased ,easoningG 2C=C #y Lawrence Erl#aum 4ssociates Inc.
28. ,um#aug" O.: F>"e 9nified /odeling Language. ,eference /anualG 2CCC 4ddison Mesley
Longman Inc.
2<. Sc"anK ,.: FInside Case-#ased E)planationG 2CC< #y Lawrence Erl#aum 4ssociates Inc.
2A. >ur#an E: F+ecision Support Systems and Intelligent SystemsG 2CC= :rentice Eall Inc
Puinta edici%n &ew Oersey Estados 9nidos.
2;. Matson I. : G4pplying Case--ased ,easoning: >ec"niques for Enterprise Systems.G 2CC6
/organ Jaufmann :u#lis"ers Inc.

Vous aimerez peut-être aussi