Você está na página 1de 14

OOHDM - Object Oriented Hypermedia Design Method 1.

Introduo O OOHDM foi criado em 1994 por Schwabe & Rossi e tem se mostrado eficiente na reduo de agravantes como a dificuldade de manuteno e reusabilidade em relao construo de sistemas hipermdia, alm de ter atingido uma boa popularidade dentre os modelos de desenvolvimento de aplicaes sendo que o modelo produzido pelo OOHDM pode ser implementado em qualquer tipo de ambiente de desenvolvimento disponvel no mercado, seja este orientado a objeto ou no (HENNRICHS, 2005). E, para que se torne mais acessvel essa teoria bom que se conhea alguns conceitos bsicos em torno desse mtodo. 2. Conceitos Bsicos Inicialmente, torna-se importante segundo Oliveira et al. (2002), uma viso mais especfica de alguns conceitos, tais como: Hipertexto: sistema ou aplicativo que permite criar, manter e manipular trechos de informao (texto e grficos) interligados de forma no-seqencial ou no-linear; Ns: trechos de informao correspondentes a uma parte de um documento de hipermdia ou de hipertexto. Elos: ligao entre dois ns. A ativao de um elo invoca o n de destino de seu relacionamento. Hiperdocumento: rede de ns e elos. Uma aplicao pode ser composta por um ou mais hiperdocumentos relacionados. ncoras: estrutura de ativao de um elo (normalmente botes). Estruturas de Acesso: menus ou ndices hierrquicos que permitem ao usurio o desvio do fluxo principal de idias ou ainda roteiros, podendo ser prdefinidos ou no. Segundo Oliveira et al. (2002), modelos como HDM, EORM e RMM tendem a ignorar o projeto de navegao e da interface do usurio. Alm

disso, no podem ser utilizados em domnios dinmicos , como os sistemas de apoio deciso, ambientes de engenharia de programas e aplicaes educacionais modernas. Da a opo pela modelagem OOHDM para o trabalho proposto e ainda apresentar a modelagem citada como alternativa s falhas identificadas nos demais modelos. Magalhes (2002) comenta, a seguir, as partes constituintes do mtodo no esquecendo a necessidade de se fazer uma boa anlise de requisitos, ou seja, obter o mximo possvel de informaes sobre o domnio da aplicao em voga. tarefa tambm da elicitao, identificar os fatos que compem os requisitos do sistema, de maneira a prover o entendimento correto e completo do software a ser desenvolvido. 3. Modelagem Conceitual A modelagem conceitual ou de domnio destina-se

compreenso do domnio problema e construo de modelos adequados deste domnio, enquanto o projeto lida com abstraes no universo do software e tende a maximizao da modularidade e do reuso. O modelo do projeto independente da implementao no sentido em que, embora possa levar em considerao algumas configuraes de implementao, no condicionado por um ambiente de implementao em particular. Ela tem por objetivo a construo de um esquema contendo classes, objetos, relacionamentos e subsistemas existentes para o domnio especificado. A descrio de classes segue a notao da orientao a objetos, mas seus atributos podem ser multi-tipados, representando assim diferentes perspectivas da mesma entidade real. E Agregao e Generalizao/Especializao so utilizadas para aumentar o poder de abstrao do sistema (MAGALHES, 2002).

Figura 01 : Exemplo de esquema conceitual. Fonte: SCHWABE, 1998.

Figura 02 : Exemplo de objeto. Fonte: Schwabe, 1998.

3.1 Esquema Conceitual de Classes O diagrama resultante da modelagem conceitual, segunda etapa do OOHDM, designado de Esquema Conceitual. No esquema conceitual esto representadas todas as classes e relacionamentos do domnio da aplicao, bem como tambm todos os mecanismos de refinamento descritos nesta etapa da modelagem (HENNRICHS, 2005). A ilustrao abaixo exibe a modelagem conceitual de uma aplicao hipermdia denominada de RMS Titanic! A compilao de uma tragdia. Observe que foi descrito no esquema o diagrama do objeto abertura, relacionado com a classe Menu Principal.

