Modeling Components and Frameworks with UML

Slides:



Advertisements
Apresentações semelhantes
Projeto – Parte II - Exemplos de Diagrama de Colaboração
Advertisements

Engenharia de Software
UML Visões – Parte 2.
(Unified Modeling Language)
Projeto 1.
Diagrama de Implantação
Componentes e Frameworks
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Componentes: A Abordagem Catalysis
Aline Vasconcelos D.Sc. em Sistemas e Computação/COPPE UFRJ
Padrões GoF - Façade.
Introdução a diagrama de classes e UML
GSCI - GSIG GSCI - GSIG Prof. Ricardo Villarroel Dávalos, Dr. Eng. Palhoça, Junho de 2005 Modelagem de Processos de Negócio.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Estudo comparativo de arquitecturas para aplicações empresariais
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
DIAGRAMA DE COMPONENTES
Engenharia de Software e Sistemas de Informação e Gestão
Diagramas de Colaboração e Componentes
Arquitetura Orientado a Serviços
Rose A ferramenta Case Rational Rose
Universidade Federal de Lavras - UFLA
Arquitetura de software
Processos de Desenvolvimento de Software – Parte 2
MAS-ML Tool: Um Ambiente de Modelagem de Sistemas Multi-Agentes
A aplicação da Engenharia Semiótica no design da interface de usuário do software ASK2000 Jair C Leite Salerno Silva DIMAp - UFRN.
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Detalhes sobre o curso
Referências: Booch, G. et al. The Unified Modeling Language User Guide
UTILIZANDO A ABORDAGEM DIRIGIDA A RESPONSABILIDADES PARA A CRIAÇÃO DO SUBFRAMEWORK DE ANÁLISE SINTÁTICA E SEMÂNTICA DE FÓRMULAS Rodolfo Adamshuk Silva.
APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA DE FÓRMULAS Autores: Rafael Hornung Simone.
Padrão- MVC Model, View, Controller
1 Padrões de Software Padrões GoF (Parte 2) Eduardo Bezerra Outubro/2005.
Diagrama de Componentes
Padrões de Interação com o Usuário
Odyssey-MDA: Uma Abordagem para a Transformação de Modelos de Componentes Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software.
Modelando aspectos de Implementação
Ferramenta de Modelagem de Requisitos e Agentes (TAOM4e) Laís Xavier Prof.: Jaelson Castro.
ABC reuso Reengenharia Primeiras conclusões. ABC reuso Análise do Código Fonte Arquitetura em Camadas Fachada (SIAlocacaoPlus) Negócio (Cadastros) Persistência.
Orientação a Objetos com UML
UML e a Ferramenta Astah
KobrA2-light & Revisão de UML / OCL
April 05 Prof. Ismael H. F. Santos - 1 Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra –
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
CIn - UFPE 1 OPEN Tiago Massoni 03/06/2003. CIn - UFPE2 Agenda Terminologia OPEN Modelagem de Processo Atividades, Tarefas e Técnicas Adaptação (Tailoring)
Diagrama de Pacotes.
Modelagem Orientada a Objetos Use-Case Modeling. Objetivos básicos de um modelo use-case n Descrever o que um novo sistema deve fazer n Descrever o que.
Arquitetura de Sistemas Envolve os seguintes aspectos
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Objetos Distribuídos Frameworks Orientados a Objetos.
Desenvolvimento Global de Software
Frameworks e Componentes Daniel Fernando Pavelec.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
UML Components MO409 – Eng. de Software Profa. Eliane Martins
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
MDA na Prática Flávia Durans Pitta Marinho
UML (Unified Modeling Language) A linguagem unificada de modelagem
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Projeto de Arquitetura de Software
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Uma Extensão do Fluxo de Análise e Projeto do RUP com suporte a Desenvolvimento Baseado em Componentes Eduardo Almeida
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Transcrição da apresentação:

Modeling Components and Frameworks with UML Evolução da modelagem de componentes O que é Componente e notação em UML Diagrama de desenvolvimento Sobreposição semântica Frameworks Padrão ECF em EJB e COM+ Cesar Roberto Santos - Marcelo Kapp

Evolução da modelagem de componentes Promessa de modelos de objetos e componentes Crescimento de ferramentas de modelagem Componentes mais complexos

Definição de Componentes É a parte física, substituível do sistema que encapsula a implementação e provê a realização de um conjunto de interfaces Representa um pedaço físico de implementação, incluindo qualquer código de software

Notação UML para componentes Notação de interface longhand (detalhada) Notação de interface shorthand “lollipop” (ocultando detalhes)

