Você está na página 1de 101

UNIVERSIDADE DE UBERABA

VALMIR FERREIRA ROCHA

AUTOMAO RESIDENCIAL POR COMANDO DE VOZ, UTILIZANDO MICROSOFT SPEECH RECOGNITION SDK 5.1

UBERLNDIA 2009

VALMIR FERREIRA ROCHA

AUTOMAO RESIDENCIAL POR COMANDO DE VOZ, UTILIZANDO MICROSOFT SPEECH RECOGNITION SDK 5.1

Trabalho apresentado Universidade de Uberaba, como parte dos requisitos para concluso de graduao em Sistemas de Informao da Universidade de Uberaba. Orientador: Lilian R. Mendes Paiva. Ms

UBERLNDIA 2009

VALMIR FERREIRA ROCHA

AUTOMAO RESIDENCIAL POR COMANDO DE VOZ, UTILIZANDO MICROSOFT SPEECH RECOGNITION SDK 5.1

Trabalho apresentado Universidade de Uberaba, como parte dos requisitos para concluso de graduao em Sistemas de Informao da Universidade de Uberaba. Orientador(a): Lilian R. Mendes Paiva. Ms rea de concentrao: Automao Residencial

Aprovada em: 05 de dezembro de 2009 Banca Examinadora:

Prof. Lilian R. Mendes Paiva. Ms Orientadora Universidade de Uberaba

Maria Fernanda Soares de Almeida Universidade de Uberaba Prof. Carlos Magno Medeiros Queiroz. Ms Universidade de Uberaba

Prof. Thiago Bruno Caparelli. Ms Universidade de Uberaba

A toda minha famlia. Aos meus pais. minha Esposa. A Deus, pela fora de sempre.

AGRADECIMENTOS

Primeiramente agradeo Deus por ter me dado fora de vontade para nunca desistir apesar das grandes dificuldades ocorridas. com muita satisfao que dedico este trabalho aos meus pais, meus irmos e a minha esposa Gercilene Cristina, que sempre apostaram em mim, me deram apoio, carinho e compreenso, sendo neste longo perodo as pessoas com quem sempre pude contar. Ao meu amigo Rhobison Alves, que sempre me ajudou em momentos decisivos ao longo do curso. A todos os professores que de alguma forma contriburam para esta conquista. Aos verdadeiros amigos, compadres e parceiros que ganhei no decorrer de todo o curso.

RESUMO

Atualmente, os sistemas automatizados so largamente utilizados devido busca pela qualidade de vida, segurana e controle de equipamentos. A automao surgiu para facilitar e reduzir trabalhos, tanto empresarias e industriais como domsticos, proporcionando aos usurios maior comodidade, conforto, praticidade, produtividade e reduo de custos. Alm disso, a automatizao de tarefas visa possibilitar a incluso digital dos usurios de necessidades especiais. Este trabalho apresenta o desenvolvimento de um sistema para automatizao de equipamentos residenciais atravs do reconhecimento de voz. O sistema utiliza uma estrutura de hardware prprio responsvel por realizar a conexo entre os equipamentos. O prottipo desenvolvido permite que o monitoramento dos equipamentos seja realizado em duas plataformas distintas sendo elas: Internet e aplicao desktop. O Microsoft Speech Recognition (SDK), integrado ao prottipo para execuo dos comandos por reconhecimento de voz, fundamenta-se em agentes inteligentes, que considerado como uma entidade que executa um conjunto de operaes que lhes foram incumbidas por um usurio ou outro programa, com algum grau de independncia ou autonomia e, executando estas operaes, emprega algum conhecimento dos objetivos ou desejos do usurio (IBM Research, 1998). A comunicao entre o computador pessoal (PC) e o hardware foi realizada atravs da porta paralela. Sendo assim, o projeto utiliza tecnologias acessveis, visando simplicidade e baixo custo ao simular uma soluo de pequeno porte. A criao da interface grfica prioriza um ambiente amigvel e de simples utilizao, j que seu objetivo permitir que portadores de necessidades especiais e pessoas sem grandes conhecimentos tcnicos possam interagir facilmente com o prottipo.

Palavras-chave: Agentes inteligentes, automao residencial, Microsoft Speech Recognition, segurana, baixo custo, porta paralela.

ABSTRACT

Currently, the automatized systems are widely used due to the constant search for quality of life, safety and equipment control. Automation emerged in order to facilitate and reduce work, company and industry work as well as domestic, offering more comfort, facility and cost reduction. In addition to this, the automatization of tasks aims at enabling digital inclusion of disabled users. This work presents the development of a system for automatization of residential equipment through speech recognition. The system makes use of its own hardware structure, which is responsible for making the connection among the equipment. The prototype developed enables that the monitoring of the equipment to be done in two different platforms, which are: Internet and desktop application. Microsoft Speech Recognition (SDK), integrated with the prototype for the speech recognition execution, is fundamented by intelligent agents, which are systems that hold autonomy and fulfill tasks, which are always attached to an automatic executed action or to a manual outside action to be executed. The communication between the personal computer (PC) and the hardware was made possible through the parallel port. This way, the project makes use of accessible technology, aiming at simplicity and low cost to simulate a smaller dimension solution. The graphic interface creation prioritizes a simple and user-friendly environment, once its objective is to allow that disabled people as well as those without much technical knowledge can interact easily with the prototype.

Key words: intelligent agents, residential automation, Microsoft Speech Recognition, safety, low cost, parallel port.

LISTA DE FIGURAS

FIGURA 1. FIGURA 2. FIGURA 3. FIGURA 4. FIGURA 5. FIGURA 6. FIGURA 7. FIGURA 8. FIGURA 9. FIGURA 10. FIGURA 11. FIGURA 12. FIGURA 13. FIGURA 14. FIGURA 15. FIGURA 16. FIGURA 17. FIGURA 18. FIGURA 19. FIGURA 20. FIGURA 21. FIGURA 22. FIGURA 23. FIGURA 24. FIGURA 25. FIGURA 26. FIGURA 27. FIGURA 28. FIGURA 29.

ESQUEMA ELTRICO GERAL DO CIRCUITO.......................................... 30 PLACA DO LEDS ........................................................................................... 31 CIRCUITO DO DRIVER DE ACIONAMENTO ........................................... 32 CIRCUITO DO BUFFER PARA PROTEO DA PORTA PARALELA .... 34 CIRCUITO DA FONTE DE ALIMENTAO REGULADA (+5V) ............ 34 DIAGRAMA DAS FASES DO PROCESSO .................................................. 36 DB25 QUE FICA ATRS DO MICRO .......................................................... 39 CONECTOR MACHO DO CABO PARALELO. ........................................... 39 FOTO DO CONECTOR DB25 MACHO DO CABO PARALELO ............... 40 ESQUEMA DE FUNCIONAMENTO DO DB25 NO MODO SPP............ 40 CONECTOR CENTRONICS 36 PINOS ..................................................... 41 ESBOO DA CONEXO DO CONECTOR DB25 ................................... 42 CASO DE USO PRINCIPAL DO SISTEMA.............................................. 46 DIAGRAMA DE CLASSE DO MODULO WEB ....................................... 47 DIAGRAMA DE CLASSE DO MODULO DESKTOP.............................. 48 DIAGRAMA DA ESTRUTURA DOS APARELHOS ............................... 49 DIAGRAMA DA ESTRUTURA DOS USURIOS. .................................. 50 DIAGRAMA ENTIDADE RELACIONAMENTO DO BD ....................... 51 CDIGO FONTE DA HABILITAO DO COMPONENTE DE VOZ ... 54 CDIGO FONTE DA EXECUO DOS COMANDOS .......................... 55 APLICAO DESKTOP ............................................................................ 58 CADASTRO DE APARELHOS NA APLICAO DESKTOP ................ 58 CADASTRO DE USURIOS UTILIZADOS PARA ACESSO WEB....... 59 VISO GERAL DA REA DE CADASTRAMENTOS............................ 59 APLICAO WEB (LOGIN) ..................................................................... 60 APLICAO WEB ..................................................................................... 60 TESTE EM PLACA DE PROTOBOARD................................................... 67 PROJETO NO COMPUTADOR ................................................................. 68 ADESIVO PLOTADO SEM MASCARA ................................................... 68

FIGURA 30. FIGURA 31. FIGURA 32. FIGURA 33. FIGURA 34. FIGURA 35. FIGURA 36. FIGURA 37. FIGURA 38. FIGURA 39. FIGURA 40. FIGURA 41. FIGURA 42. FIGURA 43.

RETIRANDO A MASCARA ...................................................................... 69 COLANDO A MASCARA NO ADESIVO................................................. 69 FIXANDO BEM A MASCARA AO ADESIVO ........................................ 70 RETIRANDO A MASCARA ...................................................................... 70 COLANDO O ADESIVO NA PCB COM A MSCARA .......................... 71 RETIRANDO EXCESSO DE ADESIVOS ................................................. 71 VERIFICANDO PROJETO E PLACA ....................................................... 72 CORROENDO AS PLACAS COM PERCLORETO DE FERRO .............. 72 LAVANDO AS PLACAS APS CORROSO .......................................... 73 CORROSO FINALIZADA ....................................................................... 73 MONTAGEM DOS COMPONENTES ....................................................... 74 MONTANDO PROJETO ............................................................................. 74 PROJETO FINALIZADO ............................................................................ 75 TRANSISTOR BC337. ................................................................................ 75

RETIRADO DE ROBOTERNETZ (ROBOTERNETZ, 2009). .............................................. 75 FIGURA 44. FIGURA 45. FIGURA 46. FIGURA 47. FIGURA 48. DIODO 1N4148 ........................................................................................... 76 RESISTOR (MILCOMP PRODUTOS ELETRNICOS LTDA., 2009). ... 77 REL DE 5V ................................................................................................ 77 LED (DIODO SEMICONDUTOR) ............................................................. 78 CI 74LS541 .................................................................................................. 78

LISTA DE QUADROS

QUADRO 1 Endereos da porta paralela ..................................................................... QUADRO 2 - Significado de cada pino do conector Centronics 36 pinos...................... QUADRO 3 - Sequncia de bytes gerados pela porta paralela ....................................... QUADRO 4 - Script para criao da base de dados........................................................

38 41 43 52

10

LISTA DE SIGLAS

API Application Programming Interface AR Automao Residencial. CI Circuito Integrado CPU Central Processing Unit DMA Direct Memory Access ECP Enhaced Capabilities Port EPP Enhaced Parallel Port FFT - Fast Fourier Transform IIS Internet Information Service LED Light-Emitting Diode PCB - Placa de Circuito Impresso PCM Pulse Code Modulation RF Reconhecimento da fala RUP Rational Unified Process RV Reconhecimento de voz SSP Standard Parallel Port TF Texto para Fala TTS Text to Speech UML Unified Modeling Language XML Extensible Markup Language DLL - Dynamic-link library

11

SUMRIO 1. 1.1. 1.2. 1.3. 1.3.1. 1.3.2. 1.4. 2. 2.1. 2.2. 2.2.1. 2.2.2. 2.2.2.1. 2.2.2.2. 2.2.2.3. 2.3. 2.3.1. 2.3.2. 2.3.3. 2.3.4. 2.3.5. 2.4. 2.4.1. 3. 3.1. 3.2. 3.3. 3.3.1. 3.3.2. 3.3.3. 3.3.4. 3.3.5. 3.3.6. 4. 4.1. 4.1.2. 4.1.2.1. 4.1.2.2. INTRODUO .................................................................................................. 14 Justificativa ........................................................................................................... 14 Motivao ............................................................................................................. 14 Objetivos............................................................................................................... 15 Objetivo geral ....................................................................................................... 15 Objetivos especficos ............................................................................................ 15 Estrutura do trabalho ............................................................................................ 16 FUNDAMENTAO TERICA ..................................................................... 17 Agentes inteligentes.............................................................................................. 17 Reconhecimento de voz ........................................................................................ 18 O que o reconhecimento de voz? ....................................................................... 18 Como funciona?.................................................................................................... 19 Transformao PCM ............................................................................................ 19 Padres acsticos .................................................................................................. 21 Modelos lingusticos ............................................................................................. 22 Microsoft speech recognition SDK ...................................................................... 23 Introduo ............................................................................................................. 23 SAPI ..................................................................................................................... 24 Gramtica ............................................................................................................. 25 Regras ................................................................................................................... 26 Contexto livre de gramtica .................................................................................. 27 Automao residencial (domtica) ....................................................................... 27 Objetivos da automao residencial ..................................................................... 27 HARDWARE ...................................................................................................... 29 Eagle Layout Editor .............................................................................................. 29 Estrutura do Hardware .......................................................................................... 35 Porta paralela ........................................................................................................ 37 Introduo ............................................................................................................. 37 Modelos de porta paralela .................................................................................... 37 Endereos da porta paralela .................................................................................. 38 Conector DB25 ..................................................................................................... 38 Conector macho Centronics 36 pinos ................................................................... 40 Ligando e desligando aparelhos externos atravs da porta paralela ..................... 42 DESENVOLVIMENTO DO SOFTWARE ...................................................... 44 Documentao ...................................................................................................... 44 UML ..................................................................................................................... 44 Diagramas de casos de uso ................................................................................... 45 Diagrama de classes.............................................................................................. 47

12

4.2. 4.3. 4.4. 4.5. 4.5.2. 4.5.3. 4.5.4. 4.5.5. 5.

Metodologias ........................................................................................................ 51 Processo de comunicao entre software e SDK 5.1............................................ 53 Plano de testes ...................................................................................................... 55 Apresentao do software..................................................................................... 56 Introduo ............................................................................................................. 56 Requisitos funcionais............................................................................................ 57 Aplicao desktop ................................................................................................ 57 Aplicao web ...................................................................................................... 60 CONCLUSO..................................................................................................... 61

5.1. Trabalhos futuros .............................................................................................................. 62 REFERNCIAS ..................................................................................................................... 63 ANEXOS ................................................................................................................................. 66 APNDICE A - DESCREVENDO A CRIAO DA PLACA DE CIRCUITO IMPRESSO (PCB).................................................................................................................. 67 APNDICE B - COMPONENTES ELETRNICOS UTILIZADOS ............................. 75 B.1 Transstor BC337 ............................................................................................................... 75 B.2 Diodo 1N4148.................................................................................................................... 76 B.3 Resistor .............................................................................................................................. 76 B.4 Rel de 5V ......................................................................................................................... 77 B.5 Led Verde / Led Vermelho 3mm ....................................................................................... 77 B.6 Circuito Integrado 74LS541 .............................................................................................. 78 APNDICE C CENRIOS DOS CASOS DE USO ......................................................... 79 C.1. UC1 - Cadastrar Aparelho ................................................................................................ 79 C.2. UC2 - Consultar Aparelho ................................................................................................ 79 C.3. UC3 - Alterar Aparelho .................................................................................................... 79 C.4. UC4 - Excluir Aparelho .................................................................................................... 80 C.5. UC5 - Cadastrar Usurio................................................................................................... 80 C.6. UC6 - Consultar Usurio .................................................................................................. 81 C.7. UC7 - Alterar Usurio....................................................................................................... 81 C.8. UC8 - Excluir Usurio ...................................................................................................... 81 C.9. UC9 - Validar Comando de Voz....................................................................................... 82 C.10. UC10 - Ligar Aparelho ................................................................................................... 82 C.11. UC11 - Desligar Aparelho ............................................................................................. 82 C.12. UC12 - Aguardar Execuo de Comando no Sistema .................................................... 83 C.13. UC13 - Capturar informaes do sistema Local ............................................................. 83 C.14. UC14 - Validar Identificao .......................................................................................... 83 APNDICE D PLANO DE TESTES E RELATRIOS DE EXECUO ................... 83 1. 1.1. INTRODUO .................................................................................................. 87 Finalidade ............................................................................................................. 87