Figura 03: Esquema Conceitual da aplicao RMS Titanic! A compilao de uma tragdia (HENNRICHS, 2000)

4. Modelagem Navegacional

Os aplicativos de hipermdia so projetados para realizar navegao atravs de um espao de informao. Por isso, o projeto da

estrutura de navegao de tais aplicativos uma etapa crucial no empreendimento do desenvolvimento. O OOHDM prope a construo de um modelo navegacional compartilhado no qual focalizam-se os objetos e relacionamentos do domnio. Dentro do Projeto Navegacional, estabelecesse as estratgias de navegao bem como as vises que um determinado usurio ter ao navegar pela aplicao. Ao projetar a estrutura de navegao de um aplicativo de hipermdia sero considerados aspectos como: Que objetos sero navegados e que atributos possuem? Quais os relacionamentos entre estes objetos e aqueles definidos no esquema conceitual? Isto ser feito pela definio de ns e elos como vises orientadas a objetos das classes e relacionamentos conceituais. Qual a estrutura subjacente de navegao? Em que contextos o usurio ir navegar? Apresenta-se o conceito de contexto navegacional que uma primitiva arquitetnica para a organizao do espao de navegao. preciso decidir se os objetos navegados podero ter aparncias diferentes de acordo com o contexto em que so visitados e especificar tais diferenas claramente. Usam-se classes de contexto para decorar os objetos navegacionais. Quais so as estruturas de navegao existentes entre os objetos que sero navegados (elos, caminhos, ndices, roteiros guiados, etc.)? Como procede a navegao quando o usurio pula de um assunto para o outro, isto , qual o efeito da navegao nos objetos de origem e destino e, talvez em outros objetos relacionados? (MAGALHES, 2002). O bloco bsico para a noo de navegao o n, e neste caso so as classes navegacionais. Estas classes so derivadas das classes conceituais atravs do mapeamento dos atributos existentes e se acrescentado novos atributos, como, por exemplo, ncoras. Apesar de no ser comum, uma classe navegacional pode conter atributos de mais de uma classe conceitual. O atributo do tipo ncora considerado uma classe primitiva cujo parmetro um tipo de elo associado (link). Estes elos podem ser considerados estruturais define-se um relacionamento entre membros de uma composio ou agregao, ou considerados de perspectiva se relacionam duas

classes derivados uma mesma classe conceitual (semelhante ao HDM). O conjunto das classes de ns e elos definidos so chamados de esquema de classes navegacionais (SCHWABE; ROSSI, 1994). Dentro do projeto navegacional so desenvolvidas as seguintes atividades: O esquema das classes navegacionais e o esquema de contextos navegacionais. 4.1 Classes Navegacionais e Estruturas de Acesso Quando uma aplicao hipermdia muito extensa, se torna interessante a definio de estruturas de acesso. De acordo com Magalhes (2002), pode-se especificar as estruturas de acesso como classes, pois se pode dar uma semntica mais precisa de seus comportamentos e estruturas (pode ser uma linha do tempo, um dicionrio). Alm de ainda se poder construir hierarquias de estruturas de acesso, aumentando assim o poder de modelagem e reutilizao. As estruturas de acesso so um tipo especfico de ns, onde as ncoras so definidas por seletores e os elos para objetos destino so definidos implicitamente. O predicado expressa quais objetos sero acessveis em termos de suas propriedades. Seletores usualmente esperam por algum atributo dos objetos de destino. Em ambos os casos eles tem que ser mencionados explicitamente na definio das estruturas de acesso. As estruturas de acesso funcionam como ndices ou dicionrios, e ajudam o usurio final a encontrar a informao desejada. A idia de Classe Navegacional usada como um formalismo para expressar contextos navegacionais e suas semnticas, representando os ns, elos e outros artefatos de design. Ns possuem atributos, ncoras para elos e estruturas de acesso. Elos contm informaes sobre os elos de origem e destino, seus prprios atributos e comportamento. Classes navegacionais so organizadas em hierarquias e definem contextos para a navegao na aplicao. As classes navegacionais so usadas para se definir objetos navegveis, e tambm para representar estruturas de acesso, browsers e outros tipos de facilidades de navegao no definidas previamente, assim

