Objetos de Interface 2001 Jaelson Castro Objetos de
Objetos de Interface © 2001 Jaelson Castro Objetos de Interface 1
Objetivos n n n Arquitetura em três camadas - camada de apresentação. Diagramas de Seqüência - adicionando classe de interface do usuário. Fazer o protótipo da interface do usuário. Representando classes de interface do usuário em diagramas de classes e diagramas de pacote. Padrões de projeto - MVC. Diagramas Statechart. © 2003 Jaelson Castro Objetos de Interface 2
Arquitetura três camadas n n A interface do usuário é representada na arquitetura de três camadas pela camada de apresentação. Isto separa a interface do usuário das classes lógica/negócio da aplicação e do armazenamento de dados. O mesmo princípio é usado no Modelo-Visão. Controlador (MVC) em Small. Talk. Classes de negócio não se preocupam como vão ser apresentadas aos usuários. © 2003 Jaelson Castro Objetos de Interface 3
Ex: Avaliar o custo da campanha © 2003 Jaelson Castro Objetos de Interface 4
Adiciona um objeto caixa de diálogo © 2003 Jaelson Castro Objetos de Interface 5
Protótipo do diálogo n Protótipo pode ser usado para determinar como o diálogo deve parecer. © 2003 Jaelson Castro Objetos de Interface 6
Diagrama de Classes Dialog n Composição mostra que caixa de diálogo é composta por outros componentes Label © 2003 Jaelson Castro CBWindow 1 1 1 2 2 Button 2 1 Choice 1 Text. Field Objetos de Interface 7
Diagrama de Classes n Isto também pode ser mostrado como uma classe com os componentes gráficos aparecendo como atributos. © 2003 Jaelson Castro CBWindow client. Label campaign. Label budget. Label check. Button close. Button budget. Text. Field client Choice campaign. Choice Objetos de Interface 8
Pacotes n Diagrama de classes mostra a dependência entre classes de diferentes pacotes © 2003 Jaelson Castro Objetos de Interface 9
Diagrama de Classes Revisado n Composição mostra que caixa de diálogo é feita de outros componentes Java do pacote AWT: : Dialog CBWindow 1 © 2003 Jaelson Castro 1 2 AWT: : Button 3 AWT: : Label 1 AWT: : Choice 1 AWT: : Text. Field Objetos de Interface 10
Protótipo do Diálogo n Existem opções para definir como será a entrada do nome do Cliente e da Campanha: n n n © 2003 Jaelson Castro Usar uma janela de consulta separada para cada classe Permitir que o usuário entre com uma parte do nome para receber uma lista com alguns nomes correspondentes Usar estruturas do tipo explorer que mostram as instâncias como uma hierarquia. Objetos de Interface 11
Protótipos das alternativas do diálogo n © 2003 Jaelson Castro Janela de consulta separada Objetos de Interface 12
Protótipos das alternativas do diálogo n © 2003 Jaelson Castro Controle do tipo explorer (3 níveis) Objetos de Interface 13
Atualizando o Diagrama de Seqüência Escolha: Cliente (CL) & Campanha (CA) n Lookup © 2003 Jaelson Castro Objetos de Interface 14
Atualizando o Diagrama de Classes © 2003 Jaelson Castro Objetos de Interface 15
Padrões de Projeto para Interface do Usuário n A abordagem mais usada é Modelo. Visão-Controlador (MVC), baseado em três padrões (Observador, Composto, Estratégia). n n n © 2003 Jaelson Castro Modelo é o objeto de negócio Visão é a apresentação ao usuário Controle define como a interface do usuário responde às ações do usuário Objetos de Interface 16
Modelo-Visão-Controlador MVC 4: Update Presentation User Event : Controller 6: Notify Change : View 1: Broadcast 7: Request Model data 2: Update self : Model 5: Ask What Has Changed 3: Notify Change © 2003 Jaelson Castro Objetos de Interface 17
Padrões de Projeto para Interface do Usuário n n Java AWT usa o padrão composto para exibir objetos dentro de outros gráficos aninhados. Java pode usar MVC, com a interface Observer e a classe Observable. Normalmente usa Action. Listener, etc. para interfaces dirigidas por eventos. © 2003 Jaelson Castro Objetos de Interface 18
Abordagem Action. Listener © 2003 Jaelson Castro Objetos de Interface 19
Modelando o Comportamento Dinâmico da Interface n n Os diagramas de seqüência mostram a visão seqüencial do usuário trabalhando com os campos na tela de cima para baixo. Mas nas interfaces GUI o usuário pode clicar no objeto interface fora da seqüência n n O que acontece se o usuário clica no botão Check antes do cliente e da campanha ser selecionada? Use o diagrama de Statechart © 2003 Jaelson Castro Objetos de Interface 20
Client listbox, Campaign Listbox, Cursor © 2003 Jaelson Castro Objetos de Interface 21
Check. Button, Budget. Textbox © 2003 Jaelson Castro Objetos de Interface 22
Leituras Adicionais n n Bennett S, Farmer R and Mc. Robb S (1999) Object. Oriented Systems Analysis and Design using UML. Mc. Graw-Hill. Chapter 16 - Designing interface objects. Larman C (1998) Applying UML and Patterns. Prentice -Hall. Chapter 22 - Issues in System Design. © 2003 Jaelson Castro Objetos de Interface 23
- Slides: 23