Você está na página 1de 61

UNIVERSIDADE FEDERAL DO PARÁ

INSTITUTO DE TECNOLOGIA

FALCULDADE DE ENGENHARIA DA COMPUTAÇÃO E TELECOMUNICAÇÕES

CURSO DE ENGENHARIA DA COMPUTAÇÃO

REBECA MIRANDA PAIVA

UMA INTERFACE DE INTERAÇÃO COM O OCTAVE: UM ESTUDO DE CASO

USANDO OPERAÇÕES COM SINAIS

Belém – PA

2013
UNIVERSIDADE FEDERAL DO PARÁ

INSTITUTO DE TECNOLOGIA

FALCULDADE DE ENGENHARIA DA COMPUTAÇÃO E TELECOMUNICAÇÕES

REBECA MIRANDA PAIVA

UMA INTERFACE DE INTERAÇÃO COM O OCTAVE: UM ESTUDO DE CASO

USANDO OPERAÇÕES COM SINAIS

Trabalho de Conclusão de Curso apresentado ao Colegiado do

Curso de Engenharia da Computação como requisito parcial para a

obtenção do grau de Engenheira da Computação

Belém – PA

2013
UMA INTERFACE DE INTERAÇÃO COM O OCTAVE: UM ESTUDO DE CASO

USANDO OPERAÇÕES COM SINAIS

Este trabalho foi julgado em ___/___ /______ adequado para obtenção do Grau de

Engenheiro de Computação, aprovado em sua forma pela banca examinadora que

atribuiu o conceito ___________________________

_______________________________________________________
Prof. Agostinho Luiz da Silva Castro (Orientador)
Faculdade de Engenharia da Computação e Telecomunicações
Universidade Federal do Pará

______________________________________________________
Prof. Ronaldo de Freitas Zampolo (Membro)
Faculdade de Engenharia da Computação e Telecomunicações
Universidade Federal do Pará

_____________________________________________________
Prof. Eurípedes dos Santos Pinheiro (Membro)
Faculdade de Engenharia da Computação e Telecomunicações
Universidade Federal do Pará

_______________________________________________
Prof. Ádamo Lima de Santana
Diretor da Faculdade de Engenharia da Computação e Telecomunicações
Universidade Federal do Pará
“A confiança em si mesmo é o primeiro segredo do sucesso”
Ralph Waldo Emerson
AGRADECIMENTOS

Primeiramente, agradeço a Deus por todas as oportunidades que são colocadas em minha

vida, sendo que a graduação é um dos patamares de muitos outros que ainda pretendo alcançar e

sem Ele, de fato, eu não chegaria até aqui. Por ter me sustentado ter sido meu maior companheiro

em todas as situações, boas e adversas.

Aos meus pais, Rubens e Terezinha Paiva, que em todos os momentos me deram apoio

em meus estudos, me incentivaram em momentos de quase desistência e são referenciais para

mim de uma vida de sucesso obtida pelos seus esforços, mas principalmente me ensinaram a

confiar em Deus. Ao meu irmão Lucas por ser fonte de uma saudável conversa sobre inovações

tecnológicas.

Ao Prof. Agostinho que me deu as devidas orientações para o desenvolvimento deste

trabalho com atenção e paciência, estando sempre solicito à retirada de minhas dúvidas e auxílio

mesmo nas minhas dificuldades organizacionais.

Aos amigos da “Igreja Batista Missionária da Amazônia”, aos quais não posso citar o

nome por correr o risco de esquecer algum, mas que são uma grande inspiração por me

proporcionar também desafios pessoais. Um agradecimento mais que especial ao Ministério

Sibecai, ao qual fiz parte a 12 anos, estando boa parte dele à frente como líder. Foi uma fonte de

ensinamentos, uma forma de exercitar minha independência e minha dependência além de

infinitos cuidados para comigo. Muito Obrigado!

Agradeço ao grande amor da minha vida Vitor Bahia. Obrigada por tudo pelo apoio, pelas

palavras e pelo silêncio, pelos sorrisos e pelas lágrimas, por aquilo que construímos e por aquilo

que destruímos....Somos uma super equipe, isso ninguém pode negar! Eu te amo!
RESUMO

Este trabalho faz uma abordagem a respeito do cenário dos softwares existentes para os

cálculos avançados abordados nos cursos de engenharia como: análise, transmissão e

processamento de sinais. No entanto, existem alguns softwares que dispõem de uma interface

limitada o que pode representar uma barreira aos usuários que não possuem o domínio da sintaxe

usual nesses programas. Desta forma, propõe-se o desenvolvimento de uma metodologia, baseada

nos conceitos de engenharia de software, para a criação de um ambiente de interação entre o

usuário e os softwares de cálculos. A partir desta metodologia, foi elaborada uma interface como

exemplo de aplicação. Como consequência, foi disponibilizado ao usuário, uma forma de

interação, no caso particular, com o software OCTAVE, onde é possível a realização de estudos e

a visualização gráfica dos resultados sem que o usuário necessite digitar código linha-a-linha.

Com base nesses benefícios, é feita uma avaliação dessa metodologia e da interface desenvolvida

com o uso de sinais. Utilizando da linguagem de programação ActionScript para a interface

interagindo com OCTAVE para os cálculos, avaliou-se o desempenho dessa estratégia conjunta.

Os resultados indicam a aplicabilidade da metodologia na construção de ambientes que interajam

com software de simulação.

Palavras-Chave: Softwares para simulações, interação com o usuário, metodologia para a criação

de interfaces.

i
ABSTRACT

This work is an approach regarding the scenario of existing software for advanced

calculations covered by engineering courses, such as analysis, signal processing and

transmission. However, there are some softwares that have a limited interface which may

represent a drawback for the users who not have the domain in using the specific

programming languages of these softwares. As a consequence, this work proposes the

development of a methodology based on the concept of software engineering, to create a

platform that interfaces the user and the simulation software. In this context, it was developed

an interface as an example of application of this methodology. By using this interface, the

user has an environment in order to access the functionalities of software OCTAVE. As a

result, the user can extract information and graphical visualization without needing of typing

in code. Based on these benefits, it was made an assessment is made of this methodology, an

interface was developed as application example. Using the ActionScript programming

language and syntax of OCATVE for doing the calculus, it was evaluated the performance of

this joint strategy. The result verifies the methodology's applicability in the development of

platforms that interact with the simulation software.

Keywords: software for simulations, user interaction, methodology for creating interfaces.

ii
Lista de Ilustrações

Figura 2.1. Tela de Abertura do MATLAB 18

Figura 2.2. Área de Trabalho do MATLAB 19

Figura 2.3. M-File Editor 20

Figura 2.4. Tela de Abertura do Scilab 22

Figura 2.5. Área de Trabalho do Scilab 23

Figura 2.6. Editor de códigos SciPad 24

Figura 2.7. Tela do OCTAVE 26

Figura 2.8. Tela de Abertura QtOctave 26

