Pular para conteúdo

Processo de Desenvolvimento de Software

Estratégias de Engenharia de Software

Estratégia Priorizada

Campo Decisão
Abordagem Dirigida por Plano
Ciclo de Vida Sequencial
Processo Modelo V com Prototipagem

A abordagem dirigida por plano foi escolhida por enfatizar a previsibilidade, a estrutura e a documentação detalhada em todas as fases do desenvolvimento de software. O Ciclo de Vida sequencial será de alta importância por facilitar o desenvolvimento assíncrono da solução após a fase inicial de Requisitos e Prototipação, que serão feitas juntamente ao representante do cliente. A inclusão de uma fase de prototipagem de alta fidelidade como marco de validação complementa a abordagem, garantindo que a interface, usabilidade e fluxo das funcionalidades estejam alinhados com as expectativas dos stakeholders. O desenvolvimento do código-fonte será acompanhado por testes, estabelecendo uma rastreabilidade clara entre requisitos, protótipo e implementação, evitando retrabalho custoso e garantindo qualidade interna além da validação visual.

Quadro Comparativo

Critério Cascata Modelo V Unified Process (UP)
Estrutura de Fases Sequencial linear (Req → Design → Impl → Teste → Entrega) Sequencial com correspondência teste-desenvolvimento (estrutura em V) Iterativo com fases sequenciais (Inception, Elaboration, Construction, Transition)
Foco em Testes Testes após desenvolvimento completo Testes planejados em paralelo com desenvolvimento, correspondência direta requisito-teste Testes integrados em cada iteração
Níveis de Teste Teste de sistema e aceitação Testes em múltiplos níveis (unidade, integração, sistema, aceitação) Testes em múltiplos níveis por iteração
Rastreabilidade Requisitos → Documentação → Código Requisitos → Testes (cada nível de requisito tem teste correspondente) Requisitos → Artefatos → Código (por iteração)
Validação com Cliente Formal ao final da fase de requisitos Formal ao final de requisitos + contínua durante testes Contínua em cada iteração
Gestão de Mudanças Rigorosa e formal Rigorosa com propagação para planos de teste Formal mas adaptável
Documentação Muito abrangente Muito abrangente Abrangente com foco em essencial
Início da Codificação Após aprovação completa de requisitos Após aprovação de requisitos e planejamento de testes Progressivo, por iteração
Adequação a Requisitos Estáveis Alta Alta Moderada
Adequação a Requisitos Parcialmente Definidos Baixa Baixa Alta
Detecção Precoce de Problemas Moderada (descoberta tardia) Alta (testes planejados antecipadamente) Alta (feedback contínuo)
Redução de Retrabalho Moderada Alta (problemas detectados cedo) Alta (iterações curtas)
Adequação ao Contexto Acadêmico Alta Alta Alta
Adequação a Equipes Pequenas Moderada Moderada Alta
Complexidade do Processo Baixa Moderada Alta

Justificativa

A escolha pelo Modelo V como Ciclo de Vida fundamenta-se em três argumentos principais:

Validação em múltiplos níveis: O Modelo V estabelece uma correspondência direta entre cada nível de requisito e seu respectivo nível de teste. Esta estrutura garante que a funcionalidade seja validada não apenas do ponto de vista do usuário (através do protótipo), mas também internamente em cada camada da arquitetura, reduzindo significativamente o risco de defeitos não detectados.

Detecção precoce de problemas através da rastreabilidade: Ao contrário do Cascata tradicional, onde testes ocorrem apenas após o desenvolvimento completo, o Modelo V planeja os testes em paralelo com o desenvolvimento. Esta abordagem permite que ambiguidades ou inconsistências nos requisitos sejam identificadas cedo, durante a elaboração dos planos de teste, evitando retrabalho custoso nas fases posteriores, o que também gera indicações cedo de problemas referentes à capacidade técnica da equipe ou de algum processo.

Desenvolvimento Assíncrono: Com a estratégia definida, a equipe poderá desfrutar de um modelo base (protótipo) para realizar o desenvolvimento sem o envolvimento direto do cliente em diversas instâncias para esclarecimento ou desenvolvimento de requisitos. Quando necessário, o acordo feito pelo aceite do protótipo pode sempre ser revisado com novos requisitos ou desejos, desde que devidamente comunicado e aceito também pela equipe de desenvolvimento.


Engenharia de Requisitos

Atividades e Técnicas de ER