13

1.2. 1.3. 1.4. 2. 2.1. 2.2. 2.3. 2.4. 3. 3.1. 3.1.1. 3.1.2. 3.1.3. 3.1.4. 3.1.5. 4. 4.1.

Informaes Detalhadas ....................................................................................... 87 Escopo .................................................................................................................. 87 Identificao do Projeto ........................................................................................ 87 REQUISITOS DE TESTE ................................................................................. 88 Teste Funcional .................................................................................................... 88 Teste de Interface do Usurio ............................................................................... 88 Teste de Configurao .......................................................................................... 88 Teste de Instalao ............................................................................................... 89 ESTRATGIA DE TESTE ............................................................................... 89 Tipos de Teste....................................................................................................... 89 Teste Funcional .................................................................................................... 89 Teste da Interface do Usurio ............................................................................... 90 Teste de Configurao .......................................................................................... 90 Teste de Instalao ............................................................................................... 91 Ferramentas .......................................................................................................... 91 RECURSOS ........................................................................................................ 92 Papis .................................................................................................................... 92

14

1. INTRODUO

1.1.

Justificativa

A automao est cada dia mais presente em nosso cotidiano, tanto nas residncias quanto nas indstrias e shoppings. Isso se deve vrios fatores, tais como reduo do tempo disponvel das pessoas e a constante preocupao das mesmas com a segurana e economia dos recursos disponveis. A domtica (automao residencial) tem evoludo a cada dia. Atualmente, na maioria dos softwares existentes de automao, os usurios possuem pequenos confortos, como por exemplo, portes eletrnicos, alarmes, luzes com timer, entre outros. O grande objetivo a convergncia de tecnologias fazendo com que estejam conectadas entre si, e que os moradores de uma residncia automatizada tenham o mximo de conforto e segurana que a tecnologia possibilitar (AFONSO, 2006). O campo de pesquisa relacionado ao reconhecimento de voz muito grande, envolvendo vrias reas, tais como jogos, editores de texto, extenso de habilidades para deficientes fsicos, atividades domsticas simples, tais como ligar e desligar aparelhos, sistemas de reconhecimento de fala para possibilitar dilogos inteligentes com mquinas, uso em pesquisas mdicas sobre a voz e rgos relacionados a sistemas de segurana.

1.2.

Motivao

Aps levantamento de informaes sobre diversos produtos disponveis no mercado envolvendo reconhecimento de voz, tais como o Voice Pilot (MICROSOFT, 2003), da Microsoft, e o ViaVoice (IBM, 2009) da IBM, pode-se concluir que ainda existe espao e necessidade de criao de novos produtos nesta rea, pois os j existentes possuem alto custo, exigem hardware e software compatveis e fazem com que exista uma constante dependncia de fabricantes externos. O sistema de automao apresentado neste projeto independente de especificaes de hardware, possibilitando que qualquer computador domstico simples seja capaz de executar perfeitamente todo o sistema.

15

Existe uma ausncia de informaes mais especficas em produtos para a rea de reconhecimento de voz, principalmente no Brasil, sendo que a maioria das referncias encontradas so provenientes de pases da Europa e dos Estados Unidos. Diante destas informaes, este trabalho busca a utilizao e integrao com o componente Microsoft Speech Recognition SDK (LONG, 2003), uma biblioteca de recursos disponibilizada gratuitamente atravs do site da Microsoft (2009), que tem como objetivo auxiliar no desenvolvimento de solues com o reconhecimento de voz. Esta ferramenta foi integrada ao software de Automao Residencial disponibilizando meios para controlar equipamentos domsticos atravs do processamento computadorizado, com baixo custo e grande conforto. Alm disto, o trabalho tem como objetivo a contribuio para o processo de incluso digital dos portadores de necessidades especiais.

1.3.

Objetivos

1.3.1. Objetivo geral

Desenvolver um sistema de automao residencial para reconhecimento de voz, com comandos nicos que ativaro determinados pontos de energia conectados a aparelhos eletroeletrnicos e domsticos, atravs da porta paralela do computador.

1.3.2. Objetivos especficos

Tm-se como objetivos especficos: a) Classificar e reconhecer palavras atravs do componente Microsoft Speech Recognition SDK 5.1; b) Ligar/Desligar o aparelho domstico atravs do reconhecimento de voz; c) Possibilitar que os aparelhos da residncia sejam controlados (Ligados ou Desligados) pelas aplicaes desktop ou web; d) Permitir que o usurio monitore os estados de todos os aparelhos que esto ao seu controle pelas aplicaes desktop e web.

16

1.4.

Estrutura do trabalho

O Captulo 2 (dois) apresenta o estado da arte quanto ao funcionamento do reconhecimento de voz, destacando a complexidade das tcnicas e sua evoluo. Conceitos sobre Agentes Inteligentes diante do componente utilizado, reconhecimento da voz e seu funcionamento. Descreve o Microsoft Speech Recognition, e uma breve descrio sobre automao residencial e seus objetivos. O Captulo 3 (trs) relata toda a modelagem do sistema de automao residencial por comando de voz, passando pela estrutura do hardware, softwares utilizados na construo do projeto, componentes eletrnicos utilizados, os casos de uso e os planos de teste. O Captulo 4 (quatro) apresenta o software que foi desenvolvido seguindo os conhecimentos adquiridos atravs da pesquisa bibliogrfica. O Captulo 5 (cinco) traz a concluso do trabalho e as propostas futuras para melhorias do sistema.

17

2. FUNDAMENTAO TERICA

2.1.

Agentes inteligentes

Basicamente um agente inteligente possui autonomia e executa tarefas, estando sempre vinculado a uma ao disparada automaticamente ou a uma ao externa manual a ser executada. A utilizao de agentes inteligentes cada vez mais difundida no meio computacional, principalmente nas reas de interfaces, gerenciamento de redes, recuperao de informao, sistemas distribudos e automao em geral (BARONE; YEPES, 2002). O termo agente inteligente refere-se a todo ente que possui habilidade, capacidade e permisso para atuar em nome de outro. Em termos usuais, agentes seriam pessoas com um conhecimento ou recurso mais especializado em uma determinada rea, mediante o qual auxiliariam outros indivduos em suas tarefas (BARONE; YEPES, 2002). Como ainda no possvel ter um consenso exato da definio sobre o termo agente inteligente, algumas definies mais relevantes so destacadas de acordo com alguns estudiosos: Segundo Wooldridge e Jennings (1994), so sistemas que apresentam um comportamento que determinado por um processo de raciocnio baseado na representao de suas atitudes, tais como crenas, comprometimentos e desejos. Um sistema pode ser visto como um agente se possuir as seguintes propriedades: autonomia, habilidade social, reatividade, pr-atividade. De acordo com Nwana (1996), agente um componente de software ou hardware capaz de atuar para poder executar uma tarefa em nome de um usurio. Tem-se ainda a definio de Russel e Norvig (1995), segundo o qual a inteligncia est intrinsecamente relacionada com as aes racionais. Agir racionalmente significa agir de forma a alcanar as metas definidas por algum, dadas s crenas deste. Assim, definem de forma genrica que um agente algo que percebe seu ambiente por meio de sensores e atua nesse ambiente por meio de atuadores.

18

2.2.

Reconhecimento de voz

H alguns anos atrs, o reconhecimento de voz era considerado por muitos como sendo apenas obra de fico cientfica. Contudo, desde o final da dcada de 50, instituies de pesquisa j estudavam meios de fazer com que a voz fosse processada pelo computador. De fato, muitas aplicaes esto sendo desenvolvidas atualmente no mercado. Um dos exemplos mais comuns, com os quais a maioria de ns certamente j tivemos contato, a tecnologia de chamada por voz, presente em alguns celulares, rdio comunicadores e outros, existentes no mercado (RABINER; JUANG, 1993).

2.2.1. O que o reconhecimento de voz?

Frequentemente, a expresso reconhecimento de voz utilizada com vrios sentidos, que, na verdade, referem-se a tecnologias distintas. O processamento da voz pode ser aplicado em quatro reas principais: comandos por voz, fala natural, sntese de voz e autenticao de voz. Cada uma destas descrita a seguir: a) O reconhecimento de palavras (utilizado nos comandos de voz) caracteriza-se por processar apenas um pequeno trecho de fala, de modo a identificar que tipo de ao o sistema deve tomar. Este processamento torna-se simplificado, uma vez que o sistema j sabe de antemo quais os comandos disponveis para o utilizador. Este o caso de centrais de atendimento telefnico, onde o utilizador pode usar a voz em vez de pressionar botes (GUILHOTO, 2002). b) O reconhecimento de fala natural (ou fala contnua) envolve uma ou mais frases, isto , vrias palavras que tenham um sentido semntico. A fala reconhecida ento convertida em texto. O tipo de aplicao mais comum para essa tecnologia o ditado de documentos, para uso em processadores de texto, escrita de e-mails, etc. (GUILHOTO, 2002). c) A sntese de voz o processo contrrio ao do reconhecimento da fala. O sintetizador recebe um texto na forma digital e transforma-o em ondas sonoras, ou em outras palavras, fazendo uma leitura em voz alta. Um programa de sntese de voz til nas situaes em que o utilizador no pode desviar a ateno para ler algo ou no tem

19

acesso ao texto escrito, seja porque a informao est distante ou porque o utilizador tem alguma deficincia visual (GUILHOTO, 2002). d) A autenticao de voz baseia-se, por sua vez, no fato de que a voz nica para cada pessoa e pode ser utilizada para identificar algum. Os sistemas de autenticao podem ser aplicados para permitir o acesso de uma pessoa a uma determinada funo. Um telefone celular com esse recurso de voz, por exemplo, pode ser habilitado para que somente seu dono tenha o direito de us-lo (GUILHOTO, 2002).

2.2.2. Como funciona?

O reconhecimento de voz evoluiu bastante ao longo dos ltimos anos. Antes, o reconhecimento processava-se apenas em modo discreto, isto , o utilizador tinha que fazer uma pausa entre cada palavra ditada. Atualmente, o utilizador j tem a possibilidade de efetuar ditados contnuos ao computador. Alm disso, o reconhecimento tambm se tornou mais inteligente, uma vez que possui um conjunto de regras gramaticais incorporadas permitindo, assim, uma melhor percepo do que est sendo ditado. Diferentes tcnicas so utilizadas no processo do reconhecimento da voz humana, que transforma os sinais de udio digitais provenientes da placa de som em voz reconhecida. Estes sinais passam por diversas etapas, ao longo das quais so aplicados mtodos matemticos e estatsticos junto a sua gramtica de forma a tentar compreender o que est a ser ditado (WIKIPEDIA, 2009e).

2.2.2.1.

Transformao PCM

Quando o utilizador fornece um comando de voz pelo microfone, este transmitido para a placa de som, sendo o sinal analgico, possivelmente amostrado 16.000 vezes por segundo. Em seguida, este digitalizado atravs de uma tcnica chamada Pulse Code

20

Modulation1 (PCM) (WIKIPEDIA, 2009e). Esta forma digital do sinal nada mais do que uma stream2 (WIKIPEDIA, 2009e) de amplitudes que representa o sinal analgico. No entanto, o software de reconhecimento de voz no pode trabalhar diretamente com base nesta stream, dado que muito complicado procurar padres que possam ser relacionadas com a voz ditada atualmente. por este motivo que a voz transformada num conjunto de bandas de frequncia discreta atravs de uma tcnica chamada Fast Fourier Transform3 (FFT)

(WIKIPEDIA, 2009b). Esta consiste numa amostragem do sinal de udio em cada centsimo de segundo no domnio da frequncia. Assim, a stream de entrada agora representada por um conjunto de bandas de frequncia discretas, que podem ser facilmente identificadas pelos componentes de frequncia de um som. A partir destes componentes, possvel aproximarnos do que o ouvido humano consegue captar. O passo seguinte envolve o reconhecimento destas bandas de frequncia. Para isso, o software de reconhecimento de voz possui uma base de dados de milhares de frequncias ou fonemas. Um fonema a menor unidade de fala de um idioma ou dialeto. As dices dos fonemas so diferentes entre si, de tal forma que, ao substituir um fonema numa palavra, esta passa a ter um significado completamente diferente. Por exemplo, se substituir o fonema b na palavra bato pelo fonema m, o significado ser alterado para mato. A base de dados de fonemas usada para comparar e identificar as bandas de frequncia de udio que foram amostradas. Se, por exemplo, a frequncia de entrada tem um som igual ao t, o software tentar compar-lo com o respectivo fonema na base de dados. Ao encontrar o fonema correspondente, ser atribudo ao sinal de entrada o nmero identificador do fonema na base de dados, tambm chamado de feature number4. Graas s transformadas de Fourier e base de dados de fonemas, tornou-se possvel passar de um vetor PCM com 16.000 entradas para um vetor com apenas 100 entradas (por segundo), transformando o processo de reconhecimento em tempo real.

Representao digital de um sinal analgico, onde a magnitude do sinal amostrado regularmente em intervalos uniformes, ento quantizados para uma srie de smbolos em um valor numrico (geralmente binrio) do cdigo (WIKIPEDIA, 2009e). 2 Pode ser definido como um fluxo de dados em um sistema computacional. Quando um arquivo aberto para edio, todo ele ou parte dele fica na memria, permitindo assim alteraes, por isto somente quando ele fechado, tem-se a garantia de que nenhum dado se perder ou ser danificado (WIKIPEDIA, 2009f). 3 um algoritmo eficiente para calcular a transformada de Fourier discreta e a sua inversa (WIKIPEDIA, 2009g). 4 Nmero identificador de cada fonema ditado, na base de dados do componente reconhecedor de voz.

21

2.2.2.2.

Padres acsticos

O comando de voz composto por diversos padres acsticos e justamente com eles que so formados todos os fonemas para o reconhecimento da voz. Em primeira instncia o processo parece ser simples, a cada banda de frequncia seria associado o seu fonema correspondente, o software, em seguida, juntaria os fonemas em palavras e o computador passaria a compreender, aparentemente, a voz humana. No entanto, o processo apresenta maiores complexidades quando visualizado de forma detalhada. Podem existir tantas variaes no som, causadas pelo modo como as palavras so pronunciadas, que quase impossvel localizar a entrada na base de dados correspondente ao som. Se no bastasse, pessoas pronunciam a mesma palavra de formas diferentes e, para complicar ainda mais, o ambiente tambm adiciona componentes de rudo em situaes nas quais o utilizador encontra-se em ambientes ruidosos. Assim sendo, o reconhecedor de voz pode apresentar resultados diferentes dependendo da localizao do utilizador e da qualidade do microfone utilizado. Alm disso, o prprio som de um fonema varia conforme os fonemas que o rodeiam e o som produzido por um fonema altera-se desde o incio da sua pronncia at o seu fim. Sendo assim, o software precisa usar tcnicas complexas para aproximar o som de entrada e descobrir quais os fonemas que esto envolvidos. O rudo de fundo e os problemas de variao so solucionados com recurso de mtodos estatsticos, ao permitirmos que um feature number seja usado por mais do que um fonema. Isto apenas possvel porque a durao de um fonema longa se comparada com a frequncia de amostragem de um centsimo de segundo. Quer dizer que enquanto um fonema est a ser pronunciado, lhe so atribudos vrios feature numbers. Admitindo que o software j foi treinado, ou seja, j foram estabelecidas as probabilidades de ocorrncia de um determinado feature number num fonema, resta-nos calcular a probabilidade do conjunto de feature numbers registrados ser realmente o fonema (GUILHOTO; ROSA, 2001).

22

2.2.2.3.

Modelos lingusticos