Figura 2.9. Ambiente de trabalho do QtOctave 27

Figura 2.10. Barra de Menu do QtOctave 28

Figura 3.1. Atividades típicas no processo de desenvolvimento de software 31

Figura 3.2. Representação do ator no diagrama de caso de uso 34

Figura 3.3. Ligação entre o ator e uma funcionalidade no diagrama de caso de uso 34

Figura 3.4. Diagrama de caso de uso com uso do relacionamento de inclusão e exclusão 35

Figura 3.5. Diagrama de caso de uso 37

Figura 4.1. Sinal periódico 39

Figura 4.2. Sinal não periódico 40

Figura 4.3. Gráfico do ruído branco 41

Figura 4.4. Gráfico do seno 41

Figura 5.1. Área de trabalho do Flash MX 47

Figura 5.2 Tela inicial da Interface “Simulação de Sinais versão 2.13” 48

Figura 5.3 Tela principal da Interface 49


iii
Figura 5.4. Cálculos selecionados 50

Figura 5.5. Botão “Gerar Script” 50

Figura 5.6. Script gerado pela Interface 51

Figura 5.7. Botão de ativação do “Notepad++” 52

Figura 5.8. Tela para salvar o script 53

Figura 5.9. Tela do OCTAVE para chamar o script 54

Figura 5.10. Tela do OCTAVE exibindo as propriedades estatíticas 55

Figura 5.11. Gráfico resultante da soma de sinais 55

Figura 5.12. Gráfico da primeira iteração da Transformada de Fourier 56

Figura 5.13. Gráfico da Transformada de Fourier Centralizada 57

iv
Lista de Abreviaturas

UML Unified Modeling Language

MATLAB Matrix Laboratory

INRIA Institut National de Recherche en Informatique et en Automatique

ENRC École Nationale des Ponts et Chaussées

CASCD Computer Aided Control System Design

GNU GPL General Public License

DCU Diagrama de Caso de Uso

FT Transformada de Fourier

SWF Shockwave Flash

AS ActionScrip

iOS iPhone Operational System

PC Personal Computer

MAC Macintosh

v
SUMÁRIO

RESUMO i

ABSTRACT ii

Lista de Ilustrações iii

Lista de Abreviaturas v

1. INTRODUÇÃO 13

1.1 DEFINIÇÃO E MOTIVAÇÃO DO PROBLEMA 13

1.2. CONTRIBUIÇÃO 14

1.3. OBJETIVOS DO TRABALHO 14

1.4. ORGANIZAÇÃO DO TRABALHO 15

2. CENÁRIOS DE UTILIZAÇÃO DE SOFTWARES DE SIMULAÇÃO 16

2.1. CENÁRIO 16

2.2. FERRAMENTAS COMPUTACIONAIS 17

2.2.1. MATLAB 17

2.2.2. SCILAB 21

2.2.3. OCTAVE 25

2.3. METODOLOGIA PROPOSTA 28

3. DESENVOLVIMENTO DE SOFTWARE 30

3.1. ENGENHARIA DE SOFTWARE 30

3.2. ATIVIDADES TÍPICAS NO DESENVOLVIMENTO DE SOFTWARE 30

3.3. UML 32

3.3.1 Diagrama de Caso de Uso 33

3.4. METODOLOGIA UTILIZADA. 35


4. ESTUDO DE CASO 38

4.1. CONTEXTO 38

4.2. CONCEITOS 38

4.3. OPERAÇÕES COM SINAIS 42

4.3.1. Mudança de escala de amplitude. 42

4.3.2. Adição 42

4.3.4. Valor Médio 43

4.3.5. Desvio Padrão 43

4.3.6. A transformada de Fourier 44

5. DESCRIÇÃO DE RESULTADOS 45

5.1. OBJETIVOS DA INTERFACE 45

5.2. AMBIENTE 45

5.3. TECNOLOGIA EMPREGADA 46

5.3.1. FLASH 46

5.4. APRESENTAÇÃO DA INTERFACE 47

5.5. RESULTADOS 54

5.6. CONSIDERAÇÕES FINAIS 57

6. CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS 58

6.1. CONCLUSÕES 58

6.2. SUGESTÕES PARA TRABALHOS FUTUROS 59

REFERÊNCIAS BIBLIOGRÁFICAS 60
13

CAPITULO 1

INTRODUÇÃO

1.1 DEFINIÇÃO E MOTIVAÇÃO DO PROBLEMA

No campo da engenharia, existem alguns conceitos e teorias que precisam ser

compreendidos. O advento da computação e o aumento da capacidade de processamento de

dados dos computadores, associados ao desenvolvimento dos modelos de cálculos numéricos,

permitiu a utilização de ferramentas para desenvolver sistemas computacionais para simulação,

visualização e análise nas mais diversas áreas do conhecimento humano, obtendo, dessa forma,

soluções para problemas de ordem prática [1].

Devido às facilidades oferecidas por estes softwares, os esforços e conhecimentos

necessários para a programação foram minimizados [2]. No entanto, algumas dessas ferramentas

possuem sua interface gráfica limitada.

O conceito de interface gráfica está relacionado com a forma de interação entre o usuário

e um programa por meio de uma tela ou representação gráfica, visual [3]. Uma interface gráfica

limitada é quando esta não oferece esses recursos visuais tão elaborados.

Assim o objetivo do presente trabalho é indicar uma metodologia para a criação de

interface entre os programas de cálculos existentes que dispõem de uma interface gráfica limitada

para acesso, com um usuário que não precise ter conhecimentos específicos de programação.
14

1.2. CONTRIBUIÇÃO

Neste trabalho é desenvolvida uma metodologia para elaboração de interfaces que

disponibilizem ao usuário uma facilidade interativa com programas de cálculo e simulação de

sinais permitindo que este utilize sem precisar conhecer a fundo a sintaxe utilizada pelos mesmos.

1.3. OBJETIVOS DO TRABALHO

Este trabalho tem como objetivo geral desenvolver uma metodologia baseada nos

conceitos de engenharia de software onde, por meio dessa, seja possível aplicar, de forma prática,

uma interface de interação ao usuário que não possua o domínio de uso dos programas de cálculo

e simulação com sinais.

Seguem em destaque alguns objetivos específicos:

 Estudo de conceitos de Engenharia de Software e modelagem do sistema por meio da

linguagem UML;

 Estudo das funcionalidades do OCTAVE;

 Estudo das funcionalidades do software Flash MX;

 Estudo de sinais;
15

1.4. ORGANIZAÇÃO DO TRABALHO

Este trabalho está estruturado em cinco capítulos.

 No capítulo 1 está disposta a introdução, que referencia o contexto, objetivos e

organização do trabalho;

 No capítulo 2 é feita uma revisão dos softwares existentes que são utilizados para cálculos

avançados e de que forma as suas interfaces se apresentam;

 No capítulo 3 são apresentados conceitos de Engenharia de Software e como foi feita a

