Pé na Estrada

Fonte: Wikiversidade

Estudantes: Vinícius Carvalho e Vinícius Pinheiro

Introdução[editar | editar código-fonte]

Pé na Estrada é uma aplicação web que contém informações sobre as principais rodovias federais brasileiras, de modo a permitir o usuário realizar pesquisas sobre essas informações, tais como período e horários com maiores índices de acidentes, trechos que necessitam de maior atenção, visualização das estradas e trechos mais perigosos por meio de rota e plotagem de área no mapa.

Esse documento descreve o Plano de Gerenciamento de Configuração do software Pé na Estrada, desenvolvido na disciplina de Gerência de Configuração de Software (GCS) na Universidade de Brasília - Campus Gama.

Visão Geral[editar | editar código-fonte]

Esse plano de Gerenciamento de Configuração de Software possui como diretrizes uma organização em responsabilidades do projeto, modelo de GCS e as respectivas ferramentas utilizadas, e por fim resultados da implantação do gerenciamento.

Finalidade[editar | editar código-fonte]

A implantação desse plano tem por finalidade diminuir as ocorrências de problemas na configuração do da aplicação em outros ambientes, além de garantir maior qualidade no desenvolvimento de testes da aplicação, assegurando que as entregas de software aceitas estejam no nível aceitável definido pela equipe de gerencia e configuração.

Escopo[editar | editar código-fonte]

O estabelecimento do plano de configuração de software tem por escopo inserir ferramenta de controle da instalação da aplicação Pé na Estrada, preparar ambiente de desenvolvimento de testes unitários,integrar ferramenta de controle de testes e por fim relatar os resultados da implantação da gerencia de configuração de software. Para isso, devem ser seguidas diretrizes apresentadas em tópicos pelo plano de gerencia.

Definições, Acrônimos e Abreviações[editar | editar código-fonte]

Termo Significado
GCS Gerência de Configuração de Software
Build Versão do software composto por um ou mais itens de configuração
Baseline É um marco a partir da entrega de um ou mais itens de configuração
Issue Alguma funcionalidade/problema a ser entregue
Milestone Marco do Projeto
Pé na Estrada Software tratado por este documento. Trata-se de aplicação que informa ao usuário dados sobre acidentes nos trechos das BRs. Disponível em: https://github.com/rodrigoncalves/pe-na-estrada

A aplicação Pé na Estrada[editar | editar código-fonte]

Os que trafegam nas rodovias federais brasileiras estão cada vez mais suscetíveis à sofrer acidentes. Esse fato ocorre por diversos fatores, sendo a maioria destes relacionados às condições da estrada e/ou condições do motorista, tais como: imprudência dos condutores, excesso de velocidade, ingestão de bebidas alcoólicas, desrespeito à sinalização, falta de manutenção adequada dos veículos e entre outros fatores.

Baseado nesses tópicos é possível perceber que, ao trafegar por tais rodovias, é necessário ter cuidado com alguns fatores de risco. Para amenizar este problema é proposto o desenvolvimento de um sistema qualificado como ferramenta de visualização de índice de periculosidade das rodovias, que possa ser utilizado por pessoas que desejam planejar uma viagem passando por rodovias federais.

O objetivo da aplicação é disponibilizar informações referentes aos acidentes nas rodovias federais brasileiras por regiões e períodos do ano. Tais informações podem ser pesquisadas ou obtidas ao traçar a rota ou pesquisar sobre a rodovia federal que o condutor pretende trafegar através do número da mesma.

Funcionalidades da aplicação[editar | editar código-fonte]

Funcionalidade Característica
Pesquisar Rodovia Pesquisar sobre a rodovia que deseja obter informações.
Traçar Rota Traçar uma rota na rodovia escolhida pelo usuário.
Gerar Ranking Mostrar um ranking, em relação ao número de acidentes, das rodovias federais.
Selecionar Rota Mais Segura Traçar uma rota para o trajeto do usuário, usando a API do Google Maps, para indicar a rota mais segura.
Sinalização dos Trechos com maior índice de acidentes Visualizar por rodovia pesquisada os trechos perigosos que contém altos índices de acidentes dos motoristas das Rodovias Federais

