• Nenhum resultado encontrado

Características do Método Proposto WE4UIV

Para possibilitar uma comparação adequada com as abordagens relacionadas apresentadas nas seções anteriores, faz-se necessário primeiramente a descrição das principais características do método WE4UIV proposto neste trabalho.

As principais características do método WE4UIV são as seguintes: integrável a processos de software tradicionais, integrado à visão funcional, baseado em UML, dirigido a modelos, baseado em componentes, e utilização de técnicas da engenharia de usabilidade. Nas subseções a seguir, essas características são apresentadas.

2.11.1 Integrável a Processos de Software Tradicionais

O método WE4UIV foi elaborado de modo a ser integrável a processos de software dirigidos a casos de uso, orientados a objetos, e baseados em UML, tais como o UP [Jacobson 99] e o RUP [Kruchten 00]. Isto porque a ênfase do método WE4UIV está no desenvolvimento específico da visão de interação com os usuários. As demais visões devem também ser tratadas, objetivando um atendimento a todos os aspectos que compõem uma aplicação Web. Consideramos estas outras visões similares a de aplicações tradicionais, e existem diversos processos de software que as atendem adequadamente, em especial a visão funcional.

Além disso, os processos de software estão consolidados nas organizações e, ao invés de ser proposta uma substituição, o que seria em muitos casos inviável, propomos apenas uma extensão/adaptação dos processos de software existentes.

Esta característica de ser integrável a processos de software é possível, pois o método WE4UIV descreve atividades que utilizam como entrada artefatos usualmente produzidos por processos de software tradicionais, tais como, casos de uso, e modelos de análise e de projeto.

2.11.2 Integrado à Visão Funcional

A visão de interação com os usuários possui uma relação de dependência com a visão funcional, pois esta última fornece os serviços e atende as solicitações da visão de interação com os usuários. Fazendo analogia ao modelo cliente-servidor, a visão de interação com os usuários pode ser considerada o cliente e a visão funcional o servidor e, portanto, o desenvolvimento da visão interação com os usuários não pode ser considerado independente da visão funcional.

A visão funcional pode ser descrita por casos de uso em nível de requisitos, modelo de análise, e modelo de projeto. A utilização desses artefatos como entrada para as atividades do método WE4UIV permite a integração com a visão funcional. Os cenários dos casos de uso são atendidos na dimensão da visão de interação com os usuários, através da identificação das interfaces com o usuário e dos caminhos navegacionais. Os elementos do modelo de análise fornecem as informações que são apresentadas/manipuladas pelos usuários finais através das interfaces com o usuário. Os elementos do modelo de projeto são responsáveis pelo atendimento das requisições da visão de interação com os usuários.

Outro aspecto relevante da integração entre as visões de interação com os usuários e funcional é a identificação, em nível de projeto, de operações para atendimento específico de demandas das interfaces com o usuário. Essas operações são custosas em termos de desenvolvimento, em função da existência de requisitos não-funcionais como desempenho e segurança. Nos processos de software tradicionais, usualmente essas operações são demandadas tardiamente no momento da implementação das interfaces com o usuário, o que pode causar, entre outros fatores, atraso na entrega da funcionalidade.

2.11.3 Baseado em UML

A UML é reconhecidamente a linguagem de modelagem padrão adotada pelos processos de desenvolvimento de software orientado a objetos e, portanto, de amplo conhecimento e aceitação da comunidade de engenharia de software.

O método WE4UIV considera que a expressividade da UML é suficiente para representar os aspectos específicos da visão de interação com os usuários. Os artefatos produzidos são representados pelo diagrama de classes, elemento mais usual da UML. Para representar a semântica específica de aplicações Web são utilizados apenas estereótipos, o que simplifica a modelagem e o entendimento dos artefatos produzidos.

Do ponto de vista organizacional, a utilização da UML não condiciona, às equipes de desenvolvimento, treinamento adicional para aprendizado de uma nova notação. Além disso, a utilização de elementos usuais da UML facilita o entendimento da abordagem proposta, e a curva de aprendizado tende a ser menor.

2.11.4 Dirigido a Modelos

A abordagem MDA é um framework para a construção de métodos MDD (Model-Driven

Development), pois fornece a base conceitual para o desenvolvimento de sistemas de software

através da derivação de modelos, sempre no sentido de um nível de abstração mais alto para um nível de abstração mais baixo.

Os métodos MDD visam melhoria na qualidade do software, separação de conceitos, reusabilidade de projeto, melhor gerenciamento da complexidade do problema, além dos objetivos primários de interoperabilidade e portabilidade.

O método WE4UIV pode ser considerado dirigido a modelos, pois (1) descreve o desenvolvimento da visão de interação com os usuários através da derivação de modelos nos níveis de abstração de requisitos (independente de computação), análise (independente de plataforma), projeto (específico de uma plataforma), e implementação (entendível por máquina); (2) possibilita separação de conceitos, pois foca apenas no desenvolvimento da visão de interação com os usuários; e (3) permite reusabilidade de projeto, pois os modelos produzidos em nível de análise podem derivar modelos em nível de projeto para diferentes plataformas.

2.11.5 Baseado em Componentes

O desenvolvimento baseado em componentes (CBD – Component-Based Development) [Jacobson 97] advoga que um sistema de software seja construído a partir de um conjunto de peças (componentes) independentes, com interfaces bem definidas, e que podem ser integradas de modo a atender uma demanda específica.

As principais vantagens de abordagens CBD são o reuso e a diminuição do tempo e esforço de desenvolvimento de software. O reuso de componentes evita re-trabalho e trabalho adicional para o desenvolvimento de peças de software com propósito similar e, conseqüentemente, o tempo e esforço de desenvolvimento tende a diminuir. Além disso, a utilização de componentes também facilita o processo de geração de código fonte.

No contexto da visão de interação com os usuários, o método WE4UIV considera que as interfaces de usuário são uma composição de componentes (widgets) inter-relacionados. Tais componentes são inicialmente representados em nível de análise e, posteriormente, são mapeados, em nível de projeto, para componentes de uma plataforma específica.

2.11.6 Utilização de Técnicas de Engenharia de Usabilidade

A usabilidade é um conceito complexo relacionado à eficiência, eficácia, e satisfação dos usuários, mas que geralmente é simplificado pelos processos de software e considerado como um requisito não-funcional. A engenharia de usabilidade é uma disciplina emergente que estende a engenharia de software tradicional, de modo a considerar a usabilidade como um aspecto relevante em todas as etapas do processo de desenvolvimento.

A visão de interação com os usuários representa a parte do sistema que deve ser mais influenciada pelo conceito de usabilidade, principalmente para aplicações Web, onde a audiência é diversificada e, usualmente, estes usuários não são treinados para usar o sistema.

O método WE4UIV utiliza algumas técnicas efetivas da engenharia de usabilidade. As necessidades dos usuários descritas através de cenários de casos de uso são tratadas no contexto da visão de interação com os usuários. Esboços de interfaces com o usuário, espécie de protótipos não-automatizados, são elaborados visando o envolvimento e concordância dos usuários em nível de projeto, bem como para guiar os desenvolvedores na etapa de Implementação, quanto à organização e apresentação das interfaces com o usuário. Além disso, são propostos artefatos de apoio para considerar boas práticas, baseadas em experiências passadas bem sucedidas, relacionadas ao projeto de interfaces com o usuário.