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

Histórico de Revisão

Data

Versão

Descrição

Autor

11/06/18

1.0

Adicionando Introdução, Ferramentas e Políticas.

Igor Gabriel

1. Introdução

Neste documento, será descrito o planejamento dos principais itens relevantes em relação a Gerência de Configuração de Software, com o objetivo de apresentar as ferramentas utilizadas na configuração do projeto além dos padrões de organização e nomenclatura a serem utilizados.

2. Item de Configuração

Um item de configuração é um artefato produzido no projeto que necessite de gerenciamento (itSMF, 2002). Portanto, para determinar quais ferramentas serão utilizadas e métodos de versionamento, determina-se quais serão os artefatos que se tornarão itens de configuração. Para o contexto deste projeto, serão considerados dois principais itens de configuração a serem mantidos:

  • Documentos: Arquivos em texto contendo planejamentos, descrição do produto e projeto e outros semelhantes.

  • Código: É um dos artefatos resultantes da execução do projeto, sendo composto por um conjunto de arquivos texto, que conterá o código de uma ou mais linguagens de programação, por exemplo Python.

3. Ferramentas

Ferramenta

Descrição

Git/Github

Sistema de versionamento em nuvem.

Python

Linguagem de programação utilizada para o desenvolvimento do projeto.

Gitbook

O gitbook é um gerador de sites com base em arquivos markdown.

Zenhub

Ferramenta para controle e distribuição de issues/histórias.

Atom

Editor de Texto.

Pip

Pip é um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python.

SQLite3/Python

Biblioteca para gerenciamento de banco de dados SQLite.

SQLAlchemy Migrate

fornece uma maneira de lidar com mudanças no esquema do banco de dados em projetos SQLAlchemy.

4. Políticas

4.1 Política de Contribuição na Documentação(GitBook)

Com o intuito de manter a rastreabilidade e controle das alterações feitas no gitbook ( gerador de sites com base em arquivos markdown) do projeto, o gitbook já fornece essa funcionalidade de rastreabilidade através de uma integração com o github, onde para cada modificação realizada em certo documento é gerado um commit em nosso repositório, dedicado a armazenar esses documentos gerados no gitbook.

4.2 Política de Commits

Os commits devem ser atômicos, representando uma funcionalidade ou parte dela. A mensagem deve descrever o que foi produzido, de forma sucinta. Além disso, o commit deverá ser em inglês.

4.3 Política de Branches

Haverá apenas um repositório com uma branch principal (master) e uma branch auxiliar de desenvolvimento (devel). Será necessária a criação de branches auxiliares para o desenvolvimento de cada história de usuário ou história técnica, essas serão ramificações da devel. Após o término da funcionalidade, os desenvolvedores responsáveis deverão mesclar o conteúdo da branch auxiliar na qual a funcionalidade foi desenvolvida com a branch auxiliar de desenvolvimento (devel). Essa tarefa deve ser realizada com o comando merge. A funcionalidade deverá ser integrada a master através do pull request, onde o qualidade do código será analisada.

4.4 Política de Aprovação do Código

O código será aprovado caso seja funcional e siga todas as especificações da folha de estilo com a aplicação das técnicas de programação, tais como: identação, presença de loggings, comentários, ou seja, o uso de programação defensiva. Além disso o código deverá conter uma cobertura de testes mínima determinada pelo time, assim como, satisfazer todos os requisitos das ferramentas de análise de código. O Scrum Master da sprint em questão deverá revisar o código presente em cada pull request. Caso não obedeça às regras e não seja explicado o não uso de uma das especificações estabelecidas acima o Scrum Master deverá recusar o pull request a branch mastere voltar a branch devel para a última versão estável.

Last updated