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.
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.
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:
- 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.
- Melhoria e síntese de uma solução – Incrementam-se as informações descritas no modelo arquitetural (inicial).
- 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.
Confira outros conteúdos:
Como se preparar para uma carreira dev...
Qualquer pessoa pode aprender a...
Do zero até o primeiro emprego como...
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.