• Nenhum resultado encontrado

Considerações Gerais e Contribuições

6 Conclusão

6.1 Considerações Gerais e Contribuições

Com o advento da Internet, surgem a cada dia possibilidades antes inimagináveis. Exemplos incluem o trabalho colaborativo, onde pessoas geograficamente distantes podem unir esforços para a construção de um produto; empresas globalizadas, que podem acelerar a produção e otimizar o compartilhamento de recursos, aproveitando os diferentes fusos horários dos continentes; e a terceirização de serviços, a ser realizado por quem oferecer o menor custo ou que tenha a maior competência, independente da localização geográfica, raça, e/ou religião.

A conseqüência dessa revolução cultural, econômica, e social que está ocorrendo é uma grande demanda por aplicações para o serviço mais utilizado da Internet, a Web. As aplicações Web possibilitam inúmeras vantagens para as organizações e comodidade para os usuários. Existem organizações que utilizam remotamente seus sistemas corporativos, delegando a parceiros especializados o desenvolvimento e manutenção desses sistemas, o que possibilita uma redução drástica de custos com infra-estrutura e pessoal. Uma pessoa pode explorar ao máximo as possibilidades oferecidas, como estudar à distância, realizar operações bancárias, pesquisar assuntos de interesse, etc.

Tecnicamente, as aplicações Web possuem características peculiares que as diferenciam de aplicações tradicionais e que, portanto, precisam ser tratadas de maneira distinta no processo de desenvolvimento. A Engenharia Web, extensão da Engenharia de Software, engloba um conjunto de métodos, técnicas, e guidelines que procura fornecer abordagens adequadas para atender os requisitos e características próprias de aplicações Web.

Entretanto, um problema recorrente observado reside na interação de aplicações Web com os usuários. Apesar de existirem várias abordagens que fornecem estratégias para mitigar este problema, os processos de software consolidados nas organizações são ainda dirigidos à funcionalidade e tratam os aspectos relacionados à interação com o usuário com menor ênfase e usualmente apenas na etapa de Implementação. Isto ocasiona deficiências no produto e insatisfação dos usuários, devido em grande parte à ausência de projetos adequados de navegação, interfaces com os usuários, e comunicação com o núcleo funcional.

Diante desse contexto, este trabalho propôs o método chamado WE4UIV, no contexto da Engenharia Web, que fornece uma estratégia alternativa para tratar especificamente a parte (visão) do sistema responsável pela interação com os usuários.

As principais contribuições deste trabalho podem ser resumidas na:

1) Elaboração de uma abordagem para especificação dos elementos responsáveis pela interação com os usuários a partir do nível de análise, independente de plataforma, para que então estes elementos de análise sejam mapeados em elementos de projeto, específicos para uma plataforma, visando assim fornecer subsídios para orientar a etapa de Implementação, e

2) Desenvolvimento de uma ferramenta para automatizar parcialmente o processo de transformação de elementos de projeto, descritos através de modelos abstratos, em elementos de implementação (específicos para a plataforma JSF), descritos em linguagem de programação.

A elaboração da abordagem, descrita pelo método WE4UIV, para especificação de elementos responsáveis pela interação com os usuários consistiu na criação de subfluxos nas etapas de Análise & Projeto e Implementação do processo de desenvolvimento. Os subfluxos agrupam atividades que visam produzir artefatos que descrevem aspectos específicos do sistema em diferentes níveis de abstração.

Na etapa de Análise & Projeto foi criado o subfluxo Analisar e Projetar Visão de

Interação com os Usuários, que agrupa as atividades Analisar UI, Projetar Navegação, e Projetar UI. A atividade Analisar UI tem como propósito a criação do Modelo de Análise UI

que descreve os elementos necessários para atendimento aos cenários de casos de uso da perspectiva da visão de interação com os usuários. A atividade Projetar Navegação tem como propósito a criação do Modelo de Navegação que descreve os caminhos navegacionais entre os elementos que representam as interfaces com o usuário. A atividade Projetar UI inicia com a criação de Esboços UI que descrevem a organização e a apresentação das interfaces com o usuário. A atividade Projetar UI encerra com a criação do Modelo de Projeto UI que descreve os elementos de projeto que representam as interfaces com os usuários, bem como aqueles elementos responsáveis pelo gerenciamento das interfaces com o usuário e da navegação, e pela comunicação com o núcleo funcional do sistema.

Na etapa de Implementação foi criado o subfluxo Implementar Visão de Interação com

os Usuários, que agrupa as atividades Implementar Elementos de Projeto UI e Refinar a Apresentação UI. A atividade Implementar Elementos de Projeto UI tem como propósito a

elementos de projeto descritos nos modelos de Navegação e Projeto UI. A atividade Refinar a

Apresentação UI tem como propósito apenas atualizar o Modelo de Implementação UI para

que sejam atendidos os requisitos de organização e apresentação das interfaces com o usuário, conforme descrito nos Esboços UI.

A ferramenta para automatizar o processo de transformação de elementos de projeto em elementos de implementação consistiu na construção do plug-in MDD-JSF para o IDE Eclipse. O esforço de desenvolvimento consistiu em estender a infra-estrutura disponibilizada pelo ambiente para receber como entrada um arquivo texto no formato especificado pelo esquema do padrão XMI, contendo as informações dos modelos abstratos; para ser utilizado por um mecanismo para geração de código fonte, com base em templates pré-definidos para a plataforma JSF.

Em [Souza 08] é apresentada uma síntese da abordagem proposta neste trabalho. No site www.ufpe.br/WE4UIV é apresentado o escopo do método WE4UIV e informações referentes ao plug-in MDD-JSF.