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.