como as interfaces de consultas. Elas enriquecem o modelo e fornecem uma transio tranqila do design de baixo nvel, onde os aspectos da interface so definidos, at a implementao. O esquema navegacional derivado do esquema conceitual atravs de um conjunto de mecanismos de definio de vises. No entanto, muitos aplicativos podem exibir um esquema navegacional muito similar ao esquema conceitual, devido, por exemplo, simplicidade do domnio ou s semelhanas entre as tarefas desempenhadas por diferentes tipos de usurios. Em tais casos, ambos os esquemas podem fundir-se em um nico esquema navegacional. O esquema das classes navegacionais mostra os relacionamentos entre os objetos navegacionais. 4.2 Contextos Navegacionais Qualquer aplicativo hipermdia bem projetado deve levar em conta o modo como o usurio explora o espao hipermdia. O contexto navegacional um conjunto de ns, elos e outros contextos navegacionais. Inclui, tambm, um caminho pr-definido entre seus elementos e o esquema do contexto navegacional mostra a navegao em geral. Os contextos tambm ordenam os objetos, dando significado prximo e anterior, e diferentes tipos de contexto so definidos a partir de classes e de elos. Mas, alm das classes conceituais e navegacionais (ns e elos), podem surgir outras devido aos contextos nos quais a aplicao ir enriquecer o esquema das classes navegacionais. Estas classes especiais (chamadas classes de contexto) permitem que um n tenha uma aparncia diferente e apresente ncoras distintas quando navegado em um contexto especfico (SCHWABE; ROSSI, 1994). A idia de contexto esta relacionada com a noo de colees de objetos ou tema abordado que interessam para um determinado domnio da aplicao. Estes contextos podem ter atributos (informaes sobre o contexto), mais de uma entrada, caminhos conectando seus elementos, um comportamento especfico, a especificao dos elementos visveis, alm do relacionamento com outros contextos.

Em muitas situaes pode-se precisar complementar as informaes bsicas dos ns com informaes especficas do contexto que se est navegando, surgindo assim a classe de contexto (CC). Estas classes de contexto so definidas como sendo um complemento da especificao das classes navegacionais (NC) e adicionam atributos ao objeto, da mesma forma que as classes conceituais, (SCHWABE; ROSSI, 1994). A seguir sero mostradas algumas formas que os Contextos Navegacionais podem ser representados, no qual cada autor escolhe a que melhor se encaixar dentro do seu projeto.

Figura 04 - Quadro: Exemplo de carto de contexto. Fonte: SCHWABE, 1998.

- ndice hierrquico - contexto de navegao dinmico

- ndice de navegao dinmico Figura 05: Exemplo de diagrama de contexto. Fonte: SCHWABE, 1998.

Figura 06: Exemplo de navegao por orientao. Fonte: SCHWABE, 1998.

5. Modelo de Interface Abstrata A construo de uma interface hipermdia um aspecto crtico da criao de um programa aplicativo hipermdia. Para especificar um modelo abstrato de interface necessrio definir metforas de interface e descrever suas propriedades estticas e dinmicas e seus relacionamentos com o modelo navegacional de uma forma independente de implementao. Para isto necessrio especificar: a aparncia de cada objeto navegacional que ser percebido pelo usurio, isto , a representao de seus atributos (incluindo as ncoras). O mesmo objeto navegacional pode ter diferentes representaes de interface em diferentes situaes. Por exemplo, um n pode ter a representao de uma fotografia de um monumento ou a de um cone em um mapa que atue como um ndice para monumentos. outros objetos de interface para oferecer as diversas funes do aplicativo, como barras de menus, botes de controle e menus. os relacionamentos entre os objetos de interface e navegacionais, tais como o modo com que um evento externo, como o fato de o usurio "clicar" o mouse afetar a navegao.

