modelagem e desenvolvimeto de um aplicativo hipermídia para o

Transcrição

modelagem e desenvolvimeto de um aplicativo hipermídia para o
JOÃO GABRIEL MARIANO DE OLIVEIRA
MODELAGEM E DESENVOLVIMETO DE UM
APLICATIVO HIPERMÍDIA PARA O ENSINO
DE METODOLOGIAS ÁGEIS
LAVRAS - MG
2014
JOÃO GABRIEL MARIANO DE OLIVEIRA
MODELAGEM E DESENVOLVIMETO DE UM APLICATIVO HIPERMÍDIA
PARA O ENSINO DE METODOLOGIAS ÁGEIS
Monografia de graduação apresentada ao
Departamento de Ciência da Computação
da Universidade Federal de Lavras como
parte das exigências do curso de Sistemas
de Informação para obtenção do título de
Bacharel em Sistemas de Informação.
Orientador:
Prof. Dr. Andre Luiz Zambalde
LAVRAS - MG
2014
A família que eu nasci
A família que conheci em Lavras
A família que vou construir
DEDICO
AGRADECIMENTOS
A minha família que sempre apoiou minhas e me ajudou mesmo que
longe, em especial meu pai Gabriel e minha mãe Martinéia e meus irmãos
Gabrielle e Gabriel Jr. graças a eles eu construi meu caráter. Também não posso
deixar de agradecer meus tios Luiz Fernando e Rita de Cassia e os primos
Matheus e Thiago, pois quando sentia saudades de casa podia ser confortado em
sua casa.
Agradecer meus
amigos
Jose Luiz e Flávia Fernandes
que
acompanharam a distancia minha graduação e quando voltava pra minha cidade
natal me recebiam para uma prosa gostosa.
Agradecer também os amigos que fiz aqui, principalmente os
amigos/irmãos do brejão em especial ao Francis, Antônio Passos, Fabio
Nogueira, Giovanni, Luiz Carlos, Eduardo que tiveram muita paciência de
dividir um teto comigo. E os grandes amigos Thiago Dias, Ale, Laissa, Daniel,
Priscila, Patrícia, Mariana (estrela), Barbara, Sassa, Esther, Jesimar, Graziela e
tantos outros que me acompanharam ao longo do curso.
Por ultimo quero agradecer a minha companheira de longa data Ana
Flavia, sem ela a chances de eu ter chegado aqui seriam bem pequenas. Graças a
ela eu comecei o meu interesse por TI, quando me incentivou a começar um
curso técnico. Foi meu porto, meu incentivo e estava preparada pra me dar uma
sacudida quando eu desanimava. Essa conquista é tão sua quanto minha.
Obrigado por me esperar já estou chegando!
RESUMO
O presente trabalho tem por objetivo a modelagem e o desenvolvimento de um
aplicativo hipermídia educativo voltado para a aprendizagem das Metodologias
Ágeis. O produto desenvolvido faz o uso de ferramentas e estruturas fornecidas
pelo ambiente de autoria hipermídia Multimídia Builder, permitindo a
apresentação do conteúdo geral de metodologias ágeis, através de representações
gráficas e sonoras. Para a elaboração do projeto, utilizou-se o paradigma
OOHDM (Object Oriented Hypermedia Design Model). O trabalho compõe-se,
basicamente, da revisão de literatura de sistemas hipermídia, hipermídia
educacional, OOHDM e metodologias ágeis. Concluiu-se que a utilização do
OOHDM é eficiente, permitindo fácil documentação e reuso. O produto final,
aplicativo hipermídia, constitui uma ferramenta preliminar de ensinoaprendizagem de Metodologias Ágeis.
Palavras chave: Hipermídia, OOHDM, Metodologias Ágeis.
ABSTRACT
This work aims at modeling and development of an educational hypermedia
application geared towards learning the Agile Methodologies. The product
developed is the use of tools and frameworks provided by hypermedia authoring
Multimedia Builder environment, allowing the presentation of the general
contents of agile methodologies, through graphic and audio representations. To
prepare the dog project, we used the paradigm OOHDM (Object Oriented
Hypermedia Design Model). The work consists basically of a literature review
of hypermedia systems, educational hypermedia, OOHDM and agile
methodologies. It was concluded that the use of OOHDM is efficient, allowing
easy reuse and documentation. The final product, hypermedia application, is a
primary tool for teaching and learning of Agile Methodologies.
Keyword: Hypermedia, OOHDM, Agile Methodologies.
LISTAS DE FIGURAS
FIGURA 1 - COMPONENTES DA METODOLOGIA OOHDM ............................................... 10
FIGURA 2 - CICLO DE VIDA ASD ................................................................................. 20
FIGURA 3 - MODELO FDD ........................................................................................ 22
FIGURA 4 - CICLO SCRUN .......................................................................................... 23
FIGURA 5 - TIPOS DE PESQUISA CIENTÍFICA (JUNG, 2009) ............................................ 25
FIGURA 6 - MODELO CONCEITUAL .............................................................................. 28
FIGURA 7 - CLASSE CONCEITUAL "MENUPRINCIPAL"...................................................... 29
FIGURA 8 - CLASSES “CONCEITOSBASICOS” E “VALORESPRINCIPIOS” ............................... 29
FIGURA 9 - CLASSES DAS METODOLOGIAS ÁGEIS ............................................................ 30
FIGURA 10 - MODELO NAVEGACIONAL "MENUPRINCIPAL" ........................................... 31
FIGURA 11 - MODELO NAVEGACIONAL "CONCEITOSBASICOS" ....................................... 31
FIGURA 12 - MODELO NAVEGACIONAL "XP" ............................................................... 32
FIGURA 13 - MODELOS NAVEGACIONAIS DAS CLASSES DE METODOLOGIAS ÁGEIS ................ 32
FIGURA 14 - DESIGN ABSTRATO "MENUPRINCIPAL" ...................................................... 33
FIGURA 15 - DESIGN ABSTRATO "CONCEITOSBASICOS" .................................................. 34
FIGURA 16 - DESIGN ABSTRATO "METODOLOGIAAGIL" ................................................. 35
FIGURA 17 - DESIGN ABSTRATO "SUBCLASSES" ............................................................ 36
FIGURA 18 - INTERFACE GRÁFICA "MENUPRINCIPAL" ................................................. 37
FIGURA 19 - INTERFACE GRÁFICA "CONCEITOSBASICOS" ................................................ 38
FIGURA 20 - INTERFACE GRAFICA "SCRUM" ................................................................. 39
FIGURA 21 - INTERFACE GRÁFICA EXIBINDO VIDEO......................................................... 40
FIGURA 22 - INTERFACE GRÁFICA EXIBINDO IMAGEM ..................................................... 40
FIGURA 23 - INTERFACE GRÁFICA SUBCLASSE ................................................................ 41
SUMÁRIO
1
INTRODUÇÃO .......................................................................................... 1
1.1 CONTEXTUALIZAÇÃO E MOTIVAÇÃO ....................................................... 1
1.2 PROBLEMA E OBJETIVO DE PESQUISA....................................................... 2
1.3 ESTRUTURA DO TRABALHO ..................................................................... 3
2
REFERENCIAL TEÓRICO ..................................................................... 4
2.1 HIPERTEXTO E HIPERMÍDIA...................................................................... 4
2.1.1 Construção de hipermídia ............................................................... 6
2.1.2 Hipermídia Educacional .................................................................. 7
2.2 OOHDM (OBJECT-ORIENTED HYPERMEDIA DESIGN METHOD)................ 8
2.3 METODOLOGIAS AGEIS........................................................................... 14
2.3.1 Introdução ..................................................................................... 14
2.3.2 Manifesto Ágil .............................................................................. 16
2.3.3 Conceitualização das metodologias .............................................. 18
3
METODOLOGIA DE PESQUISA ......................................................... 24
3.1 TIPO DE PESQUISA.................................................................................. 24
3.2 PROCEDIMENTOS METODOLÓGICOS ...................................................... 26
4
RESULTADOS E DISCUSSÃO .............................................................. 28
4.1
4.2
4.3
4.4
5
MODELAGEM CONCEITUAL ................................................................... 28
PROJETO NAVEGACIONAL ...................................................................... 30
PROJETO ABSTRATO ............................................................................... 32
IMPLEMENTAÇÃO ................................................................................... 36
CONCLUSÕES ........................................................................................ 42
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................ 43
1
1
INTRODUÇÃO
Este capítulo faz uma introdução sobre o assunto abordado,
contextualizando a necessidade de utilização de sistemas hipermídia no processo
de ensino-aprendizagem e difusão do conhecimento. Tem-se ainda a
especificação do principal objetivo de pesquisa e uma breve descrição dos
demais capítulos componentes deste estudo.
1.1
Contextualização e motivação
Na atual realidade em que vivemos, na qual busca-se adquirir
conhecimento no menor tempo possível, percebe-se a necessidade de utilizar
ferramentas que facilitem a compreensão de informações.
Para que seja solucionado o impasse de informação versus tempo, foram
criadas tecnologias que auxiliam no aprendizado, entre elas a hipermídia, que
será abordada neste trabalho, como ferramenta de otimização de aprendizagem.
De acordo com Zambalde (1996), projetos que visam estimular o uso
dos computadores como ferramenta de apoio à difusão da informação e ao
ensino através de sistemas hipermídia (mídias digitais e internet) são
desenvolvidos em todo o mundo. A maioria desses projetos alcança aplicações
em diversas áreas de conhecimento, tais como informática, medicina, história,
geografia, matemática, português, inglês e biologia. Enfim cada dia surgem
novas áreas de aplicação que utilizam a flexibilidade dos hipertextos combinada
com a riqueza dos tipos de dados da multimídia.
Neste sentido Cunha (2002) afirma que para desenvolver um sistema
hipermídia que seja de qualidade e atenda aos requisitos básicos de manutenção
e reuso, é preciso que se busque um modelo de autoria que possa descrever toda
a estrutura da aplicação e sua semântica de navegação de uma forma
independente da implementação. Este sistema deve fornecer construções de
2
design de alto nível e mecanismos de abstração, bem como permitir uma
transição tranquila entre a abstração do domínio da aplicação e a implementação
final, preenchendo assim, o espaço entre os modernos mecanismos de
engenharia de software e as peculiaridades da hipermídia. Ele ainda deve ser
capaz de fornecer meios para que se façam alterações no modelo para uma
aplicação final (e vice-versa), tornando a manutenção e o reuso mais fácil.
O presente trabalho, dentro do contexto educacional, propõe a utilização
da hipermídia como instrumento facilitador da compreensão das Metodologias
Ágeis. Na literatura geralmente encontra-se esse tipo de conhecimento
disponibilizado em forma de artigos científicos que requerem de seu leitor um
conhecimento mais abrangente, tornando seu entendimento mais complexo.
Sendo assim, o sistema educacional desenvolvido vem como um agente
facilitador da aprendizagem desta área do conhecimento.
1.2
Problema e objetivo de pesquisa
O principal objetivo do presente trabalho foi a modelagem e
desenvolvimento de um aplicativo educacional hipermídia voltado ao ensinoaprendizagem de metodologias ágeis, com intuito de criar uma forma alternativa
para ser utilizada no processo de ensino-aprendizagem.
A modelagem devera atender ao pressuposto OOHDM (Método de
Desenvolvimento Hipermídia Orientado a Objeto), isto é: modelagem
conceitual, projeto navegacional, projeto abstrato e iplementação de Schwaber e
Rossi (1994).
Entende-se que usando objetos não só como artefatos de implementação,
mas principalmente como ferramentas de modelagem durante o processo de
desenvolvimento de aplicações hipermídia, consegue-se solucionar problemas
de reuso e manutenção.
3
Como ferramenta de aplicação e desenvolvimento foi utilizado o
Multimídia builder 4.9.8.
1.3
Estrutura do Trabalho
O trabalho está estruturado nos capítulos:
O Capítulo 2 apresenta o Referencial Teórico, utilizando-se de
fundamentos teóricos obtidos da literatura de artigos, livros, monografias e web.
Onde os conceitos serão explicados para o entendimento do trabalho.
No capítulo 3 tem-se a Metodologia, com o detalhamento do modelo
proposto, contendo informações sobre como o estudo foi conduzido e os
recursos e procedimentos utilizados na produção da hipermídia.
O capítulo 4 detalha o processo de modelagem e desenvolvimento do
aplicativo hipermídia voltado ao ensino e aprendizado de Metodologias Ágeis.
Ao final tem-se a conclusão do trabalho, indicações para trabalhos
futuros, além da lista de referências utilizadas.
4
2
REFERENCIAL TEÓRICO
Neste capitulo são apresentadas referencias, de outros autores,
necessárias para entendimento do assunto abordado. Inicialmente tem-se a
conceituação de hipermídia, em seguida trata-se da modelagem OOHDM e
Metodologias Ágeis.
2.1
Hipertexto e Hipermídia
O termo hipertexto refere-se à informação organizada de maneira não
linear. Esta organização permite localizar assuntos diferentes, mas interrelacionados em diferentes níveis de aprofundamento, proporcionando a
personalização do processo de ensino-aprendizagem e permitindo ao usuário
trabalhar em seu próprio ritmo, nível e estilo. Cabe ao usuário escolher a
sequência da navegação e explorar as informações do hipertexto (BUGAY;
ULBRICHT, 2000).
Rezende e Cola (2006) definem a relação de hipertexto e multimídia
como hipermídia. Entende-se que multimídia é a união de múltiplos meios
como, por exemplo, textos, imagens, sons, animações e vídeo para representar
uma informação. Este termo pode qualificar representações de informações
veiculadas por sistemas computacionais ou por outros suportes, não
informatizados. Por hipertexto entende-se um sistema computacional que
representa nós de informações, organizados de forma não linear, por meio de
ligações conceituais (links) (REZENDE; COLA, 2006).
Segundo Zambalde (2012), Hipermídia refere-se a um tipo de aplicação
ou sistema de informação que combina diferentes meios de comunicação (nós de
informação) para fornecer ao usuário uma maior possibilidade de interação. As
aplicações de internet, implementadas no World Wide Web (WWW) incorporam
o conceito de hipermídia como CDs e jogos educacionais (ZAMBALDE et al,
2012).
5
Os principais conceitos relacionados às estruturas que compõe a
hipermídia são os seguintes (LIMA, 1994):