As atividades da Engenharia de Requisitos foram mapeadas para se alinharem à estrutura do Modelo V, garantindo que cada etapa produza os artefatos necessários para a fase subsequente e que testes sejam planejados em paralelo com o desenvolvimento.

Elicitação e Descoberta

Entrevistas e Discussões: Reuniões periódicas para levantar necessidades, expectativas e restrições do negócio de forma aprofundada.

Análise de documentos e tecnologias existentes: Revisão de materiais teóricos e dados sobre a evasão de jovens aprendizes para embasar a solução, assim como tecnologias utilizadas no contexto da solução.

Brainstorming: A Equipe, junto e separado do cliente, irá gerar ideias e visões gerais para então serem acordadas com o cliente.

Análise e Consenso

MoSCoW: Técnica de priorização para definir claramente o escopo do que deve estar presente na versão final.

Prototipagem: Técnica para representar a compreensão do requisito e moldar conforme feedback dos envolvidos.

Entrevista: Reuniões com o cliente para discussão dos requisitos e viabilidade dos mesmos.

Declaração

Especificação Formal: Documentação detalhada dos requisitos funcionais e não funcionais, servindo como contrato para o desenvolvimento e como base para os planos de teste.

User Stories: Descrições focadas no valor entregue aos instrutores e orientadores, complementadas por critérios de aceitação testáveis.

Representação

Prototipagem: Criação de interfaces interativas e navegáveis que representam fielmente o produto final, servindo como validação dos requisitos de negócio.

Wireframes: Esboços iniciais para validação rápida de estrutura antes da alta fidelidade.

Verificação e Validação

Inspeção Técnica / Revisão: Revisão interna da equipe sobre a documentação gerada, incluindo verificação de completude, consistência e testabilidade dos requisitos.

Feedback do Protótipo: Sessões com o cliente para aprovação dos requisitos de negócio através do protótipo de alta fidelidade, marco essencial para o avanço do projeto.

Execução de Testes em Múltiplos Níveis: Durante o desenvolvimento, testes são executados em diversos níveis, estabelecendo correspondência direta com os requisitos.

Rastreamento de Defeitos: Mapeamento de defeitos encontrados durante testes de volta aos requisitos que os geraram, facilitando correção e aprendizado.

Organização e Atualização

Matriz de Rastreabilidade Completa: Mapeamento entre os requisitos declarados, as telas do protótipo, os módulos de código e os testes correspondentes.

Controle de Mudanças Formal: Qualquer alteração solicitada após a aprovação do protótipo passará por análise de impacto, considerando não apenas o código, mas também os planos de teste correspondentes, mantendo a integridade da estrutura em V.

Mapeamento ER × Processo

Fase do Processo (Modelo V) Atividade ER Técnica Principal Resultado Esperado
1. Requisitos Elicitação e Análise Entrevistas e Discussões + Brainstorming Lista abrangente de necessidades, desejos e frustrações
1. Requisitos Análise e Consenso Prototipagem + Entrevista Escopo definido, priorizado e estruturado por níveis
1. Requisitos Declaração Especificação Formal + User Stories Documento de Requisitos v2.0 com rastreabilidade
1. Requisitos Organização e Atualização Matriz de Rastreabilidade Mapeamento dos requisitos com objetivos e características
2. Design/Prototipagem Representação Protótipo de Alta Fidelidade + Wireframes Protótipo navegável + Planos de teste em paralelo
3. Validação Verificação e Validação Revisão + Feedback Protótipo de Alta Fidelidade aprovado para desenvolvimento
4. Implementação Verificação e Validação Inspeção Técnica/Revisão + Testes + Rastreamento de Defeitos Código com testes de unidade passando
4. Implementação Organização e Atualização Matriz de Rastreabilidade Rastreamento dos testes e seus resultados
5. Integração Verificação e Validação Inspeção Técnica/Revisão + Testes Módulos integrados com testes de sistema passando
5. Integração Organização e Atualização Matriz de Rastreabilidade Rastreamento dos testes e seus resultados
6. Testes de Aceitação Verificação e Validação Testes de Aceitação baseados no protótipo Software validado contra requisitos e protótipo
7. Entrega Verificação e Validação Feedback Cliente aprova a entrega completa ou realize o último pedido de ajustes rápidos
7. Entrega Organização e Atualização Matriz de Rastreabilidade Completa MVP em produção com documentação completa

Histórico de versões

Versão Data Descrição
1.0 13/04 Versão inicial do documento
2.0 05/05 Mudança na Estratégia de Desenvolvimento e ajustes correspondentes