28.06.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!