O arquiteto de sistemas é o profissional da área de informática responsável pela concepção, desenho e desenvolvimento da arquitetura de sistemas computacionais. Dentre as suas responsabilidades podemos destacar:
determinar as necessidades de todas as pessoas envolvidas ou afetadas por qualquer mudança num sistema de informação; fazer uma análise de alto nível nos requisitos do sistema, baseada nas necessidades dos usuários ou de restrições como custos e cronograma; garantir que estes requerimentos sejam consistentes, completos, corretos e operacionalmente definidos; realizar análises da relação custo/benefício para determinar a melhor forma de atender a um requerimento; organizar os algoritmos (e outros processos) em módulos discretos de forma a minimizar a comunicação entre módulos e entre usuários e módulos; organizar os sistemas em camadas de subsistemas e componentes que podem ser gerenciados por apenas um responsável subordinado ao arquiteto; garantir que foi desenvolvida a arquitetura mais robusta possível; criar um procedimento de testes, em conjunto com os desenvolvedores e usuários, para garantir que o nível de qualidade inicialmente proposto para o sistema seja alcançado; gerar esboços, modelos, protótipos e manuais de usuário, com o objetivo de manter os desenvolvedores e usuários constantemente atualizados, das decisões tomadas para permitir a construção do sistema.
Motivação Em sistemas grandes e complexos é impraticável que a arquitetura seja concebida de forma descentralizada por um grande número de desenvolvedores ou programadores. Além disso, alguns desenvolvedores tem a reputação de não entender ou de responder de maneira pouco confortável às necessidades dos usuários e clientes. Um bom arquiteto deve traduzir os requisitos de forma que sejam inteligíveis para clientes, usuários e desenvolvedores. É responsabilidade do arquiteto garantir que o produto final corresponda a visão do usuário. Alguns dizem que: determinar o que um usuário quer a partir daquilo que ele diz querer, "é uma arte e não engenharia". Portando, o arquiteto não é aquele que não segue uma receita, mas aquele que interage intensamente com os usuários para extrair os "verdadeiros requisitos". A maioria dos desenvolvedores é formada por especialistas. Eles conhecem detalhes técnicos em profundidade e aplicam estes conhecimentos para resolver os problemas do mundo real. Avaliar o custo/benefício de uma solução e construir um sistema avaliando todo o cenário do cliente não é a sua função. O arquiteto tem uma visão mais ampla que o desenvolvedor e conta com o apoio de especialistas nas várias áreas envolvidas em um projeto.
Ver também TOGAF BABOK Arquitetura empresarial Arquitetura de software Engenharia de software Engenharia de sistemas Analista de negócios
Leitura adicional Donald Firesmith et al.: The Method Framework for Engineering System Architectures, (2008) Mark W. Maier and Rechtin, Eberhardt, The Art of Systems Architecting, Third Edition (2009) Gerrit Muller, "Systems architecting: A business perspective," CRC Press, (2012). Eberhardt Rechtin, Systems Architecting: Creating & Building Complex Systems, 1991. J. H. Saltzer, M. F. Kaashoek, Principles of Computer System Design: An Introduction, Morgan Kaufmann, 2009. Rob Williams, Computer Systems Architecture: a Networking Approach, Second Edition (December 2006).
Ligações externas Principles of Computer System Design: An Introduction – MIT OpenCourseWare Systems Architecture: Canaxia Brings an Architect on Board, Artigo
Categoria:Ciência da computação Categoria:Profissionais ligados à informática Categoria:Tecnologia da informação Categoria:Engenharia de sistemas