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

Breve Introdução à Engenharia de Software

Breve Introdução à Engenharia de Software

Mini-palestra sobre Engenharia de Software para calouros de Ciência da Computação e Sistemas de Informação

ASERG, DCC, UFMG

October 02, 2020
Tweet

More Decks by ASERG, DCC, UFMG

Other Decks in Education

Transcript

  1. Breve Introdução à Engenharia de
    Software
    Palestra para Calouros de CC e SI
    Prof. Marco Tulio Valente

    View Slide

  2. A maior empresa de táxi, não tem carros
    2
    A maior empresa de hospedagem, não tem hotéis
    Os maiores varejistas, não têm lojas
    O maior cinema, não tem salas
    Inspirado em artigo de Tom Goodwin (http://tcrn.ch/1DI138A)

    View Slide

  3. 3
    O que elas têm então?

    View Slide

  4. 4
    Software

    View Slide

  5. 5
    Melhor dizendo,
    Engenheiros de Software

    View Slide

  6. 6
    17/08/2020
    https://exame.com/negocios/magalu-magazine-luiza-balanco-pandemia

    View Slide

  7. 7
    2 dias depois,
    19/08/2020
    "... mais de 100 vagas abertas
    para o Luizalabs, a área de
    tecnologia da empresa."
    ⇒ grande maioria, para devs
    https://exame.com/carreira/magalu-abre-mais-de-100-vagas-com-opcao-de-ho
    me-office-para-sempre

    View Slide

  8. 8
    No futuro, existe uma boa chance de você ser
    um Engenheiro de Software!

    View Slide

  9. 9
    Bacharéis em CC/SI
    (atuando no "mercado" hoje)
    Engenheiros
    de Software
    Engenheiro de Software =
    [full stack, frontend, mobile, etc] dev,
    arquiteto, analista, tech lead, agile coach, etc

    View Slide

  10. 10
    O que eu preciso para ser um
    Engenheiro de Software?

    View Slide

  11. O que eu preciso para ser um ES? (resumo)
    1. Gostar de programar!
    2. Conceitos básicos de algoritmos
    3. Trabalhar em equipe
    4. Princípios e práticas de ES
    11

    View Slide

  12. Princípios e Práticas de ES
    ● Processos
    ● Requisitos
    ● Projeto & Arquitetura
    ● Testes & Manutenção
    ● DevOps
    12

    View Slide

  13. Processos
    ● ES é um esporte coletivo!
    ● Regras mínimas para evitar o caos ...
    13
    Fonte:
    Wikipedia

    View Slide

  14. Requisitos
    ● Pior desperdício: ficar anos fazendo um sistema, que o
    cliente depois não vai usar ...
    14

    View Slide

  15. Projeto & Arquitetura
    ● Assim como casas, etc, software tem uma organização
    15

    View Slide

  16. Testes & Manutenção
    ● Código sem testes, é código ruim!
    16

    View Slide

  17. Testes & Manutenção
    ● Código sem testes, é código ruim!
    17

    View Slide

  18. DevOps
    ● Time-to-market é importante!
    18
    Precisa ser integrado,
    revisado, testado,
    empacotado, etc
    Continuous deployment at Facebook and OANDA. ICSE 2016

    View Slide

  19. 19
    ES @ DCC

    View Slide

  20. Professores
    André Hora
    Eduardo Figueiredo
    Marco Tulio Valente

    View Slide

  21. Disciplinas Obrigatórias
    ● Ciência da Computação
    ○ Engenharia de Software
    ● Sistemas de Informação
    ○ Engenharia de Software I
    ○ Engenharia de Software II
    21

    View Slide

  22. Disciplinas Optativas
    ● Testes de Software
    ● Prática em Desenvolvimento de Software
    ● Medição e Qualidade de Software
    ● Reutilização de Software
    ● Manutenção e Evolução de Software
    22

    View Slide

  23. Pesquisa em ES
    Manutenção e evolução de software
    Reúso de software
    Sistemas de software configuráveis
    Engenharia de software empírica
    Qualidade de software
    Mineração de software
    19 alunos (10 doutorado, 9 mestrado)
    http://www.labsoft.dcc.ufmg.br
    http://aserg.labsoft.dcc.ufmg.br

    View Slide

  24. 24
    Obrigado!
    www.labsoft.dcc.ufmg.br
    aserg.labsoft.dcc.ufmg.br

    View Slide