Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* Arquitetura de Software (Segundo o Rup) * * Arquitetura É difícil desenhar uma linha bem definida entre o design e a arquitetura — a arquitetura é um aspecto do design que se concentra em alguns recursos específicos. * * Arquitetura Em An Introduction to Software Architecture, David Garlan e Mary Shaw sugerem que a arquitetura de software é um nível de design voltado para questões que vão: "além dos algoritmos e das estruturas de dados da computação. * * Arquitetura A projeção e a especificação da estrutura geral do sistema emergem como um novo tipo de problema. As questões estruturais incluem organização total e estrutura de controle global; protocolos de comunicação, sincronização e acesso a dados; atribuição de funcionalidade a elementos de design; distribuição física; composição de elementos de design; escalonamento e desempenho; e seleção entre as alternativas de design." [GAR93] * * Arquitetura O artigo Working Group on Architecture da IEEE define a arquitetura como "o conceito de nível mais alto de um sistema em seu ambiente" [IEEE98]. Ele também abrange a "adequação" à integridade do sistema, às restrições econômicas, às preocupações estéticas e ao estilo. * * Arquitetura Ele não se limita a um enfoque interno, mas leva em consideração o sistema como um todo em seu ambiente de usuário e de desenvolvimento, ou seja, um enfoque externo. * * Arquitetura No RUP, a arquitetura de um sistema de software (em um determinado ponto) é a organização ou a estrutura dos componentes significativos do sistema que interagem por meio de interfaces, com elementos constituídos de componentes e interfaces sucessivamente menores. * * Arquitetura Descrição da Arquitetura Para falar e tirar conclusões sobre a arquitetura do software, primeiro defina uma representação de arquitetura, uma forma de descrever aspectos importantes de uma arquitetura. No RUP, essa descrição é capturada em Documento de Arquitetura de Software. * * Arquitetura Um Conjunto Típico de Visões de Arquitetura A arquitetura é representada por uma série de visões de arquitetura diferentes, que, em sua essência, são fragmentos que ilustram os elementos "significativos em termos de arquitetura" dos modelos. No RUP, você parte de um conjunto típico de visões, denominado "modelo de visão 4+1" [KRU95]. Ele é composto pelas seguintes visões: * * Arquitetura Um Conjunto Típico de Visões de Arquitetura - Visão de Casos de Uso - Visão Lógica - Visão de Implementação - Visão de Processos - Visão de Implantação * * Arquitetura Um Conjunto Típico de Visões de Arquitetura - Visão de Casos de Uso - Visão Lógica - Visão de Implementação - Visão de Processos - Visão de Implantação As visões de arquitetura estão documentadas em um Documento de Arquitetura de Software. * * Arquitetura O Processo de Desenvolvimento da Arquitetura No RUP, a arquitetura é basicamente um resultado do fluxo de trabalho Análise e Design. Como o projeto restabelece esse fluxo de trabalho a cada iteração, a arquitetura é desenvolvida, refinada e aprimorada... * * Arquitetura O Processo de Desenvolvimento da Arquitetura ...Como cada iteração inclui a integração e o teste, a arquitetura é bastante sofisticada pelo tempo que o produto é liberado. Esta arquitetura é o enfoque principal das iterações da fase de elaboração. Ao final dessa fase, a arquitetura é normalmente analisada. * * Arquitetura O que significa Arquitetura de Componentes? Os componentes são grupos de código coesos, na forma de código fonte ou executável, com interfaces bem definidas e comportamentos que fornecem forte encapsulamento do conteúdo e são, portanto, substituíveis. * * Arquitetura O que significa Arquitetura de Componentes? As arquiteturas baseadas em componentes tendem a reduzir o tamanho efetivo e a complexidade da solução e, portanto, são mais robustas e flexíveis. * * Arquitetura de Componentes (Segundo o Rup) Conceitos importantes: A coesão está ligada à responsabilidade única da unidade funcional. Demonstra coerência e unidade conceitual no relacionamento com os outros componentes da unidade funcional. Ou seja, um método coeso realiza uma única função conceitual, servindo a apenas um propósito específico. * * Arquitetura de Componentes (Segundo o Rup) Conceitos importantes: O acoplamento refere-se ao quanto uma unidade funcional depende de outra para funcionar. Quanto maior a dependência entre as unidades funcionais, mais fortemente acopladas elas estão. * * Arquitetura de Componentes (Segundo o Rup) Conceitos importantes: Uma das formas de se medir o acoplamento de um método, por exemplo, é a quantidade de parâmetros de entrada e suas respectivas complexidades. Quanto mais parâmetros e mais complexos eles forem, maior o acoplamento do método. * * Arquitetura de Componentes (Segundo o Rup) Ênfase Arquitetural O foco principal das iterações iniciais do processo, principalmente na fase de elaboração, é produzir e validar uma arquitetura de software, que no ciclo de desenvolvimento inicial toma a forma de um protótipo arquitetural executável que gradualmente evolui até se tornar o sistema final em iterações posteriores. * * Arquitetura de Componentes (Segundo o Rup) Ênfase Arquitetural A arquitetura é importante por vários motivos: - Ela permite obter e manter controle intelectual do projeto, gerenciar sua complexidade e manter a integridade do sistema. - É uma base efetiva para reutilização em larga escala. - Ela fornece uma base para gerenciamento de projeto. * * Arquitetura de Componentes (Segundo o Rup) Desenvolvimento Baseado em Componentes Um componente de software pode ser definido como um pedaço não-trivial de software, um módulo, um pacote ou um subsistema, sendo que todos desempenham uma função clara, possuem uma fronteira clara e podem ser integrados em uma arquitetura bem definida. É a realização física de uma abstração do design. * * Arquitetura de Componentes (Segundo o Rup) Desenvolvimento Baseado em Componentes O RUP suporta desenvolvimento baseado em componentes destas maneiras: - A abordagem iterativa permite identificar componentes progressivamente e decidir quais desenvolver, quais reutilizar e quais comprar. - O foco na arquitetura de software permite montar a estrutura, os componentes e como eles se integram, incluindo os padrões e os mecanismos fundamentais através dos quais eles interagem. * * Arquitetura de Componentes (Segundo o Rup) Desenvolvimento Baseado em Componentes O RUP suporta desenvolvimento baseado em componentes destas maneiras: - Conceitos como pacotes, subsistemas e camadas são utilizados durante a disciplina Análise e Design para organizar componentes e especificar interfaces. - Os testes são primeiramente organizados em componentes e, em seguida, em conjuntos maiores de componentes integrados. * * Arquitetura de Componentes (Segundo o Rup) Atividade: Descreva os principais benefícios ao utilizar arquitetura baseada em componentes. * * * * * * * * * * * * * * * * * * * * * * * *