Sunteți pe pagina 1din 80

Modelagem de Interface

Prof. Raul Sidnei Wazlawick


UFSC-CTC-INE

2010

Fonte: Anlise e Projeto de Sistemas de Informao
Orientados a Objetos, 2 Edio, Elsevier, 2010.
Projeto da camada de
interface
Depende de alguns artefatos da anlise,
especificamente dos casos de uso
expandidos ou diagramas de seqncia
de sistema.
Ser necessrio construir um projeto de
interfaces que permitam que as
operaes especificadas possam ser
executadas por um usurio que estiver
seguindo os fluxos.
Tambm se deve ter em mente os
requisitos no-funcionais e
suplementares de interface que
eventualmente tenham sido levantados.


WebML, Web Modeling
Language
uma linguagem de modelagem para
aplicaes Web complexas,
especialmente aquelas que fazem uso
intensivo de dados, como sistemas de
informaes acessveis via Web.

www.webml.org
WebML Unidades Pages Organizao Padres Operaes DSS
Modelos WebML
Modelo estrutural
trata da organizao dos dados.
Modelo de derivao
definio de dados que podem ser calculados a
partir de outros.
Modelo de composio
definio de pginas Web como um agregado de
unidades bsicas e sub-pginas.
Modelo de navegao
links entre as pginas e unidades de publicao.
Modelo de apresentao
posicionamento de unidades em pginas e sua
aparncia.

WebML Unidades Pages Organizao Padres Operaes DSS
Units
As unidades de publicao de
informao ou simplesmente units so
os elementos bsicos de uma
especificao WebML.
As units podem ser diretamente
associadas a classes do modelo
conceitual e, por conseguinte, s suas
instncias.

WebML Unidades Pages Organizao Padres Operaes DSS
Tipos de Units
Data units
que gerenciam informao sobre um nico
objeto.
Multidata units
que gerenciam informao sobre uma coleo
de objetos.
Index units
que listam atributos de uma coleo de objetos.
Scroller units
que permitem a operao tpica de browse sobre
uma coleo de objetos.
Entry units
que permitem entrada de dados.

WebML Unidades Pages Organizao Padres Operaes DSS
Data Unit
Propriedades:
O nome da unit, conforme especificado pelo
projetista.
A fonte dos dados, usualmente o nome de
uma classe do DCP.
Um seletor (opcional), que define quais
instncias da classe so gerenciadas pela
unit. O seletor deve ser especificado como
uma expresso lgica (sugere-se usar OCL).
O conjunto de atributos includos na unit.
Usa-se o smbolo * caso se queira incluir
todos os atributos da classe na unit.

WebML Unidades Pages Organizao Padres Operaes DSS
Definio textual e grfica
DataUnit DLivro (
source Livro;
selector isbn = 12345;
attributes *
)
WebML Unidades Pages Organizao Padres Operaes DSS
Seletor composto
DataUnit DLivro (
source Livro;
selector
titulo = Anlise e Projeto,
autor = Raul;
attributes *
)
WebML Unidades Pages Organizao Padres Operaes DSS
Possvel renderizao
WebML Unidades Pages Organizao Padres Operaes DSS
Usando menos atributos
DataUnit DLivro (
source Livro;
selector isbn = 12345;
attributes titulo, autor;
)
WebML Unidades Pages Organizao Padres Operaes DSS
Seletor disjuntivo
DataUnit DLivro (
source Livro;
selector autor = Raul | Rui;
attributes *
)
WebML Unidades Pages Organizao Padres Operaes DSS
Multidata units
As multidata units gerenciam colees
de instncias de uma nica classe.
Alm das propriedades j
apresentadas para data units elas
ainda acrescentam uma nova
propriedade opcional que define quais
os atributos usados na ordenao das
instncias.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
MultidataUnit MLivros (
source Livro;
selector autor = Raul;
attributes isbn, titulo, autor;
orderBy titulo;
)
WebML Unidades Pages Organizao Padres Operaes DSS
Index units
As index units apresentam um ou mais
atributos de uma classe na forma de
uma lista de todas as instncias que
satisfizerem o seletor opcional.
Enquanto as multidata units so usadas
normalmente para editar vrios objetos
em uma mesma pgina, as index units
funcionam mais como uma lista para que
se selecione um ou mais objetos.
As propriedades so exatamente as
mesmas das multidata units.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
IndexUnit ILivros (
source Livro;
attributes titulo;
)
WebML Unidades Pages Organizao Padres Operaes DSS
Variaes de Index Unit
Multi-choice index unit ou lista de
escolha mltipla.
Hierarchical index unit ou lista
hierrquica.

