Requisitos de Software e Engenharia de Requisitos - gabrielf7/Engenharia-Software-ERROR418 GitHub Wiki

Requisitos de Software

Requisitos de software são as ações que o software deve executar, possuindo características e condições próprias, de forma a automatizar uma tarefa de um processo de negócio, além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com os usuários.A classificação de requisitos é dividido em 2 tipos, são eles Requisitos Funcionais(RF) e Requisitos Não Funcionais(RNF).

Requisitos Funcionais

Indicam as funcionalidades e informações que o software deve fornecer para o cliente, além de definir como se comportará em determinadas situações. Exemplos: "[RF003] O sistema deve emitir um relatório com o histórico de compras do cliente.", "[RF006] Caso o usuário realize a transação, mudar o status de "em andamento" para "concluído".". Nota-se que nesses exemplos podemos identificar um Requisito Funcional por meio das letras "RF", e logo em seguida, é passado uma função ou característica que deve ser implementada no sistema, como por exemplo, o requisito funcional 003, que emite um relatório com o histórico de compras do cliente.

Requisitos Não Funcionais

É um pré-requisito essencial para o desenvolvimento de sistemas, nele descreve como as funcionalidades serão entregues ao usuário, ademais, é critérios que qualificam os Requisitos Funcionais. Os Requisitos Não Funcionais focam em como será feito, diferente dos Requisitos Funcionais, que focam no que vai ser feito. Os Requisitos Não Funcionais são divididos em 3 tipos. São eles: Requisitos de Produto Final, Requisitos Organizacional e Requisitos Externo.

  • Requisitos de Produto Final

    Este tipo está relacionado com a confiabilidade, velocidade de execução, latência, segurança, taxa de erros e etc.

  • Requisitos Organizacional

    Os requisitos organizacionais são relacionados com os procedimentos organizacionais, é desenvolvido de acordo com a política da empresa. Ex: Infraestrutura, conexão, linguagem de programação, além de outros procedimentos.

  • Requisitos Externos

    Os requisitos externos são responsáveis por fatores externo relacionado ao software, como por ex: legislação, políticas de proteção de dados e etc.

Engenharia de Requisitos

A Engenharia de Requisitos é responsável pela documentação de requisitos e englobar conjuntos de tarefas a serem documentadas, a Engenharia de Requisitos possibilita a criação e manutenção do software. Essa engenharia é dividida em 7 partes:

Concepção:

São identificados as partes interessadas e seus diversos pontos de vista sobre o problema e influências. Então, é elaborado a visão geral do sistema a ser desenvolvido caracterizado por necessidades dos que interessam.

Elicitação:

Nessa atividade levam-se em conta as necessidades dos usuários e clientes, ou seja, tornar explícito e obter o máximo de informação para o conhecimento do objeto em questão.

Elaboração:

São detalhados em modelos conceituais os requisitos descritos em linguagem natural. O principal objetivo de eliminar ambiguidades, inconsistências, omissões e erros dos requisitos.

Negociação:

O propósito dessa fase é verificar os conflitos entre os requisitos para negociar as soluções com as partes interessadas priorizando, combinando ou modificando os requisitos.

Especificação:

desenvolve-se os requisitos de sistema que devem atender as condições de usuário. Na especificação passa da perspectiva do problema (requisitos de usuário) para a perspectiva da solução (requisitos de sistema).

Validação:

A cobertura do sistema é validada, ou seja, o atendimento de todos os requisitos de usuário pelo sistema proposto. E, é similar o aceite das partes interessadas sobre os requisitos desenvolvidos.

Gerenciamento:

Esse processo envolve atividades que ajudam a equipe a identificar, controlar e rastrear requisitos e gerenciar mudanças de requisitos em qualquer momento ao longo do ciclo de vida do software. Dessa forma, a gerência de requisitos possui as seguintes atividades: controle de mudanças, controle de versão, acompanhamento do estado dos requisitos e rastreamento de requisitos.