UMA FERRAMENTA WEB PARA INTERAÇÃO COM DEFICIENTES AUDITIVOS

Tamanho: px
Começar a partir da página:

Download "UMA FERRAMENTA WEB PARA INTERAÇÃO COM DEFICIENTES AUDITIVOS"

Transcrição

1 CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO FABIELY ANDRIOLE RIZZI WILLIAM ALVES ROSA UMA FERRAMENTA WEB PARA INTERAÇÃO COM DEFICIENTES AUDITIVOS VILA VELHA 2010

2 FABIELY ANDRIOLE RIZZI WILLIAM ALVES ROSA UMA FERRAMENTA WEB PARA INTERAÇÃO COM DEFICIENTES AUDITIVOS Trabalho de Conclusão de Curso apresentado ao Centro Universitário Vila Velha como requisito parcial para a obtenção do grau de Bacharel em Ciência da Computação. Orientador: Vinícius Rosalen da Silva VILA VELHA 2010

3 FABIELY ANDRIOLE RIZZI WILLIAM ALVES ROSA UMA FERRAMENTA WEB PARA INTERAÇÃO COM DEFICIENTES AUDITIVOS BANCA EXAMINADORA Prof. Msc. Vinícius Rosalen da Silva Centro Universitário Vila Velha Orientador Prof. Msc. Erlon Pinheiro Centro Universitário Vila Velha Prof. Msc. Hudson Ramos Centro Universitário Vila Velha Trabalho de Conclusão de Curso aprovado em 25/11/2010.

4 Nós, Fabiely Andriole Rizzi e William Alves Rosa, autorizamos que a UVV, sem ônus, promova a publicação de nossa monografia em página própria na Internet ou outro meio de divulgação de trabalho científico. Data: / / Assinaturas:

5 Aos nossos pais pelo apoio irrestrito em todos os momentos de nossa vida. Às pessoas com deficiência auditiva e seus familiares que lutam pela igualdade de oportunidades, e que têm muito a nos ensinar sobre persistência e confiança. A todos que buscam um novo olhar para a questão da pessoa com deficiência.

6 AGRADECIMENTOS Agradecemos primeiramente à Deus, pela vida, por estar sempre em nossos caminhos, iluminando e nos guiando às escolhas certas. Aos nossos pais, que foram a base de tudo, nos apoiando em momentos difíceis com força, confiança, amor, nos ensinando a persistir em nossos objetivos e ajudando a alcançá-los. Aos nossos familiares, amigos e a todos que nos incentivaram e ajudaram ao longo dessa trajetória.

7 A voz dos surdos são as mãos e os corpos que pensam, sonham e expressam. As línguas de sinais envolvem movimentos que podem parecer sem sentido para muitos, mas que significam a possibilidade de organizar as ideias, estruturar o pensamento e manifestar o significado da vida para os surdos. Pensar sobre a surdez requer penetrar no mundo dos surdos e ouvir as mãos que, com alguns movimentos, nos dizem que para tornar possível o contato entre os mundos envolvidos se faz necessário conhecer a língua de sinais. Ronice Müller de Quadros

8 LISTA DE TABELAS 1 Tradução texto fonte para texto parcial Palavra relacionada com seu respectivo vídeo Resultado da tradução Cores

9 LISTA DE FIGURAS 1 Tela do FALIBRAS Tela do Dicionário de LIBRAS Tela do Player Rybená Tela do SOTAC Alfabeto brasileiro em LIBRAS Sinais de DESCULPAR, EVITAR E IDADE Componentes de um sistema de recuperação de informação Visão lógica do documento ao longo das fases de pré-processamento do texto Fluxograma passos do algoritmo RSLP Exemplo de declaração de regra do algoritmo RSLP Funcionamento da tradução Plataforma Java e suas edições Representação da divisão em camadas através do JEE Relacionamento entre Servlets, container e servidor web Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividade Cadastrar Palavra Diagrama de Atividade Excluir Palavra Diagrama de Atividade Criar Tópico Diagrama de Atividade Enviar Mensagem

10 21 Diagrama de Atividade Executar tradução da mensagem de texto para LIBRAS Diagrama de Sequência Cadastrar Palavra Diagrama de Sequência Editar Palavra Diagrama de Sequência Excluir Palavra Diagrama de Sequência Criar Tópico Diagrama de Sequência Enviar Mensagem Diagrama de Sequência Executar tradução da mensagem de texto para LIBRAS Tela Principal do JUDE Community Tela Principal do NetBeans IDE Tela Principal do MySQL Workbench Diagrama de Pacotes Diagrama de Classes do Domínio do Problema Diagrama de Classes de Gerência de Tarefas Diagrama de Classes de Gerência de Dados parte I Diagrama de Classes de Gerência de Dados parte II Modelo de Entidade e Relacionamento Diagrama de Classes de Interface com Usuário Ícones Tela Visualizar Palavras Tela Cadastro de Palavras Tela Lista de Tópicos Tela Novo Tópico Tela Tópico Acessado Tela Envio Mensagem de Texto Tela Envio Mensagem em LIBRAS

11 46 Tela Tradução da Mensagem Regras para redução do plural Regras para redução do feminino Regras para redução adverbial Regras para redução aumentativo-diminutivo Regras para redução nominal parte I Regras para redução nominal parte II Regras para remoção de vogais Regras para redução verbal parte I Regras para redução verbal parte II

12 LISTA DE SIGLAS API AVA DAO EaD EJB Application Programming Interface Ambiente Virtual de Aprendizagem Data Access Object Educação a distância Enterprise JavaBeans HTML HyperText Markup Language IBGE Instituto Brasileiro de Geografia e Estatística JDBC Java Data Base Connectivity JEE JME JMF JSE JSP Java Enterprise Edition Java Micro Edition Java Media Framework Java Standard Edition JavaServer Pages JUDE Java and UML Developer Environment LGP Língua Gestual Portuguesa LIBRAS Língua Brasileira de Sinais MER Modelo de Entidade e Relacionamento MVC Model-View-Controller PLN RI Processamento de Linguagem Natural Recuperação de Informação

13 RSLP Removedor de Sufixos da Língua Portuguesa SGBD Sistema Gerenciador de Banco de Dados SRI TI TIC Sistema de Recuperação de Informação Tecnologia da Informação Tecnologias de Comunicação e Informação UML Linguagem de Modelagem Unificada WWW World Wide Web XHTML extensible Hypertext Markup Language XML extensible Markup Language

14 SUMÁRIO RESUMO ABSTRACT 1 INTRODUÇÃO JUSTIFICATIVA OBJETIVO ESTRUTURA DOS CAPÍTULOS TRABALHOS CORRELATOS FALIBRAS DICIONÁRIO DE LIBRAS PLAYER RYBENÁ SOTAC REFERENCIAL TEÓRICO AMBIENTE VIRTUAL DE APRENDIZAGEM LIBRAS RECUPERAÇÃO DE INFORMAÇÃO Técnica de Stemming Métodos de Stemming Stemmers para a Língua Portuguesa PROCESSO DE TRADUÇÃO DA MENSAGEM EM PORTUGUÊS PARA LIBRAS

15 4 TECNOLOGIAS LINGUAGEM JAVA Plataforma JEE Java Servlets e JavaServer Pages BIBLIOTECAS DE CLASSE DO JAVA ESTUDO DE CASO ESPECIFICAÇÃO DE REQUISITOS Descrição do Mini-Mundo Diagrama de Caso de Uso Descrições de Caso de Uso Manter Palavra Manter Tópico Manter Mensagem Traduzir mensagem textual para LIBRAS ESPECIFICAÇÃO DE ANÁLISE Diagrama de Classes Diagramas de Atividade Diagramas de Sequência ESPECIFICAÇÃO DE PROJETO Linguagens e Ferramentas utilizadas Arquitetura do Sistema Domínio do Problema (DP) Gerência de Tarefas (GT) Gerência de Dados (GD) Interface com Usuário (IU) Padrões de Interface

16 5.3.4 Protótipo CONCLUSÃO CONTRIBUIÇÃO DAS PESQUISAS RETORNO PARA O GRUPO E TRABALHOS FUTUROS REFERÊNCIAS 85 ANEXO A -- REGRAS DE REMOÇÃO DOS SUFIXOS 88

17 RESUMO Este trabalho apresenta o desenvolvimento de uma ferramenta web para interação entre pessoas surdas e ouvintes com a utilização da tradução de textos da Língua Portuguesa para a Língua Brasileira de Sinais. São apresentados alguns trabalhos correlatos, que em sua maioria se resumem apenas à tradução de textos em Português para LIBRAS. Dessa forma, esta proposta visa criar uma possibilidade de interação entre as pessoas surdas com os demais indivíduos da sociedade, buscando contribuir não só para a inclusão digital, como também para inclusão social desses indivíduos. Palavras-chave: Interação. Tradução. LIBRAS.

18 ABSTRACT This paper presents the development of a web tool for interaction between deaf people and listeners people using the translation of texts from the Portuguese for the Brazilian Sign Language. We present some related work, which mostly boil down only to the translation of texts into Portuguese to LIBRAS. Therefore, this proposal aims to create a possibility of interaction between deaf people with other individuals in society, seeking not only contribute to digital inclusion, but also for social inclusion of these individuals. Keywords: Interaction. Translation. LIBRAS.

19 18 1 INTRODUÇÃO A Língua Brasileira de Sinais (LIBRAS) é a língua adotada pelos surdos no Brasil. Trata-se da maneira com a qual os surdos se comunicam entre si e com os ouvintes. A aprendizagem e aquisição dela são necessárias não apenas por parte dos surdos, mas também dos ouvintes [1]. Segundo dados do IBGE (IBGE-2000) cerca de de brasileiros são portadores de deficiências auditivas, de uma forma geral, sendo que são surdos. Estima-se que cerca de 60% conhecem a Língua Brasileira de Sinais, mas a comunicação entre surdos e ouvintes é difícil, uma vez que a grande maioria da população não a conhece [2]. Sendo assim, essa falta de comunicação dificulta a integração dos surdos com as demais parcelas da população, como também, o seu processo de aprendizagem. Vale destacar que essa capacidade de comunicação linguística apresenta-se como um dos principais responsáveis pelo processo de desenvolvimento da pessoa surda em toda a sua potencialidade, para que ela possa desempenhar seu papel social e integrar-se verdadeiramente na sociedade. Ultimamente, promover a inclusão social dos surdos e demais portadores de necessidades especiais tem sido tema de debate e objeto de estudo por parte de professores e profissionais das mais diversas áreas, tais como: educação, assistência social, informática na educação, psicologia, dentre outras. Como em diversas outras situações, as Tecnologias de Comunicação e Informação, as chamadas TIC, se usadas de forma adequada, têm buscado contribuir para solucionar, ou ao menos minimizar, os problemas enfrentados pela sociedade atual. Em relação aos portadores de necessidades especiais, as iniciativas ainda têm sido muito tímidas, mas começam a surgir, sejam através do desenvolvimento de sistemas tradutores de LIBRAS ou de ambientes computacionais com preocupações de

20 19 acessibilidade. Em relação à área de informática na educação, algumas iniciativas têm surgido, como a criação de ambientes computacionais interativos para a aprendizagem e aquisição da LIBRAS. Esses ambientes visam contribuir para uma maior interação e convívio entre surdos e ouvintes. No entanto, as iniciativas ainda são poucas, fazendo-se necessário o desenvolvimento de mais ambientes dessa natureza. Diante desse cenário, será apresentada uma ferramenta web para interação entre pessoas surdas com a utilização da tradução da Língua Portuguesa para a Língua Brasileira de Sinais. Diferentemente das ferramentas encontradas na literatura, que em sua maioria se resumem à tradução de textos em Português para LIBRAS, essa proposta cria também a possibilidade de interação entre pessoas surdas com os demais indivíduos de nossa sociedade, buscando contribuir não só para a inclusão digital, como também para a inclusão social dessa parcela da sociedade. 1.1 JUSTIFICATIVA Todas as pessoas ditas normais, e também uma grande proporção das pessoas com dificuldades especiais, aprendem a linguagem de uma forma semelhante e em um mesmo período de tempo. No entanto, não se pode esquecer as diferenças individuais, seja de uma pessoa surda ou ouvinte, que é o caso específico em questão, pois existem pessoas que apresentam dificuldades seletivas no aprendizado da linguagem. Nesse caso surgem as seguintes questões: a dificuldade é inerente à discriminação auditiva; o indivíduo pode não só apresentar problemas de compreensão, mas também articular as palavras de forma inadequada [3]. A capacidade de processar rapidamente mensagens linguísticas depende de um lóbulo temporal esquerdo intacto. Assim, danos a esta zona neural ou o seu desenvolvimento com algum tipo de anomalia, em geral, são suficientes para produzir problemas de linguagem [4]. Mesmo que muitos indivíduos apresentem dificuldades de inteligência linguística, esta não é simplesmente uma forma de inteligência auditiva, pois pessoas surdas podem adquirir a linguagem, dominando sistemas alternativos de comunicação. Desse modo, diz-se que a comunicação dos surdos se dá por sistemas de comunicação não-verbais, classificados em não-auxiliares e auxiliares. Os não-auxiliares baseiam-se em recursos do próprio indivíduo, sem outro suporte além do gesto, que

21 20 faz uso da anatomia visual e da anatomia da mão e do braço (línguas de sinais). Em contrapartida, sistemas auxiliares são todas as ajudas técnicas que servem de suporte à comunicação, seja um simples papel até as máquinas de escrever, chegando aos computadores e a outras tecnologias relacionadas, como sintetizadores de voz [4]. A Língua Brasileira de Sinais é considerada a linguagem natural dos surdos, na qual eles aprendem com mais facilidade e rapidez, além de terem acesso a uma linguagem completa, o que possibilita um desenvolvimento cognitivo e social adequado, entre outros tipos de desenvolvimento, adquirindo, assim, a língua materna do seu país como sua segunda língua [5]. É importante salientar que os surdos têm maiores dificuldades nos processos de interação. De um modo geral, o surdo não acessa a informação escrita como as pessoas ouvintes e apresenta muita resistência à escrita de textos e leitura de informações, devido ao fato da Língua Portuguesa não ser considerada sua língua materna. Acredita-se que a produção de um texto significativo pode ocorrer a par de um lento e cumulativo domínio gráfico, ou seja, essa produção é um meio de relação afetiva do indivíduo com a palavra escrita [6]. Portanto, a possibilidade da pessoa surda ter como fonte de apoio um sistema de tradução da Língua Portuguesa para LIBRAS visa à autonomia e pode trazer resultados significativos no que diz respeito ao processo de construção de conhecimento da linguagem. Esta capacidade também proporciona condições para o seu desenvolvimento cognitivo, além de aumentar as possibilidades de interação com outras pessoas e possibilitar o desenvolvimento social dos portadores de deficiência auditiva. Se essa interação for suportada por tecnologias, além da inclusão social pode-se também incluir digitalmente tais indivíduos, o que na sociedade atual torna-se algo, além de desejável, imprescindível. 1.2 OBJETIVO A partir das pesquisas realizadas foi possível perceber o quão escassos são os softwares voltados para auxiliar os deficientes auditivos no que diz respeito à sua forma de comunicação. São visíveis as dificuldades que os surdos têm para ler, escrever e compreender a Língua Portuguesa, já que sua língua materna é a Língua Brasileira de Sinais.

