Vous êtes sur la page 1sur 14

MODELAGEM INCREMENTAL DE APLICAÇÕES

WEB COM ABORDAGEM UWE: UM SISTEMA PARA


REGISTRO DE PUBLICAÇÕES ACADÊMICAS
CLAUDINEI COSTANTIN - claudineicostantin@gmail.com
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - UFRGS

CLARISSA ALMEIDA RODRIGUES - clarissa_ar@hotmail.com


UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - UFRGS

ALINE VIEIRA MALANOVICZ - malanovicz@gmail.com


UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - UFRGS

Resumo: AS TECNOLOGIAS PARA WEB TÊM UMA COMPLEXIDADE ESTRUTURAL


QUE EXIGE MÉTODOS SISTEMATIZADOS DE DESENVOLVIMENTO E
MANUTENÇÃO: A ENGENHARIA WEB. O OBJETIVO DESTE ARTIGO É
DESCREVER O PROCESSO DE MODELAGEM DE UM SISTEMA WEB
UTILIZANDO ABORDAGEM UUWE (ENGENHARIA WEB BASEADA EM
UML). O SISTEMA DESENVOLVIDO FOI PROPOSTO NA DISCIPLINA
ENGENHARIA DE SOFTWARE PARA APLICAÇÕES WEB DO CURSO DE
ESPECIALIZAÇÃO EM ENGENHARIA DE SOFTWARE: É UM SISTEMA
PARA REGISTRO DE PUBLICAÇÕES ACADÊMICAS. O MÉTODO SEGUIU
OS PASSOS INCREMENTAIS DE UWE, INICIANDO COM DEFINIÇÕES
DO CLIENTE (PROFESSOR DA DISCIPLINA), E PROSSEGUINDO NA
ELABORAÇÃO DE MODELOS UWE: LISTA DE REQUISITOS, DIAGRAMA
DE CASOS DE USO, DESCRIÇÃO DOS CASOS DE USO PRINCIPAIS,
DIAGRAMA CONCEITUAL, MODELO DE INTERFACE, E DIAGRAMA DE
NAVEGAÇÃO. A ANÁLISE CRÍTICA DO PROCESSO REVELOU QUE A
OPÇÃO PELA ABORDAGEM UWE PROPORCIONOU UMA MELHOR
VISÃO DOS ASPECTOS CONCEITUAL, NAVEGACIONAL E ESTÉTICO,
FACILITANDO A VALIDAÇÃO DA MODELAGEM JUNTO AO CLIENTE. A
ESCOLHA DA TECNOLOGIA JSF COM PRIMEFACES E TODO O
SUPORTE DO NETBEANS8 MOSTROU-SE EXCELENTE E RÁPIDA, POR
AUTOMATIZAR TAREFAS CRUD, PERMITINDO AO DESENVOLVEDOR
FOCAR-SE NAS REGRAS DE NEGÓCIO DAS APLICAÇÕES WEB. ESTE
TRABALHO TEM SUA RELEVÂNCIA COMO UM CAMINHO INICIAL PARA
CONHECER MÉTODOS DE ENGENHARIA WEB, PELA DIVULGAÇÃO DE
EXEMPLOS DE BOAS PRÁTICAS.

Palavras-chaves: ENGENHARIA WEB; APLICAÇÃO WEB; ENGENHARIA DE


SOFTWARE.

Área: 5 - GESTÃO DO PRODUTO


Sub-Área: 5.4 - ENGENHARIA DE PRODUTO
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

INCREMENTAL MODELLING OF WEB


APPLICATIONS USING UWE APPROACH: A SYSTEM
FOR RECORDING ACADEMIC PUBLICATIONS

Abstract: WEB TECHNOLOGIES HAVE STRUCTURAL COMPLEXITIES THAT


