Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1ª Semana INFOTEC - Engenharia de Software

1ª Semana INFOTEC - Engenharia de Software

Palestra feita para a turma de Ensino Técnico do ECIT NICEA

Avatar for Samanta Cicilia

Samanta Cicilia

January 08, 2021
Tweet

More Decks by Samanta Cicilia

Other Decks in Technology

Transcript

  1. Engenharia de Software é a área da Computação que se

    preocupa em propor e aplicar princípios de engenharia na construção de software. Marco Tulio Valente. Engenharia de Software Moderna: Princípios e Práticas para Desenvolvimento de Software com Produtividade, 2020.
  2. 01 04 COMPLEXIDADE Hoje em dia praticamente tudo depende de

    software e este tem muitas integrações. ESTIMATIVA É muito difícil prever exatamente quanto tempo vai levar para fazer cada mudança. 02 03 CONFORMIDADE Software precisa estar conforme com leis e normas. Por exemplo mercado financeiro. MUDANÇAS Software está em constante mudança. Sempre estamos lançando novidades.
  3. Requisitos O que o sistema deve fazer e como deve

    fazer. Podem ser funcionais e não funcionais.
  4. Requisitos Realizar pagamentos em boleto Realizar pagamentos em cartão de

    crédito Realizar pagamentos em 12 vezes sem juro O que o sistema deve fazer e como deve fazer. Podem ser funcionais e não funcionais. Um Sistema de Pagamentos: - Funcionais: 1. 2. 3.
  5. Requisitos Realizar pagamentos em boleto Realizar pagamentos em cartão de

    crédito Realizar pagamentos em 12 vezes sem juros Desempenho: responder em menos de 2 segundos Disponibilidade: estar disponível 99% do tempo Usabilidade: implementar acessibilidade para deficientes visuais O que o sistema deve fazer e como deve fazer. Podem ser funcionais e não funcionais. Um Sistema de Pagamentos: - Funcionais: 1. 2. 3. - Não-Funcionais: 1. 2. 3.
  6. Projeto Práticas e atividades de Gerência de Projetos: - Negociar

    contratos - Contratar equipe - Gerência de Riscos
  7. Projeto Práticas e atividades de Gerência de Projetos: - Negociar

    contratos - Contratar equipe - Gerência de Riscos - Stakeholders > partes interessadas no projeto
  8. Projeto Primeiro mês: pagamento em boleto Segundo mês: pagamento em

    cartão de crédito Práticas e atividades de Gerência de Projetos: - Negociar contratos - Contratar equipe - Gerência de Riscos - Stakeholders > partes interessadas no projeto - Planejamento das entregas: 1. 2.
  9. Desenvolvimento Implementação do Sistema: - Criar os layouts - Definir

    a arquitetura - Codificar - Criar documentação
  10. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  11. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  12. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  13. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  14. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  15. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  16. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  17. Testes Unidade Integração Ponta-a-ponta Performance Segurança Usabilidade Acessibilidade Garantir que

    os requisitos (funcionais e não funcionais foram atendidos): Tipos de Teste: 1. 2. 3. 4. 5. 6. 7.
  18. Manutenção Garantir que o sistema continua funcionando enquanto são incluídas

    novas funcionalidades: - Corretiva: corrigir problemas (bugs) - Preventiva: ajustar para horário de verão - Adaptativa: migração de versão - Refatoração: modificações que preservam o comportamento e melhoram o código - Evolutiva: novas funcionalidades
  19. Manutenção Garantir que o sistema continua funcionando enquanto são incluídas

    novas funcionalidades: - Corretiva: corrigir problemas (bugs) - Preventiva: ajustar para horário de verão - Adaptativa: migração de versão - Refatoração: modificações que preservam o comportamento e melhoram o código - Evolutiva: novas funcionalidades
  20. Manutenção Garantir que o sistema continua funcionando enquanto são incluídas

    novas funcionalidades: - Corretiva: corrigir problemas (bugs) - Preventiva: ajustar para horário de verão - Adaptativa: migração de versão - Refatoração: modificações que preservam o comportamento e melhoram o código - Evolutiva: novas funcionalidades
  21. Manutenção Garantir que o sistema continua funcionando enquanto são incluídas

    novas funcionalidades: - Corretiva: corrigir problemas (bugs) - Preventiva: ajustar para horário de verão - Adaptativa: migração de versão - Refatoração: modificações que preservam o comportamento e melhoram o código - Evolutiva: novas funcionalidades
  22. Manutenção Garantir que o sistema continua funcionando enquanto são incluídas

    novas funcionalidades: - Corretiva: corrigir problemas (bugs) - Preventiva: ajustar para horário de verão - Adaptativa: migração de versão - Refatoração: modificações que preservam o comportamento e melhoram o código - Evolutiva: novas funcionalidades
  23. Manutenção Garantir que o sistema continua funcionando enquanto são incluídas

    novas funcionalidades: - Corretiva: corrigir problemas (bugs) - Preventiva: ajustar para horário de verão - Adaptativa: migração de versão - Refatoração: modificações que preservam o comportamento e melhoram o código - Evolutiva: novas funcionalidades
  24. Configuração Políticas para gerenciar as versões do sistema: - Controle

    de versão: git - Identificação de Release - Processo de revert
  25. Configuração Políticas para gerenciar as versões do sistema: - Controle

    de versão: git - Identificação de Release - Processo de revert
  26. Configuração Políticas para gerenciar as versões do sistema: - Controle

    de versão: git - Identificação de Release - Processo de revert
  27. Configuração Políticas para gerenciar as versões do sistema: - Controle

    de versão: git - Identificação de Release - Processo de revert
  28. Manifesto Ágil Por meio deste trabalho, passamos a valorizar: Indivíduos

    e interações, > mais do que processos e ferramentas Software em funcionamento, > mais do que documentação abrangente Colaboração com o cliente, > mais do que negociação de contratos Resposta a mudanças, > mais do que seguir um plano.
  29. Manifesto Ágil Por meio deste trabalho, passamos a valorizar: Indivíduos

    e interações, > mais do que processos e ferramentas Software em funcionamento, > mais do que documentação abrangente Colaboração com o cliente, > mais do que negociação de contratos Resposta a mudanças, > mais do que seguir um plano.
  30. Manifesto Ágil Por meio deste trabalho, passamos a valorizar: Indivíduos

    e interações, > mais do que processos e ferramentas Software em funcionamento, > mais do que documentação abrangente Colaboração com o cliente, > mais do que negociação de contratos Resposta a mudanças, > mais do que seguir um plano.
  31. Manifesto Ágil Por meio deste trabalho, passamos a valorizar: Indivíduos

    e interações, > mais do que processos e ferramentas Software em funcionamento, > mais do que documentação abrangente Colaboração com o cliente, > mais do que negociação de contratos Resposta a mudanças, > mais do que seguir um plano.
  32. Manifesto Ágil Por meio deste trabalho, passamos a valorizar: Indivíduos

    e interações, > mais do que processos e ferramentas Software em funcionamento, > mais do que documentação abrangente Colaboração com o cliente, > mais do que negociação de contratos Resposta a mudanças, > mais do que seguir um plano.
  33. Programação Extrema (XP) Princípios: Humanidade Economicidade Benefícios mútuos Melhorias contínuas

    Falhas acontecem Baby steps Responsabilidade pessoal Valores: Comunicação Simplicidade Feedback Coragem Respeito Qualidade de vida
  34. Marco Tulio Valente. Engenharia de Software Moderna: Princípios e Práticas

    para Desenvolvimento de Software com Produtividade, 2020. https://engsoftmoderna.info/ Referência