• Nenhum resultado encontrado

O método OOWS (Object-Oriented Web Solutions) [Pastor 06], extensão do método de desenvolvimento de software orientado a objetos OO-Method [Pastor 01], define um conjunto de atividades com o objetivo de especificar as dimensões funcional, navegacional e de apresentação para aplicações Web.

2.3.1 Descrição da Abordagem

O método OOWS contempla as especificações: funcional, de usuários, de navegação, e de apresentação; bem como o desenvolvimento de uma solução, onde é definida a estratégia para construção da aplicação Web.

Especificação Funcional

Nesta etapa, um esquema conceitual é construído, através de um conjunto de modelos, visando à especificação dos requisitos funcionais do sistema. O Modelo Estrutural define a estrutura do sistema em termos de classes e suas operações, atributos, e relacionamentos. O Modelo Dinâmico descreve as diferentes seqüências válidas da vida dos objetos de cada classe do sistema. O Modelo Funcional captura a semântica das trocas de estado para definir os serviços efetivos usando uma especificação formal.

Especificação de Usuários

Nesta etapa é produzido o Modelo de Usuários que descreve as categorias de usuários que podem interagir com o sistema. Para compor o Modelo de Usuários, são considerados três grupos de usuários, determinados pela maneira como eles se conectam ao sistema: usuários anônimos, aqueles que não precisam fornecer informações sobre suas identidades; usuários registrados, aqueles que precisam ser identificados para se conectarem ao sistema; e usuários genéricos, aqueles que não podem se conectar ao sistema.

Especificação da Navegação

Nesta etapa é produzido o Modelo de Navegação que descreve as semânticas navegacionais do sistema. Para representar navegação, deve ser especificada uma visão estruturada do sistema para cada grupo de usuário. Estas visões são definidas com base na estrutura do sistema, em termos da visibilidade sobre atributos, operações, e relacionamentos das classes.

A primeira etapa para capturar navegação consiste na especificação e projeto de aspectos estruturais e globais das aplicações Web, através da definição de um conjunto de unidades abstratas de interação com usuários e em como os usuários navegam de uma unidade de interação para outra. Estes requisitos são especificados em um mapa navegacional que fornece a visão e acessibilidade do sistema que cada grupo de usuário irá ter.

A segunda e última etapa para capturar navegação consiste em especificar os conteúdos dos nós (contextos navegacionais). Para tanto, cada contexto navegacional contempla um conjunto de unidades de informação abstratas. Uma unidade de informação abstrata representa um requerimento para recuperação de uma informação específica. As unidades de informação abstratas podem ser de dois tipos: contextuais – instanciadas quando o sistema chega a um contexto através de um link de seqüência; e não-contextuais – independentes de links de seqüência.

Especificação da Apresentação

Nesta etapa é especificado o Modelo de Apresentação que descreve os requisitos de apresentação do sistema. O Modelo de Apresentação utiliza os contextos navegacionais para definir as propriedades de apresentação. Os requisitos de apresentação são especificados por meio de padrões associados às primitivas do contexto navegacional. Exemplos de padrões básicos de apresentação são: paginação de informação – as informações são divididas em blocos lógicos, para que somente um bloco seja visível por vez; e critério de ordenação – define uma ordenação da informação de acordo com o valor de um ou mais atributos.

Estratégia para construção da solução Web

Nesta etapa, um estilo arquitetural de três camadas é utilizado para geração da aplicação final: uma camada de apresentação, uma camada de aplicação, e uma camada de persistência.

As camadas de persistência (informação) e aplicação (funcionalidades) são construídas a partir dos modelos criados na etapa de especificação funcional. A camada de apresentação é construída com base nos modelos produzidos nas etapas de especificação da navegação e da apresentação. Para auxiliar a construção destas camadas, é utilizada a ferramenta de geração de código OlivaNova [CARE 07].

2.3.2 Considerações sobre os critérios para Comparação

A seguir são apresentadas as considerações, para o contexto do método OOWS, sobre os critérios utilizados para comparação entre os trabalhos relacionados e o método WE4UIV.

a) Utilização de UML: o método OOWS utiliza UML, além de notações e formalismos próprios para representação dos modelos. Na especificação funcional, o Modelo Estrutural é representado por diagramas de classes, o Modelo Dinâmico por diagramas de transição de estado, e o Modelo Funcional por uma especificação baseada em uma linguagem formal. Na especificação de navegação, o Modelo de Navegação é representado por um conjunto de diagramas de pacote e de classes. Na especificação de apresentação, o Modelo de Apresentação é representado por diagramas de classes.

b) Interação com a Visão Funcional: o método OOWS define uma estratégia para construção da solução Web com base na arquitetura em camadas e, portanto, existe uma comunicação implícita entre os elementos das camadas de apresentação e de aplicação.

c) Utilização de Componentes: o artefato de projeto Modelo de Apresentação, proposto pelo método OOWS, descreve através de classes e atributos, os elementos que integram as interfaces com o usuário, porém, não faz referência a componentes concretos pertencentes a bibliotecas.

d) Utilização de Técnicas relacionadas à Usabilidade: o método OOWS não define etapa para o tratamento do aspecto de usabilidade das interfaces com o usuário.

e) Especificação de Grupos de Usuários: o método OOWS define a etapa de especificação de usuários cujo objetivo é produzir o Modelo de Usuários que descreve as categorias de usuários que podem interagir com o sistema.

f) Forma de Transformação de Modelos: a transformação dos modelos abstratos de projeto em um modelo de implementação em camadas é automatizada através de uma ferramenta de geração de código.

g) Tratamento de Aspectos Hipermídia/Hipertexto: o método OOWS não define etapa para tratamento da porção hipermídia/hipertexto do sistema.

h) Suporte por Ferramenta de Desenvolvimento: o método OOWS aponta a ferramenta OlivaNova para auxiliar o processo de construção das camadas da aplicação Web.