• Sonuç bulunamadı

IV. BÖLÜM

4.3. ALT PROBLEMLERE İLİŞKİN BULGULAR VE YORUMLAR

Após convertida toda a API de cálculo contendo o domínio e fórmulas dos cálculos que serão utilizadas na plataforma móvel, foi realizada a implementação de cálculos como características comuns da LPS BMMobile para validar a adaptação da conversão e desenvolver as partes comuns da linha de produto de software. O desenvolvimento ainda serviu para utilizar duas abordagens no desenvolvimento de linhas de produto de software, o Captor e a compilação condicional. Em uma etapa posterior os cálculos de dimensionamento de bombeio mecânico e Norma API RP11L foram transformadas em features variáveis da LPS BMMobile, dessa forma determinando os cálculos referentes a vazão como as características comuns

para esta linha de produto de software. Esta seção tem por objetivo descrever o desenvolvimento da característica comum referente aos cálculos de vazão.

Para a implantação dos cálculos da vazão foi necessário implementar uma série de formulários, um para cada tipo de cálculo, uma vez que o resultado do cálculo é exibido no mesmo formulário a ser preenchido pelo usuário. Outra implementação necessária foi a da classe que oferecesse recursos, como validações de parâmetros, para a execução do cálculo.

5.1.2.2.1. Desenvolvendo características comuns com a compilação condicional

Por não existir características variáveis no desenvolvimento das partes comuns do BMMobile, não foi necessário nenhuma adição de lógica condicional para determinar um ponto de variação dentro do código, utilizando a compilação condicional. Desta forma, para criar e verificar a geração de código utilizando esta abordagem foi necessário apenas a configuração de arquivos XML e propriedades para a geração automática de um determinado produto. A Figura 33 mostra o arquivo que contém as características necessárias para a geração de um produto só contendo características comuns do BMMobile.

Figura 33. Arquivo de propriedades utilizado para a construção da de compilação condicional nas classes do sistema

As linhas 2 a 4 da Figura 33 mostram quais compiladores serão executados para gerar um determinado produto da LPS. As linhas 6 a 8 definem o local onde está uma API que possibilita a compilação condicional, o nome do produto e qual o arquivo a ser executado quando o produto for instanciado, respectivamente. Ainda sobre a Figura 33 as linhas 10 a 12 mostram as formas de saída da geração automática de um produto. A linha 16 mostra quais as características variáveis devem ser interpretadas na

compilação, no caso do desenvolvimento de características comuns da linha de produto nenhuma variabilidade foi adicionada.

5.1.2.2.2. Desenvolvendo características comuns com o Captor

Com relação ao desenvolvimento das características comuns utilizando a ferramenta Captor foi necessária a criação de um projeto da ferramenta (Figura 34), sem desenvolver nenhum formulário para ser preenchido e copiado todas as partes comuns para o diretório onde foi criado o projeto Captor. Depois de criado o projeto e copiada todas as partes comuns para o diretório do projeto da linha de produto BMMobile no Captor foi necessário adicionar configurações em arquivos XML para determinar que a linha de produto gere os arquivos do diretório de fontes para o projeto especifico. A Figura 35 mostra o arquivo de configuração onde contem informações para a copia dos arquivos fontes representando a parte comum da linha de produto de software BMMobile.

1 <?xml version="1.0" standalone="yes"?>

2 <project name="Blank" default="exec" basedir="../"> 3 4 <!--PROJECT_GENERATED_DATA - DO_NOT_EDIT--> 5 <property name="project_path" 6 location="C:\Users\Matheus\Desenvolvimento\ide\captor 7 1.0\projects\BMMobileAPP"/> 8 <property name="project_output_path" 9 location="C:\Users\Matheus\Desenvolvimento\ide\captor-1.0\projects\"/> 10 <property name="install_path" 11 location="C:\Users\Matheus\Desenvolvimento\ide\captor-1.0\"/> 12 <property name="project_name" value="BMMobileAPP"/>

13 <property name="interaction_0" value="0"/> 14 <!--PROJECT_GENERATED_DATA - DO_NOT_EDIT--> 15 <target name="exec">

16 <!-- Copia do src e lib para o produto especifico --> 17 <!--<delete dir="${project_output_path}/${domain}/src" /> 18 <copy todir="${project_output_path}/${domain}/"> 19 <fileset dir="${install_path}/domains/BMMobile/resources" 20 /> 21 </copy>--> 22 23 <!-- <delete 24 dir="${project_output_path}/interaction_0/BMMobileAppL" /> 25 --> 26 <copy todir="${project_output_path}/interaction_0"> 27 <fileset dir="${install_path}/domains/BMMobile/resources" 28 /> 29 </copy> 30 </target> 31 32 <!-- 33______________________________________________________________________--> 34 35</project>

Figura 35. Arquivo Configuração Captor

As linhas 26 a 29 da Figura 35 determinam o que deve ser copiado para quando um produto for instanciado, neste caso todo conteúdo presente na pasta resources (linha 27) será inserido no novo produto. As linhas 8-12 da Figura 35 são variáveis criadas automaticamente para ajudar o desenvolvedor na elaboração de regras de mapeamento.

5.1.2.2.3. Resultados

A implementação das partes comuns da LPS BMMobile consistem em telas, contendo formulários a serem preenchidos, resultados com configurações possíveis para os equipamentos de elevação de petróleo e classes do componente de cálculo que tem por objetivo validar a entrada de alguns parâmetros dos usuários e auxiliar na realização dos cálculos em conjunto com a API dos cálculos existente na aplicação.

Os cálculos de vazão são compostos por quatro tipos de cálculos diferentes: cálculo da vazão bruta, cálculo da vazão máxima, cálculo da vazão do óleo e cálculo do fator de volume liquido. Cada cálculo da vazão esta composto por um formulário para preenchimento e exibição de resultados, uma vez que não há necessidade de exibição do resultado dos cálculos de vazão em uma tela diferente a do formulário de preenchimento. A Figura 36 mostra o formulário de preenchimento do cálculo da vazão bruta mostrando os campos que devem ser preenchidos para se obter o resultado adequado.

Figura 36. Tela de cálculo para o cálculo de vazão bruta do BMMobile

Todos os cálculos de vazão contam com uma classe de controle para validar e executar o cálculo da API Cálculo retornando um valor válido ao formulário. A Figura 37 mostra o diagrama de classes para este caso de uso, onde a Classe CalculoVazao possui quatro métodos para cada formulário que realizam as validações e preenchimentos dos objetos necessários para cada tipo de cálculo da vazão. Ainda na Figura 37 as classes FormVazaoBruta, FormVazaoMaxima, FormVazaoOleo e FormVazaoFatorVolumeLiquido representam formulários para serem exibidos aos usuários e desta forma seus objetos estão instanciados na classe principal CalculoMidlet.

Figura 37. Diagrama de classes para o caso de uso Cálculo da Vazão

Em uma etapa posterior do desenvolvimento da linha de produto de software BMMobile, os cálculos de dimensionamento de bombeio mecânico e Norma API RP11L sofreram modificações e se tornaram características variáveis da LPS. O cálculo de Carta de Fundo, que foi o cálculo não implementado nesta etapa do desenvolvimento foi desenvolvido como característica variável da BMMobile também em uma etapa posterior do desenvolvimento.

Benzer Belgeler