22 21 Dessa forma, o objetivo deste trabalho é o desenvolvimento de uma ferramenta web, um fórum de discussão que permite não só a tradução de mensagens na Língua Portuguesa para a Língua Brasileira de Sinais, como também o envio de vídeos contendo a mensagem em LIBRAS, funcionalidade esta que não foi observada em nenhum dos sistemas estudados. 1.3 ESTRUTURA DOS CAPÍTULOS A seguir é apresentada uma breve descrição sobre a organização dos próximos capítulos deste trabalho. No capítulo 2 são expostos alguns sistemas computacionais que serviram de apoio para a construção das ideias, contribuindo no desenvolvimento da ferramenta. O capítulo 3 contém um referencial teórico, apresentando a definição de Ambiente Virtual de Aprendizagem e os principais conceitos da Língua Brasileira de Sinais e suas representações. Também é feito um estudo sobre a área de Recuperação de Informação, dando ênfase em um dos processos realizados nos Sistemas de Recuperação de Informação - a etapa de pré-processamento do texto. Além disso, é explicado como será feita a tradução no fórum, da mensagem de texto em Português para LIBRAS, seguindo os conceitos mencionados anteriormente. O capítulo 4 relata um estudo das tecnologias que foram necessárias para o desenvolvimento do sistema, incluindo as bibliotecas de classe do Java que fornecem um conjunto de funções que serviram de suporte na construção da ferramenta. No capítulo 5 é feito um estudo de caso sobre o sistema proposto, envolvendo as fases de especificação de requisitos, de análise e de projeto, a fim de compreender o problema e obter um maior conhecimento a respeito das particularidades do negócio. O capítulo 6 contém a conclusão do trabalho, mostrando os pontos que foram abordados durante o mesmo. Além de serem apresentadas algumas sugestões de trabalhos futuros. Por fim, são apresentadas as referências dos trabalhos e conceitos que nortearam o desenvolvimento desta monografia.

23 22 2 TRABALHOS CORRELATOS Neste capítulo serão apresentadas algumas ferramentas computacionais, encontradas na literatura especializada, que promovem a tradução de textos do Português para a LIBRAS. 2.1 FALIBRAS O projeto FALIBRAS [2] foi concebido, inicialmente, como um sistema que ao captar a fala no microfone exibe, no monitor de um computador, a tradução do que foi dito em LIBRAS, na sua forma gestual, animada e em tempo real. O ambiente FALIBRAS possui recursos de autoria de tradutores e de tradução de textos na Língua Portuguesa para apresentações na forma gestual animada da Língua Brasileira de Sinais. O objetivo desse sistema é facilitar a comunicação entre ouvintes e surdos, além de facilitar a aprendizagem da Língua Portuguesa para portadores de deficiência auditiva, bem como o aperfeiçoamento dos conhecimentos de LIBRAS do usuário surdo ou ouvinte (por exemplo: intérpretes). Nesse ambiente existe um recurso para permitir a edição de textos a partir do reconhecimento da voz de uma pessoa no idioma Português. De uma maneira geral, o sistema capta a voz e a transforma em texto usando recursos do IBM Via voice [7]. Em seguida, esse texto é analisado por um interpretador que, além de corrigir a ortografia, definirá o contexto em que as palavras estão inseridas na frase, a fim de mostrar a tradução adequada em LIBRAS. Uma tarefa complexa desse processo é a tradução de Português para LIBRAS, pois, envolvendo duas línguas naturais, com todas as suas particularidades, faz-se necessário o uso de técnicas de processamento de linguagem natural. A Figura 1 apresenta o ambiente FALIBRAS.

24 23 Figura 1: Tela do FALIBRAS 2.2 DICIONÁRIO DE LIBRAS O site Acessibilidade Brasil [8] disponibiliza um dicionário on-line, feito em Flash, para divulgar, difundir e capacitar as pessoas para o uso da Língua Brasileira de Sinais, que é muito utilizada por grande parte dos deficientes auditivos, por suas famílias, amigos e profissionais de ensino e saúde. Este dicionário permite consultar palavras em Português, na qual são apresentados: o significado da palavra, um exemplo em uma frase, um exemplo em LIBRAS, o vídeo em LIBRAS e a classe gramatical da palavra. Consultas por assunto, onde é escolhida a palavra desejada, permitem a apresentação de diversas informações, tais como na consulta por palavras. Consultas por sinais de mão, em que é necessário escolher um dos 73 sinais mostrados na tela, permite visualizar uma lista de palavras para as quais o mesmo sinal é utilizado. E por fim, podem ser feitas consultas através de palavras-chave. A Figura 2 apresenta o Dicionário on-line disponibilizado pelo site Acessibilidade Brasil.

25 24 Figura 2: Tela do Dicionário de LIBRAS 2.3 PLAYER RYBENÁ O Player Rybená [9] é uma ferramenta proprietária e funciona como um tradutor que auxilia na compreensão do conteúdo de textos em Português. Este sistema é capaz de converter qualquer página da Internet ou texto escrito em Português para a Língua Brasileira de Sinais. Com este recurso no site os usuários podem selecionar com o mouse qualquer parte do texto do site e ver a tradução em LIBRAS por intermédio de um desenho animado. A Figura 3 apresenta um site que utiliza a ferramenta Player Rybená.

26 25 Figura 3: Tela do Player Rybená 2.4 SOTAC O SOTAC [10] é um ambiente desktop, que foi desenvolvido como uma dissertação de Mestrado do Programa de Pós-Graduação do Departamento de Informática da UFES. O ambiente apresenta uma proposta de tradução automática baseada em conhecimento, um sistema de autoria 1 e uso de tradutores automatizados para apoio à tradução, tendo como estudo de caso a tradução de Português para LIBRAS. Esse sistema possui um ambiente para manipulação dos elementos utilizados no processo de tradução automática e um para tradução automática de textos de uma língua-fonte, em forma de texto, para uma língua-alvo, em forma de texto, vídeo e/ou áudio. A Figura 4 apresenta a tela principal do SOTAC. 1 Um sistema de autoria possibilta a simplificação do processo de criação de um programa multimídia.

27 Figura 4: Tela do SOTAC 26

28 27 3 REFERENCIAL TEÓRICO Neste capítulo será apresentado um pequeno estudo sobre Ambiente Virtual de Aprendizagem, no qual pretende-se, como um projeto futuro, implantar a ferramenta desenvolvida. Além disso, serão apresentados alguns conceitos que são importantes para o entendimento do trabalho, definindo LIBRAS, algumas de suas características e um estudo sobre a área de Recuperação de Informação, contendo as etapas de pré-processamento de um texto e a técnica de stemming que será aplicada no desenvolvimento da ferramenta. A partir desses temas, será explicado como é feita a tradução no fórum, da mensagem em Português para LIBRAS. 3.1 AMBIENTE VIRTUAL DE APRENDIZAGEM É notável que o avanço tecnológico possibilitou uma nova realidade educacional: o ensino mediado por computador. A inserção do computador na educação provoca uma mudança de comportamento dos participantes do processo ensino-aprendizagem. Um de seus efeitos é o aumento crescente da quantidade de informação disponível e acessível aos alunos e professores. Paralelamente, surge a possibilidade de contato remoto entre os participantes do processo através da comunicação pela Internet. Desta forma, a sala de aula perde gradativamente suas fronteiras de tempo e espaço. Esse novo ambiente de aprendizagem favorece também a reflexão e a reformulação das metodologias de ensino praticadas nas escolas e nas universidades. Ambientes Virtuais de Aprendizagem são softwares educativos que permitem que ocorra o processo ensino-aprendizagem, através da mediação pedagógica entre alunos e professor ou um grupo de professores que se encontram geograficamente dispersos. Como ferramenta para Educação a distância (EaD), também podem ser utilizados para complementar aulas presenciais [11]. Os exemplos mais conhecidos destes tipos de ambientes são Moodle [12] e TelEduc [13].

29 28 No ensino a distância, o AVA é o espaço que organiza os recursos e ferramentas para acesso aos cursos e permite a interação com os conteúdos, realização de atividades de aprendizagem e a interação com o professor e colegas. Para ocorrer essa interação o AVA possui ferramentas de comunicação síncronas ou assíncronas. A comunicação assíncrona é aquela onde o receptor recebe a informação num tempo posterior, como exemplo tem-se as listas e os fóruns de discussão. Já a síncrona é a que possibilita que as pessoas se comuniquem em tempo real, como nos chats [11]. 3.2 LIBRAS A LIBRAS, língua materna dos surdos brasileiros, é uma língua visual-espacial articulada através das mãos, das expressões faciais e do corpo. A figura 5 representa o alfabeto brasileiro em LIBRAS. Figura 5: Alfabeto brasileiro em LIBRAS A LIBRAS, teve sua origem através do Alfabeto Manual Francês que chegou ao Brasil em 1856, sendo que estudos sobre essa língua foram iniciados no Brasil em Como é derivada tanto de uma Língua de Sinais autóctone quanto da língua gestual francesa, é semelhante a outras Línguas de Sinais da Europa e da América. A LIBRAS não é a simples gestualização da Língua Portuguesa, e sim uma língua à parte, como comprova o fato de que em Portugual usa-se uma Língua de Sinais diferente, a Língua Gestual Portuguesa (LGP) [1]. Ao contrário do que muitos imaginam, as Línguas de Sinais não são simplesmente mímicas e gestos soltos, utilizados pelos surdos para facilitar a comunicação. São

30 29 línguas com estruturas gramaticais próprias. A LIBRAS, como as Línguas de Sinais utilizadas em outros países ou como diversas línguas naturais e humanas existentes, apresenta organização, estrutura formal e gramatical próprias, e é composta pelos níveis linguísticos: fonologia, morfologia, sintaxe e semântica [14] [15]. Da mesma forma que nas línguas orais-auditivas existem palavras, nas Línguas de Sinais também existem itens lexicais, que recebem o nome de sinais. Assim sendo, para se comunicar em LIBRAS, não basta apenas conhecer sinais, é necessário conhecer a sua gramática para combinar as frases, estabelecendo a comunicação. Os sinais surgem da combinação de configurações de mão, movimentos e de pontos de articulação - locais no espaço ou no corpo onde os sinais são feitos, os quais, juntos compõem as unidades básicas dessa língua e expressam diferentes significados [16]. Logo, podem ser encontrados os seguintes parâmetros que formarão os sinais [1]: Configuração das mãos: são formas das mãos que podem ser da datilologia (alfabeto manual) ou outras formas feitas pela mão predominante (mão direita para os destros ou esquerda para os canhotos), ou pelas duas mãos. Os sinais DES- CULPAR, EVITAR e IDADE, apresentados na imagem 6, por exemplo, possuem a mesma configuração de mão (com a letra y). A diferença é que cada uma é produzida em um ponto diferente no corpo. Figura 6: Sinais de DESCULPAR, EVITAR E IDADE. Ponto de articulação: é o lugar onde incide a mão predominante configurada, ou seja, local onde é feito o sinal, podendo tocar alguma parte do corpo ou estar em um espaço neutro. Movimento: os sinais podem ter um movimento ou não. Por exemplo, os sinais PENSAR e EM-PÉ não têm movimento; já os sinais EVITAR e TRABALHAR possuem movimento.

31 30 Expressão facial e/ou corporal: as expressões faciais/corporais são de fundamental importância para o entendimento real do sinal, sendo que a entonação em Língua de Sinais é feita pela expressão facial. Orientação/Direção: os sinais têm uma direção com relação aos parâmetros acima. Assim, os verbos IR e VIR se opõem em relação à direcionalidade. A LIBRAS não dispõe de sinais para artigos, para a maior parte das preposições e conjunções do Português, já que o significado expresso por tais elementos está contido no próprio sinal. Os modos e tempos verbais, assim como os sufixos e prefixos, são produzidos por movimentos das mãos no espaço [16]. Dessa forma, a LIBRAS é representada na Língua Portuguesa a partir de regras básicas, que serão utilizadas no sistema desenvolvido. A seguir são apresentadas essas convenções [1]: Os sinais em LIBRAS são representados na Língua Portuguesa em letra maiúscula. Exemplo: CASA, INSTRUTOR; A datilologia usada para expressar nomes de pessoas, lugares e outras palavras que não possuem sinal, é representada pelas palavras separadas por hífen. Exemplo: M-A-R-I-A, H-I-P-Ó-T-E-S-E; Um sinal, que é traduzido por duas ou mais palavras em Língua Portuguesa, é representado pelas palavras correspondentes separadas por hífen. Exemplo: CORTAR-COM-FACA, QUERER-NÃO não querer, MEIO-DIA, AINDA-NÃO etc; Os verbos são apresentados no infinitivo. Todas as concordâncias e conjugações são feitas no espaço. Exemplo: EU QUERER CURSO; As frases obedecem à estrutura da LIBRAS, e não à do Português. Exemplo: VOCÊ GOSTAR CURSO? (Você gosta do curso?);

