Para fornecer uma base para compreender a organização do processo do sistema, uma visualização arquitetural denominada
visualização do processo é utilizada na disciplina Análise e Design. Existe apenas uma visualização do processo
do sistema, que ilustra a decomposição do processo do sistema, incluindo o mapeamento de classes e subsistemas para processos e encadeamentos. A
visão de processos é refinada durante cada iteração. Como [BOO98] afirma:
"Com a UML, os aspectos estáticos e dinâmicos desta visualização são capturados nos mesmos tipos de diagramas que a
visualização de design, ou seja, diagramas de classes, diagramas de interação, diagramas de atividades e diagramas de
estados, mas com um foco nas classes ativas que representam esses encadeamentos e processos". Simultaneidade, tempo de
resposta, conflito, rendimento do processamento, tolerância a falhas e escalabilidade são preocupações ao construir e
utilizar a visualização do processo.
É 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.
Em sistemas em tempo real, o Rational Unified Process recomenda o uso de Cápsulas
para representar classes ativas na visualização do processo. As cápsulas possuem uma semântica forte para simplificar a
modelagem da simultaneidade:
-
Elas utilizam a comunicação baseada em mensagens assíncronas por meio de Portas utilizando Protocolos bem definidos.
-
Elas utilizam uma semântica de execução-até-conclusão no processamento de mensagens.
-
Elas encapsulam objetos passivos (assegurando que não ocorra interferência de encadeamentos).
A visão de processos mostra a organização do processo do sistema.
Há quatro visualizações adicionais, a Visualização de Casos de Uso (manipulada na disciplina Requisitos),
Visualização Lógica, Visualização da Implementação e Visualização de Implementação; estas
visualizações são manipuladas nas disciplinas Análise e Design e Implementação.
As visualizações arquiteturais estão documentadas em um Documento de Arquitetura de Software. Você pode incluir
diferentes visualizações, como uma visualização de segurança, para conduzir 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 construído durante o desenvolvimento do sistema.
|