Conceito: Arquitetura Executável
Uma arquitetura executável é uma construção estável que realiza um conjunto de requisitos arquiteturalmente significantes validados.
Relacionamentos
Descrição Principal

Uma arquitetura executável é uma Construção que realiza um subconjunto da arquitetura. Esta construção é utilizada para validar que um subconjunto dos Requisitos Arquiteturalmente Significantes está corretamente implantada. O subconjunto irá incluir todos os requisitos arquiteturalmente significantes quando a arquitetura estiver completa. Isto valida a arquitetura como um todo integrado através dos testes de integração. A equipe obtém feedback, dos analistas de negócios, a respeito da arquitetura, submetendo a arquitetura executável para verificação. Desta forma a arquitetura executável ajuda a garantir que a funcionalidade essencial está suficientemente estável para construir o restante do sistema.

Uma arquitetura executável não é um produto de trabalho. É uma identificação ou um atributo de uma construção indicando que a construção contém funcionalidade arquiteturalmente significante estável.

Cada versão de uma arquitetura executável deve ser mais completa e robusta do que as versões anteriores. A arquitetura executável final contém todos os elementos que compõem a arquitetura e deve validar todos os requisitos arquiteturalmente significantes. Podem existir raras exceções em que uma parte da arquitetura não possa ser implementada até que incontroláveis circunstâncias como restrições com software de terceiros ou recursos únicos que não estão disponíveis. Retardar qualquer parte da arquitetura deve ser evitado, uma vez que aumenta significativamente o risco técnico no fim do projeto. Mas, se as circunstâncias exigirem que algum risco arquitetural não possa ser atenuado até o final do desenvolvimento, uma decisão consciente pode ser tomada para levar em frente este risco até que a arquitetura possa ser implementada integralmente. Neste caso, a arquitetura executável não irá conter todo a Arquitetura de Software.

Também é possível incluir elementos não-arquiteturais em uma arquitetura executável. Isto é mais provável de acontecer quando se aborda questões de alto risco no início do ciclo de desenvolvimento, o que é uma excelente prática. Dois exemplos de riscos não-técnicos são riscos de recursos e riscos concorrentes. Pode ser desejável obter um recurso "difícil de ter" o mais cedo possível de forma que eles possam trabalhar em um único componente de software, ao invés de esperar que o recurso esteja disponível mais tarde. Pense na arquitetura executável como uma forma de atenuar o risco arquitetural, que é o risco técnico mais importante em um projeto. Deste ponto de vista, é apropriado atenuar outros riscos na arquitetura executável.

A diferença entre a arquitetura executável e uma construção do final do ciclo de desenvolvimento é que a arquitetura executável é o resultado de um período de desenvolvimento (por exemplo, uma iteração), que é dedicada para elaborar a arquitetura. As iterações tardias são construídas sob a arquitetura executável, mas não são assinaladas como arquitetura executável porque elas estendem a funcionalidade do sistema, além do framework arquitetural.

Informações Adicionais