modelagem da interface proposta;

 O capítulo 4 apresenta alguns conceitos relacionados à operações com sinais que serão

utilizados no estudo de caso;

 No capítulo 5 é feito o estudo de caso e o teste da interface, exibindo as telas de

apresentação e o modo que elas são operadas;

 O capítulo 6 são as conclusões e os trabalhos futuros;

 Em Referências Bibliográficas são listadas toda a literatura e ligações utilizadas nesse

trabalho.
16

CAPITULO 2

CENÁRIOS DE UTILIZAÇÃO DE SOFTWARES DE SIMULAÇÃO

Nesta seção serão apresentados aspectos do cenário dos softwares de cálculo utilizados

em engenharia. A partir de então, será possível compreender suas funcionalidades e as interfaces

que estes disponibilizam e, em seguida, estabelecer a justificativa do desenvolvimento de uma

metodologia, que é o objeto de estudo desse trabalho.

2.1. CENÁRIO

As inovações tecnológicas, como o desenvolvimento de modelos de cálculos numéricos

associadas ao crescente aumento da capacidade de processamento de dados pelos computadores,

permitiram uma reformulação na forma em que o usuário tem acesso aos resultados de cálculos

avançados em engenharia. Nesse contexto, existem vários softwares que se destinam a simular,

visualizar e analisar resultados e gráficos em diversas áreas, como estatística, financeira,

otimização, aquisição de dados, processamento de imagens, entre outros.

Esses softwares, voltados ao cálculo e simulação disponíveis atualmente no mercado, não

são apenas importantes no contexto acadêmico, como é o caso da proposta de metodologia

apresentada, mas também são bastante utilizadas em empresas e indústrias. Alguns exemplos de

empresas que utilizam os softwares voltados para o cálculo numérico atualmente no Brasil são:

Vale do Rio Doce, Embraer, Petrobrás e Banco Central. [4]


17

2.2. FERRAMENTAS COMPUTACIONAIS

Como este trabalho propõe a elaboração de uma metodologia para a elaboração de uma

interface que permita a interação com esses softwares, torna-se necessário abordar as

características, interface apresentada e vantagens e desvantagens encontradas em alguns

softwares de cálculo. Portanto, nas próximas seções serão descritos alguns softwares comumente

utilizados tanto no ambiente acadêmico como também no industrial.

2.2.1. MATLAB

MATLAB é a abreviação para “MATrix LABoratory”. É um programa para realização de

cálculos numéricos com vetores e matrizes e que também trabalha com números escalares, tanto

reais como complexos.

Foi desenvolvido no início da década de 80 por Cleve Moler, no Departamento de Ciência

da Computação da Universidade do Novo México, EUA e, desde a sua primeira versão, é tido

como produto líder na área de computação numérica e científica.

É uma linguagem de alto desempenho para cálculos técnicos e ao mesmo tempo uma

linguagem de programação. Um de seus pontos fortes é a possibilidade de desenvolver funções

próprias pelo usuário e também desenvolver bibliotecas.

Ao abrir o MATLAB aparecerá uma imagem como na Figura 2.1.


18

Figura 2.1. Tela de Abertura do MATLAB

A área de trabalho do MATLAB é composta de várias sub-janelas, como: a janela que

indica a pasta onde são salvos os arquivos gerados pelo programa (Current Directory), a janela

para exibir os comandos que já foram digitados pelo usuário (Command History), a janela onde

são digitados os comandos (Command Window), além da barra de ferramentas que segue o

padrão encontrado no ambiente do sistema operacional Windows. A organização dessa tela pode

ser visualizada na Figura 2.2.


19

Figura 2.2. Área de Trabalho do MATLAB

Os comandos a serem executados devem está na aba Command Window, onde os dados e

instruções são digitados no prompt “>>” pelo usuário e, após a tecla Enter ser pressionada, o

programa os processa imediatamente e expõe na tela o resultado.

É importante apontar que a Command Window normalmente é usada para testes de

comandos e funções ou simples operações. Quando se deseja implementar algum programa,

projeto ou trabalho, utiliza-se o M-File Editor (Figura 2.3). Neste editor, cria-se um arquivo texto

“. m” com os comandos desejados.


20

Figura 2.3. M-File Editor

Atualmente o MATLAB é a ferramenta mais eficiente e abrangente, pois dispõe de

recursos para cálculos mais avançados e específicos, além de ser a ferramenta mais conhecida do

meio matemático e das engenharias.

O MATLAB é um software proprietário e como tal exige que sejam adquiridas licenças

para o seu uso. Como todo software proprietário, o MATLAB detém o conhecimento relativo ao

seu desenvolvimento. A empresa desenvolvedora (Mathwork) é quem distribui a licença para o

uso do MATLAB e de seus toolboxes adicionais, fornece o suporte técnico e as atualizações do

software. [5]

Uma desvantagem no uso MATLAB é que, ainda que seus códigos sejam escritos de

forma muito semelhante à forma escrita matematicamente, o usuário necessita saber quais

comando utilizar e a forma exata que eles são escritos, exigindo um estudo mínimo dessa

programação especial.
21

2.2.2. SCILAB

Desenvolvido desde 1990 pelos pesquisadores do INRIA (Institut National de Recherche

en Informatique et en Automatique), do ENPC (École Nationale des Ponts et Chaussées), e

mantido pelo Consorcio Scilab desde maio de 2003, o Scilab é agora mantido e desenvolvido

pelo Scilab Enterprises desde Julho de 2012. Distribuído gratuitamente via Internet desde 1994, o

Scilab é atualmente usado em diversos ambientes industriais e educacionais pelo mundo.

É uma ferramenta utilizada para o desenvolvimento de sistemas de controle automático.

Possui a capacidade de manipular diversos objetos, como matrizes, polinômios, funções de

transferência entre outros. Atua nas áreas de cálculo de álgebra linear, otimização e

processamento de sinais. Em seu ambiente de programação, também permite a criação de novas

funções ou bibliotecas pelo usuário e interage com outras linguagens de programação como C ou

Fortran. [6]

Distribuído via Internet desde 1994 é um software livre com o código aberto. Embora seja

apresentado como um software CASCD, Computer Aided Control System Design - Projeto de

Sistemas de Controle Auxiliado por Computador, o Scilab pode ser usado para desenvolvimento

ou prototipação de software numérico de propósito geral [7]. A tela de abertura do Scilab é

encontrada na Figura 2.4.


22

Figura 2.4. Tela de Abertura do Scilab

O ambiente de trabalho do Scilab é semelhante ao encontrado no software MATLAB,

com diversas sub-janelas. Assim como no Command Window do MATLAB, o Scilab dispõe da

janela Console do Scilab para a digitação de comandos, dados e instruções. A Figura 2.5

apresenta a área de trabalho do Scilab.


23

Figura 2.5. Área de Trabalho do Scilab

O Scilab também possui um editor de códigos chamado de SciPad, mostrado na Figura