Consiste em reconhecer palavras, comparando as combinaes de fonemas com as palavras contidas no dicionrio utilizado pelo programa. Contudo, isto no assim to simples: o utilizador pode se atrapalhar ao pronunciar uma palavra que no faz parte do dicionrio; o software de reconhecimento de voz pode enganar-se ao reconhecer uma palavra; ainda no se sabe onde comea uma palavra e acaba a outra; o processamento de voz continua incomportvel no nvel de exigncias de CPU e de memria. por isto tudo que se torna necessrio para o reconhecedor de voz restringir as possibilidades do que est a ser ditado, atravs do recurso de modelos lingusticos e gramticas adequadas. Se o sistema for programado para fazer o reconhecimento de comandos, o modelo lingustico mais simples do que se fosse para reconhecimento da linguagem natural. Nesse caso, o dicionrio contm todas as formas possveis de pronunciar cada comando registrado no sistema. Para a fala contnua, preciso que o sistema utilize um dicionrio com todas as palavras da lngua ou pelo menos com todas as palavras usadas com maior frequncia. As condicionantes no ficam por aqui. O dicionrio deve tambm registrar as classes gramaticais de cada vocbulo. Alm disso, preciso construir um modelo gramatical com as construes possveis e a probabilidade de ocorrncia de cada tipo de construo. Com a ajuda destas informaes, o software de reconhecimento de voz tem condies para concluir que as frases foi trs anos e foi a trs anos no esto corretas, mas sim foi h trs anos. Mais uma vez, para o caso do ditado discreto (reconhecimento de comandos), as gramticas so muito mais simples, uma vez que o sistema sabe com antecedncia quais as palavras que esto espera. Antes disto, o software deve processar os fonemas para identificar corretamente o agrupamento de palavras. Os fonemas contidos em foi h trs anos sugerem termos como foia e trzanos, que no esto no dicionrio de vocbulos conhecidos e, assim, devem ser descartados. Por outro lado, ao ouvir a palavra comunicao, o reconhecedor de voz ter que decidir se ouviu comunica ao ou um nico termo. O modelo gramatical vai indicar qual a construo mais plausvel. Os programas mais recentemente implementados fazem a anlise de toda a frase para ampliar a preciso do reconhecimento tomando, assim, vantagem do fato da linguagem apresentar uma estrutura. Por exemplo, supondo que o reconhecedor de voz tem dvidas entre a escolha das palavras hora e ora, mas sabe que a palavra anterior uma, ento est na possibilidade de efetuar a escolha certa porque sabe que a sequncia uma hora faz mais sentido do que a

23

sequncia uma ora. A tcnica que est por detrs disto usa trigramas, baseados em modelos estatsticos, que calculam a probabilidade de uma determinada sequncia de palavras ocorrer. A maioria dos pacotes de reconhecimento da fala vem com dicionrios que contm cerca de 150 mil palavras do portugus. Os sistemas na lngua inglesa tambm trabalham com aproximadamente a mesma quantidade de termos no dicionrio (GUILHOTO; ROSA, 2001). .

2.3.

Microsoft speech recognition SDK

2.3.1. Introduo

A Microsoft est h mais de uma dcada realizando pesquisas sobre sistemas de reconhecimento de voz, inspirado a fico cientifica, e sendo atribudos a filmes, jogos, sistemas de automao e vrios outros (RABINER; JUANG, 1993). O Microsoft Speech SDK (SDK) um kit de desenvolvimento de software para construo de agentes de fala e aplicaes para o Microsoft Windows. A interface de programao de aplicaes de fala (SAPI (Speech Application Programming Interface)) (MEGATTS, 2009) reduz de forma substancial o cdigo requerido para que se possa utilizar em um projeto o reconhecimento de voz (para mais informaes sobre SAPI, ver seo dedicada no item 2.3.2). Desta forma tenta-se fazer com que a tecnologia de fala torne-se mais accessvel e robusta para as novas aplicaes que iro surgir (MICROSOFT, 2002). Este kit de desenvolvimento suporta OLE Automation5 (WIKIPDIA, 2009e) o que permite a portabilidade do kit para as linguagens ou ambientes de programao que possuem suporte a estas caractersticas, como Microsoft Visual Studio, Borland Delphi, C, C++. Existem dois tipos bsicos de mquinas SAPI que so o sistema de Texto para Fala (TF) e o Reconhecimento de Voz (RV). O sistema de TF sintetiza o texto e arquivos para serem
um mecanismo para a comunicao entre processos baseado em Component Object Model (COM) (MICROSOFT, 2002), introduzido pela Microsoft. Ele fornece uma infraestrutura na qual aplicaes (chamadas de controladores de automao) podem acessar e manipular dados compartilhados (chamados objetos de automao) que so exportados por outras aplicaes. Ela uma evoluo Dynamic Data Exchange (DDE) ( uma tecnologia para a comunicao entre mltiplas aplicaes executadas em Microsoft Windows e OS/2 introduzida pela Microsoft em 1987.), um mecanismo mais antigo para que aplicaes controlem umas as outras. Assim como em DDE, em OLE Automation o controlador de automao o cliente, e a aplicao exportando os objetos de automao, o servidor.
5

24

ouvidos usando vozes sintticas. O reconhecedor de fala converte a voz humana falada no udio para texto e arquivos. SAPI controla um grande nmero de aspectos de um sistema de fala, tais como: a) Controle de entrada de udio b) Carrega arquivos de gramtica (se foi criado dinamicamente ou criado a partir de dados que j existiam na memria); c) Compila padres SAPI XML em formato de gramtica, converso de formatos gramaticais; d) Compartilhamento de reconhecimento atravs de mltiplas aplicaes utilizando agentes compartilhados; e) Armazena dados e encaminha os resultados para anlises posteriores. O reconhecedor de voz realiza as seguintes tarefas: a) Utiliza a interface de gramtica do SAPI e carrega os comandos ditados; b) Realiza o reconhecimento; c) Retorna a partir do SAPI informaes sobre a gramtica e o estado das alteraes; d) Gera reconhecimento e outros eventos para retornar informaes a aplicao.

2.3.2. SAPI

A interface da programao das aplicaes de voz (Speech Application Programming Interface SAPI) uma API (Application Programming Interface) desenvolvida pela Microsoft que permite a utilizao do reconhecimento de voz (Speech Recognition) e sntese de voz (TTS Text To Speech) nas aplicaes do Windows. Em geral, todas as verses desta API foram projetadas para que os programas consigam comunicar de uma maneira fcil, acessvel e atravs de diversas linguagens de programao com o software que reconhece a voz ou que converte o texto para voz. Nas verses, de 1 a 4 as aplicaes comunicam diretamente com os sistemas de voz. Estas APIs incluam definies de interface abstratas com os diversos programas e no necessitavam de mais recursos. Entretanto, na famlia SAPI 5 as aplicaes e os sistemas no comunicam diretamente, associando a fala que est em execuo (sapi.dll) ao respectivo componente. Existe uma API que executa um destes

25

componentes para as aplicaes e outro para o conjunto das relaes entre os motores de voz. Normalmente em SAPI 5, os programas do a ordem para: a) Chamar atravs da API uma gramtica para o reconhecimento da voz; b) Iniciar o reconhecimento de voz; c) Fornecer o texto ao sintetizador para ser convertido em voz. O componente sapi.dll em execuo interpreta estes comandos e processa-os, momento no qual torna-se necessrio chamar o motor de voz que far a interface. Um exemplo o carregamento do arquivo de gramtica que feito em tempo real e, posteriormente, os seus dados so passados para o reconhecedor de voz, no qual so atualizados para serem utilizados. Os motores do reconhecimento e sntese de voz tambm geram eventos quando esto sendo processados (por exemplo, uma expresso vocal quando reconhecida ou o final de uma palavra sintetizada).

2.3.3. Gramtica

Para a Microsoft (2002), a gramtica define as palavras que uma aplicao pode reconhecer. O reconhecimento da fala (RF) baseado na gramtica. Uma aplicao pode realizar o RF usando trs diferentes tipos de gramtica. Cada gramtica utiliza-se de uma estratgia diferente para reduzir a possibilidade de sentena a ser reconhecida aumentando, assim, as chances de assertividade durante o processo de RF. a) Gramtica em formato arquivo texto - Este tipo de gramtica, que definido em arquivo texto, tem o seu formato similar a arquivos .ini. Este arquivo consiste de um nmero de sees. Cada seo identificada por uma nova linha com o nome da seo entre colchetes []. As sees tm um nmero de valores, identificadas pelo nome do valor, seguido do sinal de igual = e finalmente pelo valor. Comentrios podem ser acrescentados no arquivo. Para isto basta acrescentar ponto e virgula ; ou duas barras //no incio da linha. A vantagem do uso de listas consiste no fato das aplicaes poderem setar facilmente novos parmetros para a sua lista em tempo de execuo sem ter que recompilar a gramtica. O Anexo 1 possui um exemplo de uma gramtica. b) Gramtica livre - Aqui so utilizadas regras de uso, que predizem as prximas palavras, ou seja, reduz o nmero de candidatos para avaliar e para reconhecer a

26

prxima palavra. Para iniciar o uso deste tipo de gramtica no RF, a aplicao, primeiro deve ativar uma regra especfica dentro da gramtica. Isto coloca a regra dentro do n inicial do reconhecimento. Em outras palavras, para a regra ser utilizada, deve ser colocado no Start de regra. Este tipo de padro requer uma lista de todas as regras que podem ser ativadas. Contudo, estas listas devem optar por ter sempre um nmero mnimo de regras, pois, desta forma, a eficincia da gramtica ser aumentada crescendo, assim, a preciso do reconhecimento. Esta ferramenta muito poderosa devido habilidade de recurso, mas tambm pode se tornar muito complexa. Gramtica de ditado - Uma gramtica de ditado define um contexto para falar, que identifica o assunto do ditado, o tipo de estilo de idioma que esperado, e que ditado foi acabado no passado. Uma gramtica de ditado no contm informao sobre o modelo de idioma (a mquina tem aquela informao) nem especifica tudo das palavras que podem ser faladas. Especifica somente palavras incomuns ou grupos esperados de palavras. Existem algumas caractersticas que podem influenciar a gramtica durante o seu processamento. O peso da gramtica um destes fatores, utilizado a cada transao para alterar a semelhana dos mesmos j iniciados. Este peso uma probabilidade e a faixa de valores permitida est entre 0 e 1. Os com valores 0, sempre sero interpretados como transies impossveis de passarem a ser reconhecidos. Por definio, as gramticas no possuem pesos definidos, para cada transio o peso ser 1 dividido pelo nmero de transies fora do estado de precedncia (O&A PRODUCTIONS, 2009).

2.3.4. Regras

Cada gramtica pode conter uma ou mais regras. Podem ser de alto nvel, indicando que podem ser ativados para o reconhecimento. Cada uma tem um estado inicial, os quais so conectados por vrios tipos de transio: a) Uma palavra de transio indica uma palavra para ser reconhecida; b) Uma regra de transio indica uma referncia para uma sub-regra; c) Transies especiais que caracterizam ditados especiais dentro de um contexto

27

2.3.5. Contexto livre de gramtica

As referncias para sub-regras podem ser recursivas, podem referenciar a elas prprias, um ao outro de forma direta ou indiretamente. Notificaes de regras chamam o agente para informar quando regras so adicionadas, alteradas ou removidas. Existem cinco aes que so tomadas na realizao das regras: a) Novas regras podem ser adicionadas; b) Regras podem ser removidas; c) Regras podem ser ativadas; d) Regras podem ser desativadas para o reconhecimento; e) Regras podem ser invalidadas, o qual uma maneira utilizada para editar atravs de uma aplicao e deste modo o agente precisa fazer uma leitura nova do contedo da regra.

2.4.

Automao residencial (domtica)

A domtica, como chamada a automao residencial, tem como principal objetivo a integrao de todos os equipamentos residenciais, vinculando-os em uma s tecnologia. Independentemente dos problemas, a domtica visa atender s necessidades de usurios domsticos em termos de conforto e segurana, e tambm apresenta algumas solues em termos de comunicao de dados.

2.4.1. Objetivos da automao residencial

A domtica visa solucionar uma srie de problemas usando eletrnica e conceitos muitas vezes vindos diretamente da fico cientfica.

O objetivo da automao residencial integrar iluminao, entretenimento, segurana, telecomunicaes, aquecimento, ar condicionado e muito mais

28

atravs de um sistema inteligente programvel e centralizado. Como consequncia fornece praticidade, segurana, conforto e economia para o dia a dia dos usurios (ABREU, 2003).

De acordo com Abreu (2003), a automao residencial se divide em trs tipos:

a) Sistemas autmatos (stand alone): so divididos mdulos entre os cmodos, onde cada um pode ser transmissor ou receptor e os mdulos (que podem controlar luzes) podem ser controlados atravs de uma central na cabeceira da cama. O sistema pode ser montado aos poucos; b) Sistemas integrados com controle centralizado: a central inteligente, as configuraes podem ser simples ou complexas, inclui aes ativadas por eventos, equipamento controlado via infravermelho podem ser programados pela central; c) Sistemas de automao complexos: integrao total dos sistemas domsticos, a residncia precisa ser projetada para essa automao com cabeamento estruturado. Segundo Abreu (2003), os equipamentos, acessrios e tcnicas comumente utilizadas na automao residencial so: Telefonia e transmisso de dados, Aquecimento e ar condicionado, Iluminao, Home theater e som ambiente, Vigilncia, alarme, iluminao de segurana, e circuito interno de TV, Aparelhos eletrodomsticos, Cortinas e portas automticas, Home offices.

29

3. HARDWARE

3.1.

Eagle Layout Editor

O Eagle Layout Editor (CADSOFT ONLINE, 2009) uma ferramenta de fcil uso e poderosa para projeto de placas de circuito impresso (PCB). Desenvolvida pela empresa CadSoft Online (2009), o EAGLE veio para facilitar a vida de estudantes e profissionais que trabalham com desenvolvimento de placas de circuito impresso. Para os estudantes, ou aqueles que necessitam de um pequeno projeto, a CadSoft disponibiliza uma verso freeware do EAGLE. Contudo, algumas funcionalidades mais profissionais encontram-se desativadas. O EAGLE permite o desenho de circuitos eltricos, possibilitando colocar os smbolos representativos dos componentes, o que facilita a visualizao do projeto em si. A Figura 1 mostra uma viso geral do circuito, desenvolvido no EAGLE, com todas as conexes entre os componentes. Foi definido a seguinte estrutura de conexes: SV9 Conexo com a porta paralela do computador CON_PM e CON_PF Conexes para interligar o Buffer de proteo da porta paralela com a placa dos LEDs SV1 a SV8 Conexo da placa dos LEDs com o driver de acionamento SV10 Conexo do driver de acionamento com a placa dos LEDs TRAFO Ligao do transformador a fonte

30

Figura 1.

Esquema eltrico geral do circuito

Na Figura 2 mostra a placa dos LEDs. Esta placa interligada com a placa de driver de acionamento (Figura 3) que est junto ao equipamento. Cada conexo identificada por um LED verde que, quando aceso, indica que o equipamento est ligado. Esta placa de LEDs, como pode ser observado, foi desenvolvida para acoplar at 8 drivers de acionamento, ou seja, at 8 equipamentos. Esta placa composta apenas por resistores e diodos emissores de luz, sendo que finalidade dos resistores limitar a corrente que deve circular em cada led. Um led

31

padro, para que acenda com intensidade razovel, deve ser percorrido por uma corrente de +/- 10mA. Um led oferece uma queda de tenso de +/- 1.8V quando percorrido com sua corrente nominal. Portanto, para calcular o valor dos resistores usamos a lei de ohm:

