Conceito: Localidade
Uma localidade expressa nocionalmente onde ocorre o processamento (a semântica de localidade envolve um agrupamento mais rigoroso dos recursos) sem definir o local geográfico exato ou como o recurso de processamento deve ser realizado.
Relacionamentos
Descrição Principal

Introdução

Em Conceito: Arquitetura do Sistema, você encontrará o conceito dos pontos de vista a partir dos quais um sistema pode ser examinado; aqui, o ponto de vista físico é de particular relevância. Esse ponto de vista "tem o foco nas interações distribuídas entre os objetos no sistema e fornece os mecanismos para suportar a distribuição" [citação de Architecting with RM-ODP, Janis Putman, Prentice Hall PTR]. No nível descrito aqui, os objetos lógicos incluem instâncias do subsistema. O Modelo de Implementação suporta esse ponto de vista, descrevendo a distribuição física do sistema e o suporte físico para interações distribuídas entre os objetos lógicos suportados pelo sistema.

O objetivo de um Modelo de Implementação é capturar a decomposição do sistema em elementos que hospedam o processamento. Isso é feito em vários níveis de abstração, isto é, Localidade (o mais abstrato), Descritor e Implementação (o menos abstrato, no qual as opções reais de hardware e software são descritas)- esses níveis são mais ou menos equivalentes aos níveis de Conceito, Especificação e Físico descritos para o Modelo de Implementação (que é utilizado quando o aplicativo do RUP está limitado ao desenvolvimento de software). A manifestação mais comum do modelo de implementação está nos níveis de Design e Implementação, através do uso de diagramas de implementação UML. A seguir, uma introdução ao conceito de ponto de vista físico de Localidade no nível de Análise.

Localidades e Conexões

O Modelo de Localidade representa o particionamento e a distribuição iniciais, físicos e abstratos, do sistema e diz respeito aos recursos físicos do sistema (nós, dispositivos, sensores e suas conexões e interfaces físicas, além das características físicas, por exemplo, peso, geração de calor, consumo de energia, vibração e outros). Uma localidade expressa nocionalmente onde ocorre o processamento (a semântica de localidade envolve um agrupamento mais rigoroso dos recursos) sem definir o local geográfico exato ou como o recurso de processamento deve ser realizado. Em sistemas muito grandes e complexos, é possível que o Modelo de Localidade tenha localidades que se decompõem em localidades mais granulares (exatamente como um sistema pode conter subsistemas). No nível de Descritor, são especificados os tipos de recursos de processamento em uma localidade - estes são nós, que podem incluir dispositivos de computação (servidores, estações de trabalho, etc.), pessoas ou outros dispositivos eletromecânicos. Por último, no nível de Implementação, é feita a seleção real do hardware, é determinado o número de instâncias da função (no caso de recursos humanos), com um conjunto definido de configurações, capacidade, energia e outros requisitos de ambiente, custo e desempenho. Por exemplo, uma visualização Localidade poderia mostrar que o sistema permite o processamento integrado de um satélite espacial e uma estação terrestre. Outros exemplos são mostrados nas figuras na seção Diagramas de Localidade.

O Modelo de Implementação também é utilizado para registrar as operações do subsistema hospedadas em cada localidade - isso determina os requisitos de computação a serem suportados na localidade. Com base no comportamento a ser suportado nas localidades, as colaborações de localidades podem ser construídas (e representadas em diagramas de interação)- elas ajudam a caracterizar as conexões entre as localidades.

Os diagramas de localidade mostram o particionamento inicial, como os elementos de processamento do sistema são distribuídos e como eles são conectados. A localidade de computação é um problema ao considerar requisitos originalmente não funcionais e, para muitos engenheiros de sistemas, isto é "a arquitetura".

Os diagramas de localidade consistem em dois elementos:

  • Localidade - uma localidade é uma coleta de recursos de computação, de armazenamento, de estrutura, eletromecânicos e humanos que podem hospedar o processamento (no senso comum) e/ou interagir fisicamente com o ambiente e outras localidades.
  • Conexões - caminhos para itens físicos de informações, massa, energia ou distintos a serem trocados entre as localidades.

A semântica dos diagramas de localidade são semelhantes àquela dos diagramas de implementação e as localidades são representadas como nós UML estereotipados. No padrão UML, um nó é um classificador que "... é um objeto físico que representa um recurso de processamento, geralmente tendo pelo menos uma memória e muitas vezes também o recurso de processamento. Os nós incluem os dispositivos de computação, além de recursos humanos e recursos de processamento mecânico". O UML nos permite estender a semântica de nós, e as associações que os conectam, através do estereótipo e da aplicação de valores rotulados; além disso, esses recursos são utilizados para definir localidades e conexões. O ícone para uma localidade é um cubo arredondado (consulte as ilustrações na seção Diagramas de Localidade). 

Cada localidade no Modelo de Implementação precisa de uma descrição anexada dos requisitos suplementares derivados (das especificações suplementares) que especificam a qualidade (confiabilidade, capacidade de manutenção, segurança e outros), os requisitos físicos e ambientais e as restrições de desenvolvimento (custo, risco técnico e outros). A partir desses requisitos, são determinadas as características reais (de cada localidade); obviamente elas são escolhidas para atender no mínimo aos requisitos explícitos, mas poderão exceder os requisitos se a prática de engenharia correta determinar isso - por exemplo, para lidar com as demandas de capacidade inesperadas.

As localidades são caracterizadas por:

  • Tags de qualidade, como confiabilidade, disponibilidade, desempenho, capacidade e outros.
  • Tags de gerenciamento, como custo e risco técnico.

As conexões são caracterizadas pelo seguinte:

  • Parâmetros de links, como taxa de dados, protocolos suportados, taxa de fluxo físico.
  • Tags de gerenciamento, como custo e risco técnico.

À medida que você avança pelo modelo de design, as localidades podem ser refinadas para um ou mais nós, ou mais de uma localidade pode ser mapeada para um único nó. E, pela liberdade dada pela definição UML, as localidades podem representar coisas totalmente discrepantes, realizadas no final, por exemplo, como uma coleta de plataformas de hardware, parte de um recurso computacional ou grupos de recursos humanos de trabalho em conjunto.

Diagramas de Localidade

As figuras mostram diagramas de Localidade que documentam diferentes abordagens de engenharia para uma empresa "click-and-mortar". A empresa possui várias lojas de varejo, armazéns centrais e presença na Web. Na primeira solução, existe recurso de processamento nas lojas. Na segunda solução, todos os terminais são conectados diretamente a um processador do escritório central. Em cada caso, as características podem ser configuradas para as localidades necessárias para realizar o design. Nos dias de hoje, a maioria das pessoas concordariam que o primeiro exemplo é o melhor design. Entretanto, a solução no segundo exemplo poderia vir a tornar-se superior em alguns anos.

Exemplo 1 de Diagrama de Localidade

Diagrama de Localidade, Exemplo 1.

Exemplo 2 de Diagrama de Localidade

Diagrama de Localidade, Exemplo 2.