15.04.2013 Views

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

L<strong>in</strong>guagens específicas de domínio<br />

O termo L<strong>in</strong>guagem Específica de Domínio (DSL – Doma<strong>in</strong>-Specific Language) exige<br />

atenção especial, pois se baseia em uma noção muito vaga, que é a palavra “Domínio”,<br />

utilizada com diferentes significados em diferentes áreas. Para esclarecer o conceito de domínio<br />

considerado nesta pesquisa, a Figura 45 apresenta um exemplo da situação clássica vivida<br />

durante o processo de análise de sistemas.<br />

Figura 45: Situação clássica da análise de sistemas<br />

O desenvolvimento de sistemas envolve normalmente a captura do conhecimento de um<br />

especialista de alguma área (no exemplo, um especialista f<strong>in</strong>anceiro) e sua representação em<br />

uma forma que facilite o desenvolvimento de uma solução computacional. É papel do analista<br />

de sistemas traduzir os termos e conceitos familiares ao especialista para termos e conceitos de<br />

computação, familiares ao desenvolvedor.<br />

Neste contexto, a palavra domínio refere-se a uma determ<strong>in</strong>ada área de competência e<br />

conhecimento, que possui term<strong>in</strong>ologia e conceitos particulares. No exemplo, os termos<br />

e conceitos f<strong>in</strong>anceiros, isto é, “Ações”, “Índices” e “‘Cotações”, estão dentro da área de<br />

competência e conhecimento do especialista f<strong>in</strong>anceiro. Este é, portanto, o domínio f<strong>in</strong>anceiro.<br />

Os termos e conceitos do desenvolvimento de software, isto é, “Casos de uso”, “Classes”,<br />

“Objetos”, “Métodos”, as palavras-chave “if”, “while”, entre outras, estão dentro da área de<br />

competência e conhecimento do desenvolvedor. Alguns desses termos fazem parte do domínio<br />

de modelagem. Outros fazem parte do domínio executável, enquanto outros fazem parte de<br />

ambos.<br />

Uma outra possível dist<strong>in</strong>ção é feita no momento em que o analista realiza essa tradução<br />

257

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

Saved successfully!

Ooh no, something went wrong!