Perfil UML para el modelado visual de requisitos difusos - Dialnet
Perfil UML para el modelado visual de requisitos difusos - Dialnet
Perfil UML para el modelado visual de requisitos difusos - Dialnet
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Perfil</strong> <strong>UML</strong> <strong>para</strong> <strong>el</strong> mod<strong>el</strong>ado <strong>visual</strong> <strong>de</strong> <strong>requisitos</strong> <strong>difusos</strong><br />
Ross<strong>el</strong>ine Rodríguez y Marlene Goncalves<br />
<strong>el</strong> contexto y Expression la restricción cuyo resultado<br />
es un valor booleano. Si la restricción es<br />
colocada en <strong>el</strong> diagrama (<strong>de</strong>ntro d<strong>el</strong> estereotipo<br />
apropiado) y las líneas punteadas están conectadas<br />
a su correspondiente <strong>el</strong>emento contextual, no<br />
es necesario colocar la <strong>de</strong>claración d<strong>el</strong> contexto<br />
<strong>de</strong>ntro <strong>de</strong> la restricción. Es <strong>de</strong>cir, la <strong>de</strong>claración<br />
d<strong>el</strong> contexto es opcional. La palabra reservada<br />
“s<strong>el</strong>f” indica un objeto <strong>de</strong>ntro d<strong>el</strong> contexto actual.<br />
Cuando <strong>el</strong> contexto es claro, esta palabra pue<strong>de</strong><br />
ser <strong>el</strong>iminada. Una alternativa a “s<strong>el</strong>f” es <strong>de</strong>clarar<br />
una variable en <strong>el</strong> contexto <strong>para</strong> que juegue<br />
<strong>el</strong> rol <strong>de</strong> “s<strong>el</strong>f”. Así, la expresión OCL sería context<br />
var: TypeName inv Expression, don<strong>de</strong> var<br />
es <strong>el</strong> nombre <strong>de</strong> la variable que sustituye a “s<strong>el</strong>f”.<br />
Se utiliza la palabra reservada “pre” precediendo<br />
la expresión, cuando se <strong>de</strong>sea señalar que es una<br />
precondición, mientras que <strong>para</strong> <strong>el</strong> caso <strong>de</strong> una<br />
postcondición, la palabra reservada es “post”.<br />
Para indicar que la expresión es <strong>el</strong> resultado <strong>de</strong> una<br />
consulta se utiliza la palabra reservada “body”.<br />
OCL permite <strong>el</strong> uso <strong>de</strong> tipos básicos, colecciones<br />
y mod<strong>el</strong>os. Entre los tipos básicos se tienen<br />
Integer, Real, String y Boolean. Los tipos colección,<br />
tales como Set, Or<strong>de</strong>redSet, Bag, Sequence y Collection,<br />
se correspon<strong>de</strong>n a tipos abstractos que contienen<br />
operaciones comunes: size, count, inclu<strong>de</strong>s, inclu<strong>de</strong>sAll,<br />
isEmpty, notEmpty, sum, exists, forAll,<br />
including, excluding, entre otras. Para indicar que<br />
una operación se aplica a una colección se utiliza <strong>el</strong><br />
símbolo “->”. Finalmente, los tipos mod<strong>el</strong>os son las<br />
clases, interfaces y tipos <strong>de</strong>finidos en <strong>UML</strong>.<br />
Propuesta <strong>de</strong> mod<strong>el</strong>aje <strong>visual</strong><br />
<strong>de</strong> <strong>requisitos</strong> <strong>difusos</strong><br />
En este trabajo se hace uso <strong>de</strong> las herramientas<br />
<strong>de</strong> <strong>UML</strong> <strong>para</strong> <strong>el</strong> mod<strong>el</strong>ado <strong>de</strong> datos, <strong>de</strong>scribiendo<br />
un nuevo perfil que permite representar<br />
<strong>requisitos</strong> que involucran términos vagos o imprecisos,<br />
los cuales representan las preferencias d<strong>el</strong><br />
usuario. En la <strong>de</strong>finición d<strong>el</strong> perfil se sigue la metodología<br />
propuesta por Giachetti, Marin, y Pastor<br />
(2008).<br />
<strong>Perfil</strong><br />
El metamod<strong>el</strong>o que <strong>de</strong>scribe <strong>el</strong> dominio <strong>de</strong><br />
aplicación pue<strong>de</strong> ser especificado en <strong>UML</strong>, como<br />
se muestra en la Figura 1. El tipo <strong>de</strong> mod<strong>el</strong>o será<br />
indicado usando <strong>el</strong> estereotipo “Mod<strong>el</strong> of Fuzzy<br />
Requirements” o a través <strong>de</strong> una nota <strong>de</strong> <strong>UML</strong>.<br />
Un requisito difuso (“Fuzzy Requirement”)<br />
está formado por un conjunto <strong>de</strong> términos <strong>difusos</strong><br />
(“Fuzzy Term”) o vagos, que representan las preferencias<br />
d<strong>el</strong> usuario sobre los datos. Los términos<br />
<strong>difusos</strong> poseen un nombre y su tipo pue<strong>de</strong> ser:<br />
predicado (“predicate”), modificador (“modifier”),<br />
com<strong>para</strong>dor (“com<strong>para</strong>tor”), conector (“connective”)<br />
o cuantificador (“quantifier”). En un requisito<br />
difuso se especifica a<strong>de</strong>más <strong>el</strong> valor <strong>de</strong> la calibración<br />
cuantitativa (“Quantitative”) y/o cualitativa<br />
(“Qualitative”). Adicionalmente, un requisito difuso<br />
contiene un conjunto <strong>de</strong> atributos s<strong>el</strong>eccionados<br />
(“Output”) correspondientes a los atributos que <strong>el</strong><br />
usuario <strong>de</strong>sea que se muestre como respuesta al<br />
requisito.<br />
36