Nós: parte do documento hipermídia ou de hipertexto que con-
tém um trecho da informação que se está apresentando (conteúdo de informação);

Elos (ligações ou links): relacionamento entre os nós, ou seja, os
relacionamentos existentes entre dois trechos de informação do hiperdocumento;

Âncoras: a percepção dos elos é, usualmente, feita através de
âncoras (ou botões). As âncoras são marcadores que indicam ao leitor a
existência de um (ou mais) elos, e podem ser ativadas através de alguma
operação, normalmente um clique do mouse. Segundo Schwabe (1993),
as âncoras podem ser indicadas de diversas formas: símbolos ou ícones
específicos que servem como marcadores; vídeo reverso; caixas ao redor
do texto ou bordas ao redor dos gráficos ou imagens; indicações tipográficas (negrito, itálico, cor etc.); mudanças na forma do cursor; piscamento, entre outros.

Navegação / Folheio: o que o sistema de hipertexto ou hipermí-
dia tenta é dar ao leitor a sensação de manuseio de um livro, ou outro
documento de papel, quando este manipula as janelas de uma aplicação.
Portanto, uma das mais importantes operações neste tipo de sistema é o
folheio ou browsing das páginas do hiperdocumento. Alguns sistemas,
além de permitir o browsing, fornecem também ao leitor um mapa, na
forma de um grafo, com a topologia da rede (também conhecido como
diagrama).

