2 Metodologias para Projetos de Aplicações Hipermidia

Documentos relacionados
6 Conclusão. 6.1 Trabalhos relacionados

5 Arquitetura de implementação

Para descrever os metadados das aplicações, desenvolvemos um método chamado SHDM (Semantic Hypermedia Design Method) [Lima & Schwabe 2002a, 2002b,

Fases do OOHDM. OOHDM Um modelo para autoria de HT

Sabrina Silva de Moura

INF1013 MODELAGEM DE SOFTWARE

a determinadas condições de uso. Este mecanismo permite, ainda, a integração de domínios externos. A descrição da interface é feita de forma

Análise e projeto de sistemas

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

1 Introdução. leva em consideração os formalismos e primitivas da Web Semântica. [1, 2]

4 Representando Design Rationale com Kuaba

1 Introdução Motivação

3 Tecnologias Relacionadas

SOFTWARE EDUCACIONAL PARA ELABORAÇÃO DE PROVAS E EXERCÍCIOS

UML Unified Modeling Language Linguagem de Modelagem Unificada

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Visões Arquiteturais. Visões Arquiteturais

1 Introdução. 1.1 A Web Semântica

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Introdução à Análise e Projeto de Sistemas

3 Abordagens para Especificações de Interfaces

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

UML (Unified Modelling Language)

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Análise de Sistemas 3º Bimestre (material 2)

Ambiente Educacional Interativo Móvel para atividade em sala de aula 1

RUP RATIONAL UNIFIED PROCESS

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Análise de Sistemas. Aula 5

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

7 Conclusão e Trabalhos Futuros

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

Engenharia de Software. Projeto de Arquitetura

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Curso Online de E-commerce. Plano de Estudo

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

MODELAGEM E DESENVOLVIMENTO DE UMA FERRAMENTA HIPERMÍDIA DE ENSINO VOLTADA AO SETOR AGROPECUÁRIO, USANDO OOHDM

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Modelagem Semântica de Aplicações na WWW

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

6 Conclusão Estimativa de esforço

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

INF1404 MODELAGEM DE SISTEMAS

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

Introdução a UML (Unified Modeling Language)

5 Usando as Representações de Design Rationale

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Aula 01 Conceito de Banco de Dados e SGBD

proposto, que podem potencialmente ser de interesse dentro desta área de pesquisa (seção 7.4).

Capítulo 5 Modelação do Sistema 1

4 Exemplo. 4.1 Modelo conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

ALUNO: RONI FABIO BANASZEWSKI

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

5 Conclusão e trabalhos futuros

Noções do padrão MVC e DAO

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

AVALIANDO METODOLOGIAS DE DESENVOLVIMENTO DE APLICAÇÕES WEB.

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

Banco de Dados 08/08/2010

TUTORIAL PARA ORIENTAÇÃO E ESTUDOS SOBRE TÉCNICAS T IMPLEMENTAÇÃO DE INTERFACES GRÁFICAS

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

ENGENHARIA DE SOFTWARE PARA WEB SOFTWARE ENGINEERING FOR THE WEB

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Desenvolvimento de Aplicações Hipermídia na Web

2

5 Implementação 5.1 Plataforma 5.2 Arquitetura

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

M V C P R O F. M E. H É L I O E S P E R I D I Ã O

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Rational Unified Process (RUP)

Tecnologias de Desenvolvimento de Páginas web

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

Modelagem de Sistemas Web. Modelagem de BD

Diagrama de Componentes e Implantação

UML. Modelando um sistema

MODELAGEM E IMPLEMENTAÇÃO DE UMA APLICAÇÃO HIPERMÍDIA PARA REBANHOS, UTILIZANDO OOHDM

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

2 O Modelo: SetModel. 2.1 Modelo de Informação

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais

Curso online de Aplicações. Híbridas. Plano de Estudo

EER-CASE: FERRAMENTA CASE DE MODELAGEM CONCEITUAL COM ENTIDADE- RELACIONAMENTO ESTENDIDO PARA BANCO DE DADOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

Programação Orientada a Objetos Prof. Fábio Kon. Sistema Petrolimpa. Leonardo Macedo ( ) Rodrigo Siqueira ( ) 22 de Março de 2016

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Transcrição:

2 Metodologias para Projetos de Aplicações Hipermidia O processo de desenvolvimento de aplicações é o objeto de diversas pesquisas, principalmente no caso das aplicações voltadas para a Internet, que diferem do processo de desenvolvimento de software comum. Este é composto, essencialmente, pelas atividades de análise, projeto, implementação, teste e manutenção. Segundo Hennicker e Koch [4], o desenvolvimento de aplicações para a Internet é diferente: pessoas com diferentes conhecimentos necessitam trabalhar juntas (designers, webmasters, programadores, pessoas de marketing, comunicação, entre outras..), tal complexidade na manutenção destas equipes interdisciplinares, somadas com a complexidade na construção de tais aplicações, fazem com que o desenvolvimento para a Internet seja um grande desafio. Tendo em vista facilitar e administrar a complexidade do processo de desenvolver e manuter as aplicações hipermídia, recomenda-se utilizar metodologias que dão suporte à modelagem para análise e implementação dos mesmos. Desta forma, o responsável pelo desenvolvimento da aplicação é conduzido a um desenvolvimento planejado, pois a modelagem tem como objetivo sistematizar a construção e manutenção do sistema. Vários métodos, como o OOHDM [11][12], o SHDM [10], o WebML [6], o OOWS [15], dentre outros, já identificaram as vantagens de se separar o projeto da interface do projeto da funcionalidade da aplicação. Isto também é preconizado pelo padrão MVC (Model-View-Controler) 1, o qual evidencia que, ao se separar esses aspectos, tem-se a possibilidade de estender e reutilizar o código. Assim, se consegue obter uma aplicação que pode ser implementada reutilizando a implementação da funcionalidade em diferentes plataformas. 1 [Krasner 88] G. Krasner, S. Pope, A cookbook for using the model-view controller user interface paradigm in Smalltalk-80, Journal of Object-Oriented Programming, 1(3), August/September 1988, 26-49 MVC-based Architecture for e- commerce.journal.doc 22/22.

Metodologias para Projetos de Aplicações Hipermidia 21 Neste capítulo serão apresentados os métodos: OOHDM (Object Oriented Hypermedia Design Method), SHDM (Semantic Hypermedia Design Method) e WebML, ilustrando como a definição de interfaces se encaixa no desenvolvimento dessas aplicações e focalizando, especialmente, o desenvolvimento da interface abstrata. 2.1 Método OOHDM O método OOHDM auxilia na construção de aplicações hipermídia em larga escala. Estas aplicações podem ser para CD-ROM ou voltadas para Internet, dentre outras plataformas. Este método utiliza uma abordagem fundamentada em modelos para projetar as aplicações, composta de 5 etapas: Levantamento de Requisitos, Modelagem Conceitual, Modelagem Navegacional, Projeto da Interface Abstrata e Implementação. Na etapa de modelagem conceitual o projetista deve analisar o domínio da aplicação, a fim de obter todas as informações importantes para o desenvolvimento do projeto. O resultado dessa etapa será um esquema conceitual contendo os objetos do domínio da aplicação (classes, relacionamentos e subsistemas). Na etapa de projeto navegacional, o projetista deve estudar o perfil do usuário e as tarefas que o mesmo poderá executar na aplicação. Nessa etapa é realizado um mapeamento do modelo conceitual (obtido na etapa de modelagem conceitual) em objetos navegacionais. O resultado desse mapeamento será um conjunto de nós, elos, estruturas de acesso, e contextos navegacionais da aplicação. Após ter definido o modelo conceitual e o navegacional da aplicação, deve-se modelar a interface abstrata, a partir das informações obtidas nessas etapas anteriores. A etapa de interface abstrata busca descrever os objetos de interface perceptíveis, suas propriedade e transformações durante a navegação, descrevendo assim as interações entre o usuário e a aplicação. Nesse método são utilizados ADVs (Abstract Data Views) 2 e os ADOs (Abstract Data objects) com o objetivo de facilitar a modelagem de uma interface amigável com o usuário final. Existe 2 Objetos utilizados para especificar a aparência e interface dos objetos da aplicação.

Metodologias para Projetos de Aplicações Hipermidia 22 uma associação entre os ADVs e os ADOs, conforme descrito em [13]: Os ADOs estão associados a ADVs que transmitem as informações de seus estados para fora da aplicação ou para outros ADVs. Para representar as relações entre os objetos de navegação e os objetos de interface são usados Diagramas de Configuração, que descrevem o relacionamento de um ADV com o seu objeto correspondente na aplicação, o qual acionará um comportamento no servidor. Nessa etapa, o OOHDM permite a especificação dos aspectos de interface independente da tecnologia de interface a ser utilizada. A última etapa é a de implementação da aplicação, que é obtida pelo mapeamento dos modelos de navegação e de interface abstrata em objetos concretos com suporte direto no ambiente de execução desejado. Essa metodologia possibilita o desenvolvimento de projetos modulares e de fácil manutenção, posto que trata as atividades de projeto conceitual, projeto navegacional e o projeto de interface separadamente. Assim, é possível retornar para qualquer uma das etapas quando for necessário. O OOHDM também oferece independência na escolha de linguagens e ambientes de programação, dando maior liberdade ao projetista. 2.2 Método SHDM O método SHDM permite projetar e implementar aplicações hipermídia no contexto da Web semântica; ele é uma evolução do método OOHDM e, por esse motivo, manteve os seus fundamentos, enriquecendo cada etapa com mecanismos inspirados nas linguagens propostas para a Web Semântica O SHDM é composto de cinco etapas essenciais para o desenvolvimento de aplicações Web e hipermídia: Levantamento de Requisitos, Projeto Conceitual, Projeto Navegacional, Projeto de Interface Abstrata e Implementação. Cada etapa focaliza aspectos particulares e produz modelos, descrevendo detalhes a respeito da aplicação que será executada. Esse método possui uma abordagem para a criação de modelos conceituais e navegacionais para domínios fundamentados em ontologias. Na Tabela 1, é possível a observação dos artefatos produzidos pelas etapas do método SHDM.

Metodologias para Projetos de Aplicações Hipermidia 23 Artefatos Linguagem Descrição 1 Ontologia Conceitual OWL-DL, com anotações e regras adicionais do SHDM. 2 Instância Conceitual Ontologia Conceitual 3 4 5 Mapeamento Navegacional Definição do Espaço Navegacional Ontologia Navegacional Vocabulário de definição do mapeamento navegacional Definição do vocabulário do espaço navegacional OWL-DL 6 Instância Navegacional Ontologia Navegacional 7 Interface Abstrata 8 Ontologia de Widgets de Interface Concreta Vocabulário de definição da interface abstrata Definição de um vocabulário para widgets de interface concreta. Tabela 1 - Artefatos gerados pelas etapas do SHDM. Definição das classes conceituais. Dados da aplicação definidos de acordo com a ontologia Conceitual Mapeamento das classes conceituais em classes navegacionais. Definição dos elementos navegacionais contextos e estruturas de acesso. Definição das classes navegacionais Definição dos dados da aplicação de acordo com a ontologia navegacional. Definição da interface abstrata, incluindo elementos de interface abstrata e seus mapeamentos para o modelo navegacional e para os widgets de interface concreta. Definição dos possíveis widgest de interface concreta para serem utilizados na implementação A ontologia conceitual é um artefato da fase do Projeto Conceitual do método SHDM, representando um modelo de classes e relacionamentos sobre um domínio específico de uma aplicação na Web. As instâncias conceituais representam os dados propriamente ditos, e suas definições devem ser válidas de acordo com a ontologia conceitual. Depois de definida a ontologia conceitual, ela é mapeada para a ontologia navegacional, que é um artefato do Projeto Navegacional. A etapa do Projeto Navegacional é a atividade chave para a implementação das aplicações Web. Ela define todos os elementos navegacionais como visões sobre o domínio das aplicações, apresentando as relações navegacionais (elos) entre estes nós navegacionais. Nesta fase também é definido um esquema contendo contextos navegacionais e as estruturas de acesso utilizadas para alcançar nós nestes contextos. Os contextos navegacionais representam os conjuntos de objetos navegacionais que o usuário poderá utilizar; seus elementos possuem as mesmas alternativas de navegação, especificadas na definição do contexto. As estruturas de acesso também representam conjuntos de objetos navegacionais, cada qual contendo ao menos um elo para outro objeto navegacional.

Metodologias para Projetos de Aplicações Hipermidia 24 A etapa de interface do SHDM é o foco dessa dissertação, que tem por objetivo realizar uma descrição da interface abstrata, e permitir seu mapeamento em uma implementação de um ambiente de execução, através do mapeamento dos seus elementos abstratos nos elementos concretos, descritos na ontologia de widgets concretos. Para a descrição das interfaces são utilizados elementos abstratos ou composições desses elementos. Os elementos abstratos podem representar um ou mais elementos concretos, tratando apenas os aspectos relevantes da interação do usuário com a aplicação, não verificando detalhes específicos de implementação. Desta maneira, a aplicação pode ser implementada em qualquer plataforma ou linguagem de programação. Essa colocação está explicada em detalhes no capítulo 4. Assim, o OOHDM e o SHDM tratam as etapas de projeto conceitual, projeto navegacional e projeto de interface como atividades separadas, permitindo que as mesmas sejam executadas interativamente. 2.3 Método WebML A WebML é uma abordagem utilizada para modelar aplicações Web, guiada por modelos, sendo semelhante ao SHDM e ao OOHDM. Essa linguagem permite ao projetista expressar as principais funcionalidades de um site em alto nível. A WebML possui um ambiente CASE chamado WebRatio 3 que possibilita a manipulação das representações gráficas, facilitando a sua utilização. Assim, outros membros da equipe que não conheçam profundamente a programação poderão se engajar ao projeto, tais como projetistas gráficos e produtores de conteúdo. Para o desenvolvimento de um site com WebML são utilizados quatro modelos distintos: modelo de dado, modelo de hipertexto, modelo de apresentação e modelo de personalização. O modelo de dados pode ser representado pelos modelos: ER (Entidade e Relacionamento), ODMG (Modelo Orientado a Objetos) e o Diagrama de classes da UML. 3 http://www.webratio.com

Metodologias para Projetos de Aplicações Hipermidia 25 O modelo de hipertexto é composto por dois modelos distintos: o de composição e o de navegação do site. No modelo de composição são especificadas as páginas que compõem o site, e estes, por sua vez, são compostos por unidades de elementos visuais (Units). Os Units são elementos que representam as informações descritas no modelo de dados. O modelo navegacional define a navegação de links entre as páginas e entre os Units. No modelo de apresentação são especificados o posicionamento dos Units nas páginas e a aparência gráfica da aplicação. As especificações de WebML podem ser representadas utilizando a linguagem XML [21], visto que ela não possui um modelo específico para expressar a apresentação gráfica das páginas, em um nível conceitual. Por esse motivo, a apresentação das páginas é considerada uma transformação de documentos; onde se constrói a especificação WebML de uma página em um arquivo escrito em uma linguagem de implementação concreta como JSP ou ASP.NET 4. Conseqüentemente, a construção de templates (modelos) para a apresentação das páginas pode ser construída pelo uso do XSL (Extensible Style Sheet) [5] complementando o uso do CSS (Cascading Style Sheets) 5. Outro fato relevante é que o XSL não manipula elementos, mas sim objetos gráficos (flow objects); ou seja, transforma fragmentos de um documento XML em objetos gráficos. O modelo de personalização insere o usuário e os grupos de usuários na forma de entidades pré-definidas, chamadas de User e Group. As características dessas entidades podem ser usadas com o intuito de armazenar o conteúdo de um grupo específico ou do usuário individualmente. Todos os conceitos de WebML estão associados a uma notação gráfica e a uma sintaxe XML. As especificações de WebML são independentes, seja pelo lado do cliente que usa linguagens para desenvolver aplicações para usuário, quanto pelo lado do servidor. Desta forma, após serem efetuadas todas as etapas de um projeto em WebML, utiliza-se uma ferramenta CASE, que gera automaticamente a aplicação a partir dos diagramas construídos. 4 http://asp.net/default.aspx?tabindex=0&tabid=1 5 O recurso CSS é um padrão de formatação para páginas Web que vai além das limitações impostas pelo HTML. Proposto pelo W3 Consortium: http://www.w3.org.

Metodologias para Projetos de Aplicações Hipermidia 26 Estes três métodos, bem como outros (OOWS [15], UWE [4], WSDM [23]) evidenciam que, para se desenvolver aplicações hipermídia, é possível, e mesmo desejável, trabalhar com os três modelos principais: o modelo conceitual, o modelo navegacional e o modelo de interfaces. Cada método possui formalismos específicos para cada um desses modelos, tratando-os separadamente. Embora a abordagem para o modelo de interface de cada um desses métodos seja diferente, todos reconhecem a importância de separá-lo dos outros modelos, visto que nesta etapa deve-se representar todas as trocas de informações que irão ocorrer entre o usuário e a aplicação. Essas trocas de informações são obtidas durante o desenvolvimento das etapas de modelagem conceitual e navegacional. Deste modo é possível saber quais são os objetos navegacionais e como eles estão organizados, embora não se identifique como eles serão apresentados. Para tanto é necessário desenvolver um modelo de interface que descreva como serão apresentados esses objetos. O modelo de interface especifica os objetos perceptíveis que estarão disponíveis ao usuário, que representam as interações entre o usuário e a aplicação. A interface deve ser modelada em um nível mais abstrato possível, ou seja, devem-se especificar apenas os aspectos que são relevantes para a execução dessas trocas de informação. Este desacoplamento permite que: a parte da especificação da interface que é responsável por lidar com a lógica da aplicação seja separada da parte responsável por lidar com os aspectos de forma de interação; a interface abstrata funcione como uma especificação, que pode ser utilizada pelo programador visual para definir a aparência (look and feel) da aplicação, seja produzida; as decisões de projeto que são afetadas pela plataforma de implementação sejam isoladas da execução das decisões ligadas às tarefas a terem suporte, dando maior independência de tecnologia de hardware e software ao projeto global da aplicação. Existem outras abordagens que tratam do desenvolvimento de interface, mas não consideram o projeto de interface ligado ao modelo da aplicação da mesma

Metodologias para Projetos de Aplicações Hipermidia 27 forma como os métodos de aplicações hipermídia, exemplificados neste capítulo. Por esse motivo, elas se concentram primordialmente na modelagem de interface, embora também tenham uma representação das tarefas com suporte da aplicação. Algumas dessas abordagens serão apresentadas no capítulo 3.