1 / 37

Técnicas e Projeto de Sistemas

Técnicas e Projeto de Sistemas. Técnico Subsequente Ana Paula Alves de Lima. REVISÃO GERAL. Introdução à Engenharia de Software Definições. Sistemas Software Projeto Engenharia de Software. Sistemas. Sistemas: é uma ligação entre componentes comuns, com objetivos comuns. 

kermit
Télécharger la présentation

Técnicas e Projeto de Sistemas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Técnicas e Projeto de Sistemas Técnico Subsequente Ana Paula Alves de Lima Técnicas e Projeto de Sistemas – Técnico Subsequente

  2. REVISÃO GERAL Técnicas e Projeto de Sistemas – Técnico Subsequente

  3. Introdução à Engenharia de SoftwareDefinições • Sistemas • Software • Projeto • Engenharia de Software

  4. Sistemas • Sistemas: é uma ligação entre componentes comuns, com objetivos comuns.  • Exemplos: sistema solar, sistema respiratório...

  5. Software • Conjunto de procedimentos que controlam o funcionamento de uma máquina. Sistema == Software??? Técnicas e Projeto de Sistemas – Técnico Subsequente

  6. Software • O Software é um tipo de sistema para auxiliar, agilizar um processo por vários motivos. Aumentar velocidade, diminuir custos, otimizar recursos, etc.  • São programas de computador, junto com manuais, especificações, planos de teste, etc.  • Então está claro a diferença? Software X Sistema

  7. Projeto • Envolve a antecipação de algo desejável que ainda não foi realizado, traz a idéia de pensar uma realidade que ainda não aconteceu. O processo de projetar implica analisar o presente como fonte de possibilidades futuras (FREIRE e PRADO, 1999). • Exemplos: • Construção de uma casa; • Desenvolvimento de uma página da internet.

  8. Engenharia de Software • Aplicação da disciplina de técnicas no desenvolvimento e manutenção de software. Produto de Software Contexto (Problema) E.S. Técnicas e Projeto de Sistemas – Técnico Subsequente

  9. Introdução à Engenharia de Software • A Engenharia de Software objetiva: • Prover métodos (“como fazer”), ferramentas e procedimentos (sequênciaem que os métodos serão aplicados) para o desenvolvimento de softwarede maneira que ele atinja seus objetivos. Técnicas e Projeto de Sistemas – Técnico Subsequente

  10. A IMPORTÂNCIA DA ENGENHARIA DE SOFTWARE Técnicas e Projeto de Sistemas – Técnico Subsequente

  11. Introdução à Engenharia de Software • Por que devemos nos preocupar com o processo de desenvolvimento do software? • O estudioso Pressman afirma que o softwarede computador é a tecnologia mais importante atualmente no mundo, pois: • Alterou modelos de negócios (e-commerce); • Aumentou perspectivas da ciência (genética); • Potencializou as telecomunicações; • Revolucionou a indústria cinematográfica. Técnicas e Projeto de Sistemas – Técnico Subsequente

  12. Introdução à Engenharia de Software • As potências econômicas são dependentes de software; • Como consequência, mais e mais empresas dependem de softwarepara obter sucesso na sua área de atuação; Técnicas e Projeto de Sistemas – Técnico Subsequente

  13. Introdução à Engenharia de Software • O softwareé diferente de outros produtos pois: • Possui invisibilidade, uma vez que não pode ser representado por estruturas geométricas ou embutido em um espaço físico: • É visto como um produto de pensamentos e de fácil alteração; • Requer boa habilidade dos projetistas para extrair informações dos clientes; • Necessita de boa comunicação entre os desenvolvedores para que o “mesmo software” seja desenvolvido por todos. Técnicas e Projeto de Sistemas – Técnico Subsequente

  14. Roteiro da aula 3 • Tema: Processo de Desenvolvimento de Software. • Engenharia de Software; • Processo de Desenvolvimento de Software; • Ciclos de Desenvolvimento de Software; Técnicas e Projeto de Sistemas – Técnico Subsequente

  15. Relembrando: • Definição de Engenharia de Software:

  16. Introdução à Engenharia de Software • A Engenharia de Software objetiva: • Prover métodos (“como fazer”), ferramentas e procedimentos (sequênciaem que os métodos serão aplicados) para o desenvolvimento de softwarede maneira que ele atinja seus objetivos. Técnicas e Projeto de Sistemas – Técnico Subsequente

  17. Engenharia de Software • Um software deve, de forma geral, atender os seguintes objetivos: • Funcionalidade; • Custo; • Tempo; • Desempenho; • Padrões; • Leis; • Atender as partes interessadas (stakeholders). Técnicas e Projeto de Sistemas – Técnico Subsequente

  18. Engenharia de Software Mas como posso atingir todos esses objetivos??? Técnicas e Projeto de Sistemas – Técnico Subsequente

  19. Engenharia de Software Seguindo um processo de desenvolvimento de software!! Técnicas e Projeto de Sistemas – Técnico Subsequente

  20. Processo de Desenvolvimento de Software • Processo: • É uma sequência de passos que devem ser seguidos para se atingir determinado objetivo. • Processo de desenvolvimento de software: • Também chamado simplesmente de processo de software; • Objetiva a construção de um software; • Sub processos: • Requisitos, análise, desenho, implementação e teste. Técnicas e Projeto de Sistemas – Técnico Subsequente

  21. Processo de Desenvolvimento de Software • O ponto de partida então é seguir um ciclo de vida: • É uma interação entre os processos; descreve as fases que o software vai passar; • Baseado em: • Complexidade; • Risco; • Tamanho da equipe; • Necessidade do cliente. Técnicas e Projeto de Sistemas – Técnico Subsequente

  22. Introdução à Engenharia de Software • Principais modelos de ciclo de vida do software: • Codifica-remenda; • Cascata; • Prototipagem evolutiva ou incremental; • Espiral; • Entrega evolutiva; Técnicas e Projeto de Sistemas – Técnico Subsequente

  23. Ciclos de Vida de Software • Codifica-remenda: • Partindo de uma especificação incompleta • Alto risco; • Impossível de gerenciar; • Não permite assumir compromissos confiáveis Produto Especificação??? Técnicas e Projeto de Sistemas – Técnico Subsequente

  24. Codifica-remenda Partindo de uma especificação incompleta, ou mesmo ausente, inicia-se a codificação do software, que por sua vez tende a gerar “algo”. Esse “algo gerado”, na grande maioria das vezes não é o que o cliente deseja, mas vai sendo alterado e consertado até que o produto atinja um estágio que permita seu uso. Nenhum processo é seguido nessa iteração.

  25. Ciclos de Vida de Software • Clássico ou Cascata: • Foi o primeiro modelo a ser conhecido em engenharia de software e está na base de muitos ciclos de vida utilizados nos dias de hoje. • Cada passo deve ser completado antes que o próximo passo possa ser iniciado.

  26. Ciclos de Vida de Software • Clássico ou Cascata: • Sequencial; • Rígido; • Burocrático; • Não prevê correções nas fases posteriores; • O cliente só vê o resultado no final do projeto; • Indicado para projetos pequenos. Técnicas e Projeto de Sistemas – Técnico Subsequente

  27. Ciclos de Vida de Software Clássico ou Cascata: início Requisitos Análise Desenho Implementação Teste Final Técnicas e Projeto de Sistemas – Técnico Subsequente

  28. Ciclos de Vida de Software • Espiral: • O modelo espiral é mais adequado para sistemas complexos e que exijam um alto nível de interações com os usuários, a fim de possibilitar a abordagem de todos os problemas desse sistema. • Usado com mais frequência em grandes projetos. • Maior controle sobre os riscos do projeto, tornando o processo de construção de um produto complexo mais seguro.

  29. Ciclos de Vida de Software • Espiral: 1 2 3 4 Técnicas e Projeto de Sistemas – Técnico Subsequente

  30. Ciclos de Vida de Software • Prototipagem evolutiva ou incremental: • Baseado no modelo espiral; • Ao final de cada volta o usuário tem acesso a um protótipo; • Útil para aprovações de ideias e coleta de novos requisitos; • Desvantagem: • Cliente insiste que o protótipo seja, com ligeiras modificações, a versão final do produto. Técnicas e Projeto de Sistemas – Técnico Subsequente

  31. Ciclos de Vida de Software • Prototipagem evolutiva: Técnicas e Projeto de Sistemas – Técnico Subsequente

  32. Ciclos de Vida de Software • Entrega evolutiva: • Segue o modelo espiral somente a partir da fase desenho detalhado; • Modelo bastante utilizado na prática; • Exige uma boa fase de requisitos, análise e desenho alto nível. Técnicas e Projeto de Sistemas – Técnico Subsequente

  33. Ciclos de Vida de Software • Entrega evolutiva: início Requisitos Análise Desenho de alto nível Desenho detalhado Implementação Teste Não Produto completo? Sim Final Técnicas e Projeto de Sistemas – Técnico Subsequente

  34. Ciclos de Vida de Software • Quase-espiral: • Bastante aceito na prática; • É utilizado como base para outros modelos; • Mais próximo da realidade. Técnicas e Projeto de Sistemas – Técnico Subsequente

  35. Ciclos de Vida de Software • Quase-espiral: início Visão Geral Requisitos Análise Desenho Produto completo? Implementação Sim Não Teste Final Técnicas e Projeto de Sistemas – Técnico Subsequente

  36. ATIVIDADES

  37. Técnicas e Projeto de Sistemas Técnico Subsequente Ana Paula Alves de Lima Técnicas e Projeto de Sistemas – Técnico Subsequente

More Related