V=R*I Onde: V = tenso (que no caso 5V - 1.8V de queda no led) R = resistncia que queremos encontrar I = corrente que deve circular pelo led, que no nosso caso 10mA = 0.01A Ento temos: 5V-1.8V = R*0.01A R = 3.2V/0.01A R = 320ohms Portanto, o valor comercial mais prximo para os resistores de 320ohms 330ohms.

Figura 2.

Placa do Leds

O conjunto dos hardwares tambm composto pelo driver de acionamento, que basicamente um transistor operando como chave para ligar ou desligar o rel, representado como (K2 351). Este circuito acoplado junto a cada equipamento, realizando o trabalho de

32

fechar ou abrir o circuito para passagem da corrente eltrica. No conector SV10 temos 3 sinais que so identificados da seguinte forma. 1=5V, 2=GND(terra), 3=Sinal para ligar/desligar o transstor e, por consequncia, o rel. Explicando mais a fundo, o driver de acionamento recebe a alimentao (5V e GND) e o sinal para ligar/desligar o equipamento. Antes de chegar ao transstor, o sinal deve passar por um resistor para limitar a corrente que circula pela base do mesmo. Quando o sinal est presente, uma corrente circula pela base fazendo com que este conduza, e uma corrente circule pelo rel e este tenha seus contatos fechados, ligando o equipamento. O diodo em antiparalelo com o rel tem a funo de prover um caminho para a corrente quando o rel desligado, protegendo o transstor contra uma alta tenso que gerada pela bobina do rel. geralmente chamado de "diodo de roda livre". A alta tenso acontece pelo fato da bobina do rel ser um indutor, que tem a caracterstica de manter a corrente que circula por ele constante, quando esta corrente interrompida bruscamente e, na tentativa de mant-la constante, uma alta tenso aparece nos terminais do indutor. Esta alta tenso, por sua vez, pode ser suficiente para danificar o transstor caso no haja outro caminho para a corrente no indutor. Sobre o rel utilizado no projeto, este composto internamente por duas chaves, denominado (rel com contatos duplos). As chaves so nomeadas K1 e K2. Cada chave tem os terminais S, P e O (S1, P1, O1 e S2, P2, O2). Como no projeto necessria apenas uma chave, as duas foram ligadas em paralelo formando, assim, uma nica chave com maior capacidade de corrente. A Figura 3 destaca o driver de acionamento e seus contatos dos terminas que so ligados no paralelo.

Figura 3.

Circuito do driver de acionamento

33

P o terminal comum de cada chave. S o terminal "Normalmente Aberto" de cada chave, ou seja, quando o rel est desenergizado, esta chave (formada por P e S) est aberta. O o terminal "Normalmente Fechado" de cada chave, ou seja, quando o rel est desenergizado, esta chave (formada por P e O) est fechada. Os equipamentos so conectados aos terminais P e S ou seja, TP1 e TP2 de forma que, quando o rel for energizado, esta chave fechada e o equipamento ligado. O terminal TP3 fica livre, servindo apenas caso seja necessrio mudar o sentido do bit. Ao interligar TP1 e TP2 e o driver receber 0 (zero), o mesmo ser desligado e quando receber 1(um) ser ligado. Como o equipamento foi interligado entre os terminais TP1 e TP3, quando o driver de acionamento receber o bit 1(um) o equipamento ser desligado. O circuito do buffer para proteo da porta paralela mostrado na Figura 4. Este circuito possui a funo de proteger a porta paralela e, ao mesmo tempo, fornecer os nveis de corrente eltrica suficientes para ativar os Circuitos Integrados. Estes buffers de proteo esto acoplados junto ao circuito integrado (CI) com referncia (74LS244N). Dentro do CI existem 8 buffers, que tm, neste prottipo, a funcionalidade de proteger a porta paralela fornecendo mais corrente do que a mesma pode fornecer. Assim, os circuitos que esto ligados podem exigir maior corrente, sendo que o CI capaz de fornec-la sem requerer da porta paralela protegendo-a contra sobrecarga de corrente. O buffer de proteo composto por um circuito integrado (CI) e um jumper. O mesmo dividido em dois grupos de 4 buffers. Cada grupo pode ser habilitado/desabilitado separadamente atravs do pino representado pela letra G na Figura 4. No desenho, apenas para fins de representao, parece ter 2 CI's, o que se deve ao fato da existncia dos dois grupos de buffers citados acima O jumper representado pela sigla JEN. Como dito acima, os buffers podem ser habilitados/desabilitados atravs do pino de enable 'G'. Quando o jumper est na posio 1-2, os buffers ficam sempre habilitados, quando o jumper est na posio 2-3, os buffers podem ser habilitados atravs do pino 1 da porta paralela, ou seja, podem ser habilitados via software, colocando o pino 1 em nvel baixo (0 volts). Habilitar o buffer significa que o sinal que estiver presente na entrada do buffer, tem sua corrente amplificada e aparece na sada do buffer. Desabilitar o buffer significa que suas sadas ficaro em alta impedncia independente do sinal que estiver na entrada (o buffer no deixa o sinal passar).

34

Figura 4.

Circuito do buffer para proteo da porta paralela

Para finalizar a composio de todo o projeto de hardware a Figura 5 mostra o circuito da fonte de alimentao regulada, onde o nome j atribui funcionalidade, que alimentar todo o circuito com uma tenso de 5 volts regulada.

Figura 5.

Circuito da fonte de alimentao regulada (+5V)

Todos estes circuitos demonstrados acima foram desenvolvidos no programa EAGLE e, posteriormente, convertidos para outro formato para a criao dos adesivos realizao da plotagem em grfica. A descrio da criao da Placa de Circuito Impresso (PCI) ser apresentada no Apndice A.

35

3.2.

Estrutura do Hardware

A estrutura do hardware fundamental para entendimento do projeto, atravs desta estrutura possvel compreender detalhes tcnicos e funcionais do hardware. Primeiramente necessrio enfatizar que todo o circuito trabalha com baixa tenso de 5 Volts, sendo responsvel apenas por acionar o rel fechando o circuito da corrente eltrica do aparelho. O funcionamento de todo o projeto pode ser compreendido da seguinte forma, somente a porta paralela envia dados para o circuito. O circuito no envia nada de volta para a porta paralela, portanto no necessrio usar os sinais de entrada da porta paralela. O circuito recebe 8 sinais de controle (nvel 0 ou 1) para ativar ou desativar os equipamentos, estes sinais seguem o seguinte caminho: Paralela->Buffer Octal->Drivers dos rels->Rels. Para que o sinal eltrico proveniente da porta paralela do computador seja capaz de acionar o rel e, por consequncia, ligar o equipamento conectado ao mesmo, ele deve passar por alguns estgios de condicionamento. O primeiro estgio um buffer octal, ou seja, possui internamente oito buffers individuais, cuja principal finalidade proteger a porta paralela impedindo que os circuitos seguintes drenem uma corrente maior do que ela capaz de fornecer. Caso esta sobrecarga acontea, a corrente ser drenada do buffer octal ao invs de ser drenada da porta paralela. O buffer funciona como um mini amplificador de corrente. O segundo estgio tambm um amplificador de corrente, mas, desta vez, com uma capacidade bem maior se comparado com o buffer octal. composto principalmente por um transstor operando como uma chave digital. Este transstor, quando acionado, fornece toda a corrente necessria para ligar o rel (esta corrente cerca de 10 vezes maior do que a porta paralela capaz de fornecer!) e, consequentemente, ligar o equipamento conectado ao circuito do rel. Nesta estrutura foram utilizados diversos componentes eletrnicos todos eles esto descritos no Apndice B

36

A Figura 6 possibilita melhor entendimento de todo o processo e funcionamento quando implementado. O funcionamento simples, o computador recebe um comando de voz atravs do microfone normal padro, este comando de voz processado no software de automao e os sinais so transmitidos via porta paralela para a placa me. A mesma ligada em uma fonte de energia. Cada equipamento interligado junto ao driver de acionamento atravs do cabo de energia. O driver de acionamento ligado a uma fonte de energia e interligado sada da placa me, identificada pela porta e pelos LEDs, na parte superior. Com isso, quando o comando de voz for totalmente reconhecido, o sinal, aps chegar placa me, j capaz de identificar qual equipamento est relacionado ao comando de voz que est cadastrado junto ao banco de dados do software de automao. Com isto, a placa me envia o sinal ao driver de acionamento onde feita a abertura ou fechamento do rel, permitindo passagem da corrente eltrica at o equipamento.

Figura 6.

Diagrama das fases do processo

37

3.3.

Porta paralela

A utilizao da porta paralela neste projeto foi atribuda pelo fato de ser uma tecnologia que, apesar de no ser mais comercializada, permite acessibilidade e facilidade nos estudos e pesquisas acadmicas.

3.3.1. Introduo

A porta paralela uma interface de comunicao entre o computador e um perifrico. Quando a IBM criou seu primeiro computador pessoal, nos meados de 1960, a ideia era conectar a essa porta uma impressora, no entanto, so vrios os perifricos que ainda

utilizam-se desta porta para enviar e receber dados para o computador (exemplos: Scanners, Impressoras e outros) (ROGER.COM, 2009).

3.3.2. Modelos de porta paralela

Existem trs tipos de modelos de porta paralela, a transmisso unidirecional, transmisso bidirecional, e a porta avanada chamada de ECP. a) Transmisso unidirecional - A porta paralela SPP (Standard Parallel Port) pode chegar a uma taxa de transmisso de dados a 150KB/s. Comunica-se com a CPU utilizando um barramento de dados de 8 bits. Para a transmisso de dados entre perifricos so usado 4 bits por vez. b) Transmisso bidirecional - A porta avanada EPP (Enhanced Parallel Port) chega a atingir uma taxa de transferncia de 2 MB/s. Para atingir essa velocidade, ser necessrio um cabo especial. Comunica-se com a CPU utilizando um barramento de dados de 32 bits. Para a transmisso de dados entre perifricos so usado 8 bits por vez.

38

c) A porta avanada ECP (Enhanced Capabilities Port) - Tem as mesmas caractersticas que a EPP, porm, utiliza DMA (acesso direto memria), sem a necessidade do uso do processador, para a transferncia de dados. Utiliza tambm um buffer FIFO de 16 bytes (ROGER.COM., 2009). O buffer FIFO armazena dados temporrios at que sejam transferidos pra outro lugar.

3.3.3. Endereos da porta paralela

O sistema operacional, Windows ou at mesmo o antigo DOS, nomeia as Portas Paralelas chamando-as de LPT1, LPT2, LPT3, etc. Contudo, a porta fsica padro do computador geralmente a LPT1 e os endereos de cada porta dependem da configurao de seus registradores, ou seja, cada porta paralela formada por 3 registradores. O registrador de dados, o registrador de status e o registrador de controle. Cada um desses registradores possui um endereo diferente. Por exemplo, o endereo 0x378 (tambm chamado de endereo base da LPT1) o endereo do registrador de dados da porta paralela LPT1. O endereo 0x379 (0x378 + 1) o endereo do registrador de status da LPT1 e o endereo 0x37A (0x378+2) o endereo do registrador de controle da LPT1. Portanto, cada LPT tem o seu endereo base, LPT1 = 0x378 e LPT2 = 0x278 e assim por diante. O quadro abaixo mostra os endereos hexadecimais e decimais de cada porta. Nome da Porta LPT1 Endereo de memria 0000:0408 Endereo da Porta 888 decimal 632 decimal Descrio Endereo base Endereo base

378 hexadecimal LPT2 278 0000:040A hexadecimal QUADRO 1 Endereos da porta paralela Fonte: RogerCom (2009).

3.3.4. Conector DB25

O DB25 um conector no qual o cabo paralelo se conecta ao computador para o envio e recebimento de dados. No DB25, um pino est em nvel lgico 0 quando a tenso eltrica no

39

mesmo est entre 0 a 0,4v. Um pino se encontra em nvel lgico 1 quando a tenso eltrica no mesmo est acima de 3.1 e at 5v. A Figura 7 mostra o conector padro DB25, com 25 pinos, no qual cada pino tem um nome que o identifica:

Figura 7.

DB25 que fica atrs do micro Fonte: RogerCom (2009).

A Figura 8 mostra o conector macho do cabo paralelo e suas referncias para interligao entre o DB25 fmea. As conexes D0 at D7 so as conexes de sada, justamente as usadas no sistema de automao, apresentadas na Figura 10.

Figura 8.

Conector macho do cabo paralelo Fonte: RogerCom (2009).

40

Figura 9.

Foto do conector DB25 macho do cabo paralelo Fonte: RogerCom (2009).

Todo este esquema necessrio para saber como enviar dados ou receber dados atravs da porta paralela, portanto a Figura 10 mostra claramente os pinos referentes s entradas e as sadas.

Figura 10.

Esquema de funcionamento do DB25 no modo SPP Fonte: RogerCom (2009).

3.3.5. Conector macho Centronics 36 pinos

O conector macho Centronics 36 pinos faz parte do cabo da impressora e atravs deste que a impressora conectada ao computador. Ao desenvolver um projeto que utilize uma interface para conectar ao computador, pode-se utilizar um conector centronics 36 pinos

41

fmea, isso faz com que a interface aproveite o cabo da impressora, encontrado facilmente em lojas de informtica. A Figura 11 abaixo mostra o conector Centronics 36 pinos e sua descrio:

Figura 11. Conector centronics 36 pinos Fonte: RogerCom (2009).

O quadro abaixo mostra as descries dos pinos do conector centronics, a partir desta tabela que possvel fazer as conexes necessrias para o projeto de automao. Nmero do Pino 1 2 ao 9 10 11 12 13 14 15 ao 18 19 ao 30 31 32 33 34 a 35 36 Descrio Strob Dados (D0...D7) Ack Busy Paper End Select Out Auto Feed No conectado GROUND Init Error GROUND No conectado Select In

QUADRO 2 - Significado de cada pino do conector Centronics Fonte: RogerCom (2009).

42

3.3.6. Ligando e desligando aparelhos externos atravs da porta paralela

Como j comentado, a porta paralela no usada somente com uma impressora, possvel desenvolver um circuito eletrnico e acopl-lo a essa porta e, atravs de um programa especfico, enviar sinais digitais para control-lo. Estes foram os passos utilizados a princpio para montar tanto o hardware quanto o software de automao. Conforme o projeto de automao, possvel controlar at 8 equipamentos simultneos. Diante disto, a Figura 12 esboa um prottipo de hardware utilizando LEDs. O mesmo ser utilizado para entendimento dos pinos de sada do conector DB25. Na Figura 12, observe que o terminal do catodo (K) dos LEDs est ligado aos terminais dos resistores, que esto ligados atravs do cabo aos pinos do DB25. Se invertidos, o circuito no funcionar. Observe a enumerao dos pinos do conector DB25. Os pinos D0 a D7 so os pinos de sada, estes pinos so os responsveis pelo envio de dados ao equipamento. Sinais so enviados individualmente por cada pino, possibilitando o total controle do hardware por meio do software (ROGER.COM., 2009).

Figura 12.

Esboo da conexo do conector DB25 Fonte: RogerCom (2009).

O sistema de automao envia Porta Paralela oito bits, um a cada vez que o usurio pressionar o boto, ou atravs do comando de voz. No entanto a lgica do software atribui um operador lgico OU, sendo possvel tambm ligar e desligar vrios equipamentos ao mesmo tempo. A sequncia de bits gerada vista no quadro abaixo.

43

Decimal 128 64 32 16 8 4 2 1

Hexadecimal 80 40 20 10 8 4 2 1

Binrio 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001

Pino/Fio ativo (5V) 9 - D7 8 - D6 7 - D5 6 - D4 5 - D3 4 - D2 3 - D1 2 - D0