32 31 Na LIBRAS não há desinências para gêneros (masculino e feminino) e número (plural), o sinal, representado por palavra da Língua Portuguesa que possui estas marcas, termina com o para reforçar a ideia de ausência e não haver confusão. Exemplo: amiga(s) e amigo(s), muita(s) e muito(s), ela(s), ele(s), minha(s) e meu(s), etc. 3.3 RECUPERAÇÃO DE INFORMAÇÃO Recuperação de Informação (RI) é uma área da Ciência da Computação que lida com o armazenamento de documentos e a recuperação automática de informação associada a eles. É uma área de pesquisa relacionada à busca por informações em documentos, busca por documentos propriamente ditos e buscas em banco de dados [17]. Um sistema de Recuperação de Informação (SRI) pode ser estruturado conforme a figura 7 [18]. Figura 7: Componentes de um sistema de recuperação de informação O objetivo principal de um SRI é, basicamente, organizar uma coleção de documentos, receber do usuário consultas (que exprimem textualmente sua necessidade

33 32 de informação), processá-las e retornar ao usuário o máximo de documentos relevantes, ou seja, que contenham a informação desejada pelo mesmo [19]. A recuperação eficaz de informações relevantes está diretamente ligada tanto pela tarefa do usuário, quanto pela visão lógica dos documentos. Nem todas as palavras num texto são igualmente importantes para representá-lo semanticamente. Geralmente substantivos (ou grupos de substantivos) são mais representativos do conteúdo de um documento. Por isso, usar um conjunto de todas as palavras numa coleção para indexar os documentos gera muito ruído para a tarefa de recuperação. A fim de reduzir este problema, deve-se diminuir o conjunto de palavras usadas na representação do documento. Para tanto, uma das técnicas que pode ser utilizada é a de pré-processamento dos documentos numa coleção, que tem por objetivo diminuir o tamanho do vocabulário, o que leva a um melhor desempenho dos Sistemas de Recuperação de Informação. O pré-processamento pode ser dividido basicamente em cinco operações sobre os textos, que serão listadas logo abaixo [17]. Sendo que o sistema computacional proposto abordará as três primeiras operações. Análise Léxica: nesta etapa busca-se fazer um tratamento dos caracteres do texto, eliminando, por exemplo, espaços em branco, hífens, acentos, pontuações, etc. Eliminação de stopwords: as stopwords são palavras com pouco significado, tais como artigos, preposições, etc. Aplicação da técnica de Stemming das palavras restantes: a técnica de stemming busca reduzir uma palavra a sua raiz, eliminando seus sufixos e prefixos, permitindo a recuperação de variações sintáticas das palavras. Seleção de termos de indexação: nesta etapa são escolhidos os termos de indexação que melhor representarão um documento. Podem ser usadas todas as palavras ou escolher algumas mais significativas e isso pode ser feito de forma manual ou automática.

34 33 Construção de estruturas de categorização de termos: essa etapa é importante para a classificação de documentos. Estas construções, tais como thesaurus, tem como objetivo extrair estruturas diretamente representadas no texto, para permitir, por exemplo, a expansão de consultas. Thesaurus é uma lista précompilada de palavras importantes num determinado domínio de conhecimento, sendo que para cada palavra dessa lista, é criado um conjunto de outras palavras relacionadas. A figura 8 representa uma visão lógica do documento com o resultado obtido quando cada uma das fases acima está concluída. Conclui-se que ao utilizar as operações de pré-processamento em um texto é possível transformar a visão lógica dos documentos a partir de sua representação total do texto (full text) para a de um conjunto de termos de indexação de alto nível [17]. Figura 8: Visão lógica do documento ao longo das fases de pré-processamento do texto

35 Técnica de Stemming Stemmers são programas ou algoritmos que têm por objetivo reduzir palavras a uma forma comum de representação, chamada de stem (ou radical) através do processo de conflação, que significa fundir ou combinar as formas morfologicamente variantes de um termo [17]. A técnica de stemming consiste em reduzir as palavras aos seus radicais, através da remoção de seus afixos (sufixos e prefixos), de forma que palavras morfologicamente relacionadas sejam representadas por uma única forma comum, permitindo assim serem combinadas. Por exemplo, as palavras aprendo, aprendeu e aprendendo (todas formas derivadas do verbo aprender ) poderiam, através da remoção de seus sufixos, ser reduzidas ao stem aprend. Este radical não faz sentido como palavra na Língua Portuguesa, pois não é necessariamente o mesmo radical linguístico da palavra. Apesar disso, é possível manter informação suficiente sobre as palavras que o originaram, não perdendo precisão e permitindo recuperá-las em uma pesquisa [17]. Apesar das vantagens citadas, o uso de stemming pode causar erros que são divididos em duas categorias [20]: Overstemming ou excesso de radicalização: ocorre quando parte do stem também é removido na extração do sufixo, podendo resultar na conflação de palavras não relacionadas. Um exemplo é a remoção do sufixo inho (indicando diminutivo), que é correta na palavra filhinho, mas incorreta na palavra linho. Understemming: este erro ocorre quando o sufixo não é completamente removido da palavra, resultando em um stem incorreto. Por exemplo, a palavra referência cujo stem obtido é referênc, em vez de refer, que seria considerado o correto Métodos de Stemming São citados na literatura três métodos de stemming de palavras. Estes métodos são brevemente descritos a seguir [17]:

36 35 Consulta de dicionários: a ideia deste método é possuir um dicionário com todas as palavras de determinada língua e seus respectivos radicais. A palavra a ser processada é procurada no dicionário, e quando encontrada, consulta-se seu stem. Uma grande falha neste método é que obviamente não é viável identificar absolutamente todas as palavras e suas variantes de uma língua, além do ônus que representa armazenar tal dicionário, devido as suas dimensões. Se fosse possível criar este dicionário, este método de stemming certamente apresentaria os melhores resultados, pois seria exato. Variedade de sucessores: necessita de um corpus 3 definido antes do processamento das palavras. Este método utiliza substrings de uma palavra, contabilizando o número de caracteres que a sucedem nas palavras do corpus. Este número é a chamada variedade de sucessores, que será cada vez menor quanto mais longa for a substring utilizada. Este método é divido em três etapas distintas: determinação da variedade de sucessores, segmentação da palavra e, finalmente, a seleção do stem. Remoção de afixos (sufixos/prefixos): este método baseia-se na remoção de afixos das palavras, que resultam em seus respectivos radicais. Estes afixos são definidos em um conjunto de regras pré-definidas, que é verificado a cada palavra processada. Caso a palavra possua o prefixo ou sufixo definido na regra, ele é removido (ou substituído por outro, para remoção em uma regra posterior). Ao contrário do método de Variedade de Sucessores, a Remoção de afixos é dependente do vocabulário da língua, pois os afixos mais conhecidos devem ser definidos nas regras citadas. Além destas, podem existir também listas de exceções, que contêm palavras que não devem ter seus afixos removidos, evitando-se assim erros de overstemming. A maioria dos stemmers em uso baseiam-se neste método. 3 Uma coletânea de textos em formato eletrônico, compilada segundo critérios específicos, considerada representativa de uma língua (ou da parte que se pretende estudar), destinada à pesquisa.

37 Stemmers para a Língua Portuguesa Uma das características dos algoritmos de stemming que utilizam remoção de afixos é que estes são extremamente dependentes das línguas para as quais foram escritas, pois baseiam-se diretamente nas regras de formação de palavras de cada língua para detectá-los e removê-los [21]. A maioria destes algoritmos por terem sido desenvolvidos para a Língua Inglesa não apresentam um desempenho tão bom quanto o obtido sobre a língua original, quando aplicados a línguas derivadas do latim como o Português, pois estas são mais complexas gramaticamente. Além disso, a Língua Portuguesa apresenta inflexões que geralmente causam alterações profundas no radical das palavras, impedindo seu processo de conflação, no qual o stemming é baseado. Por este motivo, há a necessidade de se utilizar um stemmer especialmente projetado para o processamento de palavras escritas em Português. Dentre os algoritmos propostos para a Língua Portuguesa, três se destacam: a versão para o Português do algoritmo de Porter (2005); o algoritmo STEMBR, proposto por Alvares, Garcia e Ferraz (2005) e o Removedor de Sufixos da Língua Portuguesa (RSLP), proposto por Orengo e Huyck (2001). Sendo estes baseados no método de remoção de afixos. O desempenho desses três algoritmos foram medidos e comparados em vários trabalhos. O algoritmo RSLP, ao ser comparado com a versão para Português do algoritmo de Porter, é considerado mais eficiente, por cometer um número menor de erros de overstemming e de understemming. Ao ser comparado com o algoritmo de STEMBR, estes mostraram-se equivalentes, apresentando resultados praticamente idênticos na maioria das avaliações. Portanto, para a Língua Portuguesa, o algoritmo mais moderno e mais completo é o proposto por Orengo [22]. Dessa forma, a seguir apresenta-se um breve estudo sobre esses algoritmos, sendo que o algoritmo implementado por Orengo é o que será utilizado na ferramenta proposta neste trabalho Algoritmo de Porter O algoritmo original de Porter (1980) [23], projetado para a Língua Inglesa, é baseado em uma série de regras e condições aplicadas sequencialmente. Uma regra é definida na forma

38 37 (condição) sufixo1 -> sufixo2 onde: a) (condição) é uma condição a ser testada (por exemplo, tamanho da palavra restante após a remoção do sufixo1). b) sufixo1 é o sufixo a ser procurado na palavra sendo processada. c) sufixo2 é o sufixo a ser adicionado à palavra resultante da remoção de sufixo1. As regras são aplicadas caso o item b seja encontrado na palavra analisada e as condições definidas no item a sejam atendidas, sendo então o sufixo1 removido da palavra e substituído por sufixo2, caso este esteja definido. Assim, aplicando-se estas regras em uma sequência pré-definida, a palavra resultante será o stem da palavra original. São definidas ao total cinco regras, responsáveis pela remoção de sufixos de plural, sufixos de verbo e sufixos comuns [23]. A implementação do algoritmo de Porter para Português, apresentada posteriormente, segue o mesmo modelo do algoritmo original, possuindo também cinco regras básicas [23]: a) Regra de remoção dos sufixos comuns. b) Regra de remoção de sufixos verbais, executado caso a regra em a não tenha modificado a palavra. c) Regra de remoção da vogal i, caso precedida da consoante c no final da palavra. d) Regra de remoção de sufixos residuais ( os, a, i, o, á, í, ó ), executada caso ambas as regras a e b não tenham alterado a palavra. e) Regra de remoção dos sufixos e, é e ê, tratamento da cedilha e tratamento das sílabas gue, gué e guê. Antes das aplicações das regras, as vogais nasalizadas ã e õ são substituídas no termo por a~ e o~. Após a aplicação das regras, essas vogais nasalizadas são retornadas à sua forma original Algoritmo STEMBR O algoritmo STEMBR [24] foi proposto baseado em um estudo estatístico de onde

39 38 se obteve uma lista mostrando a frequência da última letra das palavras processadas. Ele se diferencia dos outros dois algoritmos analisados, pois realiza também a redução de prefixos. O algoritmo possui basicamente três módulos aos quais a palavra a ser processada é submetida [24]: a) Tratamento de casos específicos, onde os módulos b e c não devem ser aplicados, como verbos em suas formas irregulares de conjugação e palavras muito comuns (conhecidas como stopwords). b) Redução de prefixos, a partir de uma lista de prefixos conhecidos e suas execeções. c) Redução de sufixos, considerado o processo mais importante a ser executado. Consiste em um conjunto de regras, onde cada regra indica o sufixo a ser removido, o tamanho mínimo do stem resultante e uma lista de exceções, de forma similar ao algoritmo RSLP. Como será visto, este algoritmo guarda várias semelhanças como o RSLP apresentado a seguir Algoritmo Removedor de Sufixos da Língua Portuguesa (RSLP) Foi proposto por Orengo e Huyck (2001) [20] um algoritmo especialmente projetado para o Português, chamado de Removedor de Sufixos da Língua Portuguesa, ou RSLP. Sua arquitetura é similar a do algoritmo de Porter, no sentido de aplicar sucessivos passos de remoção de sufixos sobre uma palavra, definidos através de regras. A diferença é que, além de utilizar regras específicas para o Português, conta também com um dicionário de exceções, evitando assim remover sufixos de palavras cuja terminação é somente similar a um sufixo (por exemplo, o sufixo de diminutivo inho pode ser removido de passarinho, mas não da palavra linho, apesar desta terminar com uma sequência de caracteres idêntica ao sufixo em questão). O processo de stemming do RSLP é definido com uma sequência de oito passos de redução executados em uma determinada ordem. A figura 9 apresenta um fluxograma com estes passos [20].

40 Figura 9: Fluxograma passos do algoritmo RSLP 39

41 40 Cada passo possui um conjunto de regras (descritas no anexo A) que são examinadas em sequência, de forma que o maior sufixo possível é testado antes de um sufixo menor. Isso garante que, por exemplo, o sufixo s, pertencente a redução de plural, não seja incorretamente removido de uma palavra antes do sufixo es ser testado. Cada regra contém os seguintes itens [20]: a) O sufixo a ser removido; b) O tamanho mínimo para o stem resultante após a remoção do sufixo. Desta forma, evita-se assim remover sufixos de palavras muito pequenas, que resultariam em stems incorretos; c) O sufixo de substituição; d) E uma lista de exceções. Cada regra é declarada na forma apresentada na figura 10 [20]. Figura 10: Exemplo de declaração de regra do algoritmo RSLP As regras de um passo são testadas sucessivamente, verificando-se o sufixo da palavra processada. Se o sufixo da regra for encontrado, é conferido se a palavra não consta na lista de exceções daquela regra. Caso não conste, é verificado se o stem resultante da remoção do sufixo possui o tamanho mínimo requerido pela regra. Se possuir, o sufixo é removido, adiciona-se o sufixo de substituição e a execução deste passo é encerrada passando para o próximo. Caso a palavra conste na regra de exceções passa-se diretamente para a próxima regra. A seguir é descrito cada um dos oitos passos do algoritmo RSLP [20]: a) Redução de plural: com raras exceções, as formas em plural na Língua Portuguesa terminam em s. Entretanto, nem todas as palavras terminadas em s denotam plural, por exemplo lápis. Esta etapa consiste basicamente em remover o caracter s das palavras que não são listadas nas exceções. Outra exceção ocorre

42 41 com as palavras terminas em ns, onde seu sufixo é modificado para m, como bombons - bombom. b) Redução de feminino: esta etapa consiste em transformar as formas femininas para o seu correspondente no masculino, uma vez que todos os nomes e adjetivos da Língua Portuguesa possuem gênero. Somente as palavras terminadas em a são testadas nesta etapa, mas nem todas são convertidas, somente as que terminam nos sufixos mais comuns, por exemplo chinesa - chinês. c) Redução adverbial: esta é a menor de todas as etapas, só existe um único sufixo que denota advérbio - mente. Como nem todas as palavras terminadas com este sufixo são advérbios, então, uma lista de exceções também é necessária. d) Redução de aumentativo e diminutivo: nomes e adjetivos da Língua Portuguesa apresentam muito mais formas variantes do que seus equivalentes da Língua Inglesa. As palavras possuem formas aumentativas, diminutivas e superlativas. Esta etapa trata casos como a palavra cachorrinho, onde o seu sufixo inho é retirado. e) Redução nominal: este passo define 61 sufixos para substantivos e adjetivos. Caso a palavra seja reduzida neste passo, os passos indicados por f e g não são executados. f) Redução verbal: esta etapa reflete a complexidade da Língua Portuguesa em relação à Inglesa. São definidas 101 regras diferentes, pois os verbos regulares em Português têm mais de 50 formas, cada uma com um sufixo específico. Após a execução desta etapa o verbo é reduzido a sua raiz. g) Remoção de vogais: este passo consiste em remover a última vogal ( a, e ou o ) das palavras que ainda não passaram pelas etapas e e f, por exemplo a palavra menino não sofre modificações pelas etapas precedentes. Neste caso o final o é removido para que a palavra possua o radical menin. h) Remoção de acentos: a remoção de acentos é necessária porque existem casos em que algumas formas variantes de palavras são acentuadas e algumas outras não, como psicólogo e psicologia, depois desta etapa ambas as formas são reduzidas ao radical psicolog. É importante que esta etapa seja a última pois existem alguns casos que a presença da acentuação é significante para algumas regras, a exemplo da transformação óis para ol.

