Top Banner
Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof. Me. Carlos Michel Betemps Orientador 30 de junho de 2006.
61

Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

Curso de Bacharelado em Ciência da Computação

PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES

GRÁFICAS EM APLICATIVOS

André SandriAluno

Prof. Me. Carlos Michel BetempsOrientador

30 de junho de 2006.

Page 2: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

2

Roteiro

O Problema (Introdução) Objetivo Principal Principais Conceitos Abordagens Pesquisadas A Solução Proposta Requisitos e Limitações O Projeto Avaliação do Modelo Conclusões e Trabalhos Futuros

Page 3: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

3

O Problema (Introdução) Foi constatado que não existe um

modelo padrão para a modelagem de GUI

Fabricantes disponibilizaram soluções proprietárias

A relevância deste assunto afeta o futuro e o provável sucesso da arquitetura MDA – Model Driven Architecture

Page 4: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

4

Objetivo Principal

Demonstrar a criação de um profile UML para possibilitar a modelagem de interfaces gráficas de forma simplificada com ênfase em características de usabilidade para utilização em projetos de sistemas empresariais, podendo ser estendido para outras abordagens de desenvolvimento de software.

Refinando o objetivo:“Criar um profile UML para possibilitar a modelagem

de interfaces gráficas com foco na apresentação de widgets sob o ponto de vista da qualidade e da usabilidade para ambientes de desenvolvimento de software que utilizam MDD”.

Page 5: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

5

Principais Conceitos - MDE

MDE – Model Driven Engineering MIC - Model-Integrated Computing (sistemas

embarcados) DSL - Domain-Specific Language (Microsoft

Software Factories Initiative) MDA - Model-driven Architecture (OMG)

Tecnologias MDE oferecem uma abordagem promissora para tratar a incapacidade das linguagens de terceira geração de diminuir a complexidade das diferentes plataformas, buscando expressar de forma eficaz os conceitos do domínio do problema. (SCHMIDT, 2006)

Page 6: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

6

Principais Conceitos - MDD

MDD – Model Driven Development

MDD visa utilizar modelos na maior parte do tempo durante um processo de desenvolvimento de software, e prevê automação através da execução de modelos, transformações e técnicas de geração de código. (KLEPPE, WARMER, BAST, 2003)

Ganhos de 70% durante a fase de manutenção do software. A equipe que utilizou MDD completou cinco recursos 37% mais rápido do que a equipe tradicional, em 165 horas contra 260 horas. (COMPUWARE, 2005)

Page 7: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

7

Principais Conceitos - MDA

MDA – Model Driven Architecture

Page 8: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

8

Principais Conceitos – PIM, PSM

PIMPlatform Independent Model

PSMPlatform Specific Model TransformaçõesMapeamentos

Page 9: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

9

Principais Conceitos – ...CIM

PIMPlatform Independent Model

PSMPlatform Specific Model

CIMComputation Independent Model(domain model / business model)

Page 10: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

10

Principais Conceitos – MOF

MOF – Meta-object Facility UML – Unified Modeling Language CWM - Common Warehouse Metamodel XMI - XML Metadada Interchange QVT - Query, Views, and

Transformations

MOF é um framework de integração extensível para definir, manipular e integrar metadados e dados de forma independente de plataforma.

Page 11: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

11

Principais Conceitos - UML

UML 2.0 – Unified Modeling Language Superestrutura Infra-estrutura OCL - Object Constraint Language Diagram Interchange

A especificação da Superestrutura contém os conceitos de profiles, stereotypes e tagged values.

Page 12: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

12

Principais Conceitos - Usabilidade É a extensão na qual um produto pode ser

usado por usuários específicos para alcançar objetivos específicos com efetividade, eficiência e satisfação em um contexto de uso específico. (ISO 9241-11)

CUA - Common User Access (IBM) Microsoft Windows User Experience RIA - Rich Internet Applications IUI - Inductive User Interface Widgets

Page 13: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

13

Abordagens Pesquisadas Web Modeler