as transformaes de interface que ocorrem pelo efeito da navegao ou de eventos externos no computador de diferentes objetos de interface. e finalmente, a sincronizao de alguns objetos de interface deve ser considerada, especialmente quando h meios dinmicos, como udio e vdeo envolvidos.

5.1 Viso Abstrata do Dado (ADV) Viso Abstrata do dado (ADVs) so classes de interface utilizadas para especificar a aparncia de objetos da aplicao. O modelo ADV foi originalmente criado para especificar formalmente a separao da interface do usurio da aplicao e proporcionar principalmente um mtodo de projeto independente do ambiente e com elevado grau de reuso. ADVs so abstratos e somente representam a interface e o seu estado, no a implementao. Dessa forma, em uma aplicao que faa uso de ADVs, h tambm um conjunto de ADOs gerenciando estruturas de dados e controle dentro da aplicao, e um conjunto de objetos de interface (instncias de ADVs) gerenciando aspectos de interface do aplicativo, tais como entrada de usurio e sada do sistema ao usurio. Um ADO (objeto de dados abstrato, neste caso refere-se aos objetos do modelo navegacional) possui um ou mais ADVs que representam algum aspecto de seu estado. Estes dois tipos de relacionamentos so chamados, respectivamente, de consistncia vertical e horizontal como se pode perceber por meio da figura 08 (SCHWABE, 1998).

Figura 08: ADVs e ADOs

Essa figura demonstra a relao entre ADVs e ADOs. Como os ADVs fazem o papel de interface com o usurio mas no contm a informao propriamente dita, eles necessitam dos ADO, que possuem a informao mas no suportam eventos externos vindos do usurio. Sendo assim, h um relacionamento horizontal entre os ADVs de um mesmo ADO e um relacionamento Vertical entre um ADO e seus ADVs. Quando um evento solicitado aplicao por meio de um ADV, este mapeia de seu ADO a informao solicitada e a entrega ao usurio. Em OOHDM, objetos navegacionais como os ns, elos ou estruturas de acesso, agiro como ADOs e os ADVs associados sero utilizados para especificar suas aparncias para o usurio ( HENNRICHS, 2000). Um ADV contm atributos que definem suas propriedades de percepo e o conjunto de eventos com os quais pode lidar. Pode-se definir constantes, para um estilo especfico de aparncia como posio, cor ou som. Uma varivel reservada, "contexto Perceptivo", usada para indicar modificaes no espao perceptivo. E a composio desse ADV percebida atravs da figura a seguir: ADVImagem ADVPintura ADVTexto ADVBoto

Figura 09 : Composio de ADV. Fonte: HENNRICHS, 2000

E, observando a figura abaixo, verifica-se um exemplo de ADV, oferecendo uma estrutura poderosa para a definio de hierarquias de objetos de interface, que mostra o uso de herana (SCHWABE; ROSSI, 1994).

Aplicao

TextoAncorado ( e um texto)

ncoras (ncora
Boto 1

Boto 2

Figura 10: Herana em ADV

Em OOHDM usa-se um formalismo visual baseado em mquinas de estado que suporta a especificao grfica de projetos baseados em ADV. (SCHWABE; ROSSI,1994). 6. Implementao a ltima etapa do processo de construo de aplicativos hipermdia. O sistema hipermdia a ser executado produzido aps o mapeamento do design abstrato da interface (os objetos perceptveis e suas transformaes) em objetos de interface concretos (escolhidos no ambiente de implementao). E, para que se tenha uma boa aplicao multimdia necessrio utilizar um software de autoria.