Grupo 1:
Ademir Almeida
Alef Deus
Maryellen Martins
Rafael Assis
Universidade Federal de Sergipe
Prof.: Rogério Patrício Chagas do Nascimento
Centro de Ciências Exatas e Tecnologia
Roteiro
1. Ferramentas de PlanejamentoA. Visão GeralB. Principais Ferramentas
2. Sistemas de Controle de Versão
A. Visão Geral
B. Controle de Versão Centralizado x Distribuído
C. Resumo das Operações Básicas dos Controles de Versão
D. Principais Ferramentas
3. Estudo de Caso
3
Visão Geral
● Gerenciamento de projetos:○ Redução de custos;○ Cumprimento de prazos;○ Eficácia no resultado;○ Mensuração de prazo.
● Necessidades dinâmicas.
5
Visão Geral
● Desenvolvimento de Software:○ Volatilidade de requisitos;○ Cumprir prazos;○ Orçamentos previstos.
6
● Parâmetros:○ Escopo do projeto;○ Riscos;○ Recursos necessários;○ Tarefas;○ Indicadores para acompanhamento;○ Esforços e custos;○ Linha de raciocínio a ser seguida.
Gerência de Projetos + Desenvolvimento de Projeto de Software
8
Ferramentas de gestão de projetos
● Métodos;● Processos;● Tempo real;● Alcance.
Recursos Tecnológicos○ Investimento; ○ Vantagem;○ Sucesso.
9
MS Project
● Microsoft - 1985
● Características:○ Planeamento do escopo do projeto;○ Acompanhar o progresso das atividades;○ Previsão de situações de riscos;○ Nivelamento dos recursos de forma gráfica;○ Geração de relatórios e gráficos;○ Diversas formas de apresentação (Gantt, Marcos, Calendário, etc.);○ Definição de níveis hierárquico por atividades.
11
OpenProj
● Projity - 2007;● Código aberto;
● Recursos:○ Custo do valor agregado;○ Gráfico de Gantt;○ Gráfico PERT;○ Gráfico de Estrutura Analítica de recursos (EAR);○ Relatórios de uso da tarefa;○ Gráfico de Estrutura Analítica de Projeto (EAP).
14
ProjectLibre
● 2012
● Novos recursos:○ Importa e exporta arquivos do/para o Microsoft Project 2010;○ Exportação para PDF;○ Nova interface de botões;○ Correções de erros e problemas OpenProj.
16
Comparativo
MS Project ProjectLibre
Multiplataforma x
Multiusuarios x
Notificações x
Acompanhamento em macro
x x
Dependências de tarefas
x x
Gráficos de Gantt x x
Suporte Scrum
Suporte Kanban19
Comparativo
MS Project ProjectLibre
Gerenciamento de portfólio de
projetosx
Gerenciamento de riscos
x
Gerenciamento de valor
agregadox x
Rastreamento de custos
x x
Rastreamento de tempo
x x
20
Introdução
● VCS ou SCM;● Utilização comum;● Soluções comerciais vs. soluções livres;● A eficácia do VCS inerente ao CMMI e SPICE;● Trabalho em equipe;● Integração com outros softwares.
28
Introdução
Gerações dos SCVs
Derivados de sistemas de gerenciamento de mudanças de registro;
1ª Geração● Orientados a arquivos e centralizados;● Baseada em bloqueio e fusões (merging);
● SCCS (Source Code Control System), 1972;● RCS (Revision Control System), início dos anos 80;● DSEE (Domain Software Engineering Environment), 1984.
29
Introdução
Gerações dos SCVs
2ª Geração● Uso de redes centralizadas; ● Uso de multi-arquivos e merge (fusão) antes do commit (envio);● Dick Grune escreve scripts que envolvem o RCS (1984-85);● Brian Berliner, Sistema de Versões Concorrentes (RCS) (1986-87);
● Subversion (SVN) vs CVS, 2000.● Camada SVK.
30
Introdução
Gerações dos SCVs
3ª Geração● Descentralizados;● Commit antes do merge;● Changesets; ● Maior parte open source;
● Arch (BitKeeper), 2002;● ArX, 2003;● Monotone, 2003;● BitKeeper 1997-98.
● Git, 2005● Baseado em conceito de instantâneo;● Descentralizado.
31
Visão Geral
As principais vantagens de se utilizar um sistema de controle de versão para rastrear as alterações feitas durante o desenvolvimento de um documento são:
● Controle do histórico;● Trabalho em equipe;● Marcação e resgate de versões estáveis;● Ramificação de projeto.
32
Introdução
Controle de Versão Centralizado
● Topologia em estrela;
● Único repositório central;
● Várias cópias de trabalho, uma para cada desenvolvedor;
● Comunicação apenas através do repositório central.
33
Introdução
Controle de Versão Distribuído
● Vários repositórios autônomos e independentes;
● Cada repositório possui uma área de trabalho acoplada;
● Comunicação através de commit e update.
34
Introdução
Controle de Versão Distribuído
Um repositório pode se comunicar com qualquer outro através das operações básicas pull (Puxar) e push (Empurrar). Não há necessidade de nenhuma topologia pré-definida.
35
Introdução
Distribuído vs centralizado
Tipo Vantagens Desvantagens
Centralizado● Controle de acesso● Cópia de segurança● Controle de Qualidade
● Dependência do repositório central
● Ponto único de falha
Distribuído
● Permite submissões particulares, offline
● Melhor suporte a ramificação e mescla
● Independência da rede(mais rápido)
● Estimula o isolamento de desenvolvedores
● Questões de privacidade e segurança
36
Introdução
Resumo das Operações Básicas dos Controles de Versão
Centralizado Distribuído Descrição
checkout clone Criação da cópia de trabalho/repositório
commit commit Envia alterações para o repositório criando uma revisão
update update Atualiza a cópia/área de trabalho em uma revisão
pull Importa revisões feita em outro repositório
push Envia revisões locais para outro repositório
37
Ferramentas Apresentadas
● Microsoft Team Foundation Server Reviews;
● Git;● Perforce;● Subversion;● Mercurial;● Rational ClearCase.
39
Team Foundation Server
● Também conhecido por TFS:○ Gerenciamento de projetos, requisitos, etc.○ Integração com Eclipse e o próprio Visual
Studio.● On-premises vs. online;
● Extensão: Java SDK e .NET Framework;
● Controle de Versão;
● Gerenciamento de Liberação.40
Git
● Global information tracker● Características:
○ Forte apoio ao desenvolvimento não-linear○ Desenvolvimento distribuído○ Compatibilidade com sistemas e protocolos
existentes○ Manipulação eficiente de grandes projetos
● Adoção;● Segurança.
41
Perforce
● Características:○ Histórico completo de revisões○ Interface Gráfica○ Multi-plataforma○ Suportes
● Modelo de concorrência;
● Branching e merging;
● Controle de acesso e segurança● Disponibilidade.
42
Subversion
● Conhecido por SVN;● Características:
○ Commits como verdadeiras operações atômicas
○ Merge tracking○ Tipos de repositório
● Sistema de arquivos;● Ramificação e marcação;● Limitações e problemas.
43
Mercurial
● História;● Características:
○ História segura com Mercurial○ Suporte para GUI○ Suporte ao Windows, Linux e MAC OS○ Fácil de Estender
● Design;● Adoção.
44
Rational Clear Case
● História;● Sistema de arquivos Multi-Versão:
○ Snapshot views● Suporte;● Integração com outras ferramentas.
45
Comparativo
Software/Característica
Mantenedor Modelo de Repositório
Licença SO Suportado
TFS Microsoft Cliente Servidor e distribuído
Proprietária Windows, cross-platform via
Visual Studio Team Services
GIT Junio Hamano Distribuído BSD LINUX, OS X, Windows
Perforce Perforce Software Inc
Cliente Servidor
Proprietária LINUX, OS X, Windows
SVN Apache Software Foundation
Cliente Servidor
Apache LINUX, OS X, Windows
ClearCase IBM Cliente Servidor
Proprietária Linux, Windows
Mercurial Matt Mackall Distribuído GNU GPL LINUX, OS X, Windows
46
Comparativo
Software/Característica
Linguagem de
Programação
Integração e/ou Plugins para IDEs
TFS C++ e C#Visual Studio. Java client for Eclipse IDE and IntelliJ IDEA
(standard in Ultimate Edition)
GIT C, shell scripts, Perl
Eclipse (JGit/EGit); Netbeans (NbGit); KDevelop; Visual Studio (Git Extensions); Emacs (extension for standard
VC); SAP Web IDE; TextMate (Git TextMate Bundle);
Perforce C++, C, LabVIEW
Eclipse, Visual Studio (P4SCC), KDevelop (standard?), IntelliJ IDEA (standard in Ultimate Edition), Komodo IDE,
BBEdit, Emacs (p4.el)
SVN CEclipse (Subclipse, Subversive), IntelliJ IDEA (standard in Community and Ultimate Editions), KDevelop (standard),
Netbeans, Visual Studio
ClearCase JavaEmacs, Eclipse ( IBM Proprietary, Eclipse-CCase ), Visual
Studio (IBM proprietary), KDevelop (standard?), IntelliJ IDEA (standard in Ultimate Edition)
Mecurial Python, CIntelliJ IDEA (hg4idea 3:rd party plugin), Eclipse,
NetBeans, Visual Studio 2008, Emacs, Vim, Komodo IDE, Eric Python IDE, WingIDE 47
Histórico e Motivação - Redmine
● Implantado em 2009 sob influência do professor Marcos Barbosa Dósea;
● Caractéristicas:○ Open-source;○ Fácil integração com outras ferramentas;○ Controle de atividades;○ Diagrama de Gantt e calendário;○ Documents: Deve ser ativado quando o projeto
possuir um repositório de documentos;○ Repository: Permite associar o projeto a um
repositório de versionamento.
50
Histórico e Motivação - SVN
● Pré-requisito para uso dos SIGs;● Instalado em 2009;● Integração com o Redmine (plugin);● Jekins:
○ Alteração no repositório;○ Testes automatizados;○ Atribuir status resolvido aos tickets.
52
55
Referências● Comparison of Version Control Software. Wikipédia. Disponível em:
<https://en.wikipedia.org/wiki/Comparison_of_version_control_software>. Acesso em 12 de Fevereiro de 2017.
● List of Version Control Software. Wikipédia. Disponível em: <https://en.wikipedia.org/wiki/List_of_version_control_software>. Acesso em 12 de Fevereiro de 2017.
● Team Foundation Server. Wikipédia. Disponível em: <https://en.wikipedia.org/wiki/Team_Foundation_Server>. Acesso em 12 de Fevereiro de 2017.
● Understanding Version-Control Systems (DRAFT). Disponível em: <http://www.catb.org/~esr/writings/version-control/version-control.html#history>. Acesso em 13 de Fevereiro de 2017.
● Um Histórico de Controle de Versão. Disponível em: <http://ericsink.com/vcbe/html/history_of_version_control.html>. Acesso em 13 de Fevereiro de 2017.
56
Referências● Conceitos Básicos de Controle de Versão de Software — Centralizado e
Distribuído. Disponível em: <https://blog.pronus.io/posts/conceitos-basicos-de-controle-de-versao-de-software-centralizado-e-distribuido/>. Acesso em 13 de Fevereiro de 2017.
● MS Project. Disponível em: <https://products.office.com/pt-br/project/project-management>. Acesso em 13 de Fevereiro de 2017.
● MS Project vs OpenProj.Disponível em: <http://www.tiespecialistas.com.br/2011/04/guia-do-openproj-x-microsoft-project-foco-em-gestao-de-projetos/>. Acesso em 17 de Fevereiro de 2017.
● ProjectLibre. Disponível em: <http://www.projectlibre.com/product/projectlibre-cloud>. Acesso em 12 de Fevereiro de 2017.
● MSProject vs ProjectLibreDisponível em: <http://project-management.zone/system/microsoft-project,projectlibre>. Acesso em 12 de Fevereiro de 2017.
Top Related