Quando falamos de um projeto desenvolvimento de software que se utilize Java como linguagem de programação é comum ouvir de alguém que você precisa de um arquiteto de software. Na verdade esta necessidade não é única de projeto Java, independente da tecnologia de implementação dependendo da magnitude seu projeto você vai precisar tanto de um arquiteto como você precisaria de um analista ou gerente de projetos.
O papel de um Arquiteto de Software
Segundo as definições obtidas no guia navegação do RUP, processo de desenvolvimento criado pela Ration Software Corporation, o papel de um arquiteto de software é liderar e coordenar as atividades e os artefatos técnicos no decorrer do projeto. O arquiteto de software estabelece a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento dos elementos e as interfaces entre esses principais agrupamentos. Portanto, comparado aos outros papéis, a visão do arquiteto de software é ampla, e não detalhada.
Em resumo, o arquiteto de software deve ter grande conhecimento geral, possuir maturidade, visão e profunda experiência que permita identificar problemas rapidamente e dar opiniões sensatas e criteriosas na falta de informações completas (RUP, 2007).
Pensamento estratégico
Arquitetos tem o foco de resolver problemas relacionados ao negócio da empresa com uma visão estratégica. Por exemplo, decisões são tomadas visando a maneira de como elas irão proporcionar à empresa, ou um software, um crescimento sustentável e performance a longo prazo. Grande atenção é dada para criar e apontar oportunidades de reutilização.
Em decorrência do foco estratégico, as decisões que um arquiteto irá tomar muitas vezes vai se diferenciar das decisões dos desenvolvedores e gerentes de projetos. Em muitos casos, arquitetos irão agir como se os gestores de negócio agiriam caso tivessem conhecimentos técnicos. Enquanto um desenvolvedor está trabalhando com o foco em criar componentes de software, não necessariamente enxergando como esses componentes interagem entre si, o arquiteto de software abstrai e define a interação entre os componentes.
Design
O arquiteto faz várias escolhas de design .Além disso, o arquiteto deve ditar os vários tipos de padrões, incluindo padrões de código, ferramentas e plataformas. A razão para essas medidas é mais para ajudar a atingir o objetivo estratégico do que arbitrariamente restringir as escolhas feitas pelos desenvolvedores.
Comunicação
O aspecto final está ligado a comunicação, em um primeiro momento para entender as necessidades de negócio, e em seguida para comunicar a sua própria visão arquitetural.
Fonte: Wikipedia
1 comentários:
É uma profissão bastante promissora para quem deseja trabalhar com design de softwares.
Postar um comentário