<< Chapter < Page Chapter >> Page >

O documento de arquitetura

Considerando o que mencionamos até agora sobre arquitetura de software,percebemos que ela provê diversos benefícios: proporciona atendimento de atributos dequalidade, ajuda na comunicação entre os interessados no sistema e guia a evoluçãodo sistema. No entanto, até agora, só falamos da arquitetura como algo abstrato. Ou seja,apenas falamos dela como uma propriedade imposta ou emergente de um sistema, masnão falamos em como documentá-la, nem fomos específicos quanto aos benefícios proporcionadospor sua documentação.

Benefícios

Um documento de arquitetura não é nada mais que um documento quedescreve a arquitetura do sistema e, portanto, descreve elementos, relações,e decisões arquiteturais do sistema em questão. Assim, os benefícios dese documentar a arquitetura se tornam análogos aos benefícios proporcionadospela própria arquitetura. No entanto, pelo documento de arquitetura ser umartefato concreto, ele poderá ser reproduzido, reusado, comunicado e analisado contrao código gerado a partir da arquitetura em questão.

Em resumo, a documentação da arquitetura proporcionará os seguintesbenefícios:

  • Ajudará na introdução de novos membros ao time de desenvolvimentodo sistema, uma vez que é um documento que abstrai o sistema a diferentesvisões que representam diferentes preocupações;

    Um novo desenvolvedor acaboude ser contratado e passou a integrar o time de desenvolvimentode um sistema que já soma 250 mil linhas de código.Para esse desenvolvedor se familiarizar com o sistema,não é uma boa idéia para ele mergulhar no códigode cabeça, mas entender por partes como as coisasfuncionam. Esses diversos níveis de abstração atéchegar ao código propriamente dito devem estar disponíveisna arquitetura do sistema, que se mostrará um bomponto de partida para o entendimento do sistema.

  • Servirá de ponte para a comunicação entre os diversosinteressados do sistema. Uma vez que a arquitetura é projetada parasatisfazer diversos interessados, sua documentação também o será.O documento de arquitetura servirá de arcabouço conceitual para comunicaçãoentre diferentes interessados no sistema, uma vez que define seuselementos e relações que o compõem.

    Usando a arquitetura para mapearcustos às funcionalidades que o sistema proverá,o gerente pode justificar ao financiador do projetoa necessidade de se adquirir uma licença para um bancode dados específico. Ou ainda citar quais as consequênciascaso essa licença não seja adquirida: a funcionalidadeprovida pelo banco deverá ser então implementadapelo time de desenvolvimento, que precisará de dois mesespara tanto. Essa possibilidade de “navegar” pelo sistemae pelas diversas visões, seja a de gerente, sejaa de financiador, ou de desenvolvedor, é facilitadapelo documento de arquitetura.

  • Servirá como modelo do sistema para a análise. Umavez que é uma representação manipulável do sistema, a documentação poderáser analisada, desde que contenha informação suficiente para tanto.

    A arquitetura do SASF, dividido em trêscamadas (apresentação, lógica de negócio e persistência),descreve que cada camada estará executando em máquinasdiferentes. É certo que a descrição de cada camadapossui informações de quantas máquinas serão necessáriaspara determinada carga de usuários, como máquinasda mesma camada se comunicarão e também como elas se comunicarãocom máquinas de diferentes camadas. Assim, com essasinformações, é possível algum tipo de análise eestimativa do custo do sistema em produção (e.g.,número de CPUs por hora, banda passante entre asmáquinas, ou banda passante disponível para os usuários),inclusive com base no crescimento do número de usuários,mesmo que o sistema ainda não tenha sido construído.

  • Dificultará uma especificação imprecisa. Quando o arquiteto projetaa arquitetura, mas não a materializa em um documento, pode haver pontosde discordância que eventualmente não serão avaliados por, simplesmente,não estarem explícitos.

    Num sistema de controle de vôo, ondevidas estão em risco, o documento da arquiteturaé também um contrato. Ele é avaliado por cada interessadoem questão, que deve consentir com a forma de como serãorealizadas as funções do sistema e como serão medidosseus atributos de qualidade de forma a garantir o sucessodo sistema antes mesmo que esse seja construído.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Arquitetura de software. OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10722/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?

Ask