Dando continuidade a segunda parte desse post, vamos hoje sumarizar e conceitualizar duas das áreas chaves de conhecimento para um arquiteto de software.

O Domínio, que pode ser aplicado de maneira horizontal ou vertical para um solução de software. O domínio horizontal surgiu e é aplicado nas industrias em geral, como por exemplo um fluxo de trabalho de automação (workflow). O vertical, é utilizado para situações particulares como por exemplo na industria de telecomunicações ou tecnologia da informação. Existem muitos padrões e protocolos que abrangem cada uma dessas vertentes e devem ser consideradas na construção de uma solução de software.

Os Conceitos são uma das maiores responsabilidades de um arquiteto de software, ou seja, repassar uma solução de forma clara e objetiva, tanto para o pessoal técnico de sua equipe, como também, para os patrocinadores de um projeto. Essa habilidade é essencial, para que todos as possíveis situações possam ser vislumbradas e que os participantes possam dar um feedback de entendimento ou não, a respeito do proposto. Exitem duas visões que o arquiteto deve considerar nessa fase, como na a figura abaixo.

O arquiteto pensa em bolhas

O arquiteto pensa em bolhas

Deve-se pensar de forma abstrata a ponto de não se preocupar com os detalhes da implementação de uma solução, para isso utiliza-se dentre muitos artefatos modelos que permitam conceitualizá-la, podendo utilizar ferramentas auxiliares para isso como, MDA ( Model Driven Architectute ).

O desenvolvedor ver apenas parte da solução

O desenvolvedor ver apenas parte da solução

O arquiteto de software também deve considerar e entender que uma solução de software consiste em mais do que apenas atender os requisitos funcionais a serem implementados, por exemplo, plataforma de desenvolvimento, frameworks e infra-estrutura de tecnologia. Também devem ser considerados requisitos não funcionais como: distribuição, segurança, escalabilidade e performance. Esquecer pontos importantes como esses, aumentam os riscos de que a solução possa falhar.

No próximo post concluiremos esse assunto falando sobre Padrões e Técnicas.