2.6, onde são desenvolvidos blocos de códigos e podem ser salvos em várias extensões, inclusive

a “.m” reconhecida pelos softwares de cálculos numéricos.


24

Figura 2.6. Editor de códigos SciPad

O Scilab atende à maioria das necessidades em cálculo no curso de engenharia e tem

linguagem de fácil entendimento, pois sua linguagem assemelha-se a forma que as funções são

escritas matematicamente, assim como no MATLAB. É um software livre com o código de fonte

aberto. E seus binários estão disponíveis para diversas plataformas Unix e plataforma Windows

[8]. Também, de forma similar ao MATLAB e ainda com uma linguagem de fácil entendimento,

no uso do Scilab também é exigido um nível básico de conhecimento da sintaxe.


25

2.2.3. OCTAVE

O GNU OCTAVE é um software livre, baseado na licença GNU GPL (General Public

License) que permite a distribuição e o reaproveitamento do programa, mantendo, porém, os

direitos do autor de forma a não permitir que essa informação seja usada de uma maneira que

limite as liberdades originais. O gerenciamento do projeto OCTAVE foi idealizado por John

Eaton e é similar ao software proprietário MATLAB.

É um software interativo que é utilizado para cálculos computacionais, científicos e de

engenharia e visualização gráfica. A parte gráfica do OCTAVE é feita pelo programa GNU Plot e

funciona como uma ferramenta auxiliar. O software apresenta sintaxe de programação similar às

linguagens de alto nível como o BASIC, o FORTRAN, o PASCAL, e o C, porém, sua utilização

muito mais simples. [9]

Historicamente o OCTAVE foi concebido para servir de base para um livro texto de

graduação no projeto de um reator químico, escrito por dois pesquisadores americanos das

Universidades de Winsconsin e da Universidade do Texas. Posteriormente foi ampliado a fim de

ser tornar uma ferramenta mais completa.

Na época da concepção do OCTAVE, a linguagem de computação utilizada pela

engenharia era o FORTRAN, porém foi constatado que os alunos tinham problemas com a

linguagem, pois gastavam demasiado tempo tentando descobrir o que havia dado errado no

código e não tinham tempo para aprender sobre o conteúdo da engenharia. [10]

Originalmente o OCTAVE foi implementado para o ambiente Linux. Todavia existe uma

versão para Windows, em que usa o programa cygwin para emular um “ambiente Linux”, onde o

OCTAVE é executado. A Figura 2.7 apresenta a tela do OCTAVE disponível para o usuário.
26

Figura 2.7. Tela do OCTAVE

O OCTAVE originalmente não dispõe de interface gráfica. Ele deve ser executado no

terminal (Linux) ou no MS-Dos (Windows), contudo há projetos que implementam um ambiente

integrado como por exemplo o software QtOctave (Figura 2.8)

Figura 2.8. Tela de Abertura QtOctave


27

O QtOctave é interface gráfica para GNU OCTAVE. O QtOctave possibilita a realização

de tarefas matemáticas de forma mais rápida e simplificadas de que seriam codificadas em outras

linguagens computacionais [11]. A Figura 2.9 apresenta a interface do QtOctave.

Figura 2.9. Ambiente de trabalho do QTOCTAVE

No ambiente QtOctave é possível encontrar na barra de menu alguns cálculos pré-

estabelecidos como cálculos com equações, matrizes, cálculos estatísticos e também a plotagem

de gráficos, como tal mostrado na Figura 2.10.


28

Figura 2.10. Barra de Menu do QtOctave

O QtOctave realiza as mesmas funções que as disponíveis pelo OCTAVE, porém adiciona

a este software uma interface mais similar às encontradas nas outras ferramentas apresentadas.

Outra vantagem no uso do OCTAVE em conjunto ao QtOctave é que este, como já fora

mencionado, traz em seu escopo funções já definidas, possibilitando o usuário chegar aos

resultados desejados mas que inda necessite conhecer parte da sintaxe das funções.

2.3. METODOLOGIA PROPOSTA

A metodologia proposta por esse trabalho é baseada na possibilidade do usuário chegar

aos resultados desejados e a plotagem de gráficos, sem que este necessite saber a sintaxe do

software de cálculo. O software que servirá será interfaceado será o software OCTAVE, visto que

este não possui uma interface gráfica nativa e tem sua distribuição gratuita.

Diferente do que apresentado pelo front-end QtOctave, que também disponibiliza cálculos

pré-formatados, na metodologia proposta aqui, o usuário poderá chegar aos resultados apenas

estabelecendo parâmetros por meio de seleção e não por digitação, o que de forma eficiente, evita

que sejam inseridos acidentalmente, caracteres que impedem o funcionamento de um bloco de

códigos.
29

De forma diferente ao apresentado no QtOctave, será possível a seleção de um ou mais

cálculos que sejam de interesse do usuário. A transformada de Fourier também se apresenta como

um cálculo diferente aos já apresentados no referido software.

A linguagem utilizada no desenvolvimento desta metodologia apresenta um diferencial

em relação ao que já se tem disponível no mercado, pois é multi-plataforma, através da

linguagem nativa do Flash MX. Adicionalmente o OCTAVE já dispõe de uma versão que é

executada na plataforma Android, que possibilita o uso dessa proposta em outros ambientes.
30

CAPÍTULO 3

DESENVOLVIMENTO DE SOFTWARE

Neste capítulo serão pontuados conceitos importantes de engenharia de software para o

desenvolvimento de software, bem como serão detalhados conceitos da linguagem UML e

diagramas de caso de uso. Estes conceitos serão aplicados para a formatação da metodologia

proposta neste trabalho assim como no desenvolvimento da aplicação exemplo.

3.1. ENGENHARIA DE SOFTWARE

Engenharia de software é uma área da computação voltada à especificação e

documentação de sistemas de software. Antes do estabelecimento dos conceitos de engenharia de

software, o desenvolvimento dos programas era feito sem utilização de metodologias formais ou

qualquer documentação. Porém, com o crescimento dos custos de software (em relação aos de

hardware) no custo total de um sistema computacional, o processo de desenvolvimento de

software tornou-se um item de fundamental importância na produção de tais sistemas. [11]

3.2. ATIVIDADES TÍPICAS NO DESENVOLVIMENTO DE SOFTWARE

O processo de desenvolvimento de software deve compreender todas as atividades

necessárias para definir, desenvolver, testar e manter este software. As atividades típicas de um

processo de desenvolvimento de software são as tarefas realizadas durante a construção de um


31

sistema [12]. A Figura 3.1 apresenta um diagrama de blocos que ilustra o processo de

desenvolvimento de softwares.

Figura 3.1. Atividades típicas no processo de desenvolvimento de software

A primeira atividade a ser realizada é o levantamento de requisitos. Nesta fase é

compreendido o problema a ser abordado no desenvolvimento. São levantadas e definidas as

necessidades do usuário e essas necessidades são denominadas requisitos. Constitui como a fase