REQUIRES SYSTEMATIZED METHODS FOR DEVELOPMENT AND
MAINTENANCE, SUCH AS METHODOLOGIES BASED ON SOFTWARE
ENGINEERING ADAPTED FOR WEB APPLICATIONS, CALLED WEB
ENGINEERING. THIS PAPER DESCRIBESS THE MODELLING PROCESS
OF A WEB SYSTEM USING UWE (WEB ENGINEERING BASED ON UML)
APPROACH. THE SYSTEM DEVELOPED WAS PROPOSED AT A COURSE
OF SOFTWARE ENGINEERING FOR WEB APPLICATIONS IN A COURSE
OF SPECIALIZATION ON SOFTWARE ENGINEERING: A WEB SYSTEM
FOR RECORDING ACADEMIC PUBLICATIONS. THE METHOD FOLLOW
UWE INCREMENTAL STEPS, BEGINNING WITH DEFINITIONS FROM
THE CONSUMER (PROFESSOR) AND THEN WITH ELABORATION OF
UWE MODELS: REQUISITES LIST, USE CASES DIAGRAM, DESCRIPTION
OF MAIN USE CASES, CONCEPTUAL DIAGRAM, INTERFACE MODEL,
AND NAVIGATION DIAGRAM. A CRITICAL ANALYSIS OF THE PROCESS
SHOWS THAT THE CHOICE OF UWE APPROACH OFFERED A BETTER
VISION OF CONCEPTUAL, NAVIGATIONAL AND AESTHETICAL
ASPECTS OF THE SYSTEM, FACILITATING THE MODELLING
VALIDATION WITH USER. THE CHOICE OF JSF TECHNOLOGY WITH
PRIMEFACES AND NETBEANS8 SUPPORT WAS EXCELLENT AND
OFFERING PRODUCTIVITY IN DEVELOPMENT, BY AUTOMATIZING
CRUD TASKS AND ALLOW DEVELOPER TO FOCUS ON BUSINESS
RULES OF WEB APPS. THE RELEVANCE OF THIS RESEARCH IS TO BE
AN INITIAL WAY TO KNOW WEB ENGINEERING, BY DISSEMINATION OF
EXAMPLES OF THE BEST PRACTICES.

Keyword: WEB ENGINEERING; WEB APPLICATION; SOFTWARE ENGINEERING.

2
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

1. Introdução

No campo de estudos da Engenharia de Software, estão ganhando espaço as temáticas de


pesquisa que tratam do desenvolvimento de sistemas de informação web e de seus métodos de
desenvolvimento, o que se percebe nas áreas temáticas e na diversidade de estudos publicados em
revistas e em eventos como SIMPEP, ENEGEP, ENEComp, EnEngSW, EnANPAD.
A área de tecnologias para web está passando por uma fase em que a complexidade
estrutural e a manutenção das páginas web exigem métodos sistematizados. No início da era
da internet, aplicações web se limitavam a páginas informativas, orientadas a documento.
Hoje, aplicações web são complexos sistemas de software que provêm serviços interativos,
customizáveis e com grandes quantidades de dados, acessíveis por diversos dispositivos
diferentes (KAPPEL, 2003; CGI.BR; NIC.BR, 2010).
Atendendo a essa carência, pesquisadores e desenvolvedores propuseram metodologias
baseadas na engenharia de software e adaptadas para aplicações web, chamadas de Engenharia
Web (ALGARVE, 2008; SELMI, 2005). Na prática profissional, assim como no ensino da área,
a intenção primordial dos professores e profissionais consiste em agregar qualidade ao
desenvolvimento de produtos, serviços, softwares e novas tecnologias (SOUZA, 2008).
Para isso, percebe-se a necessidade de serem divulgadas as boas práticas do processo de
análise, modelagem e projeto de sistemas web, nas quais se inclui a utilização de técnicas e
metodologias próprias para a engenharia web, como é o caso da UWE (KOCH; KRAUS, 2002).
Considerando esses fatores, este artigo tem como objetivo descrever o processo de
modelagem de um sistema web utilizando UWE. O sistema desenvolvido é o proposto em uma
disciplina de Engenharia de Software para Aplicações Web de um curso de Especialização em
Engenharia de Software: um sistema web para registro de publicações acadêmicas.
A seção 2 deste artigo apresenta inicialmente alguns conceitos básicos essenciais sobre
o tema. A seção 3 descreve o método utilizado nesta pesquisa. A seção 4 relata os resultados,
incluindo os diagramas e descrições textuais desenvolvidos ao longo do projeto de análise do
sistema. Esses resultados são analisados e comentados na seção 5, de Conclusões.

