marcusmartinss/Trabalho-de-APC
Documentação: Definir Requisitos Funcionais e Não Funcionais por Engenharia Reversa
Open
#3 opened on Mar 7, 2025
documentationenhancementgood first issue
Repository metrics
- Stars
- (0 stars)
- PR merge metrics
- (PR metrics pending)
Description
Contexto do Problema
Atualmente, o projeto não possui um documento formal de requisitos, e o enunciado original do trabalho não está mais disponível. Isso dificulta a compreensão clara dos objetivos do sistema, a validação do escopo e futuras manutenções.
Para garantir a correta evolução do projeto e alinhar expectativas, é essencial realizar engenharia reversa do código-fonte para extrair e documentar os requisitos funcionais e não funcionais do sistema.
Objetivos
- Identificar e documentar os principais requisitos funcionais, ou seja, as funcionalidades que o sistema deve oferecer.
- Elicitar os requisitos não funcionais, como restrições de desempenho, armazenamento, compatibilidade e segurança.
- Criar uma documentação acessível e organizada para facilitar futuras implementações e revisões.
Plano de Ação
-
Análise do Código
- Revisar os principais módulos e funções existentes.
- Identificar entradas, processamentos e saídas do sistema.
-
Mapeamento das Funcionalidades
- Listar todas as ações possíveis no sistema.
- Criar fluxogramas ou diagramas para melhor visualização das operações.
-
Definição dos Requisitos Funcionais
- Descrever o que o sistema deve fazer com base nas funcionalidades identificadas.
- Exemplos:
- O sistema deve permitir o cadastro de voos com número, data, capacidade máxima, etc.
- O sistema deve possibilitar a reserva de passagens, vinculando passageiro a um voo.
-
Definição dos Requisitos Não Funcionais
- Documentar restrições de desempenho, segurança e compatibilidade.
- Exemplos:
- O sistema deve ser compatível com compiladores padrão C.
- O arquivo de dados deve ser salvo em formato binário para otimização de leitura e escrita.
-
Criação da Documentação
- Gerar um documento (
requirements.md) no repositório, contendo os requisitos levantados. - Utilizar Markdown para facilitar leitura e edição.
- Gerar um documento (
Tarefas
- Revisar e extrair funcionalidades do código.
- Listar requisitos funcionais e validar escopo.
- Identificar requisitos não funcionais relevantes.
- Criar documentação em
requirements.md.
Impacto esperado
- Melhor organização e compreensão do projeto.
- Facilita a colaboração com novos desenvolvedores.
- Torna futuras alterações e melhorias mais seguras e previsíveis.