Gerência de Configuração e Evolução de Software

 Aqui está sendo compartilhado o curso de Gerência de Configuração e Evolução de Software da Universidade de Brasília

Ementa  

editar

Identificação de configuração (itens e linha-base)

Controle de mudanças e versões

Integração e entrega contínua

Monitoramento do desenvolvimento de software

Gerenciamento do processo de construção/build (mapeamento para ferramentas para ambientes de desenvolvimento e produção)

Pacotes e dependência de software

Princípios e técnicas de manutenção de software

Sustentação de software

Cronograma do curso 2020/2

editar

Plano de Aulas

editar

02.02:

  • Apresentação da disciplina
  • Definição da dinâmica do curso

04.02:

  • Introdução à Gerência de Configuração
  • Apresentação dos Projetos
  • Questionário de Perfil das Equipes

09.02:

  • Definição das equipes
  • Iniciar a configuração dos ambientes dos projetos

11.02:

  • Finalizar ambientes dos projetos
  • Planejamento ágil
  • Levantamento do backlog dos projetos

16.02

  • Feriado
  • Início Sprint 1

18.02:

  • Aula: Controle de versão e desenvolvimento colaborativo

23.02:

  • Aula: Integração Contínua

25.02:

  • Show me the code - Sprint 1

02.03:

  • Início Sprint 2
  • Automação da Build
  • Automação da Configuração do Ambiente

04.03:

  • Acompanhamento da Sprint 2

09.03:

  • Aula: DevOps

11.03:

  • Show me the code - Sprint 2

16.03:

  • Início Sprint 3
  • Aula: Isolamento de Ambiente

18.03:

  • Acompanhamento da Sprint 3

23.03:

  • Aula: Orquestradores / Kubernetes

25.03:

  • Show me the code - Sprint 3

30.03:

  • Início Sprint 4
  • Aula: Clean Code

01.04:

  • Aula: SOLID

06.04:

  • Acompanhamento da Sprint 4

08.04:

  • Show me the code - Sprint 4

13.04:

  • Início Sprint 5
  • Aula: Licenças de software livre

15.04:

  • Aula: Aula: Copyright, patentes e aspectos legais

20.04:

  • Acompanhamento da Sprint 5

22.04:

  • Show me the code - Sprint 5

27.04:

  • Início Sprint 6
  • Palestra 1

29.04:

  • Palestra 2

04.05:

  • Acompanhamento da Sprint 6

06.05:

  • Show me the code - Sprint 6

11.05:

  • Sprint de Dívidas Técnicas

13.05:

  • Sprint de Dívidas Técnicas

18.05:

  • Apresentação final dos projetos

20.05:

  • Apresentação final dos projetos

Critérios de Avaliação

editar
  • Grupos = 30%
  1. Entregas (commits e funcionalidades) = 15%
  2. Apresentações (Clean Code e SOLID) = 10%
  3. Apresentação final = 5%
  • Individual = 70%
  1. Trabalho Individual = 30%
  2. Apresentações individuais = 10%
  3. Contribuições individuais = 30%

Projetos 2020/2

editar

Questionário de Projetos 2020/2

editar

Link do Questionário (Para ser preenchido até 08/02/2021)

Cronograma do curso 2020/1

editar

Plano de Aulas

editar

18.08:

  • Apresentação da disciplina
  • Definição da dinâmica do curso

20.08:

  • Introdução à Gerência de Configuração

25.08:

  • Controle de Versão
  • Integração Contínua

27.08:

  • Automação da Build
  • Automação da Configuração do Ambiente

01.09:

  • Isolamento de Ambiente

03.09:

  • Apresentação dos Projetos
  • Questionário de Perfil das Equipes

08.09:

  • Definição das equipes
  • Iniciar a configuração dos ambientes dos projetos

09.09:

  • Finalizar ambientes dos projetos
  • Planejamento ágil
  • Levantamento do backlog dos projetos

15.09:

  • DevOps

17.09:

  • Início da sprint / iteração 1
  • Controle de versão e desenvolvimento colaborativo

