Existem outras classificações de requisitos, além do nível. Eles podem ser de tipos: funcionais, interface, performance, safety, operacional, entre outros.
Os requisitos funcionais são os mais numerosos. Eles descrevem o comportamento do software nas condições normais e anormais. As condições podem ser definidas por fórmulas, fluxogramas e casos de uso (conhecidos da linguagem UML). Nas condições anormais, os chamados de requisitos de robustez definem como o software deve agir em condições de falha, entradas desconhecidas, estados inesperados, e são importantes para que não haja comportamentos imprevistos. Todas estas situações são testadas de forma que o comportamento do software seja sempre conhecido.
Exemplo: O software deve enviar na saída S a média das entradas E1, E2 e E3 quando a função selecionada for "média".
Em conjunto com os requisitos funcionais existem os requisitos de interface. Enquanto os funcionais descrevem o funcionamento, os requisitos de interface descrevem o formato em que o software (ou os componentes de software) recebem e enviam os dados. Deve haver requisitos de interface para os dados trocados externamente pelo software, mas também para os dados trocados entre os componentes identificados na arquitetura. Requisitos de interface, muitas vezes em forma de tabelas, apresentam as características destes dados, como nome, tipo de dado (booleano, inteiro, ponto flutuante), produtores, consumidores, faixa de valores normais (normal range) e no caso de dados de saída, a tolerância a ser utilizada nos testes. Boa parte destes atributos é utilizada na própria interface das funções, ou seja, nas assinaturas das funções. Ranges e tolerâncias não são implementáveis diretamente, mas são levadas em consideração para que quando testado, o software se comporte corretamente em todo o range, dentro das tolerâncias especificadas. Eles influenciam a escolha do número de casas decimais das variáveis e constantes e na escolha do número de bits das variáveis, ou seja, nos seus tipos de dados.
Exemplo:
Nome: S
Tipo de dado: ponto flutuante
Produtor: Componente "Média"
Consumidor: Componente "Consolidador"
Faixa normal: -1000.0 a +1000.0
Tolerância: 0.1%
Em menor número, existem os outros tipos de requisitos. Os requisitos operacionais, descrevem características do uso do software pelo usuário e é difícil encontrá-los no nível de requisitos de software. Os requisitos de performance descrevem o desempenho mínimo esperado, como tempo de resposta, consumo de processamento e memória. Os requisitos de safety descrevem o nível de rigor que o software precisa cumprir para atingir a segurança necessária na sua operação. Percebam que nenhum destes requisitos é diretamente implementado no software, como era o caso dos requisitos funcionais e de interface. Eles são consequência indireta da implementação do software, inclusive do processo utilizado.
Exemplos:
O software deve disponibilizar uma interface textual do tipo terminal para o usuário.
O software deve calcular todas as saídas em no máximo 2 milisegundos.
O software deve ser tolerante (não travar) ao recebimento de dados corrompidos.

Comentários
Postar um comentário