2. Revisão Conceitual

Aplicações web (web apps) são sistemas baseados na arquitetura cliente-servidor que
utilizam a internet como plataforma de trabalho (ALGARVE, 2008). Entre as características e
peculiaridades de aplicações web, podem ser citadas interação em tempo real, complexidade,
flexibilidade e o desejo de oferecer informação personalizada, além de oferecer conteúdos e

3
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

serviços através de um navegador (KAPPEL, 2003; MURUGESAN, 2005). Outras


características de web apps são: forte ênfase na estética (layout, gráficos, elementos de áudio
e vídeo) e nas funcionalidades; uso intensivo da rede e concorrência (diferentes clientes
simultaneamente, em lugares distintos); imediatismo (time-to-market curtíssimo); evolução
contínua (minuto-a-minuto, conteúdo dinâmico); segurança (pouca limitação na população
que a acessa); curto tempo de resposta (usuários impacientes); alta disponibilidade (24/7/365);
carga difícil de prever (pode variar muito) (WIVES, 2014).
A Engenharia Web pode ser definida como a aplicação de abordagens sistemáticas e
quantificáveis para eficiente análise de requisitos, projeto, implementação, teste, operação e
manutenção de aplicações web de alta qualidade (PRESSMAN; LOWE, 2008; BRAMBILLA
et al., 2006). Há diversos métodos de engenharia web usados e em constante aprimoramento.
Um processo de desenvolvimento utilizado atualmente com boa aceitação por desenvolvedores
web que buscam uma maneira formal e organizada de criar sistemas de internet é a UWE.
Engenharia Web baseada na UML (UWE) é uma abordagem para desenvolvimento
sistemático de aplicações web, baseada no processo unificado RUP (KOCH; KRAUS, 2002).
Sua principal característica é a abordagem de dividir o problema nas etapas iniciais e a
implementação do processo de desenvolvimento orientado a modelos, o que facilita a visão
geral dos componentes da aplicação. Possui quatro fases, com seus respectivos artefatos:
a) Análise de Requisitos:
 Listas de Requisitos, incluindo requisitos obrigatórios (indispensáveis na primeira
versão do sistema) e requisitos opcionais (aqueles que o cliente pode esperar para uma
próxima versão ou em que ele ainda não tem uma idéia clara do que necessita).
 Diagrama de Casos de Uso, considerando diferentes tipos de usuário identificados como
relevantes de acordo com as prioridades levantadas em conjunto com o usuário/cliente.
 Descrição dos Casos de Uso Principais, incluindo uma descrição textual detalhada do
funcionamento dos casos não muito intuitivos, para explicar sua lógica de funcionamento.
b) Projeto Conceitual:
 Diagrama Conceitual, identificando os principais conceitos/dados envolvidos na aplicação.
c) Projeto de Apresentação:
 Modelo de Interface, identificando a estrutura-padrão das páginas da aplicação, como
um esquema ou imagem que indique diferentes áreas da página e seu conteúdo.
d) Projeto de Navegação:
 Diagrama de Navegação, identificando diferentes itens e principais opções de acesso.

4
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

A metodologia utiliza uma extensão da linguagem de modelagem UML (BOOCH;


RUMBAUGH; JACOBSON, 2005) como adaptação para gerar diagramas e especificações
próprias de web apps. A notação visual permite a construção de modelos expressivos e
intuitivos, empregando semântica formal e facilitando o aprendizado pelos desenvolvedores.
Exemplificando as boas práticas da engenharia web para criação de um sistema de
informação, esta pesquisa apresenta o projeto de uma web app com uso da abordagem UWE.