Rational Rose Enterprise Edition (IBM)

Screen Painter Diagram System Architect (Telelogic)

UML Web Profile HENNICKER, KOCH, 2001.

GUILayout BLANKENHORN, 2004.

Page 14: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

14

Web Modeler Rational Rose Enterprise Edition - IBM

Page 15: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

15

Screen Painter Diagram System Architect - Telelogic

Page 16: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

16

UML Web Profile HENNICKER, KOCH, 2001

Page 17: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

17

GUILayout BLANKENHORN, 2004

Page 18: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

18

A Solução Proposta

Técnica: Profile, MOF, outras? UML 2.0 + DI Foco na usabilidade (widgets) Independente de plataforma (PIM)

Como validar? Protótipo x Ferramenta comercial Engenharia-reversa de GUI Outras formas...

Page 19: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

19

Aspectos de Usabilidade Permitir...

Modelagem do posicionamento/hierarquia de widgets; Modelar expressões textuais (títulos, rótulos, etc.); Utilização de boxes/containers;

Oferecer... Widgets comumente utilizados em ferramentas de

programação; Propriedades que permitam a modelagem de troca de

estados destes componentes; Propriedades que possam determinar o conteúdo de

cada componente, estaticamente ou dinamicamente, através de simples expressões textuais (do tipo String) ou através de expressões OCL.

Page 20: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

20

Requisitos (1/2)

1) Um diagrama deve modelar o layout da GUI...;

2) O diagrama deverá ser fácil de aprender, utilizar e entender;

3) A criação de um digrama em uma ferramenta especializada de modelagem deverá ser uma tarefa de poucos minutos;

4) A criação de um diagrama não deve exigir muito trabalho adicional;

5) A simbologia utilizada no diagrama deverá representar os elementos fundamentais utilizados em interfaces gráficas...;

Page 21: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

21

Requisitos (2/2)6) O modelo deverá oferecer alguma forma de

extensão...;7) O modelo deverá seguir as premissas do UML, ou

seja, ser simples, compreensível para pessoas que não são da área de desenvolvimento de software...;

8) O modelo deverá ser abstrato o suficiente para possibilitar utilizá-lo na camada PIM da arquitetura MDA...;

9) Prever a utilização de OCL nos widgets possibilitando assim automatização do funcionamento do sistema gerado em ferramentas que suportam a execução do modelo..;

10) O modelo deverá ser criado para utilização em ferramentas de modelagem que suportem a criação e utilização de profiles UML de acordo com a especificação da OMG...;

Page 22: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

22

Requisito 8: PIM

PIMPlatform Independent Model

PSMPlatform Specific Model

TransformaçõesMapeamentos

UGUI Profile

WEB UGUI Profile

Page 23: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

23

Limitações

Navegação; Interação entre outros diagramas; Prototipação; Outros.

Restrições em OCL (sem possibilidade de validar com os meta-modelos utilizados)

Page 24: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

24

O Projeto Levantamento principais widgets Estereótipos para extensão Framework de Execução

Instanciar conforme plataforma Validação de conteúdo Persistência de conteúdo Ajuda de Contexto Drag & Drop

Widgets não incluídos: PopupMenu, TreeView, ListView

Page 25: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

25

UGUI Profile – Visão Parcial (1/3)

Page 26: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

26

UGUI Profile – Visão Parcial (2/3)

Page 27: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

27

UGUI Profile – Visão Parcial (3/3)

Page 28: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

28

Estereótipo: Container

Estereótipo abstrato (Component)

Atributos Visible: Boolean = true Enabled: Boolean = true Resizable: Boolean = true

Restrições Deverá haver pelo menos um estereótipo

estendido de container no diagrama.

Page 29: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

29

Estereótipo: Window

Janela (aninhar outros widgets)

Atributos Title: String IconFilename: String Style: WindowStyle = Normal

Restrições Um Window não pode aninhar outro

Window.

Page 30: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

30

Estereótipo: Panel

Área virtual (borda)

Atributos BorderVisible: Boolean = true Caption: String Alignment: AlignmentStyle = Center

