Desenvolvimento de Software
Desenvolvimento de Software para Concursos Públicos
O desenvolvimento de software é um dos pilares da Engenharia de Software, envolvendo processos, metodologias e técnicas para criar sistemas de qualidade. Em concursos, os tópicos mais cobrados incluem:
1. Ciclo de Vida do Software
Conjunto de etapas desde a concepção até a descontinuação do software. Modelos tradicionais (Cascata, Iterativo) e ágeis (Scrum, XP) são frequentemente questionados.
2. Metodologias Ágeis
Abordagens iterativas e incrementais, com foco em entregas rápidas. Destaque para Scrum (Sprints, Product Owner, Daily Meetings) e Kanban (fluxo contínuo).
3. Análise e Projeto de Software
UML (diagramas de caso de uso, classes, sequência), requisitos funcionais/não-funcionais e técnicas de modelagem (OO, estruturada).
4. Padrões de Projeto (Design Patterns)
Soluções reutilizáveis para problemas comuns, como Singleton, Factory, Observer e MVC (Model-View-Controller).
5. Verificação e Validação
Testes de software (unitários, integração, sistema), TDD (Test-Driven Development) e ferramentas (JUnit, Selenium).
6. Arquitetura de Software
Estilos arquiteturais (Camadas, Cliente-Servidor, Microserviços) e atributos de qualidade (escalabilidade, segurança).
7. Boas Práticas e Qualidade
Princípios SOLID, DRY, Clean Code e métricas (complexidade ciclomática, cobertura de testes).
Dicas para Concursos
Foque em definições formais (IEEE, ISO/IEC), diferenças entre modelos/métodos e casos práticos de aplicação. Questões costumam abordar cenários de escolha de metodologias ou identificação de artefatos.