Para fornecer uma base que permitirá compreender a organização do processo do sistema, uma visão de arquitetura chamada visão de processos é utilizada na disciplina Análise e Design. Existe somente uma visão de processos do sistema, que ilustra a decomposição do processo do sistema, incluindo o mapeamento das classes e dos subsistemas para processos e threads. A visão de processos é refinada durante cada iteração. Como declara [BOO98]: "Com a UML, os aspectos estáticos e dinâmicos desta visão são capturados nos mesmos tipos de diagramas que a visão de design, ou seja, em diagramas de classes, diagramas de interação, diagramas de atividades e diagramas de estados, mas com um enfoque nas classes ativas que representam esses threads e processos." O que interessa na construção e uso da visão de processos é, por exemplo, as questões de simultaneidade, o tempo de resposta, o deadlock, a taxa de transferência de dados, a tolerância a falhas e a escalabilidade.

É possível projetar a simultaneidade sem utilizar o suporte direto ao sistema operacional básico usando, por exemplo, um programador especialmente escrito ou outro suporte em tempo de execução. Nesses casos, a simultaneidade é simulada no nível da infra-estrutura do aplicativo, e não no sistema operacional. Se necessário, outros estereótipos (além dos threads e processos padrão) podem ser usados para fazer essa distinção (a fim de conduzir a implementação). Por exemplo, a linguagem de programação Ada contém seu próprio modelo de simultaneidade, baseado em tarefas Ada. O tempo de execução da linguagem Ada deve fornecer isso, independentemente de o sistema operacional em que ela é executada ter ou não um equivalente apropriado (os threads, por exemplo) que possa ser utilizado para oferecer suporte às tarefas Ada.

Nos sistemas em tempo real, o Rational Unified Process recomenda o uso de Cápsulas para representar as classes ativas na visão de processos. As cápsulas possuem uma semântica forte para simplificar a modelagem da simultaneidade:
  • elas usam uma comunicação assíncrona baseada em mensagens por meio de Portas que utilizam Protocolos bem definidos;
  • elas usam uma semântica de execução-conclusão no processamento de mensagens;
  • elas encapsulam objetos passivos (assegurando que não pode ocorrer a interferência do thread).

A visão de processos mostra a organização do processo do sistema.

Existem quatro visões adicionais: Visão de Casos de Uso (abordada na disciplina Requisitos), Visão Lógica, Visão de Implantação e Visão de Implementação. As três últimas visões mencionadas são abordadas na disciplina Análise e Design e na disciplina Implementação.

As visões de arquitetura estão documentadas em Documento de Arquitetura de Software. Você pode incluir diferentes visões como, por exemplo, uma visão de segurança para comunicar outros aspectos específicos da arquitetura do software.

Portanto, basicamente, as visões de arquitetura podem ser consideradas abstrações ou simplificações dos modelos criados, em que você ressalta as características importantes, deixando os detalhes de lado. A arquitetura é um importante meio de aumentar a qualidade de qualquer modelo criado durante o desenvolvimento do sistema.

Copyright  (c) 1987 - 2001 Rational Software Corporation


Exibir o Rational Unified Process usando quadros

Rational Unified Process