Restrições Um Panel não pode aninhar um Window.

Page 31: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

31

Estereótipo: GroupBox

Agrupar elementos relacionados Atributos

Caption: String Restrições

Um GroupBox não pode aninhar um Window.

Um GroupBox não pode aninhar um Panel.

Page 32: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

32

Estereótipo: TabSheetGroup

Agrupar TabSheet Atributos

ActivePage: String TabPosition: TabSheetStyle = Top

Restrições Este elemento deve possuir pelo menos

um elemento TabSheet. Somente o elemento TabSheet pode ser

incluído neste container, nada mais.

Page 33: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

33

Estereótipo: TabSheet

“Página com aba” Atributos

Caption: String IconFilename: String

Restrições Todo TabSheet deve pertencer a um

TabSheetGroup. Um TabSheet não pode conter um

Window. Um TabSheet não pode conter um

TabSheetGroup.

Page 34: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

34

Estereótipo: ExtendedContainer

Estereótipo de Extensão Pode ser utilizado quando nenhum

dos estereótipos previstos no modelo atende às necessidades do projeto

Possível adicionar novos atributos conforme ferramenta de modelagem

Atributos Type: String

Page 35: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

35

Estereótipo: BoxedWidget

Estereótipo Abstrato Atributos

Visible: Boolean = true Enabled: Boolean = true Hint: String

Restrições Todo BoxedWidget deverá ser incluído

dentro de um Window, Panel, GroupBox ou TabSheet.

Page 36: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

36

Estereótipo: TextBox

“Edit box” Atributos

Value: String MaxLength: Integer MinLength: Integer = 0 PasswordMode: Boolean = false Required: Boolean = true Mask: String FieldName: String

Page 37: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

37

Estereótipo: MemoBox

“Edit Box” com várias linhas Atributos

Value: String MaxLength: Integer MinLength: Integer = 0 Required: Boolean = true FieldName: String WordWrap: Boolean = false

Page 38: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

38

Estereótipo: RichBox

MemoBox com conteúdo formatado Atributos

Value: String MaxLength: Integer MinLength: Integer = 0 Required: Boolean = true FieldName: String ContentType: String

Page 39: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

39

Estereótipo: ComboBox

Lista drop-down com scroll Atributos

Items[*]: String SelectedIndex: Integer Required: Boolean = true FieldName: String Sorted: Boolean = false Editable: Boolean = false

Page 40: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

40

Estereótipo: Media

Conteúdo multimídia Atributos

Value: String[*] Required: Boolean = true FieldName: String ContentType: String Editable: Boolean = false Stretch: Boolean = false

Page 41: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

41

Estereótipo: Table

Conteúdo tabular Atributos

TotalCols: Integer Titles: String[*] Items: String[*] Editable: Boolean = false FieldName: String SelectedIndex: Integer

Page 42: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

42

Estereótipo: Gauge

Informação quantitativa Atributos

Style: GaugeStyle = HorizontalBar Progress: Integer = 0 ShowText: Boolean = true FieldName: String

Page 43: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

43

Estereótipo: TrackBar

Visualizar/alterar um valor quantitativo limitado

Atributos MinValue: Integer = 0 MaxValue: Integer = 10 Orientation: TrackBarOrientation =

Horizontal Value: Integer ShowText: Boolean = false FieldName: String

Page 44: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

44

Estereótipo: ExtendedBox

Estereótipo de extensão Pode ser utilizado quando nenhum

dos estereótipos previstos no modelo atende às necessidades do projeto

Possível adicionar novos atributos conforme ferramenta de modelagem

Atributos Type: String

Page 45: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

45

Estereótipo: TextualWidget

Estereótipo abstrato Atributos

Name: String Visible: Boolean = true Enabled: Boolean = true UseAcceleratorChar: Boolean = false

Restrições Todo TextualWidget deverá ser incluído

dentro de um Window, Panel, GroupBox ou TabSheet.

Page 46: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

46

Estereótipo: RadioButton