43 3.4 PROCESSO DE TRADUÇÃO DA MENSAGEM EM POR- TUGUÊS PARA LIBRAS 42 O diferencial desta ferramenta com relação aos sistemas estudados está em possibilitar a interação entre usuários que falam as línguas Português e LIBRAS, ao invés de permitir apenas a tradução de textos em Português para LIBRAS, oferecendo assim, uma participação mais ativa do usuário surdo, já que esse tipo de usuário poderá não só receber mensagens e traduzi-las, como também enviar mensagens em vídeo, funcionalidade esta que não foi observada em nenhum dos sistemas estudados. Dessa forma, esta seção apresenta como será realizado o processo de tradução da mensagem em Português para LIBRAS a partir das pesquisas realizadas sobre a estruturação da Língua Brasileira de Sinais e as operações de pré-processamento, descritos nas seções anteriores. No momento em que o usuário solicitar a tradução da mensagem em Português para LIBRAS, haverá uma recuperação dessas informações que serão transformadas no texto parcial pré-processado, ou seja, será feito um tratamento deste texto para que ele seja representado na estrutura de LIBRAS. Depois deste tratamento é que irão ocorrer as consultas das palavras no banco de dados, que retornarão os vídeos com os gestos em LIBRAS. Finalmente, em uma nova janela será apresentada uma sequência de vídeos em LIBRAS que corresponde à representação do texto parcial. Esse procedimento é retratado na Figura 11: Figura 11: Funcionamento da tradução Os elementos do processo apresentado na Figura 11 são descritos a seguir: Texto fonte: é o texto em Português a ser traduzido; Texto parcial: é o texto pré-processado, traduzido do texto-fonte, com as estruturas frasais em LIBRAS;

44 43 Vídeos: uma sequência de vídeos que corresponde à apresentação do texto parcial em LIBRAS, na forma gestual animada. A estruturação das frases em LIBRAS é diferente do Português, ou seja, não há desinências para gênero e número. Além disso, todos os verbos são no infinitivo. Portanto, assim como nos Sistemas de Recuperação de Informação, haverá um pré-processamento do texto fonte para transformá-lo em texto parcial. O préprocessamento aplicará todas as etapas vistas na seção 3.3, com exceção da quarta e quinta etapas. A primeira etapa é o tratamento da sequência de caracteres do texto, eliminando acentos, espaços em branco, pontuações, etc. A segunda etapa será a eliminação de stopwords, que tem por objetivo filtrar as palavras do texto em Português que sejam irrelevantes para a construção da frase em LIBRAS, como artigos, preposições e até algumas conjunções e verbos. A terceira etapa é a aplicação da técnica de stemming. Neste passo será aplicado o algoritmo RSLP descrito na seção Após o pré-processamento, as palavras restantes serão utilizadas para fazer a tradução do texto original para LIBRAS. A Tabela 1 apresenta um exemplo de resultado do tratamento do texto fonte para o texto parcial, após aplicadas as etapas de pré-processamento do texto, descritas anteriormente. Tabela 1: Tradução texto fonte para texto parcial Sentença em Português (Texto fonte) Sentença em LIBRAS (Texto parcial) O meu carro é verde. MEU CARR VERD Minha bicicleta é nova. MEU BICICLET NOV Eu gosto de sair. EU GOST SAIR A partir do texto parcial é que serão realizadas as consultas das palavras, no banco de dados, que retornará o seu respectivo vídeo, como mostra a Tabela 2. Caso a palavra não tenha uma ligação direta com um vídeo, ela será soletrada, ou seja, será apresentada uma sequência de vídeos em LIBRAS correspondente a cada letra da palavra.

45 44 Tabela 2: Palavra relacionada com seu respectivo vídeo Símbolo em LIBRAS Vídeo em LIBRAS MEU meu.avi CARR carro.avi VERD verde.avi BICICLET bicicleta.avi NOV nova.avi EU eu.avi GOST gostar.avi SAIR sair.avi O resultado da tradução do texto em Português para LIBRAS será apresentado como uma sequência de vídeos correspondente ao texto parcial em LIBRAS, como mostra a Tabela 3. Tabela 3: Resultado da tradução Sentença em Português Sentença em LIBRAS Sequência de Vídeos O meu carro é verde. MEU CARR VERD meu.avi carro.avi verde.avi Minha bicicleta é nova. MEU BICICLET NOV meu.avi bicicleta.avi nova.avi Eu gosto de sair. EU GOST SAIR eu.avi gostar.avi sair.avi

46 45 4 TECNOLOGIAS Neste capítulo serão apresentadas as tecnologias escolhidas como base para o desenvolvimento do sistema proposto, relatando as principais definições do estudo realizado. 4.1 LINGUAGEM JAVA Java é uma linguagem de programação orientada a objetos, desenvolvida por uma pequena equipe de pessoas na Sun Microsystems, na década de Inicialmente elaborada para ser a linguagem-base de projetos de software para produtos eletrônicos, Java teve seu grande boom em 1995, devido ao sucesso mundial da World Wide Web (WWW) [25]. A tecnologia Java começou a ser criada em 1991 com o nome de Green Project, nele trabalhavam James Gosling, Mike Sheridan e Patrik Naughton, e tinham como objetivo principal criar um interpretador para dispositivos eletrônicos [26]. No verão de 1992 eles emergiram de um escritório de Sand Hill Road no Menlo Park com uma demonstração funcional da ideia inicial. O protótipo se chamava *7 (StarSeven), um controle remoto com uma interface gráfica touchscreen, que tinha a habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou uma nova linguagem de programação para o *7 e decidiu batizá-la de Oak, que quer dizer carvalho, uma árvore que ele podia observar quando olhava pela sua janela [26]. O próximo passo era encontrar um mercado para o *7. A ideia que o *7 tentava vender, hoje já é realidade em programas interativos e também na televisão digital. Permitir ao telespectador interagir com a emissora e com a programação em uma grande rede a cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A ideia era certa, mas na época errada [26].

47 46 A sorte é que o boom da Internet aconteceu, e rapidamente uma grande rede interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. Então, Gosling foi incumbido de adaptar o Oak para a Internet e em janeiro de 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. A partir daí, a plataforma foi crescendo e ganhando força tornando-se hoje uma das mais usadas no mundo [27]. Este sucesso ocorre por ser uma linguagem de programação de alto nível e possuir diversas características que a tornaram tão popular. A seguir são descritas as suas principais características [26]: Orientação a objetos: programas em Java são baseados na composição e interação entre diversas unidades de software chamadas de objetos. Independente de platarforma: O byte-code gerado pelo compilador para uma aplicação específica pode ser transportado entre plataformas distintas que suportam Java (Solaris, Windows, Mac OS, Linux etc). Não é necessário recompilar um programa para que ele rode entre máquinas com sistemas diferentes. Segura: A presença de coleta automática de lixo (garbage collection) evita erros comuns que os programadores comentem quando são obrigados a gerenciar diretamente a memória. Os mecanismos de tratamento de exceções tornam as aplicações mais robustas. Suporte à concorrência: Permite de maneira fácil a criação de vários threads de execução amplamente usados em animações e processamento paralelo. Suporte para programação de sistemas distribuídos: Java fornece facilidades para programação de sockets, TCP/IP, chamadas de métodos remotamente, entre outras. Com o tempo, o Java foi amadurecendo e vislumbrando possibilidades em outros setores da indústria além da Internet e, reconhecendo a impossibilidade de criar uma plataforma única capaz de abranger completamente as demais áreas de mercado, a

48 47 Sun 2 dividiu a tecnologia em três edições, cada uma visando segmentos específicos de negócio [28]: JSE (Java Standard Edition): projetada para rodar em computadores pessoais (desktops) e estações de trabalho. JME (Java Micro Edition): especializada em pequenos dispositivos com memória, tela e poder de processamento limitados. JEE (Java Enterprise Edition): projetada com foco em aplicações para serem executadas no servidor. A figura 12 apresenta um diagrama com uma visão geral da plataforma Java: Figura 12: Plataforma Java e suas edições Plataforma JEE A arquitetura JEE foi desenvolvida sobre a plataforma JSE utilizando assim as APIs básicas para o desenvolvimento de programas e aplicações. Logo, herda todas as características que difundiram e consolidaram a tecnologia pela indústria de TI [29]. 2 A empresa Sun Microsystems foi comprada pela Oracle em janeiro de O acordo dá à Oracle a propriedade sobre a linguagem de programação Java e o sistema operacional Solaris.

49 48 JEE faz uso do modelo de aplicação multicamadas onde cada aplicação lógica é dividida em componentes de acordo com sua funcionalidade e vários componentes das aplicações podem ser instalados em diferentes máquinas dependendo da camada em que ele se encontra. Os componentes do JEE estão divididos em [30]: Aplicações cliente e applets: esses componentes encontram-se na camada do cliente. São eles os responsáveis pela interação do usuário com o sistema. Java Servlets e JavaServer Pages (JSP): ambas desenvolvidas em classes Java. Elas recebem uma requisição dinamicamente para depois construir a resposta para o navegador; normalmente, essas respostas geram páginas dinâmicas. Essas classes são gerenciadas por um container localizado na camada web. Enterprise JavaBeans (EJB): e o componente de negócio que roda no servidor JEE. Os componentes de negócios funcionam da seguinte forma: primeiro recebem uma requisição da aplicação cliente, processam essa requisição se necessário, e enviam uma resposta para as aplicações cliente. Esses componentes também podem recuperar dados armazenados, processá-los e enviá-los para as aplicações. A figura 13 ilustra o funcionamento da arquitetura JEE com suas camadas e componentes [30]. Figura 13: Representação da divisão em camadas através do JEE

50 Java Servlets e JavaServer Pages Servlets e JavaServer Pages são duas tecnologias criadas pela Sun para desenvolvimento de aplicações na web a partir de componentes Java que executam no lado servidor. Elas fazem parte da plataforma JEE que fornece um conjunto de tecnologias para o desenvolvimento de soluções escaláveis e robustas para a web [31]. No relacionamento cliente-servidor, o cliente solicita que alguma ação seja executada e o servidor a realiza e responde para o cliente. Esse modelo de comunicação solicitação-resposta é a base para as visualizações de nível mais alto de rede no Java Servlets e JavaServer Pages. As JSP s são uma maneira eficiente de implementar o mecanismo de solicitação-resposta da web sem entrar nos detalhes de nível mais baixo dos Servlets [32]. Os Servlets são classes Java responsáveis por receber requisições de formulários proveniente de uma página HTML (HyperText Markup Language), tratando os atributos passados por parâmetro e realizando a lógica apropriada para àquela requisição. Por fim, os Servlets ou geram uma nova página HTML de resposta para o usuário ou redirecionam o fluxo para uma nova página JSP [33]. Servlets não possuem interface gráfica e suas instâncias são executadas dentro de um ambiente Java denominado Container. O container gerencia as instâncias dos Servlets e provê os serviços de rede necessários para as requisições e respostas e atua em associação com servidores web recebendo as requisições reencaminhada por eles. Tipicamente existe apenas uma instância de cada Servlet, no entando, o container pode criar vários threads de modo a permitir que uma única instância atenda mais de uma requisição simultaneamente. A figura 14 fornece uma visão do relacionamento destes componentes [31]. Figura 14: Relacionamento entre Servlets, container e servidor web

51 50 As páginas JSP, foram criadas para contornar algumas das limitações no desenvolvimento com Servlets: se em um Servlets a formatação da página HTML resultante do processamento de uma requisição se mistura com a lógica da aplicação em si, dificultando a alteração dessa formatação, em uma página JSP essa formatação se encontra separada da programação, podendo ser modificada sem afetar o restante da aplicação [33]. Assim, um JSP consiste de uma página HTML com alguns elementos especiais, que conferem o caráter dinâmico da página. Esses elementos podem tanto realizar um processamento por si, como podem recuperar o resultado do processamento realizado em um Servlets, por exemplo, e apresentar esse conteúdo dinâmico junto a página JSP [33]. Na maioria dos casos as tecnologias de Servlets e JSP são intercambiáveis. Os Servlets fazem a comunicação entre clientes e servidores através do protocolo HTTP. Um cliente faz uma solicitação de HTTP ao servidor. O container de Servlets recebe a solicitação e a redireciona para ser processada pelo Servlet apropriado. O Servlet faz seu processamento, que pode interagir com o banco de dados ou com outros Servlets ou JSP no servidor. O Servlet retorna seus resultados ao cliente, normalmente na forma de documentos HTML, XHTML ou XML para exibir em um navegador. 4.2 BIBLIOTECAS DE CLASSE DO JAVA Esta seção tem como objetivo apresentar as bibiliotecas de classe do Java, também conhecidas como APIs Java (Application Programming Interface) que serviram de suporte na construção da ferramenta. Na maioria dos sistemas operacionais modernos, um corpo formado por código reusável é organizado e disponibilizado para simplificar o trabalho do programador. Este código encontra-se, normalmente, na forma de bibliotecas dinâmicas que a aplicação utiliza durante a sua execução. Como a plataforma Java não é dependente de qualquer sistema operacional, as aplicações não podem depender das bibliotecas destes sistemas. Ao contrário, a plataforma Java disponibiliza um grande conjunto padronizado de bibliotecas de classe, que contém praticamente o mesmo número de funções encontradas nos sistemas operacionais modernos [34]. Uma classe de biblioteca serve a três propósitos dentro da plataforma Java. Como

