Artefato: Arquitetura de Referência |
| |
|
Esse produto de trabalho é é, basicamente, um padrão ou conjunto de padrões de arquitetura predefinido, possivelmente parcial ou totalmente instanciado, projetado e testado em determinados contextos de negócios e técnicos com artefatos de suporte que permitam seu uso. |
Domínios: Análise e Design
Tipos de Produto de Trabalho: Conceito |
|
Objetivo
Os produtos de trabalho Arquitetura de Referência fazem parte da base de ativos reutilizáveis de uma organização. A
finalidade desses artefatos é criar um ponto de partida para o desenvolvimento da arquitetura. Eles podem variar de padrões arquiteturais, mecanismos arquiteturais e estruturas
prontos a sistemas completos, com características conhecidas e de uso comprovado. Eles podem ser aplicados de forma
geral ou para uma ampla classe de sistemas de domínios, ou ter um enfoque mais limitado, específico de domínio.
O uso de arquiteturas de referência testadas é uma maneira eficaz de lidar com os vários requisitos não-funcionais
(particularmente os requisitos de qualidade), selecionando arquiteturas de referência existentes, que são conhecidas
através do uso para atender a esses requisitos. As Arquiteturas de Referência podem existir ou ser usadas em diferentes
níveis de abstração e a partir de diversos pontos de vista. Esses pontos correspondem às Visualizações 4+1 (consulte "Um Conjunto Típico de Visualizações Arquiteturais"). Dessa forma, o arquiteto de
software pode selecionar a que se ajusta melhor - apenas o design arquitetural, o design e a implementação, em graus
variados de conclusão.
Geralmente, uma Arquitetura de Referência é definida não para incluir instâncias dos componentes que serão utilizados
para construir o sistema - se for assim, ela se tornará uma arquitetura da linha de produtos - mas essa não é uma distinção definitiva. No
Rational Unified Process (RUP), aceitamos que a noção de Arquitetura de Referência inclua referências a componentes
reutilizáveis existentes (ou seja, implementações).
|
Relacionamentos
Funções | Responsável:
| Modificado Por:
|
Tarefas | Entrada para:
| Saída de:
|
Descrição
Descrição Principal |
Organização de Ativos
A organização que possui os ativos da Arquitetura de Referência precisará decidir como eles serão classificados e
organizados para facilitar a recuperação por parte do arquiteto de software, atendendo aos critérios de seleção do novo
sistema. Embora a criação e o armazenamento de Arquiteturas de Referência estejam no momento fora do escopo do RUP, uma
sugestão é que as arquiteturas sejam organizadas em torno da idéia de Definição de
Termo: domínio, onde um domínio é uma área de assunto que define o conhecimento e os conceitos de um aspecto de um
sistema ou de uma família de sistemas. Aqui estamos aceitando o uso do termo 'domínio' em níveis inferiores aos do
aplicativo. Esse uso difere um pouco de algumas definições - por exemplo, do uso apresentado em [HOF99] - mas está bem alinhado ao apresentado em [LMFS96]:
"Domínio de Linha de Produto: um grupo restrito de recursos - presente e/ou futuro - definido para facilitar
a comunicação, análise e engenharia, visando identificar, projetar e gerenciar os atributos comuns de uma linha de
produto. Tais domínios poderão incluir grupos intrinsecamente relacionados de sistemas de usuário final, funções
comumente utilizadas em vários sistemas ou grupos amplamente aplicáveis de serviços básicos."
Essa definição inclui a noção de que os elementos usados para compor sistemas podem pertencer a um domínio que é, por
si só, digno de estudo. A figura a seguir, tirada de [LMFS96], ilustra esse princípio.
Domínios Horizontais e Verticais do Exército dos EUA
Essa figura mostra as principais famílias de sistemas, Sistemas de Informações, Comando & Controle e Sistemas de
Armamentos, cada um com alguns domínios verticais inteiramente contidos e alguns domínios horizontais que interceptam
os verticais e também as famílias de sistemas. Assim, os conceitos de Planejamento em Tempo Real são aplicáveis ao
Domínio Tático de Comando & Controle e a todos os domínios verticais de Sistemas de Armamentos. Isso provavelmente
faz sentido quando é necessário resolver problemas de programação em tempo real para todos esses domínios ao mesmo
tempo e tratar o conhecimento e os ativos desenvolvidos como um domínio separado, que tenha uma associação com
Conflitos Eletrônicos, por exemplo, mas não com Sistema de Informações Pessoais.
Conteúdo
A Arquitetura de Referência possui a mesma forma do Produto de Trabalho: Documento de Arquitetura de Software e dos
modelos associados, desprovida de referências específicas de projeto ou com referências e características de projeto
genéricas, a fim de que a Arquitetura de Referência possa ser classificada corretamente na base de recursos. Os
modelos típicos associados ao SAD (Software Architecture Document) são um Modelo de Caso de Uso, Modelo de Design,
Modelo de Implementação e Modelo de Implementação.
O acesso ao SAD e aos modelos associados fornece vários pontos de entrada para o arquiteto de software, que pode optar
por usar somente as partes conceituais ou lógicas da arquitetura (se a política de reutilização da organização permitir
isso). Por outro lado, o arquiteto de software pode ser capaz de extrair da base de ativos subsistemas funcionais
completos e um Modelo de Implementação no nível físico (ou seja, uma planta de hardware e de rede completa).
Outros artefatos de suporte são necessários para tornar utilizáveis os recursos arquiteturais.
-
O Modelo de Casos de Uso descreve o comportamento da arquitetura, mas o arquiteto de software também precisará
conhecer suas qualidades não-funcionais. Esses dois - Modelo de Caso de Uso e os requisitos não funcionais -
podem ter sido capturados anteriormente em uma Especificação de Requisitos de Software. A partir dessa
especificação, o arquiteto de software será capaz de determinar se a Arquitetura de Referência está atendendo
satisfatoriamente ou não aos requisitos atuais.
-
O uso e, mais especificamente, a modificação da arquitetura precisam ter a mesma orientação do desenvolvimento
original. Por exemplo, o arquiteto de software precisará saber quais regras foram aplicadas na formação da
Arquitetura de Referência e o grau de dificuldade que ele experimentará para modificar as interfaces. O acesso
às diretrizes de design associadas à Arquitetura de Referência pode ajudar a responder essas perguntas.
-
(Opcional) A revisão de todos os planos de teste relevantes já existentes também pode ser útil. Esses Planos de
Teste informarão ao arquiteto sobre as estratégias de teste e de avaliação anteriormente usadas para testar
arquiteturas similares que, como tal, podem vir a fornecer uma idéia das possíveis deficiências da arquitetura.
-
(Opcional) A revisão de todas as arquiteturas de automação de teste existentes e relevantes e das
especificações da interface de teste pode ser útil. Esses artefatos informam ao arquiteto sobre as solicitações
que provavelmente serão feitas com relação à arquitetura para facilitar o teste.
|
Breve Resumo |
Organização de Ativos
A organização que possui os ativos da Arquitetura de Referência precisará decidir como eles serão classificados e
organizados para facilitar a recuperação por parte do arquiteto de software, atendendo aos critérios de seleção do novo
sistema. Embora a criação e o armazenamento de Arquiteturas de Referência estejam no momento fora do escopo do RUP, uma
sugestão é que as arquiteturas sejam organizadas em torno da idéia de domínios, onde um domínio é uma área de assunto que define o conhecimento e os
conceitos de um aspecto de um sistema ou de uma família de sistemas. Aqui estamos aceitando o uso do termo 'domínio' em
níveis inferiores aos do aplicativo. Esse uso difere um pouco de algumas definições - por exemplo, do uso apresentado
em [HOF99] - mas está bem alinhado ao apresentado em [LMFS96]:
"Domínio de Linha de Produto: um grupo restrito de recursos - presente e/ou futuro - definido para facilitar
a comunicação, análise e engenharia, visando identificar, projetar e gerenciar os atributos comuns de uma linha de
produto. Tais domínios poderão incluir grupos intrinsecamente relacionados de sistemas de usuário final, funções
comumente utilizadas em vários sistemas ou grupos amplamente aplicáveis de serviços básicos."
Essa definição inclui a noção de que os elementos usados para compor sistemas podem pertencer a um domínio que é, por
si só, digno de estudo. A figura a seguir, tirada de [LMFS96], ilustra
esse princípio.
Domínios Horizontais e Verticais do Exército dos EUA
Essa figura mostra as principais famílias de sistemas, Sistemas de Informações, Comando & Controle e Sistemas de
Armamentos, cada um com alguns domínios verticais inteiramente contidos e alguns domínios horizontais que interceptam
os verticais e também as famílias de sistemas. Assim, os conceitos de Planejamento em Tempo Real são aplicáveis ao
Domínio Tático de Comando & Controle e a todos os domínios verticais de Sistemas de Armamentos. Isso provavelmente
faz sentido quando é necessário resolver problemas de programação em tempo real para todos esses domínios ao mesmo
tempo e tratar o conhecimento e os ativos desenvolvidos como um domínio separado, que tenha uma associação com
Conflitos Eletrônicos, por exemplo, mas não com Sistema de Informações Pessoais.
Conteúdo
A Arquitetura de Referência possui a mesma forma do Produto de Trabalho: Documento de Arquitetura de Software e dos
modelos associados, desprovida de referências específicas de projeto ou com referências e características de projeto
genéricas, a fim de que a Arquitetura de Referência possa ser classificada corretamente na base de recursos. Os
modelos típicos associados ao SAD (Software Architecture Document) são um Modelo de Caso de Uso, Modelo de Design,
Modelo de Implementação e Modelo de Implementação.
O acesso ao SAD e aos modelos associados fornece vários pontos de entrada para o arquiteto de software, que pode optar
por usar somente as partes conceituais ou lógicas da arquitetura (se a política de reutilização da organização permitir
isso). Por outro lado, o arquiteto de software pode ser capaz de extrair da base de ativos subsistemas funcionais
completos e um Modelo de Implementação no nível físico (ou seja, uma planta de hardware e de rede completa).
Outros produtos de trabalho de suporte são necessários para tornar utilizáveis os recursos arquiteturais.
-
O Modelo de Casos de Uso descreve o comportamento da arquitetura, mas o arquiteto de software também precisará
conhecer suas qualidades não-funcionais. O Modelo de Caso de Uso e os requisitos não funcionais podem ter sido
capturados anteriormente em uma Especificação de Requisitos de Software. A partir dessa especificação, o
arquiteto de software será capaz de determinar se a Arquitetura de Referência está atendendo satisfatoriamente
ou não aos requisitos atuais.
-
O uso e, mais especificamente, a modificação da arquitetura precisam ter a mesma orientação do desenvolvimento
original. Por exemplo, o arquiteto de software precisará saber quais regras foram aplicadas na formação da
Arquitetura de Referência e o grau de dificuldade que ele experimentará para modificar as interfaces. O acesso
às diretrizes de design associadas à Arquitetura de Referência pode ajudar a responder essas perguntas.
-
(Opcional) A revisão de todos os planos de teste relevantes já existentes também pode ser útil. Esses Planos de
Teste informarão ao arquiteto sobre as estratégias de teste e de avaliação anteriormente usadas para testar
arquiteturas similares que, como tal, podem vir a fornecer uma idéia das possíveis deficiências da arquitetura.
-
(Opcional) A revisão de todas as arquiteturas de automação de teste existentes e relevantes e das
especificações da interface de teste pode ser útil. Esses produtos de trabalho informam ao arquiteto sobre as
solicitações que provavelmente serão feitas com relação à arquitetura para facilitar o teste.
|
Adaptação
Opções de Representação | Representação UML: diversas visualizações arquiteturais: Caso de Uso, Lógica, Processo, Implementação, Implementação,
Dados.
A menos que o sistema seja completamente sem precedentes, as Arquiteturas de Referência devem ser examinadas para fins
de aplicabilidade (quanto ao domínio e ao tipo de desenvolvimento), caso elas existam e possam ser acessadas pela
organização de desenvolvimento. A criação de Arquiteturas de Referência é uma questão a ser abordada no nível
organizacional. Com certeza, é possível diminuir a lista de conteúdo fornecida anteriormente e, ainda assim, conseguir
tirar algum proveito da reutilização arquitetural. Por exemplo, o modelo de teste pode ser omitido, embora os testes
tenham de ser escritos novamente caso a arquitetura seja modificada. No mínimo, pode-se esperar um modelo de design e
uma descrição comportamental associada (talvez o Modelo de Casos de Uso). É difícil chamar de recurso uma Arquitetura
de Referência, visto que poderia ser um tipo de padrão válido.
|
© Copyright IBM Corp. 1987, 2006. Todos os Direitos Reservados.
|
|