WebML Unidades Pages Organizao Padres Operaes DSS
Multi-choice index unit
IndexUnit MCILivros multi-choice (
source Livro;
attributes titulo;
)
WebML Unidades Pages Organizao Padres Operaes DSS
Hierarchical index unit
IndexUnit HIlivros hierarchical (
source Livro;
attributes titulo
NEST Capitulo (
selector capitulos;
attributes numero, nome;
orderBy numero
)
)
WebML Unidades Pages Organizao Padres Operaes DSS
Possvel renderizao
WebML Unidades Pages Organizao Padres Operaes DSS
Uma HIU com detalhe filtrado
IndexUnit HILivros hierarchical (
source Livro;
attributes titulo
NEST Capitulo (
selector capitulos, numero <= 5;
attributes numero, nome;
orderBy numero
)
)
WebML Unidades Pages Organizao Padres Operaes DSS
Recursive hierarchical index
unit
IndexUnit HIUnidadesAdm hierarchical(
source UnidadeAdm;
attributes nome;
RECURSIVE NEST UnidadeAdm (
selector subunidades;
attributes nome;
)
)
WebML Unidades Pages Organizao Padres Operaes DSS
Scroller unit
So usadas em conjunto com outras
units.
Elas renderizam controles especficos
para avanar para a prxima
instncia, retornar, avanar ao fim e
retornar ao incio da srie, alm de
mostrar a posio do elemento atual
em relao srie completa.

WebML Unidades Pages Organizao Padres Operaes DSS
Block factor
Alm do nome e das propriedades
source, selector e orderBy, j
presentes nas estruturas anteriores, a
scroller unit possui a propriedade
blockFactor, que corresponde ao
nmero de instncias que so
avanadas cada vez que a operao
scroll for realizada.
O valor default do blockFactor 1.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
ScrollerUnit SLivros (
source Livro;
blockFactor 1;
orderBy titulo
)
Na renderizao no
aparecem os atributos do
livro porque para isso seria
necessrio que a scroller
unit estivesse associada a
uma data unit.
WebML Unidades Pages Organizao Padres Operaes DSS
Entry unit
A entry unit, usada para entrada de
dados baseada em forms.
bastante til para criao de novas
instncias de objetos, e tambm para
fornecer parmetros para pesquisas,
consultas ou operaes.
Alm de seu nome tem apenas uma
lista de campos.
Ela no diretamente ligada a uma
source, como as demais units.

WebML Unidades Pages Organizao Padres Operaes DSS
Campos
Os campos ou fields de uma entry unit tm
as seguintes propriedades:
Nome
Tipo de dados do campo
string, inteiro, data, moeda, etc..
Valor inicial
opcional.
Modificabilidade
define se o valor inicial do campo pode ser ou no
modificado (o default que qualquer campo seja
modificvel).
Predicado de validade
consiste em uma expresso booleana que define quais
valores so admitidos.