52 51 outras bibliotecas padrão, elas disponibilizam ao programador um conjunto de funções bem conhecidas que realizam tarefas comuns, como a manutenção de listas de elementos ou manipulação de strings. Em adição, a biblioteca contém uma interface para tarefas que dependem do hardware e do sistema operacional. Tarefas como acesso a rede e a arquivos são altamente dependentes das capacidades nativas do ambiente. Finalmente, se alguma plataforma não suportar alguma função que uma aplicação Java necessita, as bibliotecas implementam esta funcionalidade usando os recursos disponíveis, ou disponibilizam um meio consistente para que a aplicação verifique a presença de determinada funcionalidade [34]. Na ferramenta desenvolvida existe um módulo que permite ao usuário enviar um vídeo contendo a sua mensagem em LIBRAS, para isso ele irá fazer o upload de um arquivo de vídeo para postar no fórum. Para implementação do upload optou-se por utilizar a biblioteca Commons FileUpload do projeto Jakarta disponibilizado pela organização Apache. A API Commons FileUpload tornou fácil e robusta a capacidade de realizar uploads através de Servlets e aplicações web. O projeto Jakarta é um conjunto de componentes desenvolvidos em Java para auxiliar no desenvolvimento de aplicativos web [35]. Também foi empregada a API MySQL Connector, um driver nativo do Java que converte as chamadas geradas pelo JDBC (Java Data Base Connectivity) no protocolo de rede que utiliza a base de dados MySQL. Foi possível então interagir com a base de dados, de forma a ser feita as conexões necessárias para inserções e consultas dos dados armazenadas no SGBD [36]. Por fim, para a manipulação e exibição dos vídeos utilizados em alguns módulos da ferramenta, foi necessário fazer uso da API Java Media Framework (JMF). Esta biblioteca permite criar aplicativos Java que reproduzem, editam e capturam muitos tipos populares de mídia, além de ser uma arquitetura unificada e multiplataforma [37].

53 52 5 ESTUDO DE CASO Este capítulo tem como objetivo apresentar o sistema proposto como estudo de caso, um fórum de discussão que traduz mensagens de texto em Português para LIBRAS. Neste sistema serão utilizados os conceitos da Linguagem de Modelagem Unificada (UML). Esta linguagem é constituída de elementos gráficos (visuais) utilizados na modelagem que permitem representar os conceitos do paradigma da orientação a objetos. Através dos elementos gráficos definidos nesta linguagem pode-se construir diagramas que representam diversas perspectivas do sistema [38]. Desta forma, serão descritos os principais processos e etapas envolvidos no desenvolvimento deste fórum. Dentro dos processos citados incluem-se a fase de levantamento de requisitos, análise e projeto, responsáveis por estabelecer um conhecimento maior a respeito das particularidades do negócio. 5.1 ESPECIFICAÇÃO DE REQUISITOS A especificação de requisitos busca compreender o problema e levantar todas as necessidades do futuro sistema a ser desenvolvido, tendo como objetivo obter produtos de software de melhor qualidade que satisfaçam as reais necessidades do cliente. Esta seção foi desenvolvida usando a técnica de modelagem de casos de uso apresentando os diagramas de caso de uso, descrição dos casos de usos identificados e o mini-mundo, sendo este uma breve descrição do domínio do problema [38] Descrição do Mini-Mundo O administrador do sistema precisa manter os dados cadastrais das palavras e para isso deve-se armazenar os seguintes dados: nome da palavra e o nome do seu

54 53 respectivo vídeo em LIBRAS, contendo o sinal da palavra determinada. Estes dados ainda poderão ser visualizados, editados ou excluídos. O usuário da ferramenta irá usufruir das mesmas funcionalidades comum a qualquer outro fórum. Será possível criar um tópico contendo um título como tema e uma mensagem, sendo responsabilidade do sistema armazenar o usuário e data/hora de criação deste tópico. Existem duas maneiras de interação no fórum, através do envio de uma mensagem de texto ou o envio de um vídeo contendo a mensagem em LIBRAS, sendo que para essas duas formas de envio deverão ser informados o assunto da mensagem, destacando que será feito um upload da mensagem em vídeo a fim de realizar o seu envio. As mensagens que forem enviadas ao fórum poderão ser excluídas a qualquer momento pelo usuário que a enviou ou pelo administrador. Já os tópicos só poderão ser excluídos pelo administrador por uma questão de segurança. O diferencial deste fórum se encontra na possibilidade de tradução de uma mensagem de texto na Língua Portuguesa para Língua Brasileira de Sinais. Desta forma, cabe ao usuário escolher uma das mensagens de texto que foi enviada ao fórum e optar por traduzi-la. Em seguida, será apresentada uma sequência de vídeos em LIBRAS correspondente à tradução do texto Diagrama de Caso de Uso Um diagrama de caso de uso representa graficamente os atores, casos de uso e relacionamentos entre esses elementos e tem o objetivo de ilustrar quais elementos externos interagem com determinadas funcionalidades do sistema [38]. A figura 15 ilustra o diagrama de casos de uso referente ao sistema. Os atores desta ferramenta estarão divididos em dois perfis: o administrador, responsável pela manutenção das palavras cadastradas com seus respectivos vídeos em LIBRAS e a exclusão de um tópico ou uma mensagem; e o usuário, que utilizará as operações básicas da ferramenta, como criar um tópico, enviar uma mensagem textual ou em vídeo, excluir uma mensagem e traduzir uma mensagem de texto para LIBRAS.

55 54 Figura 15: Diagrama de Casos de Uso De acordo com a figura acima a ferramenta terá as seguintes funcionalidades: Cadastrar, editar, excluir e visualizar palavra: A fim de possuir um banco de palavras para a tradução do texto em Português para LIBRAS, será permitido ao administrador manter uma palavra em Português e associá-la ao seu respectivo vídeo, contendo os gestos em LIBRAS. Sendo operações possíveis: o cadastro, a visualização, edição ou exclusão desta palavra. Criar e excluir um tópico: Será possível ao usuário da ferramenta criar um tópico de acordo com o assunto que desejar, sendo que cada tópico terá suas respectivas mensagens. E por uma questão de segurança este tópico só poderá ser excluído pelo administrador do sistema. Enviar mensagem de texto: Será permitido ao usuário enviar uma mensagem de texto, que poderá ser visualizada por todos os participantes do fórum. Enviar mensagem em forma de vídeo: Será permitido ao usuário enviar o seu próprio vídeo contendo a mensagem em LIBRAS. Esta mensagem poderá ser visualizada por todos os participantes do fórum.

56 55 Excluir mensagem: A exclusão das mensagens do fórum, tanto textual, quanto em vídeo, só poderão ser efetuadas pelo administrador do sistema ou pelo usuário que enviou a respectiva mensagem. Traduzir mensagem textual para LIBRAS: Com esta funcionalidade na ferramenta, usuários surdos, ou até mesmo ouvintes, poderão escolher uma mensagem que foi enviada ao fórum e selecionar a opção para traduzi-la do Português para LIBRAS. Em uma nova janela será apresentada uma sequência de vídeos em LIBRAS que corresponde à tradução Descrições de Caso de Uso Nesta seção é feita uma descrição dos casos de uso apresentados no diagrama da seção Manter Palavra Sumário: Ator realiza a manutenção (inclusão, edição, exclusão e visualização) dos dados necessários para fazer a ligação entre cada palavra da LIBRAS escrita e seu respectivo vídeo na forma de representação em LIBRAS. Ator: Administrador. Pré-Condições: Ator deverá estar logado no sistema. 1. Fluxo Básico - Visualizar Palavra 1.1. Este caso de uso inicia quando o ator opta por visulizar as palavras cadastradas no sistema; 1.2. O ator pode escolher por incluir, editar ou excluir alguma palavra; ( A1 ) ( A2 ) ( A3 ) 1.3. Este caso de uso se encerra. 2. Fluxos Alternativos 2.1. (A1) - Cadastrar Palavra Este caso de uso inicia quando o ator opta por incluir uma nova palavra;

57 O ator insere os dados da palavra (Palavra e o arquivo de vídeo); O sistema faz a validação dos dados; ( E1 ) ( E2 ) O ator salva os dados da palavra; O sistema retorna uma mensagem de sucesso; O ator confirma a mensagem; Este caso de uso se encerra (A2) - Editar Palavra O ator opta por editar uma palavra já cadastrada; O ator insere os dados que deseja alterar; O sistema faz a validação dos dados; ( E1 ) ( E2 ) O ator salva os dados da palavra; O sistema retorna uma mensagem de sucesso; O ator confirma a mensagem; Este caso de uso se encerra (A3) - Excluir Palavra O ator opta por excluir uma palavra já cadastrada; O sistema solicita a confirmação da exclusão; O ator confirma; O sistema exclui os dados; O sistema retorna uma mensagem de sucesso; Este caso de uso se encerra. 3. Fluxos de Exceções 3.1. (E1) - Dados Obrigatórios Caso os dados obrigatórios não sejam fornecidos, é emitida uma men-

58 57 sagem de erro informando Retornar ao ponto em que foi chamado (E2) - Palavra já cadastrada O ator fornece os dados de uma palavra já cadastrada no sistema, é emitida uma mensagem de erro informando Retornar ao ponto em que foi chamado. Pós-condições: Uma palavra foi inserida, editada ou excluída Manter Tópico Sumário: Ator realiza a manutenção (inclusão e exclusão) dos tópicos criados ao fórum. Ator: Usuário ou admistrador. Pré-Condições: Ator deverá estar logado no sistema. 1. Fluxo Básico - Criar tópico 1.1. Este caso de uso inicia quando usuário opta por criar um novo tópico; 1.2. O usuário informa o assunto e a mensagem do tópico; 1.3. O usuário salva o novo tópico; ( E2 ) 1.4. O sistema retorna uma mensagem de sucesso; 1.5. O usuário confirma a mensagem; 1.6. Este caso de uso se encerra. 2. Fluxo Básico - Excluir Tópico 2.1. Este caso de uso inicia quando o administrador optar por excluir um tópico que foi criado; ( E1 ) 2.2. O sistema solicita a confirmação da exclusão; ( E2 )

59 O administrador confirma; 2.4. O sistema exclui o tópico; 2.5. O sistema retorna uma mensagem de sucesso; 2.6. Este caso de uso se encerra. 3. Fluxos de Exceções 3.1. (E1) - Tópico ainda tem mensagens Caso o ator tente excluir um tópico que ainda possui mensagens é emitida uma mensagem de erro informando Retornar ao ponto em que foi chamado (E2) - Erro no sistema Caso ocorra um erro no sistema e ele não consiga realizar a operação que foi pedida, é emitida uma mensagem de erro informando Retornar ao ponto em que foi chamado. Pós-condições: Um tópico foi criado ou excluído Manter Mensagem Sumário: Ator realiza a manutenção (inclusão e exclusão) das mensagens enviadas ao fórum. Ator: Usuário. Pré-Condições: Ator deverá estar logado no sistema. 1. Fluxo Básico - Enviar Mensagem 1.1. Este caso de uso inicia quando o ator está acessando um tópico e opta por enviar uma mensagem; ( A1 ) ( A2 ) 1.2. O ator envia a mensagem ao fórum; ( E1 )

60 O sistema retorna uma mensagem de sucesso; 1.4. O ator confirma a mensagem; 1.5. Este caso de uso se encerra. 2. Fluxo Básico - Excluir Mensagem 2.1. Este caso de uso inicia quando o ator opta por excluir uma mensagem que foi enviada ao fórum; 2.2. O sistema solicita a confirmação da exclusão; ( E1 ) ( E2 ) 2.3. O ator confirma; 2.4. O sistema exclui a mensagem; 2.5. O sistema retorna uma mensagem de sucesso; 2.6. Este caso de uso se encerra. 3. Fluxos Alternativos 3.1. (A1) - Enviar Mensagem Textual O ator opta por enviar uma mensagem textual em Português; O sistema exibe uma caixa de texto; O ator digita a mensagem; Retorna ao ponto em que foi chamado (A2) - Enviar mensagem em forma de vídeo O ator opta por enviar uma mensagem em forma de vídeo; O sistema exibe uma lista com os documentos que estão armazenados no computador local; O ator escolhe um vídeo da lista exibida; Retorna ao ponto em que foi chamado. 4. Fluxos de Exceções

61 (E1) - Erro no sistema Caso ocorra um erro no sistema e ele não consiga realizar a operação que foi pedida, é emitida uma mensagem de erro informando Retornar ao ponto em que foi chamado (E2) - Usuário não permitido Caso o ator que esteja tentando excluir a mensagem não seja o autor da mesma e nem o administrador do sistema, é emitida uma mensagem de erro informando Retornar ao ponto em que foi chamado. Pós-condições: Uma mensagem foi enviada ou excluída ou um tópico foi criado ou excluído Traduzir mensagem textual para LIBRAS Sumário: Realiza tradução de uma mensagem do fórum na Língua Portuguesa para LIBRAS. Ator: Usuário. Pré-Condições: Ator deverá estar logado no sistema. 1. Fluxo Básico - Executar Tradução de um Texto 1.1. Este caso de uso inicia quando o ator opta por traduzir uma mensagem de texto que foi enviada ao fórum; 1.2. O sistema faz um tratamento do texto (Descrito na seção 3.4); 1.3. O sistema faz uma consulta no banco de dados de acordo com as palavras da mensagem; ( E1 ) 1.4. O sistema traduz o texto para LIBRAS gerando uma sequência de vídeos; (RN01) 1.5. O sistema apresenta sequência de vídeos para o usuário contendo a

62 61 tradução da mensagem; 1.6. Este caso de uso se encerra. 2. Fluxos de Exceções 2.1. (E1) - Erro no sistema Caso ocorra um erro no sistema e ele não consiga realizar a operação que foi pedida, é emitida uma mensagem de erro informando Retornar ao ponto em que foi chamado. Pós-condições: Um texto em Língua Portuguesa foi traduzido para LIBRAS. Regras de Negócio Relacionadas: RN01 - Caso a palavra que deseja ser traduzida não seja cadastrada ela será soletrada, através de vídeos das letras do alfabeto em LIBRAS. 5.2 ESPECIFICAÇÃO DE ANÁLISE A análise corresponde à fase onde é realizado um estudo detalhado dos requisitos levantados e então são construídos os modelos que representam o sistema [38]. No sistema proposto será utilizada a abordagem da Análise Orientada a Objetos. Esta seção será dividida em três partes: na apresentação do diagrama de classes, dos driagramas de atividade e dos diagramas de sequência Diagrama de Classes O diagrama de classes representa a estrutura das classes de objetos do sistema e suas relações. Vale ressaltar que os dados relativos às classes usuário e tipo de usuário serão importados do Ambiente Virtual de Aprendizagem em que a ferramenta estiver inserida. A figura 16 ilustra o diagrama de classes do sistema.

63 Diagramas de Atividade Figura 16: Diagrama de Classes Um diagrama de atividade é um tipo especial de diagrama de estados, em que são representados os estados de uma atividade, em vez dos estados de um objeto. Os diagramas de atividade são orientados a fluxos de controle e podem ser vistos como uma extensão dos fluxogramas [38]. As figuras 17, 18, 19, 20, 21, ilustram os respectivos diagramas de atividade dos casos de uso cadastrar e excluir palavra, criar tópico, enviar mensagem e executar tradução da mensagem de texto.

64 63 Figura 17: Diagrama de Atividade Cadastrar Palavra Figura 18: Diagrama de Atividade Excluir Palavra

