• Nenhum resultado encontrado

TECNOLOGIAS E FERRAMENTAS

Para o desenvolvimento do módulo de apoio a aprendizagem foi necessária a utilização de uma ferramenta de desenvolvimento, uma linguagem de programação com um framework e dois plugins, uma linguagem de estilo e a linguagem de marcação para armazenamento, os quais são descritos a seguir.

3.2.1 NetBeans

A ferramenta de desenvolvimento utilizada neste trabalho foi o NetBeans, a escolha foi feita a partir de uma busca de uma ferramenta que desse suporte às tecnologias utilizadas no projeto, verificou-se então que o NetBeans alerta sobre falhas no código, realiza identação automática, completava automaticamente o código e é opensource. A Figura 16 mostra como foi o desenvolvimento do módulo de apoio à aprendizagem na ferramenta.

Figura 16. Desenvolvimento com a ferramenta NetBeans.

3.2.2 Javascript

Para realizar o desenvolvimento do módulo foi necessário utilizar uma linguagem de programação que fosse executada no lado do cliente (Figura 17) e que não interferisse no código da aplicação que utiliza o tutorial.

Figura 17. Visão geral das tecnologias web.

Fonte: Scorchsoft (2012)

A linguagem Javascript possui um número reduzido de tipos básicos, é interpretada pelo navegador, a tipificação é dinâmica, suporta os conceitos básicos de programação:

decisão, laço de repetição, funções, recursividade e exceções, também possui recursos avançados como listas dinâmicas contendo valores de tipos diferentes e manipulação do DOM (Document Object Model) (SILVA, 2010).

Apesar de o Javascript possuir todos os recursos necessários para desenvolver esse projeto, foi verificado que era possível otimizar o desenvolvimento através de um framework, com o jQuery seria possível manipular os elementos HTML, atribuir estilos no módulo de apoio a aprendizagem e ler o arquivo de dados com mais facilidade sem ter perda significativa de desempenho.

Com a utilização do jQuery foi possível incluir dois plugins, o jquery.cookie.js para criar, editar, recuperar e apagar os COOKIES utilizando apenas uma linha de código e o jqfloat.js para criar um efeito de flutuação na flecha do módulo de apoio a aprendizagem. Para gerar a janela do módulo foi necessário atribuir propriedades gráficas por jQuery através da linguagem CSS (Cascading Style Sheets).

Utilizando esses recursos é possível ter grande integração entre as bibliotecas e os COOKIES, pois todas as tecnologias conseguem se comunicar sem que haja interferência da tecnologia utilizada pelo software que está incorporando o módulo educacional.

3.2.3 XML

Tendo os recursos de desenvolvimento definidos foi necessário utilizar um modo de armazenamento que fosse independente de servidor e que fosse lido pelo jQuery, dentre as opções viáveis esteve o XML.

Segundo Deitel (2003), o XML é um recurso acessível aos desenvolvedores por ser simples de implementar, as linguagens de programação já possuem scripts para sua manipulação e as aplicações podem ser diversas. Uma das aplicações do XML é o armazenamento de dados, a principal vantagem é que ele pode ser lido por qualquer linguagem de programação e não depende de instalação para seu funcionamento.

Para validar os campos do arquivo de dados foi utilizado um XML Schema, conforme Quadro 10, neste formato é possível verificar o tipo aceito de cada atributo, se os elementos são obrigatórios ou então se é permitido uma sequência de dados ou apenas um elemento.

Quadro 8. XML Schema do arquivo de dados

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://www.w3schools.com"

xmlns="http://www.w3schools.com"

elementFormDefault="qualified">

<xs:element name="Tutoriais">

<xs:complexType>

<xs:sequence>

<xs:element name="Tutorial">

<xs:attribute name="TutorialId" type="xs:integer" use="required" />

<xs:attribute name="Nome" type="xs:string" use="required" />

<xs:element name="Licoes">

<xs:complexType>

<xs:sequence>

<xs:element name="Licao">

<xs:attribute name="LicaoId" type="xs:integer" use="required" />

<xs:attribute name="Titulo" type="xs:string" use="required" />

<xs:attribute name="Endereco" type="xs:string" use="required" />

<xs:attribute name="TextoExplicativo" type="xs:string" />

<xs:attribute name="Imagem" type="xs:string" />

<xs:attribute name="Avaliacao" type="xs:string" />

<xs:element name="Respostas">

<xs:complexType>

<xs:sequence>

<xs:element name="Resposta">

<xs:attribute name="Valor" type="xs:integer" use="required" />

<xs:attribute name="Legenda" type="xs:string" use="required" />

<xs:attribute name="Correta" type="xs:boolean" use="required" />

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:attribute name="TextoInstrucional" type="xs:string" use="required" />

<xs:element name="Elementos">

<xs:complexType>

<xs:sequence>

<xs:element name="Elemento">

<xs:attribute name="ElementoId" type="xs:integer" use="required" />

<xs:attribute name="Identificador" type="xs:string" use="required" />

<xs:attribute name="Valor" type="xs:string" />

<xs:element name="Acao" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value-"click"/>

<xs:enumeration value="change"/>

<xs:enumeration value="keyup"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

O Quadro 11 exemplifica o que foi descrito no XML Schema exibindo apenas a lição 1, essa lição faz parte do tutorial aplicado no teste com os alunos da disciplina de Engenharia de Software.

Quadro 9. Lição 1 do arquivo de dados aplicado no teste com o Sizify

<Licao>

<LicaoId>1</LicaoId>

<Titulo>O método</Titulo>

<Endereco>/</Endereco>

<TextoExplicativo>

Análise de Pontos de Função é o método padrão para medir o software do ponto de vista do usuário pela quantificação da funcionalidade fornecida.

A aplicação da técnica pode beneficiar para estimativa de custos e recursos de um projeto ou até mesmo para verificação do tamanho e benefícios de uma melhoria num software.

@enter@

A contagem pode ser realizada antes da codificação do software e não depende da linguagem da programação, ou seja, é possível ter os Pontos de Função (PF) de uma aplicação apenas com os Requisitos Funcionais do

Usuário.

</TextoExplicativo>

<Avaliacao>Um dos objetivos da Análise de Pontos de Função é:</Avaliacao>

<Respostas>

<Resposta>

<Valor>1</Valor>

<Legenda>Calcular quantas tabelas um sistema terá</Legenda>

<Correta>false</Correta>

</Resposta>

<Resposta>

<Valor>2</Valor>

<Legenda>Medir a funcionalidade que o usuário solicita e recebe</Legenda>

<Correta>true</Correta>

</Resposta>

<Resposta>

<Valor>3</Valor>

<Legenda>Ajudar no processo de depuração de um software</Legenda>

<Correta>false</Correta>

</Resposta>

</Respostas>

<TextoInstrucional>

Após responder a pergunta da lição o módulo educacional te indicará o que deve ser feito. Nesse tutorial nós vamos realizar uma Análise de Pontos de Função de um Sistema de Pedidos.

@enter@

Clique em "Nova Análise" para prosseguir.

</TextoInstrucional>

<Elementos>

<Elemento>

<ElementoId>0</ElementoId>

<Identificador>#bt-newana</Identificador>

<Valor></Valor>

<Acao>click</Acao>

</Elemento>

</Elementos>

</Licao>

Documentos relacionados