mais importante, pois nela é visualizado todo o ambiente que deverá ser definido,

consequentemente, custos e tempo são poupados.

A análise de requisitos corresponde ao segundo passo das atividades. Na análise são

fracionados os componentes do sistema e são estudados como tais componentes interagem com o
32

objetivo de entender como esse sistema funciona. A partir desse estudo são levantados modelos e

esses são validados e verificados. O objetivo da validação é assegurar que as necessidades do

usuário estão sendo atendidas pelo sistema. A verificação tem o objetivo de verificar se os

modelos construídos estão em conformidade com os requisitos definidos anteriormente.

Seguida a esta fase, encontra-se a fase de projeto (ou design). Nesta fase, determina-se

como o sistema funcionará de acordo com os recursos tecnológicos existentes, as linguagens que

serão usadas, entre outras características. Na fase de implementação, o sistema é devidamente

codificado, ou seja, ocorre a tradução da descrição computacional da fase de projeto em código

executável.

A última fase a ser executada é a fase de testes, levando em conta a especificação feita na

fase de projeto. O principal produto desta fase é a visualização dos resultados alcançados e

relatórios sobre os erros detectados.

3.3. UML

A UML é uma linguagem constituída de elementos gráficos utilizados na modelagem que

permitem representar os conceitos do desenvolvimento de software. Através dos elementos

gráficos definidos nesta linguagem podem-se construir diagramas que representam diversas

perspectivas de um sistema.

A UML é independente tanto de linguagens de programação quanto de processos de

desenvolvimento. Isto é um fator importante na sua utilização, pois diferentes sistemas requerem

diferentes abordagens de desenvolvimento.


33

A linguagem UML sugere que um sistema pode ser descrito por visões diferentes e

interdependentes deste sistema. Neste trabalho será utilizada a visão de caso de uso. Esta visão

descreve o sistema de um ponto de vista externo como um conjunto de interações entre o sistema

e os agentes externos ao sistema. [13]

O processo de desenvolvimento que utiliza a linguagem UML requer a criação de

documentos, que podem ser textuais ou gráficos. Esses elementos são definidos através da

utilização de diagramas da UML. Existem no padrão de linguagem UML nove diagramas.

Justifica-se a existência deste número de digramas, pois cada um deles apresenta um modelo de

várias perspectivas do sistema.

3.3.1 Diagrama de Caso de Uso

O diagrama a ser utilizado por este projeto será o diagrama de Caso de Uso (DCU). Este

diagrama corresponde a uma visão externa do sistema e representa graficamente os atores, casos

de uso – que são as funcionalidades do sistema – e o relacionamento entre esses elementos.

O objetivo do uso deste diagrama é mostrar certo nível de abstração de forma que

represente quais elementos externos interagem com as funcionalidades do sistema.

A sintaxe usada para ilustrar os atores de um DCU é a figura de um boneco, como seu

nome definido em legenda, onde nem sempre esse ator é representado por um humano, como esta

notação leva a entender. A Figura 3.2 representa a simbologia de um ator no diagrama de caso de

uso.
34

Figura 3.2. Representação do ator no diagrama de caso de uso.

O caso de uso – funcionalidade – é representado por uma elipse e o seu nome é

posicionado dentro dela. Um relacionamento de comunicação é representado por uma linha

ligando o ator ao caso de uso. Um ator poder ser ligado a um ou mais casos de uso, tal como

ilustrado na Figura 3.3.

Funcionalidade do
sistema

Usuário

Figura 3.3. Representação da ligação entre o ator e uma funcionalidade no diagrama de caso de uso

A fronteira do sistema em um diagrama de caso de uso é representada por retângulos nos

quais são inseridos os casos de uso. Os atores são colocados do lado de fora do retângulo a fim de

enfatizar a divisão entre o interior e o exterior do sistema.


35

Na linguagem UML, o relacionamento de inclusão, onde um caso de uso X inclui um caso

de uso Y, é representado por uma seta direcionada de X para Y, já o relacionamento de extensão,

em que um caso de uso X estende um caso de uso Y, é representado por uma seta direcionada de

X para Y. A Figura 3.4 ilustra esse processo.

Figura 3.4. Exemplo de diagrama de caso de uso com uso do relacionamento de inclusão e exclusão

3.4. METODOLOGIA UTILIZADA.

O termo metodologia diz respeito aos fundamentos que embasam um estudo, além de

também representar conjunto de métodos (modos) que uma pesquisa utilizou para chegar a seus

resultados.

Este trabalho se dedicou a desenvolver uma metodologia para produção de uma interface

de acesso ao software de cálculo numérico OCTAVE. O requisito inicial deste sistema é a

possibilidade do usuário, que não possui domínios da sintaxe utilizada pelo OCTAVE, conseguir

chegar a resultados de cálculos avançados. Nesta metodologia, o usuário não necessitará escrever
36

códigos linha-a-linha ou mesmo digitar valores para a execução dos cálculos, já que esta tem

como um dos seus objetivos deixar o código transparente ao usuário.

Na análise de requisito deste sistema, avaliou-se que, para que sejam parametrizados

valores, são necessários que sejam selecionados valores disponíveis apenas com o uso de um

clique. Mediante a seleção desses valores, o usuário define que tipo de cálculo é do seu interesse.

A partir disso, foi compreendida a forma que esses parâmetros devem interagir. Pelo

método proposto existirá um mapeamento entre o que o usuário deseja fazer, em termos de

processamento de sinais, em comandos/funções no ambiente de simulação. Depois deste

mapeamento é gerado e executado no OCTAVE um arquivo de instruções (script).

O script gerado pela interface é baseado na sintaxe nativa do OCTAVE. Na próxima fase,

o usuário deverá abrir o OCTAVE, com atalho disponível na própria interface, e chamar via

código o script previamente gerado.

Na fase de projeto foi feita a pesquisa das linguagens e softwares que se adequariam no

desenvolvimento da interface. A linguagem a ser usada foi a linguagem típica do Flash,

ActionScript e a sintaxe usual do OCTAVE. Durante a implementação, algumas outras

funcionalidades foram inseridas à metodologia para que chegasse com eficácia aos resultados

esperados.

Em se tratando da elaboração do diagrama de caso de uso, os atores da interface proposta

foram definidos como o usuário e o OCTAVE, pois são estes que interagem, de acordo com a

metodologia, com o sistema desenvolvido (interface).


37

As funcionalidades do sistema foram definidas como a inserção de parâmetros, que será

feita pelo usuário e a exibição de gráficos e plotagem de gráficos, feita pelo OCTAVE. Note que

o objetivo da interface é fazer com que o usuário consiga atingir o seu objetivo final, sem

necessitar conhecer e digitar a sequência de comandos no OCTAVE, e sim já receber da interface

esse script. Dessa forma o diagrama de caso de uso no processo de desenvolvimento desse

sistema é definido na Figura 3.5.

Figura 3.5. Diagrama de caso de uso


38

CAPÍTULO 4