65 64 Figura 19: Diagrama de Atividade Criar Tópico Figura 20: Diagrama de Atividade Enviar Mensagem

66 65 Figura 21: Diagrama de Atividade Executar tradução da mensagem de texto para LIBRAS Diagramas de Sequência O diagrama de sequência descreve a maneira como os grupos de objetos colaboram em algum comportamento ao longo do tempo. Ele registra o comportamento de um único caso de uso e exibe os objetos e as mensagens passadas entre eles no caso de uso. Este diagrama dá ênfase à ordenação temporal em que as mensagens são trocadas entre os objetos de um sistema. Entende-se por mensagens os serviços solicitados de um objeto a outro, e as respostas desenvolvidas para as solicitações [38]. As figuras 22, 23, 24, 25, 26, 27 ilustram os diagramas de sequência dos casos de uso cadastrar, editar e excluir palavra, criar tópico, enviar mensagem e executar tradução da mensagem de texto.

67 66 Figura 22: Diagrama de Sequência Cadastrar Palavra Figura 23: Diagrama de Sequência Editar Palavra Figura 24: Diagrama de Sequência Excluir Palavra

68 67 Figura 25: Diagrama de Sequência Criar Tópico Figura 26: Diagrama de Sequência Enviar Mensagem Figura 27: Diagrama de Sequência Executar tradução da mensagem de texto para LIBRAS

69 ESPECIFICAÇÃO DE PROJETO Esta seção contém a Especificação de Projeto para o sistema proposto. Sendo ela divida em três partes: a primeira parte apresenta uma visão das tecnologias e ferramentas utilizadas pelo sistema. A segunda parte apresenta a arquitetura do sistema e sua divisão em camadas, além da discussão sobre cada uma delas e seus respectivos diagramas de classe. E por fim, a última parte, demonstra um protótipo com as telas da ferramenta Linguagens e Ferramentas utilizadas Para o desenvolvimento do sistema proposto foram analisadas algumas ferramentas consideradas importantes à construção, e dentre elas escolhidas as seguintes tecnologias que mais se apropriavam ao objetivo do sistema. Ainda na fase inicial do projeto foi utilizada a Linguagem de Modelagem Unificada (UML) para especificação, documentação, visualização e desenvolvimento do sistema. A UML é composta por muitos elementos de modelo que são usados para criar diagramas, que representam uma determinada parte, ou um ponto de vista do sistema. Dessa forma, foi possível fazer uma modelagem visual de maneira que os relacionamentos entre os componentes do sistema fossem melhor visualizados, compreendidos e documentados. Em um sentido mais amplo, o modelo é uma simplificação da realidade, o que torna a arquitetura do sistema mais tangível, permitindo a avaliação em dimensões múltiplas. Como editor de UML, foi utilizada a ferramenta JUDE Community, a escolha do JUDE teve como incentivo o fato da ferramenta ser bastante intuitiva e fácil de utilizar, além de ser disponibilizada de forma gratuita e possuir características que não são encontradas em outras ferramentas gratuitas. A figura 28 apresenta a tela principal do JUDE Community. A linguagem de programação Java foi empregada no desenvolvimento da ferramenta por ser uma linguagem orientada à objetos, independente de plataforma, gratuita, robusta e segura, além de ser distribuída com um vasto conjunto de bibliotecas. Sendo assim, é possível criar um sistema altamente flexível, extensível, de fácil manutenção e entendimento.

70 69 Figura 28: Tela Principal do JUDE Community A utilização do padrão de arquitetura MVC na concepção do protótipo, e a utilização da linguagem de programação Java permitiu o uso de ferramentas para programação orientadas à objetos. Assim, a programação do sistema foi feita com o auxílio do NetBeans IDE, um ambiente de desenvolvimento integrado, multiplataforma, fortemente utilizado por desenvolvedores Java, que visa simplificar o desenvolvimento e aumentar a produtividade. A figura 29 apresenta a tela principal do NetBeans IDE versão 6.8. Figura 29: Tela Principal do NetBeans IDE

71 70 O GlassFish foi utilizado como servidor de aplicação, por ser baseado na Plataforma Java Enterprise Edition e possuir código aberto, oferecendo desempenho e praticidade. O GlassFish, no ambiente do desenvolvedor, já vem integrado ao NetBeans IDE, o que facilitou a configuração do mesmo como servidor de aplicação do projeto. O banco de dados adotado foi o MySQL, que apresenta as vantagens de ser leve, rápido, seguro, prático, além de ser gratuito e inscrito no tipo de licenciamento GNU. O MySQL é considerado o banco de dados mais rápido do mercado e fornece suporte a diversas linguagens de programação incluindo o Java [39]. E por fim, quanto à modelagem do banco de dados, foi escolhida a ferramenta MySQL Workbench por ser de fácil utilização, intuitiva, autoexplicativa e trabalhar com diversas entidades e relacionamentos. Também possui a vantagem de ser uma ferramenta de modelagem MySQL, o que torna fácil a interação com o banco de dados, permitindo a exportação da modelagem diretamente do banco. A figura 30 apresenta a tela principal do MySQL Workbench versão 5.2 CE. Figura 30: Tela Principal do MySQL Workbench Arquitetura do Sistema A arquitetura de um sistema pode ser estudada de acordo com diversas perspectivas. Uma delas permite visualizar o sistema de software como um conjunto de camadas, sendo cada camada uma coleção de unidades de software que podem ser

72 71 executadas ou acessadas [38]. A divisão de um sistema de software em camadas permite que este seja mais portável e modificável. Uma mudança em uma camada mais baixa que não afete a sua interface não implicará em mudanças nas camadas mais altas. E vice-versa, uma mudança em uma camada mais alta que não implica na criação de um novo serviço em uma camada mais baixa não afetará esta última [38]. Uma das formas de dividir o sistema em camadas é através da utilização do padrão arquitetural MVC Estendido (Model-View-Controller), que tem como objetivo criar uma independência e divisão de responsabilidades entre as partes que envolvem o sistema [40]. Dessa forma, o sistema proposto será dividido nos seguintes pacotes: Domínio do Problema (DP), Gerência de Tarefas (GT), Gerência de Dados (GD) e Interface com o Usuário (IU) de acordo com o modelo MVC Estendido e tendo suas classes identificadas por estereótipos. A figura 31 ilustra o diagrama de pacotes do sistema de acordo com o modelo MVC Estendido. A dependência entre os pacotes representa a requisição de serviços para realização das funcionalidades do sistema. Figura 31: Diagrama de Pacotes Nas próximas seções serão explicados com mais detalhes quais as responsabilidades dos seguintes pacotes citados nesta seção: domínio do problema, gerência de tarefas, gerência de dados e interface com o usuário.

73 Domínio do Problema (DP) O pacote de domínio do problema é o local onde estão contidas as classes, suas multiplicidades e associações que modelam o domínio do problema. Esta camada contém todos os requisitos dos usuários. A figura 32 representa o diagrama de classes do domínio do problema. Figura 32: Diagrama de Classes do Domínio do Problema Gerência de Tarefas (GT) No pacote de gerência de tarefas estão as classes que lidam com as regras de negócio do sistema. Esta camada tem como finalidade controlar as interações que ocorram a partir do usuário. A figura 33 representa as classes para o pacote de gerência de tarefas.

74 73 Figura 33: Diagrama de Classes de Gerência de Tarefas Gerência de Dados (GD) No pacote gerência de dados estão as classes responsáveis por realizar a persistência das informações do sistema em um banco de dados. Para isso será utilizado o padrão de projeto chamado DAO (Data Access Object). Este é um padrão para persistência de dados que permite separar as regras de negócio das regras de acesso a banco de dados, sendo o seu principal objetivo promover isolamento e flexibilidade do banco de dados [41]. Sendo assim, todas as funcionalidades relacionadas ao banco de dados serão feitas por classes DAO. As figuras 34 e 35 representam as classes para o pacote de gerência de dados. Figura 34: Diagrama de Classes de Gerência de Dados parte I

75 74 Figura 35: Diagrama de Classes de Gerência de Dados parte II Modelo de Entidade e Relacionamento O Modelo de Entidade e Relacionamento (MER) é um modelo abstrato cuja finalidade é descrever, de maneira conceitual, os dados a serem utilizados em um sistema de informações ou que pertencem a um domínio [42]. O sistema proposto utilizará um banco de dados relacional para a persistência de dados e, assim, foi necessário realizar o mapeamento Objeto-Relacional. A figura 36 ilustra o modelo de entidade e relacionamento. Figura 36: Modelo de Entidade e Relacionamento Interface com Usuário (IU) Esta camada será responsável por implementar as interfaces com o usuário. A figura 37 representa o diagrama de classe referente ao componente de interface com o usuário.

76 75 Figura 37: Diagrama de Classes de Interface com Usuário Padrões de Interface Para auxiliar na usabilidade do sistema por parte do usuário, textos, ícones, cores podem ser utilizados em uma forma padrão. Esta seção mostrará os itens, citados anteriormente, que foram utilizados na ferramenta. A figura 38 apresenta os ícones utilizados na interface, que ajudam o usuário a identificar as funcionalidades do sistema. Esses ícones são, respectivamente, de edição de palavras e de exclusão, tanto de palavras, quanto de tópicos e mensagens. Figura 38: Ícones A tabela 4 apresenta a lista de cores, no padrão RGB, empregadas na interface do sistema. Tabela 4: Cores Item Código Hexadecimal Plano de fundo #F5F5F5 Plano de fundo das tabelas #F1F1F1 e #FCFCFC Texto padrão # Título das páginas e links #1B6633 Demais textos #333333

77 Protótipo Um protótipo pode ser considerado uma implementação concreta, embora parcial, de um programa. Eles podem ser criados para explorar múltiplas questões durante o desenvolvimento do software. O protótipo de uma interface com o usuário tem como principal objetivo conseguir captar as necessidades efetivas e concretas do usuário [43]. Sendo assim, a seguir serão apresentadas as telas do sistema contemplando as funcionalidades discutidas na seção A figura 39 apresenta a tela de visualização das palavras cadastradas no sistema, sendo possível removê-las ou editá-las. Além disso, é permitido cadastrar uma nova palavra. Figura 39: Tela Visualizar Palavras

78 77 A figura 40 apresenta a tela na qual é realizado o cadastro de palavras associando ao seu respectivo sinal em LIBRAS. Figura 40: Tela Cadastro de Palavras A figura 41 apresenta a tela contendo a listagem dos tópicos que já foram criados no fórum. Nela são exibidos o assunto e a quantidade de postagens dos tópicos, além de especificar o último usuário que enviou uma mensagem. As operações possíveis nessa tela são: criar um novo tópico e acessar ou excluir um existente. Figura 41: Tela Lista de Tópicos

79 78 A figura 42 apresenta a tela de criação de um novo tópico, sendo necessário informar qual o assunto e a mensagem. Figura 42: Tela Novo Tópico A figura 43 apresenta a tela com as respectivas mensagens do tópico: O que é LIBRAS?. As duas primeiras mensagens foram enviadas em forma de texto e a última como um vídeo em LIBRAS, sendo que para assistí-lo é necessário clicar no botão ao lado da frase Esta é uma mensagem de vídeo, clique no botão ao lado para vê-la:, na qual é aberto uma nova janela onde este será exibido. As operações possíveis nessa tela são: o envio de uma nova mensagem em texto ou em vídeo para este tópico e a tradução para LIBRAS de uma mensagem de texto.

80 Figura 43: Tela Tópico Acessado 79

81 80 As figuras 44 e 45 apresentam, respectivamente, as telas que tornam possível enviar uma mensagem em texto ou em vídeo para o tópico Windows ou Linux?, sendo que nestas duas telas é exibido uma lista com as últimas mensagens do tópico. Figura 44: Tela Envio Mensagem de Texto Para que o usuário possa enviar um vídeo contendo a sua mensagem em LIBRAS é necessário fazer o upload do arquivo, como mostra a figura 45. Figura 45: Tela Envio Mensagem em LIBRAS

82 81 A figura 46 apresenta a tela do tópico Windows ou Linux?, na qual está sendo traduzida a mensagem de texto para LIBRAS. Para isso é apresentado em uma nova janela a sequência de vídeos correspondente à tradução. Figura 46: Tela Tradução da Mensagem

83 82 6 CONCLUSÃO Na maioria das vezes, as pessoas com deficiência são tratadas diferentemente das outras, sofrem com os preconceitos e são privadas de suas liberdades. Isto porque a sociedade os encara como seres diferentes dos outros. Considerando esses fatos, um assunto de grande importância e que vem sendo constantemente discutido, é a inclusão social desses indivíduos. A sociedade, embora tenha um discurso que prega a inclusão social de pessoas com deficiência, ainda vê esses indivíduos pelo que não tem, ou pelo que não são. Não é de costume olhá-los pelo que são ou pelo que podem oferecer. Nesta medida, a pessoa com deficiência auditiva é censurada como aquela que não ouve, sendo omitido as suas qualidades. Dessa forma, esse sentimento pressupõe sempre uma atitude e um comportamento de negação que traz para essas pessoas sérias consequências como discriminação, marginalização e principalmente a exclusão. Dessa maneira, devem ser criados mecanimos que adaptem os deficientes aos sistemas sociais comuns e, em caso de incapacidade por parte de alguns deles, criarlhes sistemas especiais em que possa, participar ou tentar acompanhar o ritmo dos que não tenham alguma deficiência específica. Sendo analisadas todas essas questões e com base nos estudos realizados, foi possível amadurecer a ideia para a construção de uma ferramenta computacional que promove o desenvolvimento social dos portadores de deficiência auditiva, diminuindo assim a exclusão social desses indivíduos. Portanto, a finalidade deste trabalho foi o desenvolvimento de uma ferramenta web, um fórum de discussão que permite não só a tradução de mensagens na Língua Portuguesa para a Língua Brasileira de Sinais, como também o envio de vídeos contendo a mensagem em LIBRAS. Sendo que, na implementação do projeto estes objetivos foram alcançados com sucesso.

