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

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