Resumo de Engenharia de Software - Metodologia de desenvolvimento de software

Metodologia de desenvolvimento de software

Metodologia de Desenvolvimento de Software para Concursos Públicos

1. Conceitos Fundamentais

Metodologia de desenvolvimento de software é um conjunto de processos, técnicas e práticas para planejar, gerenciar e executar projetos de software. Engloba modelos de ciclo de vida, abordagens ágeis e tradicionais, além de boas práticas de engenharia de software.

2. Modelos Tradicionais (Cascata, Iterativo, Espiral)

Cascata (Waterfall): Sequencial (requisitos, design, implementação, testes, manutenção). Rígido, usado em projetos com requisitos bem definidos.

Iterativo: Divide o projeto em ciclos (iterações), entregando partes funcionais incrementalmente.

Espiral: Combina prototipação e cascata, com foco em riscos. Quatro fases: planejamento, análise de riscos, desenvolvimento e avaliação.

3. Metodologias Ágeis (Scrum, XP, Kanban)

Scrum: Baseado em sprints (iterações curtas), com papéis definidos (Product Owner, Scrum Master, Time). Artefatos: Product Backlog, Sprint Backlog.

XP (Extreme Programming): Ênfase em programação em pares, testes automatizados e integração contínua.

Kanban: Visualização do fluxo de trabalho (quadro com colunas "To Do", "Doing", "Done"), limitando trabalho em progresso.

4. Outras Abordagens (RUP, DevOps)

RUP (Rational Unified Process): Framework iterativo com fases (iniciação, elaboração, construção, transição) e disciplinas (requisitos, modelagem).

DevOps: Integra desenvolvimento e operações, automatizando processos (CI/CD) para entregas rápidas e confiáveis.

5. Tópicos Relevantes para Concursos

  • Diferenças entre modelos ágeis e tradicionais.
  • Artefatos do Scrum (Backlog, Burndown Chart).
  • Vantagens e desvantagens de cada metodologia.
  • Conceitos de MVP (Minimum Viable Product) e entregas incrementais.
  • Papéis em metodologias ágeis (Scrum Master, Product Owner).