84 CONTRIBUIÇÃO DAS PESQUISAS Após as pesquisas realizadas sobre os softwares de tradução Português-LIBRAS, foi possível concluir que estes possuem apenas algumas propriedades diferentes entre si. O Dicionário de LIBRAS é um sistema web que só possibilita a tradução de uma palavra, e não de um texto. O FALIBRAS e o SOTAC são sistemas desktop isolados de qualquer outro ambiente, que para serem utilizados exigiria que um usuário copiasse e colasse o texto em Português para ver sua tradução em LIBRAS, o que muitas vezes pode se tornar um impedimento para sua utilização. Já o Player Rybená é uma ferramenta web, que pode ser acoplada a qualquer página da Internet, porém não é distribuída de forma gratuita. Além disso, em todos os trabalhos encontrados não foi observada a possibilidade de interação entre as pessoas surdas e ouvintes e sim apenas uma forma de consultar, traduzir ou aprender a Língua Brasileira de Sinais. Dessa forma, as características desses sistemas não permitem que esses indivíduos acessem a informação e interajam com outras pessoas da mesma forma, sejam elas surdas ou ouvintes. No fórum construído, as formas de comunicação são: por mensagem de texto, sendo opcional traduzir a mensagem para LIBRAS; ou por mensagem em forma de vídeo, na qual o usuário surdo poderá gravar seu próprio vídeo, contendo a mensagem em LIBRAS e disponibilizar para todos os participantes do fórum. Essas estratégias de comunicação possibilitam a interação não apenas no sentido ouvinte/surdo, mas também no sentido surdo/ouvinte. Sendo assim, o principal diferencial desta ferramenta é ajudar no processo de inclusão social das pessoas portadoras de deficiência auditiva. 6.2 RETORNO PARA O GRUPO E TRABALHOS FUTUROS O desenvolvimento deste projeto teve como grande benefício o aprendizado para o complemento da grade acadêmica e profissional, pois foi possível aplicar uma gama considerável de conhecimentos adquiridos durante o curso, praticando as atividades de analista de sistemas e programador. Como trabalhos futuros, pretende-se aplicar este sistema no contexto de um Ambiente Virtual de Aprendizagem, para ser utilizado como uma ferramenta assíncrona,

85 84 com o objetivo de promover a interação dos usuários em uma comunidade virtual, sem diferenças. E como continuidade das pesquisas e desenvolvimento é possível adicionar posteriormente a funcionalidade inversa de tradução, ou seja, traduzir a mensagem em LIBRAS para a Língua Portuguesa. Além disso, pode-se ainda aperfeiçoar o modo de tradução que já existe, aplicando métodos de Processamento de Linguagem Natural (PLN) junto com o conceito de ontologias. Os métodos de Processamento de Linguagem Natural fornecem ao computador a capacidade de entender e compor textos. E entender um texto significa reconhecer o contexto, fazer análise léxica, sintática, semântica e morfológica, interpretar os sentidos e até aprender conceitos com os textos processados. Uma ontologia é um conjunto de termos ordenados hierarquicamente para descrever um domínio que pode ser usado como um esqueleto para uma base de conhecimentos. Dessa forma, ontologias fornecem um vocabulário para representação do conhecimento. Esse vocabulário tem por trás uma conceitualização que o sustenta, evitando assim interpretações ambíguas. Na tarefa de processar linguagem natural, o conhecimento do domínio é muito importante para uma compreensão coerente do texto. Esse conhecimento do domínio pode ser dado por meio de uma ontologia sobre o domínio de discurso do texto. Por fim, com o objetivo de analisar a viabilidade da ferramenta, deseja-se realizar uma série de testes com portadores de deficiência auditiva, correlacionando as funcionalidades do sistema em casos reais.

86 85 REFERÊNCIAS [1] LIBRAS. Língua Brasileira de Sinais. Disponível em: <http://www.libras.org.br/libras.php>. Acessado em: mar/2010. [2] TAVARES, O. L.; CORADINE, L. C.; BREDA, W. L. Falibras-mt. autoria de tradutores automáticos de textos do português para libras, na forma gestual animada: Uma abordagem com memória de tradução. XXV Congresso da Sociedade Brasileira de Computação, [3] SANTAROSA, L. M.; THEMIS, A. S. Telemática: Um novo canal de comunicação para deficientes auditivos. [S.l.]: Universidade Federal do Rio Grande do Sul, [4] LIMA, D. M. C. A. Educação infantil: Saberes e práticas da inclusão: Dificuldades de comunicação e sinalização: Surdez. 4. ed. [S.l.]: MEC, Secretaria do Estado de Educação do Distrito Federal, [5] GOMES, D.; NETO, V. L. Falibras e sign webmessage: Novas tecnlogias para tradução língua portuguesa-libras. 2 o Simpósio Hipertexto e Tecnologias na Educação, [6] REDONDO, M. C. F.; CARVALHO, J. M. Deficiência Auditiva. [S.l.]: MEC, Secretaria de Educação a Distância, [7] IBM. Embedded ViaVoice. Disponível em: <http://www- 01.ibm.com/software/pervasive/embedded_viavoice>. Acessado em: abr/2010. [8] BRASIL, A. Acesso Brasil. Disponível em: <http://www.acessobrasil.org.br/libras>. Acessado em: abr/2010. [9] RYBENÁ. Player Rybená. Disponível em: <http://www.rybena.com.br>. Acessado em: abr/2010. [10] BREDA, W. L. Um ambiente para apoio à tradução baseado em conhecimento - Estudo de caso com Português-LIBRAS. Dissertação (Mestrado) Universidade Federal do Espírito Santo, [11] WIKIPÉDIA. Ambiente Virtual de Aprendizagem. Disponível em: <http://pt.wikipedia.org/wiki/ambiente_virtual_de_aprendizagem>. Acessado em: out/2010. [12] MOODLE. Disponível em: <http://www.moodle.org.br>. Acessado em: out/2010. [13] TELEDUC. O que é TelEduc? Disponível em: <http://gentil.pbworks.com/f/capitulo_i.pdf>. Acessado em: out/2010.

87 86 [14] INES. Instituto Nacional de Educação dos Surdos - INES. Disponível em: <http://www.ines.gov.br>. Acessado em: out/2010. [15] WIKIPÉDIA. Língua Brasileira de Sinais. Disponível em: <URL: Acessado em: mar/2010. [16] ALMEIDA, E. O. C. Leitura e Surdez - Um estudo com adultos não oralizados. [S.l.]: Revinter, [17] BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern Information Retrieval. 1. ed. New York: Addison-Wesley, [18] GEY, F. Models in Information Retrieval. [S.l.]: Tutorial Presented at the 19th ACM Conference on Research and Development in Information Retrieval (SIGIR), [19] CARDOSO, O. N. Recuperação de informação. Infocomp - Journal of Computer Science, [20] ORENGO, V. M.; HUYCK, C. A stemming algorithm for portuguese language. Symposium on String Processing and Information Retrieval, [21] HONRADO, A. A word stemming algorithm for spanish language. Symposium on String Processing and Information Retrieval, [22] VIERA, A. F. G.; VIRGIL, J. Uma revisão dos algoritmos de radicalização em língua portuguesa. Information Research, [23] PORTER, M. F. The Stemming Algorithm. Disponível em: <http://tartarus.org/ martin/porterstemmer/def.txt>. Acessado em: out/2010. [24] ALVARES, R. V.; GARCIA, A. C. B.; FERRAZ, I. Stembr: A stemming algorithm for the brazilian portuguese language. Portuguese Conference on Artificial Intelligence, [25] JAVAFREE.ORG. Tutorial Java. Disponível em: <http://javafree.uol.com.br/artigo/871498>. Acessado em: out/2010. [26] WESTER, I. Linguagem Java. Disponível em: <http://www.infowester.com/lingjava.php>. Acessado em: out/2010. [27] SOFTWARE, T. Visual Programming Languages Popular. URL:. Acessado em: out/2010. [28] ORACLE. Java Technology. Disponível em: <http://www.oracle.com/us/technologies/java>. Acessado em: out/2010. [29] ORACLE. Java EE at a Glance. Disponível em: <http://www.oracle.com/technetwork/java/javaee/overview>. Acessado em: out/2010. [30] MICROSYSTEMS, S. Java EE Tutorial. Disponível em: <http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/overview2.html>. Acessado em: out/2010.

88 87 [31] OLIVEIRA, A. de P. Apostila Servlet/JSP. [S.l.]: Universidade Federal de Viçosa - Departamento de Informática, [32] DEITEL. Java Como programar. 6. ed. [S.l.]: Pearson Prentice Hall, [33] TEMPLE, A.; FERNANDES, R. JSP, Servlets e J2EE. [S.l.: s.n.], [34] WIKIPÉDIA. Plataforma Java. Disponível em: <http://pt.wikipedia.org/wiki/plataforma_java>. Acessado em: nov/2010. [35] COMMONS, A. Commons FileUpload. Disponível em: <http://commons.apache.org/fileupload>. Acessado em: nov/2010. [36] MYSQL. Conectividade Java ao MySQL. Disponível em: <http://dev.mysql.com/doc/refman/4.1/pt/java.html>. Acessado em: nov/2010. [37] ORACLE. Java Media Framework API (JMF). Disponível em: <http://www.oracle.com/technetwork/java/javase/tech/index-jsp html>. Acessado em: out/2010. [38] BEZERRA, E. Princípios de Análise e Projeto de Sistemas com UML. [S.l.]: Elsevier, [39] CORRÊA, E. Principais Vantagens do MySQL. Disponível em: <http://eduardocorrea.net/?p=156>. Acessado em: nov/2010. [40] MACORATTI.NET. Padrões de Projeto - O modelo MVC. Disponível em: <http://www.macoratti.net/vbn_mvc.htm>. Acessado em: nov/2010. [41] MICROSYSTEMS, S. Data Access Object Disponível em: <http://java.sun.com/blueprints/corej2eepatterns/patterns/dataaccessobject.html>. Acessado em: nov/2010. [42] WIKIPÉDIA. Modelo de Entidades e Relacionamentos. Disponível em: <http://pt.wikipedia.org/wiki/modelo_de_entidades_e_relacionamentos>. Acessado em: nov/2010. [43] ROSSON, M.; CARROLL, J. Usability Engineering: Scenario-Based Development of Human Computer Interaction. [S.l.]: Morgan Kaufmann Publishers, 2002.

89 88 ANEXO A -- REGRAS DE REMOÇÃO DOS SUFIXOS Segue abaixo uma listagem das regras de remoção de sufixos de todos os passos do algoritmo RSLP descrito na seção [20]. Regras para redução do plural Figura 47: Regras para redução do plural Regras para redução do feminino Figura 48: Regras para redução do feminino

90 89 Regras para redução adverbial Figura 49: Regras para redução adverbial Regras para redução aumentativo-diminutivo Figura 50: Regras para redução aumentativo-diminutivo Regras para redução nominal Figura 51: Regras para redução nominal parte I

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br Visão Geral da Plataforma Java Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br Agenda Apresentação Motivação para a palestra História do Java A máquina virtual Java (JVM) Java

Leia mais

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador thiago.gonzaga@sun.com Tópicos Sobre a Sun Microsystems Algumas tecnologias da Sun Linguagem de Programação Ciclo de Desenvolvimento O que é Java?

Leia mais

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR MANUAL E DICAS DO ASSISTENTE VIRTUAL (AV) POR ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 ÍNDICE Introdução...3 Requisitos e Restrições do Assistente...3 Diferenças da Versão

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 1 Introdução ao Java Objetivos do Capítulo Compor uma visão histórica mínima para a compreensão da origem do Java. Compreender o que é o Java e para que finalidades ele é empregado. Delinear algumas

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

UNIDADE II Conhecendo o Ambiente Virtual de Aprendizagem

UNIDADE II Conhecendo o Ambiente Virtual de Aprendizagem UNIDADE II Conhecendo o Ambiente Virtual de Aprendizagem 2.1 Introdução Caro Pós-Graduando, Nesta unidade, abordaremos o Ambiente Virtual de Aprendizagem (AVA) que será utilizado no curso: o Moodle. Serão

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO EDUCAÇÃO A DISTÂNCIA (EAD) SISTEMAS PARA INTERNET INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

linguagem técnica de informática; Perceber os sinais de pontuação e identificar sua função no texto; Ler siglas e identificar seus significados;

linguagem técnica de informática; Perceber os sinais de pontuação e identificar sua função no texto; Ler siglas e identificar seus significados; PLANO DE CURSO Disciplina Competências Habilidades Bases Tecnológicas INGLÊS TÉCNICO Aumentar e consolidar o seu vocabulário ativo e passivo, através da fixação de novas palavras e expressões contidas

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

PORTUGUÊS PARA DEFICIENTES AUDITIVOS: EXPERIÊNCIAS INICIAIS COM UM EDITOR DE TEXTOS BASEADO NA LIBRAS

PORTUGUÊS PARA DEFICIENTES AUDITIVOS: EXPERIÊNCIAS INICIAIS COM UM EDITOR DE TEXTOS BASEADO NA LIBRAS PORTUGUÊS PARA DEFICIENTES AUDITIVOS: EXPERIÊNCIAS INICIAIS COM UM EDITOR DE TEXTOS BASEADO NA LIBRAS Ronnie E. S. Santos Universidade Federal de Pernambuco/Brasil ress@gmail.com Ellen P. R. Souza Universidade

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Além da correção ortográfica nos editores de textos livres

Além da correção ortográfica nos editores de textos livres Além da correção ortográfica nos editores de textos livres William D. Colen M. Silva (colen@users.sourceforge.net) Eng. Computação pela Escola Politécnica da USP (2006) Mestrando Ciência da Computação

Leia mais

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título

Leia mais

Extração Automática de Palavras-chave de Textos da Língua Portuguesa

Extração Automática de Palavras-chave de Textos da Língua Portuguesa Extração Automática de Palavras-chave de Textos da Língua Portuguesa Maria Abadia Lacerda Dias, Marcelo de Gomensoro Malheiros Centro Universitário UNIVATES Lajeado RS Brasil {mald,mgm}@univates.br Abstract.

Leia mais

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

Conheça o Projeto. Apresentação. Finalidade. Objetivo

Conheça o Projeto. Apresentação. Finalidade. Objetivo Manual do Usuário Índice Conheça o Projeto...3 Apresentação...3 Finalidade...3 Objetivo...3 Histórico...4 Usando o Portal...5 Efetuando o cadastro na biblioteca digital...5 Logando na Biblioteca Digital...6

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

MOODLE é o acrónimo de "Modular Object-Oriented Dynamic Learning Environment. Executado em um AVA - Ambiente Virtual de Apresendizagem;

MOODLE é o acrónimo de Modular Object-Oriented Dynamic Learning Environment. Executado em um AVA - Ambiente Virtual de Apresendizagem; MOODLE é o acrónimo de "Modular Object-Oriented Dynamic Learning Environment Software livre, de apoio à aprendizagem; Executado em um AVA - Ambiente Virtual de Apresendizagem; A expressão designa ainda

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

Leia mais

A DISCIPLINA DE LIBRAS NA EAD NO CURSO DE PEDAGOGIA DA UFJF: O MOODLE COMO RECURSO DIDÁTICO* 1

A DISCIPLINA DE LIBRAS NA EAD NO CURSO DE PEDAGOGIA DA UFJF: O MOODLE COMO RECURSO DIDÁTICO* 1 A DISCIPLINA DE LIBRAS NA EAD NO CURSO DE PEDAGOGIA DA UFJF: O MOODLE COMO RECURSO DIDÁTICO* 1 Camila Ribeiro Lisboa Ferreira Universidade Federal de Juiz de Fora RESUMO: Neste trabalho, apresentamos como

