Uma Metáfora Sistêmica

Metáfora sistêmica, um “quebra galho” arquitetural Há algum tempo, comentamos em relação a como obter a metáfora sistêmica prescrita pelo XP e deixamos uma questão sobre o quanto ela contribui para a representação da arquitetura. Conforme comentário do Paulo Merson, a metáfora sistêmica, de fato, representa muito pouco da arquitetura, apesar de servir como um [...]

Princípios Arquiteturais

Quase sempre, concretizar uma visão não é uma tarefa fácil. Atingir objetivos exige planos que norteiam em direção à visão pretendida. E um elemento importante de um plano é o entendimento dos princípios que o dirigem. Os princípios norteiam o caminho, tornam as decisões mais disciplinadas e validam alterações no plano. Neste texto, discutiremos como [...]

A Primeira Atividade de um Arquiteto de Software em Projetos de TI

Muitos arquitetos de software imaginam que a primeira atividade de arquitetura em um projeto é montar modelos lógicos e físicos em linguagem como a UML. Outros, mais experientes, imaginam que a primeira atividade é capturar os requisitos arquiteturais, i.e, o conjunto de requisitos prioritários e complexos que têm alto impacto no produto de software sendo [...]

Arquitetura Ágil com o AUP

O AUP (Agile Unified Process) é uma “versão simplificada” do RUP idealizada por Scott Ambler que incorpora princípios ágeis. Assim como o OpenUP, o AUP procura balancear agilidade e controle de riscos. As práticas do AUP se baseiam em técnicas ágeis como, como exemplo, Test Driven Development (TDD), Agile Model Driven Development (AMDD), Agile Change [...]

Diretrizes do RUP para Arquitetura de Software

O RUP oferece uma fonte razoável de informações voltadas para a arquitetura de software como fluxo de trabalho (incluindo atividades e tarefas), conceitos, diretrizes, etc. Ao definir o ciclo de vida de desenvolvimento do software, constitui guia fundamental para arquitetos de software. Neste texto, citaremos algumas dessas diretrizes. Descoberta, Análise e Controle Arquitetural: descreve como realizar descoberta, [...]

OpenUP – Agilidade, Controle de Riscos e Disciplina Arquitetural

Métodos ágeis são, sem dúvida, excelentes paradigmas para o desenvolvimento de software. Eles possuem excelentes premissas tais como: foco na comunicação, geração de valor para os clientes e desenho orientado à mudanças; entre outros. Por outro lado, métodos mais robustos como o RUP trazem uma forte orientação por riscos através da decomposição do processo em [...]

As Atividades de Arquitetura do OpenUP

Conforme abordamos anteriormente, o OpenUP é uma derivação do Processo Unificado e, assim como este, é centrado na arquitetura de software. Ao mesmo tempo que aplica os princípios do ciclo de vida do RUP, o OpenUP adota uma “filosofia pragmática e ágil que foca no colaboração natural” para o desenvolvimento do software. Diferentemente das outras [...]

O Time de Arquitetura

Em muitas ocasiões, apenas um arquiteto de software não é capaz de atender às necessidades do projeto. Faz-se então necessário formar um time de arquitetura com dois ou mais membros. Sempre que existir a opção de compor o próprio time, o arquiteto líder deve procurar formá-lo com profissionais que julgar mais adequados para a tarefa. [...]

Combinando QAW com RUP e XP

Em um post anterior, introduzimos a aplicação do QAW (Quality Attribute Workshop), um dos métodos do SEI centrados em arquitetura. Relembrando rapidamente: QAW se destina a sistematizar a identificação de requisitos de qualidade com o engajamento dos stakeholders. Na maioria das vezes, não faz muito sentido identificar requisitos fora do contexto de um projeto. Sendo [...]

QAW: Um Método para Descobrir Requisitos de Qualidade

QAW (Quality Attribute Workshop) é um dos métodos centrados em arquitetura desenvolvido pelo SEI. Seu propósito é engajar os stakeholders em revelar requisitos não-funcionais relacionados a uma sistema antes da arquitetura ser desenhada. O QAW pode ser usado em aderência a outros métodos como ao complementar o ATAM ou integrar com o ADD. Em geral, [...]