3. Método
O objeto desta pesquisa é o processo de modelagem de um sistema proposto em uma
disciplina de Engenharia de Software para Aplicações Web, e este é um problema prático em
que a atuação dos atores e o contexto de ação são importantes para o seu desenvolvimento.
Por isso, o método escolhido (Estudo de Caso) caracteriza a pesquisa como qualitativa
aplicada e de natureza exploratória (YIN, 2005; VERGARA, 2005).
Esta seção detalha os procedimentos metodológicos adotados, para que se mostrem
repetíveis para outros pesquisadores que intentem empreender uma pesquisa semelhante.
O método de desenvolvimento da modelagem da aplicação web proposta seguiu os passos
incrementais da Engenharia Web baseada em UML (UWE), assumindo como ponto de partida
as definições iniciais de requisitos da aplicação dadas pelo cliente (o professor da disciplina),
prosseguindo com a elaboração dos modelos da UWE, sempre em passos incrementais.
Para tanto, foram analisados documentos disponibilizados pelo cliente e foram
realizadas entrevistas com ele, visando identificar as expectativas do cliente. Foram gerados,
então, segundo o método, os seguintes “entregáveis” (deliverables), descritos neste artigo:
Listas de Requisitos, Diagrama de Casos de Uso, Descrição dos Casos de Uso Principais,
Diagrama Conceitual, Modelo de Interface, Diagrama de Navegação.
Adicionalmente, são apresentadas como resultados da pesquisa as escolhas tecnológicas
consideradas mais práticas, pelo critério da conveniência, para a implementação da aplicação
modelada, utilizadas na descrição dos principais passos da parte inicial do seu desenvolvimento.
O trabalho foi realizado em grupo, e o tempo total deste projeto envolveu cerca de
quatro semanas (toda a duração do curso) entre os meses de maio e junho de 2014.

4. Resultados
Nesta seção de Resultados, é descrito o processo de desenvolvimento incremental da
aplicação web, e são mostrados os modelos UWE iniciais, intermediários e finais
desenvolvidos.

5
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

A primeira iteração do projeto incremental iniciou a fase de Análise de Requisitos e foi