Comentrio Cada bit do byte enviado Porta Paralela est relacionado com um pino do DB5, e um fio do cabo paralelo, fisicamente. Ao enviar um byte, que o(s) bit(s) esteja(m) ligado(s) ou desligado(s), os LEDs acende(ro) ou apaga(ro) conforme os estados dos bits.

QUADRO 3 - Sequncia de bits gerados pela porta paralela Fonte: RogerCom (2009).

44

4. DESENVOLVIMENTO DO SOFTWARE

4.1.

Documentao

A documentao de software extremamente necessria e auxilia na reduo de horas preciosas na correo de problemas. Para muitos desenvolvedores, a criao de documentao tcnica a parte mais aterrorizante para se enfrentar em todo o processo de criao de um software, seja pela necessidade de escrever vrias e vrias pginas de texto, grficos e desenhos ou ainda pela necessidade de largar aquilo que se aprendeu (programar) para fazer aquilo que no sabe bem (redigir). Entretanto, a documentao parte integrante de qualquer sistema ou programa criado. Pode-se dizer que a documentao to importante quanto as questes de segurana, pois sem a devida documentao, bug's e pontos vulnerveis no sistema demoram a ser encontrados e corrigidos permitindo, assim, que os ataques continuem levando a resultados indesejveis do sistema e, consequentemente, insatisfao de seu usurio. O projeto aqui proposto utilizou algumas tcnicas de documentao, como documentao UML gerando os diagramas de caso de uso e classes.

4.1.2. UML

A Linguagem de Modelagem Unificada (UML) uma linguagem visual para especificar, construir e documentar os artefatos dos sistemas (LARMAN, 2007). A palavra visual na definio um ponto chave a UML a notao diagramtica padro, de fato, para desenhar ou apresentar figuras (com algum texto) relacionadas a software (CADSOFT ONLINE, 2009).

45

4.1.2.1. Diagramas de Casos de Uso

A UML fornece a notao de diagramas de casos de uso para ilustrar os nomes dos casos de uso e dos atores, bem como os relacionamentos entre eles (LARMAN, 2007). Os mesmos sugerem como os atores interagem com o sistema. A Figura 13 mostra o caso de uso principal, em que o usurio pode cadastrar os aparelhos existentes na residncia, e os usurios que podero acessar o sistema web. A descrio dos cenrios existentes para cada caso de uso encontra-se no Apndice C. Conforme diagrama representado pela Figura 13, todas as opes de cadastramento, consultas e excluses esto relacionadas ao usurio local. Existe uma dependncia no relacionamento entre as funcionalidades de cada caso de uso. Estas relaes so utilizadas para demonstrar cada processo do sistema. Cada caso de uso possui aes classificadas pelos includes ou extends referindo-se aos atributos e dependncias destinadas a cada caso de uso. Atravs deste diagrama possvel entender praticamente todos os processos que podero ser incorporados durante o desenvolvimento.

46

Figura 13.

Caso de uso principal do sistema

47

4.1.2.2. Diagrama de classes

uma representao da estrutura e relaes das classes que servem de modelo para os objetos utilizados no desenvolvimento. Modelagem muito til, define todas as classes que o sistema necessita possuir e a base para a construo de diversos outros diagramas. Para a construo deste projeto foram utilizadas diversas classes, pois o intuito era estabelecer uma estrutura relacionada ao desenvolvimento orientado a objetos, com isto requer um melhor planejamento e boa estruturao dos diagramas. A Figura 14 ilustra os diagramas referentes s classes principais que compem o projeto web. Dentro de cada diagrama possvel identificar quais atributos, mtodos e classes sero compostos em todo desenvolvimento. O diagrama de classe pode ser gerado atravs de uma tecnologia chamada de engenharia reversa, que possibilita aps o sistema pronto, gerar todo os diagramas para fins de documentao.

Figura 14.

Diagrama de classe do modulo Web

A Figura 15 ilustra cada classe utilizada no desenvolvimento do modulo desktop. Este, no entanto, possui uma maior complexidade, pois realiza a integrao com o componente SDK para o reconhecimento da voz.

48

Figura 15.

Diagrama de classe do modulo Desktop

49

O projeto composto por uma DLL (Dynamic-link library), termo tcnico utilizado as bibliotecas de ligao dinmicas, o mesmo pode ser desenvolvido separadamente da estrutura geral de todo o cdigo fonte, sendo possvel atribu-la a qualquer outro projeto independentemente. Este mais um dos diversos recursos sobre programao orientada a objetos. Esta DLL, chamada de IOAutomao, compe toda a estrutura de dados que o sistema necessita tais como: incluso, excluso, pesquisas e outros. A organizao de toda a estrutura foi planejada para futuras manutenes. Assim, os processos foram subdivididos conforme demanda do projeto. A Figura 16 ilustra todas as classes, mtodos e atributos que compem a estrutura relacionada aos aparelhos.

Figura 16.

Diagrama da estrutura dos aparelhos

50

A Figura 17 ilustra tambm todas as classes, mtodos e atributos utilizados na estrutura de desenvolvimento referente aos usurios.

Figura 17.

Diagrama da estrutura dos usurios.

51

4.2. Metodologias

Na parte de documentaes a ferramenta utilizada foi o Enterprise Arquitect (E.A), o mesmo considerado um software cone no desenvolvimento das documentaes. Utilizado por grandes empresas, o E.A possibilita uma utilizao por 30 dias. No entanto, este tempo foi o suficiente para criar toda a estrutura de documentao do projeto de automao. A ferramenta utilizada na codificao de todo o cdigo fonte, foi atravs da IDE de desenvolvimento Microsoft Visual Studio 2008, com interpretao da linguagem C#. A estrutura de dados foi atribuda ao MySql, que de fato se tornou pioneira tanto na rea acadmica quanto profissional, pelo fato de ser uma ferramenta totalmente gratuita, interativa e de fcil utilizao. A Figura 18 ilustra o diagrama de entidade relacionamento de toda a estrutura composta no banco de dados.

Figura 18.

Diagrama entidade relacionamento do banco de dados

52

No Quadro 4, so ilustrados todos os scripts de criao da base de dados do sistema. Todos estes scripts podem ser executados separadamente ou todos juntos.

CREATE DATABASE IF NOT EXISTS automacao; USE automacao;

Script de criao do banco de dados

DROP TABLE IF EXISTS `aparelho`; CREATE TABLE `aparelho` ( `Codigo` int(10) unsigned NOT NULL AUTO_INCREMENT, `NomeAparelho` varchar(45) NOT NULL, `Descricao` varchar(45) NOT NULL, `ComandoVoz` varchar(45) NOT NULL, `Flag` int(10) unsigned NOT NULL, `Porta` varchar(2) NOT NULL, `ComandoVozSaida` varchar(45) NOT NULL, PRIMARY KEY (`Codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;

Script de criao da tabela APARELHOS, e todos os seus atributos.

DROP TABLE IF EXISTS `porta`; CREATE TABLE `porta` ( `NomePorta` varchar(2) NOT NULL, `Bits` varchar(8) NOT NULL, PRIMARY KEY (`NomePorta`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Script de criao da tabela PORTA, e todos seus atributos

DROP TABLE IF EXISTS `usuario`; CREATE TABLE `usuario` ( `Codigo` int(10) unsigned NOT NULL AUTO_INCREMENT, `Nome` varchar(45) NOT NULL, `Usuario` varchar(45) NOT NULL, `Senha` varchar(45) NOT NULL, PRIMARY KEY (`Codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

Script de criao da tabela USUARIO, e todos os seus atributos.

QUADRO 4 Script para criao da base de dados

53

4.3. Processo de comunicao entre software e SDK 5.1

A comunicao acontece da forma descrita a seguir. Quando instalado o Microsoft Speech Recognition SDK 5.1 ao Windows, ele cria diversos arquivos na pasta de sistemas. No entanto, ao inicializar o processo de desenvolvimento na IDE Microsoft Visual Studio 2008, inicialmente necessrio adicionar a referncia do componente MICROSOFT SPEECH OBJECT LIBRARY 5.0, que pode ser encontrado seguindo os passos. Clique no menu PROJECT->ADD REFERENCE, na janela que ir abrir, siga para a aba COM, e procure pela referncia citada, clique em OK e pronto. Feito isso j se consegue manipular e integrar o componente junto ao projeto, mas para isto necessrio ter conhecimento de lgica de programao, pois o componente independente e, de certa forma, no consegue trabalhar sozinho, ou seja, necessrio o manuseio do mesmo via cdigo. Quando se realiza uma referncia de algum componente ou controle no projeto geral, significa que possvel obter uma comunicao mais diretamente. Para isto, as tcnicas de programao orientada a objeto (POO), so extremamente viveis e necessrias. At o momento, o software no realizou nenhuma comunicao com o componente. Para isso, necessrio comear o processo de codificao no cdigo fonte realizando a integrao dos mesmos. Inicialmente, para realizar uma primeira comunicao, precisa-se inicializar o componente de voz, o que feito adicionando o controle SpeechListBox que criado junto ao toolbox da IDE. Posteriormente, atravs da propriedade SpeechEnabled, possvel habilitlo. Contudo, agora se realiza a codificao do cdigo para habilitar totalmente o componente, deixando livre para o manuseio em todo o sistema. A Figura 19 ilustra o cdigo utilizado no projeto.

54

//Inicializa o componente de reconhecimento de voz private void InitializeSpeech() { Debug.WriteLine("Inicializando Reconhecimento de Voz.."); m_editMensagens.AppendText("Inicializando Reconhecimento de Voz.. (Aguardando comando inicial!!)"); try { objRecoContext = new SpeechLib.SpSharedRecoContext(); objRecoContext.Hypothesis += new _ISpeechRecoContextEvents_HypothesisEventHandler(RecoContext_Hypothesis); objRecoContext.Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler(RecoContext_Recognition); grammar = objRecoContext.CreateGrammar(grammarId); ruleTopLevel = grammar.Rules.Add("TopLevelRule", SpeechRuleAttributes.SRATopLevel | SpeechRuleAttributes.SRADynamic, 1); ruleListItems = grammar.Rules.Add("ListItemsRule", SpeechRuleAttributes.SRADynamic, 2); SpeechLib.ISpeechGrammarRuleState stateAfterSelect; stateAfterSelect = ruleTopLevel.AddState(); object PropValue = ""; ruleTopLevel.InitialState.AddWordTransition(stateAfterSelect, PreCommandString, " ", SpeechGrammarWordType.SGLexical, "", 0, ref PropValue, 1.0F); PropValue = ""; stateAfterSelect.AddRuleTransition(null, ruleListItems, "", 1, ref PropValue, 0F); RebuildGrammar(); grammar.CmdSetRuleState("TopLevelRule", SpeechRuleState.SGDSActive); speechInitialized = true; } catch (Exception e) { System.Windows.Forms.MessageBox.Show("Este aplicativo no pode executar corretamente. Exceo na inicializao do componente de voz.\r\n\r\n" + e.ToString(), "Error"); } }

Figura 19.

Cdigo fonte da habilitao do componente de voz

A execuo dos comandos feita pela classe que geralmente chamada de Rebuild Grammar, ou seja, execuo das gramticas. Este nome pode ser modificado de acordo com o padro de cada profissional. Nota-se tambm que nesta classe j necessria a integrao com o banco de dados para realizar a conferncia entre comando reconhecido e base de dados. A Figura 20 ilustra os cdigos que foram utilizados para executar os comandos reconhecidos pelo sistema. Este trabalho visa demonstrar o estudo e pesquisas tanto do reconhecimento de voz quanto da automao residencial, no , no entanto o foco relacionar todos os passos de desenvolvimento. As ilustraes foram necessrias para que o leitor consiga entender o paradigma do projeto, e atravs de estudos prprios relacionados a estes, consigam estabelecer outros meios de desenvolvimento.

55

//Executa os comandos adicionados public bool RebuildGrammar() { if (!speechEnabled || this.DesignMode) { return false; } object propValue = ""; try { IOAutomacao.AparelhoBLL bll = new IOAutomacao.AparelhoBLL(); dstAparelho = bll.ObterAparelhoPesquisa(); ruleListItems.Clear(); int count = 0; if (dstAparelho.AparelhoPesquisa.Count > 0) { foreach (DataSetAparelho.AparelhoPesquisaRow linha in dstAparelho.AparelhoPesquisa) { ruleListItems.InitialState.AddWordTransition(null, linha.ComandoVoz, " ", SpeechGrammarWordType.SGLexical, linha.ComandoVoz, count, ref propValue, 1F); ruleListItems.InitialState.AddWordTransition(null, linha.ComandoVozSaida, " ", SpeechGrammarWordType.SGLexical, linha.ComandoVozSaida, count, ref propValue, 2F); count = +1; } grammar.Rules.Commit(); } } catch (Exception e) { System.Windows.Forms.MessageBox.Show("Exceo capturada quando reconstruo dinmica na regra do listbox.\r\n\r\n" + e.ToString(), "Error"); } return true; }

Figura 20.

Cdigo fonte da execuo dos comandos reconhecidos

4.4. Plano de testes

O RUP (Rational Unified Process) uma metodologia para desenvolvimento de software criada pela Rational Software, IBM, SofTeam, Unisys, Nihon Unisys, Alcatel e Q-Labs. O mesmo se tornou mais do que um software para auxiliar no desenvolvimento uma metodologia de desenvolvimento, com uma estrutura formal e bem definida. Portanto, utilizando-o como base,

um Plano de testes foi desenvolvido a fim de garantir que os casos de uso e as funcionalidades indicadas fossem implementados corretamente. Com sua execuo foi gerado um relatrio de execuo dos testes. De acordo com os testes realizados, o funcionamento do software foi bem sucedido, teve algumas falhas ou cancelamentos de alguns processos durante os testes, mas nada que prejudicasse o funcionamento em geral. Falhas essas que so previstas durante o prprio desenvolvimento. Com base no relatrio verifica-se que o resultado foi satisfatrio, mostrando que o software est apto ao funcionamento. O Plano de teste e o relatrio de execuo dos testes so encontrados no Apndice D.

56

4.5. Apresentao do software

4.5.2. Introduo

O sistema Automao Residencial por comando de voz aqui proposto destinado ao controle de equipamentos domsticos de forma automtica em uma residncia. possvel utiliz-lo pelas aplicaes desktop ou web, e pode ser considerado um sistema em tempo real. Sistemas de tempo real so sistemas de computao que monitoram, respondem ou controlam um ambiente externo. Esse ambiente est conectado ao sistema de computao atravs de sensores (microfone), atuadores e outras interfaces de entrada e sada. Podem constituir-se de objetos fsicos ou biolgicos de qualquer forma e estrutura (SHAW, 2003). O tempo de resposta aos estmulos externos geralmente est dentro dos limites estabelecidos para seu funcionamento aceitvel. No importa o tamanho do intervalo de tempo, se em nanossegundos ou em minutos. Se o sistema tem um tempo limite para responder, ento um sistema em tempo real. Tais aplicaes vm, aparecendo como parte de nossas infraestruturas comerciais, governamentais, militares, educacionais e culturais. Nesses, esto includos (SHAW, 2003): a) Sistemas de controle de veculos para automveis, metrs, aeronaves, ferrovias e navios; b) Controle de trfego para auto-estradas, espao areo, trilhos de ferrovias e corredores de navegao martima; c) Controle de processo para usinas de energia, indstrias qumicas e para produtos de consumo, como refrigerantes e cerveja; d) Sistemas mdicos para radioterapia, monitoramento de pacientes e

desfibrilamento; e) Usos militares como controle de tiro, rastreamento e sistemas de comando e de controle; f) Sistemas de manufatura com robs; g) Telefone, rdio e comunicaes por satlite; h) Jogos por computador; i) Sistemas de multimdia que provm interfaces textuais, grficas, de udio e de vdeo;

