Você está na página 1de 5

Objetivo do Curso

• Apresentar as tendências atuais para


Modelagem/Arquitetura de desenvolvimento de aplicações baseadas em
Software componentes, oferecendo uma visão
conjunta das tecnologias usadas desde a
modelagem até a implementação porém
Thaís Vasconcelos Batista
com o foco na modelagem da aplicação.

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

Enfoque do Curso Conteúdo do Curso


• Introdução:
– Definições (Arquitetura de Software, Componente,
Desenvolvimento baseado em Componentes, Modelos
Modelagem de Software baseado em de Componentes)
Componentes • Arquitetura de Software (AS)
– Elementos básicos de AS
– Definição de Linguagens de Modelagem
Arquitetura de Software + Componentes
– Estilos Arquiteturais
– Visões Arquiteturais

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

1
Conteúdo do Curso (cont.) Bibliografia
• G.Heineman & W. Councill
• Padrões Component-Based Software Engineering – Putting the Pieces Together
– Ed. Addison Wesley.
• Propostas de Padronização de • C. Szyperski
Component Software – Beyond Object-Oriented Programming –
Modelagem Addison Wesley. 1998.
– UML (Unified Model Language) • C. Hofmeister, R. Nord & D. Soni
Applied Software Architecture – Ed. Addison Wesley. 2000.
– ACME • M. Shaw & D. Garlan
– MDA (Model-Driven Architecture) Software Architecture – Perspectives on na Emerging Discipline – Ed.
Prentice-Hall. 1996.
• G. Booch, J. Rumbaugh & I. Jacobson
UML – Guia do Usuário – Ed. Cammpus, 2000.

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

Características das Áreas Motivação


• Áreas recentes • Reuso: diminuir tempo e custo de
• Variedade de Terminologias desenvolvimento
• Diversidade de Opiniões • Evitar Falhas: componentes previamente
• Baseadas nas idéias de testados são menos suscetíveis a falhas
– Desenvolver software reusando partes • Interoperabilidade: capacidade de
– Modelar o sistema combinando componentes componentes de diferentes origens
disponíveis e previamente testados e seguindo
padrões compartilharem e trocarem informações

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

2
Arquitetura de Sofware Componente
• Definições:
• Define conceitos, padrões e estilos para a – É um elemento de software que segue um modelo de componentes
composição de software formado por e pode ser desenvolvido independentemente e composto através de
um padrão de composição [B.Council and G. Heineman]
componentes
• Framework é usado muitas vezes como – Componentes são elementos padronizados usados para
sinônimo de Arquitetura composição [C. Szyperski]

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

Componente Composição
• Características: • União de porções de software “pré-
– Auto-contido fabricadas” para formar um sistema
– Funcionalidade bem definida
– Definido através de interfaces que possibilita
composição sem conhecimento da
implementação do componente
– Definido de acordo com um modelo de
componentes

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

3
Desenvolvimento baseado em
Objetos X Componentes
Componentes
• Mercado de Componentes • A definição de objetos não inclui:
– Noções de independência
• Menos tempo de desenvolvimento
– Composição
• Mais confiável (por reusar partes testadas)
• Ideal de possibilitar que o desenvolvimento
de software seja uma linha de produção em Apesar destes aspectos poderem ser adicionados, a
massa tecnologia de objetos é mais usada para construir
aplicações monolíticas [C.Szyperski]

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

Exemplo do Uso da Idéia de


Modelo de Componentes
Componentes
• Sistemas Operacionais: aplicações são • Determina a forma como um componente
componentes executando sobre eles deve ser desenvolvido
(compartilhando arquivos e fazendo – Exemplos
• COM (Component Object Model) da MicroSoft
composição via pipe e filtros) determina que cada componente ofereça uma
• Plug-in: Browsers Netscape interface IUnknown
• CORBA da OMG determina que o componente
• Visual Basic tenha uma interface escrita em IDL (Interface
Definition Language)
• Determina um padrão de interação

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

4
Modelo de Componentes Modelo de Componentes
• Define padrões para: • A implementação do modelo
de componentes:
– executa no topo de um SO. Aplicações
Interfaces Especificação do componente – oferece suporte a execução dos
componentes Modelo de Componentes
Identificação Nomes únicos globais
• Middleware: software que Sistema Operacional (SO)
Interoperabilidade Comunicação e troca de dados situa-se entre a aplicação e o
entre componentes
implementados em linguagens
sistema operacional
diferentes

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

Arquitetura & Componentes


Estrutura da Aplicação
Arquitetura da
Aplicação

Modelos de
Componentes

Repositório de Componentes

Arquitetura de Software – Thaís Batista

Você também pode gostar