Opções exclusivas

Atributos Hint: String Checked: Boolean = false CheckedValue: String FieldName: String Required: Boolean = true

Page 47: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

47

Estereótipo: CheckBox

Ligado/desligado

Atributos Hint: String Checked: Boolean = false CheckedValue: String FieldName: String

Page 48: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

48

Estereótipo: Button

Botão de comando

Atributos DefaultButton: Boolean = false Hint: String IconFilename: String UseAcceleratorChar: Boolean = false Execute: String

Page 49: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

49

Estereótipo: Label

Texto não editável

Atributos Style: String Alignment: AlignmentStyle = Left

Page 50: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

50

Estereótipo: LinkedLabel

Texto hyperlink não editável

Atributos Style: String Alignment: AlignmentStyle = Left Execute: String Hint: String

Page 51: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

51

Estereótipo: ExtendedText

Estereótipo de extensão Pode ser utilizado quando nenhum

dos estereótipos previstos no modelo atende às necessidades do projeto

Possível adicionar novos atributos conforme ferramenta de modelagem

Atributos Type: String

Page 52: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

52

EXEMPLO 1

Fonte: Microsoft WordPad

Page 53: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

53

EXEMPLO 2

Fonte: Banrisul Remote Banking

Page 54: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

54

Avaliação do Modelo

Para avaliar e testar o modelo e a abordagem escolhida, foram utilizadas duas ferramentas de modelagem comerciais que suportam a criação e a utilização de profiles (UML 2.0):

- Together Architect 2006

- Enterprise Architect 6.1

Page 55: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

55

Avaliação - Together Architect

Suporte de especificação visual do profile de forma semelhante à proposta da OMG

Representação gráfica (SVG 1.1) Ícone (paleta de componentes) Problemas

Restrições OCL (editor, definição) “Component” com imagem

(comportamento não previsto pela OMG) Nome e texto com imagem

Page 56: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

56

Avaliação - Together Architect

Page 57: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

57

Avaliação - Enterprise Architect

Especificação visual de forma semelhante ao Together (XML)

Representação gráfica (EMF ou WMF) Suporta restrições OCL (sem editor) Problemas

Problemas semelhantes com imagens Mostra o nome do elemento (superior) Permite mover para fora dos limites do

elemento pai sem alterar a estrutura hierárquica

Page 58: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

58

Conclusões

O modelo oferece um recurso para possibilitar a modelagem de GUI com aspectos de usabilidade para ambientes MDD (PIM do MDA), pois:

É independente de tecnologia (plataforma) Possibilita modelar o comportamento básico dos

widgets ao serem executados Prevê propriedades para serem utilizadas para a

validação, persistência e apresentação dos dados Permite construir o diagrama de forma

aproximada aos elementos que compõem as atuais interfaces gráficas

Page 59: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

59

Conclusões

Com a avaliação em cima de ferramentas de modelagem foram encontrados problemas referentes à utilização de imagens nos estereótipos e da utilização de restrições OCL.

Portanto, conclui-se que existe uma necessidade de amadurecimento das ferramentas quanto a estes aspectos, além de que é recomendável reforçar a padronização da OMG para evitar estes tipos de problemas, já que estas especificações não previram explicitamente estes tipos de necessidades.

Page 60: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

60

Trabalhos Futuros

Avaliar a utilização do profile durante a construção de um software real

Especificar e avaliar um modelo semelhante ao proposto utilizando MOF ou DSL

Avaliar e sugerir modificações nos padrões da OMG

Avaliar e sugerir correções para as ferramentas de modelagem

Especificar, construir e validar um framework de execução para este profile

Realizar a conversão das restrições para OCL Sugerir navegação, interação, etc.

Page 61: Curso de Bacharelado em Ciência da Computação PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Aluno Prof.

61

Muito Obrigado!

André Sandriwww.sandri.cjb.net

Esta apresentação, a monografia e os arquivos do profile para ambas ferramentas de modelagem serão disponibilizadas na terceira semana de julho na página do autor.