ESTUDO DE CASO

Este capítulo propõe-se a entender alguns conceitos que foram utilizados na aplicação

teste da metodologia proposta por este trabalho. Como no exemplo de aplicação da metodologia

será usada a geração e operação com sinais, e como consequência, uma abordagem desses

conceitos se faz necessária. As definições de sinais serão tratadas de forma geral e direta.

4.1. CONTEXTO

Para fins de teste de aplicabilidade da metodologia desenvolvida, algumas funções e

alguns cálculos avançados utilizados na engenharia servirão como base. Nesta metodologia serão

utilizados os conceitos de sinal, operações com sinais e a indicação de alguns parâmetros, bem

como a visualização do sinal no domínio da frequência.

4.2. CONCEITOS

O termo sinal é aplicado a algo que carrega informação. Sinais podem, por exemplo,

carregar informação sobre o estado ou o comportamento de um sistema físico. Os sinais podem

ser representados de várias formas, em todo o caso, a informação está contida em um padrão de

variação de algum parâmetro do sinal. [14]


39

Matematicamente, todo o sinal pode ser representado como uma função em um domínio

apropriado, em geral o tempo, mas outros domínios são possíveis. [15]

Os sinais podem ser periódicos ou não periódicos. Um sinal de tempo contínuo ( )é

dito periódico com período T se existir um valor positivo de T diferente de zero para o qual

( ) ( ), para todo t

Um exemplo de tal sinal é dado na Figura 4.1. Da equação anterior, extrai-se que

( ) ( )

Para todos os valores de t e qualquer inteiro m.

Figura 4.1. Sinal periódico


40

Qualquer sinal de tempo contínuo que não é periódico é considerado não periódico (ou

aperiódico) e de forma oposta o modelo apresentado anteriormente, um sinal é dito não-periódico

se suas subpartes não se repetem fielmente de tempo em tempo. Neste caso, não há qualquer tipo

de restrição quanto a repetição dos períodos dos sinais [17]. A Figura 4.2 apresenta esta ideia.

Figura 4.2. Sinal não periódico

Os sinais também podem ser aleatórios ou determinísticos. Um sinal aleatório é aquele

sobre o qual existe certo grau de incerteza associado aos valores em qualquer instante do tempo.

Os valores futuros do sinal não são previsíveis, mesmo observando valores passados.

Um exemplo de sinal aleatório é o ruído branco, mostrado na Figura 4.1.


41

Figura 4.3. Gráfico do ruído branco

Um sinal determinístico é aquele sobre o qual não há incertezas em seus valores [16]. Em

quase todos os casos, uma expressão matemática pode ser escrita para tal sinal. Um seno pode ser

considerado um sinal determinístico (Figura 4.4).

Figura 4.4. Gráfico do seno


42

4.3. OPERAÇÕES E PARÂMETROS QUE CARCTERIZAM UM SINAL

Uma questão de fundamental importância no estudo de sinais é o uso de sistemas para

processá-los ou manipulá-los [17]. Como na metodologia desenvolvida serão abordadas algumas

operações feitas com sinais, como mudança da escala de amplitude e adição de sinais, neste

tópico serão abordados esses conceitos.

4.3.1. Mudança de escala de amplitude.

O sinal ( ) resultante da mudança de escala de amplitude aplicada a ( ) é definido por

( ) ( ) (4.1)

Em que é o fator de mudança de escala. De acordo com a equação (4.1), o valor de ( )

é obtido multiplicando-se o valor correspondente de ( ) pelo escalar .

4.3.2. Adição

Definindo ( )e ( ) como um par de sinais de tempo contínuo, o sinal ( ) obtido

pela adição de ( )e ( ) é definido por

( ) ( ) ( ) (4.2)
43

4.3.4. Valor Médio

Graficamente, o valor médio pode ser representado como área sob a curva, no intervalo T,

dividido pelo período T. O período T é o intervalo de tempo de repetição da onda periódica sendo

onde f é a frequência. A equação 4.3 apresenta a expressão usada para a determinação do

valor médio de um sinal periódico.

∫ ( ) (4.3)

4.3.5. Desvio Padrão

Embora a média seja útil, ela não transmite toda a informação necessária acerca de um

sinal. A variabilidade ou dispersão nos dados pode ser descrita pela variância ou o desvio-padrão.

O desvio padrão é a medida mais comum da dispersão estatística. Nele é mostrado o

quanto de variação houve em relação a média. O valor mínimo do desvio padrão é 0 indicando

que não há variabilidade, ou seja, que todos os valores são iguais à média.

Desta forma

∫ ( ) ( ) (4.5)

Então para uma variável X com média , é conhecido como variância de X, e sua raiz

quadrada √ ( ) é conhecido como desvio padrão de X.


44

4.3.6. A Transformada de Fourier

Muitas vezes, as informações cruciais estão contidas no chamado espectro em frequência

do sinal, que mostra quais frequências existem no sinal que está sendo analisado. A transformada

de Fourier é uma ferramenta matemática que provê a transformação de uma função (sinal) do

domínio do tempo para o domínio da frequência [18], desenvolvida pelo matemático Joseph

Fourier em 1807.

A representação FT de um sinal de tempo envolve uma integral como é mostrado por

( ) ∫ ( ) (4.6)

Ou de forma inversa

( ) ∫ ( ) (4.7)

Na equação (4.6), ( ) é expressa como uma superposição ponderada de senóides. A

superposição é uma integral e o peso de cada senóides é (1/2 ) ( ) . Então ( ) e ( )

são um par de FT.

A transformada ( ) descreve o sinal ( ) como uma função de frequência senoidal e

é denominada de domínio da frequência para ( ). A equação (4.7) é denominada transformada

de Fourier de ( ), uma vez que converte o sinal de domínio de tempo em sua representação de

domínio de frequência.
45

CAPÍTULO 5

DESCRIÇÃO DE RESULTADOS

5.1. OBJETIVOS DA INTERFACE

O objetivo da interface desenvolvida é disponibilizar ao usuário uma interface que facilite

o uso do software OCTAVE, fazendo com que o usuário não necessite ter conhecimento

aprofundado sobre a forma de como programar. A interface foi composta de componentes, como

botões e comboboxes, que permitem a utilização de todas as funcionalidades da interface.

Durante o funcionamento da interface é gerado um script, que ao ser executado, extrai

informações do sinal como média, desvio padrão, valor máximo e valor mínimo e exibe os

gráficos do sinal e da transformada de Fourier (FT).

5.2. AMBIENTE

O OCTAVE, como foi mostrado anteriormente, foi desenvolvido para rodar em Linux,

porém já existe uma versão que roda no ambiente Windows, de forma a emular o ambiente

Linux. Como o sistema operacional Windows é o mais recorrente em termos de uso nos

computadores em geral, a sua versão Windows 7 Home Premium foi utilizada como base de

teste, porém também obteve-se resultados satisfatórios na versão anterior Windows XP.
46