Autoria em ponto grande: a preocupação aqui é com os diversos
tipos de nós e elos, ou seja, como os conceitos do domínio da aplicação
(estrutura – planta), sem levar em conta detalhes. Autoria em ponto pe-
6
queno: depois de definidos nós e elos, e quais especificações (ou instâncias) destes tipos ocorrerão, são definidos os detalhes da aplicação.
O desenvolvimento de boas aplicações hipermídia pressupõe a ampla
exploração de suas possibilidades, ou seja, uma rede rica em conexões e
informações que permita ao usuário navegar livremente pelo hiperespaço. Não
há sentido em se utilizar aplicações hipermídia apenas de forma linear ou como
se estivesse lendo um livro, sequencialmente (ASSIS et al, 2004).
O hipertexto surge como uma alternativa mais eficiente para a
comunicação no meio digital, na medida em que minimiza os limites impostos
para a leitura na tela e explora de forma funcional as possibilidades de
construção de sentidos viabilizadas pelo computador: o uso de links e da
integração de várias linguagens favorecida pelos programas de edição de texto,
de som e de imagem. Adicionalmente, como o leitor tem acesso direto à matriz
textual, a ausência de custos no processo de reprodução do texto favorece
construções textuais que se organizam de forma inclusiva e não mais da forma
exclusiva que tipifica a produção de textos impressos (BRAGA, 2005).
Por suas qualidades específicas, a hipermídia têm sido amplamente
utilizada no contexto educativo. A hipermídia permite relacionar assuntos
diversos de maneira interconectada, possibilitando ao aluno se aprofundar em
variados níveis de um determinado conhecimento, de acordo com seu interesse e
ritmo de aprendizagem. Além disso, a integração de diferentes linguagens ou
mídias possibilita a exploração de diversos sentidos, ampliando as formas de
aproximação entre o aluno e o conteúdo; assim como gera certo grau de
redundância, situação necessária ao ato cognitivo (NUNES; GONÇALVES,
2011).
2.1.1
Construção de hipermídia
De acordo com Schwabe (1993), o projeto de uma aplicação hipermídia
7
deve cuidar da modelagem conceitual, ou seja, o mapeamento da estrutura da
informação a ser apresentada, abstraindo-se da parte de apresentação. Isso
permite ao projetista criar um mesmo projeto lógico que possa ser utilizado para
implementação de diversas plataformas de hardware e software (reuso).
Segundo o autor, após a modelagem conceitual é, construído o modelo
navegacional que descreve como serão os relacionamentos a serem
implementados a cada pagina da aplicação. A semântica de desenvolvimento é
de alto nível.
Na seqüência, tem-se o design abstrato da interface, onde se especifica a
forma e o conteúdo da interface com o usuário, obedecendo às determinações da
modelagem e navegação e mantendo-se o critério de abstração e reuso. A
preocupação principal deste passo é a interação do usuário com a aplicação.
Depois que este passo for concluído, tem-se informação bastante para
implementar a aplicação usando um ambiente hipermídia. Em outras palavras, o
design abstrato da interface provê um mapeamento entre a abstração (o projeto
da aplicação em alto-nível) e a implementação propriamente dita em um dado
ambiente de software e hardware (CUNHA, 2002).
2.1.2
Hipermídia Educacional
Pelo grande poder oferecido pela hipermídia de apresentar informações
não somente através de textos, mas também de imagens, sons, vídeos e
animações, esta tem se destacado também em um meio comum e muito
importante, a área de ensino, mostrando-se como ferramenta capaz de prender a
atenção dos alunos de forma mais interessante e eficaz.
Tendo em mente estes fatores, e ainda levando à conta a necessidade de
criação de uma forma de aprendizado que envolva cada vez mais a atenção dos
usuariaos surgem então os sistemas de hipermídia educacional (BORGES,
2011).
8
Segundo Guedes (2004), através de recursos de multimídia e hipertexto,
o estudante pode navegar pela informação disponível de forma livre, sem uma
sequência predefinida, o que torna a interatividade muito maior, sendo o usuário
não apenas um espectador passivo, mas também um participante ativo.
De acordo com Swan & Meskill (1996), existe uma série de razões pelas
quais a hipermídia apresenta vantagens sobre textos impressos, citando algumas:

Hipermídia permite um aprendizado independente através do controle
das informações e eventos pelo estudante promovendo um aprendizado
centrado.

Hipermídia tem sido um poderoso catalizador para o ensino cooperativo
atribuído à possibilidade de processos de aprendizado mediados socialmente.

Permite visões Construcionistas do aprendizado, em que o aprendizado
ocorre quando estudantes constroem estruturas de conhecimento ativamente e coletivamente.

Permite múltiplas representações do conhecimento e uma análise de
domínio não-linear, podendo tomar uma grande quantidade de informações acessíveis das quais surgem múltiplos significados e interpretações.

Os elementos da multimídia permitem diferentes estilos de aprendizado.
Estes elementos permitem a hipermídia um ambiente rico e atrativo,
contribuindo para um alto nível de envolvimento e motivação.
2.2
OOHDM (Object-Oriented Hypermedia Design Method)
O OOHDM é um modelo de projeto e implementação proposto por
Schwabe e Rossi (1995), que utiliza o conceito de orientação a objetos para o
desenvolvimento de aplicativos hipermídia, separando a modelagem estrutural
da implementação.
O OOHDM é primariamente um mecanismo de modelagem, que permite
9
a descrição do domínio da aplicação usando mecanismos de alto nível e
independente do sistema de hipertextos já existente ou a ser projetado (CUNHA,
2002).
O modelo faz uma evolução desde o modelo abstrato até uma descrição
em alto nível da aplicação hipermídia e mais tarde em aplicações concretas, que
não necessariamente precisam ser implementadas num sistema orientado a
objeto (CUNHA, 2002).
Ele ainda permite o projeto conceitual da aplicação sem que o autor
tenha que se preocupar demasiadamente com detalhes de implementação,
servindo
também
como
forma
de
comunicação
entre
projetistas,
implementadores e usuários (CUNHA, 2002).
O principal objetivo do Modelo OOHDM é facilitar a modelagem de
projetos independente do conteúdo que ira alimenta-lo.
OOHDM considera o processo de desenvolvimento da aplicação
hipermídia como um processo de quatro atividades: modelagem de domínio ou
conceitual, projeto navegacional, projeto da interface abstrata e implementação,
como é demonstrado na figura 1, desempenhadas em uma mistura de estilos
iterativos e incrementais de desenvolvimento; em cada etapa um modelo é
construído ou enriquecido.
10
Figura 1 - Componentes da metodologia OOHDM
As setas de avanço demonstram a evolução natural do empreendimento
de projeto, enquanto as setas de retorno expressam não apenas a possibilidade de
feedback (volta no processo), mas também a existência de um modelo simples,
porém potente, de rastreamento que permite mapear as modificações em um
modelo de projeto para partes de um outro modelo (rastreamento para trás)
(SCHWABE; ROSSI, 1994).
Durante a modelagem conceitual, um modelo do domínio da aplicação é
construído utilizando-se princípios bem conhecidos de modelagem orientada a
objetos aumentados com algumas primitivas tais como perspectivas de atributo e
sub-sistemas. Classes conceituais podem ser construídas utilizando-se
hierarquias de agregação e de generalização/especialização. Não há, nesta etapa
11
preocupação com os tipos de usuários e tarefas, apenas com a semântica do
domínio da aplicação. O produto desta etapa é um esquema de classes e objetos
construído a partir de Sub-Sistemas, Classes e Relações (SCHWABE; ROSSI,
1994). Esta modelagem segue os princípios de Orientação a Objetos, com
notação semelhante a UML (Unified Modeling Language). A modelagem
conceitual não distingue os tipos de usuários, tarefas ou com a implementação
dos procedimentos futuros.
Uma das características das aplicações hipermídia é a noção de
navegação. No OOHDM, uma aplicação é vista como uma visão navegacional
do modelo conceitual. Esta visão é construída durante o Projeto Navegacional
levando-se em conta os tipos de usuários aos quais a aplicação se destina e o
conjunto de tarefas que deverão desempenhar utilizando-o. Diferentes modelos
navegacionais podem ser construídos para o mesmo esquema conceitual,
expressando, desta forma, diferentes visões (aplicações) no mesmo domínio. Os
aspectos dinâmicos da navegação são apresentados na forma de Diagramas de
Navegação, um modelo baseado em maquinas de estados no qual são mostradas
transformações no estado do espaço navegacional (FIALHO, 2004).
Durante o Projeto de Interface Abstrata um modelo de interface é
construído. Este modelo especifica que objetos de interface serão vistos pelo
usuário e, particularmente, a forma que tomarão diferentes objetos
navegacionais, que objetos de interface ativarão a navegação, a maneira como os
objetos de interface multimídia serão sincronizados e que transformações
ocorrerão na interface (SCHWABE; ROSSI, 1994). Esta tarefa exige muito
cuidado, pois é um ponto crítico da criação de uma aplicação hipermídia. Pois
nesta etapa surgira a interface de contato com o usuário. Para isto é necessário
especificar:
12