WebML Unidades Pages Organizao Padres Operaes DSS
Predicado de validade
Se no for definido um predicado de
validade ento todos os valores entrados
so vlidos.
Os predicados so uma das formas de
implementar a checagem de
precondies sintticas, em nvel de
interface, conforme explicado na seo
8.1.1.
Alm de expresses comparativas com
os sinais <, >, = e <>, possvel utilizar
a expresso notNull para indicar que um
determinado campo no pode ser
deixado de preencher.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
EntryUnit InpLivro ( fields
ISBN String notNull;
Ttulo String notNull;
Autor String;
NrPaginas Integer, nrPaginas > 10;
Editora String;
Preo Money;
Estoque Integer;
)
InpLivro
WebML Unidades Pages Organizao Padres Operaes DSS
Pages
Pginas so os elementos de
interface efetivamente acessados pelo
usurio.
Tipicamente uma pgina contm uma
ou mais units e possivelmente sub-
pginas.
Uma pgina em WebML
representada por um retngulo
simples, possivelmente com um nome
e opcionalmente um conjunto de units
e sub-pginas includas.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
Page Principal (
units ILivros, IPessoas
)
WebML Unidades Pages Organizao Padres Operaes DSS
Links
Um link uma conexo orientada entre
duas pginas ou units.
Links podem ser usados no apenas
para definir possibilidades de navegao
entre pginas, mas tambm para ligar
units entre si, definindo dependncias e
relaes de causa e efeito.
Por exemplo, selecionar um elemento
em uma index unit pode fazer aparecer a
descrio do objeto em uma data unit
associada por um link index unit.

WebML Unidades Pages Organizao Padres Operaes DSS
Link Parameter
Um parmetro de link uma
especificao de uma informao que
transmitida da origem ao destino do
link.

WebML Unidades Pages Organizao Padres Operaes DSS
Link Selector
Algumas units anteriormente vistas
podiam ter seletores (selector).
Um link selector um valor de seletor
que faz referncia a um link
parameter.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
Se a index unit de lista de livros envia
um ISBN para a data unit de Livro,
ento a data unit ter um seletor
baseado no link.

Link ILivrosParaDLivro (
from ILivros to DLivro;
parameters livroSelecionado : Livro.isbn
)
WebML Unidades Pages Organizao Padres Operaes DSS
Tipos de link
Interpginas
ligam duas pginas diferentes.
Intrapginas
ligam units dentro da mesma pgina.
Contextuais
transmitem informao, na forma de
parmetros de link, da origem para o
destino.
No contextuais
no transmitem informao, mas apenas
indicam navegao.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
Link no contextual interpginas
WebML Unidades Pages Organizao Padres Operaes DSS
Link com mltiplos valores
Link MCILivrosParaMLivros (
from MCILivros to MLivros;
parameters selecoes : {Livro.isbn}
)
WebML Unidades Pages Organizao Padres Operaes DSS
Um link contextual pode ser usado tambm para associar uma entry
unit a uma data ou multidata unit de forma que a entry unit funcione
como um campo de pesquisa ou filtragem para os dados da data ou
multidata unit
EntryUnit Pesquisa ( fields
campoPesquisa String
)
Link PesquisaParaMLivros (
from Pesquisa to MLivros;
parameters palavraChave : campoPesquisa
)
WebML Unidades Pages Organizao Padres Operaes DSS
Link de transporte
No define navegao, mas apenas a
dependncia entre duas units.
Graficamente so representados por
setas tracejadas e textualmente,
adiciona-se o termo transport
definio do link.
WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
Link ULivroParaICapitulos transport (
from ULivro to ICapitulos
)
Exibir em uma mesma janela dados de um
livro e a lista de seus captulos
WebML Unidades Pages Organizao Padres Operaes DSS
Link automtico
Um link automtico navegado
independentemente da interveno do
usurio.
Ele definido textualmente pela adio
do termo automatic definio do link
e graficamente com um quadrado com a
letra A inscrita na seta que representa
o link.
Uma das aplicaes do link automtico
fazer a ligao entre uma scroll unit e
outras units.
WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
WebML Unidades Pages Organizao Padres Operaes DSS
Organizao de hipertexto
As units, links e sua organizao em
pginas constituem a modelagem de
interface em seus aspectos mais locais.
Porm, tambm necessrio realizar
uma modelagem mais ampla da
interface, indicando grupos de pginas
relacionadas, formas de navegao
entre elas, regies, etc.
Esse tipo de modelagem ser descrito
nesta seo e referenciado como
organizao do hipertexto.