22.09:

  • Semana Universitária

24.09:

  • Palestra 1: Site Reliability Engineer (SRE) - Google, com Daniel Van Ham Colchete

29.09:

  • Acompanhamento - Sprint 1

01.10:

  • Acompanhamento - Sprint 1

06.10:

  • Show me the code - Sprint 1
  • Início - Sprint 2

08.10:

  • Acompanhamento - Sprint 2

13.10:

  • Acompanhamento - Sprint 2

15:10:

  • Show me the code - Sprint 2

20.10:

  • Início Sprint 3
  • Palestra 2: Orquestradores (Arthur DIniz)

22.10:

  • Acompanhamento Sprint 3

27.10:

  • Propriedade Intelectual e Licenças de Software

29.10:

  • Show me the code - Sprint 3

03.11:

  • Início Sprint 4

05.11:

  • Palestra 3

10.11:

  • Palestra 4

12.11:

  • Show me the code - Sprint 4

17.11:

  • Início Sprint 5
  • Aula - Clean Code

19.11:

  • Aula - SOLID

24.11:

  • Acompanhamento Sprint 5

26.11:

  • Show me the code - Sprint 5

01.12:

  • Sprint de Dívidas Técnicas

03.12:

  • Sprint de Dívidas Técnicas

08.12:

  • Apresentação final dos projetos

10.12:

  • Apresentação final dos projetos

Critérios de Avaliação

editar
  • Grupos = 30%
  1. Entregas (commits e funcionalidades) = 15%
  2. Apresentações (Clean Code e SOLID) = 10%
  3. Apresentação final = 5%
  • Individual = 70%
  1. Trabalho 1 = 10%
  2. Trabalho 2 = 10%
  3. Trabalho 3 = 10%
  4. Apresentações individuais = 10%
  5. Contribuições individuais = 30%

Projetos 2020/1

editar

Questionário de Projetos 2020/1

editar

Link

Projetos 2019/2

editar

Questionário de Projetos 2019/2

editar

Link

Projetos 2019/1

editar

Questionário de Perfil de Projetos 2019/1

editar


Projetos 2018/2

editar

Projetos 2018/1

editar

Referências

editar

Software Livre

Licenças de Software

Compatibilidade de Licenças

Referências geradas pelos alunos da disciplina de Gerência de Configuração de Software

editar

O material abaixo está originalmente na página Gerência de Configuração de Software

Sistemas de controle de versão

editar
  1. Git Básico
  2. Git básico (Renata e Pedro)
  3. Git Avançado
  4. Git Debugging: blame e bisect (Thaiane e Tomáz)
  5. Git: Cherry-Picking (Karine Valença e Murilo Duarte)
  6. Git Avançado (Daniel e Jônnatas)
  7. Git Internals e Gitinspector (Gustavo Coelho e Willian Gulgielmin)
  8. Git Stash e Apagar commit com force push (Júlio Xavier e Lucas Andrade)
  9. Git , squash e ammend. ( Gustavo Cavalcante )
  10. Ferramentas do Git (Gesiel Freitas e Vitor Borges)
  11. Self-hosted Git (Eduardo Castro e Mateus Andrade)

CVS e Subversion

editar
  1. CVS
  2. CVS vs Git (Kleber e Gustavo Sabino)
  3. Subversion(SVN)
  4. Subversion - SVN (Attany e Keli)

Outras ferramentas de controle de versão

editar
  1. Bazaar
  2. Bazaar 2.7 (Izabela e Tainara)
  3. Utilizando Bazaar para Controle de Versão (Iolane Andrade e Julliana Almeida)
  4. Mercurial
  5. Mercurial (Geovanni e Pedro)
  6. Mercurial SCM (Álvaro e Fábio Texeira)
  7. TFVC - Team Foundation Version Control (Jonathan Rufino e Lucas Mattioli)
  8. TFVC - Team Foundation Version Control (Luis Henrique e Vinicius Bandeira)
  9. Darcs (Alex Cortes e Vanessa de Andrade)
  10. Gogs - Open Source Self-Hosted Git Server (Omar e João Pedro)
  11. ISPW (João Paulo Busche e André Bedran)

