Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Aula 5 – Implementação do Software Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FASE: IMPLEMENTAÇÃO DO SISTEMA Concepção Análise Desenho Implementação Testes Implantação Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 4ª Fase do processo de desenvolvimento Condição: Ambiente de desenvolvimento definido e preparado Preferencialmente: modelo de projeto validado Finalidade: Implementar o sistema, com base no projeto delineado, visando um código manutível e um sistema confiável Características Depende, fundamentalmente, da qualidade do programador. Melhor será se a empresa possuir uma biblioteca de componentes e rotinas padronizadas. FASE: IMPLEMENTAÇÃO DO SISTEMA - CONCEITOS Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FASE: IMPLEMENTAÇÃO DO SISTEMA O PROGRAMADOR deve ter a capacidade de Compreender os modelos de projeto Implementar o código, na LP escolhida, auxiliado pelo SGBD selecionado, com as melhores técnicas de programação, conforme paradigma usado. Quando maior seu conhecimento da LP, melhor. MODELOS DE PROJETO CÓDIGO FONTE DO SISTEMA PROGRAMADOR Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Entrada – Modelos da Projeto : Um conjunto de modelos (diagramas e documentos) que apresentem a solução TECNOLÓGICA do sistema, destacando a Arquitetura e Comportamento do software, devidamente verificadas e validadas Saídas – Código fonte do sistema Conjunto de programas e componentes implementados na LP selecionado Atividades – Técnicas de Análise: Técnicas de programação FASE: IMPLEMENTAÇÃO DO SISTEMA – MACRO VISÃO MODELOS DE PROJETO CÓDIGO FONTE DOS PROGRAMAS TÉCNICAS DE PROGRAMAÇÃO Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE FASE: IMPLEMENTAÇÃO DO SISTEMA – ATIVIDADES ******* ENTENDIMENTO DO PROGRAMA CODIFICAÇÃO DOS PROGRAMAS ANÁLISE DA MELHOR FORMA DE PROGRAMAR VISÃO do AMBIENTE DA LINGUAGEM VERIFICAÇÕES DOS PROGRAMAS Programas = Modulos, Classes, Componentes Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1ª Etapa: Entendimento do projeto e programa O programador precisa entender o objetivo do programa (módulo, programa, classe ou componente: Entradas e Saídas do programa 2ª etapa: Análise das soluções Identificação de possíveis formas de implementação Análise e escolha da melhor forma de implementar 3ª etapa: Codificação do programa Implementação do código na LP Documentação do código (explicar lógica adotada) 4ª. Etapa: Verificação dos programas Constatação da corretude (requisitos) x Projeto. Revisões, testes informais Testes de Unidade (visão do teste) FASE: IMPLEMENTAÇÃO DO SISTEMA – ATIVIDADES Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE IMPLEMENTAÇÃO DO SISTEMAS – ENTENDIMENTO Dependendo do porte, pode ter mais de um programador Cada programador receberá parte do que foi projetado para implementar. É preciso que entendam O projeto como um todo A(s) unidade(s) que vão implementar O relacionamento da unidade com o TODO (projeto). O relacionamento entre as unidades (parâmetros) Para cada Unidade que vai implementar Quais e formatos das Entradas e das Saídas Quanto mais detalhado o projeto, menos liberdade terá e possivelmente menos dúvidas Podem ser detectados problemas no projeto Revisão O programador tende a conhecer melhor a LP Acoplamento e coesão comum erros no projeto Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE IMPLEMENTAÇÃO DO SOFTWARE–ANÁLISE DAS SOLUÇÕES Ao entender o que a unidade deve fazer, o programador deve pensar na lógica e nas técnicas de programação (algoritmos e estruturas de dados) que vai usar Pode haver mais de uma alternativa Ele deve escolher a mais eficiente, conforme objetivos Mais rápida (processamento) Solução + clara legibilidade do código Manutenção Uso das melhores estruturas de dados (volume de dados) Melhores comandos de acesso aos dados no BD Melhor forma de conexão entre as unidades Projeto do algoritmo, conforme complexidade Informal ou formal (exemplo: diagrama de atividade, se UML) Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE IMPLEMENTAÇÃO DO SOFTWARE – CODIFICAÇÃO Escrita do código conforme solução ótima para o caso. Uso da biblioteca de classes, componentes e rotinas já implementadas e testadas reuso: economia e segurança Ao desenvolver já faz testes básicos Teste de Unidade Verifica se para determinadas entradas, as saídas estão corretas informal, no contexto do desenvolvimento Implementação em camadas Atenção ao PROJETO Programação em pares 2 programadores implementam a mesma unidade, juntos: piloto (codifica) e navegador (confere, avalia e sugere melhorias) os papeis são trocados, eventualmente. Tem sido eficiente, a experiência. Problema: formação dos pares Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE IMPLEMENTAÇÃO DO SOFTWARE – VERIFICAÇÃO O código deve ser verificado pelos autores ou não (programação em par). Focar nos seguintes pontos Adequação da tradução do desenho para o código Exemplo UML: relacionamentos (heranças, agregações estão OK ?) Verificação do código (entrada lógica saída) Obediência aos padrões (se for o caso) Qualidade e consistência dos comentários Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE IMPLEMENTAÇÃO DO SOFTWARE Modelo de Projeto Implementação do código Testes do Software A Implementação deve ser compatível com o modelo de projeto As técnicas de testes devem nortear a implementação, conforme estratégia usada. Já na implementação determinados tipos de testes já devem ser usados – unitários e integração Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE TIPOS E TÉCNICAS DE LINGUAGENS DE PROGRAMAÇÃO AS linguagens de programação devem ser compatíveis com o paradigma de Análise usado e com o tipo de problema a ser implementado. ANÁLISE TRADICIONAL ANÁLISE ESTRUTURADA ANÁLISE ESSENCIAL ANÁLISE ORIENTADA A OBJETO Tipos de Linguagem Procedural Lógica Funcional Orientada a objeto Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE TRADICIONAL - FLUXOGRAMA Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ESTRUTURADA E ESSENCIAL – DEM Programa a unidade (Tratar Saque) Parâmetros de entrada (Num-Conta e Valor) Testar a Unidade, simulando bloqueio e efetuando Saque Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ESTRUTURADA –MODELO FÍSICO DE DADOS Fundamental na Implementação da Camada de Persistência Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ESSENCIAL - QAT Tarefa: Gerenciar Pedidos processador : I3 Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ORIENTADA A OBJETO – DIAGRAMA DE ATIVIDADE Apoio a programação se for de um Método de Classe Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ORIENTADA A OBJETO – CLASSES DE PROJETO Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ORIENTADA A OBJETO – DIAGRAMA DE IMPLANTAÇÃO Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ORIENTADA A OBJETO – DIAGRAMA DE COMPONENTE Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE DIAGRAMA DE CLASSE Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE CÓDIGO DA CLASSE MALADIRETA Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE GERAÇÃO DE CÓDIGO Algumas ferramentas CASE de modelagem fornecem o recurso de Geração de código (Engenharia Direta) A partir dos modelos, gera o esqueleto do código fonte Com possibilidades em algumas LPs Vantagens Acelera a produção do código Ajuda a consistir o modelo e a implementação Mesmo se o código for alterado depois, pode usar a engenharia reversa e manter a consistência. Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE LINGUAGENS DE PROGRAMAÇAO O computador só compreende a linguagem binária (0 e 1). As linguagens de programação pode ser classificadas em: Interpretadas Compiladas Híbridas Interpretadas Compiladas Híbridas Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PRINCIPAIS CONCEITOS APRESENTADOS NA AULA. Fase de Implementação – 4ª Fase (Projeto – X – Testes) Codificação na LP/SGBD conforme especificado no Projeto SW confiável e manutível Legível e comentado Depende da qualidade do programador, qualidade da biblioteca (rotinas, componentes, classes) Programador deve saber ler os modelos e dominar LP/SGBD Etapas da fase de Implementação Entendimento do programa , Análise das técnicas de programação, Codificação do programa e Verificação do programa Relação com a fase de testes de SW (Verificação) Como usar cada modelo de projeto, conforme paradigma. Desenvolvimento em camadas Geração automática de código – ferramenta CASE