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
editarIdentificaçã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
editarPlano de Aulas
editar02.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%
- Entregas (commits e funcionalidades) = 15%
- Apresentações (Clean Code e SOLID) = 10%
- Apresentação final = 5%
- Individual = 70%
- Trabalho Individual = 30%
- Apresentações individuais = 10%
- Contribuições individuais = 30%
Projetos 2020/2
editar- Botflow
- Repositório Oficial: https://github.com/lappis-unb/BotFlow
- Fork da Equipe: https://github.com/FGA-GCES/BotFlow
- Wiki da equipe: https://github.com/FGA-GCES/BotFlow/wiki
- Meta Coach: Carla Rocha / Rodrigo Maia
- Apresentação Final: https://www.youtube.com/watch?v=MLW6bEfjXmo
- General Website Resources (GNOME UI)
- Repositório Oficial: https://gitlab.gnome.org/Teams/Engagement/websites/gnome-websites-framework
- Documentação Oficial: https://teams.pages.gitlab.gnome.org/Engagement/websites/gnome-websites-framework/
- Fork da Equipe: https://gitlab.gnome.org/roginaldosemog/gnome-websites-framework
- Meta Coach: Clarissa Borges
- Apresentação Final: https://www.youtube.com/watch?v=5kuM8n5ZoH4
- Jandig
- Repositório Oficial: https://github.com/memeLab/Jandig
- Meta Coach: Pablo / Rodrigo
- Fork da equipe: https://github.com/gces-jandig-2020-2/Jandig
- Wiki da equipe: https://github.com/gces-jandig-2020-2/Jandig/wiki/
- Apresentação final: https://drive.google.com/file/d/1nie_byQFRaTSIflZgxJXU5Fq7Au4PS4e/view?usp=sharing
- Rasa
- Página Oficial: https://rasa.com
- Repositório Oficial: https://github.com/RasaHQ
- Fork da Equipe: https://github.com/FGA-GCES/rasa
- Apresentação final: https://drive.google.com/file/d/1-itz8wfp6x9nrFqbhCkVZ3VKHRl_QHBk/view?usp=drivesdk
- Meta Coach: Arthur Temporim
- RocketChat
- Página Oficial: https://rocket.chat
- Repositório Oficial: https://github.com/RocketChat
- Meta Coach: Djorkaeff Alexandre
- Fork da Equipe: https://github.com/Rocket-Chat-GCES
- Apresentação final: https://drive.google.com/file/d/1tUSMk6N6oNMZosXM2sX3FmXuxF1OUP5_/view?usp=sharing
- Sistema de Gestão Energética (SIGE)
- Página Oficial: http://sige.unb.br
- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI
- Meta-Coach: Renato Sampaio
- Fork da Equipe: https://gitlab.com/sige-gces-2020.2
- Apresentação final: https://www.youtube.com/watch?v=VjDiOSI77As
- Watchtower
- Documentação Oficial: https://containrrr.dev/watchtower/
- Repositório Oficial: https://github.com/containrrr/watchtower
- Meta Coach: Victor Moura
- Fork da Equipe: https://github.com/gces-watchtower/watchtower
- Apresentação Final: https://www.youtube.com/watch?v=nrSGO2RQwvk
- Escola em casa
- Repositório Oficial: https://github.com/Escola-em-Casa
- Meta Coach: Guilherme Lacerda
- Fork da Equipe: https://github.com/GCES-Escola-em-Casa-2020-2
- Apresentação Final: https://www.youtube.com/watch?v=UTME-zKoo0I&ab
Questionário de Projetos 2020/2
editarLink do Questionário (Para ser preenchido até 08/02/2021)
Cronograma do curso 2020/1
editarPlano de Aulas
editar18.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%
- Entregas (commits e funcionalidades) = 15%
- Apresentações (Clean Code e SOLID) = 10%
- Apresentação final = 5%
- Individual = 70%
- Trabalho 1 = 10%
- Trabalho 2 = 10%
- Trabalho 3 = 10%
- Apresentações individuais = 10%
- Contribuições individuais = 30%
Projetos 2020/1
editar- Rasa
- Página Oficial: https://rasa.com
- Repositório Oficial: https://github.com/RasaHQ
- Repositório do grupo: https://github.com/FGA-GCES/rasa
- Meta Coach: Arthur Temporim
- Apresentação final: Drive
- RocketChat
- Página Oficial: https://rocket.chat
- Repositório Oficial: https://github.com/RocketChat
- Meta Coach: Djorkaeff Alexandre
- Wiki: https://github.com/gces-rocket-chat/Rocket.Chat.ReactNative/wiki
- Apresentação: Drive
- Pydemic UI
- Repositório Oficial: https://github.com/pydemic/pydemic-ui
- Meta Coach: Fábio Mendes
- Wiki: https://github.com/GCES-Pydemic/pydemic-ui/wiki
- Apresentação: https://drive.google.com/file/d/1rR6sEBXvt68Zk0PTHhOC9RNWs-bywUsO/view?usp=sharing
- Covinfo
- Repositório Oficial: https://github.com/simaps-ubs
- Meta Coach: Paulo Henrique Rosa
- Para nos acompanhar: https://docs.google.com/spreadsheets/d/1EG8kxHgjHOLvPSJSGRaAs6-VoY-QK5LZ3pTrbesUKn0/edit#gid=0
- Apresentação final: Apresentação Final - Equipe Covinfo
- Sistema de Gestão Energética (SIGE)
- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI
- Meta-Coach: Renato Sampaio
- Wiki: https://gitlab.com/gces_sige-smi/Docs
- Apresentação final: Apresentação Final SIGE
- Jandig
- Repositório Oficial: https://github.com/memeLab/Jandig
- Meta Coach: Pablo / Rodrigo
- Wiki da Equipe: https://github.com/GCES-Jandig/Jandig/wiki
- Apresentação Final: https://www.youtube.com/watch?v=Bk1kbLWMZCs&feature=youtu.be
- Botflow
- Repositório Oficial: https://github.com/lappis-unb/BotFlow
- Meta Coach: Carla Rocha / Rodrigo Maia
- Guardiões da Saúde
- Repositório Oficial: https://github.com/proepidesenvolvimento
- Meta Coach: João Gabriel
- Wiki da Equipe: https://github.com/FGA-GCES/guardioes-app/wiki
- Apresentação Final: https://drive.google.com/file/d/1_h9F8wdgxoeXsB0T0rOZpjFhgrIY0aS0/view?usp=drivesdk
- Escola em casa
- Repositório Oficial: https://github.com/Escola-em-Casa
- Meta Coach: Guilherme Lacerda
- Wiki da Equipe: https://github.com/FGA-GCES/GCES-escola-em-casa
- Apresentação: https://drive.google.com/drive/folders/15UJeRW1FimeAnD7-y-S58QHoRpGzWk61?usp=sharing
Questionário de Projetos 2020/1
editarProjetos 2019/2
editar- Analizo/Metrics (Perl) /Doxyparse (C++)
- Página Oficial (http://www.analizo.org)
- Repositório (https://github.com/analizo/analizo)
- Meta Coach: Joênio
- Empurrando Juntos (EJ)
- Página Oficial: https://www.ejplatform.org/home/
- Repositório Oficial: https://github.com/empjuntos
- Meta-Coaches: Fábio Macedo e Ricardo Poppi
- Falko
- Página Oficial: https://github.com/falko-org/Falko-API/wiki
- Repositório Oficial: https://github.com/falko-org/Falko
- Meta-Coach: Álax Alves e Matheus Richard
- Radar Parlamentar (Django Python)
- Página Oficial (http://radarparlamentar.polignu.org)
- Repositório Oficial (https://gitlab.com/radar-parlamentar/radar)
- Lista: http://lists.polignu.org/listinfo.cgi/radar-polignu.org
- Meta-Coach: Leonardo Leite
- Rasa
- Página Oficial: https://rasa.com
- Repositório Oficial: https://github.com/RasaHQ
- Repositório do grupo: https://github.com/GCES-2-2019-Rasa
- Meta Coach: Arthur Temporim
- RocketChat
- Página Oficial: https://rocket.chat
- Repositório Oficial: https://github.com/RocketChat
- SIGS - - Sistema Inteligente de Gestão de Salas (Ruby on Rails)
- Documentação: https://sigs-unb.github.io/docs/
- Repositório Oficial: https://github.com/SIGS-UnB
- Responsável: Arthur Diniz / Reitoria UnB
- Sistema de Monitoramento de Insumos (SMI)
- Repositório Oficial: https://gitlab.com/lappis-unb/projects/SMI
- Meta-Coach: Equipe SMI - Lappis
- Saskatoon
- Repositório Oficial: https://github.com/tiagovaz/saskatoon
Questionário de Projetos 2019/2
editarProjetos 2019/1
editar- Analizo/Metrics (Perl) /Doxyparse (C++)
- Página Oficial (http://www.analizo.org)
- Repositório (https://github.com/analizo/analizo)
- Meta Coach: Joênio
- Wiki do time (https://github.com/black-neck/analizo/wiki)
- SIGS - - Sistema Inteligente de Gestão de Salas (Ruby on Rails)
- Documentação: https://sigs-unb.github.io/docs/
- Repositório Oficial: https://github.com/SIGS-UnB
- Responsável: Arthur Diniz / Reitoria UnB
- Noosfero (Ruby on Rails)
- Página Oficial (http://noosfero.org)
- Repositório Oficial (https://gitlab.com/noosfero/noosfero)
- Meta-Coach: Gabriel
- Wiki do Time (https://gitlab.com/guiaugusto/noosfero/wikis/home)
- Radar Parlamentar (Django Python)
- Página Oficial (http://radarparlamentar.polignu.org)
- Repositório Oficial (https://gitlab.com/radar-parlamentar/radar)
- Lista: http://lists.polignu.org/listinfo.cgi/radar-polignu.org
- Repositório do Fork do grupo: (https://gitlab.com/Hargre/radar)
- Meta-Coach: Leonardo Leite
- UnB-Games Platform
- Repositório Oficial: https://github.com/unbgames/unbgames
- Wiki da Disciplina: https://github.com/unbgames/unbgames/wiki
- Falko
- Página Oficial: https://github.com/falko-org/Falko-API/wiki
- Repositório Oficial: https://github.com/falko-org/Falko
- Organização da Disciplina: https://github.com/gces-falko
- Lino
- Página Oficial: https://botlino.github.io/docs/
- Repositório Oficial: https://github.com/BotLino
Questionário de Perfil de Projetos 2019/1
editar
Projetos 2018/2
editar- Analizo/Metrics (Perl) /Doxyparse (C++)
- Página Oficial (http://www.analizo.org)
- Repositório (https://github.com/analizo/analizo)
- Meta Coach: Joênio
- Organização do grupo 2018/2: (https://github.com/GCES2018-2/)
- SIGS - - Sistema Inteligente de Gestão de Salas (Ruby on Rails)
- Repositório: (https://github.com/fga-gpp-mds/2017.1-SIGS)
- Organização do grupo 2018/2: (https://github.com/GCES-2018-2)
- Responsável: Reitoria UnB
- MerendaMais (Aplicativo Android / iOS)
- Repositório: (https://github.com/gces-2018-merenda-mais/2017.2-MerendaMais)
- Responsável: FNDE
- Noosfero (Ruby on Rails)
- Página Oficial (http://noosfero.org)
- Repositório Oficial (https://gitlab.com/noosfero/noosfero)
- Meta-Coach: Gabriel
- Observatório de Resíduos (Ruby On Rails + Ionic)
- Site Oficial (https://www.observatorioderesiduos.unb.br)
- Repositório Frontend (https://github.com/fga-eps-mds/2016.2-Observatorio-de-Residuos-Frontend)
- Repositório Backend (https://github.com/fga-eps-mds/2016.2-Observatorio-de-Residuos-Backend)
- Organização da Disciplina: (https://github.com/ObservatorioDeResiduos-GCES-2018)
- Meta-Coach: Paulo Markes
- Prato Aberto (Python)
- Site Oficial (https://pratoaberto.sme.prefeitura.sp.gov.br)
- Repositório Oficial (https://github.com/prefeiturasp?utf8=✓&q=prato+aberto&type=&language=)
- Meta-Coach: Ludimila Cruz
- Organização da disciplina e fork dos repositórios(https://github.com/MES-PratoAberto)
- Radar Parlamentar (Django Python)
- Página Oficial (http://radarparlamentar.polignu.org)
- Repositório Oficial (https://gitlab.com/radar-parlamentar/radar)
- Lista: http://lists.polignu.org/listinfo.cgi/radar-polignu.org
- Organização da Disciplina: (https://gitlab.com/GCES-Radar-2018.2/radar)
- Meta-Coach: Leonardo Leite
Projetos 2018/1
editar- Analizo/Metrics (Perl) /Doxyparse (C++)
- Página Oficial (http://www.analizo.org)
- Repositório (https://github.com/analizo/analizo)
- Repositório Disciplina (https://github.com/analizo-mes20181)
- Meta Coach: Joênio
- Kiskadee (Python)
- Página Oficial ()
- Repositório: (https://github.com/LSS-USP/kiskadee/graphs/contributors)
- Meta-Coach: David Carlos e Athos Ribeiro
- Repositório da Disciplina
- Wiki do grupo: Kiskadee - MES 2018/01
- SIGS - - Sistema Inteligente de Gestão de Salas
- Repositório: (https://github.com/fga-gpp-mds/2017.1-SIGS)
- Repositório da Disciplina: (https://github.com/MatheusRich/SIGS-GCES)
- MerendaMais
- Repositório: (https://github.com/fga-gpp-mds/2017.2-MerendaMais)
- Repositório Disciplina (https://github.com/Ronyell/2017.2-MerendaMais)
- Radar Parlamentar (Django Python)
- Página Oficial (http://radarparlamentar.polignu.org)
- Repositório Oficial (https://github.com/radar-parlamentar/radar)
- Repositório Disciplina (https://github.com/RadarParlamentar2018-1/radar)
- Lista: http://lists.polignu.org/listinfo.cgi/radar-polignu.org
- Meta-Coach: Leonardo Leite
- Noosfero (Ruby on Rails)
- Página Oficial (http://noosfero.org)
- Wiki do time GCES - Noosfero 2018/01
- Repositório Oficial (https://gitlab.com/noosfero/noosfero)
- Repositório Disciplina (https://gitlab.com/noosfero-gces/noosfero)
- Meta-Coach: Gabriel
Referências
editarReferências geradas pelos alunos da disciplina de Gerência de Configuração de Software
editarO material abaixo está originalmente na página Gerência de Configuração de Software
Sistemas de controle de versão
editarGit
editar- Git Básico
- Git básico (Renata e Pedro)
- Git Avançado
- Git Debugging: blame e bisect (Thaiane e Tomáz)
- Git: Cherry-Picking (Karine Valença e Murilo Duarte)
- Git Avançado (Daniel e Jônnatas)
- Git Internals e Gitinspector (Gustavo Coelho e Willian Gulgielmin)
- Git Stash e Apagar commit com force push (Júlio Xavier e Lucas Andrade)
- Git , squash e ammend. ( Gustavo Cavalcante )
- Ferramentas do Git (Gesiel Freitas e Vitor Borges)
- Self-hosted Git (Eduardo Castro e Mateus Andrade)
CVS e Subversion
editar- CVS
- CVS vs Git (Kleber e Gustavo Sabino)
- Subversion(SVN)
- Subversion - SVN (Attany e Keli)
Outras ferramentas de controle de versão
editar- Bazaar
- Bazaar 2.7 (Izabela e Tainara)
- Utilizando Bazaar para Controle de Versão (Iolane Andrade e Julliana Almeida)
- Mercurial
- Mercurial (Geovanni e Pedro)
- Mercurial SCM (Álvaro e Fábio Texeira)
- TFVC - Team Foundation Version Control (Jonathan Rufino e Lucas Mattioli)
- TFVC - Team Foundation Version Control (Luis Henrique e Vinicius Bandeira)
- Darcs (Alex Cortes e Vanessa de Andrade)
- Gogs - Open Source Self-Hosted Git Server (Omar e João Pedro)
- ISPW (João Paulo Busche e André Bedran)
Comparação entre ferramentas de controle de versão
editar- Github x Gitlab x Bitbucket (Isaac Borges)
- Mercurial vs Git (Tiago Assunção e Wesley Araujo)
- CVS x SVN x Git (João Guilherme e Victor Henrique)
- Mercurial vs Git (Marcos Dourado e Ruan)
Ambientes de desenvolvimento colaborativo de software
editar- GitLab
- GitHub x GitLab (Brenddon e Filipe Ribeiro)
- Privilégios e Permissão de Usuários e Grupos - GitLab x GitHub (Elmar Roberto e Guilherme Baldissera)
- SourceForge
- Trac
- Trac + git (Maxwell de Oliveira e Thiago Lima)
- Trac + Bazaar (Fagner)
- Savannah/Savane
- Bitbucket
- Bitbucket (Rafael Fazzolino e Matheus Godinho)
- Fossil (Ebenezer Andrade e Priscilla Gonçalves)
- Waffle & Zenhub (Fillipe Feitosa e Luciano Almeida)
- GitHub + Heroku + Slack (Thiago Meira,Luis Resende)
Integração Contínua
editar- Github - Travis (Gabriel e Luciano Prestes)
- Jenkins
- Gitlab CI
- TeamCity (Stefânia Bezerra e Matheus Oliveira)
- Travis CI - GitHub (Arthur Temporim e Eduardo Nunes)
- Github - Jenkins (Geison e Jhonatan)
- Travis (Jéssica Cristina e Sabryna de Sousa)
Deploy
editar- Automatizando a instalação (deploy) e atualização de sites com Git. (Dandara e João Henrique)
- Heroku - (Flávio Costa e Phelipe Wener)
- Heroku (Leonardo Arthur e Nicácio Arruda)
- GitHub + Heroku + Slack (Adailson e Marcelo)
- Parse server + Heroku + MongoDB (Vinicius Borges e João Pedro)
Automação de Build
editar- CMake (Vitor Nere e Alexandre)
- MakeFile (Marcelo Augusto e Igor Ribeiro)
- Containers, Automação e Build (PPT)
- Grunt (Pedro Sales)
- Maven (Gustavo Braz e Edson Gomes)
- Gulp (Fernando Aguilar)
Automação de Configuração de Ambiente
editar- Chef - Instalando o ambiente comum (Lucas Brilhante e Matheus de Sousa)
- Vagrant + Puppet: Criação de máquina automatizada (Victor Arnaud)
- Ferramenta de automatização Ansible (Victor Navarro e Vítor Barbosa)
- Puppet vs. Ansible (Anna Larissa e Halê Valente)
- Bower (João Vitor Araujo e Mateus Manuel)
- Snapcraft (Laércio Jr.)
Isolamento de Ambiente (Virtualização)
editar- Vagrant (Matheus Silva e Artur Bersan)
- Docker (Rafael Akiyoshi e Danilo Barros)
- Vagrant e Docker (Daniel Moura e Eduardo Gomes)
- Foreman (Kássia Catarine)
- Holodev (Jonathan Moraes)
Empacotamento
editar- Empacotamento (PPT)
- Empacotamento RPM básico (Luan Guimarães e Matheus Miranda)
- Empacotamento Debian básico (Daniel Henrique)
- NPM a package manager for javascript (Gabriel Silva)
- Gerenciamento de pacotes (Marcelo Ferreira e Mateus Furquim)
- Empacotamento RPM Basico (Alessandro e SImiao)
Outros
editar- Bugzilla: Visão Geral (Caique Pereira, Euler Carvalho)
- Savannah (Vinicius Carvalho e Vinicius Pinheiro)