Gerenciamento da Configuração de Software[editar | editar código-fonte]

Organização, Responsabilidade e Interfaces[editar | editar código-fonte]

Para realizar as atividades de Gerência de Configuração, os seguintes papéis e responsabilidades foram definidos:

Papel Responsabilidade Responsáveis
Gerente de Configuração Estabelecer políticas de CM,

Configurar ambiente de CM,

Escrever plano de CM,

Realizar auditoria de configuração,

Relatar status de configuração,

Criar unidade de implantação

Vinícius Carvalho

Vinícius Pinheiro

Desenvolvedores Analisa e cria os itens de configuração no código fonte Emilie Moraes

Tiago Assunção

Ítalo Paiva

Hugo Martins

Rodrigo Gonçalves

Ferramentas, Ambiente e Infra-estrutura[editar | editar código-fonte]

Para executar a gerência de configuração, as seguintes ferramentas serão utilizadas:

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

Ferramenta Descrição
Git Sistema de controle de versão distribuído e gerenciamento de código fonte
GitHub Serviço web hosting compartilhado que usa a ferramenta de versionamento Git

Ferramentas para Gerência de Configuração[editar | editar código-fonte]

Ferramenta Descrição
Vagrant Ferramenta que auxilia na configuração, reprodução e portabilidade de um ambiente de trabalho, permitindo maior flexibilidade e produtividade
Chef Ferramenta para configuração de software, usado para escrever “receitas”  de configuração do sistema, simplificando a tarefa de configuração e manutenção de servidores
Travis Serviço de integração contínua distribuído usado para construir e desenvolver software
JUnit Framework para criação de testes automatizados

O Programa de Gerência de Configuração[editar | editar código-fonte]

Controle de Configuração e Mudança[editar | editar código-fonte]

Com o que iremos contribuir[editar | editar código-fonte]

Atividades a serem desenvolvidas:

  • Integração contínua
  • Criação de infra-estrutura padrão para desenvolvimento
  • Cobertura de testes unitários e funcionais

Processamento e Aprovação da Solicitação de Mudança[editar | editar código-fonte]

As mudanças são propostas ao projeto pelo recurso issue oferecido pela ferramenta de forge GitHub, onde o solicitante descreve a mudança. Com isso, as propostas são analisadas em termos de viabilidade de implantação, e se viáveis são aprovadas seguindo para o comitê de controle de mudança

Estimativa do Status de Configuração[editar | editar código-fonte]

Processo de Armazenamento de Mídia e Liberação do Projeto[editar | editar código-fonte]

O projeto deverá ser armazenado no GitHub e deve estar disponível em código aberto. A cada milestone cumprido, deve ser lançado uma nova release.

Cronograma[editar | editar código-fonte]

Semana Período Atividade
Semana 1 20/04 - 26/04 Levantar ferramentas, Definir cronograma e criar plano de GCS
Semana 2 27/04 – 03/05 Estudo de ferramentas e forma de trabalho
Semana 3 04/05 – 10/05 Estudo de ferramentas e forma de trabalho
Semana 4 11/05 – 17/05 Criação de maquina virtual usando o Vagrant
Semana 5 18/05 – 24/05 Criação de maquina virtual usando o Vagrant
Semana 6 25/05 – 31/05 Utilização da Ferramenta Chef
Semana 7 01/06 – 07/06 Implementar Integração Contínua
Semana 8 08/06 - 14/06 Implementar Integração Contínua
Semana 9 15/06 - 21/06 Automação da Implantação
Entrega 22/06 Apresentação de Trabalho realizado

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

https://en.wikipedia.org/wiki/Travis_CI

https://pt.wikipedia.org/wiki/Git

https://pt.wikipedia.org/wiki/GitHub

https://www.vagrantup.com/docs/

https://www.chef.io/chef/

http://junit.org/junit4/