Prévia do material em texto
Engenharia de Requisitos de Software é a disciplina que estabelece a ponte entre necessidades humanas, objetivos organizacionais e a construção sistemática de sistemas de software. Enquanto outras áreas do desenvolvimento focam em implementação, desempenho ou manutenção, a engenharia de requisitos concentra-se em identificar, documentar, validar e gerenciar aquilo que o software deve fazer e as qualidades que ele deve possuir. Tratando-se de um campo técnico, exige métodos, modelos e artefatos que garantam precisão sem perder de vista a comunicação entre stakeholders. O processo de engenharia de requisitos pode ser subdividido em atividades bem definidas: elicitação, análise, especificação, verificação/validação e gestão. Elicitação é a extração das necessidades a partir de fontes diversas — usuários finais, gestores, regulamentos, sistemas legados — por meio de entrevistas, workshops, observação e prototipagem. Análise refere-se à reconciliação de conflitos, priorização e decomposição de requisitos em elementos coerentes. Especificação é a representação formal ou semi-formal dos requisitos, usando linguagem natural controlada, modelos UML, user stories ou especificações formais quando necessário. Verificação e validação asseguram que os requisitos estejam corretos, completos e testáveis. Gestão de requisitos trata de rastreabilidade, controle de versão, impacto de mudanças e alinhamento contínuo com objetivos de negócio. Do ponto de vista técnico, requisitos não são apenas enunciados funcionais; incluem atributos de qualidade — desempenho, segurança, confiabilidade, usabilidade, compatibilidade — e restrições técnicas ou regulatórias. A engenharia de requisitos exige que esses tipos distintos sejam tratados com técnicas apropriadas: requisitos funcionais frequentemente beneficiam-se de casos de uso e user stories; requisitos não-funcionais demandam métricas mensuráveis (ex.: tempo de resposta