Gestão de Configuração de Software Flashcards
Gestão de Configuração de Software
Controle, monitoramento e manutenção da consistência de desempenho, funcionalidades e características técnicas do software durante seu ciclo de vida.
Conceito
Identificar/documentar características de itens de configuração.
Controlar mudanças e registrar o processamento delas.
Verificar conformidade com requisitos.
Gerenciamento de Mudanças
Processo: Solicitação → Validação → Análise de impacto → Decisão.
Comitê decide com base em viabilidade, custo e benefícios.
Gerenciamento de Versões
Baseline: Conjunto de itens identificados e liberados para uso.
Codeline: Linha contínua de versões do código.
Envolve check-ins e check-outs do repositório.
Construção do Sistema
Ferramentas automatizadas para:
Geração de scripts, integração de versões, testes automatizados e criação de sistemas executáveis.
Gerenciamento de Releases
Controle e atualização de versões no ambiente de produção.
Tipos de releases:
- Principais: Novas funcionalidades (geralmente pagos).
- Menores: Correções (geralmente gratuitos).
ISO/IEC 15504 (SPICE)
Estrutura para avaliação e melhoria de processos de software.
Benefícios: Aumento da qualidade e redução de custos.
Otimização de sistemas.
CMMI (Capability Maturity Model Integration):
Nível 1 (Inicial), os processos são imprevisíveis, reativos e dependem de esforços individuais, resultando em alta variabilidade nos resultados e na falta de padronização.
Nível 2 (Gerenciado), práticas básicas de planejamento, controle e monitoramento são implementadas, com foco em requisitos, cronogramas e orçamentos, tornando os processos mais consistentes e documentados.
Nível 3 (Definido), os processos são padronizados e formalizados para toda a organização, com integração entre equipes e departamentos, promovendo maior uniformidade e eficiência.
Nível 4 (Gerenciado Quantitativamente) adiciona controle baseado em métricas e indicadores, permitindo a análise estatística e a previsão de desempenho e qualidade.
Nível 5 (Otimização Contínua) foca na melhoria contínua, adaptando processos e utilizando inovações para maximizar eficiência e qualidade.
Git
Controle de versões, rastreamento de alterações e colaboração em equipe.
GitHub
- Interface gráfica para commits e histórico.
- Pull requests para revisão colaborativa.
- Issues para tarefas e bugs.
- Integração com CI/CD para testes e deploys automatizados.
GitLab
- Foco maior em DevOps.
- Pipelines de CI/CD integrados.
- Suporte para auto-hospedagem, garantindo privacidade e segurança.