realizada durante uma reunião com o cliente (na primeira aula do curso) e serviu para
identificar as necessidades do cliente, definir cenários de uso e conceitos envolvidos.
A aplicação Web desejada pelo cliente é um Sistema de Registro de Publicações Acadêmicas.
Foi relatado pelo cliente que um problema relevante é as informações de publicação de
um pesquisador muitas vezes estarem espalhadas em diferentes locais (biblioteca da sua
instituição, seu site, site da instituição, currículo Lattes no CNPq, etc.). A atualização e a
consistência entre todas essas bases são feitas manualmente, pelo pesquisador. Entre os tipos
de publicação, existem: Publicação em periódico (revista ou jornal); Publicação em
conferência científica (anais de eventos ou proceedings); Livro completo; Capítulo ou trecho
de livro. Uma publicação pode ser nacional ou internacional; completa ou resumida; resumos
simples ou expandidos; já publicada ou já aceita (mas ainda não publicada).
O sistema a ser desenvolvido deve gerar relatórios nesses diferentes formatos
existentes de referências de publicações (ABNT, por exemplo), facilitando a elaboração de
trabalhos e relatórios acadêmico-científicos, e deve exigir que sejam cadastrados os dados
mínimos para cada tipo de publicação e para cada formato. Opcionalmente, deve completar ou
inferir automaticamente alguns dados faltantes (buscando na web, por exemplo).
O sistema é catalográfico, ou seja, pode gerar páginas dinamicamente contendo a lista
de publicações de uma pessoa, não necessariamente contendo a pesquisa científica em si (não
é uma biblioteca digital). O sistema deve poder gerar páginas dinamicamente contendo a lista
de publicações de uma pessoa, organizadas ao menos por ano e por tipo. Essas páginas devem
poder ser embutidas dinamicamente em outras páginas web, exportadas e importadas, por
exemplo, nas páginas pessoais dos pesquisadores e da instituição.
Outra funcionalidade desejada pelo cliente é a importação/exportação de referências
para formatos como Bibtex, Endnote, Reference, Manager, RefWorks, PubMed, e o cliente
elencou alguns exemplos de sites que exportam referências nesses formatos: a Biblioteca
Digital da ACM (http://www.acm.org/dl), a Editora Springer (www.springerlink.com), o IEEE
(http://ieeexplore.ieee.org) e o Currículo Lattes (http://lattes.cnpq.br/). Para ilustrar suas
expectativas, o cliente esboçou como seriam as telas do sistema (FIGURA 1) e elencou alguns
exemplos de aplicações semelhantes à desejada: EndNote (http://www.endnote.com/);
PubMan (http://pubman.mpdl.mpg.de/); e DBLP (http://www.informatik.uni-trier.de/~ley/db/).

6
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

FIGURA 1 – Esboço das telas do sistema conforme imaginadas pelo cliente.

O Levantamento de Requisitos foi desenvolvido com base nesta comunicação inicial


com o cliente, que permitiu gerar duas listas de requisitos, já priorizados (FIGURA 2):
Requisitos Obrigatórios: Requisitos Opcionais:
 Cadastrar-se no sistema;  Listagem de publicações com ordenação por diferentes campos;
 Pesquisar publicações;  Geração de relatórios por autor, ano, tipo, de maneira dinâmica;
 Visualizar publicações;  Quadros dinâmicos com as atualizações feitas (sugestão da equipe);
 Adicionar/Editar/Excluir  Ranking de professores/Instituições com maiores publicações
Publicações (artigos, livros, (sugestão da equipe);
capítulos, resumos...);  Diferentes perfis de usuários (p.ex.: anônimo, registrado, coordenador);
 Exportar/Importar dados  Funcionalidades Web 2.0 (p.ex.: plotar local de publicação no Google Maps);
de outros repositórios.  Componente/web service/plug-in para usuário inserir em sua página pessoal.
FIGURA 2 – Levantamento de Requisitos: Requisitos Obrigatórios e Requisitos Opcionais.

Depois deste levantamento, foi realizado um Planejamento inicial do trabalho, no qual


foram estabelecidas as tarefas adequadas para o primeiro incremento: definição da abordagem
de análise e projeto (UWE), ferramentas e tecnologias a serem utilizadas (softwares Violet,
MockFlow e ArgoUWE, supondo o uso futuro de JSF Java Server Faces), e definição de um
cronograma inicial para o projeto (as duas semanas iniciais da disciplina).
A segunda iteração do projeto incremental incluiu a definição das funcionalidades
prioritárias, e a modelagem propriamente dita, com a elaboração dos modelos da abordagem
UWE: Diagrama de Casos de Uso, Descrição dos Casos de Uso Principais, Modelo de Conteúdo,
Modelo de Interface, e Estrutura de Navegação (Diagrama de Hipertexto), descritos a seguir.

7
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

O Diagrama de Casos de Uso (FIGURA 3) foi desenvolvido para identificar quais os


cenários de interação e os papéis que os diferentes usuários têm no sistema. Neste artefato,
detalharam-se as possibilidades de uso do sistema, e ele foi útil para validá-las com o cliente.

FIGURA 3 – Diagrama de Casos de Uso.

A Descrição dos Casos de Uso Principais (FIGURA 4) contemplou cinco casos de


uso (Gerar relatórios, Pesquisar publicações, Visualizar publicações, Adicionar publicação e
Exportar/Importar dados de outros repositórios), considerados não muito intuitivos, para os
quais se faz necessária uma descrição textual para melhor entendimento. A elaboração destes
diagramas concluiu a fase de Análise de Requisitos da modelagem UWE.

8
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

FIGURA 4 – Descrição dos Casos de Uso Principais.

A fase de Projeto Conceitual ocorreu durante a elaboração do Diagrama Conceitual


(FIGURA 5), que foi desenvolvido, buscando identificar os principais dados envolvidos na
aplicação, ou seja, suas classes, as associações entre elas e seus atributos, representando a lógica
de negócio da aplicação. Os principais conceitos identificados inicialmente foram Usuário,
Autor, e o conceito central do sistema, Publicação (que pode ser ParteDeMonografia,
Dissertação, ArtigoDePeriódico, MeioEletrônico ou RFC). Usuário teria os atributos login e
senha; Autor teria o nome; e Publicação teria os atributos genéricos próprios de todos os tipos:
título, tipo, data, local, editora, edição, quantidadeDePaginas e intervaloDePaginas (e os tipos
de Publicações teriam os atributos específicos do seu tipo).

FIGURA 5 – Diagrama Conceitual: Usuário, Autor e Publicação (com seus respectivos tipos).

9
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

A fase de Projeto de Apresentação desta modelagem ocorreu durante a elaboração do


Modelo de Interface (FIGURA 6), que foi desenvolvido para representar um protótipo de
interface gráfica, incluindo uma Página do Pesquisador, uma Página de Login, e uma Página
de Edição, utilizado para ilustração e melhor entendimento das expectativas do cliente.
Comparado ao esboço inicial de telas apresentado pelo cliente na primeira iteração do projeto
(ver FIGURA 1), percebe-se que este Modelo constitui um refinamento da ideia de interface.

FIGURA 6 – Modelo de Interface: Página do Pesquisador, Página de Login, Página de Edição.

A fase de Projeto Navegacional desta modelagem ocorreu durante a elaboração do


Modelo de Estrutura Navegacional foi desenvolvido como um diagrama de classes que
mostra os objetos com os quais o usuário poderá interagir durante a navegação. Este modelo é
composto por Nós (classes navegacionais), Elos (relacionamentos navegacionais) e Estruturas
de Acesso (índices).
Todos os modelos elaborados foram apresentados para validação com o cliente
rigorosamente dentro do prazo estabelecido no cronograma. O feedback de avaliação dado
pelo cliente indicou que a modelagem ficou 95% correta, faltando apenas explicitar qual era a
funcionalidade diferenciada (que era a importação/exportação, como o próprio cliente deduziu).
Destaca-se que o Modelo de Interface foi considerado “ótimo!” na avaliação do cliente.
A terceira iteração do projeto incremental foi desenvolvida nas duas últimas semanas do
curso, constituindo uma fase posterior à modelagem propriamente dita. Consistiu na
investigação, avaliação e escolha das tecnologias que poderiam ser utilizadas para desenvolver a
aplicação web e a elaboração de um breve tutorial sobre como utilizá-las no projeto.
A tecnologia escolhida foi o framework MVC (Model-View-Controller) baseado em
Java JSF (Java Server Faces) (devido ao conhecimento prévio de JSF), com a Biblioteca de
Componentes PrimeFaces 4.0, que despertou interesse por ser suportada (nativa) pelo recém-
lançado Ambiente de Desenvolvimento NetBeans 8 IDE, gratuito e de código aberto. As demais
escolhas tecnológicas foram motivadas pela praticidade de seu suporte nativo na IDE, sem a
necessidade de instalação, somente do ambiente. O Banco de Dados utilizado foi o Apache
Derby 10.8.3.0, que vem com o Ambiente. O Servidor de Aplicação Web foi o GlassFish 4.0,

10
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

que já vem com uma instância pronta no NetBeans 8. A API de Persistência JPA 2.5.1 também
é suportada e foi escolhida por praticidade, tudo sobre Plataforma Java EE 7.0.
O início da pesquisa sobre as tecnologias escolhidas demonstrou a simplicidade da
criação de CRUD (Create, Read, Update, Delete) a partir de uma tabela do banco de dados
(NETBEANS, 2013). O processo envolve apenas três passos: (1) criação das tabelas no banco
de dados baseados no Diagrama Conceitual da FIGURA 5; (2) geração automática pelo
NetBeans 8 das classes de entidades a partir das tabelas do banco de dados criadas; (3)
geração automática pelo NetBeans 8 das páginas do CRUD a partir das classes de entidades.
Os passos seguintes envolveram, após a criação das tabelas no banco de dados, a
criação dos respectivos campos (atributos), em que foi adotada a opção de Publicação ser
uma única tabela com todos os dados da hierarquia no modelo físico. Além disso, Autor e
Usuário puderam ser criados como uma tabela única, pois sua relação é 1-para-1. Entre Autor
e Publicação, há uma relação N-para-N, sendo criada uma tabela auxiliar (FIGURA 7).

FIGURA 7 – Tabelas no Banco de Dados: Autor, Autor-Publicações, e Publicações.

A criação do projeto da aplicação utilizou o servidor GlassFish 4, e a geração das


classes de entidades exigiu apenas a seleção das tabelas criadas no passo anterior. Todas as
classes de entidades foram automaticamente criadas já com todas as annotations do JPA
prontas, associando as entidades às tabelas e os atributos às colunas. E para o relacionamento
entre Publicações e Autores, já foi criada uma List dentro de Publicações (FIGURA 8a).
Pode-se dizer que, neste ponto, já está criado o básico da camada de Model do MVC.
Como foi mencionado, a geração das páginas a partir das entidades foi feita de modo
muito simples com PrimeFaces. No mesmo passo, foram criadas automaticamente outras classes
Java (Facades, Converters e Controllers) que implementam CRUD respeitando a arquitetura
MVC. Pode-se dizer que o básico da camada Controller do MVC foi criado nesse passo

11
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

(FIGURA 8b). Validações e regras de negócio da aplicação podem ser definidas nessas classes.
Além disso, páginas de listagem, criação, edição também foram criadas automaticamente.
Pode-se dizer que o básico da camada de View do MVC foi criado nesse passo (FIGURA 8c).
(a) (b) (c)

FIGURA 8 – Camadas do MVC: (a) Model, (b) Controller e (c) View: criação automática de classes e páginas.

A seguir, serão comentadas algumas telas e a interface que ilustra a web app. Ao rodar
a aplicação, o servidor GlassFish faz o deploy, e o browser mostra a tela inicial da aplicação
(FIGURA 9a). O link “Show All Publicacoes Items” acessa uma tabela pronta estilizada com
Primefaces (FIGURA 9b). O botão “Create” acessa uma janela para inserir dados, já com
validação e facilidade de preenchimento (FIGURA 9c). Ao clicar “Save”, os dados são
persistidos, e a tabela é atualizada automaticamente. Ao selecionar uma publicação na tabela e
clicar “View”, são mostrados os detalhes da publicação (FIGURA 9d).
(a) (b) (c) (d)

FIGURA 9 – Exemplos de telas da aplicação web: (a) Initial (b) All Publicacao (c) Create (d) View.

Este início de desenvolvimento da aplicação web serviu para ilustrar algumas


tecnologias que podem ser utilizadas para implementar a aplicação modelada usando UWE.
Para atender a todos os requisitos solicitados pelo cliente, ainda seria necessário completar o
desenvolvimento, incluindo regras de negócio, funcionalidade de exportação e importação de
registros, exibição da associação entre autor e publicação, tela de login, filtros, navegação
entre a tela de login e a lista de publicações, contemplando a segregação de perfis de usuários.
Entretanto, percebeu-se que os componentes do Primefaces facilitariam muito essa expansão.

12
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

5. Conclusões
Este artigo atingiu seu objetivo de descrever o processo de modelagem de um sistema
web utilizando UWE. O sistema modelado foi o sugerido em uma disciplina de Engenharia de
Software para Aplicações Web de um curso de Especialização em Engenharia de Software.
Pode-se concluir que este trabalho forneceu o material técnico necessário para projetar um
Sistema Web para Registro de Publicações Acadêmicas.
O método de modelagem seguiu os passos incrementais da Engenharia Web baseada
em UML (UWE), assumindo como ponto de partida as definições iniciais de requisitos da
aplicação dadas pelo cliente (o professor da disciplina), e prosseguindo com a elaboração dos
modelos da UWE: Lista de Requisitos, Diagrama de Casos de Uso, Descrição dos Casos de
Uso Principais, Diagrama Conceitual, Modelo de Interface, e Diagrama de Navegação.
O estudo de tecnologias para o efetivo desenvolvimento da aplicação web modelada
levou à escolha do framework MVC, baseado em JSF, plataforma JavaEE, e do ambiente de
desenvolvimento NetBeans 8, com suporte nativo à biblioteca de componentes PrimeFaces, ao
banco de dados Apache Derby, ao servidor de aplicação GlassFish e à API de persistência JPA.
A análise crítica do processo de realização da modelagem revela que a opção pela
construção incremental baseada na abordagem UWE proporcionou uma melhor visão dos
diferentes aspectos do sistema. A separação entre a parte conceitual, a navegacional e a
estética facilitou a validação da modelagem junto ao cliente, e proporcionou produtividade na
sua elaboração, pois o processo incremental pôde ser iniciado em paralelo pelo grupo.
A escolha da tecnologia JSF com Primefaces, mais todo o suporte oferecido pelo
ambiente NetBeans 8 permitiu concluir que parece ser uma excelente e rápida opção para
quem deseja começar a desenvolver aplicações web e para quem já tem experiência e quer
poupar o tempo aplicado aos passos repetitivos para criação de CRUD, pois este trabalho já é
realizado automaticamente (o que parece ser pioneiro para um framework MVC amplamente
utilizado), o que permite ao desenvolvedor focar-se no que realmente interessa para o cliente,
que são as regras de negócio e detalhes de como a aplicação web deve funcionar.
Desse modo, este trabalho tem sua relevância ao se mostrar como um caminho inicial
para conhecer métodos de Engenharia Web, para pesquisadores da área de engenharia de
software e de sistemas aplicados à Internet. Com estes conhecimentos, há o potencial de
aprimorar seus sistemas, tornando-os mais fáceis de desenvolver e de manter, mais produtivos
ao lidar com atualizações e mudanças mais complexas, muito frequentes em aplicações web.
Espera-se que este estudo de caso contribua com o desenvolvimento deste campo do conhecimento,
pela disseminação de exemplos a serem seguidos das boas práticas da Engenharia Web.

13
XXI SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO
As Demandas de Infraestrutura Logística para o Crescimento Econômico Brasileiro
Bauru, SP, Brasil, 10 a 12 de novembro de 2014

Referências
ALGARVE, G.L. Técnicas de Engenharia de Software para Projetos de Aplicações Web. (Trabalho de
Graduação. Ciência da Computação). Santa Maria: UFSM, 2008.
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. The unified modeling language user guide. 2.ed. Rio: Elsevier, 2005.
BRAMBILLA, M.; CERI, S.; FRATERNALI, P.; MANOLESCU, I. Process modeling in Web applications. ACM
Transactions in Software Engineering Methodology. v.15, n.4, 2006, p.360-409. http://doi.acm.org/10.1145/1178625.1178627.
CGI.BR; NIC.BR. Dimensões e características da Web Brasileira: um estudo do gov.br. 2010.
http://www.cgi.br/publicacoes/pesquisas/govbr/cgibr-nicbr-censoweb-govbr-2010.pdf
KAPPEL, G. Web Engineering: the discipline of systematic development of web applications. Heidelberg; 2003.
KOCH, N., KRAUS, A. The expressive power of UWE. Proceedings of IWWOST’02, CYTED, pp.105-119, 2002.
MURUGESAN, S. Web Engineering: introduction and perspectives. Sydney; 2005.
NETBEANS. Video of PrimeFaces Development with NetBeans IDE. 2013. Disponível em: https://netbeans.
org/kb/docs/javaee/maven-primefaces-screencast.html. Acesso em: 29 jun. 2014.
PRESSMAN, R.S.; LOWE, D. Web Engineering: a practitioner's approach. McGraw Hill Higher Education, 2008.
SOUZA, W.M. O papel do usuário no extreme programming. E-Revista Facitec, v.2, n.1, art.2, jul.2008.
Disponível em: www.facitec.br/erevista. Acesso em: 8 abr.2010.
VERGARA, S.C. Métodos de pesquisa em Administração. São Paulo: Atlas, 2005.
WIVES, L.K. Engenharia de Software para Aplicações Web. Porto Alegre: PPGComputação/UFRGS, 2014.
YIN, R.K. Estudo de Caso: Planejamento e Métodos. 3.ed. São Paulo: Bookman, 2005.

14