Lista de Abreviaturas, Siglas e Símbolos
4 DESENVOLVIMENTO DO SISTEMA
4.2 ETAPAS DE DESENVOLVIMENTO DO SOFTWARE
As etapas de desenvolvimento do software foram realizadas de acordo com o método Prototipação Evolucionária, conforme descrito logo a seguir.
Etapa 1 – Concepção Inicial do Sistema - A concepção inicial do sistema a ser desenvolvido foi obtida através de dois instrumentos, a tese de doutorado intitulada Projeto de Conversores Estáticos Fazendo Uso de uma Metodologia de Minimização de Volume/Perdas/Custo, da autoria de Hamiltom Confortin Sartori (SARTORI, 2013) e o programa computacional desenvolvido na ferramenta MATLAB® que implementa o algoritmo descrito na tese. A partir da leitura e entendimentos de tais instrumentos foi possível esboçar o caso de uso principal do sistema: Geração dos Projetos de Conversores.
Etapa 2 – Projeto e Implementação do Protótipo Inicial - O protótipo inicial do sistema foi desenvolvido em linguagem Java, utilizou o SGBD PostgreSQL e permitia apenas o projeto de conversores da topologia Boost PFC.
Etapa 3 – Refinamento do Protótipo - Os sucessivos refinamentos do protótipo foram possíveis a partir de elucidações sobre o domínio de solução do problema, resultantes de testes do protótipo disponibilizado na etapa anterior. Tais elucidações foram possíveis a partir
de reuniões semanais com os interessados no projeto, durante os meses de julho/2014, setembro/2014, outubro/2014, janeiro/2015 e dezembro/2015 até janeiro/2017. Nas reuniões foi possível apresentar e discutir o sistema em construção, corrigir erros/falhas, bem como obter novos requisitos do sistema, constituindo-se a etapa de Refinamento do Protótipo. Tal etapa deve se alongar até que o sistema se torne aceitável, resultando na finalização e liberação do produto para o cliente/usuário.
O espaço de busca explorado pelo POCE é formado pelas possíveis combinações entre diferentes pontos de operação, materiais magnéticos, diodos, chaves (transistores) e perfis de dissipadores de calor. O número de combinações entre tais elementos será referenciado aqui pelo termo “instância do problema”. Por exemplo, ao projetar um conversor, caso o projetista explore um conjunto de 400 pontos de operação e, além disso, tenha disponível para uso: 3 tecnologias de materiais para núcleos magnéticos do indutor, 5 diodos, 10 chaves (transistores), 3 tecnologias de materiais para núcleos magnéticos do indutor do filtro de EMI e 2 perfis de dissipador; o número de possíveis projetos (ou combinações) seria de 360.000, isto é, a instância deste problema seria de 360.000. Caso acrescentássemos ao banco de dados apenas mais um diodo, por exemplo, a instância do problema (o número de possíveis projetos) passaria para 432.000. O tempo de computação para percorrer o espaço aumenta proporcionalmente à instância do problema.
Uma importante constatação sobre a aceitação do software foi realizada em uma das verificações, a qual diz respeito ao tempo de execução necessário para chegar aos resultados finais. Ao realizar testes, dependendo da instância do problema, a execução tornava-se lenta e os usuários desistam de aguardar pelos resultados finais. Este foi um indicativo da necessidade de aplicação de uma técnica para restringir o espaço de busca, evitandos locais onde as soluções não apresentam a qualidade mínima desejada. Entre tais técnicas estão os métodos metaheurísticos de computação evolucionária, tais como os algoritmos genéticos. 4.3 MODELOS DO SISTEMA
Os diagramas de casos de uso, diagrama de classes e modelo de dados que representam o sistema POCE são descritos logo a seguir.
4.3.1 Diagramas de Casos de Uso do Sistema
A Figura 6 contém o diagrama de casos de uso do sistema POCE. A seguir são apresentados cada um dos casos de uso, conforme notação descrita no apêndice A. Os casos de uso podem ser consultados em suas versões detalhadas no Apêndice B.
Figura 6 — Casos de uso do sistema POCE
O caso de uso Gerar Projetos de Conversor é responsável por gerar diferentes projetos de conversores estático criados a partir da escolha da topologia do conversor (Boost CC/CC, Boost PFC ou Buck CC/CC), dos parâmetros de entrada (Potência de Entrada, Tensão de entrada e saída, temperaturas ambiente e de junção, etc.) e de um conjunto de componentes (diodos, chaves, etc.). Além disso, são selecionados os pontos de operação desejados pelo projetista. Os projetos gerados poderão ser armazenados para consulta posterior. O caso de uso detalhado é apresentado no Apêndice B. Os componentes utilizados neste trabalho podem ser consultados no Apêndice D
O caso de uso Restringir Componentes permite que o projetista selecionar quais componentes deseja que componham os projetos no momento de sua geração ou consulta. O sistema POCE, por exemplo, apresenta ao projetista um conjunto de chaves e permite que ele escolha aquelas que devem ser consideradas para os projetos. Isto acontece para os diodos, materiais magnéticos e perfis de dissipadores.
O caso de uso Visualizar Projetos de Conversor permite que o projetista visualize os projetos de conversores através de gráficos e relatórios. Primeiramente o projetista deve escolher a topologia dos projetos que deseja consultar, posteriormente, ele seleciona os parâmetros básicos, tais como: potência de entrada, tensão de entrada, tensão de saída, frequência da rede (somente para Boost PFC), temperatura ambiente, temperatura de junção, densidade de corrente, etc. Além disso, o projetista pode restringir quais os componentes
estarão presentes nos projetos. Os projetos podem ser visualizados na forma de gráficos e relatórios.
O caso de uso Gerenciar Componentes permite que o projetista gerencie as informações armazenadas sobre os componentes disponíveis para geração dos projetos de conversores. É possível incluir novos componentes, visualizar os componentes e excluir componentes, desde que eles não tenham sido utilizados em nenhum dos projetos.
4.3.2 Diagramas de Classes
O modelo de classes do Sistema POCE é apresentado na Figura 7, onde os métodos e os atributos foram suprimidos para facilitar a leitura do diagrama. Os atributos de cada uma das classes podem ser consultados em seus detalhes no Apêndice B. As associações entre as classes são do tipo agregação, indicada pela figura de um diamante, já que um conversor é composto de elementos (diodo, chave, etc.), podendo estes, por sua vez, serem compostos de outros elementos. Assim, podemos ler o diagrama da seguinte forma, por exemplo, um conversor é composto de um indutor, um indutor, por sua vez, é composto de um núcleo e de um fio.
Figura 7 — Modelo de classes do sistema POCE
As classes que compõem o sistema são: Conversor que generaliza (indicado na cor azul) as classes Boost PFC, Boost CC/CC e Buck CC/CC. Desta forma todos os elementos da classe Conversor são herdados pelas classes Boost PFC, Boost CC/CC e Buck CC/CC. A classe Conversor é uma agregação das classes Indutor, Diodo, Chave, Capacitor e Dissipador. A classe Boost PFC, além daquilo que herda da classe Conversor, também agrega as classes Controlador e Filtro de EMI. A classe Indutor agrega a classe Núcleo de Indutor. A classe Filtro de EMI agrega a classe Indutor, que por sua vez, agrega a classe Núcleo de Indutor. A classe Indutor agrega a classe Fio. As classes são apresentadas em toda a sua extensão no Apêndice B e Apêndice E. O Apêndice E ainda contém as classes auxiliares utilizadas para implementação do sistema, tais como classes do algoritmo genético, classes do mapeamento pelo ORMLite, classes de interface de entrada (formulários e telas) e saída de dados (relatórios e gráficos), classes com métodos para manipulação de conjuntos de dados (listas e vetores), classes com métodos para realizar operações matemáticas elaboradas (transforada de Fourier, ajuste de curvas), classe com operações de banco de dados.
4.3.3 Modelo do Banco de Dados
O modelo do banco de dados da Figura 8 é constituído das entidades: Chave, Dissipador, Projeto de Conversor, Diodo, Núcleo Magnético e AWG.
Figura 8 — Modelo do banco de dados do sistema POCE
Realizando-se a leitura da Figura 8, é possível concluir que um determinado Projeto de Conversor pode conter nenhum ou um Perfil Dissipador e um determinado Dissipador pode estar relacionado com nenhum ou vários Projetos de Conversores e, ainda, que um determinado Projeto de Conversor contém um Diodo e determinado Diodo se relaciona com nenhum ou vários Conversores. Chave e AWG possuem relacionamentos com Projetos de Conversores da mesma forma que o Diodo. Já entidade Núcleo Magnético se relaciona com nenhum ou vários Projetos de Conversores, e um Projeto de conversor pode se relacionar com
no mínimo 1 e no máximo 2 Núcleos Magnéticos. No caso do Boost PFC, o projeto de conversor possui o núcleo magnético do indutor e, também, o núcleo magnético do indutor do filtro.
A Figura 8 contém as entidades (tabelas) e os relacionamentos do modelo de dados do presente trabalho. Para facilitar a leitura e apresentação do diagrama da Figura 8, os atributos são elucidados em seus detalhes no Apêndice B. Apêndice A contém a descrição da linguagem para leitura do diagrama da Figura 8. O Apêndice C contém o código SQL de criação das tabelas do banco de dados do Sistema POCE.