Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 Camadade Persistência Implementação do Software – AULA 5 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ANÁLISE ESSENCIAL - QAT Num Atividade Frequencia Estimulador 1 Registrar Pedidos Entrega 10/dia Operador 2 Registrar Pedidos Restaurante 15/dia Operador 3 Realizar Pagamento Entrega 10/dia Operador T1 Validar Usuários 30/dia Todos 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
Compartilhar