WebML Unidades Pages Organizao Padres Operaes DSS
Viso de site
Uma viso de site (siteview) um
pacote com vrias pginas de uma
mesma aplicao Web.
O conceito equivalente ao conceito
de pacote da UML, e sua
representao grfica a mesma.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
Siteview Livir (...)
WebML Unidades Pages Organizao Padres Operaes DSS
rea
Uma viso de site pode ser organizada
em reas.
reas so grupos de pginas ou
recursivamente de outras reas que tem
afinidades, como por exemplo, um
conjunto de botes, ou uma parte do site
com anncios diversos.
Na notao grfica as reas devem
aparecer como grupos de pginas
cercadas por um quadrado tracejado.
WebML Unidades Pages Organizao Padres Operaes DSS
Exempl
o
Siteview Livir (
areas Admin, Clientes;
page Principal
)
Area Admin (
pages Relatrios, Manuteno
)
Area Clientes (
pages PrincipalCliente, Compras, Cadastro
)
WebML Unidades Pages Organizao Padres Operaes DSS
Tipos de pgina
H: representa a homepage.
Na definio textual da pgina adiciona-se a
expresso home. Esta a pgina inicial da
aplicao.
D: representa a pgina default de uma rea.
Na definio textual da pgina adiciona-se a
expresso default. Essa pgina ser a pgina
padro para onde se navega sempre que se
entrar em uma rea, ou seja, a pgina inicial
de uma rea.
L: representa uma pgina landmark.
Na definio textual da pgina adiciona-se a
expresso landmark. Esta pgina acessvel
sem necessidade de links explcitos por qualquer
outra pgina includa da mesma rea.
WebML Unidades Pages Organizao Padres Operaes DSS
Padres de interface Web
ndice em cascata
ndice filtrado
Tour guiado
Pontos de vista
WebML Unidades Pages Organizao Padres Operaes DSS
ndice em cascata
O ndice em cascata uma seqncia
de menus baseados em index units
at chegar a uma data unit.
WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
WebML Unidades Pages Organizao Padres Operaes DSS
Variante
Uma variante deste padro consiste
em mostrar alguns dados do objeto
selecionado em um dos ndices
intermedirios.
WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
WebML Unidades Pages Organizao Padres Operaes DSS
ndice filtrado
Em alguns casos poder ser
interessante no exibir uma lista com
todos os valores possveis.
Pode-se usar, ao invs disso, uma
lista j filtrada, solicitando ao usurio,
por exemplo, que indique uma palavra
chave para pesquisa.
Este padro se realiza pela conexo
entre uma entry unit, uma index unit e
uma data unit.
WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
WebML Unidades Pages Organizao Padres Operaes DSS
Variao
Uma variao o ndice filtrado com
scroll, tpico de mecanismos de busca
na Internet.
Aplica-se uma chave de busca e
vrios resultados so apresentados
em listas de n itens.
O usurio pode visualizar os prximos
n itens ou os n anteriores, realizando
operaes de scroll com blockFactor
n.

WebML Unidades Pages Organizao Padres Operaes DSS
Esta variao implementada pela
juno de uma entry unit com uma
scroll unit ligada a uma index unit por
um link automtico.
Por sua vez, a index unit se associa a
uma data unit para visualizao dos
detalhes do elemento selecionado
WebML Unidades Pages Organizao Padres Operaes DSS
WebML Unidades Pages Organizao Padres Operaes DSS
Tour guiado
Um tour guiado um padro onde se
visualiza detalhes de objetos um por
um usando scroll.
Usa-se uma scroll unit com
blockFactor igual a 1 conectado por
um link automtico a uma data unit.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
WebML Unidades Pages Organizao Padres Operaes DSS
Pontos de vista
Por vezes pode ser interessante
apresentar diferentes facetas de certos
objetos.
Por exemplo, apresentar dados
resumidos sobre um livro, expandir estes
dados visualizando dados completos e
novamente visualizar os dados
resumidos.
Para realizar este padro basta definir
duas data units com diferentes conjuntos
de atributos de uma mesma classe e
criar links entre as duas units.
WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo
WebML Unidades Pages Organizao Padres Operaes DSS
Operaes
WebML permite ainda que se modele
operaes de criao, excluso e
alterao de objetos, com o uso de
units chamadas operation units.
As cinco operation units bsicas tm
relao direta com as cinco operaes
bsicas sobre objetos.
WebML Unidades Pages Organizao Padres Operaes DSS
Operation units
Create unit
Cria instncia
Delete unit
Destri instncia
Modify unit
Altera atributo
Connect unit
Cria
associao
Disconnect unit
Destri
associao
WebML Unidades Pages Organizao Padres Operaes DSS
Links de sada de uma op.
unit
Link OK
para onde vai o controle se a operao
executada com sucesso.
Link KO
para onde vai o controle se a operao
falha em executar.

