57
FERRAMENTAS DE PLANEJAMENTO E CONTROLE DE VERSÃO

Apresentação Gerpro

Embed Size (px)

Citation preview

FERRAMENTAS DE PLANEJAMENTO E CONTROLE DE VERSÃO

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

F

P

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

Gerência de Projetos + Desenvolvimento de Projeto de Software

● Visualizar o projeto como um todo

7

● 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

P F

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

MS Project

12

MS Project

13

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

OpenProj

15

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

ProjectLibre

17

ProjectLibre Enterprise Cloud

18

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

F M Á

JIRA

Ferramentas para Métodos Ágeis

22

Slack

Ferramentas para Métodos Ágeis

23

Xplanner

Ferramentas para Métodos Ágeis

24

TRELLO

25

Ferramentas para Métodos Ágeis

KanbanFlow

26

Ferramentas para Métodos Ágeis

S C V

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

P F

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

E C :

NTI - UFS

Estudo de Caso

49

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

Redmine - Tela inicial

51

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

Workflow

53

Commit e relacionamento

54

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.

57

Dúvidas?

Obrigado!