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.

5 Análise de domínio orientada a<br />

modelos<br />

A análise de domínio envolve a identificação dos pr<strong>in</strong>cipais conceitos e elementos de um<br />

domínio e a determ<strong>in</strong>ação de seu escopo, isto é, o que será <strong>in</strong>cluído e o que será excluído do<br />

conjunto dos artefatos a serem desenvolvidos para o domínio. Além disso, visa identificar as<br />

comunalidades e variabilidades, ou seja, os pontos que são comuns a todas as aplicações do<br />

domínio e os pontos que variam. Como discutido na Seção 3.1.1, uma das abordagens mais<br />

comuns para esta tarefa é a modelagem de features (KANG et al., 1990; KANG; LEE; DONOHOE,<br />

2002).<br />

Um dos pr<strong>in</strong>cipais desafios em projetar e implementar um domínio descrito em termos de<br />

suas features está em como mapear estas features para a arquitetura e o código, considerando<br />

todos os relacionamentos e restrições envolvendo as mesmas.<br />

A existência de uma feature pode levar a diferentes tipos de impacto no produto f<strong>in</strong>al. Em<br />

casos mais simples, é possível “ligar” ou “desligar” uma feature através de um parâmetro em um<br />

componente, de forma que atribu<strong>in</strong>do um valor para este parâmetro, a feature estará presente<br />

ou ausente. Por exemplo, considere um domínio de automóveis, onde existem três tipos de<br />

motores: Diesel, Gasol<strong>in</strong>a e Álcool.<br />

Em um sistema mais simples, como por exemplo um sistema de uma companhia de aluguel<br />

de automóveis, o tipo do motor pode ser simplesmente representado com um atributo do tipo<br />

<strong>in</strong>teiro, onde 0=Diesel, 1=Gasol<strong>in</strong>a e 2=Álcool. Escolher um valor apropriado para este atributo<br />

é o suficiente para que a feature seja <strong>in</strong>cluída na aplicação.<br />

Em um sistema mais complexo, porém, como por exemplo um sistema de uma companhia<br />

de transportes, a existência de motores a Diesel, mais caros, pode requerer a presença<br />

de um dispositivo GPS para aumentar a segurança. Outro exemplo seria o dispositivo<br />

de freios com atuação eletrônica precisar ser calibrado de uma maneira específica, para<br />

funcionar adequadamente com um motor a Diesel. A implementação destas restrições não<br />

é tão imediata quanto no exemplo do sistema de aluguel de automóveis, e normalmente não<br />

85

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

Saved successfully!

Ooh no, something went wrong!