WebML Unidades Pages Organizao Padres Operaes DSS
Exemplo de uso de create
unit
EntryUnit EEditora ( fields
campoOid String,
campoNome String
)
CreateUnit CriaEditora (
source Editora;
oid := umOid,
nome := umNome
)
WebML Unidades Pages Organizao Padres Operaes DSS
Link EEditoraParaCriaEditora (
from EEditora to CriaEditora;
parameters
umOid : campoOid,
umNome : campoNome
)
Exemplo de uso de create
unit
WebML Unidades Pages Organizao Padres Operaes DSS
DataUnit DEditora (
source Editora;
attribute *
)
OKLink sucesso (
from CriaEditora to DEditora
)
Exemplo de uso de create
unit
WebML Unidades Pages Organizao Padres Operaes DSS
KOLink falha (
from CriaEditora to EntraEditora
)
Exemplo de uso de create
unit
WebML Unidades Pages Organizao Padres Operaes DSS
Delete unit
A delete unit opera sobre um ou
mais objetos que satisfaam a
condio do seletor.
Se um ou mais dos objetos no
puder ser excludo a delete unit
segue o link de sada KO
transportando como
parmetros os OIDs dos
objetos que no foram
excludos.

WebML Unidades Pages Organizao Padres Operaes DSS
Modify unit
Uma modify unit contm um seletor
para um ou mais objetos e um
conjunto de atribuies para alterar
atributos desses objetos.
Usualmente os novos
valores dos atributos so
recebidos por links de
transporte.

WebML Unidades Pages Organizao Padres Operaes DSS
Connect unit e Disconnect
unit
A connect unit e a disconnect unit tm
dois seletores: um para o objeto
origem e outro para o objeto destino
da associao a ser criada ou
destruda.

WebML Unidades Pages Organizao Padres Operaes DSS
Operation unit
Outras operaes que no se
encaixam nos cinco tipos bsicos
podem ser representadas como
operaes genricas, ou operation
units.
WebML Unidades Pages Organizao Padres Operaes DSS
Construo de modelos WebML
a partir de DSS
O projeto de interfaces necessita de pelo
menos dois artefatos: o diagrama de
seqncia de sistema e o modelo conceitual.
O diagrama de seqncia de sistema vai
indicar o encadeamento das operaes e das
entradas e sadas de dados na interface.
Ele tambm vai mencionar operaes padro
como CRUD, listagem e relatrios. Conforme
mencionado, tais operaes padro no
precisam ser modeladas com contratos e
diagramas de comunicao, pois a prpria
WebML j conta com os padres necessrios
em sua definio.

WebML Unidades Pages Organizao Padres Operaes DSS
DSS original
WebML Unidades Pages Organizao Padres Operaes DSS
Cria compra
WebML Unidades Pages Organizao Padres Operaes DSS
Lista de livros disponveis
WebML Unidades Pages Organizao Padres Operaes DSS
Adiciona livros na compra
WebML Unidades Pages Organizao Padres Operaes DSS
Adiciona livros na compra
WebML Unidades Pages Organizao Padres Operaes DSS

S-ar putea să vă placă și