5.3. TECNOLOGIA EMPREGADA

Para o desenvolvimento da interface utilizou-se a plataforma Flash MX, cuja linguagem

de programação utilizada é o ActionScript 2.0.

5.3.1. FLASH

É a tecnologia mais utilizada na Web que permite a criação de animações vetoriais. O

maior objetivo no uso de gráficos vetoriais é que estes permitem realizar animações que

demoram pouco tempo para ser carregadas. Além da plataforma Web, que é a mais usual, é

também utilizada em desktops, celulares, smartphones e tablets [19].

A linguagem utilizada em Flash é o ActionScript (AS). Esta linguagem pode ser utilizada

para criar aplicações das mais diversas ou criar efeitos visuais através dos códigos de

programação com funções básicas, controle das posições das cabeças de leitura da linha do

tempo, carregamento de outras animações (swfs externos), loops e condicionais. As versões mais

atuais já dispõem da possibilidade de utilização de classes, verificação de tipos, orientação a

objetos, melhorias de rendimento e aumento considerável na velocidade de execução. A versão

da linguagem utilizada no Flash MX é o AS 2.0.

Os painéis de programação dentro do Flash MX (Figura 5.1) possuem orientações para

escrever os códigos, facilitando a utilização e o entendimento da linguagem, porém exige um

conhecimento básico de programação.


47

Figura 5.1. Área de trabalho do Flash MX

Algumas das vantagens, no uso do Flash é o fato de ser multiplataforma, pois o mesmo

aplicativo desenvolvido em flash roda exatamente igual em diversos sistemas operacionais e

permite a elaboração mais criativa e dinâmica do design, sendo possível fugir do padrão já

apresentados pelas linguagens usuais.

Arquivos flash podem ser tanto visualizados em um navegador Web com suporte a Flash

embutido, ou através de um player Flash.

5.4. APRESENTAÇÃO DA INTERFACE

Nessa seção são apresentadas as funcionalidades desenvolvidas na interface “Simulação

de Sinais v 2.13” e a forma que ela se enquadra na metodologia especificada pelos conceitos de

engenharia de software e desenvolvimento de sistemas.


48

Na tela inicial (Figura 5.2) é disposto botão de acesso à interface, onde não é preciso,

neste protótipo inicial, a validação de dados de login e senha.

Figura 5.2 Tela inicial da Interface “Simulação de Sinais versão 2.13”

A tela seguinte é a tela principal da interface (Figura 5.3). Um dos requisitos iniciais

levantados no processo de desenvolvimento de software foi a funcionalidade de inserção de

parâmetros. Essa funcionalidade é realizada pelo usuário, através dos comboboxes dispostos na

parte superior da tela. Abaixo e à direita são colocados os itens de escolha para os cálculos.
49

Figura 5.3 Tela principal da Interface

No exemplo descrito na Figura 5.3 foi definido a soma de dois senos com amplitudes 2 e

1, e as frequências 40Hz e 100Hz, respectivamente e foram marcados os quatro cálculos

disponíveis na interface. (Figura 5.4)


50

Figura 5.4. Cálculos selecionados

De acordo com a metodologia desenvolvida, o passo seguinte é a geração do script.

Lembrando que serão mapeados nesse script os valores inseridos pelo usuário e os cálculos de

interesse. A geração do script pode ser executada por meio do botão “Gerar Script”, como na

Figura 5.4.

Figura 5.5. Botão “Gerar Script”

O script gerado pela interface é baseado na sintaxe do OCTAVE, visto que será esse

mesmo script que será rodado para a exibição dos resultados. (Figura 5.6)
51

Freq. e Amplitude do primeiro sinal

Freq. e Amplitude do segundo sinal


Funções (Seno ou Cosseno)

Soma de senos.

Transformada de Fourier

Transformada de Fourier Centralizada

Propriedades Estatísticas

Figura 5.6. Script gerado pela Interface


52

O próximo passo no desenvolvimento da interface é a visualização dos resultados. No

entanto foi necessária a inclusão de outros passos para que esse objetivo fosse alcançado. Assim,

o próximo passo será salvar o script num arquivo de extensão “.m”. Este passo é subdividido em

outras ações - comuns aos usuários de computador – que é copiar o script exibido na caixa de

texto e colar e salvar o script num novo arquivo. É disponibilizado no pacote do OCTAVE, o

editor de códigos NOTEPAD++, semelhante ao NOTEPAD disponível no Windows. O acesso à

este software pode ser feito pelo ativação do botão “Notepad++” (Figura 5.7)

Figura 5.7. Botão de ativação do “Notepad++”

Ainda detalhando o passo anterior, o usuário salva o script num novo arquivo. O nome

deste arquivo ficará no padrão <Nome_do_arquivo.m>, como na Figura 5.8. O

“nome_do_arquivo” será agora um bloco de comandos que ao ser chamado pelo OCTAVE,

executa a série de funções definidas e exibe os gráficos.


53

Figura 5.8. Tela para salvar o script

Assim, o próximo passo é abrir o OCTAVE e digitar o nome do arquivo. Por exemplo, se

o arquivo salvo foi denominado de “Teste1.m”, o texto a ser digitado na linha de código do

OCTAVE é “Teste1”. A Figura 5.9 exemplifica o caso


54

Figura 5.9. Tela do OCTAVE para chamar o script

5.5. RESULTADOS

Como mencionado anteriormente, o teste da interface foi feito com a soma de dois sinais

senoidais, sendo um de amplitude 2 e outro de amplitude 1 e as frequências 40Hz e 100Hz. Os

propriedades estatísticas ficam exibidas na própria tela do OCTAVE. Na Figura 5.10, estão

dispostos as própriedades estatísticas selecionadas.


55

Figura 5.10. Tela do OCTAVE exibindo as propriedades estatíticas

Os resultados gráficos são exibidos pelo GNU Plot. O primeiro gráfico é o gráfico

resultante da soma de sinais. (Figura 5.11)

Figura 5.11. Gráfico resultante da soma de sinais


56

O segundo gráfico é a referente à primeira iteração da transformada de Fourier. (Figura

5.12)

Figura 5.12. Gráfico da primeira iteração da Transformada de Fourier

E o terceiro e ultimo gráfico mostra a transformada de Fourier centralizada, onde fica

evidente as frequências de 40Hz e 100Hz que foram estabelecidas no início. (Figura 5.13)
57

Figura 5.13. Gráfico da Transformada de Fourier Centralizada

5.7. CONSIDERAÇÕES FINAIS

A interface é um teste da metodologia que foi definida de acordo com os conceitos de

Engenharia de Software descrito no capítulo 3. O exemplo de aplicação é um sistema simples

para representar a soma de sinais e encontrar alguns resultados que os caracterizam. Quando são

inseridos os parâmetros, é acessado um banco de dados onde são mapeados os desejos do usuário

nos comandos do OCTAVE. Em seguida é mapeado em linha de comando e o sistema gera um

script.

