Resumo de Engenharia de Software - Desenvolvimento de Software

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.