Comparação entre ferramentas de controle de versão

editar
  1. Github x Gitlab x Bitbucket (Isaac Borges)
  2. Mercurial vs Git (Tiago Assunção e Wesley Araujo)
  3. CVS x SVN x Git (João Guilherme e Victor Henrique)
  4. Mercurial vs Git (Marcos Dourado e Ruan)

Ambientes de desenvolvimento colaborativo de software

editar
  1. GitLab
  2. GitHub x GitLab (Brenddon e Filipe Ribeiro)
  3. Privilégios e Permissão de Usuários e Grupos - GitLab x GitHub (Elmar Roberto e Guilherme Baldissera)
  4. SourceForge
  5. Trac
  6. Trac + git (Maxwell de Oliveira e Thiago Lima)
  7. Trac + Bazaar (Fagner)
  8. Savannah/Savane
  9. Bitbucket
  10. Bitbucket (Rafael Fazzolino e Matheus Godinho)
  11. Fossil (Ebenezer Andrade e Priscilla Gonçalves)
  12. Waffle & Zenhub (Fillipe Feitosa e Luciano Almeida)
  13. GitHub + Heroku + Slack (Thiago Meira,Luis Resende)

Integração Contínua

editar
  1. Github - Travis (Gabriel e Luciano Prestes)
  2. Jenkins
  3. Gitlab CI
  4. TeamCity (Stefânia Bezerra e Matheus Oliveira)
  5. Travis CI - GitHub (Arthur Temporim e Eduardo Nunes)
  6. Github - Jenkins (Geison e Jhonatan)
  7. Travis (Jéssica Cristina e Sabryna de Sousa)

Deploy

editar
  1. Automatizando a instalação (deploy) e atualização de sites com Git. (Dandara e João Henrique)
  2. Heroku - (Flávio Costa e Phelipe Wener)
  3. Heroku (Leonardo Arthur e Nicácio Arruda)
  4. GitHub + Heroku + Slack (Adailson e Marcelo)
  5. Parse server + Heroku + MongoDB (Vinicius Borges e João Pedro)

Automação de Build

editar
  1. CMake (Vitor Nere e Alexandre)
  2. MakeFile (Marcelo Augusto e Igor Ribeiro)
  3. Containers, Automação e Build (PPT)
  4. Grunt (Pedro Sales)
  5. Maven (Gustavo Braz e Edson Gomes)
  6. Gulp (Fernando Aguilar)

Automação de Configuração de Ambiente

editar
  1. Chef - Instalando o ambiente comum (Lucas Brilhante e Matheus de Sousa)
  2. Vagrant + Puppet: Criação de máquina automatizada (Victor Arnaud)
  3. Ferramenta de automatização Ansible (Victor Navarro e Vítor Barbosa)
  4. Puppet vs. Ansible (Anna Larissa e Halê Valente)
  5. Bower (João Vitor Araujo e Mateus Manuel)
  6. Snapcraft (Laércio Jr.)

Isolamento de Ambiente (Virtualização)

editar
  1. Vagrant (Matheus Silva e Artur Bersan)
  2. Docker (Rafael Akiyoshi e Danilo Barros)
  3. Vagrant e Docker (Daniel Moura e Eduardo Gomes)
  4. Foreman (Kássia Catarine)
  5. Holodev (Jonathan Moraes)

Empacotamento

editar
  1. Empacotamento (PPT)
  2. Empacotamento RPM básico (Luan Guimarães e Matheus Miranda)
  3. Empacotamento Debian básico (Daniel Henrique)
  4. NPM a package manager for javascript (Gabriel Silva)
  5. Gerenciamento de pacotes (Marcelo Ferreira e Mateus Furquim)
  6. Empacotamento RPM Basico (Alessandro e SImiao)

Outros

editar
  1. Bugzilla: Visão Geral (Caique Pereira, Euler Carvalho)
  2. Savannah (Vinicius Carvalho e Vinicius Pinheiro)