Escolar Documentos
Profissional Documentos
Cultura Documentos
ABRAÃO ALMEIDA
ALESSANDRO BISPO DOS SANTOS
FELIPE SZMYHIEL
MAYCON DOS SANTOS NUNES
PAULO EDUARDO DEININGER MESSIAS ALVES
SILVIO RODRIGUES JESUS JUNIOR
São Paulo
2009
FACULDADE CARLOS DRUMMOND DE ANDRADE
ABRAÃO ALMEIDA
ALESSANDRO BISPO DOS SANTOS
FELIPE SZMYHIEL
MAYCON DOS SANTOS NUNES
PAULO EDUARDO DEININGER MESSIAS ALVES
SILVIO RODRIGUES JESUS JUNIOR
São Paulo
2009
FACULDADE CARLOS DRUMMOND DE ANDRADE
ABRAÃO ALMEIDA
ALESSANDRO BISPO DOS SANTOS
FELIPE SZMYHIEL
MAYCON DOS SANTOS NUNES
PAULO EDUARDO DEININGER MESSIAS ALVES
SILVIO RODRIGUES JESUS JUNIOR
Prof. Dr.
Faculdade Carlos Drummond de Andrade
Prof. Dr.
Faculdade Carlos Drummond de Andrade
2 Educação a distância 18
2.1 Tipos de Educação a distância . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 E-Learning 19
3.1 Vantagens e desvantagens do E-Learning . . . . . . . . . . . . . . . . . . . 19
3.2 E-Learning Sı́ncrono X Assı́ncrono . . . . . . . . . . . . . . . . . . . . . . 20
7 Gerenciamento de Projetos 26
8 Engenharia de Software 28
8.1 Modelagem de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2 Programação Orientada a Objetos . . . . . . . . . . . . . . . . . . . . . . . 29
8.3 Unified Modeling Language (UML) . . . . . . . . . . . . . . . . . . . . . . 29
8.4 Diagramas da UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.4.1 Diagrama de Casos de Uso (Use Cases Diagram) . . . . . . . . . . . 30
8.4.2 Diagrama de Classes (Class Diagram) . . . . . . . . . . . . . . . . . 30
8.4.3 Diagramas de Interação (Interaction Diagrams) . . . . . . . . . . . 30
8.4.4 Diagrama de Estados (State Diagram) . . . . . . . . . . . . . . . . 30
8.4.5 Diagrama de Atividades (Activity Diagram) . . . . . . . . . . . . . 30
8.4.6 Diagrama de Implementação (Deployment Diagram) . . . . . . . . 30
8.4.7 Diagrama de Pacotes (Package Diagram) . . . . . . . . . . . . . . . 31
Referências Bibliográficas 46
11
Lista de Figuras
1 Gerenciamento de projetos no RUP . . . . . . . . . . . . . . . . . . . . . . 26
2 Exemplo de processo em Engenharia de Software . . . . . . . . . . . . . . 28
3 Arquitetura geral do RUP . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Fluxo de trabalho do RUP . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5 Iteração do RUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6 Representação de papel do RUP . . . . . . . . . . . . . . . . . . . . . . . . 37
12
Lista de Tabelas
13
Lista de Abreviaturas e Siglas
ANS (Padrão Nacional Americano)
ANSI (Instituto de Padrões Nacional Americano)
CSS Cascading Style Sheet
HTML Hypertext MarKup Language
LMS Learning Menager System
Moodle Modular Object-Oriented Dynamic Learning Environment
PMBoK Project Management Body of Knowledge
PMI Project Management Institute
RUP Rational Unified Process
SCORM Sharable Content Object Reference Model
UML Unified Modeling Language
VWP Visual Web Pack
W3C Word Wide Web Consortium
XML Extensible Markup Language
14
1 Introdução
A finalidade deste capı́tulo é apresentar uma introdução sobre o trabalho desenvolvido, um
sistema de gerenciamento de questões que permite à professores compartilharem questões
entre outros professores e alunos e maior interatividade com ferramentas atuais de ensino
a distância, o Moodle. Para os alunos, trazer também o recurso da mobilidade com o
uso de um sistema que pode ser utilizado em dispositivos móveis, como celulares, e que
permite a realização de simulados das questões compartilhadas a fim de contribuir com
as técnicas utilizadas para ensino a distância.
Este capı́tulo é organizado da seguinte forma: nas motivações são apresentados os
problemas que motivaram o desenvolvimento; o objetivo descreve o propósito deste tra-
balho; nas justificativas são identificadas as razões para a elaboração, apresentando os
principais resultados esperados e suas contribuições; e a estrutura do trabalho apresenta
os capı́tulos do trabalho comentados.
1.1 Motivação
As provas são um meio de avaliação de alunos, independente de seu nı́vel de escolaridade,
para realização de concursos públicos e vestibulares. A preparação de uma prova pode
demandar muito tempo pois coletar, corrigir e revisar questões é um trabalho cansativo e
maçante(DOUGIAMAS, ). Caso o avaliador resolva utilizar certos critérios, tais como:
• Utilização de imagens;
Há também a questão do aluno, que precisa se preparar para exames. As atividades
são, um dos principais recursos que ajudam a fixar os conceitos aprendidos em sala de
aula. Garimpar questões em livros, apostilas e sites demandaria um tempo que poderia ser
gasto fazendo exercı́cios. Além disso, nos tempos de hoje, onde a questão da mobilidade
se torna tão importante para nossa integração com a tecnologia, os alunos precisam de
ferramentas que possibilitem estudar também onde quer que estejam, como na condução
enquanto vão para o trabalho por exemplo.
1.2 Objetivo
O desenvolvimento de um sistema que além de gerenciar uma base de dados de questões,
gerasse simulados e gabaritos, resolveria principalmente a questão do tempo gasto pelos
professores e alunos. Com a possibilidade de compartilhar informação entre os usuários,
1 INTRODUÇÃO 16
questões de vários lugares poderiam ser incorporadas a base de dados atual, enriquecendo-
a.
Auxiliar o ensino a distância trazendo recursos de mobilidade aos alunos para estu-
darem e maior interatividade entre os professores e alunos, facilitando o uso de tecnologias
como o Moodle.
1.3 Justificativas
Com o avanço tecnológico e uso de novas práticas de ensino, como o ensino a distância,
torna-se necessário o desenvolvimento de melhores ferramentas que auxiliem a integração
entre os diversos ambientes existentes hoje. O Moodle, importante ferramenta de ensino a
distância, com o auxı́lio deste sistema, será capaz de gerenciar melhor seus questionários,
importar e exportar questões entre si, compartilhar questões entre professores e alunos,
afim de melhorar todo o processo de aprendizagem.
Ferramentas de ensino a distância proporcionam ao aluno a capacidade de administrar
seu horário. O desenvolvimento de um sistema para dispositivos móveis contribuirá com
os alunos para que possam estudar por meio de simulados em qualquer local.
Atualmente, há poucos sistemas de geração de provas e exames que sejam populares
entre alunos e professores e que sejam fáceis de utilizar.
Referências
Esta seção apresenta uma lista de fontes de pesquisas utilizadas como referências
para este trabalho.
2 EDUCAÇÃO A DISTÂNCIA 18
2 Educação a distância
A legislação brasileira educacional define educação a distância como:
Uma forma de ensino que possibilita a auto-aprendizagem com a mediação de re-
cursos didáticos sistematicamente organizados, apresentados em diferentes suportes de
informação, utilizados isoladamente ou combinados e veiculado pelos diversos meios de
comunicação.(BRASIL,2005).
Para (MORAN, 2002) a Educação a distância é o processo de ensino-aprendizagem,
mediado por tecnologias, onde professores e alunos estão separados espacial e/ou tem-
poralmente. (MORAN, 2002) diz que é ensino/aprendizagem onde professores e alunos
não estão fisicamente juntos, mas podem estar conectados, interligados por algum meio
tecnológico, como a Internet.
3 E-Learning
Para (RODRIGUES, 2003) E-learning é uma modalidade de ensino a distância que pos-
sibilita a auto-aprendizagem, com a mediação de recursos didáticos sistematicamente
organizados, apresentados em diferentes suportes tecnológicos de informação, utilizados
isoladamente ou combinados, e veiculado através da internet. Alguns termos, apesar de
apresentarem certa diferença conceitual, na prática são utilizados como sinônimos de E-
learning. São eles: web training, web education, educação à distância via internet, ensino
controlado por tecnologia, ensino dirigido por computador etc. Em uma segunda instân-
cia, visa-se permitir que as Empresas e Instituições ligadas à Formação e Ensino, passem
a oferecer um leque de soluções de Formação mais abrangente e completo, por forma a
enriquecer e melhorar o nı́vel de qualidade. Em uma terceira instância, deve-se permitir a
conciliação entre os métodos de Formação tradicionais (Formação presencial) e os métodos
de Formação a distância, criando-se uma fusão entre os dois métodos, atingindo-se como
resultado os sistemas de Formação mistos.
eletrônica, rádio, televisão, telefone, fax, computador, internet, dentre outros), sendo
um termo abrangente, mantém a relação de discussão de tempo e espaço (distanci-
amento fı́sico) dentro o processo educacional, porém não é obrigatoriamente dentro
do ambiente Internet;
• realizada obrigatoriamente com Internet em papel principal como meio, pode ser
utilizada de forma sı́ncrona ou assı́ncrona. Tem como caracterı́sticas mais enfáticas
a velocidade na troca de informações, o feedback entre alunos e professores e o grau
de interatividade alcançado.
• Fácil instalação em qualquer plataforma que suporte o PHP. Exige apenas uma base
de dados
• A maioria das áreas de entrada de texto (recursos, postagens nos fóruns, etc.) podem
ser editadas usando um editor HTML WYSIWYG incorporado.
6.2.1 DragMath
O DragMath foi criado por (SANGWIN C.;BILLINGSLEY, ) da Universidade de Birmingham,
no Reino Unido. O DragMath permite que os alunos construam expressões matemáticas,
utilizando uma interface gráfica.
O DragMath é integrado com o Moodle através de um novo botão na barra de editor.
Com isso esse recurso esta disponı́vel em todos os lugares em que os alunos e professores
estiverem atuando.
Na Figura mostra-se a tela inicial do DragMath.
No APÊNDICE É mostrado a instalação e configuração desse recurso no Moodle.
6.2.2 JsMath
Segundo (CERVONE, ) JsMath é uma coleção de programas JavaScript, que torna possı́vel
a visualização matemática dentro de páginas da web. Ele funciona em vários browsers e
plataformas de hardware, sem a necessidade de downloads ou plugins adicionais por parte
do usuário. (no entanto, se o usuário instala um conjunto de fontes matemática, mas
que não é necessário.) Ao contrário de métodos que utilizam imagens para representação
matemática, as equações geradas por jsMath serão corretamente dimensionados em relação
ao texto, independentemente do tamanho da fonte definidos pelo usuário e podem até
mesmo redimensionar corretamente se o usuário alterar o tamanho das letras.
JsMath não utiliza MathML. O MathML não foi concebido para ser escritos dire-
tamente, e a partir disso deu-se a necessidade de um modelo que poderia-se facilmente
escrever e incluir, embora não tendo a exigir aos estudantes que utilizam um determinado
navegador ou baixar um software extra para poder vê-lo. Na época do desenvolvimento
do jsMath, apenas Mozilla já continha o MathML implementado diretamente, e no IE
poderia fazê-lo com um plugin.
No APÊNDICE É mostrado a instalação e configuração desse recurso no Moodle.
7 GERENCIAMENTO DE PROJETOS 26
7 Gerenciamento de Projetos
O Gerenciamento de Projeto de Software é a arte de confrontar os objetivos da concorrên-
cia, gerenciar riscos e superar obstáculos para liberar com êxito um produto que atenda
às necessidades dos clientes e dos usuários. O fato de que tão poucos projetos sejam
indiscutivelmente bem-sucedidos é o comentário suficiente sobre a dificuldade da tarefa
(RATIONAL, 2001).
Entretanto, essa disciplina do RUP não tenta cobrir todos os aspectos do gerencia-
mento de projeto. Por exemplo, ela não cobre problemas como:
• Gerenciamento de risco;
8 Engenharia de Software
A Engenharia de Software emergiu na década de 70 e vem evoluindo significativamente nas
últimas décadas procurando estabelecer técnicas, critérios, métodos e ferramentas para a
produção de software, em consequência da crescente utilização de sistemas baseados em
computação em praticamente todas as áreas da atividade humana, o que provoca uma
crescente demanda por qualidade e produtividade, tanto do ponto de vista do processo de
produção como do ponto de vista dos produtos gerados(DóRIA, 2001).
O processo de engenharia de software2 é o processo de desenvolvimento de um sistema
a partir dos requisitos, sejam eles novos (ciclo de desenvolvimento inicial) ou alterados
(ciclo de evolução)(??).
9.1.1 Iniciação
Os objetivos principais da fase de iniciação incluem:
• exibir, e talvez demonstrar, pelo menos uma opção de arquitetura para alguns
cenários básicos;
No fim na fase de iniciação está o primeiro marco mais importante do projeto ou Marco
dos Objetivos do Ciclo de Vida. Nesse momento, são analisados os objetivos do ciclo de
vida do projeto e decide-se prosseguir ou cancelar o mesmo.
9.1.2 Elaboração
A meta da fase de elaboração é criar a baseline1 do sistema. A arquitetura se desenvolve
a partir de um exame dos requisitos mais significativos e de uma avaliação de risco.
Os objetivos primários da fase de elaboração incluem:
9.1.3 Construção
A meta da fase de construção é esclarecer os requisitos restantes e concluir o desenvolvi-
mento do sistema com base na arquitetura da baseline.
Os objetivos principais da fase de construção incluem:
• atingir as versões úteis (alfa2 , beta3 e outros releases4 de teste) com rapidez e
eficiência;
• decidir se o software, os locais e os usuários estão prontos para que o aplicativo seja
implantado;
O marco Capacidade Operacional Inicial determina se o produto está pronto para ser
implantado em um ambiente de teste beta.
9.1.4 Transição
O foco da Fase de Transição é assegurar que o software esteja disponı́vel para seus usuários
finais.
Os objetivos principais da Fase de Transição são:
• Teste beta para validar o novo sistema em confronto com as expectativas do usuário;
2
alfa é uma versão de software ainda em teste. O software pode sofrer alterações radicais.
3
beta é uma versão gerada à um grupo de teste. Possui a maioria das caracterı́sticas da versão final
mas pode possuir bugs(defeitos) que o tornam impróprio para utilização profissional.
4
release é uma notificação formal da versão de software que tenha se tornada pública.
9 RATIONAL UNIFIED PROCESS (RUP) 35
• teste beta e operação paralela relativa a um sistema legado5 que está sendo substi-
tuı́do;
No fim na fase de transição está o quarto marco mais importante do projeto, o Marco
do Release do Produto. Nesse momento, você decide se os objetivos foram atendidos, e
se outro ciclo de desenvolvimento deve ser iniciado.
9.2.2 Papéis
Um papel define um conjunto de comportamentos ou responsabilidades que um indivı́-
duo ou uma equipe pode adquirir ao longo do processo de desenvolvimento estabelecido
pelo RUP, conforme exemplo da Figura 6. Um mesmo indivı́duo pode assumir diversos
papeis ao longo do ciclo de vida de desenvolvimento. Os principais papéis do RUP são os
analistas, os testadores, os gerentes e os desenvolvedores.
9.2.3 Atividades
Cada papel possui um conjunto de atividades que definem o trabalho realizado por ele
(Figura 6). Cada atividade produz um resultado significativo para o contexto do projeto
e tem uma finalidade clara, normalmente expressa através da criação ou atualização de
um artefato.
9.2.4 Artefatos
Um artefato é um produto de trabalho do processo. Os papéis utilizam artefatos para
realizar atividades e produzem ou alteram artefatos ao executarem as atividades (conforme
ilustrado na Figura 6).
9 RATIONAL UNIFIED PROCESS (RUP) 38
9.2.5 Disciplinas
Uma disciplina é um conjunto de atividades relacionadas a uma mesma área de interesse.
O objetivo do agrupamento das atividades em disciplinas é facilitar a compreensão do
processo, tornando-o similar a uma perspectiva tradicional (modelo em cascata) em cada
disciplina.
O RUP apresenta as seguintes disciplinas:
10.2 W3C
O Word Wide Web Consortium(W3C) é um consórcio de empresas de tecnologia, fun-
dado por Tim Berners Lee em 1994. Possui diversos comitês que estudam as tecnologias
existentes para a apresentação de conteúdo na Internet e criam padrões de recomendação
para a utilização dessas tecnologias. Com a padronização, os programas conseguem aces-
sar facilmente os códigos e entender onde deve ser aplicado cada conhecimento expresso
no documento. Alguns exemplos de padrões são CSS, HTML e XML.
Com a utilização do padrão W3C o conteúdo produzido trará compatibilidade entre
Navegadores, tirando um bom fardo das mãos do desenvolvedores uma vez que apenas
navegadores que seguem este padrao executaram suas aplicações com perfeição.
A importância dos padrões W3C são notáveis pelas ferramentas de buscas de conteúdo
na internet onde desfrutarão desta padronização dando relevância a conteúdos publicados
validados pela W3C.
10 FERRAMENTAS E TECNOLOGIAS UTILIZADAS 40
10.3 XHTML
A XTML é uma reformulação da linguagem HTML(Hypertext MarKup Language) baseada
na XML(Extensible Markup Language). Em termos de sintaxe, a XHTML não é tolerante
como a HTML. Isso ocorre porque a XHTML utiliza as rı́gidas regras XML para realizar
as marcações em um documento.
As limitações da HTML levaram o W3C( desenvolvedor dos padrões e diretrizes para
a web) a partir para uma próxima etapa no desenvolvimento de linguagens de marcação,
criando a XHTML.
Essa nova Linguagem consiste em uma reformulação do HTML 4.01 baseada na XML
1.0, que hoje é bastante utilizada por permitir criação de marcação padronizada, além
de fazer a separação entra marcação e exibição. Com isso são resolvidos os problemas
existentes na HTML, como os listados a seguir.
10.4 CSS
A Cascading Style Sheet (CSS) é uma ferramenta utilizada para a construção da aparência
de paginas para web. permite o uso de uma técnica diferente da convencional (HTML
puro), possibilitando uma considerável redução no tempo de trabalho.
O recurso, que traduzido significa Folha de Estilo em Cascata, se tornou uma necessi-
dade para quem deseja ser um bom webdeveloper (desenvolvedor de paginas para internet)
e para quem quer criar qualquer projeto Web. Com isso é possı́vel o controle do layout
de vários documentos a partir de um simples arquivo CSS, onde a aplicação de diferentes
layouts podem servir para diferentes mı́dias(telas, impressoras).
10 FERRAMENTAS E TECNOLOGIAS UTILIZADAS 41
Devido a alguns navegadores não seguirem padrões W3C, foram desenvolvidos recursos
chamados CSS Hacks, onde regras são criadas para que os navegadores executarem e
manterem a padronização de exibição de conteúdos.
Com a utilização da CSS podemos obter a formatação separadas da HTML, trazendo
conforto para manutenções onde os arquivos de estrutura e formatação ficão distintos.
A codificação fica mais limpa e sem redundâncias, a facilidade de criação de classes
que herdam modelos de formatação ajuda a otimização de códigos HTML.
10.5 JavaScript
JavaScript é a linguagem de script criada pela Netscape em 1995, tendo sido lançada
com o navegador Netscape Navigator 2.0. Com seu lançamento, as paginas na Internet
começaram a ganhar vida, implementando um minimo de dinamicidade devido ao modo
como a linguagem acessa e manipula os componentes do seu ambiente hospedeiro(nesse
caso, o Natscape Navigator).
A linguagem Java Script é interpretada dando a liberdade ao programador de não
declarar uma variável antes de utiliza-la ou de adicionar novas propriedades e novos méto-
dos a um objeto a qualquer momento.
Em uma aplicação Web muitos processos que são executados pelo servidor de internet,
para retirar esta sobrecarga pode ser utilizado a linguagem JavaScript por exemplo na
validação de campos, este processo é feito pelo navegador do cliente onde os dados já
disparam tratados para o servidor. Além disso exibindo o código fonte da pagina todo
o código criado pode ser copiado por outras pessoas, isso pode facilitar a maneira de
descobrir falhas no código e aproveita-las para algum acesso restrito.
Exemplo: CPF sendo validado apenas no Cliente(navegador), existindo falha no código
o sistema armazenará um CPF inválido.
O JavaScript permite uma interação com o HTML, tornando possı́vel a manipulação
de vários elementos e a criação de recursos diversos em uma página que o HTML, por si
só, é incapaz de realizar.
Além disso a disponibilidade de editores, bibliotecas e depuradores de alta qualidade.
10.6 JQuery
JQuery é uma biblioteca em JavaScript que ajuda desenvolvedores web e designers adi-
cionar dinâmicos e interativos elementos para os seus projetos que podem reduzir grande-
mente o tempo de desenvolvimento, sabendo que um vasto conteúdo de código fonte é
disponı́vel para uso, e aplicações sofisticadas com recursos dinâmicos é possı́vel obter.
Além disso a atualização geral de uma pagina não ocorre mais, apenas o conteúdo
necessário é carregado havendo menor tráfego de banda.
JQuery utiliza AJAX para manipulação de seus elementos, e trás compatibilidade
entre navegadores. Em uma aplicação Web os Códigos fonte desenvolvidos com esta
biblioteca ficam acessı́veis para o cliente, porem esta aplicação não executa caso os arquivos
JavaScript estiverem desabilitados pelo Navegador.
A velocidade no desenvolvimento, compatibilidade entre navegadores e a reusabilidade
de códigos fontes disponı́veis são pontos que destacam esta Biblioteca.
10 FERRAMENTAS E TECNOLOGIAS UTILIZADAS 42
10.7 Ajax
Ajax não é apenas uma tecnologia, são várias tecnologias: XHTML, CSS, Document
Object Modal(DOM), XML, XMLHttpRequest(XHR), JavaScript.
Segundo Jesse James Garrett, 2005 AJAX significa Asynchronous JavaScript And
Xml. Com a utilização do conjunto destas tecnologias os navegadores passam a fornecer
aplicações não mais apenas conteúdo.
A atualização geral de uma pagina não ocorre mais, apenas o conteúdo necessário é
carregado havendo menor tráfego de banda.
Assim como a Biblioteca JQuery o código fonte fica desprotegido, a aplicação não
executa caso os arquivos JavaScript estiverem desabilitados pelo Navegador.
Devido sua resposta rápida ser um diferencial, o tráfego da banda é menor e as apli-
cações podem ser mais flexı́veis e agradáveis para visualizar e manipular em um Naveg-
ador.
10.8.1 História
As origens do Tomcat remontam a metade da década de 1990, com o projeto Apache.
Originalmente desenvolvido por Rob McDool, na época no National Center for Super-
computer Applications (NCSA), ficou inicialmente conhecido como NCSA Project Web
Server.
O nome Apache surgiu após a saı́da de MCDool. Um grupo de desenvolvedores da
NCSA se reuniu e aplicou diversos melhoramentos e correções (patches) no código. Em
abril de 1995, uma nova versão foi lançada, agora com o nome de Apache, que é um
acrônimo para ‘A PAtCHy Web Server‘
A Sun Microsystems criou o primeiro Servlet Container, chamado Java Web Server,
que demonstrava como a tecnologia funcionava. Por sua vez, a ASF (Apache Software
Foundation) desenvolvia o JServ, outro Servlet Container, que se integrava ao Apache.
Em 1999, a Sun Microsystems doou o código fonte de seu projeto para a ASF. Os
dois projetos foram fundidos e assim nasceu o Apache Tomcat.(CHOPRA; LI; GENENDER,
2007)
10 FERRAMENTAS E TECNOLOGIAS UTILIZADAS 43
10.9 JSP
JSP (Java Server Pages) é uma tecnologia criada para desenvolver páginas da internet
com conteúdo dinâmico, semelhantemente a linguagens como PHP e Perl.
Diferentemente de HTML, onde as página possuem um conteúdo dinâmico, as páginas
JSP podem mudar seu conteúdo com base nas reuisições do cliente, nas variáveis do
servidor, informações vindas de bancos de dados, entre outros fatores.
Uma página JSP contém marcações especiais, como a HTML. A diferença está no fato
de essas tags possibilitarem o servidor inserir dados na página dinamicamente. (BERG-
STEN, 2002)
10.10 MySQL
MySQL é um SGBDR (Sistema Gerenciador de Banco de Dados Relacional) rápido,
multi-tarefa, multi-usuário e robusto. Desenhado tanto para trabalhar com sistemas com
grandes quantidades de dados, como para pequenas aplicações.(MYSQL. . . , 2009)
10.11 XML
XML é um acrônimo para eXtensible Markup Language (Linguagem de marcação exten-
sı́vel). XML é derivada da SGML (Standard Generalized Markup Language). A entidade
responsável por definir os padrões da linguagem é a W3C (World Wide Web Consor-
tium).(HUNTER et al., 2007, pag. 7)
Apesar do nome, SGML nem XML são linguagens em si. São melhor entendidas como
metalinguagens usadas para construir outras linguagens ou vocabulários.(JACOBS, 2006,
pag. 2)
10.12 LaTeX
Este tópico visa apresentar sobre a utilização do LaTeX para o desenvolvimento não só
deste trabalho, mas também o motivo pelo qual foi utilizado para formatar as fórmulas
matemáticas para os questionários do sistema.
LaTeX é uma linguagem de macros para TeX, um programa de formatação de doc-
umentos para impressão baseado em uma linguagem de marcação criado por Donald E.
Knuth, um professor de matemática dos Estados Unidos que estava insatisfeito com a
qualidade gráfica das edições de seus livros.(TEX-BR, 2009)
O TeX é o mais antigo (desde 1983) sistema de processamento de textos ainda em uso
e também o único que está disponı́vel para todos os sistemas operacionais e o único capaz
de imprimir o mesmo documento em qualquer sistema sem perdas de formatação.
Estas vantagens, aliadas a facilidade para trabalhar com fórmulas matemáticas, gráfi-
cos e sı́mbolos esdrúxulos tornam os sistemas TeX e LaTeX muito apreciados por pessoas
que escrevem teses e livros técnicos nas áreas de ciências exatas porque somente através
de um sistema TeX ou LaTeX é possı́vel, a baixo custo, produzir documentos matemáticos
de qualidade tipográfica profissional.
LaTeX (pronúncia correta lay tech) é uma linguagem de macro que facilita o uso do
TeX por leigos (aliás a primeira sı́laba do nome se pronuncia exatamente igual à palavra
inglesa lay, que significa ”leigo”). Cada comando LaTeX é um atalho para um conjunto
de comandos TeX.
10 FERRAMENTAS E TECNOLOGIAS UTILIZADAS 44
• exportação para HTML através de programas como latex2html e tex4ht e para RTF
(latex2rtf);
• gerenciamento fácil (por padrão) de diferentes estilos de página para capa, folha de
rosto, ı́ndices, parte pré-textual, parte textual, páginas iniciais de capı́tulo, apêndice,
etc.;
Desvantagens
• Requer aprendizado, sendo necessário pelo menos um mês de treinamento até que o
usuário se sinta à vontade;
6
Índice Remissivo é uma lista em ordem alfabética dos diversos nomes e assuntos mencionados numa
obra, com a indicação de página, capı́tulo, contexto etc.
Referências
2009. Disponı́vel em: <http://www.netbeans.org/index pt BR.html>.
ADL.
CERVONE, D. P.
CHOPRA, V.; LI, S.; GENENDER, J. Professional Apache Tomcat 6. [S.l.]: Wiley
Publishing, 2007.
DOUGIAMAS, M.
DUTRA R. L.;TAROUCO, L. M. R.
GRADY, B.; RUMBAUGH, J.; JACOBSON, I. UML Guia do Usuário. [S.l.]: Elsevier,
2000.
JACOBS, S. Beginning XML with DOM and Ajax: From Novice to Professional. [S.l.]:
Apress, 2006.
SANGWIN C.;BILLINGSLEY, A.