Este repositório tem como objetivo armazenar o trabalho da cadeira de "Gerência da Configuração de Software" da UNISINOS 2º Semestre/2018. Neste trabalho, será desenvolvido um glossário sobre verbertes relacionados a cadeira, como por exemplo, CMMI, IEEE, RUP e MPS-BR. Além do desenvolvimento das atividades ser feito de forma colaborativa pelos integrantes do grupo. Os verbetes que serão descritos nesse projeto são:
- Status da configuração
- Controle de modificadores
- Controle de modificadores
- Grupo/Comitê de Controle de Configuração
- Release
- Versão
- Branch/Ramo
- Processo de Software
- Qualidade de Software
- Auditoria funcinal da Configuração
- Acoplamento
Para este projeto serão utilizadas as seguintes ferramentas abaixo:
Pasta | Tipo | Descrição | Versão |
GitHub | Controle de Versão | Sistema de controle de versão. | Não se aplica |
Git Desktop | Acesso ao repositório | O GitDestkop é um programa responsável por realizar comandos para commitar os códigos, criar branchs, excluir informações entre outros. Porém sua vantagem é que tudo é realizado por uma interface gráfica, que aumenta a produtividade do desenvolvedor, já que não precisa decorar os comandos do terminal. | 1.35 |
Solução Alternativa - Git | Acesso ao repositório | O Git é um sistema de controle de versão distribuído gratuito e de código aberto projetado para lidar com tudo, de projetos pequenos a muito grandes, com velocidade e eficiência. O Git é fácil de aprender e tem uma pegada minúscula com desempenho extremamente rápido . Ele supera as ferramentas de SCM, como Subversion, CVS, Perforce e ClearCase, com recursos como ramificação local barata , áreas de preparação convenientes e vários fluxos de trabalho . | 2.19.0 |
Tipo | Ferramenta | Versão |
Sistema Operacional (Desenvolvimento) | Windows 10 | 10.0.17132 |
Sistema Operacional (Servidores) | Windows 10 | 10.0.17132 |
Cronograma | Trello | Não se aplica |
Planilha | Microsoft Office Excel | 2010 ou superior |
Editor de texto | Microsoft Office Word | 2010 ou superior. |
Antivirus | Avast | 18.6.2349 |
Controle de Versão | GitHub | Não se aplica |
Plataforma de Desenvolvimento | Ferramenta: Visual Studio | 1.23.0 |
Plataforma de Desenvolvimento | Linguagem: HTML | 5 |
Plataforma de Desenvolvimento | Linguagem: Javascript | 6 |
Plataforma de Desenvolvimento | Linguagem: Javascript | 6 |
Plataforma de Desenvolvimento | Linguagem: Jquery | 3.3.1 |
Plataforma de Desenvolvimento | Linguagem: CSS | 3 |
Browser - Principal | Google Chrome | 69.0.3497.100 |
Browser - Alternativo | Mozila Firefox | 62.0 |
Comunicação | 2.18.277 | |
Servidor de desenvolvimento | XAMP | 3.2.2 |
Servidor de desenvolvimento - Alternativo | WAMP | 3.0.6 |
Ambiente | Descrição | Transição |
Pré-Produção | Ambiente deverá conter a versão estável do sistema | Só deverá ocorrer a transição, quando o sistema ou a funcionalidade estiver em HOMOLOG e dado como OK. |
Homologação (HOMOLOG) | Ambiente deverá conter funcionalidades para testes, além da versão estavel | Só deverá ser realizado, a transição quando realizados testes em servidor locahost na máquina do colaborador, estiver OK. |
Ferramenta | Descrição | Observações |
CSS | CSS é a sigla para o termo em inglês Cascading Style Sheets, que traduzido para o português significa Folha de Estilo em Cascatas. O CSS é fácil de aprender, entender e é facilmente utilizado com as linguagens de marcação HTML ou XHTML | Não será utilizado nenhum tipo de framework |
HTML | HTML é uma das linguagens que utilizamos para desenvolver websites. O acrônimo HTML vem do inglês e significa Hypertext Markup Language ou em português Linguagem de Marcação de Hipertexto | Sem observações no momento. |
JS (JQuery) | JavaScript é uma linguagem de programação interpretada. Foi originalmente implementada como parte dos navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem com o usuário sem a necessidade deste script passar pelo servidor, controlando o navegador, realizando comunicação assíncrona e alterando o conteúdo do documento exibido. | Será utilizando também, o framework Jquery. Para mais informações, clique aqui |
Como este projeto só vai utilizar arquivo relacionado ao código a nomeclatura será bem simples como abaixo
Nome-do-Arquivo.formatoArquivo
Os espaços deverão ser considerado o sinal de '-'.
Para gerenciamento das mudanças, utilizaremos o Trello para registro. Cada cartão no Trello irá corresponder uma tarefa que deverá ser realizada.
O cartão pode conter os seguintes status ou seções abaixo:
- Tarefas: Ainda está a espera do desenvolvimento.
- Em andamento: A tarefa em questão está em desenvolvimento por algum colaborador.
- Em revisão: A tarefa deverá ser validada por integrante.
- Ajustado: Quando encontrado um problema, ela deverá ficar nesse status.
- Problema Encotrado: Quando encontrado um problema deverá ser revisado pelo desenvolvedor. Caso não seja de grande impacto, pode ser ajustada pelo próprio colaborador que encontrou o problema.
- Pronto para Branch Master: A tarefa fica na branch revision, pronta para ser subida para Master.
- Em Branch Master: A tarefa já foi finalizada e se encontra na Branch Master
As etiquetas serão representadas pelo modelos de qualidade como o MPS.BR.
Cor da etiqueta | Descrição |
Verde | CMMI |
Amarelo | IEE |
Laranja | MPS.BR |
Vermelho | RUP |
- Ter um navegador com compatibilidade com HTML5. (Preferência pelo navegador Google Chrome, em versões mais recentes).
A estrutura do projeto é composta pelas seguintes pastas abaixo:
Pasta | Descrição |
CSS | Pasta para armazenamento de arquivos de estilos |
IMG | Pasta para armazenamento de imagens do projeto |
JS | Pasta para armazenamento de arquivos JavaScript |
Referencial teórico | Pasta para de links e arquivos usados na pesquisa dos assuntos |
Dentro das pastas deverão ser criadas a seguinte estrutura
Pasta | Descrição |
Geral | Está pasta deverão ser colocados arquivo que serão usado em mais de um view |
View | Está pasta deverão ser colocados apenas arquivos correspondente a uma view. |
Os autores listados abaixo são todos alunos da Instituição Unisinos - São Leopoldo. A tabela tem como intuito mostrar as funções desempenhadas, onde durante o processo podem sofrer alterações.
Nome do colaborador |
Função |
Willian Keji | Gerente de configuração e Desenvolvedor |
Iago Slim | Desenvolvedor e Gerente de projeto |
Emmanoel Ferreira | Desenvolvedor |
Rodrigo Müller | Desenvolvedor |
As funcionalidades serão limitadas por tipo de função para maior controle de alterações, conforme a tabela abaixo.
Função | Acesso a Branch Revision | Acesso a Branch Master |
Gerente de configuração | Leitura, Alteração e Criação | Leitura, Alteração e Criação |
Gerente de projeto | Leitura, Alteração e Criação | Leitura |
Desenvolvedor | Leitura, Alteração e Criação | Leitura |
Analista de sistemas | Leitura | Leitura |
Qualquer tipo de usuário | Leitura | Leitura |
Para realizar o clone do projeto, seguir o comando abaixo
git clone https://github.com/keji100/TrabalhoGerenciaConfiguracaoSumario.git
Para realização de commits na Branch "MASTER", deverão ser autorizados pelo Gerente de configuração. Com isso, somente o Gerente de configuração terá autorização de commitar os arquivos como autorizar.
Inicialmente o desenvolvedor deve fazer uma cópia da Branch Master. Então as altarações devem ser feitas em cima desta cópia da linha Master, em seu repositório local. Após realizar suas alterações, ele deve efetuar o commit para a linha de revisão, onde sua alterção será submetida a uma revisão. Esta revisão decidirá se essa nova alteração irá para linha Master.
Sobre as branches
-
Master: Está branch só terá arquivos estáveis, conforme validações encontradas na "Política de Gerência de configuração".
-
Revision: Tem como objetivo, armazenar os arquivos que foram desenvolvidos, mas ainda não validados pelo colaboradores.