Como vimos, o ciclo de software nasce da especificação funcional que chamamos de requisitos. Dada a sua importância para as atividades de desenvolvimento e verificação, vale a pena dedicar alguns capítulos para falar sobre eles.
Os requisitos em si sofrem uma evolução à medida em que vão migrando de um time para outro, tornando-se mais especializados e detalhados. O primeiro nível que é comum existir são os requisitos de mercado. São eles que direcionam quais devem ser as características do produto desenvolvido para que ele tenha uma boa aceitação no mercado, venda e gere lucros. Afinal, é este o objetivo das empresas. Neste nível pouco se escreve sobre detalhes dos sistemas, mas sim de características como desempenho, custo de operação e confiabilidade. O time que elabora estes requisitos não é somente técnico, pois é importante ter conhecimento do mercado e da concorrência.
A partir de aí os requisitos vão sendo desdobrados para níveis mais técnicos, sendo repartidos em requisitos para cada um dos sistemas que compõe o produto. No caso de produtos complexos, como automóveis e aviões, existem vários sistemas, como hidráulico, elétrico, freio, motor, etc. Cada um destes sistemas é especificado pelo time competente de forma que o conjunto dos sistemas satisfaça aqueles requisitos de nível superior.
O mesmo vai acontecendo para os próximos níveis na cadeia: os requisitos vão se desdobrando em partes e vao ficando mais específicos. Os requisitos de sistemas podem migrar para requisitos de hardware, que serão tratados por um time e requisitos de software que serão tratados por outro. Como já vimos, os requisitos de software costumam ter dois níveis, mas não é proibido que haja somente um ou mesmo três níveis.
Requisitos de alto nível de software, ou software high level requirements (HLR), precedem a elaboração da arquitetura no ciclo de vida do software. Estes, portanto, não conhecem a existência de componentes de arquitetura. O escopo dos HLR é o software integrado como um todo. Os requisitos descrevem como os sinais de saída se comportam em função dos sinais de entrada do software.
A definição da arquitetura do software torna possível uma divisão do software em elementos (componentes). Cada componente por sua vez terá suas próprias entradas e saídas, porém em um escopo reduzido de funcionalidade.
A escrita dos requisitos de baixo nível, low level requirements (LLR), é portanto a descrição do comportamento de cada um destes elementos da arquitetura, não sendo necessário mudar o estilo de escrita com relação ao nível superior. Trata-se da mesma atividade, aplicada a um escopo reduzido.

Comentários
Postar um comentário