Notação de componente e interface mostrando detalhes Calculate +calcWeight() +calcShipping() +calcTotal() ... ShoppingCart +weight +Shipping ... +orderItems +calcWight() +calcShipping() +addItem(item:OrderItem) +deleteItem() <<interface>> ChangeOrder +addItem(item:Item) +deleteItem() +saveItem() ... Notação de componente e interface mostrando detalhes

Notação de componente e interface ocultando detalhes Calculate ShoppingCart ChangeOrder Notação de componente e interface ocultando detalhes

Diagrama de Desenvolvimento Componentes são encontrados tipicamente em diagramas de modelo de implementação como: diagramas de componentes – mostra a organização e a dependência de componentes diagramas de desenvolvimento – mostra como componentes e instâncias de classes em nós computacionais são desenvolvidos Exemplo de diagrama de desenvolvimento

Diagrama de Desenvolvimento PrimaryServer:appServer <<database>> PrimaryDB: AccountsDB PrimaryQuoter: QuoteService <<call>> <<call>> primaryBroker :StockBroker <<copy>> <<copy>> <<copy>> <<become>> <<become>> backupServer:appServer backupBroker :StockBroker <<call>> <<call>> <<database>> backupDB: AccountsDB backupQuoter: QuoteService Diagrama de Desenvolvimento

Sobreposição Semântica A UML pode ser considerada uma linguagem de modelagem de propósitos gerais Porém a falta de exemplos (os existentes são triviais) e ferramentas para construções avançadas contribui para a sobreposição semântica Sobreposição semântica ocorre entre componentes, classe e subsistema é um dos problemas mais comuns para modeladores

Comparação Semântica de componente, Subsistema e classe   Componente Subsistema classe Is a classifier ? + Can have operations ? Can have methods ? - Can have attributes ? Can have interfaces ? Can be associated ? Can have thread of control ? Can be nested ? Is a grouping construct ? Can import/access ? Represents a unit in a physical system ? Contains Implementation of model elements ? Can create instances ? + (optional) Instances typically reside on nodes ?    

Auxílio para escolha de modelos de classificadores Deve-se utilizar heuristica de uso São diretrizes básicas mas não são regras Tabela de heuristica de uso para componentes, subsistemas e classes

Heuristica de uso para componentes, subsistemas e classes   Componente Subsistema classe Tend to be coarse-grained ? + - Typically modeled during analysis ? Typically modeled during desing ? Typical modeled during implementation ?  

Modeling Component Frameworks “Um framework é um projeto reutilizável de tudo ou parte de um sistema representado por um conjunto de classes abstratas e o modo que as suas instâncias interagem” “Um framework é o esqueleto de uma aplicação que pode ser customizado por um desenvolvedor de aplicação”

Definição da UML Frameworks “É um pacote estereotipo que consiste principalmente em padrões” “Um padrão arquitetônico que prove um modelo extensível para aplicações em um domínio específico”

Definindo um padrão comum As arquiteturas do Enterprise JavaBeans e COM+ são baseadas num padrão de arquitetura comum, o Enterprise Component Framework.

Enterprise Component Framework pattern Proxy original proxy Enterprise Component Framework pattern FactoryProxy Factory client <<call>> Component Factory Remote <<call>> original <<call>> RemoteProxy Remote <<call>> Client <<call>> Context <<call>> Container <<call>> Persistence Service client proxy Proxy

Aplicando o padrão Enterprise Component Framework A solução comum que o padrão Enterprise Component Framework provê para arquiteturas de componentes distribuídos pode ser demonstrada aplicando-o para modelar exemplos EJB e COM+.

Application of pattern to EJB Shopping Cart Specification Elements Realization Elements <<EJBHomeInterface>> ShoppingCartHome create(...) findbyPrimaryKey(...) HomeObject <<call>> <<EJBEntityClass>> ShoppingCartImpl <<call>> <<database>> ArtStore.DB <<call>> ArtStoreClient RemoteObject <<call>> <<call>> <<EJBRemoteInterface>> ShoppingCart getItemCount(...) setTotal(...) <<EJBContextObject>> ContextObject component context remoteProxy factoryProxy persistenceService container Enterprise Component Framework

Application of pattern to COM+ Shopping Cart Specification Elements Realization Elements <<COMInterface>> IClassFactory create(...) findbyPrimaryKey(...) FactoryWrapper <<call>> <<COMClass>> ShoppingCartImpl <<call>> <<database>> ArtStore.DB <<call>> ArtStoreClient ObjectWrapper <<call>> <<call>> <<COMInterface>> IShoppingCart getItemCount(...) setTotal(...) <<COMContextObject>> ContextObject component context remoteProxy factoryProxy persistenceService container Enterprise Component Framework

Conclusão A UML 1.3 provê um apoio básico para modelagem de componentes e frameworks. Notamos também que apesar das arquiteturas EJB e COM+ serem parecidas estruturalmente, existem diferenças que podem determinar o uso entre ambas.