57

j) Sistemas domsticos para monitoramento e controle de eletrodomsticos; k) Sistemas de automao predial que controlam temperatura ambiental, iluminao portas e elevadores; l) Sistemas de automao residencial que controlam equipamentos domsticos. O sistema de automao residencial por comando de voz possibilita ligar e desligar qualquer equipamento residencial, possibilitando o monitoramento de todo o status dos equipamentos, informando a localidade do equipamento, e seu status (desligado ou ligado).

4.5.3. Requisitos funcionais

a) O usurio poder ligar e desligar os equipamentos da residncia pela aplicao desktop atravs do comando de voz ou pela internet; b) O usurio poder visualizar todos os aparelhos que esto sendo controlados, tanto pela aplicao desktop quanto pela internet.

4.5.4. Aplicao desktop

Na aplicao desktop os equipamentos so demonstrados na aba principal em destaque, atravs de uma tabela com diversas informaes, como: 1) ID (Nmero de identificao) 2) Nome do Aparelho 3) Descrio do Aparelho 4) Comando de Voz (Comando para ligar o equipamento) 5) Porta 6) Status ( alterada de acordo com o estado do dispositivo) 7) Comando Voz de Sada (Comando para desligar o equipamento) A Figura 21 ilustra a aplicao desktop com alguns dispositivos ligados e outros desligados.

58

Figura 21.

Aplicao desktop

O sistema tambm possui um ambiente de cadastros, onde atravs deste que o usurio dever cadastrar quais usurios podero ter acesso via web, e quais os aparelhos interligados ao sistema. A Figura 22 ilustra a rea de cadastro de aparelhos. Neste cadastro necessrio inserir todas as informaes exigidas para que o sistema tenha um funcionamento perfeito.

Figura 22.

Cadastro de aparelhos na aplicao desktop

59

A Figura 23 ilustra a rea do cadastramento dos usurios, que so utilizados no momento do acesso ao sistema web, concretizando os passos mnimos de segurana que se exige ao disponibilizar um sistema web.

Figura 23.

Cadastro de usurios utilizados para acesso web

A Figura 24 ilustra uma viso geral da rea representada com os cadastros de aparelhos e usurios.

Figura 24.

Viso geral da rea de cadastramentos.

60

4.5.5. Aplicao web

A aplicao web foi desenvolvida com o intuito de simplicidade, facilidade, funcionalidade e praticidade, principalmente para que pessoas com necessidades especiais possam operar o sistema. No entanto, nada de grandes interfaces, o foco realmente a funcionalidade. Logo ao inicializar a aplicao, uma identificao de login aberta, isso favorece o mnimo de segurana ao sistema, uma vez que o mesmo aberto rede mundial de computadores. Aps a identificao, todos os equipamentos so listados juntamente com o status de cada equipamento, com informaes do status de ligado ou desligado possibilitando assim, ligar ou deslig-lo manualmente.

Figura 25.

Aplicao Web (login)

Todos os equipamentos so listados, conforme Figura 26. Os botes a esquerda so utilizados para realizar as aes conforme explicao da legenda.

Figura 26.

Aplicao Web

61

5. CONCLUSO

Pode-se verificar que o reconhecimento de voz uma rea que est cada vez mais em expanso, com o intuito de melhorar e facilitar tarefas cotidianas. certo que ainda est numa fase de evoluo, mas mesmo assim j consegue, e com algum grau de certeza, obter resultados bastante promissores. Este trabalho atingiu as metas propostas de desenvolvimento de um sistema que engloba automao residencial por comando de voz. Foi possvel, no entanto, verificar algumas das caractersticas que tornou o SDK uma das novas alternativas para a utilizao do reconhecimento de voz em sistemas de automao. A famlia Microsoft realmente fez um bom trabalho na criao e melhoramento do componente SDK, a mais de uma dcada eles vm aprimorando o componente para que sua integrao a outros sistemas se torne cada vez til. O mesmo foi utilizado no projeto aqui proposto, se comportando perfeitamente e alcanando o resultado esperado. Contudo, sempre h alguns escorreges, pois como sempre falamos nada perfeito, e tudo se ajusta e melhora conforme pesquisas e feedbacks realizados por profissionais e alunos durante a utilizao do componente. Por ser o SDK uma ferramenta gratuita, a Microsoft conta com a participao de todos os que utilizam da mesma para expor seus defeitos, para que possam corigi-los em novas verses. Para a realizao deste trabalho foram feitos estudos referentes a sinais enviados e recebidos pela porta paralela LPT1, reconhecimento de voz utilizando componente Microsoft Speech Recognition (SDK 5.1), sem os quais no seria possvel desenvolver esse trabalho; conceitos sobre as tecnologias existentes para automao residencial e sobre eletrnica. O projeto demonstra uma viabilidade econmica satisfatria deste nvel de automao residencial com um custo bem acessvel a todas as classes. O projeto proposto mostra-se extremamente vivel, pois atualmente notvel que uma maior ateno deveria ser dispensada para o pblico portador de necessidades especiais. Um projeto adaptado a uma residncia real dever trazer consigo elementos capazes de controlar nveis superiores de reconhecimento de voz, atravs de microfones superiores aos usados no prottipo do projeto. Ainda assim, a viabilidade econmica do projeto justificada frente aos valores exagerados cobrados por empresas que atuam nesse nicho de mercado. Aps a concluso dos estudos e do desenvolvimento deste projeto, observou-se que o mesmo um sistema consideravelmente simples de ser implementado, possibilitando a expanso da automao residencial por comando de voz de baixo custo, que ainda est em

62

grande crescimento e amadurecimento, apresentando ainda poucos produtos acessveis no mercado.

5.1. Trabalhos futuros

Como trabalhos futuros, deseja-se, diante das funcionalidades desempenhadas pelo sistema, implementar os itens de: Modificar o sistema de comunicao, passando a trabalhar com porta USB, ou

diretamente via Bluetooth ou Wifi. No limitar quantidades de aparelhos a serem controlados.

63

REFERNCIAS

ABREU, R. S. Automao residencial: um pouco de histria. Ribeiro Preto, 2003. 46 eslaides, color. PowerPoint for Windows 10.26. Arquivo ppt baixado da Internet. Disponvel em: <http://www.aureside.org.br/publicacoes/download/automacao_residencial.zip>. Acesso em: 28 set. 2009.

AFONSO, R. Sistema de automao residencial com central de controle microcontrolada e independente de pc. 2006. 91 f. Monografia (Trabalho de Concluso de Curso II do curso de Cincias da Computao) Universidade Regional de Blumenau, Blumenau, 2006.

BARONE, D. A. C.; YEPES, I. Inteligncia artificial distribuda: uma abordagem ao comportamento social inteligente. Sociedades Artificiais. Porto Alegre: Bookman, 2002.

BEIZER, B. Software Testing Techniques. New York:: Van Nostrand Reinhold Company, 1990.

CADSOFT ONLINE. Eagle: version 5.6. Disponvel em <http://www.cadsoftusa.com>. Acesso em: 07 out. 2009.

CATHEY, J. J. Dispositivos e circuitos eletrnicos. 2. ed. Porto Alegre: Bookman, 2003.

ENDERLEIN, R. Microeletrnica: uma introduo ao universo dos microchips, seu funcionamento, fabricao e aplicaes. So Paulo: EdUSP, 1994.

GUILHOTO, P. Reconhecimento de voz. Portugal: Sistema Multimdia, 2002. p. 5.

GUILHOTO, P. J. S.; ROSA, S. P. C. S. Reconhecimento de voz: sistemas multimdia: 2001/2002. Coimbra: Universidade de Coimbra, Faculdade de Cincias e Tecnologias, Departamento de Engenharia Informtica, 2001.

IBM. Embedded ViaVoice. Disponvel em: <http://www-01.ibm.com/software/pervasive/embedded_viavoice/>. Acesso em: 10 maio 2009. IBM RESEARCH. Intelligent Agents Project at IBM T. J. Watson Research. Disponvel: site IBM Corporation (1998). URL: http://www.research.ibm.com/iagents/. Consultado em 13 dez. 2009.

64

LARMAN, G. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Porto Alegre: Bookman, 2007.

LONG, B. Speech Synthesis & Speech Recognition Using SAPI 4 High Level Interfaces. Embarcadero Technologies. 2003. Disponvel em: <http://edn.embarcadero.com/print/29581>. Acesso em: 05 maio 2009

MEGATTS. SAPI. Disponvel em: <http://www.megatts.com/2007/07/10/sapi-o-que-e/>. Acesso em: 2 out. 2009.

MICROSOFT. Help Microsoft Speech SDK version 5.1. Microsoft Corporation, 2002.

MICROSOFT. Speech SDK 5.1. Download. Disponvel em: <http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee6583171b4530&DisplayLang=en>. Acesso em: 02 jan 2009.

MICROSOFT. Suporte. Voice pilot. Dicas sobre treinamento de voz piloto. Disponvel em: <http://support.microsoft.com/kb/95089>. Acesso em: 10 maio 2009.

2003.

MILCOMP PRODUTOS ELETRNICOS LTDA. <http://www.milcomp.com.br/>. Acesso em: 20 jun.2009.

Resistor.

Disponvel

em:

NWANA, H. S. Software agents: an overview. Knowledge Engineering Review, Cambridge, v. 11, n. 3, p. 205-244, 1996.

O & A PRODUCTIONS. Why Should I Use Speech in My Application. Disponvel em: <http://www.o2a.com/framesPrimer.htm>. Acesso em: 4 out. 2009.

RABINER, L. R.; JUANG, B. H. Fundamentals of speech recognition. New York: Prentice Hall,1993.

RAMOS, C. M. et al. Fsica fundamental: vol. nico: 2 grau. So Paulo: FTD, 1993.

RATIONAL UNIFIED PROCESS. Rational Unified Process: viso geral. 2001. Disponvel em: <http://www.wthreex.com/rup/portugues/index.htm>. Acesso em: abr. 2009.

65

ROBOTERNETZ. Hauptseite. [Transistor]. Disponvel em: <http://www.rnwissen.de/index.php/Hauptseite>. Acesso em: 20 jun. 2009. ROGER.COM. 2009. Disponvel em:<http://www.roger.com>. Acesso em: 20 jun. 2009.

RUSSEL, S.; NORVIG, P. Artificial Intelligence: A modern Approach. New York: Prentice Hall, 1995.

SHAW, A. C. Sistemas e software de tempo real. Porto Alegre: Bookman, 2003.

WIKIPDIA. Component Object Model. 2009a. Disponvel <http://pt.wikipedia.org/wiki/Component_Object_Model>. Acesso em: 3 out. 2009.

em:

WIKIPDIA. Fast Fourier Transform. 2009b. Disponvel em: <http://en.wikipedia.org/wiki/Fast_Fourier_transform>. Acesso em: 15 set. 2009.

WIKIPDIA. LED. 2009c. Disponvel em: <http://pt.wikipedia.org/wiki/LED>. Acesso em: 12 out. 2009.

WIKIPDIA. OLE Automation. 2009d. Disponvel em: <http://pt.wikipedia.org/wiki/OLE_Automation>. Acesso em: 3 out. 2009.

WIKIPDIA. Pipeline. 2009e. Disponvel em: <http://pt.wikipedia.org/wiki/Pipeline>. Acesso em: 7 set. 2009.

WIKIPDIA. Pulse-code modulation. 2009f. Disponvel <http://en.wikipedia.org/wiki/Pulse-code_modulation>. Acesso em: 7 set. 2009.

em:

WIKIPDIA. Stream. 2009g. Disponvel em: <http://pt.wikipedia.org/wiki/Stream>. Acesso em: 10 set. 2009.

WOOLDRIDGE, M.; JENNINGS, N. R. Intelligent Agents: Theory and Practice. Knowledge Engineering Review, Cambridge, v. 100, n. 2, p. 115-152, 1994.

66

ANEXOS

Anexo 1 - Exemplo de Gramticas

A descrio deste anexo serve como exemplo de uma gramtica que interpretada internamente pelo SDK. (RABINER; JUANG, 1993)

[Grammar] langid=1033 type=cfg [Lists] =Ligar =Desligar =Abrir =Fechar [<Start>] <Start>= [opt] <Ligar> [opt] <Desligar> [opt] <Abrir>[opt]<Fechar> [Ligar] =TV =Ar =Ventilador =Computador [Desligar] =TV =Ar =Ventilador =Computador [Abrir] =Porto =Veneziana =Porta [Fechar] =Porto =Veneziana =Porta

67

APNDICE A - DESCREVENDO A CRIAO DA PLACA DE CIRCUITO IMPRESSO (PCB)

Os passos para a criao de uma PCB simples, mas requer bastante ateno em todos os detalhes, pois qualquer erro de projeto o circuito pode no funcionar, ou at mesmo danificar outros componentes junto placa. necessrio bastante ateno nos produtos utilizados, alguns deles so corrosivos e prejudiciais sade, caso venha ter algum contato interno. Antes de realizar a criao da PCB, necessrio realizar alguns testes dos componentes eletrnicos, se possvel junto a um protoboard, evitando constrangimentos e desperdcio de material. Protoboard em ingls, ou melhor, matriz de contato uma placa com milhares de furos e conexes condutoras para montagem de circuitos eltricos experimentais. A grande vantagem do protoboard na montagem de circuitos eletrnicos a facilidade de insero de componentes, uma vez que no necessita soldagem. As placas variam de 800 furos at 6000 furos, tendo conexes verticais e horizontais. Na superfcie de uma matriz de contato h uma base de plstico na qual existem centenas de orifcios onde so encaixados os componentes. Em sua parte inferior so instalados contatos metlicos que interliga eletricamente os componentes inseridos na placa. Geralmente suportam correntes entre 1A e 3A. A Figura 27 mostra o teste realizado com o auxilio de um protoboard.

Figura 27.

Teste em placa de Protoboard

68

Aps os testes, hora de verificar o projeto no computador, lev-lo at uma grfica e realizar o corte do adesivo. Qualquer operador de plotter entende como realizar este tipo de servio de recorte para adesivos com mascaras. Este processo seria uma simples impresso em um papel A4, mas devido corroso necessria para criar as trilhas eletrnicas das placas, o adesivo indispensvel e o mtodo mais simples e acadmico realmente torna-se este. Os passos seguintes sero demonstrados conforme figuras abaixo. A Figura 28 mostra o projeto no computador. Este ser levado at uma grfica para fazer os recortes.

Figura 28.

Projeto no computador

Na Figura 29 demonstrado o adesivo plotado, ou seja, j no recorte, conforme projeto.

Figura 29.

Adesivo plotado sem mascara

69

Figura 30 mostra como feita a retirada da mscara, para que seja introduzida no adesivo. Esta mascara ajuda na retirada do adesivo, uma vez que no possvel fazer a retirada manualmente devido s diversas trilhas eletrnicas criadas no projeto.

Figura 30.

Retirando a mascara

A Figura 31 demonstra o adesivo j com mascara colada.

Figura 31.

Colando a mascara no adesivo

Realiza-se uma frico ao adesivo, at que a mascara esteja realmente fixada ao adesivo.

70

Figura 32.

Fixando bem a mascara ao adesivo

A Figura 33 mostra o momento da retirada do adesivo atravs da mscara, observe que todo o adesivo sai junto a mascara, isso facilitar na colagem a placa metlica.

Figura 33.

Retirando a mascara

O momento agora de ateno, realizar a colagem do adesivo junto placa metlica, tendo o cuidado de no deixar bolhas, isso pode prejudicar no momento da corroso da placa.

71

Figura 34.

Colando o adesivo na PCB com a mscara