A aparência de cada objeto navegacional que será perce-
bido pelo usuário, isto é, a representação de seus atributos (incluindo as
âncoras). O mesmo objeto navegacional pode ter diferentes representações de interface em diferentes situações. Por exemplo, um nó pode ter a
representação de uma fotografia de um monumento ou a de um ícone em
um mapa que atue como um índice para monumentos;

outros objetos de interface para oferecer as diversas funções do
aplicativo, como barras de menus, botões de controle e menus;

os relacionamentos entre os objetos de interface e navegacio-
nais, tais como o modo com que um evento externo, como o fato de o
usuário "clicar" o mouse afetará a navegação;

as transformações de interface que ocorrem pelo efeito da nave-
gação ou de eventos externos no computador de diferentes objetos de interface;

a sincronização de alguns objetos de interface deve ser conside-
rada, especialmente quando há meios dinâmicos, como áudio e vídeo
envolvidos.
Para o desenvolvimento da interface abstrata na metodologia OOHDM,
faz-se o uso de ADVs – Abstract Data Views – Tal modelo de projeto fora criado
orginalmente para especificar de forma clara e formal a separação entre a
interface do usuário e os componentes de um sistema de software, e para
oferecer um método de projeto independente da implementação, gerando graus
mais altos de reuso de componentes de projeto de interfaces (CARNEIRO et al,
1994; COWAN et al, 1995).
Um modelo ADV, quando usado em um projeto de aplicação hipermídia
, pode ser visto como um objeto de interface contendo um conjunto de atributos
que definem suas propriedades de percepção e o conjunto de eventos com os
13
quais pode lidar, como os eventos gerados pelo usuário (ROSSI, 1996).
Finalmente, mapeando os modelos navegacionais e de interface ao
ambiente de implementação escolhido, o autor produz o sistema real de
hipermídia a ser rodado. Em particular, o modelo de interface pode ser
implementado de forma direta sobre plataformas hipermídia disponíveis tais
como Hypercard, Toolbook, MacWeb, Mulimedia Builder 3d e Flash Director
(SCHWABE; ROSSI, 1994).
Analisando as informações acima, pode-se afirmar que o OOHDM
potencializa os processos de construção de aplicações hipermídia com a
introdução de um novo conceito: a utilização de objetos. Segundo Schwabe e
Rossi (SCHWABE; ROSSI, 1994), as vantagens de se utilizar objetos na
modelagem de aplicações hipermídia são:

oferece um referencial natural para raciocinar acerca de entida-
des do mundo real, objeto da maior parte das aplicações hipermídia;

fornece mecanismos de abstração adequados ao nosso empreen-
dimento como Agregação e Especialização/Generalização;

desde que estrutura e comportamento sejam encapsulados por
objetos, seremos capazes de elaborar não apenas aplicações hipermídia
“convencionais” (como Art Gallery ou Dinossaurs da Microsoft), mas
também aplicações sofisticados combinando navegação hipermídia com
diferentes tipos de processamento de informação, como ocorre, por exemplo, nos ambientes de Engenharia de Software;

são utilizadas as mesmas primitivas de modelagem (objetos,
classes), simplificando a transição de uma atividade para outra;

ao longo do processo utilizamos os mesmos mecanismos de abs-
tração, isto é, agregação, classificação e generalização/especialização.
14

pelo fato de os objetos serem artefatos reativos, podem ser cons-
truídas aplicações sofisticadas baseadas em hipermídia, definindo-se padrões de comportamento e de comunicação entre objetos;

aplicações projetadas e construídas em torno de objetos tendem
a ser mais robustas e fáceis de modificar, tanto pelo uso de polimorfismo
e herança como por composição;

construir novas aplicações reutilizando componentes existentes
é altamente viável quando os componentes são descritos como objetos.
2.3
Metodologias ageis
Neste
capitulo
o
leitor
encontrara
informações
referentes
as
metodologias ágeis encontrados em textos científicos. Buscou-se abordar
rapidamente as principais metodologias envolvidas no contexto “ágil”.
2.3.1
Introdução
De acordo com Pressman (2006), para acabar com o caos no
desenvolvimento de software, na engenharia de software era preciso processos
que estrutura no desenvolvimento do software. Com proposta foram modelos
prescritivos de processo, que dividia o desenvolvimento em etapas.
Segundo Bassi Filho (2008) o modelo Clássico ou Sequencial foi o
primeiro processo publicado de desenvolvimento de software (BASSI, 2008).
Desde sua introdução tem sido muito utilizado. É um modelo em que existe uma
sequência a ser seguida de uma etapa a outra. Cada etapa tem associada ao seu
término uma documentação padrão que deve ser aprovada para que se inicie a
etapa imediatamente posterior.
De uma forma geral fazem parte do modelo Clássico as etapas de
definição de requisitos, projeto do software, implementação e teste unitário,
integração e teste do sistema, operação e manutenção. Esse modelo é derivado
15
de outras engenharias tradicionais (Civil, Elétrica, Naval,...) e foi o primeiro a
ser usado pela Engenharia de Software, na década de 70 (SOARES, 2004).
Até o inicio da década de 90 o modelo Cascata foi a forma de
desenvolvimento mais usada, apesar das advertências dos pesquisadores da área
e dos desenvolvedores, que identificaram os problemas gerados ao se adotar esta
visão sequencial de tarefas. Alguns pesquisadores descrevem que é impossível
especificar totalmente um software antes do inicio de sua implementação
(BROOKS, 1987). Um desenvolvimento incremental é estimulado como um
modelo que apresenta menores riscos e maiores possibilidades de sucesso
(SOARES, 2004).
No modelo incremental, um sistema é dividido em incrementos que
possuem conjuntos de funcionalidades. O primeiro incremento é definido com as
funcionalidades mais prioritárias, e os incrementos subsequentes são definidos
com as funcionalidades adicionais. Cada incremento desenvolvido e validado é
entregue ao cliente, que pode colocá-lo em operação e assim começar a usufruir
antecipadamente de parte do sistema solicitado (SOMMERVILLE, 2011).
Porem um modelo incremental causa problemas com documentação,
torna-se necessário, então, utilizar metodologias, que não são orientadas à
documentação nem tampouco se preocupam apenas com a codificação
(SOARES, 2004).
Segundo Limbardi e Barbosa (2010), novos modelos incremetnais de
desenvolvimento foram surgindo, embora cada uma tivesse suas próprias
práticas e teorias sobre como fazer um projeto de software ter sucesso, cada um
com as suas particularidades, possuiam um pequeno conjunto de princípios
sempre parecia ter sido respeitado quando os projetos davam certo.
16
2.3.2
Manifesto Ágil
Em uma reunião, no ano de 2001, 17 representante de diferentes
metodologias ágeis levantaram alternativas para o rigoroso desenvolvimento de
software orientado a documentação. Foi formada então a Aliança Ágil. Como os
membros representavam organizações concorrentes, não quiseram especificar
táticas detalhadas do projeto, mas chegar a um acordo sobre o apoio ao
desenvolvimento leve de software com alta qualidade. Assim, o Manifesto Ágil
é uma coleção de valores e princípios que pode se usada na maioria dos métodos
ágeis (KALERMO; RISSANEN, 2002).
O Manifesto Ágil ressalta o que mais tem valor para as metodologias
ágeis. Processos, contratos, documentação e planejamento tem valor para o
desenvolvimento de software, mas são menos importante do que saber como
lidar com pessoas, do que ter o cliente colaborando para encontrar a melhor
solução, do que entregar o software com qualidade e do que se adaptar às
mudanças (BASSI, 2008).
De acordo com Jacbson (2002), em um processo moderno de software,
tudo é agil. A capacidade que a equipe possui para responder adequadamente a
modificações é considerada como agilidade. Modificação no software que esta
sendo construído, modificações nos membros da equipe, modificações por causa
de novas tecnologias, modificações de todas as espécies que podem ter impacto
no produto que eles constroem e no projeto que cria o produto.
Ainda há processos e ferramentas, documentação, negociação de
contratos, porém de forma reduzida e mais objetiva. Mas a ideia do “Manifesto
Ágil” foi redefinir as prioridades em um projeto de software. Minimizando
assim os riscos no desenvolvimento e gerenciamento de projetos de software
(SANTOS, 2011).
A filosofia ágil foi descrita em 12 princípios (AGILE ALLIANCE,
17
2012):

