Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Perfis UML Franklin Ramalho Universidade Federal de Campina Grande - UFCG DDM- UFCG 2 Agenda - Motivação - Perfis - Perfil para EJB - Perfil para Testes - Meta-modelo para testes - Perfil UML x Meta-modelo DDM- UFCG 3 Motivação • Diagramas de classe UML são Orientados a Objetos – Classes, Atributos, Operações, Herança, etc... • Diagramas de Classe são usados para outros fins – Meta-modelagem – Modelos de bancos de dados – Etc... • Como identificar qual domínio está sendo (meta-)modelado? • Como modelar conceitos não OO? • Como estender UML? DDM- UFCG 4 Perfis UML • Perfis UML viabilizam a adoção de UML para outros domínios • Um perfil UML é um conjunto de técnicas e mecanismos que permitem adaptar UML a um domínio específico • Adaptação pode ser realizada em qualquer modelo UML • Não modifica o meta-modelo UML DDM- UFCG 5 Perfis UML • Conceito central: Estereótipo – Etiqueta rotulada que pode ser adicionada a qualquer elemento de um modelo UML – Classe, operação, atributo, pacote, caso de uso, etc... • Meta-modelo: – Definição baseada na identificação da meta-classe do elemento UML • Estereótipos de um perfil UML – Pacote, classe, interface, associação, operação, atributo, etc. DDM- UFCG 6 Perfis UML • Sintaxe de um estereótipo: – << nome_do_estereótipo>> Coordenador Coordenador <<agente>> Estereótipo Semântica adicional embutida 2 DDM- UFCG 7 Profiles Package Agente <<stereotype>> Class <<metaclass>> DDM- UFCG 8 Perfis UML • Estereótipos definem uma nova semântica para o elemento • A semântica do estereótipo deve ser conhecida pelos manipuladores do modelo – Projetistas – Analistas – Programadores – Ferramentas, etc ... • Associar tratamentos específicos sobre o domínio coberto pelo perfil – Mais produtivo DDM- UFCG 9 Perfil UML • Utilizar um perfil UML significa colar sobre um modelo UML um conjunto de estereótipos e respeitar algumas restrições DDM- UFCG 10 Perfis OMG • OMG disponibiliza alguns perfis padrões – Enterprise Application Integration (application interoperability through standard metadata) – Enterprise Distributed Object Computing (EDOC) – QoS and Fault Tolerance – Schedulability, Performance and Time – CORBA – Testing – Etc… DDM- UFCG 11 Outros Perfis • Outra organizações também propõem perfis – Enterprise Java Beans - JCP (Java Communitiy Process) – Software Services - IBM – Knowledge-Based Systems (University of York) – Data Modeling - agiledata.org – Framework Architectures (UML-F) – Requirement Engineering with KAOS – Formal Methods in B (UML-B) – Embedded System Design – BIT – Built-In contract Test (SPLab - UFCG) – Structural Design Patterns (SPLab - UFCG) – RT-Testing (SPLab – UFCG) – Etc … DDM- UFCG 12 Corresponde à uma interface remota de um EJB Corresponde à uma interface local de um EJB GMF/UFCG SBES 2007 Perfil EJB (JCP) 3 DDM- UFCG 13 MinhaApplicacao EJB <<profile>> <<apply>> GMF/UFCG SBES 2007 Usando o perfil EJB Comp1 Interface1 <<entitiy>> Estereótipos definidos no <<profile>> EJB <<home>> DDM- UFCG 14 Usando Perfis UML DDM- UFCG 15 Usando o Perfil EJB DDM- UFCG 16 Perfil UML para Testes (U2TP – OMG) Especificação de um caso para testar o sistema (teste, entrada, saída, condições) Descreve o que deveria ser testado http://www.omg.org/ DDM- UFCG 17 Perfil UML para Testes (U2TP – OMG) Coleção de casos de teste juntamente com uma configuração de testes objetos que realizam um comportamento a ser testado DDM- UFCG 18 Exemplo 4 DDM- UFCG 19 Exemplo <<apply>> testing <<profile>> DDM- UFCG 20 Meta-modelo para Perfis UML DDM- UFCG 21 UML 2.0 Superstructure • Dividido em 3 pacotes de alto nível: – Structure – Behavior – Supplement • Sub-dividida em outros sub-pacotes Diagramas estruturais Diagramas comportamentais Conceitos adicionais DDM- UFCG 22 UML 2.0 Superstructure – Supplement DDM- UFCG 23 Profiles (Meta-modelo) http://www.omg.org/ DDM- UFCG 24 Exercício 01 • Criar um perfil UML que indique se: – Uma classe é um agente inteligente • Um agente pode ser um coordenador • Um agente pode ser um facilitador • Um agente pode ser simples – Um agente coordenador tem uma comunidade a ser gerenciada – Um agente facilitador tem uma operação obtemServico() e outra cadastraServico() – Um atributo é um crença – Um método é uma percepção – Um método é uma ação – Um método é um serviço oferecido pelo agente – Uma associação indica uma cooperação entre agentes da mesma comunidade 5 DDM- UFCG 25 Exercício 02 • Criar um perfil UML que permita aos elementos de um diagrama de classes representar um modelo relacional de banco de dados DDM- UFCG 26 Exercício 03 • Criar um perfil UML que permita que elementos do diagrama de casos de uso guiem qual artefato UML será gerado a partir dele. – Exemplo: Um caso de uso será refinado através de uma operação UML DDM- UFCG 27 Exercício 04 • Criar uma ou mais aplicações que façam uso dos perfis especificados no exercícios anteriores. DDM- UFCG 28 Referências • Especificação da OMG para Perfis • Meta-modelo proposto pela OMG para perfis • Perfil U2TP proposto pela OMG http://www.omg.org/
Compartilhar