Agora necessrio retirar o excesso de adesivo, verifique que conforme a retirada vai se formando as trilhas eletrnicas.

Figura 35.

Retirando excesso de adesivos

A Figura 36 mostra uma comparao entre o projeto no computador e o projeto na placa aps a colagem dos adesivos, este momento bom se atentar a todos os detalhes do projeto, para possveis correes antes de torn-lo fsico.

72

Figura 36.

Verificando projeto e placa

A Figura 37 mostra o momento da corroso, necessria para retirar a parte metlica que no contem os adesivos. A corroso feita com percloreto de ferro, produto qumico e necessita de cuidados como luvas e esptulas.

Figura 37.

Corroendo as placas com percloreto de ferro

Aps a corroso necessrio realizar uma limpeza a placa, isso feito com gua corrente.

73

Figura 38.

Lavando as placas aps corroso

A Figura 39 mostra a placa aps a lavagem, veja os detalhes das trilhas eletrnicas.

Figura 39.

Corroso finalizada

Todos os componentes so soldados, criando um conjunto de hardware, conforme Figura 40.

74

Figura 40.

Montagem dos componentes

Os hardwares so montados, formando todo o conjunto do projeto, conforme mostra a Figura 41.

Figura 41.

Montando projeto

Projeto de hardware pronto. A Figura 42 mostra o projeto j montado e finalizado, pronto para interagir junto ao software de automao.

75

Figura 42.

Projeto finalizado

APNDICE B - COMPONENTES ELETRNICOS UTILIZADOS

B.1 Transstor BC337

O transistor tem por princpio o poder de controle da corrente. Ele pode funcionar, no circuito, com uma chave (liga/desliga) ou como um amplificador. A Figura 43 mostra o transistor BC337 que de uso geral e foi utilizado no projeto.

Figura 43.

Transistor BC337.

Retirado de Roboternetz (ROBOTERNETZ, 2009).

76

O transistor permite tanto a amplificao de potncia eltrica quando seu chaveamento. Na microeletrnica o transistor desempenha primordialmente a funo de uma chave eletrnica por impulsos eltricos; para uma tenso alta na base, uma grande corrente percorre o circuito Emissor-Coletor (chave ligada), enquanto, se a tenso da base for baixa, a corrente ser pequena (chave desligada) (ENDERLEIN, 1994). A corrente de emissor calculada com a taxa do fluxo de cargas positivas que entram na regio do emissor (CATHEY, 2003).

B.2 Diodo 1N4148

Um diodo o tipo mais simples de semicondutor. De modo geral, um semicondutor um material com capacidade varivel de conduzir corrente eltrica. Um diodo um dispositivo de estado slido que permite o fluxo de corrente em apenas um sentido, um processo conhecido como retificao. Dodos so um componente fundamental dos circuitos eltricos. Eles tambm so usados para formar outros componentes, tais como o transistor bipolar, que utiliza dois diodos em srie.

Figura 44.

Diodo 1N4148

B.3 Resistor

Resistores so componentes eletrnicos, caracterizados por uma grandeza fsica que mede a oposio passagem de corrente (RAMOS, 1993). So utilizados para limitar a corrente eltrica em um circuito ou para criarem uma queda de tenso em algum ponto do circuito. A Figura 44 mostra a imagem de um resistor.

77

Figura 45.

Resistor (MILCOMP PRODUTOS ELETRNICOS LTDA., 2009).

De acordo com as cores apresentadas externamente, na cpsula que envolve o material resistivo, pode-se determinar o valor de um resistor, ou utilizando um equipamento de medio.

B.4 Rel de 5V

Os rels so dispositivos comutadores eletromecnicos. So utilizados basicamente para ligar ou desligar dispositivos. normal o rel estar ligado a dois circuitos. Existem diversos tipos de rels, mas todos eles trabalham com a mesma finalidade. No sistema de automao o rel utilizado para abrir e fechar o circuito que envia sinal eltrico aos aparelhos.

Figura 46.

Rel de 5v

B.5 Led Verde / Led Vermelho 3mm

O LED um diodo semicondutor que quando energizado emite luz visvel, por isso LED (Diodo Emissor de Luz). A luz no monocromtica (como em um laser), mas consiste de uma banda espectral relativamente estreita e produzida pelas interaes energticas do eltron (WIKIPDIA, 2009c). 0

78

Figura 47.

LED (Diodo semicondutor)

B.6 Circuito Integrado 74LS541

Circuito integrado, tambm conhecido por chip, um dispositivo microeletrnico que consiste de muitos transistores e outros componentes interligados capazes de desempenhar muitas funes. Suas dimenses so extremamente reduzidas, os componentes so formados em pastilhas de material semicondutor. CI 74LS541 Circuito integrado Buffer, normalmente utilizado para proteger a porta paralela do computador, quando se liga a porta paralela do computador a um circuito eletrnico.

Figura 48.

CI 74LS541

79

APNDICE C CENRIOS DOS CASOS DE USO

C.1. UC1 - Cadastrar Aparelho Este caso de uso realiza o cadastramento de novos equipamentos no sistema. Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios". 2 - O usurio clica no boto Cadastrar Aparelho. 3 - O usurio insere o nome, descrio, comando de voz de entrada, comando de voz de sada e a porta. 4 - O usurio clica no boto salvar

Cenrio(s) Alternativo(s) 1 - O sistema verifica que o aparelho j cadastrado. 2 - O sistema emite a mensagem "Equipamento j cadastrado". 3 - O sistema verifica que a porta j est em uso. 4 - O sistema emite a mensagem "Porta j encontra em uso"

C.2. UC2 - Consultar Aparelho Este caso de uso permite a consulta de equipamentos j cadastrados no sistema. Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios". 2 - O usurio clica na lupa de pesquisa do setor de aparelhos. 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados. 4 - O usurio seleciona o item desejado.

Cenrio(s) Alternativo(s) 1 - Caso no tenha nenhum aparelho cadastrado, e emitido a seguinte mensagem "No existe aparelhos cadastrados.

C.3. UC3 - Alterar Aparelho Este caso de uso permite a alterao de um equipamento existente no sistema Cenrio(s) Principal(is)

80

1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica na lupa de pesquisa do setor de aparelhos 3 - O usurio visualiza uma listagem de todos os aparelhos cadastrados 4 - O usurio escolhe o aparelho desejado 5 - O usurio clica no boto Editar 6 - O usurio faz as alteraes necessrias 7 - O usurio clica no boto Gravar

C.4. UC4 - Excluir Aparelho Este caso de uso permite a excluso de um equipamento no sistema Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios 2 - O usurio clica na lupa de pesquisa no setor de aparelhos 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados 4 - O usurio escolhe o aparelho desejado 5 - O usurio clica no boto Deletar 6 - O usurio confirma a mensagem de excluso

Cenrio(s) Alternativo(s) 1 - O usurio cancela a excluso

C.5. UC5 - Cadastrar Usurio Caso de uso refere-se ao cadastramento de usurios que tero acesso ao sistema web Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica no boto Cadastrar Usurio 3 - O usurio insere o nome, login, senha e confirmar senha. 4 - O usurio clica no boto salvar

Cenrio(s) Alternativo(s) 1 - O sistema verifica que o login j existe 1.1 - O sistema emite a mensagem "Este nome de usurio j est em uso". 2 - O sistema verifica se a senha idntica ao campo Confirmar senha

81

2.1 - O sistema emite a mensagem "Os valores do campo senha e confirmar senha tem que ser iguais" C.6. UC6 - Consultar Usurio Caso de uso permite a consulta de usurios j cadastrados no sistema. Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios". 2 - O usurio clica na lupa de pesquisa do setor de Cadastro de Usurios 3 - O usurio visualiza uma lista de todos os usurios cadastrados 4 - O usurio seleciona o item desejado

Cenrio(s) Alternativo(s) 1 - Caso no tenha nenhum aparelho usurio cadastrado, e emitido a seguinte mensagem "No existe usurios cadastrados.

C.7. UC7 - Alterar Usurio Caso de uso permite a alterao de um usurio existente no sistema Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios". 2 - O usurio clica na lupa de pesquisa do setor de Cadastro de Usurios 3 - O usurio visualiza uma listagem de todos os usurios cadastrados 4 - O usurio escolhe o item desejado 5 - O usurio clica no boto Editar 6 - O usurio faz as alteraes necessrias 7 - O usurio clica no boto Gravar

C.8. UC8 - Excluir Usurio Caso de uso permite a excluso de um usurio no sistema Cenrio(s) Principal(is) 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios 2 - O usurio clica na lupa de pesquisa do setor de Cadastro de Usurios 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados 4 - O usurio escolhe o aparelho desejado 5 - O usurio clica no boto Deletar 6 - O usurio confirma a mensagem de excluso

82

Cenrio(s) Alternativo(s) 1 - O usurio cancela a excluso

C.9. UC9 - Validar Comando de Voz Este caso de uso faz a validao do comando de voz, junto biblioteca SDK 5.1 da Microsoft. Cenrio(s) Principal(is) 1 - O comando de voz processado 2 - O sistema faz a verificao do comando voz, validando ou no atravs do banco de dados que possui todas as informaes necessrias. 3 - A verificao do sistema feito atravs do componente Microsoft Speech SDK 5.1 de reconhecimento de voz. 4 - Se o comando de voz de entrada for valido, ento o aparelho ligado. 5 - Se o comando de voz de sada for valido, ento o aparelho desligado.

C.10. UC10 - Ligar Aparelho Este caso de uso faz com que apos o reconhecimento de voz for aceito, o equipamento ligue. Cenrio(s) Principal(is) 1 - Aps conhecimento de voz for aceito pela validao o equipamento ligado. Cenrio(s) Alternativo(s) 1 - Caso o comando executado pelo usurio for para Ligar o aparelho, isso ser feito atravs do WebService.

C.11. UC11 - Desligar Aparelho Este caso de uso permanece com os equipamentos desligados caso o comando de voz no for aceito. Cenrio(s) Principal(is) 1 - Se o reconhecimento de voz for aceito, o equipamento o sinal de desligamento do aparelho acionado. 2 - Caso o reconhecimento de voz no for validado e aceito, o equipamento permanece como esta.

83

Cenrio(s) Alternativo(s) 1 - Caso o comando executado pelo usurio for para desligar o aparelho, isso ser feito atravs do WebService.

C.12. UC12 - Aguardar Execuo de Comando no Sistema Caso de Uso permite aguardar a execuo de algum comando do usurio Web. Cenrio(s) Principal(is) 1 - O sistema fica em Stand By aguardando algum comando ser executado 2 - O usurio executa algum comando atravs do sistema Web, para ligar ou desligar o aparelho. 3 - O sistema processa o comando. 4 - O sistema liga ou desliga o aparelho de acordo com o comando recebido via Web

C.13. UC13 - Capturar informaes do sistema Local Caso de uso permite fazer a busca de dados do sistema local Cenrio(s) Principal(is) 1 - Caso o WebService estiver normalizado, quando o sistema atingir este ponto, automaticamente ele busca todos os dados do sistema local, carregando no sistema web.

C.14. UC14 - Validar Identificao Caso de uso permite fazer a validao das credenciais do usurio Web. Cenrio(s) Principal(is) 1 - Sistema verifica se as credenciais "usurio" e "senha" so validos. 2 - Caso verdadeiro o sistema continua o processo. 3 - Caso contrario, volta para a tela de identificao, impedindo qualquer avano do usurio.

APNDICE D PLANO DE TESTES E RELATRIOS DE EXECUO

84

Sistema de Automao Residencial por Comando de Voz


Plano de Testes

Verso 1.0

85

Histrico de Reviso
Data 23/07/2009 Verso 1.0 Descrio Criao do Plano de Testes Autor Valmir Ferreira Rocha

86

ndice

1. 1.1. 1.2. 1.3. 1.4. 2. 2.1. 2.2. 2.3. 2.4. 3. 3.1. 4. 4.1.

INTRODUO .............................................................................................................. 87 Finalidade ................................................................................................................. 87 Informaes Detalhadas ........................................................................................... 87 Escopo ...................................................................................................................... 87 Identificao do Projeto ............................................................................................ 87 REQUISITOS DE TESTE ............................................................................................. 88 Teste Funcional ........................................................................................................ 88 Teste de Interface do Usurio ................................................................................... 88 Teste de Configurao .............................................................................................. 88 Teste de Instalao ................................................................................................... 89 ESTRATGIA DE TESTE ........................................................................................... 89 Tipos de Teste........................................................................................................... 89 RECURSOS .................................................................................................................... 92 Papis ........................................................................................................................ 92

87

Plano de Testes
1. INTRODUO

1.1.

Finalidade

H um mito segundo o qual, se fssemos realmente bons para programar, no haveria 'bugs' a ser procurados. Se pudssemos realmente nos concentrar, se todos usassem programao estruturada, projeto 'top-down, tabelas de deciso, se tivssemos as balas de prata certas, ento no haveria 'bugs (LARMAN, 2007)0. Por melhores que sejam as tcnicas e processos sempre estaro presentes os erros humanos. No se pode garantir que os programas funcionem corretamente, sem a presena de erros, portanto, para ter um sistema mais confivel, com o mnimo de erros, so executados os testes. A principal finalidade do Teste localizar e expor os pontos fracos do software (SHAW, 2003)0.

1.2.

Informaes Detalhadas

O sistema de automao residencial por comando de voz permite ligar e desligar aparelhos domsticos pela aplicao Web ou desktop.

1.3.

Escopo

Foram feitos testes de funcionalidades do sistema para verificar se a operabilidade do sistema atende aos requisitos solicitados, testes de interface do usurio, de configurao e de instalao, gerando um sistema mais estvel e seguro para utilizao.

1.4.

Identificao do Projeto

A tabela abaixo identifica a documentao e disponibilidade; ela utilizada para desenvolver o plano de teste:

88

Documento (e verso / data) Especificao de Requisitos Relatrios de Caso de Uso Plano de Projeto Manual do Usurio Manual de Instalao

Criado ou Disponvel Sim No Sim No Sim No Sim No Sim No

Recebido ou Revisado Sim No Sim No Sim No Sim No Sim No

Autor ou Recurso

Observaes

2. REQUISITOS DE TESTE

A listagem a seguir identifica os itens (casos de uso, requisitos funcionais, requisitos no funcionais) que foram identificados como objetivos de teste. A lista representa o que foi testado.

2.1.

Teste Funcional

Verificar se o usurio consegue ligar e desligar qualquer aparelho pela aplicao Web Verificar se o usurio consegue ligar e desligar qualquer aparelho pela aplicao Desktop Verificar se o usurio consegue ligar e desligar qualquer aparelho pela aplicao Desktop e depois visualizar status pela aplicao Web Verificar se todos os casos de uso esto implementados corretamente

2.2.

Teste de Interface do Usurio

Verificar se todas as funcionalidades esto disponveis Verificar se todas as telas nas Aplicaes Web e Desktop atendem os requisitos de interface amigvel Verificar se o padro visual consistente em todas as telas

2.3.

Teste de Configurao

89

Verificar se a aplicao Web funciona em diferentes browsers

2.4.

Teste de Instalao

Verificar se um usurio seguindo apenas os passos descritos no manual de instalao capaz de instalar o sistema Automao Residencial.

3. ESTRATGIA DE TESTE

3.1.

Tipos de Teste

3.1.1. Teste Funcional Objetivo do Teste: Garantir a funcionalidade adequada de objetivo do teste, incluindo navegao e processamento. Tcnica: Executar cada caso de uso, fluxo de caso de uso ou funo a fim de verificar o seguinte: Os resultados esperados ocorrero quando forem usados estados vlidos. Cada regra de negcio ser adequadamente aplicada. Critrios de Concluso: Consideraes Especiais: Todos os testes planejados foram executados. Todos os defeitos identificados foram abordados. Nenhuma.