Princípio um: Nossa maior prioridade é satisfazer o cliente, a-
través da entrega adiantada e contínua de software de valor.

Princípio dois: Aceitar mudanças de requisitos, mesmo no fim
do desenvolvimento. Processos ágeis se adéquam a mudanças, para que
o cliente possa tirar vantagens competitivas.

Princípio três: Entregar software funcionando com frequência,
na escala de semanas até meses, com preferência aos períodos mais curtos.

Princípio quatro: Pessoas relacionadas a negócios e desenvolve-
dores devem trabalhar em conjunto e diariamente, durante todo o curso
do projeto.

Princípio cinco: Construir projetos ao redor de indivíduos moti-
vados. Dando a eles o ambiente e suporte necessário, e confiar que farão
seu trabalho.

Princípio seis: O Método mais eficiente e eficaz de transmitir in-
formações para, e por dentro de um time de desenvolvimento, é através
de uma conversa cara a cara.

Princípio sete: Software funcional é a medida primária de pro-
gresso.

Princípio oito: Processos ágeis promovem um ambiente susten-
tável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes
de manter indefinidamente, passos constantes.

Princípio nove: Contínua atenção à excelência técnica e bom de-
sign, aumenta a agilidade.

Princípio dez: Simplicidade: a arte de maximizar a quantidade
de trabalho que não precisou ser feito.
18

Princípio onze: As melhores arquiteturas, requisitos e designs
emergem de times auto-organizáveis.

Princípio doze: Em intervalos regulares, o time reflete em como
ficar mais efetivo, então, se ajustam e otimizam seu comportamento de
acordo.
Esses princípios podem ser resumidos em quatro valores [Beck et al,
2010]:

Indivíduos e interações ao invés de processos e ferramentas.

Software executável ao invés de documentação.

Colaboração do cliente ao invés de negociação de contratos.

Respostas rápidas a mudanças ao invés de seguir planos.
Dentre as metodologias ágeis iniciais, desenvolvidas num contexto
relacionado Manifesto Ágil destacam-se o Extreme Programming, Adaptive
Software Development, Feature Driven Development, Dynamic Systems
Development Method e Família Crystal para desenvolvimento de software,
Scrum para gerenciamento de projetos.
2.3.3
Conceitualização das metodologias
É importante que as Metodologias Ágeis tais como Extreme
Programming, Adaptive Software Development, Feature Driven Development,
Dynamic Systems Development Method, Família Crystal e Scrum sejam
conceitualizadas visando adequar o embasamento do leitor. Assim tem-se as
seguites definições:
 Método Extreme Programming (XP)
Extreme Programming (XP) é provavelmente visto como destaque na
maioria das metodologias ágeis de desenvolvimento. Originalmente definido
para atender às necessidades específicas de desenvolvimento de software
19
conduzido por equipes pequenas, preferencialmente 12 desenvolvedores, diante
de requisitos vagos e em mudança (SCHNEIDER; JONHTSON, 2005). Enfatiza
o desenvolvimento rápido do projeto e visa garantir a satisfação do cliente, além
de favorecer o cumprimento das estimativas (LIMBARDI, 2010).
As regras, práticas e valores da XP proporcionam um agradável
ambiente de desenvolvimento de software para os seus seguidores, que são
conduzidos por quatro valores: comunicação, simplicidade, feedback e coragem
(LIMBARDI, 2010). Resumidos da seguinte forma (PAULK, 2001):

Comunicação contínua com o cliente e dentro da equipe;

Simplicidade, atingido por um foco constante em soluções mi-
nimalistas;

Feedback rápido através de mecanismos como unidade e testes
funcionais, e

A coragem de lidar com os problemas de forma proativa.
A aposta da XP é melhor realizar algo simples no inicio projeto e pagar
um pouco mais para modificar o sistema no futuro do que implementar algo
complicado que talvez seja desnecessário no sistema, sempre considerando que
requisitos são mutáveis (LIMBARDI, 2010).
 Método ASD- Adaptive Software Development
Com base na teoria dos sistemas adaptativos complexos e apoiado por
sua experiência com Radical Software Development, Jim Highsnith criou o
ASD, um método de desenvolvimento de software que considera a incerteza e a
instabilidade dos requisitos e permite que o aprendizado aconteça durante o
desenvolvimento (BASSI, 2008).
O método ASD é destinado a desenvolvimento de sistemas complexos e
de grande porte. Esse método procura trabalhar as mudanças, decorrentes de
20
ambientes turbulentos, ao invés de confrontá-las. É interativo e incremental,
tendo o cliente sempre presente. Suas práticas estão focadas nessa adaptação às
mudanças (HIGHSMITH, 2002).
O apoio filosófico do ASD centra-se na colaboração humana e na autoorganização da equipe. Highsmith argumenta que uma abordagem de
desenvolvimento ágil, adaptativa, baseada em colaboração é “tanto uma fonte de
ordem em nossas interações complexas quanto à disciplina e a engenharia”. Ele
define um “ciclo de vida” ASD que incorpora três fases: especulação,
colaboração e aprendizado, como são visto na figura 2 (PRESSMAN, 2006).
Figura 2 - Ciclo de vida ASD
 Método DSDM – Dynamic System Development Method
O DSDM é um método ágil de desenvolvimento de software que oferece
ferramentas para construir e manter um sistema com o prazo apertado por meio
de prototipagem. O DSDM sugere uma filosofia de uma versão modificada do
21
princípio de Pareto. Neste caso, 80% de uma aplicação pode ser entregue em
20% do tempo que levaria para entregar a aplicação completa (PRESSMAN,
2006).
O DSDM procura executar o projeto ajustando os requisitos do sistema
ao tempo e aos recursos disponíveis, ao contrário do convencional, que tendo um
conjunto de requisitos, procura ajustar o tempo e os recursos para alcançar a
funcionalidade desejada (JÚNIOR, 2008). A filosofia do DSDM prega que
software não é desenvolvido perfeitamente pela primeira vez, por isso as
interações e a colaboração servem para chegar gradativamente ao resultado
esperado (BASSI, 2008).
 Método FDD – Feature Driven Development
O FDD foi originalmente concebido por Peter Coad e seus colegas como
um modelo prático de processo para a engenharia de software orientada a
objetos. Stephem Plamer e John Felsing estenderam a melhoram o trabalho de
Coad descrevendo um processo ágil e adaptativo que pode ser aplicado a
projetos de software de tamanho moderado e grande (PRESSMAN, 2006).
O inicio do ciclo do FDD é com a criação do modelo de objetos do
domínio do problema. Usando experiências de projetos anteriores, os
desenvolvedores criam a lista de funcionalidade. Logo após, planejam um plano
para cada funcionalidade e atribuem responsabilidades. Dividindo os
desenvolvedores em equipes pequenas desenvolvem as funcionalidades,
realizando repetidas interações de projeto e construção, como apresentado na
figura 3, com duração de no máximo duas semanas (GONÇALVES; REIS
FILHO, 2008).
22
Figura 3 - Modelo FDD
O diferencial do FDD está em sua combinação de práticas de
planejamento e gerencia de projetos, equilibrando conceitos de processos
tradicionais e processos ágeis (SANTOS, 2011).
 Método Família Crystal
Os métodos Crystal são focados nos talentos e nas habilidades das
pessoas, por isso permitem que o processo de desenvolvimento seja moldado
conforme as características específicas da equipe, mesclando a sua cultura de
trabalho com a proposta de desenvolvimento ágil (BASSI, 2008).
Na família Crystal as entregas são frequentes, envolvendo usuários e
clientes, reduzindo a necessidade de produtos intermediários. A equipe possui
bastante proximidade e integração, porém, os membros têm especialidades
distintas.
Depende-se de uma comunicação eficaz e um bom fluxo de
informação. Os projetos têm ciclos de desenvolvimento incremental com
liberação de versões de um a quatro meses. Após o término das iterações é
comum fazer uma reflexão sobre possíveis melhorias (PESSOA FILHO, 2011).
 Método Scrum
