• Nenhum resultado encontrado

5 Metodologias de desenvolvimento de software

5.3 Metodologia clássica

O fluxograma da metodologia clássica é apresentado na Figura 5-2.

O primeiro passo da metodologia clássica é a definição dos requisitos do sistema. Todos os requisitos a serem cumpridos na finalização do projeto devem ser definidos e documentados. A documentação gerada deve ser clara e objetiva, listando em forma de matriz todos os requisitos a serem cumpridos. O principal objetivo desta etapa é formalizar os requisitos iniciais para delinear os caminhos a serem adotados durante o ciclo de desenvolvimento.

Após a etapa de definição dos requisitos e sua documentação, deve-se determinar a arquitetura a ser utilizada para o projeto. Esta arquitetura deve possuir uma documentação específica e possuir controle de versões. Toda documentação criada ao longo do projeto deve possuir um controle de versões baseado no Sistema de Versões Concorrentes (Concurrent Version System - CVS). A principal finalidade do controle de versões é permitir a rastreabilidade durante o ciclo de desenvolvimento do projeto. O sistema de controle de versões CVS é amplamente utilizado pela comunidade de desenvolvedores, justificando assim sua utilização.

Com a finalização da definição da arquitetura a ser utilizada juntamente com sua documentação, passamos para a sua implementação em linguagem VHDL. Juntamente com a implementação da arquitetura escolhida, deve-se realizar a documentação do projeto, visando facilitar possíveis alterações futuras.

Com a finalização da implementação, é necessário a criação de testbenches para a realização de testes funcionais. Os testbenches devem ser escritos também em linguagem VHDL e devem possuir uma documentação específica com controle de versões. A utilização da linguagem VHDL para a criação de testbenches se justifica pelas características já apresentadas. Todos os testbenches

devem ser simulados e verificados antes de sua utilização para a verificação de requisitos funcionais.

Nesta etapa, o desenvolvedor deve se preocupar apenas com o funcionamento lógico do circuito, gerando um testbench que simule todos os requisitos funcionais do sistema.

Após a implementação do testbench, deve ser realizada uma simulação funcional. Esta simulação deve ser documentada e tem por finalidade a verificação funcional do sistema, sem levar em consideração as temporizações. Os resultados obtidos na simulação funcional devem ser documentados com controle de versões. Caso a simulação apresente divergências entre os resultados e os requisitos funcionais do sistema, o re-projeto do sistema deve ser realizado, com alterações no software em VHDL. Caso a simulação mostre que todos os requisitos funcionais foram cumpridos, devemos dar prosseguimento ao desenvolvimento.

Com a verificação do cumprimento dos requisitos funcionais, deve ser realizado o processo de síntese. O processo de síntese é responsável pela implementação em células lógicas do software descrito em linguagem VHDL.

Com a finalização do processo de síntese, deve-se realizar o processo de Place & Route, que realiza o roteamento e posicionamento das células lógicas obtidas a partir do processo de síntese.

Com o término do processo de Place & Route, deve ser realizada uma simulação, buscando verificar o cumprimento de todos os requisitos do projeto. A verificação de requisitos nesta etapa deve ser realizada por meio de simulação, utilizando testbenches escritos em VHDL, criados especificamente para a simulação do projeto. Estes testbenches devem possuir documentação com controle de versões.

A utilização da linguagem VHDL para a criação de testbenches se justifica pelas características já apresentadas. Todos os testbenches devem ser simulados e verificados antes de sua utilização para a verificação de requisitos. Todo o processo de verificação dos testbenches deve ser documentado e possuir controle de versões.

A simulação deve utilizar os arquivos gerados durante o processo de Place & Route e que contém todas as informações de temporizações internas do projeto criado. A simulação deve ser realizada na ferramenta ModelSim da empresa Mentor Graphics (2008a), por ser compatível com a maioria das ferramentas de desenvolvimento.

Com a finalização das simulações, todos os resultados obtidos, assim como todas as configurações utilizadas durante a simulação, devem ser documentados em um relatório de testes. Deve-se realizar este relatório para permitir uma profunda análise do comportamento do sistema caso alterações sejam necessárias.

Caso os requisitos de projeto não sejam atingidos, deve-se realizar a alteração do software em VHDL buscando o cumprimento dos requisitos. Após as alterações, deve-se seguir o fluxograma, passando por uma nova simulação funcional, processo de síntese, processo de Place & Route e simulação final.

Com o cumprimento dos requisitos de projeto, o software final gerado pela ferramenta de desenvolvimento pode ser liberado para a programação do hardware reconfigurável comercial/militar. O procedimento de programação deve ser documentado, apresentando a versão do software final a ser gravado com o número de série do componente. O software final para gravação deve possuir um controle de versões.

Após a programação do hardware reconfigurável, deve ser realizado um teste funcional, utilizando o método de teste caixa-preta. Este método também é chamado de Teste Funcional, em que o software a ser testado é abordado como se fosse uma caixa-preta, ou seja, não se considera o seu comportamento interno. Dados de entrada são fornecidos, o teste é executado e o resultado obtido é comparado a um resultado esperado, previamente conhecido. Segundo Inthurn (2001), o teste de caixa-preta é utilizado para verificar os seguintes erros:

• erros de interface;

• erros de desempenho;

• erros de inicialização e término.

O teste caixa-preta deve ser realizado com o hardware mais próximo ao modelo de vôo, para que se possam verificar possíveis problemas futuros. Este teste deve possuir um procedimento, descrevendo claramente os objetivos, requisitos e resultados esperados. Após a realização do teste, deve ser gerado um relatório de teste contendo todas as informações geradas, devendo possuir também um controle de versões. Caso todos os requisitos sejam atingidos, a programação do componente de vôo deve ser liberada.

Documentos relacionados