90

3.1.2. Teste da Interface do Usurio

Objetivo do Teste:

Verificar se: A navegao pelo sistema reflete adequadamente as funes e os requisitos de negcio, incluindo os mtodos de janela-a-janela, de campo-a-campo e de uso de acesso (como, movimentos do mouse). Os objetos e as caractersticas da Web, como menus, tamanho, posio, estado e enfoque, esto de acordo com os padres.

Tcnica: Critrios de Concluso:

Criar/modificar testes de cada pgina para verificar a navegao. Cada janela foi completamente verificada para que permanea consistente com a verso de avaliao de desempenho ou esteja de acordo com o padro aceitvel.

Consideraes Especiais:

Nenhuma.

3.1.3. Teste de Configurao

Objetivo do Teste:

Verificar se o sistema funciona adequadamente nas configuraes de hardware/software necessrias.

Tcnica:

Abrir/fechar vrios softwares no relacionados a objetivos

do teste, como os aplicativos da Microsoft, Excel e Word, como parte do teste, ou antes, do incio do teste. Testar o sistema utilizando diversos computadores clientes

diferentes. Critrios de Concluso: O sistema funciona de forma satisfatria nas configuraes testadas. Consideraes Especiais: Nenhuma.

91

3.1.4. Teste de Instalao

Objetivo do Teste:

Verificar se as instrues includas no manual de instalao so suficientes para a correta instalao do software: Testar o sistema utilizando uma nova mquina. Instalar uma mesma verso j instalada do Sistema

Automao residencial por comando de voz. Tcnica: Testar a instalao do Sistema Automoo Residencial

em cada cenrio: em uma nova mquina e atualizao de uma mquina que j contenha a mesma verso instalada Critrios de Concluso: O Sistema Automao Residencial executa suas transaes corretamente. Nenhuma.

Consideraes Especiais:

3.1.5. Ferramentas

As seguintes ferramentas sero empregadas nesse projeto:

Ferramenta Internet Explorer Internet Explorer Internet Explorer Firefox Chrome Navegador Web Navegador Web Navegador Web Navegador Web Navegador Web

Fornecedor/Desenvolvimento Prprio Microsoft Microsoft Microsoft Mozilla Google

Verso 7.0.5750.13 8.1.2.34 7.0.5730.13 3.0.8 2.0.172.30

92

4. RECURSOS

4.1.

Papis

O papel Testador responsvel pelas atividades centrais do esforo de teste, que envolve conduzir os testes necessrios e registrar os resultados desses testes (SHAW, 2003)0. Isso inclui:

Configurar e executar os testes Registrar os resultados e verificar a execuo dos testes Analisar erros de execuo e recuperar-se deles Documentar solicitaes de alterao

93

Roteiro de Simulaes de Testes Automao Residencial por Comando de Voz


Descrio do Ambiente Configurao da Mquina Ciclo de Testes: Perodo de Execuo: Categoria Os testes foram realizados com o Internet Explorer 7 e 8, Firefox 3, utilizando-se do Microsoft Framework 3.5 com o banco de dados MySql Server, SO Window XP Configurao da Mquina: Windows XP com Service Pack 3, 2GB de RAM e 120 GB de Hard Disk 1 a 19 23/06/2009 a 26/06/2009 Caso de Uso

Ordem 1

Categoria Testes Funcionais

Nome Caso de Uso UC1 - Cadastrar Aparelho

Nome da Simulao Cadastrar Aparelho

Simulao 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica no boto Cadastrar Aparelho 3 - O usurio insere o nome, descrio, comando de voz de entrada, comando de voz de sada e a porta 4 - O usurio clica no boto salvar 5 - O sistema emite mensagem de Aparelho Cadastrado com Sucesso.

Resultado Esperado Cadastramento efetuado na base de dados

Resultado dos testes O cadastro do aparelho foi realizado com sucesso

Testes Funcionais

UC1 - Cadastrar Aparelho

Aparelho j cadastrado

1 - O sistema verifica se o aparelho j est cadastrado. 2 - O sistema emite a mensagem "Equipamento j cadastrado". 1 - O sistema verifica que a porta j est em uso 2 - O sistema emite a mensagem "Porta j encontra em uso"

Cadastramento no efetuado na base de dados

Verificao de cadastros j realizados foi efetuada com sucesso, impedindo o cadastramento de informaes duplicadas. Verificao de cadastros j realizados foi efetuada com sucesso, impedindo o cadastramento de informaes duplicadas.

Testes Funcionais

UC1 - Cadastrar Aparelho

Porta j cadastrada

Cadastramento no efetuado na base de dados

94

Testes Funcionais

UC2 - Consultar Aparelho

Consultar Aparelho

1 - O usurio clica na Aba "Cadastro de Consulta de Aparelhos Aparelhos e Usurios" 2 - O usurio clica na lupa de pesquisa do setor de aparelhos 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados 4 - O usurio seleciona o item desejado 1 - O usurio clica na Aba "Cadastro de Fechar a tela de pesquisa, Aparelhos e Usurios" e retornar a tela principal 2 - O usurio clica na lupa de pesquisa do do sistema. setor de aparelhos 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados 4 - O usurio no seleciona nenhum item 5 - O usurio clica no "X" para fechar a janela de pesquisa 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica na lupa de pesquisa do setor de aparelhos 3 - O usurio visualiza uma listagem de todos os aparelhos cadastrados 4 - O usurio escolhe o aparelho desejado 5 - O usurio clica no boto Editar 6 - O usurio faz as alteraes necessrias 7 - O usurio clica no boto Gravar 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios 2 - O usurio clica na lupa de pesquisa no setor de aparelhos 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados 4 - O usurio escolhe o aparelho desejado 5 - O usurio clica no boto Deletar 6 - O usurio confirma a mensagem de excluso 1 - O usurio cancela a excluso Alterar cadastro j efetuado na base de dados

Realizao da consulta de aparelhos foi realizada com sucesso.

Testes Funcionais

UC2 - Consultar Aparelho

Consultar Aparelho

Teste ocasionou falha, pois ao fechar a tela de pesquisa atravs do boto X, o sistema fechou-se por completo. No se comportando com o devido. Correes foram feitas e corrigidas.

Testes Funcionais

UC3 - Atualizar Aparelho

Alterar Aparelho

Processo de edio de aparelhos j cadastrados foi realizado com sucesso

Testes Funcionais

UC4 - Excluir Aparelho

Excluir Aparelho

Excluir Aparelho na base de dados

A excluso do aparelho foi realizado com sucesso.

Testes Funcionais

UC4 - Excluir Aparelho

Excluir Aparelho

Excluir Aparelho na base de dados

A operao foi realizada com sucesso, no entanto a excluso no foi realizada pois o usurio cancelou a operao.

95

Testes Funcionais

UC5 - Cadastrar Usurio

Cadastrar Usurio

10

Testes Funcionais

UC5 - Cadastrar Usurio

Cadastrar Usurio

11

Testes Funcionais

UC6 - Consultar Usurio

Consultar Usurio

1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica no boto Cadastrar Usurio 3 - O usurio insere o nome, login, senha e confirmar senha 4 - O usurio clica no boto salvar 5 - Sistema emite mensagem de cadastro de usurio realizada com sucesso. 1 - O sistema verifica se o login j existe 1.1 - O sistema emite a mensagem "Este nome de usurio j est em uso". 2 - O sistema verifica se a senha idntica ao campo Confirmar senha 2.1 - O sistema emite a mensagem "Os valores do campo senha e confirmar senha tem que ser iguais. 1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica na lupa de pesquisa do setor de Cadastro de Usurios 3 - O usurio visualiza uma lista de todos os usurios cadastrados 4 - O usurio seleciona o item desejado 1 - Caso no tenha nenhum usurio cadastrado, e emitido a seguinte mensagem "No existe usurios cadastrados.

Cadastrar usurio na base de dados

O cadastro do usurio foi realizado com sucesso

Campos obrigatrios

Sistema validou corretamente os dados j existentes, no deixando realizar duplicidade dos dados

Consultar Usurios cadastrados na base de dados

A consulta retornou dados corretamente

12

Testes Funcionais

UC6 - Consultar Usurio

Consultar Usurio

Consultar Usurios cadastrados na base de dados

Sistema se comportou perfeitamente, no entanto a consulta no foi realizada por no possui base de dados.

13

Testes Funcionais

UC6 - Consultar Usurio

Consultar Usurio

1 - O usurio clica na Aba "Cadastro de Fechar a tela de pesquisa, Aparelhos e Usurios" e retornar a tela principal 2 - O usurio clica na lupa de pesquisa do do sistema. setor de Usurios 3 - O usurio visualiza uma lista de todos os usurios cadastrados 4 - O usurio no seleciona nenhum item 5 - O usurio clica no "X" para fechar a janela de pesquisa

Teste ocasionou falha, pois ao fechar a tela de pesquisa atravs do boto X, o sistema fechou-se por completo. No se comportando com o devido. Correes foram feitas e corrigidas.

96

14

Testes Funcionais

UC7 - Atualizar Usurio

Alterar Usurio

1 - O usurio clica na Aba "Cadastro de Aparelhos e Usurios" 2 - O usurio clica na lupa de pesquisa do setor de Cadastro de Usurios 3 - O usurio visualiza uma listagem de todos os usurios cadastrados 4 - O usurio escolhe o item desejado 5 - O usurio clica no boto Editar 6 - O usurio faz as alteraes necessrias 7 - O usurio clica no boto Gravar

Alterar cadastro j efetuado na base de dados

Sistema efetuou a alterao realizada pelo usurio corretamente.

15

Testes Funcionais

UC8 - Excluir Usurio

Excluir Usurio

1 - O usurio clica na Aba "Cadastro de Cadastramento efetuado Aparelhos e Usurios na base de dados 2 - O usurio clica na lupa de pesquisa do setor de Cadastro de Usurios 3 - O usurio visualiza uma lista de todos os aparelhos cadastrados 4 - O usurio escolhe o aparelho desejado 5 - O usurio clica no boto Deletar 6 - O usurio confirma a mensagem de excluso 1 - O usurio cancela a excluso Excluir Usurio na base de dados

Sistema excluiu corretamente o registro solicitado pelo usurio.

16

Testes Funcionais

UC8 - Excluir Usurio

Excluir Usurio

A operao foi realizada com sucesso, no entanto a excluso no foi realizada pois o usurio cancelou a operao.

17

Testes Funcionais

UC9 - Validar Comando de Voz

Validar Comando de Voz

1 - O comando de voz processado 2 - O sistema faz a verificao do comando voz, validando ou no atravs do banco de dados que possui todas as informaes necessrias. 3 - A verificao do sistema feito atravs do componente Microsoft Speech SDK 5.1 de reconhecimento de voz. 4 - Se o comando de voz de entrada for valido, ento o aparelho ligado. 5 - Se o comando de voz de sada for valido, ento o aparelho desligado.

Validao do comando de voz

O sistema realizou a validao do comando junto ao banco de dados perfeitamente.

97

18

Testes Funcionais

UC10 - Ligar Aparelho

Ligar Aparelho

1 - Aps o conhecimento de voz for aceito pela validao o equipamento ligado.

Ligar Aparelho

Sistema ligou o aparelho como previsto.

19

Testes Funcionais

UC11 - Desligar Aparelho

Desligar Aparelho

1 - Aps o conhecimento de voz for aceito pela validao o equipamento desligado.

Desligar Aparelho

Sistema desligou o aparelho perfeitamente como previsto.

20

Testes Funcionais

UC12 - Desligar Aparelho

Desligar Aparelho

1 - Caso o reconhecimento de voz no for validado e nem aceito, o equipamento permanece como esta.

Desligar Aparelho

21

Testes Funcionais

UC12 - Aguardar execuo de comando do sistema Web

Aguardando execuo

1 - O sistema fica em Stand By aguardando algum comando ser executado 2 - O usurio executa algum comando atravs do sistema Web, para ligar ou desligar o aparelho 3 - O sistema processa o comando 4 - O sistema liga ou desliga o aparelho de acordo com o comando recebido via Web.

Executar comandos via sistema web

Comportamento perfeito, pois caso o comando de voz no seja aceito, o sistema no executa nenhuma ao, apenas relata que o comando ainda no foi reconhecido. Sistema web funcionou corretamente

22

Testes Funcionais

UC13 - Capturar sistema local

Capturar informaes do sistema local

1 - Caso o WebService estiver normalizado, Sincronizando quando o sistema atingir este ponto, informaes locais e Web automaticamente ele conecta com a base de dados local, carregando no sistema web.

A sincronizao de dados entre web e desktop funcionou perfeitamente.

98

23

Testes Funcionais

UC14 - Validar Identificao

Validar Identificao

1 - Sistema verifica se as credenciais "usurio" e "senha" so validos 2 - Caso verdadeiro o sistema continua o processo 3 - Caso contrario volta para a tela de identificao, impedindo qualquer avano do usurio.

Validando Identificao do Usurio no acesso ao sistema Web

Validao de usurio no sistema web funcionou perfeitamente.

99

Roteiro de Simulaes de Testes Automao Residencial por Comando de Voz


Descrio do Ambiente Configurao da Mquina Ciclo de Testes: Perodo de Execuo: Categoria Os testes foram realizados com o Internet Explorer 7 e 8, Firefox 3, utilizando-se do Microsoft Framework 3.5 com o banco de dados MySql Server, SO Windows XP Configurao da Mquina: Windows XP com Service Pack 3, 2GB de RAM e 120 GB de Hard Disk 1 a 19 21-10-2009 a 30-10-2009 Interface

Ordem 1

Categoria Interface

Nome do Teste Mensagem

Nome da Simulao Mensagem de Erro

Simulao Aps a incluso de qualquer cadastro retornar mensagem amigvel de erro para o usurio

Resultado Esperado Mensagem amigvel

Situao Sistema emitiu corretamente as mensagens de erro ocorrido.

Interface

cones

cones nas telas

Ao entrar na Aba "Cadastro de cones visveis Aparelhos e Usurios" colocar cones nos botes de consulta Colocar hints nos botes de aes como "Cadastrar Aparelho, "Cancelar", "Editar, "excluir" etc... Passar por todas as telas e ir teclando no TAB para ver se passa de campo Mensagem amigvel nos botes

Os cones dos botes de consulta foram colocados corretamente.

Interface

Botes

Botes de aes

As informaes de hints foram adicionadas perfeitamente.

Interface

Tabulao

Simular Tabulao nas telas

Dever passar por todos os campos e botes

O processo de tabulao funcionou corretamente. Em cada aba, as informaes foram mostradas perfeitamente.

Interface

Fluxo das Abas

Simular fluxo nas abas

Clicar em todas as abas para verificar Dever passar por todas as abas a exibio dos dados a serem mostrados ou ocultados O usurio clica para abrir a aplicao desktop, em seguida dever habilitar o comando de voz. Aplicao iniciada

Execuo

Iniciar aplicao Desktop

Iniciar aplicao Desktop

Inicializao desktop, e habilitao do comando de voz, funcionou corretamente.

100

Execuo

Iniciar aplicao Web

Iniciar aplicao Web

Aps a inicializao do aplicativo Desktop, j possvel inicializar a qualquer momento o aplicativo Web. Testar se a aplicao web funciona em diferentes browsers. Browsers testados: Internet Explorer, Firefox, Chrome.

Aplicao iniciada

Aplicativo web inicializado com sucesso.

Execuo

Iniciar Aplicao Web em diferentes Browsers

Iniciar aplicao Web

Aplicao iniciada

Sistema funcionou corretamente em todas as aplicaes descritas.

Você também pode gostar