23
Scrum é um método ágil orientado a gerencia de projeto sua aplicação
não se limita apenas no desenvolvimento de software, qualquer contexto onde
um grupo de pessoas necessita trabalhar juntas para atingir um objetivo comum,
o Scrum pode ser aplicado (SALGADO et al, 2010).
O Scrum analisa as prioridades do projeto (Product Backlog), criando
grupos de entrega para o cliente. O Product Backlog é dividido em iterações
menores (Sprints) de duração máxima de trinta dias, como mostrado na figura 4.
Equipes pequenas, de até dez pessoas, e multidisciplinares são formadas para
trabalhar com as funcionalidades no inicio de cada Sprint. A equipe é
responsável pelo desenvolvimento desta funcionalidade (SOARES, 2004).
Figura 4 - Ciclo Scrun
Times de Scrum são projetados para aperfeiçoar flexibilidade e
produtividade. Para esse fim, eles são auto-organizáveis, multidisciplinares e
trabalham em iterações (SCHWABER; SUTHERLAND, 2010). Os times são
divididos em ScrumMaster, Product Owner e a Equipe
24
3
METODOLOGIA DE PESQUISA
A metodologia de pesquisa é um conjunto de métodos, técnicas e
procedimentos cuja finalidade é viabilizar a execução da pesquisa que tem como
resultado um novo produto, processo ou conhecimento (JUNG, 2009). Na
sequencia apresenta-se uma classificação do tipo de pesquisa e a discução dos
procedimentos metodológicos aplicados a sua execução.
3.1
Tipo de Pesquisa
Coforme Jung (2009), uma pesquisa pode ser classificada da seguinte
forma (figura 5): quanto a Natureza: i) Pesquisa Básica (gerar conhecimento sem
finalidades de aplicação) e ii) Pesquisa Aplicada (gerar conhecimento sem
finalidades
de
aplicação),
quanto
aos
Objetivos:
i)
Exploratória
(descobrir/inovar); ii) descritiva (como?); e iii) explicativa (por que?), quanto as
Abordagens: i) Quantitativa e ii) Qualitativa e quanto aos Procedimentos: i)
Survey; ii) Pesquisa-Ação; iii) Estudo de Caso Único ou Múltiplos; iv)
Operacional; e v) Experimental.
25
Figura 5 - Tipos de Pesquisa Científica (JUNG, 2009)
Além disso, as formas de coleta dos dados podem ser por meio de (i)
observação do participante, (ii) grupos de foco, (iii) entrevistas, (iv)
questionário, (v) experimentação e (vi) observação.
Neste contexto quanto à natureza, este trabalho classifica-se como
pesquisa aplicada, pois será utilizado a abordagem especifica para o
desenvolvimento do aplicativo. Quanto aos objetivos este trabalho classifica-se
como exploratório, pois busca o desenvolvimento de um protótipo inicial de
aplicação voltado as Metodologias Ágeis. Quanto à abordagem é classificado
como qualitativa, pois trata-se de uma concepção interpretativa da aplicação a
partir da base referencial. Quanto ao procedimento tem-se o conceito de
pesquisa-ação, associado ao design science methodology (HEVNER et al, 2004)
ou seja: desenvolvimento de um artefato (aplicação hipermídia) com a intenção
de melhorar o desenvolvimento educacional do usuário.
26
3.2
Procedimentos Metodológicos
Este trabalho iniciou-se com o interesse do pesquisador no estudo em
metodologias ágeis. Durante o processo de pesquisa houve a percepção de que
os textos encontrados eram muito densos, e de difícil compreenção, exigindo do
leitor um alto nível de conhecimento.
A partir deste ponto, foi despertada a ideia de utilizar-se uma linguagem
mais acessível ao publico e consideram a possibilidade do desenvolvimento da
aplicação na metodologia OOHDM.
Assim, buscou-se desenvolver todo um aplicativo educacional levandose em conta as fase do OOHDM, quais sejam: modelo conceitual, projeto
navegacional, design abstrato da interface e implementação.
O objetivo foi o desenvolvimento de um aplicativo hipermídia
educacional com o intuito de auxiliar o ensino e aprendizado de metodologias
ágeis. Para tal, procurou-se inicialmente entender o tema. Em seguida foi feita a
análise e o projeto do sistema, com intuito de melhor entender seu
funcionamento.
Seguindo OOHDM a primeira etapa foi à construção da modelagem
conceitual do aplicativo hipermídia utilizando o software DIA1.
A segunda etapa foi elaborada o projeto navegacional do aplicativo
hipermídia também utilizando o software DIA.
A terceira etapa foi desenvolvida o projeto abstrato de interface do
aplicativo hipermídia. Nesta etapa foi utilizado o GIMP 2.882.
Finalmente a ultima etapa do modelo OOHDM, a implementação. Foi
1
2
http://www.dia-installer.de/
http://www.gimp.org/
27
utilizado o software Multimedia Builder 4.9.83, uma ferrameta tradicional para o
desenvolvimeto de hipermídias, de propriedade da Media Center. A escolha
deste software foi a facilidade de encontrar fontes e tutoriais de como utilizar
esta ferramenta.
A projeto foi desenvolvido utilizando um computador com processador
Intel Core i3 @ 2.53 GHz, 2 GBs de memória RAM e sistemas operacionais
Windows 7 Ultimate e Ubuntu 12.04 Linux.
3
http://www.mediachance.com/mmb/
28
4
RESULTADOS E DISCUSSÃO
Neste capítulo é descrito o processo de modelagem e desenvolvimento
tendo como ponto de partida a modelo OOHDM. Este projeto é focado no
ensino-aprendizagem de Metodologias Ágeis, mas a aplicação pode ser
reutilizada com outros temas. Também será detalhada as etapas para o
desenvolviemto da hipermídia: modelagem conceitual, projeto navegacional,
projeto de inteface abstrata e a implementação pelo software Multimedia Builder
4.9.8.
4.1
Modelagem Conceitual
Nesta etapa, foi construído o modelo de classes, são demonstradas as
classes e os relacionamentos existentes entre elas. A Figura 6 ilustra o resultado
da modelagem conceitual utilizada para a construção do Aplicativo Educacional
de Metodologias Ágeis.
Figura 6 - Modelo Conceitual
29
A primeira classe conceitual apresentada ao usuário será o
“MenuPrincipal”, uma estrutura global de todo o sistema. Esta classe possibilita
ao usuário navegar pelas outras classes. O modo como o usuário poderá navegar
no sistema será detalhado na etapa “Projeto de Navegação”.
A seguir serão detalhados os componentes do modelo conceitual classes da aplicação. A Figura 7 ilustra de modo detalhado o “MenuPrincipal”.
Figura 7 - Classe conceitual "MenuPrincipal"
A classe “MenuPrincipal” possui os atributos “Título”, “Introdução” e
“Ilustração”. Onde, “Título” é utilizado para representar o título da página e
“Descrição” é utilizado para descrever a tela, ambos são atributos do tipo String.
Tem-se que “Ilustração” é do tipo imagem e indica uma ilustração do tema
abordado.
O detalhamento das classes conceituais “ConceitosBasicos”, e
“ValoresPrincipios” encontra-se na figura 8.
Figura 8 - Classes “ConceitosBasicos” e “ValoresPrincipios”
Estas classes é composta de subclasses da classe “MenuPrincipal”, e
possuem os mesmos atributos da mesma. Na classe “ConceitosBasicos”
encontram-se informações sobre a evolução dos métodos de construção de um
30
software. A classe “ValoresPrincipios” apresenta as características que definem
uma metodologia ágil.
A seguir serão mostradas as classes conceituais “XP”, “Scrum”, “FDD”,
“ASD”, “DSDM” e “Crystal”, representando o restante das classes do diagrama.
Figura 9 - Classes das metodologias ágeis
Estas classes possuem os atributos “Título”, “Descricão” e “Imagem”.
Assim como nas classes demonstradas anteriormente, o atributo ”Titulo” é
utilizado para representar o título da página, o atributo “Descricão” é utilizado
para representar a descrição da página e o atributo “Imagem” é utilizado para
representar, de forma não textual, o conteúdo e os ensinamentos da pagina
apresentada.
4.2
Projeto Navegacional
Após o desenvolvimento do modelo conceitual, foi realizado o Projeto
de Navegação. Esta etapa preocupou-se em elaborar a estrutura navegacional da
aplicação. Para este projeto foi considerada a visão navegacional dos usuários
com acesso total.
Apesar de algumas modificações, o projeto navegacional tem
características semelhantes ao modelo conceitual, pois é baseado sua estrutura.
Com novas alterações no esquema de desenvolvimento, as classes passaram a
31
ser chamadas de classes navegacionais. As classes navegacionais possuem
atributos diferenciados de navegação pelo sistema, como elos e âncoras, por
exemplo.
A seguir serão descritas as classes navegacionais do aplicativo,
destacando as alterações em relação às suas respectivas classes conceituais.
A figura 10 ilustra a classe navegacional “MenuPrincipal”, onde pode-se
notar que ela contem características da classe conceitual referente a mesma
classe.
Figura 10 - Modelo Navegacional "MenuPrincipal"
A classe navegacional “MenuPrincipal” possui o atributo “subclasse”
que é utilizado como uma âncora de acesso aos subsistemas: ValoresPrincipios,
ConceitosBasicos, XP, Scrum, FDD, ASD, DSDM e Crystal. Um exemplo
prático e de melhor entendimento do atributo Subsistemas, seria um menu de
acesso, onde os itens do menu são representados por este atributo e cada item
possibilita o acesso ao seu respectivo destino.
A Figura 11 demonstra uma classe navegacional dos subsistemas da
classe navegacional representada na Figura 10.
Figura 11 - Modelo Navegacional "ConceitosBasicos"
Essas classes se diferenciam da classe “MenuPrincipal” por possuírem
32
um atributo intitulado “Voltar”. Trata-se de um atributo do tipo âncora, que
possibilita ao usuário voltar a classe “MenuPrincipal”.
A figura 12 representa a classe navegacional denominada “XP (Extreme
Programming)”
Figura 12 - Modelo Navegacional "XP"
Na sequência tem-se as demais classes navegacionais (figura 13).
Figura 13 - Modelos navegacionais das classes de metodologias ágeis
A classe “XP”, assim como as demais classes, diferencia-se da classe
ilustrada na figura 11 pela inclusão dos atributos “Imagem” e “Video”. Estes
atributos são utilizados para representar um vídeo e uma imagem demonstrando
a página em questão.
4.3
Projeto Abstrato
33
Seguindo o modelo OOHDM, após o desenvolvimento do modelo
navegacional foi implementado o projeto abstrato. Que é um proto, pensando
como o aplicativo funcionara no seu termino. Para realizar esta etapa foi
desenvolvido um storyboard em software de apresentação , onde cada slide
representa uma tela da aplicação com espaços reservados para os elementos
visuais como textos, imagens, vídeos, títulos e âncoras.
O primeiro slide apresentado é o “MenuPrincipal”, representada pela
figura 14
Figura 14 - Design Abstrato "MenuPrincipal"
A classe “MenuPrincipal” possui um título com o nome do tema
abordado pelo slide apresentado em tela. Os botões são uma estrutura de
navegação para as outras classes associadas, ao clicar em um deles o slide
correspondente será exibido com seu conteúdo especifico e também uma
34
imagem ilustrativa do tema.
A figura 15 ilustra a classe “ConceitosBasicos”, são classes teóricas para
abordar os assuntos introdutórios ao tema central (Metodologias Ágeis).
Figura 15 - Design Abstrato "ConceitosBasicos"
As classe “ConceitosBasicos” possui um título com a mesma função
apresentada na figura 14, uma descrição com o conteúdo sobre o tema do slide e
um botão usado pra voltar a classe “MenuPrincipal”.
A figura 16 descreve o slide da classe “MetodologiaAgeis”. Esta classe
será usada para apresentar as metodologias ágeis XP, Scrum, FDD, DSDM, ASD
e Crystal.
35
Figura 16 - Design Abstrato "MetodologiaAgil"
Estas classes possuem o título e a descrição. Além de botões de acesso a
vídeos e botões de acesso a imagens relacionadas ao tema apresentado na classe
acessada, podendo conter mais de um botão para tais objetos. Tem-se ainda um
botão voltar, que direciona a navegação para a classe “MenuPrincipal”.
A figura 17 ilustra a subclasse “Valores”, e a subclasse “Principios”
possui o mesmo comportamento.
36
Figura 17 - Design Abstrato "Subclasses"
O que difere está subclasse da figura 16 é que ela possui dois botões de
navegação, um que retorna para a classe anterior a ela e o outro que retorna para
a classe “MenuPrincipal”.
4.4
Implementação
A ultima etapa do modelo OOHDM é a implementação do aplicativo
hipermídia, que utilizara a interface abstrata para desenvolvimento visual do
projeto e a criação dos elos desenvolvidos no projeto navegacional.
Para
desenvolvimento
do
aplicativo
foi
utilizado
o
software
“Multimedia Builder 4.9.8”, para ambiente Windows, visando o ensino de
metodologias ágeis.
A primeira interface apresentada é o menu principal, com o titulo
37
(Metodologias Ágeis), a ilustração que representa o tema e os botões de
navegação , como pode ser vista na figura 18.
Figura 18 - Interface gráfica "MenuPrincipal"
As próximas interfaces são muito semelhantes. O título é mantido,
mudando apenas o conteúdo exposto por ele, uma descrição sobre o tema
abordado pela interface e um botão de retorno acrescentado no canto inferior
direito, para retornar ao menu principal (figura 19).
38
Figura 19 - Interface gráfica "ConceitosBasicos"
Na figura 20 pode ser visto botões que dão acesso a vídeos e imagens
referentes ao tema. Essa interface será usada nas classes das metodologias XP,
Scrum, FDD, DSDM, ASD e Crystal.
39
Figura 20 - Interface grafica "Scrum"
Acessando os botões de vídeo ou de imagem será exibido o objeto na
interface. No caso de vídeo será exibido até seu fim na área da descrição. No
caso da imagem será exibido uma imagem na área de descrição
As figuras 21 e 22 ilustra esse elementos.
40
Figura 21 - Interface gráfica exibindo video
Figura 22 - Interface gráfica exibindo imagem
41
Às subclasses será adicionado um botão de retorno a classe anterior a
ela, além do botão de retorno ao início, como representado na figura 23.
Figura 23 - Interface gráfica subclasse
Esta subclasse é inserida para temas como por exemplo textos extras
para não sobrecarregar o usuário com muita informação.
Ao final tem-se todo o produto de software desenvolvido, atribuído ao
modelo OOHDM que associa documentação, facilidade de desenvolvimento e
reuso.
42
5
CONCLUSÕES
O trabalho apresentou os principais conceitos de hipermídia e
modelagem OOHDM para a construção de um aplicativo educacional. Foram
descritos também os conceitos de metodologias ágeis em uma associação com
conteúdo do aplicativo.
O desenvolvimento do aplicativo evoluiu com facilidade devido o uso
do modelo OOHDM na geração de artefatos criados pelo modelo conceitual,
projeto navegacional, projeto abstrato e implementação. Também foi pecebido
que estes documentos ajudam no reuso do projeto para o desenvolvimento de
outros aplicativos.
A ferramenta utilizada para o desenvolvimento foi o “Multimedia
Builder 4.9.8”, que demonstrou eficiência na implementação do modelo
OOHDM sendo de fácil adaptação quanto à modelagem visual.
Como trabalhos futuros, recomenda-se a adaptação do aplicativo para
dispositivos moveis.
43
Referências Bibliográficas
Bassi Filho, D. L., Experiências com Desenvolvimento Ágil. 2008, Instituto de
Matemática e Estatística, Universidade de São Paulo, 154 p.
Beck et al. Agile Manifesto. http://www.agilemanifesto.org/. Disponível em:
2001. Acesso em: 16/12/12.
Bertholdo, L.; Barban, L. R. C. F. Adaptação do Scrum ao Modelo
Incremental. 2010 Monografia apresentada como pré-requisito para conclusão
da Disciplina FT027 – Tópicos emComputação (Gestão de Projetos e
Qualidade)., Faculdade de Tecnologia ,Unicamp, Limeira, p. 18.
Borges, I. L. Modelagem e Desenvolvimento de uma Aplicação Hipermídia
para Projeto de Sistemas de Cabeamento Estruturado. Monografia de
graduação apresentada ao Departamento de Ciência da Computação da
Universidade Federal de Lavras para a obtenção do título de Bacharel de Ciência
da Computação, 97p, 2011.
Braga, D. B. (2005). Hipertexto Questões de Produção e de Leitura. Estudos
Linguísticos, 34, 756-761.
Brooks, F. No Silver Bullet: Essenceand Accidents of Software Engineering.
1987, Proc.IFIP, IEEE CS Press, pp. 1069-1076.
Bugay, E. L.; Ulbricht, V. R. Hipermídia. Florianópolis: Bookstore, 2000.
Carneiro, L. M. F., Coffin M. H., Cowarn, D. D., Lucena, C. J. P. ADVcharts: a
Visual Formalism for Highly Interactive Systems. ACM SIGCHI Bulletin, v.
26, n. 2, p. 74-77, 1994.
Cowan, D. D. , Lucena C. J. P. Abstract Data View: na Interface Specification
Concept to Enhace Design for Reuse. IEEE Transactions on Software
Engineering, v. 21, n. 3 p. 229-243, 1995.
Cunha, M. C. R. M. Autoria em Hipermídia: O Modelo OOHDM Aplicado
ao Ensino De Linguagens de Programação. Monografia de graduação
apresentada ao Departamento de Ciência da Computação da Universidade
Federal de Lavras para a obtenção do título de Bacharel de Ciência da
Computação, 84p, 2002.
de Assis, P. S., Schwabe, D., & Barbosa, S. D. Meta-modelos para Aplicações
de Hipermídia Adaptativa e Meta-adaptação. PUC, 2004.
Falkembach, G. A. M. Concepção e Desenvolvimento de Material Educativo
Digital. Renote-Rev Novas Tecnol Educ [periódico na Internet] 3.1 2005.
Fialho, A. T. S. Sistema Educacional Hipermídia para o ensino de Fisiologia
44
Animal – Modelagem e Implementação. Monografia de graduação
apresentada ao Departamento de Ciência da Computação da Universidade
Federal de Lavras para a obtenção do título de Bacharel de Ciência da
Computação, 73p, 2004.
França, R. N. Desenvolvimento de um sistema hipermídia educacional
aplicado a anatomia veterinária. 2005, Monografia de graduação em Ciências
da Computação da Universidade Federal de Lavras, p.67.
Gonçalves, E. S.; Reis Filho, H. B.; Ferramenta para Gerenciamento de
Requisitos em Metodologias Ágeis. 2008, HÍFEN, v. 32, n. 62, p. 148 – 155.
Guedes, J.R., Guedes, C. L. Software Hipermidia Para o Ensino de Sistemas
Operacionais. IV Congresso Brasileiro de Computação. Itajai-SC, 2004.
Hevner, A. R.; March, S. T.; Park, J. e Ram, S. Design Science in Information
Systems Research. MIS Quarterly, 28, 75-106, 2004. URL:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.1725&rep=rep1&
type=pdf
Higsmith, J. Agile Software Development Ecosystems. 2002. Estados Unidos:
Addison
Wesley,
p.
448,
(http://books.google.com.br/books/about/Agile_Software_Development_Ecosyst
ems.html?id=uE4FGFOHs2EC&redir_esc=y) acesso em: 27/02/2013
Jacobsin, I. A Resoursing ‘Yes’ to Agile Process – But Also More, Cutter IT
Journal, v. 15, n. 1, jan 2002.
Kalermo, J., e Rissanen, J. Agile software development in theory and
practice. 2002, tese de mestrado, Department of Computer Science and
Information Systems Jyväskylä, University of Jyväskylä, p. 188.
Libardi, P. L. O.; Barbosa, V., Metodologias Ágeis. 2010, Faculdade de
Tecnologia, Universidade Estadual de Campinas, 35 p..
Lima,V.M.B.: Autoria em hipermídia: o OOHDM, UFRJ, Dezembro 1994.
Melo, F. N. D. P.; Damasceno, M. M. C. Building an educational software
about the auscultation of breathing sounds. 2006, Revista da Escola de
Enfermagem da USP, 40(4), pp. 563-569.
Nielsen, J. Usability Engineering. 2 ed. Morgam Kaufman, 1993. 362 p.
Nunes, J. V., Gonçalves, B. S. Hipermídia para aprendizagem da língua
espanhola: avaliação qualitativa realizada por usuários/tutores. InfoDesign |
São Paulo | v. 8 | n. 3 [2011], p. 34 – 43 | ISSN 1808-5377
Paulk, M.C.; Extreme programming from a CMM perspective. 2001 IEEE
Software [0740-7459] ,v. 18, v.6, p 19 -26
45
Pessoa Filho, H. F. B.; Um estudo analítico entre as abordagens de
Engenharia de Requisitos nas Metodologias Ágeis XP, SCRUM e Crystal.
2011, Monografia em pós-graduação em ciência da computação, Centro de
Informática, Universidade Federal de Pernambuco, p. 26
Pressman, R. S. Engenharia de software. 6. ed. São Paulo: McGraw-Hill, 2006
xxxi, 720 p.
Rezende, F.; Cola, C. S. D. Hipermídia na Educação: Flexibilidade
Cognitiva, Interdisciplinaridade e Complexidade. Universidade Federal do
Rio de Janeiro. Disponível em: <http://www.fae.ufmg.br/ensaio/v6_n2/
rezendeecola.pdf>. Acesso em: 18 jul. 2006.
Rossi G. H. Um método Orientado a Objetos para projeto de aplicações
Hipermídia. PHD Thesis. PUC-RIO, Rio de Janeiro, 1996.
Salgado, A.; Melcop, T.; Acchar, J.; Rego, P. A.; Ferreira, A. I. F.; Katsurayama,
A. E.; Montoni, M.; Zanetti, D., Aplicação de um Processo Ágil para
Implantação de Processo de Software baseado em Scrum na Chemtech.
2010, IX Simpósio Brasileiro de Qualidade de Software, pp 351-358,
Santos, M. A.; AGILE UBPM FOR SCRUM: Modelo de aprimoramento do
gerenciamento e desenvolvimento ágil baseado na percepção de valor do
usuário. 2011, Monografia de graduação apresentada ao Departamento de
Ciência da Computação, Universidade Federal de Lavras, 159 p.
Sawn, K. Meskill, C. Using hypermedia in response-based literature
classrooms: a critical review of comercial applications. Journal of Reseach on
Computing in Education, 29 (2), 167-195, University ata Albany, 1996.
Schwabe, D. e Rossi, G.: OOHDM: An Object Oriented Hypermidia Design
Model, PUC-RJ , 1994.
Schwabe, D.: Autoria em hipermídia, Versão preliminar PUCRJ, Junho 1993.
Soares, M. S. Comparaçao entre metodologias Ageis e tradicionais para o
desenvolvimento de software. 2004, INFOCOMP Journal of Computer
Science, v. 3, n. 2, p. 8-13.
Soares, M. S., Metodologias Ágeis Extreme Programming e Scrum para o
Desenvolvimento de Software. 2004, RESI - Revista Eletrônica de Sistemas de
Informação, v. 3, p. 1-8.
Sutherland, J.; Schawber, K., The Scrum Papers: Nuts, Bolts, and origins of
an Agile Process. 2007, 181p.
Ulbricht, V. R., vanzin, T., gonçalves, M. M., Batista, C. R. Design de
hipermídia: proposta metodológica. In: 3º Conahpa, 2008, São Paulo/SP. 3º
46
Congresso Nacional de Ambientes Hipermídia para Aprendizagem, 2008.
Väanänen, K. Metaphor-Based user interfaces for Hyperspaces. In:
Workshop in Methodological Issues in the Design of Hypertext User
Interfaces. Darmstadt, Alemanha, Julho 1993
Zambalde, A. L., Alves, R.M. e Lopes, M.A.: Modelagem, autoria e análise de
usabilidade de aplicação hipermídia direcionada ao setor agropecuário,
UFLA, 1999.