• Nenhum resultado encontrado

IMPLEMENTAÇÃO DE SOFTWARE

Objetivos de Aprendizagem

■ Compreender a importância da implementação de software. ■ Entender as questões fundamentais que precisam ser consideradas

durante a implementação do software.

■ Apresentar os conceitos e técnicas que envolvem a implementação e a depuração.

Plano de Estudo

A seguir, apresentam-se os tópicos que você estudará nesta unidade: ■ Implementação de Software

■ Atividades da Implementação de Software ■ Características da Implementação de Software ■ Estilo de programação e codificação

■ Comentário ■ Depuração

■ Asserções e Programação Defensiva ■ Otimização de Desempenho ■ Refatoração

INTRODUÇÃO

Caro(a) Aluno(a), na unidade anterior aprendemos sobre a fase de projeto e a sua importância no processo de desenvolvimento do software. Nesta unidade do livro, vamos aprender todos os aspectos da fase da Implementação, com exce- ção da fase dos testes que será vista nas próximas unidades.

Nesta unidade, vamos conhecer mais a fundo os conceitos que envolvem a fase de Implementação, compreender a sua importância, entender as questões fundamentais que são consideradas durante esta fase. Na fase de projeto é gerada uma descrição computacional, mencionando o que o software deve fazer, e deve ser coerente com a descrição realizada no levantamento de requisitos. Na fase de Implementação, o projeto é traduzido para uma forma passível de execução pela máquina. A fase de Implementação realiza esta tarefa, isto é, cada unidade de software do projeto detalhado é escrita.

Nesta fase ocorre a codificação/programação dos requisitos de software, baseado nas definições técnicas analisadas na fase de projeto. A Implementação atualmente pode utilizar linguagens de programação visuais e orientadas a objeto, com ambientes de desenvolvimento fáceis e amigáveis para o desenvolvimento dos códigos.

Na fase de Implementação detalhamos os componentes previstos no pro- jeto, descrevendo todos os componentes de código fonte e código binário, em nível de linguagem de programação ou de acordo com as tecnologias escolhi- das no levantamento de requisitos.

Na fase de Implementação, o resultado da escolha correta do ambiente de programação e demais ferramentas, no final é com certeza um software de boa qualidade, pois não basta saber programar em uma linguagem de programação para implementar um software, é necessário, também, conhecer e aplicar boas práticas de programação e usar ferramentas disponíveis para tornar esta fase mais eficiente e eficaz.

Vamos, a fase de Implementação! Boa leitura e bons estudos!

Introdução Repr odução pr oibida. A rt . 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

©shutterstock Repr odução pr oibida. A rt. 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

IMPLEMENTAÇÃO DE SOFTWARE

Conforme Tsui e Karam (2013, p. 135), “o objetivo final da maioria dos projetos de engenharia de software é produzir um programa funcional. O ato de trans- formar o projeto detalhado em um programa válido em alguma linguagem de programação, juntamente com todas as suas atividades de apoio é aludido como implementação”. Nessa fase, ocorre a codificação/programação dos requisitos de software, baseado nas definições técnicas da fase de projeto.

Na fase de implementação desenvolvemos o código, mas ela vai além disso. Nessa fase, vamos ver que além de ser escrito o código, precisamos testá-lo e depurá-lo, assim como compilá-lo e, por fim, ter um produto executável com- pleto. Durante este processo, o ideal é que se utilize um controle de versões para acompanhar as diferentes versões do código durante o desenvolvimento.

O profissional responsável por desenvolver esta etapa é conhecido por Programador ou Desenvolvedor, cujo perfil apresenta excelentes capacidades lógicas e analíticas.

A fase de Implementação detalha os componentes previstos no projeto, des- crevendo todos os componentes de código fonte e código binário, em nível de linguagem de programação ou de acordo com as tecnologias escolhidas.

Implementação de Software Repr odução pr oibida. A rt . 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

A fase de implementação envolve as seguintes atividades: codificação, depura- ção, compilação, integração e testes. A atividade de codificação mostra a estrutura e o comportamento que foram descritos na fase de projeto. Os testes podem ser iniciados durante a fase de implementação e a depuração de erros pode ocor- rer durante a codificação, podendo ser utilizada algumas ferramentas e técnicas.

Ao se iniciar a fase de implementação, é necessário escolher o ambiente que vai ser programado, boas práticas para facilitar a manutenção depois, rotinas de testes que devem ser executados, documentações pertinentes a esta fase, arquivos de configuração e outras questões que possam influenciar direta ou indireta- mente no bom desempenho desta fase. Em caso do ambiente de implementação escolhido for orientado a objetos, outras questões devem ser analisadas, como relacionamentos entre objetos, métodos, controle de instâncias e persistência de objetos. Para Beck (2013, p. 13), “melhorar a comunicabilidade do software também aumenta a flexibilidade. Quando mais pessoas puderem ler, entender e modificar o código rapidamente, mais opções se tem para mudanças futuras”. Na fase de implementação, o programador procura mapear corretamente as representações (ou modelos) obtidas no projeto para uma dada linguagem de programação. As características de uma linguagem de programação podem exercer um impacto significativo no desenvolvimento da codificação, segundo diferentes ângulos.

A fase de implementação demanda grande parte do tempo no processo do desenvolvimento de um software, considerada uma atividade trabalhosa e que exige profissionais que tenham habilidades e experiência na área.

A fase de implementação inclui algumas tarefas, como por exemplo: ■ Planejamento detalhado da implementação das unidades de cada iteração. ■ Implementação das classes e outros elementos do modelo de projeto,

geralmente arquivos de código fonte.

■ Verificação das unidades, por meio de revisões, inspeções e testes de unidade.

■ Compilação, ligação das unidades e integração das unidades entre si. ■ Integração das unidades com componentes reutilizados.

Repr odução pr oibida. A rt. 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

Quando falamos de integração, nos referimos à ligação de um componente desen- volvido com outro que necessite dos seus serviços.

Conforme Sommerville (2013, p. 135), “o estágio mais crítico desse pro- cesso é, naturalmente, a implementação do sistema, estágio em que você cria uma versão executável do software”. A fase de implementação pode envolver o desenvolvimento de programas em alto e baixo nível de linguagens de programa- ção. Para Sommerville (2013, p. 136), existem alguns aspectos de implementação que são importantes, como:

1. Reuso: quando se está desenvolvendo um sistema, devemos fazer o maior uso possível de códigos já existentes.

2. Gerenciamento de configuração: quando se está desenvolvendo um sis- tema, são geradas muitas versões diferentes, sendo interessante usar um gerenciamento de configuração para o controle.

3. Desenvolvimento host-target: o desenvolvimento de um sistema ocorre em um computador (sistema host) e é executado em outro (sistema tar- get), podendo ser do mesmo tipo ou muitas vezes diferentes.

Para Beck (2013, p. 5), “muitas decisões na programação são únicas e a codi- ficação seria mais eficaz se programadores gastassem menos tempo nas partes mundanas e repetitivas do trabalho e tivessem mais tempo para resolver proble- mas verdadeiramente únicos”.

Caso não consiga encontrar uma linguagem de padrões que trate do domí- nio de seu problema, procure analogias em um outro conjunto de padrões.

Atividades da Implementação de Software Repr odução pr oibida. A rt . 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

ATIVIDADES DA IMPLEMENTAÇÃO DE SOFTWARE