marcusmartinss/Trabalho-de-APC

Documentação: Definir Requisitos Funcionais e Não Funcionais por Engenharia Reversa

Open

#3 opened on Mar 7, 2025

 (0 comments) (0 reactions) (1 assignee)C (0 forks)auto 404
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

  1. Análise do Código

    • Revisar os principais módulos e funções existentes.
    • Identificar entradas, processamentos e saídas do sistema.
  2. Mapeamento das Funcionalidades

    • Listar todas as ações possíveis no sistema.
    • Criar fluxogramas ou diagramas para melhor visualização das operações.
  3. 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.
  4. 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.
  5. 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.

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.

Contributor guide