De que trata o artigo: Apresenta o uso de requisitos arquiteturais na análise da arquitetura de software e a destaca no desenvolvimento de um sistema de software.

Para que serve: Entender o papel da análise arquitetural dentro do processo de desenvolvimento de software orientado para arquitetura e definição da arquitetura de software a ser adotada.

Em que situação o tema é útil: Identificação de requisitos arquiteturais importantes a um sistema de software em desenvolvimento e construção de cenários para definição da arquitetura e como esta suporta esses requisitos.

A arquitetura de software de um sistema serve para definir a organização das funcionalidades desse sistema e propriedades ou requisitos não funcionais suportados pelo mesmo. Características peculiares da arquitetura determinarão quais propriedades serão preponderantes. A necessidade da arquitetura de software prover suporte a um conjunto de requisitos, geralmente conflitantes, requer que uma análise arquitetural seja realizada, tema tratado neste artigo.

Desenvolvimento de Sistemas de Software

O processo de desenvolvimento de sistemas de software, similarmente a outros sistemas, compreende três fases genéricas – definição, desenvolvimento e manutenção – conforme ilustrado na Figura 1.

Fases genéricas no processo de desenvolvimento de software
Figura 1. Fases genéricas no processo de desenvolvimento de software.

A fase de definição engloba a identificação de informações que deveriam ser processadas, funções e desempenho desejados, tipo de interface a ser utilizada, tarefas que o sistema deveria prover suporte, perfil de usuários do sistema, dentre outras.

A fase de desenvolvimento concentra-se no projeto de estruturas de dados e arquitetura de software do sistema, conversão do projeto para alguma linguagem de programação, realização de testes e avaliação. Finalmente, a manutenção considera modificações e/ou correções necessárias no sistema a fim de que este atenda aos requisitos do usuário. Perceba que o processo de desenvolvimento de um sistema de software tem duas grandes atividades de interesse: o desenvolvimento da porção de software que implementa as funcionalidades do sistema, e a atividade que a antecede e norteia o desenvolvimento, que é o projeto da arquitetura de software. Essa última atividade é resultado da análise arquitetural que provê informações para decisões arquiteturais, como ilustrado na Figura 2. A análise arquitetural e os critérios para definição de uma arquitetura são apresentadas nas seções subsequentes.

Etapas no projeto da arquitetura de software
Figura 2. Etapas no projeto da arquitetura de software.

Análise da Arquitetura de Software

O projeto da arquitetura de software é uma etapa essencial no desenvolvimento de sistemas de software de grande porte. Dentro deste contexto, a arquitetura de software é fundamental para o desenvolvimento de software onde se tem funcionalidades distintas, sendo concebidas a partir da mesma arquitetura base. Entretanto, antecedendo a etapa de projeto da arquitetura de software, há a necessidade de fazer o levantamento dos requisitos do sistema, como mostrado na Figura 2.

De um modo geral, a análise e projeto de um sistema geralmente engloba as atividades de:

  1. Desenvolvimento de modelo arquitetural – Os dados são coletados durante a elicitação de requisitos a fim de serem analisados e incorporados ao modelo arquitetural (isto é, o produto resultante). Neste caso, o modelo passa a ser o elemento central da análise.
  2. Melhoria e síntese de uma solução – Incrementam-se as informações descritas no modelo arquitetural (inicial).
  3. Análise da solução – A análise da solução é realizada em termos do modelo arquitetural que se tem em mãos, podendo identificar a necessidade de refinar o modelo.

Perceba que o modelo arquitetural pode ser considerado como um ‘esboço’ inicial da arquitetura de software do sistema em desenvolvimento. É importante ainda observar que a análise de uma arquitetura de software é um processo iterativo no qual são feitos refinamento de um modelo arquitetural inicial, derivado a partir de um conjunto de requisitos arquiteturais. Em cada iteração, uma mini análise ocorre, refinando a arquitetura proposta inicialmente. Esse processo é ilustrado na Figura 3.

...
Quer ler esse conteúdo completo? Tenha acesso completo