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

Da wiki Wikiversidade
Saltar para a navegação Saltar para a pesquisa

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

Ementa  [editar | editar código-fonte]

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 2018/2[editar | editar código-fonte]

Plano de Aulas[editar | editar código-fonte]

14.08:

  • Apresentação da disciplina
  • Introdução à Gerência de Configuração

16.08:

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

21.08:

  • Automação da Build

23.08:

  • Isolamento de Ambiente

28.08:

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

30.08:

  • Empacotamento
  • Manutenção e evolução de software
  • Projetos
  • Questionário de perfil para equipes

04.09:

  • Copyright, patentes e aspectos legais
  • Licenças de software livre
  • Definição e Levantar ambientes dos projetos

06.09:

  • Finalizar ambientes dos projetos
  • Planejamento ágil
  • Levantamento do backlog dos projetos
  • Início da sprint/iteração 1 *

11.09:

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

13.09:

  • Show me the code 1

18.09:

  • Início da sprint/iteração 2

20.09:

  • Show me the code 2

25.09: Semana Universitária

27.09: Semana Universitária

04.10:

  • Show me the Code (Sprint 2)

09.10:

  • Início da sprint/iteração 3

18.10: 

  • Show me the code (Sprint 3)

23.10

  • Prova 1 (escrita)

25.10

  • Aula de Clean Code
  • Início da sprint/iteração 4

06.11:

  • Fim da Sprint 4
  • Apresentações Clean Code

08.11:

  • Aula de Princípios SOLID
  • Início da Sprint 5

15.11: Feriado

20.11:

  • Fim da Sprint 5
  • Apresentações SOLID

22.11:

  • Prova 2 (escrita)

27.11:

  • Sprint de Dívidas Técnicas

29.11:

  • Sprint de Dívidas Técnicas

04.12:

  • Apresentação final dos projetos

06.12:

  • Apresentação final dos projetos

Critérios de Avaliação[editar | editar código-fonte]

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

Projetos 2018/2[editar | editar código-fonte]

Questionário de Perfil e Escolha de Projetos[editar | editar código-fonte]

https://docs.google.com/forms/d/e/1FAIpQLSfWYeICaH220AGPG3mPmAbDtPTFWUoZK27gvv47Zzq3uuoVhA/viewform?usp=sf_link

Projetos 2018/1[editar | editar código-fonte]

Referências[editar | editar código-fonte]

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 | editar código-fonte]

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

Sistemas de controle de versão[editar | editar código-fonte]

Git[editar | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

  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 | editar código-fonte]

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