Leia mais

Roteiro do Trabalho Prático

Roteiro do Trabalho Prático Projeto de Sistemas - 2011/2 Roteiro do Trabalho Prático O trabalho prático consta da realização das atividades de Projeto da Arquitetura de Software e Projeto dos Componentes da Arquitetura, devendo ser

Leia mais

MAPEAMENTO DA ESTRUTURA MORFOFONÉTICA DE UNIDADES TERMINOLÓGICAS EM LIBRAS

MAPEAMENTO DA ESTRUTURA MORFOFONÉTICA DE UNIDADES TERMINOLÓGICAS EM LIBRAS MAPEAMENTO DA ESTRUTURA MORFOFONÉTICA DE UNIDADES TERMINOLÓGICAS EM LIBRAS Janine Soares de Oliveira Universidade Federal de Santa Catarina Markus Johannes Weininger Universidade Federal de Santa Catarina

Leia mais

Reconhecimento das Configurações de Mão da LIBRAS a Partir de Malhas 3D

Reconhecimento das Configurações de Mão da LIBRAS a Partir de Malhas 3D Reconhecimento das Configurações de Mão da LIBRAS a Partir de Malhas 3D Andres Jessé Porfirio Orientador: Prof. Dr. Daniel Weingaertner Universidade Federal do Paraná Sumário Introdução Abordagem Baseada

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais 1º SEMESTRE Programação e Estruturas de Dados Fundamentais 8 Créditos Desenvolver a lógica de programação através da construção de algoritmos utilizando português estruturado Representar a solução de problemas

Leia mais

EDITOR GRÁFICO PARA SEQUENCIAMENTO E NAVEGAÇÃO USANDO REDES DE PETRI. Maicon Mueller prof. Dalton S. dos Reis

EDITOR GRÁFICO PARA SEQUENCIAMENTO E NAVEGAÇÃO USANDO REDES DE PETRI. Maicon Mueller prof. Dalton S. dos Reis EDITOR GRÁFICO PARA SEQUENCIAMENTO E NAVEGAÇÃO USANDO REDES DE PETRI Maicon Mueller prof. Dalton S. dos Reis Roteiro Introdução Objetivos Fundamentação teórica Trabalhos correlatos Desenvolvimento Resultados

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC Felipe Moreira Decol Claro 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipe4258@hotmail.com, kessia@unipar.br

Leia mais

PARTE 1 FONÉTICA CAPÍTULO 1 FONÉTICA...

PARTE 1 FONÉTICA CAPÍTULO 1 FONÉTICA... Sumário PARTE 1 FONÉTICA CAPÍTULO 1 FONÉTICA... 3 1.1. Fonema...3 1.2. Classificação dos fonemas...4 1.3. Encontros vocálicos...5 1.4. Encontros consonantais...5 1.5. Dígrafos...6 1.6. Dífono...7 1.7.

Leia mais

CURSOS A DISTÂNCIA UNIVERSIDADE FEDERAL DE OURO PRETO

CURSOS A DISTÂNCIA UNIVERSIDADE FEDERAL DE OURO PRETO CURSOS A DISTÂNCIA UNIVERSIDADE FEDERAL DE OURO PRETO TUTORIAL PARA TUTORES PLATAFORMA MOODLE OURO PRETO 2014 1 SUMÁRIO 1. PRIMEIRO ACESSO À PLATAFORMA... 03 2. PLATAFORMA DO CURSO... 07 2.1 Barra de Navegação...

Leia mais

Ementário das Disciplinas

Ementário das Disciplinas Ementário das Disciplinas As ementas das disciplinas estão agrupadas em semestres para uma melhor visualização da organização da matriz curricular. As referências bibliográficas serão especificadas no

Leia mais

INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA. Guia rápido

INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA. Guia rápido INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA Guia rápido A PLATAFORMA MOODLE Moodle (Modular Object Oriented Distance LEarning) é um Sistema para Gerenciamento de Cursos (SGC). Trata-se de um programa para computador

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

PROEX Assessoria de Ações Inclusivas Encontro dos NAPNEs: por um IFRS Inclusivo

PROEX Assessoria de Ações Inclusivas Encontro dos NAPNEs: por um IFRS Inclusivo PROEX Assessoria de Ações Inclusivas Encontro dos NAPNEs: por um IFRS Inclusivo Pergunta 01 Quais termos você usa para identificar uma pessoa surda? A Deficiente auditivo B Surdo-Mudo C Surdo D Mudinho

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

MANUAL DO MOODLE VISÃO DO ALUNO

MANUAL DO MOODLE VISÃO DO ALUNO MANUAL DO MOODLE VISÃO DO ALUNO Desenvolvido por: Patricia Mariotto Mozzaquatro SUMÁRIO 1 INTRODUÇÃO....03 2 O AMBIENTE MOODLE......03 2.1 Quais as caixas de utilidade que posso adicionar?...04 2.1.1 Caixa

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

Edital EAD UFRGS 17. Cartão UFRGS: 9173. Maria José Bocorny Finatto.Instituto de Letras. Ramal: 6711 mfinatto@terra.com.br

Edital EAD UFRGS 17. Cartão UFRGS: 9173. Maria José Bocorny Finatto.Instituto de Letras. Ramal: 6711 mfinatto@terra.com.br Portal de Serviços - SEAD - UFRGS - Edital EAD UFRGS 17 1º Coordenador Cartão UFRGS: 9173 Nome: Maria José Bocorny Finatto Unidade:.Instituto de Letras Vínculo: Professor Ramal: 6711 E-Mail: mfinatto@terra.com.br

Leia mais

O BILINGÜISMO COMO PROPOSTA EDUCACIONAL PARA CRIANÇAS SURDAS

O BILINGÜISMO COMO PROPOSTA EDUCACIONAL PARA CRIANÇAS SURDAS O BILINGÜISMO COMO PROPOSTA EDUCACIONAL PARA CRIANÇAS SURDAS KUBASKI, Cristiane UFSM kubaski229@bol.com.br MORAES, Violeta Porto UFSM viomoraes@ibest.com.br Eixo temático: Diversidade e Inclusão Agência

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Ambiente Virtual de Aprendizagem Moodle

Ambiente Virtual de Aprendizagem Moodle Ambiente Virtual de Aprendizagem Moodle No INSEP, o ambiente virtual de aprendizagem oferecido ao acadêmico é o MOODLE. A utilização dessa ferramenta é fundamental para o sucesso das atividades em EAD,

Leia mais

Parte I Introdução ActionScript_30_01.indd 1 5/11/2010 08:29:29

Parte I Introdução ActionScript_30_01.indd 1 5/11/2010 08:29:29 Parte I Introdução ActionScript_30_01.indd 1 5/11/2010 08:29:29 ActionScript_30_01.indd 2 5/11/2010 08:29:34 Aprendendo uma nova linguagem... ActionScript é uma linguagem e, como um novo idioma ou a linguagem

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

Edna Misseno Universidade Católica de Goiás ednamisseno@ucg.br. Rose Mary Almas de Carvalho Universidade Católica de Goiás rose.cead@ucg.

Edna Misseno Universidade Católica de Goiás ednamisseno@ucg.br. Rose Mary Almas de Carvalho Universidade Católica de Goiás rose.cead@ucg. CURSO DE LÍNGUA BRASILEIRA DE SINAIS LIBRAS ON-LINE: RELATO DE UMA EXPERIÊNCIA Edna Misseno Universidade Católica de Goiás ednamisseno@ucg.br Rose Mary Almas de Carvalho Universidade Católica de Goiás

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

UNIVERSIDADE ESTADUAL DE PONTA GROSSA

UNIVERSIDADE ESTADUAL DE PONTA GROSSA UNIVERSIDADE ESTADUAL DE PONTA GROSSA SECRETARIA MUNICIPAL DE GESTÃO DE RECURSOS HUMANOS CONCURSO PÚBLICO PARA ANALISTA DE SUPORTE 08 DE NOVEMBRO DE 2009... (NOME COMPLETO EM LETRA DE FORMA) INSTRUÇÕES

Leia mais

Automação do Processo de Instalação de Softwares

Automação do Processo de Instalação de Softwares Automação do Processo de Instalação de Softwares Aislan Nogueira Diogo Avelino João Rafael Azevedo Milene Moreira Companhia Siderúrgica Nacional - CSN RESUMO Este artigo tem como finalidade apresentar

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Mineração de Textos. E. A. M. Morais A. P. L. Ambrósio. Instituto de Informática Universidade Federal de Goiás www.inf.ufg.br

Mineração de Textos. E. A. M. Morais A. P. L. Ambrósio. Instituto de Informática Universidade Federal de Goiás www.inf.ufg.br Mineração de Textos E. A. M. Morais A. P. L. Ambrósio Technical Report - INF_005/07 - Relatório Técnico December - 2007 - Dezembro The contents of this document are the sole responsibility of the authors.

Leia mais

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Índice Como acessar o Moodle Editando seu PERFIL Editando o curso / disciplina no Moodle Incluindo Recursos

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA EDITOR DE HELP MANUAL DO USUÁRIO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA EDITOR DE HELP MANUAL DO USUÁRIO PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA EDITOR DE HELP MANUAL DO USUÁRIO ANA PAULA CARVALHO LORENZONI MICHELINE PARIZOTTO PROFESSORA. MILENE SELBACH SILVEIRA ORIENTADORA

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

PROGRAMAÇÃO JAVA. Parte 1

PROGRAMAÇÃO JAVA. Parte 1 PROGRAMAÇÃO JAVA Parte 1 O que é um programa? Um algoritmo (sequência de operações elementares - instruções) convertido para uma linguagem que possa ser executada por um computador Programa = Algoritmos

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5 Para entender bancos de dados, é útil ter em mente que os elementos de dados que os compõem são divididos em níveis hierárquicos. Esses elementos de dados lógicos constituem os conceitos de dados básicos

Leia mais

LICENCIATURA EM COMPUTAÇÃO

LICENCIATURA EM COMPUTAÇÃO Coordenador: Duração: Carga Horária: LICENCIATURA EM COMPUTAÇÃO Victor Emanuel Corrêa Lima 6 semestres 2800 horas Situação Legal: Reconhecido pela Portaria MEC nº 503 de 15/02/2006 MATRIZ CURRICULAR Primeiro

Leia mais

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL Manoel Theodoro Fagundes Cunha Sergio Scheer Universidade Federal do Paraná, Setor de Tecnologia, Centro de Estudos de Engenharia

Leia mais

TECNOLOCIA JAVA WEB PARA DESENVOLVIMENTO DE SISTEMAS DE LEILÃO

TECNOLOCIA JAVA WEB PARA DESENVOLVIMENTO DE SISTEMAS DE LEILÃO TECNOLOCIA JAVA WEB PARA DESENVOLVIMENTO DE SISTEMAS DE LEILÃO Danilo Alves Verone de Oliveira ¹, Jaime William Dias ¹ ² ¹ Universidade Paranaense (UNIPAR) Paranavaí - PR - Brasil dan.verone@hotmail.com

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Conteúdo Manual do sistema de ajuda do KDE

Conteúdo Manual do sistema de ajuda do KDE 2 Conteúdo 1 Manual do sistema de ajuda do KDE 5 1.1 Sistema de ajuda do KDE................................. 5 1.1.1 Instalação...................................... 5 1.2 Invocar a ajuda.......................................

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Moodle. Modular Object-Oriented Dynamic Learning Environment (Ambiente de Aprendizagem Modular Orientado a Objetos) Ferramentas e Vantagens

Moodle. Modular Object-Oriented Dynamic Learning Environment (Ambiente de Aprendizagem Modular Orientado a Objetos) Ferramentas e Vantagens Moodle Modular Object-Oriented Dynamic Learning Environment (Ambiente de Aprendizagem Modular Orientado a Objetos) Ferramentas e Vantagens O que é? Alternativa às soluções comerciais de ensino on-line

Leia mais

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem Java Prof. Leonardo Barreto Campos 1 Sumário Introdução; Histórico do Java; Características do Java; Compilação de um Programa em Java; Modificando o Primeiro Programa em

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL FARROUPILHA

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL FARROUPILHA MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL FARROUPILHA PROJETO PEDAGÓGICO DO CURSO Introdução a Interpretação em Língua Brasileira de Sinais (libras/português)

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Fabrício Viero de Araújo, Gilse A. Morgental Falkembach Programa de Pós-graduação em Engenharia de Produção - PPGEP Universidade

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

FALIBRAS E SIGN WEBMESSAGE: NOVAS TECNOLOGIAS PARA A TRADUÇÃO LÍNGUA PORTUGUESA/LIBRAS

FALIBRAS E SIGN WEBMESSAGE: NOVAS TECNOLOGIAS PARA A TRADUÇÃO LÍNGUA PORTUGUESA/LIBRAS FALIBRAS E SIGN WEBMESSAGE: NOVAS TECNOLOGIAS PARA A TRADUÇÃO LÍNGUA PORTUGUESA/LIBRAS Dannytza Serra Gomes (PPGL/UFC) dannytzasg@gmail.com Vicente Lima Neto (Hiperged/PPGL/UFC) netosenna@yahoo.com.br

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

Ementário do Curso Técnico em Informática para Internet

Ementário do Curso Técnico em Informática para Internet 1 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal do Rio de Janeiro - IFRJ Pró-Reitoria de Ensino Médio e Técnico Campus Engenheiro Paulo de Frontin Direção de

Leia mais

Português- Prof. Verônica Ferreira

Português- Prof. Verônica Ferreira Português- Prof. Verônica Ferreira 1 Com relação a aspectos linguísticos e aos sentidos do texto acima, julgue os itens a seguir. No trecho que podemos chamar de silenciosa (l.15-16), o termo de silenciosa

Leia mais

Manual do Ambiente Virtual Moodle

Manual do Ambiente Virtual Moodle Manual do Ambiente Virtual Moodle versão 0.3 Prof. Cristiano Costa Argemon Vieira Prof. Hercules da Costa Sandim Outubro de 2010 Capítulo 1 Primeiros Passos 1.1 Acessando o Ambiente Acesse o Ambiente Virtual

Leia mais

MQSeries Everyplace. Leia-me primeiro G517-7010-00

MQSeries Everyplace. Leia-me primeiro G517-7010-00 MQSeries Everyplace Leia-me primeiro G517-7010-00 MQSeries Everyplace Leia-me primeiro G517-7010-00 Primeira Edição (Junho de 2000) Esta edição se aplica ao MQSeries Everyplace Versão 1.0 e a todos os

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais