Conceito: Flowdown de Requisitos Suplementares
Flowdown de requisitos suplementares é a técnica de derivar requisitos não funcionais para os elementos de análise (e, por conseguinte, design).
Relacionamentos
Descrição Principal

Introdução

Como parte do processo de Análise, o Arquiteto desenvolve um diagrama de Localidade inicial. A visualização Localidade é uma síntese das considerações não funcionais e fornece um contexto para tratamento de requisitos não funcionais, como confiabilidade e capacidade.

A prática de engenharia padrão leva em consideração o orçamento de capacidade, taxas de defeitos permitidos e outros. Esse esforço resulta em um conjunto de requisitos suplementares derivados para cada elemento de localidade. As características de localidade são determinadas a partir desses requisitos. Os requisitos e características derivados são revisitados enquanto o particionamento de subsistemas (entre as localidades) é determinado e refinado.

Os Requisitos Suplementares no nível do sistema também têm um impacto sobre os próprios subsistemas (hardware, software, pessoas), com as características dos subsistemas, em combinação com as características de localidade para produzir as características do sistema desejadas.

Medidas de Qualidade de Serviço

A QoS (Qualidade de Serviço) é um conceito que inclui aspectos de requisitos não funcionais. A lista dessas características é potencialmente grande, incluindo várias "capacidades", como confiabilidade, capacidade de manutenção e utilidade e, possivelmente, especialidades completas de engenharia, como segurança, fatores humanos e assim por diante. Problemas significativos de especialidade da engenharia são geralmente tratados por especialistas nessas disciplinas. Os problemas que geralmente são atribuídos ao engenheiro de sistema e software são aqueles relacionados a:

  • Desempenho - a qualidade, no decorrer do tempo, com a qual o sistema desempenha suas funções, ou seja, o pronto atendimento, rendimento do processador, cumprimento de prazos.
  • Confiabilidade/Tolerância a Falhas - quanto tempo o sistema continua desempenhando suas funções requeridas antes de uma falha e como (de modo normal) ele lida com falhas parciais. A MTBF (Mean Time Between Failure) do sistema é uma medida de confiabilidade.
  • Manutenção - a facilidade de manter o sistema em execução e diagnosticar e corrigir problemas no sistema. O MTTR (Mean Time To Repair) do sistema é uma medida de manutenção.

Antes da construção do sistema, muitas vezes o engenheiro de sistema precisa contar com os modelos do sistema como uma maneira de definir soluções alternativas e com a designação e o orçamento de requisitos não funcionais. Esses modelos são analisados em relação a quanto eles atendem à qualidade desejada dos níveis de serviço e, então, uma solução possa ser selecionada (geralmente tendo o custo como um fator). Esses estudos de negócios são importantes no design do sistema em todos os níveis de refinamento. A síntese de soluções candidatas depende muito da capacidade e da experiência do Arquiteto. A análise dessas soluções (por meio da modelagem matemática, simulação e outros) deve ser relativamente mecânica. Ainda assim, a confiabilidade dessas análises variam consideravelmente em relação à boa qualidade dos dados de entrada e da fidelidade dos modelos.

Um conjunto de técnicas está disponível para tornar tratável a análise de modelos com relação às medidas de QoS listadas acima - por exemplo, Análise Uniforme de Taxa para o exame de desempenho de sistemas de software integrados de tempo real [consulte Klein, M. H., et al. A Practitioners' Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems, Kluwer Academic Publishers, 1993], e a FMECA (Failure Mode Effects and Criticality Analysis) para identificação e caracterização de defeito de hardware e risco de segurança [consulte Kececioglu, Dimitri, Reliability Engineering Handbook, Vol. 2,  PTR Prentice Hall, 1991].

O suporte para esses tipos de análise está sendo incluído na UML por meio da provisão de perfis, particularmente o "Perfil UML para Planejamento, Desempenho e Especificação de Tempo" e o "Perfil UML para Modelar as Características e os Mecanismos de Qualidade de Serviço e de Tolerância a Falhas". Esses perfis (disponíveis em www.omg.org) definem anotações para modelos UML que permitem que sejam analisados quanto às características definidas no perfil e quanto às previsões quantitativas feitas sobre essas características, utilizando várias técnicas e ferramentas de análise de modelo existentes e futuras.