Ao gerar o script, a interface mapeia os cálculos que serão feitos. Este mapeamento é

transparente ao usuário, pois interage sem que este precise digitar linha-a-linha os comando ou

mesmo elaborar um bloco de código (M-file).


58

CAPÍTULO 6

CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS

6.1. CONCLUSÕES

Com o desenvolvimento da interface foi possível entender alguns conceitos de

engenharia, tudo com uma interface prática, de fácil operação e entendimento. A interface

desenvolvida para a simulação de sinais mostrou-se adequado às necessidades iniciais do projeto.

No que diz respeito à ferramenta de cálculo utilizada, pode ser dizer que em termos de

praticidade, a plataforma do OCTAVE apresentou vantagens diante das outras ferramentas, por

ser uso livre e a interface apresentada traz uma nova proposta de uso. A respeito do software

Flash MX, apesar de sua licença ser temporária, a criação de aplicativos, independe desta licença,

tornando possível a utilização possível em qualquer outro momento e em qualquer outra

plataforma que possua o plugin Flash.

Apesar dos testes serem realizados com quantidades limitadas de combinações para

geração de sinais, é possível num próximo passo a inserção de outros valores, por meio de caixa

de texto, além de agregar outros sinais, no escopo da interface. Ainda assim, obteve-se precisão

nos resultados apresentados pelo OCTAVE o que demonstra a possível inserção na interface de

novos cálculos em um futuro projeto.

A interface do sistema apresenta-se de forma simples de manipulação ao usuário,

assemelhando-se bastante a outras interfaces já utilizadas, porém, faz-se necessário o

conhecimento de conceitos como frequência, amplitude e compreensão de gráficos.


59

A metodologia apresentada mesmo que de forma inicial, possibilitará a expansão do

projeto a cálculos mais específicos e complexos, além da visualização de outros gráficos.

6.2. SUGESTÕES PARA TRABALHOS FUTUROS

No tange ao tema de criação de aplicativos utilizando softwares livres, não se encontram

muitos trabalhos relacionados, Assim, seguem algumas sugestões de trabalhos que poderão ser

futuramente desenvolvidos:

 Desenvolver métodos para que a execução do salvamento do arquivo e abertura do

OCTAVE seja automatizada;

 Realizar testes mais apurados no programa para a verificação de desempenho.

 Migração desta mesma interface em outras plataformas, como web e plataformas

móveis, pois já existe uma versão do OCTAVE para a plataforma iOS (Apple) e

plataforma Android.

 Inserção de novas janelas como: comentários, apêndice e FAQ;


60

REFERÊNCIAS BIBLIOGRÁFICAS

[1] F. B. d. Moraes e A. Raizer, “Um Software Educacional para Simulações, Análises e


Visualizações em Eletromagnetismo,” em XIV Simpósio Brasileiro de Informática na
Educação, Rio de Janeiro, 2003.

[2] L. A. Nora e O. L. Manzoli, “Implementação Computacional GNU-OCTAVE para


Análise de Sólidos pelo MEF,” PIBIC/CNPq, Bauru, 2008.

[3] M. Elias, “O que é interface gráfica,” 18 agosto 2010. [Online]. Available:


http://www.explorando.com.br/o-que-e-interface-grafica. [Acesso em 13 março 2013].

[4] R. D. Maia, “Controle de Processos por computador - Considerações Iniciais,” fevereiro


2010. [Online]. Available:
http://www.dcc.unimontes.br/renato/2010/02/COMPUTADOR/1_Inicio_3PP.pdf. [Acesso
em 10 março 2013].

[5] A. Carneiro, “Analytics in Signals,” 27 outubro 2008. [Online]. Available:


http://multisign.blogspot.com.br/2008/10/matlab.html. [Acesso em 14 março 2013].

[6] C. Carrilho, “Introdução ao Scilab,” São Paulo, 2004.

[7] P. S. d. M. Pires, Introdução ao Scilab versão 3.0, Natal: Universidade Federal do Rio
Grande do Norte, 2001.

[8] L. F. Guidi, “Introdução ao Scilab,” PPGMAp, Porto Alegre, 2011.

[9] Paulo Roberto Paraíso; Wagner André dos Santos Conceição; Mônica Ronobo Coutinho;
Cid Marcos G. Andrade; Luiz Mário M. Jorge, “Utilização do Software Livre Octave em
fenômenos de transportes,” em COBENGE, Fortaleza, 2010.

[10] S. R. Teixeira, “OCTAVE - Uma Introdução,” em XXVI - Semana da Matemática,


Londrina, 2012.

[11] J. Nicacio, “Engenharia de Software,” março 2010. [Online]. Available:


http://jalvesnicacio.files.wordpress.com/2010/03/engenharia-de-software.pdf. [Acesso em 10
março 2013].

[12] E. Bezerra, Princípios de Análise e Projeto de Sistemas com UML, Rio de Janeiro:
61

Elsevier, 2003.

[13] G. Booch, I. Jacobson e J. Rumbaugh, The Complete UML Training Course, Prentice
Hall, 2000.

[14] Alan V. Oppenheim; Ronald W. Schafer, Discrete-Time Signal Processing, Upper Saddle
River: Pearson, 2010.

[15] J. A. Nalon, Introdução ao Processamento de Sinais, Rio de Janeiro: LTC, 2009.

[16] F. G. Stremler, Introduction to Communication Systems, Massachusetts: Addison-Wesley


Company, Inc., 1977.

[17] S. Haykin e B. V. Veen, Sinais e Sistemas, Porto Alegre: Bookman, 2001.

[18] H. P. Hsu, Schaum's Outline of Theory and Problems of Signals and Systems, Michigan:
Mc-Graw-Hill Companies, Inc., 1995.

[19] D. Sahlin, ActionScript for Designers - The non programmer's guid to maximum flash,
New York: Wiley Publishing, inc., 2002.

[20] J. H. L. Guerra, “Utilização do computador no processo de ensino-aprendizagem: uma


aplicação em planejamento e controle da produção,” 20 julho 2000. [Online]. Available:
http://www.teses.usp.br/teses/disponiveis/18/18149/tde-29032001-
151920/publico/diss_jh.pdf. [Acesso em 10 março 2013].

[21] R. X. T. de Morais, “SOFTWARE EDUCACIONAL: A IMPORTANCIA DA SUA


AVALIAÇÃO E USO NAS SALAS DE AULA,” 2003. [Online]. Available:
http://www.flf.edu.br/revista-flf/monografias-computacao/monografia-rommel-
xenofonte.pdf. [Acesso em 12 março 2013].

[22] B. P. Lathi, Random Signals and Communication Theory, Scranton, Pennsylvania:


International Textbook Company, 1968.

[23] L. Aquino, “Minicurso OCTAVE,” 28 março 2010. [Online]. Available:


http://www.dma.ufs.br/~gastao/arquivos/textos/MinicursoOctave.pdf. [Acesso em 09 março
2013].

Você também pode gostar