Sie sind auf Seite 1von 63

UNIVERSIDADE DO OESTE DE SANTA CATARINA - UNOESC

SISTEMAS DE INFORMAO




EDUARDO LUCAS MORO




SISTEMA ESPECIALISTA PARA AUXLIO NO DIAGNSTICO DE ANOMALIAS
NA FERMENTAO DE VINHOS












Videira, SC
2014


EDUARDO LUCAS MORO








SISTEMA ESPECIALISTA PARA AUXLIO NO DIAGNSTICO DE ANOMALIAS NA
FERMENTAO DE VINHOS



Trabalho de concluso de curso
apresentado Universidade do Oeste de
Santa Catarina como requisito parcial
obteno do grau de Bacharel em
Sistemas de Informao.



Orientadora: Lilian J. Meyer Riveros



Videira, SC
2014



EDUARDO LUCAS MORO




SISTEMA ESPECIALISTA PARA AUXLIO NO DIAGNSTICO DE ANOMALIAS NA
FERMENTAO DE VINHOS

Trabalho de concluso de curso
apresentado Universidade do Oeste de
Santa Catarina como requisito parcial
obteno do grau de Bacharel em
Sistemas de Informao.


Aprovada em




BANCA EXAMINADORA

______________________________________________________
Prof.
Universidade do Oeste de Santa Catarina


______________________________________________________
Prof.
Universidade do Oeste de Santa Catarina



______________________________________________________
Prof.
Universidade do Oeste de Santa Catarina



AGRADECIMENTOS
Primeiramente agradeo a Deus, por me dar foras para conseguir alcanar
mais este objetivo em minha vida.
Aos meus pais Dirceu e Roseni que sempre me motivaram e me conduziram
me ensinando o caminho correto a seguir.
A professora orientadora Lilian J. Meyer Riveros, pela toda ateno, pacincia
e dedicao na orientao deste trabalho.
Ao enlogo Marcel Salante por compartilhar o seu conhecimento para a
realizao deste trabalho
E por fim, agradeo todos que de alguma forma contriburam e motivaram para
a realizao deste trabalho.















RESUMO

Sistemas especialistas so softwares baseados em conceitos de inteligncia
artificial, e tem o objetivo de simular o conhecimento de um especialista humano.
Atravs deste conceito, o desenvolvimento de um sistema especialista na rea de
produo de vinhos ir beneficiar os seus usurios, a tomada de deciso alm de
auxili-lo na identificao de anomalias a fim de manter a qualidade de sua bebida.
Para a construo de um sistema especialista necessrio utilizar ferramentas e
conceitos para garantir que o seu desenvolvimento seja realizado da maneira
correta. Questes como anlise de requisitos, engenharia de software, anlise de
ferramentas de desenvolvimento, conceito de sistemas de informao, conceitos de
banco de dados se tornam importantes a medida que a implementao esteja dentro
dos padres estabelecidos para desenvolver um software de qualidade. Sistemas
especialistas desenvolvidos com o shell Jess tem a grande vantagem do mesmo ser
totalmente focado na linguagem Java. O prprio Jess foi desenvolvido em Java,
ento a facilidade se integrar as duas ferramentas considervel. O
desenvolvimento do sistema especialista no tem o objetivo de substituir a figura do
especialista humano, pelo contrrio o objetivo do desenvolvimento desta ferramenta
auxili-lo em todos os aspectos a tomada de deciso. Uma vez que a base de
conhecimento estar presente no sistema, as informaes geradas pelo sistema
especialista iro auxili-lo durante o seu ofcio.

Palavras-chave: Sistemas especialistas, Jess, vinhos.















ABSTRACT

Expert systems are software based on artificial intelligence concepts, and
aims to simulate the knowledge of a human expert. Through this concept, the
development of an expert system in the production of wines will benefit their users,
decision-making as well as assists you in identifying anomalies in order to maintain
the quality of your drink. For the construction of an expert system requires the use of
tools and concepts to ensure that their development done the right way. Issues such
as requirements analysis, software engineering, analysis, development tools, the
concept of information systems, database concepts become important as the
implementation is within the standards established to develop quality software.
Expert systems with shell Jess has the great advantage of it being totally focus on
Java. The very Jess was develop in Java, so the ease to integrate the two tools is
considerable. The development of the expert system is not intended to replace the
figure of the human expert, rather the purpose of the development of this tool is to
assist you in all aspects of decision making. Once the knowledge base will be
present in the system, the information generated by the system specialist will assist
you during your office.

Keywords: Expert systems, Jess, wines.
















LISTA DE ILUSTRAES

Figura 1 - Funes de um sistema de informao .................................................... 13
Figura 2 Estrutura de um SE. ................................................................................. 27
Figura 3 Construo de regras ............................................................................... 28
Figura 4 - Modelo cascata ......................................................................................... 31
Figura 5 - Modelo de ciclo de vida prototipao ........................................................ 33
Figura 6 - Modelo de ciclo de vida espiral ................................................................. 34
Figura 7 Exemplo Hello World em Jess ................................................................. 41
Figura 8 Exemplo regra em Jess ............................................................................ 42
Figura 9 Exemplo Template ................................................................................... 50
Figura 10 Regra Jess ............................................................................................. 51
Figura 11 Tela inicial do SE .................................................................................... 52
Figura 12 Pergunta inicial ....................................................................................... 52
Figura 13 Instancia de uma classe ......................................................................... 53
Figura 14 Segunda pergunta .................................................................................. 54
Figura 15 Tela de resultados .................................................................................. 55
Figura 16 Instncia do Rete ................................................................................... 55
Figura 17 Comando eval. ....................................................................................... 56














LISTA DE SIGLAS


Jess Java expert system shell
IA Inteligncia artificial
SE Sistemas especialistas
SI Sistemas de informao
























SUMRIO

1 INTRODUO ....................................................................................................... 9
1.1 OBJETIVO GERAL ........................................................................................... 10
1.2 OBJETIVOS ESPECFICOS ...................................................................................... 10
1.3 JUSTIFICATIVA ..................................................................................................... 10
2 REVISO BIBLIOGRFICA ................................................................................. 12
2.1 SISTEMAS DE INFORMAO .................................................................................. 12
2.1.1 CLASSIFICAO DOS SI PELO NVEL ESTRUTURAL ................................................ 13
2.1.1.1 Nvel Estratgico ......................................................................................... 13
2.1.1.2 Nvel Ttico ................................................................................................. 14
2.1.1.3 Nvel operacional ........................................................................................ 15
2.1.2 TIPOS DE SISTEMAS .......................................................................................... 16
2.1.2.1 Sistemas de informao orientados ao gerenciamento .............................. 16
2.1.2.2 Sistemas de apoio deciso ...................................................................... 17
2.1.2.3 Sistemas orientados para executivos .......................................................... 18
2.1.2.4 Sistemas de comunicao .......................................................................... 18
2.1.2.5 Sistemas de informao operacionais ........................................................ 19
2.2 INTELIGNCIA ARTIFICIAL ...................................................................................... 20
2.2.1 ABORDAGENS DA IA .......................................................................................... 22
2.2.2 MODELOS DE IA ............................................................................................... 22
2.2.2.1 Algoritmo gentico ...................................................................................... 23
2.2.2.2 Lgica Fuzzy ............................................................................................... 24
2.2.2.3 Redes neurais ............................................................................................. 24
2.2.2.4 Sistemas especialistas ................................................................................ 25
2.2.2.4.1 Fundamentos de um sistema especialista ............................................... 26
2.2.2.4.2 Estrutura de um SE .................................................................................. 27
2.3 ENGENHARIA DE SOFTWARE ................................................................................. 30
2.3.1 MODELOS DE ENGENHARIA DE SOFTWARE........................................................... 30
2.3.1.1 Modelo Cascata .......................................................................................... 31
2.3.1.2 Prototipao ................................................................................................ 32
2.3.1.3 Modelo espiral ............................................................................................. 33


2.3.2 ANLISE DE REQUISITOS .................................................................................... 35
2.3.2.1 Tipos de requisitos ...................................................................................... 36
2.3.2.2 Qualidade dos requisitos ............................................................................. 37
2.3.2.2.1 Requisitos corretos .................................................................................. 37
2.3.2.2.2 Requisitos precisos .................................................................................. 37
2.3.2.2.3 Requisitos completos ............................................................................... 38
2.3.2.2.4 Requisitos consistentes ........................................................................... 38
2.3.2.2.5 Requisitos verificveis .............................................................................. 39
2.3.2.2.6 Requisitos rastreveis .............................................................................. 39
2.4 LINGUAGEM DE PROGRAMAO ............................................................................ 39
2.4.1 JAVA ................................................................................................................ 39
2.4.2 JESS ................................................................................................................ 40
2.4.2.1 Sintaxe da linguagem Jess ......................................................................... 41
2.4.2.2 Construo de regras .................................................................................. 41
2.5 BANCO DE DADOS ................................................................................................ 42
2.5.1 GERENCIAMENTO DE DADOS .............................................................................. 43
2.5.1.1 Dicionrios de dados ................................................................................... 43
2.5.1.2 Linguagem de definio de dados .............................................................. 44
2.5.1.3 Linguagem de manipulao de dados ........................................................ 44
2.5.2 TIPOS DE BANCO DE DADOS ............................................................................... 45
2.5.2.1 Banco de dados relacional .......................................................................... 45
2.5.2.2 Banco de dados hierrquico ........................................................................ 46
2.6 PRODUO DE UVA E VINHOS ............................................................................... 47
2.7 DESENVOLVIMENTO DO SISTEMA ESPECIALISTA ..................................... 49
2.7.1 DESENVOLVENDO NA LINGUAGEM JESS ............................................................. 49
2.7.1.1 Templates ................................................................................................... 49
2.7.1.2 Regras......................................................................................................... 50
2.7.2 UTILIZANDO A LINGUAGEM JAVA ......................................................................... 51
2.7.3 INTEGRAO ENTRE A LINGUAGEM JAVA E O SHELL JESS ..................................... 55
3 CONCLUSO ...................................................................................................... 57
REFERNCIAS ......................................................................................................... 59


9

1 INTRODUO
Com a constante evoluo tecnolgica, a tendncia de consultar sistemas de
grande utilidade. Um exemplo disso o diagnstico de doenas, que est disponvel
no site da Embrapa o qual consiste em um guia que identifica qual doena pode ter
atacado a videira, atravs de perguntas feitas ao usurio. Outra vantagem em utilizar
um sistema, a velocidade de processamento que o computador possui o que
possibilita para os usurios obterem resultado de clculos, converso dos dados em
informaes, encontrar padres mais rapidamente do que realiz-las manualmente.
Sistemas especialistas (SE) so ferramentas teis no dia-a-dia das pessoas,
pois atravs deles podemos obter conhecimento de um perito em uma rea
especifica, atravs da inteligncia artificial (IA). possvel desenvolver um sistema
com este objetivo, atravs de conceitos de IA.
A IA est em constante evoluo e cada vez mais so desenvolvidos sistemas
atravs das tcnicas de IA. A IA tem como objetivo simular ou at mesmo
assemelhar-se a inteligncia humana. Porm o objetivo deste trabalho, no
substituir um enlogo, pois apenas a pessoa tem conhecimento e habilidade de
validar os resultados finais do sistema, mas sim de auxiliar o usurio agilizando os
processos, e oferecendo apoio s suas decises durante seu trabalho.
Atravs do auxlio de uma pessoa com vasto conhecimento em uma rea
especifica, neste caso um enlogo, que o SE ser implementado por regras que
aps serem analisadas pela mquina de inferncia, devolver para o usurio um
resultado probabilstico, calculados conforme os dados fornecidos por ele. Este
resultado ser transformado em informao que ir ajudar ao usurio a compreender
o que os fatores mencionados podero ocasionar ao seu produto.
Com o objetivo de auxiliar enlogos durante o processo de elaborao de
vinhos, que o propsito deste trabalho agilizar e automatizar processos por meio
do desenvolvimento de um SE, que ser elaborado atravs do auxlio de um enlogo
onde na ocasio sero criadas as regras necessrias para a implementao do
10

sistema e que este ir proporcion-lo apoio as suas decises durante a atividade do
seu trabalho.

1.1 OBJETIVO GERAL
Desenvolver um sistema especialista para auxiliar enlogos no controle de
anomalias durante a fermentao do vinho.

1.2 OBJETIVOS ESPECFICOS
Realizar a anlise dos requisitos junto ao especialista para elaborar os termos
lingusticos.
Analisar qual ferramenta vivel para elaborar o sistema especialista.
Formular regras para programar o sistema especialista.
Desenvolver o sistema especialista.
Consultar o especialista para validar os resultados do sistema.

1.3 JUSTIFICATIVA
Um SE um sistema que tem o intuito de auxiliar as pessoas na tomada de
deciso em uma rea especifica. Atravs dele possvel reunir conhecimento de um
determinado assunto, construir regras, e como sada uma resposta a um problema.
Sabemos que a rea da IA muito til no auxlio tomada de deciso das
pessoas, principalmente para automatizar tarefas e realizar de forma mais rpida.
Sabendo da importncia que um sistema possui na tomada de deciso no dia a
dia de um profissional, trazendo a ele informaes importantes que contribuiriam
com o desenvolvimento e agilidade de seu trabalho, que um SE na rea da
vitivinicultura, auxiliaria e ajudaria o enlogo na elaborao de vinhos. A regio de
Videira por ter forte influncia na produo de uva, e consequentemente na
elaborao de vinhos, ajudaria na elaborao do vinho, como uma ferramenta de
11

auxilio onde a partir da entrada de dados, o sistema retornaria, sugerindo qual
procedimento ele deveria tomar para manter o padro de fabricao, caracterizando
como um sistema de apoio deciso para estes profissionais.
Pelo anteriormente proposto, este trabalho justifica-se na medida em que se
utilizam conceitos aprendidos no curso de SI, como engenharia de software, banco
de dados, IA, teoria geral de sistemas a fim de possibilitar a aplicao destes
contedos em prtica para o desenvolvimento do trabalho proposto.














12

2 REVISO BIBLIOGRFICA
O trabalho a seguir vai abordar mtricas e conceitos necessrios para a
construo e elaborao de um software. Todas as abordagens que vo ser feitas
so mtodos que so necessrios para a construo de um software.
2.1 SISTEMAS DE INFORMAO
Com o crescente desenvolvimento do fluxo de dados dentro das corporaes,
necessidade de ter algum tipo de sistema de informao (SI) para organizar estes
dados e transformar em informaes teis uma necessidade indispensvel.
Um sistema de informao pode ser definido como um conjunto de
componentes inter-relacionados trabalhando juntos para coletar,
recuperar, processar, armazenar e distribuir informaes com a
finalidade de facilitar o planejamento, o controle, a coordenao, a
anlise e o processo decisrio em empresas e outras instituies.
(LAUDON e LAUDON, 1999, p. 4)
No necessariamente um tipo de sistema de informao tem a
obrigatoriedade de ser dependente de um computador. O computador tem a
finalidade de agilizar os processos, uma vez que ele possui uma capacidade e
velocidade de processamento muito mais elevada do que de um ser humano.
Os SI, possuem a caracterstica de ter uma entrada de dados, ou seja,
alimentando o sistema, um processamento e uma sada. Segundo Laudon e Laudon
(2004) a entrada de um SI, consiste na captura ou coleta dos dados brutos de dentro
de uma organizao ou de seu ambiente. Aps passar para o estgio de
processamento onde so convertidos os dados brutos para uma forma mais
significativa e a prxima etapa a sada, onde so transferidas as informaes
processadas as pessoas que fazem uso dela. Os SI tambm requerem um feedback
que a entrada que volta a determinados membros para avaliar ou corrigir o estgio
de entrada.
A figura 1 demonstra como as funes de um SI se comportam.
13


Figura 1 - Funes de um sistema de informao
Fonte: Laudon e Laudon (1999, p. 4)

Para que os sistemas possam fornecer informaes teis, necessariamente
passam por este processo de transformao. necessrio para o sistema, pois a
entrada de dados no sistema nada mais do que dados em forma bruta e que
sozinhos no conseguem transmitir conhecimento ou uma informao til. Mas
quando esses dados so tratados, ou seja, so processados de forma que possam
ser organizados possvel proporcionar na sua sada informaes teis e de grande
utilidade.
2.1.1 Classificao dos SI pelo nvel estrutural
A informao seja ela dentro de uma corporao, de uma instituio de
ensino ou at mesmo na sociedade tem a tendncia de estar acessvel apenas por
uma parte das pessoas. Dentro dos conceitos de SI a informao dividida em trs
categorias, pelo nvel estratgico, nvel ttico e nvel operacional.
2.1.1.1 Nvel Estratgico
Este o nvel mais alto da corporao. nele que se encontram os
executivos e pessoas que planejam e tomam decises em longo prazo.
SI estratgicos segundo SIQUEIRA (2005, p. 7) so sistemas
computacionais direcionados a alta gerncia das organizaes. So sistemas que
requerem fcil utilizao e alto ndice de linguagem grfica. Neste nvel as
14

informaes fornecidas devem ser de forma analtica, sem detalhes, e de
preferncia acompanhada de elementos grficos para facilitar a sua interpretao.
Um sistema de nvel estratgico tem que permitir para seus usurios vises
tanto internas como externas do seu empreendimento, a fim de auxiliar nas tomadas
e decises em longo prazo. Beal (2004) diz que este tipo de sistema permite ao nvel
estratgico a observar os variveis presentes nos ambientes interno e externo, com
a finalidade de avaliar e monitorar os seus desempenhos e subsidiar o seu
planejamento nas decises de alto nvel e em longo prazo.
Outra caracterstica do nvel estratgico a sua estrutura. Para Boghi e
Shitsuka (2002) os sistemas de informao para executivos so pouco ou mesmo
no estruturados e caracteristicamente com interfaces amigveis que facilitem a
anlise e a flexibilidade da interpretao pela alta administrao da empresa.
O nvel estratgico da organizao necessita principalmente de informaes
claras, de fcil interpretao, ou seja, principalmente do uso de recursos grficos,
que proporcione pessoa uma viso maximizada do processo ocultando os
detalhes.
2.1.1.2 Nvel Ttico
O nvel ttico possui sistemas que tem o objetivo de proporcionar para os
seus gerentes de diversos nveis da empresa informaes detalhadas. Este nvel
fica abaixo do nvel estratgico e tem como caracterstica a tomada de decises de
mdio prazo.
Este tipo de SI permite segundo BEAL (2004, p.14) observar variveis
presentes nos ambientes interno e externo, monitorar e avaliar os seus processos, o
planejamento e a tomada de deciso de nvel gerencial. Neste nvel so observadas
condies de processos internos em nvel de gerentes, que deem apoio a suas
decises fatores que ocorrem internamente.
As informaes suportadas por este tipo de nvel diz a respeito da realidade
de dentro da organizao.
15

Em geral so sistemas que medem o desempenho das operaes,
dos processos e dos funcionrios. comum que tais sistemas
sumarizem dados compondo relatrios com diversos nveis de
detalhamento e periodicidade, e fornecendo tambm analises
estatstica e relatrios especiais. (SIQUEIRA, 2005, p.8)
As informaes necessrias para suprir este nvel, so dados gerados
durante o dia a dia, sejam eles produes dirias, relatrio semanal de ausncia de
funcionrios, entre outros. Diferentemente do nvel estratgico que precisa de dados
anuais, o nvel ttico precisa de detalhes.
2.1.1.3 Nvel operacional
Este nvel um nvel submisso aos nveis ttico e estratgico. Possui a
caracterstica de executar aes propostas pelos outros nveis. Geralmente este
nvel est ligado a controle de linhas de produo onde a necessidade das
informaes mnima, e se restringe ao seu setor, no interessando a este nvel
informaes de outros setores.
Para Siqueira (2005) os sistemas utilizados neste nvel tem a tendncia de
apenas suprir a funo a ser executada por eles. A importncia de ter uma
informao apenas para suprir a sua realidade de trabalho, ou seja, apenas o seu
espao de trabalho no interessando informaes de demais setores.
Em geral a informao neste nvel tambm pode ser detalhada, mas o
objetivo real o foco de suas atividades dirias e rotineiras. O nvel operacional
possui a caracterstica de alimentar os demais sistemas, ou seja, atravs deles
que os dados so inseridos no sistema como contas que foram pagas,
movimentao de estoque, entre outros.
Para o nvel operacional as informaes importantes so aquelas que
possibilitem ter uma viso do espao, departamento que pertence. Beal (2004) diz
que o sistema neste nvel possibilita que as atividades e tarefas sejam monitoradas
dentro do espao geogrfico de sua responsabilidade e que possibilite subsidiar o
planejamento e a tomada de deciso do local.
SI de nveis operacionais apenas trazem informaes locais, pois para este
nvel consistente saber apenas o que eles produziram. Por exemplo, em uma
16

fbrica importante para o departamento A saber o que eles produziram. No de
interesse deles qual a produtividade do departamento B. Por isso que
necessitam de informaes minimizadas apenas de seu prprio espao geogrfico.
2.1.2 Tipos de sistemas
Os SI possuem alguns tipos de sistemas que focam uma parte especfica.
Conforme a necessidade organizao ou dos usurios existe alguns tipos de
sistemas que suprem a sua necessidade. Seja ele suporte a deciso, a executivos,
ou para gerenciamento.
2.1.2.1 Sistemas de informao orientados ao gerenciamento
O SI de informao gerencial tem como objetivo abordar questes como
controle, coordenao e planejamento das empresas. Caracterizadas por serem
informaes simples, de fcil utilizao e compreenso e serem voltados ao controle
de operaes e gerenciamento de atividades.
Uma caracterstica fornecida pelos SI gerenciais segundo Boghi e Shitsuka
(2002) so informaes totalizadas de sistemas denominados de classe anterior, ou
seja, de sistemas orientados a operaes. O tipo de formato de sada desta
categoria so relatrios simples em formatos j estabelecidos, com telas e
transaes amigveis e de fcil utilizao.
Uma das abordagens do SI gerencial segundo Beal (2004, p.18) a
transformao dos dados provenientes das operaes da organizao, agrupando-
os para facilitar a tomada de deciso pelo corpo gestor. So sistemas que
compreendem estatsticas da parte operacional, ou seja, informaes detalhadas
sobre as operaes existentes nas funes organizacionais.
Este tipo de SI tem o foco no fornecimento de informaes que visam o
controle e gerenciamento de uma operao dentro de uma organizao. So tipos
de relatrios que sumarizam toda a parte de lanamento dos dados em informaes
simples de fcil compreenso.
17

2.1.2.2 Sistemas de apoio deciso
SI de apoio deciso so sistemas que tem o propsito de auxiliar gerentes
em situaes onde as suas decises devem se rpidas e no casuais. Esse tipo de
sistema proporciona aos seus usurios informaes que caracterizam a do
embasamento s suas tomadas de deciso.
De acordo com Laudon e Laudon (2004) este tipo de sistema atende ao nvel
de gerencia da organizao e os ajudam a tomar decises no usuais, que tem a
tendncia de se alterarem com rapidez e que no so facilmente especificadas
anteriormente.
O sistema de apoio a deciso focam a sua utilizao no momento em que a
pessoa est tomando a sua deciso. Segundo OBrien (2004) os SI de apoio a
deciso fornecem um suporte computacional direto aos gerentes durante o processo
de tomada de deciso.
Uma das caractersticas dos sistemas de apoio a deciso de acordo com
Laudon e Laudon (2004) o poder analtico que possui. Os sistemas de apoio a
deciso so construdos expressamente com uma variedade de modelos de anlise
dos dados que condensam quantidades enormes de dados e quem analisa pode
escolher como quer visualizar.
A tendncia na rea de sistemas de deciso segundo Obrien (2004) cada
vez mais gerentes aderirem para um sistema deste segmento, pois a prpria
evoluo tecnolgica e o avano dos recursos da internet, a tendncia cada vez
mais ampliar o seu uso.
A tendncia para os SI de apoio a deciso aumentar a sua utilizao, pois
ele proporciona ao seu usurio informaes que so essenciais para tomar um rumo
em sua deciso. Quando um sistema de apoio deciso utilizado corretamente os
benefcios obtidos so mensurveis.
18

2.1.2.3 Sistemas orientados para executivos
Os SI orientados para executivos so destinados alta gerencia das
corporaes. Este tipo de sistema deve apresentar uma forma sinttica dos dados,
ou seja, fcil de ser compreendida, visualizada e interpretada.
De acordo com Laudon e Laudon (2004) este tipo de sistema aborda decises
no rotineiras que exigem bom senso, uma avaliao e a percepo j que no
existe algo previamente estabelecido para solucionar o problema.
As informaes contidas em SI para executivos, como afirma Bogui e
Shitsuka (2004, p.25) fazem uso de formas grficas de apresentao de resultados,
so pouco ou mesmo no estruturados e caracteristicamente so utilizados pela alta
administrao da empresa. Como geralmente os problemas enfrentados pelos
executivos no so problemas estruturados, a informao a ser apresentada a este
indivduo deve ser de uma forma simples e compreensvel, pois o seu foco deve
estar na interpretao dos problemas, e no exclusivamente na anlise da
informao proposta.
O objetivo do sistema executivo segundo OBrien (2004) proporcionar aos
altos executivos, um acesso fcil e imediato a informaes sobre os fatores crticos
que proporcionam o sucesso de uma organizao, ou seja, pontos decisivos para a
execuo do planejamento estratgico.
Os fatores vivenciados pelo executivo das empresas no algo previsvel ou
estruturado, logicamente as informaes que os mesmos necessitam devem ser
simples pelo fato de que atravs da interpretao destas informaes consiga
estimular o seu senso lgico para gerar uma soluo.
2.1.2.4 Sistemas de comunicao
Os SI que compreendem o grupo de comunicao so todos os tipos de
aparelhos, seja o rdio, televiso, telefone, a escrita, ou seja, no somente a parte
tecnolgica, mas tambm outros tipos de sistemas de informao como, por
19

exemplo, a carta, que mesmo no to utilizada nos dias atuais ainda assim
caracteriza um tipo de sistema de comunicao.
Este tipo de SI de acordo com Boghi e Shitsuka (2004) quase to antigo
quanto humanidade. Pois compreendem no s os aparelhos tecnolgicos de
comunicao que conhecemos hoje, mas todos os tipos de comunicao que
conhecemos.
Sistemas de comunicao de acordo com Laudon e Laudon (2004) so
caracterizados por serem um conjunto de hardware e software capaz de transmitir
informaes de um local para o outro. Eles podem transmitir textos, voz, imagens,
entre outros.
Existe uma tendncia de unir os sistemas de comunicao com os SI, j que
nos dias atuais, como exemplo o smartphone possvel unir em um nico aparelho
a comunicao seja ela feita atravs de chamadas com demais SI, j que a
utilizao deles possvel em aparelhos deste gnero.
2.1.2.5 Sistemas de informao operacionais
Os SI operacionais englobam tipos de sistemas de automao de escritrios,
de controle de processos e tambm de processamento transacional. Eles
caracterizam-se pelo apoio s operaes rotineiras nas organizaes.
O nvel operacional compreende segundo Laudon e Laudon (2004) o suporte
aos gerentes operacionais que acompanham as atividades e transaes de
elementos da organizao, como finanas, contabilidade, produo, vendas, entre
outros. Essas atividades so automatizadas pela utilizao de sistemas, o que
facilita a operao e transao destes casos.
As operaes deste nvel de SI, de acordo com Obrien (2004) produzem uma
diversidade de produtos de informao que so especficos e os seus resultados
possam ser utilizados por seus gerentes, tanto para uso interno como para uso
externo. O papel de um SI operacional processar as transaes de forma eficiente,
controlar os processos de produo e apoiar comunicaes, alm claro, de inserir
os dados que serviro de base para outros tipos de SI.
20

Os contedos dos SI de operaes possui o objetivo de automatizar as
tarefas que ocorrem no dia a dia das corporaes, e estes servem como
alimentao de dados para gerar informaes a nveis superiores de SI. A
necessidade deste tipo de sistema abranger apenas um espao especifico, ou
seja, o espao que compreende ao setor, a linha de produo e no h necessidade
abranger detalhadamente as vrias informaes existentes na corporao.
2.2 INTELIGNCIA ARTIFICIAL
IA uma rea aonde se busca constantemente introduzir em softwares e
hardwares comportamentos semelhantes aos dos seres humanos. So vrias as
reas aonde a utilizao de IA, desde a rea robtica como softwares para reservas
de passagens reas.
A IA pode ser definido segundo Laudon e Laudon (1999, p. 328) como [...] o
estudo e a criao de mquinas que exibam qualidades semelhantes s humanas,
incluindo a capacidade de raciocinar. A IA atravs de suas tcnicas, tenta simular a
inteligncia humana, ou seja, o ato de raciocinar de um humano.
IA para Laudon e Laudon (2004, p. 338) [...] o esforo para desenvolver
sistemas (hardware e software) que se comportem como seres humanos. A rea da
IA est em constante aprimoramento para cada vez mais tentar se assemelhar com
as pessoas, sejam atravs de atividades fsicas por parte da robtica, percepes
de sentidos atravs de sensores e o raciocnio atravs de sistemas especialistas.
importante frisar que o objetivo da IA, de forma alguma substituir os
humanos. Pelo contrrio, o objetivo da IA cada vez mais facilitar o trabalho das
pessoas.
Sistemas de IA de sucesso so baseados em percia, modelos
selecionados de raciocnio e conhecimento humano, mas no exibem
a inteligncia do ser humano. Os que existem no apresentam novas
e inusitadas solues para os problemas. Ampliam os poderes de
especialistas, mas de maneira nenhuma substituem ou capturam
muito da sua inteligncia. (LAUDON e LAUDON, 2004 p. 338)
21

Apesar de a IA tentar simular e se assemelhar-se ao mximo com o humano,
nada vai substituir o especialista. A grande vantagem que como o computador
possui capacidade de processamento com uma rapidez superior ao de um humano,
e com isso as respostas a problemas sero respondidas consequentemente mais
rpidas.
As atividades que a IA, abrangem, so das mais variadas. Coppin (2010, p.
21) diz que [...] sistemas de IA, so utilizados em uma ampla gama de atividades,
desde ajudar agentes de viagem a selecionar frias adequadas, at permitir fbricas
escalonar mquinas. Por isso a tendncia de utilizar IA, cada vez maior, pois os
benefcios que esta ferramenta proporciona so enormes.
A inteligncia artificial especialmente til nas situaes em que
mtodos tradicionais seriam muito lentos. Problemas combinatrios,
tais como alocar professores e alunos em salas de aula, no so
bem resolvidos por tcnicas tradicionais da cincia da computao.
Nestes casos as heursticas e tcnicas fornecidas pela inteligncia
artificial podem obter excelentes solues. (COPPIN, 2010, p. 21).
Outra vantagem da utilizao da IA, que aps transferir o conhecimento de
um especialista para uma mquina, j no existe a possibilidade de esquecer esta
informao como no ser humano. Mattos (2010) cita que como as unidades de rede
operam em paralelo, no existe a destruio ou defeito em um de seus neurnios, e
isso no torna a rede inoperante podendo at mesmo no causar grandes
problemas, diferentemente do ser humano, onde em seu crebro morrem cerca de
1000 neurnios por dia.
O surgimento da IA segundo Coppin (2010) teve incio em meados da
segunda guerra mundial, e os seus principais colaboradores foram os cientistas
McCarthy. A partir deste conhecimento foram inmeros os sistemas especialistas
criados, e dentre eles podemos citar o Dendral e o Mycin.
O IA desde o seu surgimento, sempre esteve em constante evoluo e com o
passar dos anos percebemos que as contribuies deixadas por esta rea so
vastas. Exemplos da utilizao como procedimentos cirrgicos j so realidade at
no sistema nico de sade do estado de So Paulo atravs da robtica, onde o
mdico acompanha e coordena a cirurgia de retirada de tumores na prstata atravs
de braos robticos.
22

2.2.1 Abordagens da IA
A IA pode ser divida em duas abordagens com contextos diferenciados.
Existe dentro de IA um tipo de abordagem que enfatiza a parte da forma do
raciocnio humano que denominada cognitiva. A outra abordagem procura dar
nfase s caractersticas e funcionalidades dos modelos neurais.
A abordagem cognitiva foi a primeira a ser desenvolvida, e segundo
Fernandes (2003, p. 3), a abordagem cognitiva d nfase aos processos cognitivos,
ou seja, a forma como o ser humano raciocina. Essa abordagem, que possui como
pioneiros, McCathy, Minsky, Newell, tem o objetivo de encontrar uma explicao
para comportamentos inteligentes em aspectos psicolgicos e processos algoritmos.
A abordagem conexionista para Fernandes (2003, p. 3) uma abordagem
que d nfase no modelo de funcionamento do crebro, dos neurnios e das
conexes neurais. Teve como pioneiros, McCulloch, Pitts, e tem como propsito
formalizar e representar a forma matemtica dos neurnios o que fez surgir os
primeiros modelos de redes neurais artificiais.
Na IA, estas duas abordagens, dividem os contedos estudados. Como
citados anteriormente, a cognitiva que tenta simular a forma de raciocnio do ser
humano, e a conexionista que d maior nfase ao como funciona os neurnios, ou
seja, os algoritmos de redes neurais. Fernandes (2003) afirma que inicialmente a
abordagem conexionista, no foi aceita e foi duramente criticada principalmente
pelos pioneiros da abordagem cognitiva, em que dizia que este tipo de abordagem
no possua sustentao matemtica suficiente para atribuir alguma confiabilidade.
Porm as pesquisas nesta rea no pararam, e em meados da dcada de 80, John
Hopfield recuperou a credibilidade da utilizao de redes neurais.
2.2.2 Modelos de IA
Dentro dos conceitos de IA, existem algumas subdivises o qual cada um tem
suas caractersticas prprias e determinam um ramo especfico nesta modalidade.
Cada modelo de IA segue
23

2.2.2.1 Algoritmo gentico
O algoritmo gentico foi baseado na teoria da seleo natural das espcies.
Fernandes (2003) diz que o algoritmo gentico uma linguagem para aprendizado
de mquina, e que o mesmo teve sua inspirao no livro origem das espcies de
Charles Darwin. Seus algoritmos utilizam de uma estratgia de evoluo e sistemas
classificatrios, os quais assim como na teoria evolutiva de Darwin prope que
somente o mais apto sobreviva.
O algoritmo gentico utilizado principalmente no segmento de buscas. De
acordo com Resende (2003, p. 228) algoritmos genticos so algoritmos de
otimizao global, baseados nos mecanismos de seleo natural e da gentica. Ou
seja os seus mtodos de busca esto baseados atravs de um conjunto de dados e
atravs desses dados realizado uma seleo para fazer a busca desejada.
O algoritmo gentico se difere dos mtodos tradicionais de busca,
basicamente em quatro aspectos. Segundo Resende (2003) a diferena entre os
mtodos de busca tradicionais, so:
Trabalham com uma codificao do conjunto de parmetros ao invs
de possuir prprios parmetros;
Caracterstica de trabalhar com uma populao e no apenas com um
nico ponto;
Utilizao de informaes de custo ou recompensa ao invs de um
conhecimento auxiliar;
Utilizam em suas buscas regras de transies probabilsticas e no
determinsticas.
Estes tipos de algoritmos podem ser utilizados na matemtica. Coppin (2010)
d como exemplo a sua utilizao para encontrar um valor mximo de uma funo
matemtica, at mesmo para desenvolver uma estratgia para jogar um jogo, no
caso citado o dilema do prisioneiro.
24

2.2.2.2 Lgica Fuzzy
A lgica fuzzy, tambm conhecida como lgica difusa, ou lgica nebulosa,
Segundo Fernandes (2003), foi estruturada por Lofti Zadeh, no ano de 1965 e tem
como objetivo manipular, representar e modelar informaes incertas.
Existem termos, em que no podemos mensurar logicamente. o caso de
mensurarmos a altura de umas pessoas, em alta, mdia e baixa, ou seja, no existe
algo que determine exatamente qual a altura que divide entre essas faixas, elas
variam de pessoa para pessoa. Contudo, Laudon e Laudon (1999, p. 338) dizem que
a lgica difusa projetada para superar essas limitaes. A lgica difusa consiste
em uma variedade de conceitos e tcnicas para a representao e inferncia do
conhecimento impreciso, incerto ou duvidoso. Sendo assim, possvel utilizar
valores aproximados, e que sejam ambguos para representar a altura de uma
pessoa utilizando valores como alto, mdio e baixo.
2.2.2.3 Redes neurais
As redes neurais um modelo de IA que simula os neurnios do crebro
humano. Segundo Coppin (2010, p. 255) as redes de neurnios artificiais, so
modeladas em relao ao crebro humano e so compostas por vrios neurnios
artificiais.
Os estudos sobre redes neurais, tiveram incio de acordo com Faceli et al.
(2011) por volta do ano de 1943, atravs de McCulloch e Pitts que propuseram um
modelo matemtico de neurnio artificial em que estes executavam funes lgicas
simples sendo que cada um poderia fazer uma funo diferente. Com isso pode-se
provar que com vrios neurnios artificiais interligados, e realizando tarefas
diferentes ao mesmo tempo, poderiam elevar o poderio computacional atravs de
sistemas neurais.
Embora as redes neurais se assemelhem com o crebro humano, ela possui
as suas limitaes.
Essas mquinas no alcanam a inteligncia generalizada que pode
ser aplicada a situaes novas. Por exemplo, no se pode pedir a
25

uma rede neural para fazer algo para o qual ela no tenha recebido
treinamento. Como uma rede neural no programada, como um
sistema especialista, s se sabe como ela resolver ou
compreender um problema aps a construo da rede. O
discernimento humano ainda necessrio para manter a rede
funcionando corretamente. (LAUDON e LAUDON, 1999, p. 338).
As redes neurais so dependentes do auxlio de um humano para poderem
receber novos conhecimentos. Uma vez com as informaes inseridas na rede, os
resultados sero obtidos com rapidez comparados ao processamento de um
humano, porm sem a figura de um humano para fazer este papel este tipo de rede
no teria utilidade.
2.2.2.4 Sistemas especialistas
So sistemas que so implementados atravs de regras com o intuito de
atingir os comportamentos similares da lgica do ser humanos.
Os SE podem ser definidos segundo Rezende (2005), como sistemas
baseados em conhecimentos que so programas de computador que manipulam
conhecimento representado explicitamente para resolver problemas.
Os SE, so softwares que tem por objetivo auxiliar as pessoas nas suas
tarefas dirias com o mesmo intuito de um perito humano. Silva (2005) diz que um
sistema especialista condensa o conhecimento de um ou mais especialistas e utiliza
este conhecimento armazenado para auxiliar na resoluo de problemas do usurio.
Para Fernandes (2003) um sistema especialista deve ser construdo com o
auxlio de um especialista humano, o qual fornecer a base de informaes, atravs
de seu conhecimento e experincia adquiridos.
O SE somente pode ser construdo com a ajuda de uma pessoa que tem
conhecimento sobre o assunto que vai ser desenvolvido, pois atravs dele que
sero validadas as informaes fornecidas pelo sistema. fundamental deixar claro
que um sistema especialista no tem o objetivo de substituir o profissional, mas sim
uma ferramenta que seja til, que possua conhecimento necessrio para que possa
auxilia-lo.
26

2.2.2.4.1 Fundamentos de um sistema especialista
J Sabemos que um SE, nada mais que um software que soluciona
problemas que apenas um especialista tem a capacidade de resolver. Obviamente
para desenvolver um sistema especialista e preciso que pelo menos duas pessoas
estejam envolvidas para a construo do mesmo. Uma que ser o responsvel pela
construo do SE, e o especialista o qual ser responsvel pela validao dos
dados.
Para o seu desenvolvimento e construo, Fernandes (2003) explica que este
processo chamado de engenharia de conhecimento, sendo que tipicamente
constitudo pela interao entre o construtor do sistema, chamado de engenheiro do
conhecimento e um ou mais especialistas. Esta tarefa reflete em um encontro onde
o engenheiro do conhecimento vai capturar quais so suas tcnicas e
procedimentos para solucionar algum problema, e este passa a base de
conhecimento do SE.
Segundo Coppin (2010, p. 218) SE so projetados para serem capazes de
usar as mesmas regras que os especialistas usariam para chegar a concluses a
partir de um conjunto de fatos apresentado pelo sistema. Analisando os fatos
ocorridos, o SE vai conferir a sua base de conhecimento para ento achar os
padres especficos que determinam quais as chances de que aquelas
caractersticas so de algum determinado evento.
Esta fundamentao muito importante para determinar o bom
funcionamento do SE. nesta etapa em que so criadas as regras para inserir na
base de conhecimento do software, ento se houver algum padro que esteja em
desacordo, obviamente em algum momento a sugesto que o SE proporcionar ao
usurio estar em desconformidade. Por isso que aps o software do SE estiver
operante, seja realizada mais um encontro com os especialistas para estes
validarem os resultados sugeridos pelo SE.
27

2.2.2.4.2 Estrutura de um SE
Um SE composto de vrios componentes interligados que so responsveis
pelo clculo e procura de padres para achar os resultados propostos e sua
respectiva percentual de certeza.
Segundo Fernandes (2003), um SE apresenta cinco componentes bsicos,
que so base de conhecimento, mquina de inferncia, subsistema de explicaes
e interface do usurio, assim como exemplificado na figura 2.

Figura 2 Estrutura de um SE.
Fonte: Resende (2003, p. 23)

A figura 2 demostra como se comporta um SE, sendo que o usurio ir
interagir com a interface do SE, e este envia os dados fornecidos para a base de
conhecimento, onde atravs das regras desenvolvidas vai verificar a possibilidades
delas serem verdadeiras.
A base de conhecimento de um SE, o local onde se encontram as regras
desenvolvidas. Segundo Coppin (2010) a base de conhecimento contm o
conhecimento especfico de um domnio que usado por um especialista para
derivar concluses a partir de fatos. neste local onde so consultadas as regras
para que seja possvel o SE tirar suas concluses e seu possvel fato.
A base de conhecimento tambm pode ser conceituada como uma abstrao
do mundo real. Assim como explica Resende (2003) a base de conhecimento est
representado todo o conhecimento sobre um determinado domnio, uma abstrao
do mundo descrita explicitamente por um formalismo processvel
computacionalmente. Esta base de conhecimento e toda a traduo do
28

conhecimento do mundo real, ou seja, os procedimentos e tcnicas dos
especialistas traduzidas em linguagem computacional.
As regras criadas e armazenadas na base de conhecimento tem a tarefa de
realizar a comparao e achar os padres necessrios para chegar ao resultado
final que ser apresentado como resposta ao usurio. As regras utilizadas na
construo da base de conhecimento, so elaboradas na estrutura de pares de
condio, atravs do if then. A figura 3 exemplifica a estrutura de uma regra.

Figura 3 Construo de regras
Fonte: Fernandes (2003, p.17 adaptado).


A figura 3 exemplifica que se a condio apresentada de fato verdadeira a
ao a seguir aplicada, caso contrrio ela ignorada.
A mquina de inferncia uma ferramenta que tem por finalidade realizar a
procura na base de conhecimento. Segundo Fernandes (2003, p. 17) a mquina de
inferncia busca as regras necessrias a serem avaliadas e ordena-as de uma
maneira lgica. a mquina de inferncia a responsvel por tomar julgamentos e
decises baseados nos dados contidos na base de conhecimento.
Ainda Coppin (2010) diz que o mecanismo de inferncia a parte do sistema
que usa as regras e os fatos contidos nele para derivar e gerar concluses. Essas
concluses so as respostas que sero apresentadas para o usurio. No
necessariamente ser apresentado para o usurio apenas uma resposta. Conforme
os dados fornecidos por ele a mquina de inferncia pode encontrar o mesmo
padro em vrios fatos, porem cada um deles com uma porcentagem especifica de
certeza.
O Subsistema de explicaes um local onde exemplificada ao usurio a
linha de raciocnio lgico que o SE teve at chegar a sua concluso final.
Usando esta caracterstica, usurios de SE podem perguntar por
que? ou como? e o SE lhe fornecer uma resposta. Por exemplo,
um SE pode pedir ao usurio informao adicional sobre um sensor
de temperatura. O usurio pode desejar saber porque o sistema
necessita de mais informao e pergunta ao sistema Por que?.
(FERNANDES, 2003, p. 18)
29

O uso do subsistema de explicaes dar um parecer, ou uma resoluo
para o usurio a razo de que o SE precisou para chegar a uma determinada
concluso. Caso o usurio possuir alguma dvida sobre como o SE chegou a
aquela concluso o subsistema de explicaes fornecer a ele um parecer lgico
sobre o que levou a ter aquela concluso especifica.
A interface com o usurio a parte em que o usurio interage com o SE,
aonde ele dever introduzir no sistema as suas respostas as perguntas, e atravs da
prpria interface ser mostrada a ele as concluses finais do SE.
Segundo Rezende (2003) a interface com o usurio responsvel pela
obteno de informaes junto ao usurio, alm da apresentao de resultados e
explicaes. A interface com o usurio vai ser o meio de comunicao e interao
entre o usurio e o SE. Sem ele fica difcil o usurio interagir com o SE, pois muitas
vezes o prprio usurio no tem conhecimentos aprofundados em computao que
tornem ele apto a utilizar sem uma interface.
Ainda Coppin (2010) explica que a interface a ferramenta pelo qual o
usurio interage, e fornece acesso aos mecanismos de inferncia, subsistema de
explicao e ao editor da base de conhecimento. A interface o mecanismo que
facilita ao usurio a interagir com diversas partes compostas do SE.
A interface crucial para que os usurios possam realizar a interao com o
SE. Atravs dela possvel criar novas regras, consultar o SE, Consultar as
explicaes e outras funcionalidades que o SE proporciona.
A estrutura de um SE, deve estar em consistncia todos os seus
componentes, afim de que o SE esteja em perfeito funcionamento. Como todos os
componentes dependem um do outro para o seu funcionamento, uma falha em um
deles acarretar um problema.
30

2.3 ENGENHARIA DE SOFTWARE
A engenharia de software possui mtricas e padres que facilitam e controlam
o desenvolvimento de softwares, a fim de garantir a sua qualidade, eficcia e
consistncia.
A engenharia de software, segundo Rezende (2005), uma metodologia de
manuteno e desenvolvimento de softwares. Esta metodologia nada mais que
mtricas e tcnicas que foram feitas para auxiliar no estudo e construo do
software.
Quando utilizamos este tipo de tcnicas, as chances de obter sucesso no
desenvolvimento do software so grandes, uma vez que dentro dos mtodos
propostos especificado em detalhes em cada etapa, e neles so mensurados
estimativas de prazo, custo, quantidade de pessoas envolvidas e produtividade. O
conjunto das etapas dividido em mtodos, ferramentas e procedimentos e so
denominados de ciclo de vida do software.
O ciclo de vida do software consiste em definir as etapas para que os
profissionais responsveis pelo desenvolvimento do projeto possam mensurar e
validar o software durante a sua elaborao. Assim possvel prever possveis erros
e tambm conseguir capturar falhas no software. Quando so achados erros em
algum estgio mais avanado de um projeto, os custos para suprir estes erros so
mais elevados alm de no manter a qualidade esperada do software.
2.3.1 Modelos de engenharia de software
A engenharia de software dispe de vrios modelos e padres para medir e
mesurar a qualidade dos desenvolvimentos dos softwares.
Existem vrios modelos de engenharia de software. Pfleeger (2005) diz que
alguns tipos de modelos, so receitas do caminho que o desenvolvimento deve
seguir, e outros so descries do modo como realmente deve ser desenvolvido.
31

Os modelos de ciclo de vida de software tm como finalidade traar um
caminho para que a equipe responsvel pelo desenvolvimento do projeto possa ser
auxiliada atravs de conceitos a construo de produtos reais atravs de
fundamentos da rea da informtica.
Todo processo de desenvolvimento de software, assim como os modelos de
ciclo de vida, segundo Pfleeger (2005) tem como caracterstica a entrada dos
requisitos do sistema, e como sada um produto fornecido. Para poder finalizar um
projeto de software, a primeira etapa a ser desenvolvida a anlise de requisitos do
sistema, pois a atravs desta etapa que os desenvolvedores iro saber quais so
as necessidades que o software ter que possuir, assim como seguir toda a parte de
processamento at chegar a sada do produto. Os modelos de ciclo de vida de
softwares tm por padro comportamento, mas existem em cada um suas prprias
caractersticas.
2.3.1.1 Modelo Cascata
O modelo cascata, tambm conhecido como modelo linear sequencial,
segundo Gustafson (2003), foi inicialmente descrito por Royce em meados de 1970,
e foi a primeira realizao de uma sequncia de padro de tarefas.
As etapas descritas neste modelo citado por Gustafson (2003) so
viabilidade, requisitos, projeto, implementao, e teste assim como mostra a figura 4.


Figura 4 - Modelo cascata
Fonte: Gustafson (2003, p. 13)

32

A figura 4 demonstra a sequncia de etapas do modelo cascata, sendo que a
primeira etapa a viabilidade e as demais etapas so desenvolvidas assim que a
anterior concluda.
Uma das caractersticas deste modelo segundo Pfleeger (2005), que o
desenvolvimento de um estgio deve terminar para poder comear outro. Ento das
etapas descritas por este modelo, deve ser finalizadas para que o seu
desenvolvimento prossiga para o prximo estgio. Por exemplo, no possvel
realizar a etapa dos requisitos, sem ter terminado a etapa da viabilidade.
Uma das desvantagens deste modelo, como diz Pfleeger (2005), que o
modelo mostra que cada uma das principais fases acaba com a produo de algum
artefato. No h detalhes de como cada fase realiza para que um artefato realizado
em uma fase seja transformado em outro artefato.
2.3.1.2 Prototipao
O ciclo de vida de prototipao, nada mais que construir um modelo o qual
possa ser mostrado e avaliado para o cliente antes mesmo da implementao do
software definitivo.
Para o a autor Gustafson (2003) o modelo de ciclo de vida de prototipao
constri uma verso descartvel (ou prottipo). Este prottipo tem o objetivo de
testar conceitos e requisitos e ser usado para fazer uma demonstrao para o
cliente.
Este modelo segundo Pfleeger (2005) permite que todo o sistema seja
construdo rapidamente para que questes sejam entendidas ou esclarecidas. Uma
das vantagens deste modelo que uma vez construdo um prottipo do sistema,
possvel esclarecer e verificar com o cliente se os objetivos, ou at mesmo para
mostrar se as expectativas do cliente foram alcanadas. Aps a demonstrao e a
definio do que realmente o usurio necessita, os requisitos so revistos e o
desenvolvedor reconsidera as especificaes.
As etapas do modelo de ciclo de vida de software de prototipao, so a
obteno de requisitos, a elaborao do projeto rpido, construo do prottipo,
33

avaliao do prottipo e refinamento do prottipo, assim com especificados na figura
5.

Figura 5 - Modelo de ciclo de vida prototipao
Fonte: Tonsig (2003, p.61 adaptado)

A figura 5 demostra uma das caractersticas do modelo de prototipao que
ao chegar ao final do ciclo, ou seja, na avaliao do prottipo, fica a carter do
responsvel pelo desenvolvimento se necessrio refazer o ciclo de vida.
Este modelo de engenharia de software tem como caracterstica a
possibilidade da construo de um prottipo, e ao chegar ao final das etapas, a
possibilidade do reinicio das tarefas. Cabe pessoa responsvel tomar a deciso do
reinicio das etapas, ou a sua concluso.
2.3.1.3 Modelo espiral
O modelo em espiral um modelo caracterstico que a cada nova etapa, as
etapas anteriores so revisadas.
O modelo de ciclo de vida espiral, segundo Pfleeger (2005) um modelo que
comea no meio e continuamente revisa as tarefas bsicas do usurio, que so
comunicao, planejamento, anlise de risco, engenharia, construo e implantao,
e por fim a avaliao do usurio.
Obteno
Requisitos
Elaborao
do projeto
rpido
Construo
do Prottipo
Avaliao do
Prottipo
Refinamento
do Prottipo
34

Para Pfleeger (2005) este tipo de modelo foi desenvolvido por Boehm, onde
analisou o processo a partir do risco envolvido, sugerindo que um modelo em espiral
poderia combinar as atividades de gerenciamento do risco, de modo a minimizar e
controlar os riscos.
Este modelo, segundo Leite (2007), descreve um fluxo de atividades cclicas e
evolutivas constitudas de quatro estgios. No primeiro estgio, so constitudos pela
determinao dos objetivos, restries, alternativas e solues. No segundo estgio,
realizada toda a anlise de riscos da etapa anterior. Dentro desta etapa, podem
ser elaborados alguns prottipos e realizaes de testes e simulaes do software.
Na terceira etapa, alm das atividades da segunda fase, so implementados o
design, a codificao, a especificao e pr fim a verificao. E na quarta etapa,
realizada a reviso das etapas anteriores, e planejamento para a prxima fase.
Abaixo a figura 6, representa graficamente as etapas citadas.

Figura 6 - Modelo de ciclo de vida espiral
Fonte: Pfleeger (2005, p. 47)

Como a figura 6 apresenta, o ciclo de vida espiral est sempre em constante
evoluo das suas etapas, mas a cada incio de nova etapa so revisadas as etapas
anteriores.

35

2.3.2 Anlise de requisitos
A anlise de requisitos a parte da engenharia de software, onde
determinada qual a necessidade do usurio, sendo que nesta fase devem ser
levantados todos os requisitos necessrios para o desenvolvimento do sistema.
Segundo Gustafson (2003) o objetivo desta fase, evidenciar os requisitos
do usurio, o que geralmente alcanado pelo desenvolvimento de diagramas e
especificaes de requisitos aps discusso com o usurio. importante lembrar
que a conversa com o usurio deve ser clara e objetiva, deixando ntido o que
realmente vai ser desenvolvido, e se realmente isso que ele necessita. Uma vez
falhando no levantamento de requisitos, o projeto todo est falho. Por isso a
importncia desta etapa.
Para realizar o levantamento da anlise de requisitos, recomendvel que
seja realizado com todas as pessoas envolvidas e que utilizaro o software. Paula
Filho (2009, p. 165) relata que os requisitos devem ser levantados pela equipe do
projeto, em conjunto com representantes do cliente, usurios e, possivelmente
especialistas da rea de aplicao. Quando todas as pessoas envolvidas com o
futuro software so levadas em conta no momento em que realizado a anlise de
requisitos, as chances de que algum requisito no seja incluso minimizado.
A qualidade dos requisitos outra questo crucial para o sucesso do
desenvolvimento do projeto.
Requisitos de alta qualidade so claros, completos, sem
ambiguidade, implementveis consistentes e testveis. Os requisitos
que no apresentam essas qualidades so problemticos: eles
devem ser revistos e renegociados com os clientes e usurios.
(PAULA FILHO, 2009, p. 165)
Mesmo que sejam levantados todos os requisitos necessrios para o
desenvolvimento do software, a qualidade deles importante. Uma vez que os
requisitos sejam claros, objetivos e completos, certamente o software obter
sucesso. Se os requisitos forem ambguos, e no esclarecidos devidamente, as
chances de que este software ir falhar grande.
36

2.3.2.1 Tipos de requisitos
Quando realizado a anlise e o levantamento dos requisitos, possvel
dividir ele em requisitos funcionais e requisitos no funcionais.
Os requisitos funcionais segundo Pfleeger (2004) a descrio de uma
interao entre o software e o seu ambiente. Este tipo de requisito independente
da implementao de alguma soluo para algum problema do cliente. Por exemplo,
quais so os dados necessrios para gerar uma folha de pagamento, quais so as
condies que podem alterar o valor da folha de pagamento de um funcionrio, ou
seja, essa descrio como necessariamente o que o sistema far sem abordar
assuntos como qual linguagem de programao vai ser desenvolvida, qual o tipo
de papel ser utilizado para a impresso.
Os requisitos funcionais so apenas os processos que o sistema ir utilizar.
Este requisito apenas leva em conta qual o processo que cliente necessita, o que
o sistema ir fazer. Ele no leva em considerao detalhes interno do
desenvolvimento. Este tipo de requisito a parte em que descrita em uma
linguagem simples, e que o prprio usurio entenda.
Os requisitos no funcionais de acordo com Pfleeger (2004) a descrio de
uma limitao que os desenvolvedores tero ao criar uma soluo para o problema
do usurio. So questes como em qual sistema operacional o sistema via trabalhar,
qual o tipo de impressora que vo ser impressos os relatrios, o que determinar
para a equipe de desenvolvimento qual a opo de linguagem de programao,
ferramentas e tcnicas de implementaes, tipos de relatrios que sero
necessrios para poderem suprir os requisitos.
Quando so especificados os requisitos no funcionais, necessariamente eles
no iro interferir no que o sistema ir fazer, mas sim em nvel de desenvolvimento.
Uma vez que o cliente possui, por exemplo, mais que um sistema operacional dentro
da sua empresa, ser necessrio que a equipe de desenvolvimento opte por uma
linguagem multiplataforma, assim como demais necessidades que a equipe deve
avaliar.
37

2.3.2.2 Qualidade dos requisitos
Obter todos os requisitos necessrios para o desenvolvimento do software
essencial para que ao final do projeto este esteja de acordo com as expectativas do
cliente. Porm no basta apenas enumerar todos os requisitos, preciso que sejam
descritos com clareza, exatido, ou seja, um conjunto de requisitos de qualidade.
De acordo com Paula Filho (2009) para obter um produto de qualidade,
necessrio que o enunciado dos requisitos satisfaa uma srie de caractersticas de
qualidade. Por isso, um enunciado dos requisitos deve ser correto, preciso,
completo, consistente, priorizado, verificvel, modificvel, rastrevel.
2.3.2.2.1 Requisitos corretos
Para que um requisito do sistema esteja correto necessariamente ele deve
ser algo a ser construdo no sistema. Paula Filho (2009) relata que para verificar se
o requisito est correto, deve ser checada a coerncia do enunciado do requisito,
com os outros documentos da aplicao, como propostas de trabalho e documentos
da aplicao. essencial que solicite para o cliente a sua aprovao, de preferncia
de alguma forma formal. Sem esta permisso, o projeto no deve prosseguir.
2.3.2.2.2 Requisitos precisos
Um requisito possui preciso, quando no apresentar nenhum tipo de
ambiguidade, ser claro e possuir a mesma interpretao tanto para o cliente, como
para a equipe de desenvolvimento. Segundo Paula Filho (2009, p. 169) em
particular, um artefato de especificao dos requisitos deve ser compreensvel para
todo o seu pblico alvo, e deve ser suficiente para o desenho dos testes de
aceitao.
Um requisito pode ser interpretado de formas diferentes pela equipe de
desenvolvimento e pelo cliente. Por isso a importncia de que todos os requisitos
sejam precisos, para que no sejam implementados de forma errada. Sempre
quando algum termo possuir duplo sentido, deve ser revisto para proporcionar
38

clareza, ou deve ser anexado algum tipo de glossrio ao projeto que especifique o
termo utilizado na descrio.
2.3.2.2.3 Requisitos completos
Um fator importante para o entendimento de ambas as partes, que o
requisito seja detalhado e completo. Paula Filho (2009) diz que um enunciado dos
requisitos completo, quando se reflete em todas as decises de especificao que
foram tomadas por parte do cliente, e que este no possui nenhuma pendncia ou
dvida. Para que um enunciado seja completo ele deve conter as caractersticas de
descrio de todos os requisitos relativos funcionalidade, desempenho, restries,
atributos e interfaces externas.
Tambm importante especificar para que seja completo, as respostas que o
software para as possveis entradas do usurio. O que ser vlido e invlido em
todas as situaes possveis.
A descrio do requisito para que este seja completo, deve ser desenvolvida
de uma forma em que detalhe o mximo das caractersticas possveis e necessrias
que o requisito precisar.
2.3.2.2.4 Requisitos consistentes
A consistncia de um requisito segundo Paula Filho (2009) se d a partir de
que no haja nenhum tipo de conflito entre os subconjuntos de requisitos.
Geralmente os conflitos entre requisitos, so entre caractersticas do mundo real,
como formatos de relatrios, sinalizaes, conflito entre requisitos, ou seja, um
requisito descrito exatamente ao oposto de outro, e o uso de termos diferentes
para representar o mesmo processo.
Uma postura que pode ser tomada para garantir a consistncia dos requisitos
, por exemplo, adotar padres de descrio para evitar usar termos diferentes que
mencionam a mesma coisa, revisar detalhadamente os requisitos para que eles no
entrem em contradio.
39

2.3.2.2.5 Requisitos verificveis
Um requisito verificvel no conceito de Paula Filho (2009) um requisito que
tenha um processo finito, que o seu custo seja compensado, que seja possvel ser
executado por uma pessoa ou mquina e que esteja em conformidade com os
demais requisitos do produto final. Requisitos que so definidos em termos
qualitativos, ou so contrrio a fatos tcnicos e cientficos, no so verificveis.
2.3.2.2.6 Requisitos rastreveis
Requisitos rastreveis, so um requisitos que permitem saber os
antecedentes, e suas consequncias. Paula Filho (2009) diz que um requisito
rastrevel quando o mesmo permite uma determinao dos antecedentes, e
consequncias de todos os requisitos. Existem dois tipos de rastreabilidade. A
rastreabilidade para trs que quando o requisito permite localizar a sua origem, e a
rastreabilidade para frente que a possvel mensurao dos resultados do
desenvolvimento que sero afetados de cada requisito.
2.4 LINGUAGEM DE PROGRAMAO
Linguagens de programao um mtodo que transmite instrues para o
computador.
2.4.1 Java
A linguagem de programao Java, segundo Hubbard (2006) foi desenvolvida
por James Gosling na empresa Sun Microsystems em meados dos anos 1990. O
termo Java, tem origem de uma gria designada ao caf.
Uma das principais vantagens da linguagem Java, por ela possuir uma
independncia de plataforma, ou seja, um programa desenvolvido que tem a
40

possibilidade de ser executado em qualquer ambiente operacional. Outra vantagem
desta linguagem por ela ser grtis.
Nos dias atuais, a popularidade desta linguagem entre os desenvolvedores
enorme. De acordo com Ferrer (2013) o Java a segunda linguagem mais popular
do mundo, ficando atrs apenas da linguagem C.
A vantagem de desenvolver sistemas especialistas com a linguagem de
programao Java, por ela possuir um shell chamado Java Expert System Shell
(Jess) o que facilita o seu desenvolvimento.
2.4.2 Jess
Jess uma shell de desenvolvimento de SE, onde possvel apenas atravs
de regras inseridas em sua linguagem construir uma aplicao que simule o
raciocnio humano.
O Jess de acordo com Friedman (2008) um motor de inferncia baseado
atravs de regras. A sua utilizao consiste em elaborar regras, na prpria
linguagem do Jess, ou atravs de arquivos XML.
Segundo Pio, Cancian e Frana (2013), o Jess foi desenvolvido por Ernest
Friedmal-Hill, em funo de um projeto interno na Sandia National Labs. Sua
primeira verso foi escrita em meados do ano de 1995. O Jess teve como objetivo
ser um script shell, que serviria para a construo de SE para a linguagem de
programao Java. Com a criao do Jess a facilidade de construir SE
principalmente na linguagem Java grande. A linguagem Jess est em pleno
desenvolvimento, atualmente est em teste a sua verso 8, e esta possui suporte
para plataforma android. A verso utiliza para desenvolver este SE, foi verso 7.1
que lanada no ano de 2008 e mais recente verso estvel do shell.
O shell de desenvolvimento Jess, segundo Budke e Mayer (2013) oferece
bons recursos e apresenta um desempenho bastante satisfatrio, o que se
apresenta como uma ferramenta muita atrativa principalmente para a elaborao de
41

SE, uma vez que possui resultados mais satisfatrios do que outras ferramentas
principalmente quando algum problemas grande.
Dentre vrias vantagens da utilizao do Jess a total integrao com a
linguagem de programao Java, um diferencial enorme para a construo de um
SE. A construo de regras e a prpria interface para o usurio pode ser
desenvolvido no prprio ambiente de desenvolvimento voltado para Java.
2.4.2.1 Sintaxe da linguagem Jess
A linguagem de desenvolvimento do Jess, assim como as demais linguagens
de programao apresentam algumas particularidades. Segundo Santana (2007) a
sintaxe do Jess caracterizada pela abertura e fechamento de parnteses entre os
seus comandos. Um exemplo prtico da utilizao da sintaxe do Jess a
demonstrao do comando de impresso, utilizando a escrita Hello World, assim
como mostra a figura 7.

Figura 7 Exemplo Hello World em Jess
Fonte: Friedman (2008, p. 7)

O comando na figura 7 inicia e termina com parnteses, o que caracterstico
da sintaxe da linguagem, o comando printout t responsvel por imprimir os
caracteres inseridos entre as aspas, que nesta ocasio a frase Hello, world
seguido do comando crlf que responsvel por fazer a quebra da linha aps a
impresso.
2.4.2.2 Construo de regras
A construo das regras em Jess uma parte essencial para o
desenvolvimento do SE. atravs das regras que possvel chegar a uma resposta
para os devidos problemas citados.
Para Santana (2007), a criao de regras no shell Jess faz necessrio a
utilizao do comando defrule. Este comando o que identifica aquele bloco de
42

comandos em especifico como uma regra. A Figura 8 demostra a criao de uma
regra na sintaxe do Jess.

Figura 8 Exemplo regra em Jess
AUTOR: Friedman (2008, p. 160)

Como demostra a figura 8, as regras em Jess seguem na estrutura
caracterstica da sintaxe, aonde o comando iniciado com a abertura e fechamento
de parnteses, aps vem s declaraes dos valores utilizados e se caso estes
valores forem verdadeiros, os comandos sero executados, caso contrario eles so
ignorados.
2.5 BANCO DE DADOS
Na utilizao de sistemas, nada faria sentido se os dados que inserirmos nele,
no fosse armazenados. Da mesma forma as consultas, relatrios e o apoio a
deciso fornecidos pelos softwares no conseguiriam ser gerados se no houve um
lugar onde pesquisar os dados. Por isso a importncia de um base de dados
crucial para a utilizao de sistemas, que sem ela seria impossvel utilizar alguns
recursos existentes.
Um componente de armazenamento algo to importante que de acordo com
OBRIEN (2004, p. 16) diz o armazenamento um componente bsico dos
sistemas de informao. a atividade na qual os dados e informaes so
guardados de forma organizada para o uso posterior. Sem um local para armazenar
os dados, no possvel posteriormente torna-lo uma informao vlida.
O conceito de banco de dados segundo OBRIEN (2004, p.16) uma coleo
integrada de registros inter-relacionados. So dados armazenados em uma base,
onde so relacionados entre si atravs de relacionamentos entre tabelas.
43

2.5.1 Gerenciamento de dados
Com a criao da tecnologia dos bancos de dados, os aspectos como
melhorias em relao arquivos tradicionais como, por exemplo, a sua organizao,
foram resolvidos. De acordo com Laudon e Laudon (2004) com os bancos de dados
foi possvel atenderam a muitas aplicaes organizando eficientemente a coleo de
dados de um modo centralizado minimizando assim os dados redundantes.
Um dos recursos oferecido pelos bancos de dados o seu sistema
gerenciador de bando de dados.
Sistemas gerenciadores de banco de dados simplesmente um
software que permite a uma organizao centralizar seus dados e
gerenci-los com eficincia e proporciona acesso a programas
aplicativos aos dados armazenados. (LAUDON e LAUDON, 2004, p.
229).
So os recursos oferecidos pelo sistema gerenciador de banco de dados que
facilitam dos responsveis pelos sistemas de como os dados sero armazenados.
Uma vez que de responsabilidade do sistema gerenciador manter a integridade
dos dados dentro do banco de dados assim como gerencial toda a parte de definio
de dados, manipulao dos dados e a consulta.
2.5.1.1 Dicionrios de dados
Os dicionrios de dados so recursos utilizados pelo gerenciador do banco de
dados a fim de organizar os dados. Dicionrio de dados de acordo com Obrien
(2004, p. 139) um catlogo ou diretrio computadorizado contendo metadados, ou
seja, dados sobre dados. No dicionrio de dados so encontrados todos os dados
existentes dentro do banco de dados.
Uma das caractersticas apresentadas pelo dicionrio de dados o seu
componente para gerenciamento de definies. Este componente segundo Obrien
(2004) gerencia toda a parte de definies dos dados, ou seja, a estrutura dos
dados, os elementos dos dados e outros tipos de caractersticas que os dados
possam possuir.
44

O dicionrio de dados possui a capacidade de acordo com Laudon e Laudon
(2004) de armazenar as definies como a sua utilizao, sua representao fsica
dentro do banco de dados, a autorizao e sua segurana. Alm disso, eles podem
produzir listagens e tipos de relatrios da utilizao destes dados.
A parte que compreende todas as caractersticas dos dados, seja ela o tipo,
ou sua definio, de responsabilidade do dicionrio de dados.
2.5.1.2 Linguagem de definio de dados
uma linguagem utilizada pelos programadores para especificao da
estrutura e contedo que um bando de dados vai possuir. Na definio dos dados
so atribudos segundo Laudon e Laudon (2004) cada elemento de dado como
aparece no banco. So definies como tipo de dados que as colunas vo receber
quantidade de caracteres que as colunas vo suportar, entre outras definies.
Nesta definio dos dados so utilizados de acordo com Boghi e Shitsuka
(2002) os nveis externo conceitual e interno do banco de dados. O nvel externo, na
criao de tabelas, campos, no conceitual definindo tipos de dados, tamanho dos
campos, e de nvel interno, criando ndices.
A linguagem de definio com propriamente diz so definidas as
caratersticas que os dados vo suportar. o momento em que so atribudas as
caractersticas pertencentes quela tabela, aqueles campos que iro receber os
dados. Resumidamente a criao de toda a estrutura do banco de dados.
2.5.1.3 Linguagem de manipulao de dados
Uma vez criado as tabelas do banco de dados, possvel manipular este de
forma de inserir, atualizar e apagar os dados. De acordo com Boghi e Shitsuka
(2002) esta uma linguagem de utilizao de nvel interno e externo alm do
conceitual. Pode-se exemplificar na forma de insert, e select que so comandos
propriamente ditos da linguagem de manipulao.
45

Este tipo de linguagem possui comando que possibilitam manipular e extrair
os dados e Segundo Laudon e Laudon (2004) atende tanto as requisies de
informao, ou seja, extrair os dados de forma ordenada, como para desenvolver
aplicaes de modo que elas insiram os dados neste mesmo local.
Com a linguagem de manipulao possvel interagir com o banco de dados
de forma que possvel inserir dados nas tabelas, atualizar, e excluir os mesmos,
alm de poder extrai-los para poder gerar relatrios, trabalhar com estes dados afins
de que se tornem informaes uteis para os usurios.
2.5.2 Tipos de banco de dados
O armazenamento de dados um fator importante para posteriormente
transformar em informaes, porm, para saber de que forma armazenar, preciso
conhecer quais os tipos de armazenamento de banco de dados para estudar qual
tem o melhor custo benefcio para implantar. Existem alguns tipos de banco de
dados, que segundo Laudon e Laudon (2004), diferenciam-se uns dos outros pelo
seu rastreamento, de entidades, atributos e relaes. Vo ser abordados, os
principais tipos de banco de dados utilizados por usurios finais e organizaes.
2.5.2.1 Banco de dados relacional
O modelo de banco de dados relacional constitudo por tabelas
bidimensionais. De acordo com Laudon e Laudon (2004), este modelo o mais
comum entre tanto para computadores de pequeno porte, como mainframes.
O banco de dado relacional apresentado de acordo com Obrien (2004)
atravs de ralaes entre tabelas bidimensionais. As tabelas so semelhantes a
arquivos comuns, porm os dados contidos nelas podem ser facilmente extrados e
combinados.
O banco de dados relacional Segundo Dias Neto (2011) controlar todo o
armazenamento, segurana, recuperao, e integridade dos dados. Ele alm de
armazenar, atravs de seu gerenciador de banco de dados realiza os procedimentos
46

para manter o controle, e a integridade dos dados afim de que eles sejam inseridos
com segurana alm de estarem organizados para posteriormente recuper-los.
A organizao dos dados em um banco relacional outro fator que se
diferencia dos demais tipos.
Um banco de dados relacional armazena dados em tabelas. Tabelas
so organizadas em colunas, e cada coluna armazena um tipo de
dado (inteiro, nmeros reais, strings de caracteres, data, etc) Os
dados de uma simples instncia de uma tabela so armazenados
como uma linha. (DIAS NETO, 2004).
Os dados de um banco relacional so organizados em tabelas
bidimensionais, onde cada coluna inserido um dado especfico, como o nome,
cdigo, e este conjunto de dados formam uma linha que representada com uma
chave nica, denominada chave primria o que vai garantir que esta linha da tabela
tenha este cdigo nico a fim de diferenciar das demais linhas da tabela.
2.5.2.2 Banco de dados hierrquico
Banco de dados hierrquicos um modelo de banco dados mais antigo. De
acordo com Laudon e Laudon (2004) um modelo que apresenta os dados ao
usurio em um tipo de estrutura semelhante a uma rvore e dentro de cada registro
os elementos de dados so organizados em pedaes de registro que so
denominados segmentos.
A estrutura do banco hierrquico um diagrama em forma de rvore.
Segundo Gionanangelo (2011) este diagrama constitudo de dois componentes
bsicos denominados retngulos que correspondem aos tipos de registros, e as
linhas que so as representaes das ligaes.
Nas estruturas de hierarquia, como Laudon e Laudon (2004) explica um
segmento de nvel superior ligado logicamente em um segmento de nvel inferior
como em uma relao pai-filho, sendo que um segmento pai pode ter mais que um
filho, porm um filho pode somente possuir um pai.
47

Este tipo de banco de dados organizado em forma de uma hierarquia, onde
um nvel que denominado registro, um pai, e que por sua vez pode possuir um
registro filho, organizando-se semelhantemente como uma rvore.
2.6 PRODUO DE UVA E VINHOS
A regio meio oeste de Santa Catarina, sempre foi destaque na produo de
uva e consequentemente na fabricao de vinho. Segundo Mello (2013) Santa
Catarina possui uma plantao de 5.176 hectares de videiras, e foi responsvel por
uma produo de 70.909 toneladas de uvas no ano de 2012, sendo que destas
cerca de 57% foi destinado ao processamento (suco, vinho, derivados).
A produo de vinhos e sucos no estado de Santa Catarina segundo Mello
(2013) foi cerca de 17.053.989 litros sendo que destes, 2.814.761 de litros foram
sucos de uva, 8.178 de litros de produo de mosto de uva, 57.750 de produo de
espumantes, 1.988.651 de produo de vinhos finos de mesa e 13.755.511 de
vinhos de mesa.
A produo de uvas segundo Mello (2013) foi reduzida cerca de 0,52% no
Brasil, porem em Santa Catarina a produo de uva teve um crescimento de 3,09%
em relao ao ano de 2011. Com estes dados possvel observar que o estado de
Santa Catarina ainda est em potencial de expanso das suas reas cultivares de
videiras.
Durante o processo da fermentao do vinho ocorrem inmeros fenmenos
at chegar ao produto final. Existem inmeras anomalias durante este processo que
podem ocorrer e consequentemente deixam o produto final com baixa qualidade. De
acordo com Afonso (2006) a identificao do defeito est ligada a experincia e o
conhecimento terico e prtico, a sensibilidade e para muitos esta informao torna-
se insuficiente sobre este tema.
Com base em questes como essa que reunir um conhecimento de um
especialista experiente e que possua os requisitos de identificao em um SE,
48

outras pessoas que ainda no desenvolveram este senso crtico de percepo
podem consultar no sistema como estarem consultando o prprio perito.
As anomalias apresentam particularidades que podem ser identificadas
atravs da sua descrio e causa. Por exemplo, de acordo com Afonso (2006) uma
caracterstica de um vinho oxidado estar ligeiramente com uma alterao na sua
colorao juntamente com um aroma com perda das caractersticas do fruto e certa
madeirizao com final seco, curto e inexpressivo. Combinando todas estas
caractersticas possvel chegar a causa desta anomalia, que em questo a
oxidao.
Realizado este levantamento sobre as caractersticas das possveis
anomalias encontradas durante a fabricao do vinho, possvel formar uma base
de conhecimento e atravs dos recursos da mquina de inferncia do SE,
desenvolver um SE para auxlio na fermentao de vinhos.
Para a pesquisa, foram abordadas as anomalias que segundo o enlogo
Marcel Salante, ocorrem com mais frequncia durante a elaborao dos vinhos. So
doenas que so fceis de serem identificadas e que no precisam de nenhum tipo
de aparelho para que sejam constatadas, ou seja, apenas com a anlise sensorial
da pessoa. As anomalias abordadas so fermentao alcolica, entrada de oxignio,
ataque de bactrias, fermentao maloltica, doena da volta, defeito de
higienizao, ataque de leveduras acticas, falta de oxigenao e deficincia de
leveduras, tambm conhecida como stress fermentativo.
Para a escolha dos tipos de vinho a ser abrangido, foi escolhido os tipos de
vinho branco e tinto, pelo motivo que segundo Protas e Camargo (2011) a regio do
vale do rio do peixe tem como tipo predominante o cultivo de uvas de origem
americana e hbrida onde se destacam as variedades Isabel e Nigara. As demais
doenas assim como os grupos de doenas que resultam nas perguntas do SE,
foram criados critrio do especialista, por se tratarem de anomalias que so fceis
de identificar.
49

2.7 DESENVOLVIMENTO DO SISTEMA ESPECIALISTA
Para chegar a uma resposta em um SE, regras so criadas a fim de que
atravs das perguntas seja possvel chegar nesta resposta. Para a elaborao das
regras foi consultado o especialista Sr. Marcel Salante que enlogo e atua
profissionalmente na localidade de linha Leozinho, interior do municpio de
Tangar.
A construo deste SE, utilizou a integrao da linguagem de programao
Java com a shell JESS. A escolha da elaborao do SE com estas ferramentas
especificas deu-se ao fato da facilidade da integrao entre estas duas e a vasta
documentao disponibilizada o que facilita o desenvolvimento principalmente para
usurio iniciantes ou dvidas que venham a ocorrer. Alm da vasta quantidade de
recursos que elas oferecem para desenvolver.
A linguagem de programao Java foi utilizada para desenvolver toda a parte
grfica da aplicao. Foi a ferramenta utilizada para as construes das telas, onde
atravs delas o usurio poder interagir com o SE.
2.7.1 Desenvolvendo na linguagem JESS
Com o auxlio do especialista, foram criadas as regras para a construo do
sistema especialista. Ao total foram elaboradas nove regras, as quais representam
respectivamente a nove anomalias que ocorrem com mais frequncia e que so
facilmente identificadas durante a fermentao do vinho.
2.7.1.1 Templates
Na linguagem do JESS, os templates so necessrios para que a base de
conhecimento do SE seja preenchida. atravs dos templates que possvel
inserir os valores fornecidos pelos usurios e que posteriormente serviro para
comparar com as regras e gerar uma resposta.
50

Para Cardoso (2007, p.21) a base de conhecimento do Jess composta por
templates, que so modelos nos quais os dados so inseridos. Os templates
servem como tabelas, as quais guardam os valores inseridos nelas em memria.
No SE, foi necessrio construo de um template, o qual armazena todos
os sintomas das anomalias abordadas, assim como podemos ver na figura 9.

Figura 9 Exemplo Template
Fonte: O AUTOR
A figura 9 tambm representa todos os sintomas das anomalias, sendo que
cada sintoma declarado dentro do template atravs de slots. Os slots foram
definidos como tipo inteiro, ou seja, para facilitar na comparao das regras, ser
utilizado na sua atribuio os nmeros zero (0) e um (1), sendo que zero ir
classificar o sintoma como falso, e um representar o sintoma como verdadeiro.
2.7.1.2 Regras
Aps criar os templates, no basta apenas alimentar a base de conhecimento
do SE se ele no possuir regras, as quais possam validar e encontrar um resultado.
As regras foram desenvolvidas de acordo com os sintomas de cada anomalia.
Se todos os sintomas que a regra contm forem verdadeiros, ento a regra ser
aplicada e ser informada ao usurio a anomalia correspondente. Na figura 10
possvel verificar que caso os sintomas sejam verdadeiros, a anomalia ser
conformada.
51


Figura 10 Regra Jess
Fonte: O AUTOR
A figura 10 mostra a regra utilizada para verificar se os sintomas informados
pelo usurio so compatveis com os sintomas que apresenta a anomalia da
fermentao alcolica. Nesta regra, foram carregados nas variveis os valores
correspondentes encontrado no template. Caso o valor seja igual, ele adicionar a
varivel global que esta anomalia est compatvel com os sintomas apresentados.
2.7.2 Utilizando a linguagem Java
A linguagem de programao Java uma das ferramentas mais utilizadas
para o desenvolvimento de software. Ela possui vrios recursos, o que facilita o
desenvolvimento de sistemas.
Com a linguagem Java foi desenvolvida toda a parte grfica, o que
responsvel pela interao do SE com o usurio. Ao todo foram desenvolvidos seis
telas que o papel de intermediao da entrada e sada dos dados.
A primeira tela do sistema uma tela de apresentao, onde trs informaes
referentes ao SE, assim como mostra a figura 11.



52


Figura 11 Tela inicial do SE
Fonte: O AUTOR

A tela inicial, como mostra a figura 11 responsvel por informar, o nome do
SE, assim como a sua funcionalidade.
Aps o usurio iniciar o SE, apresentada a ele a segunda tela, onde o
software j inicia a fazer perguntas e suas respostas sero enviadas a memria do
Jess. As anomalias so dividas em quatro categorias, sendo que elas so o tipo de
vinho, odor do vinho, aspecto fsico do vinho e o paladar do vinho. A pergunta inicial
foca o grupo do tipo vinho, assim como visualizado na figura 12.

Figura 12 Pergunta inicial
Fonte: O AUTOR
53

A figura 12 demonstra a pergunta inicial, aonde o usurio vai selecionar uma
das duas opes que abrangem o grupo dos tipos do vinho. A anomalia que for
selecionada ter o valor um (1) e a anomalia que no for selecionada ser atribuda
com o valor zero (0). Esses valores so enviados para a memoria do Java, para que
posteriormente quando todas as perguntas forem respondidas seja enviado
memria de trabalho do Jess.
Para que a linguagem Java guarde esses valores em memria necessrio
desenvolver uma classe, aonde so criados os atributos, que nada mais so que
variveis que guardam os valores de cada anomalia. A figura 13 apresenta como
realizado o envio dos dados para a classe, ou seja, criado uma instancia da classe
para poder enviar aos atributos os seus respectivos valores.

Figura 13 Instncia de uma classe
Fonte: O AUTOR

Aps o usurio dar sua resposta ao grupo do tipo dos vinhos, o sistema
direciona para uma nova tela aonde uma nova pergunta realizada. A segunda
pergunta se refere ao odor do vinho. Nesta etapa so apresentadas ao usurio seis
opes, sendo que ele poder optar por apenas uma assim como apresenta a figura
14.
54


Figura 14 Segunda pergunta
Fonte : O AUTOR

Aps o usurio responder a segunda pergunta, o sistema d sequncia ao
restante das perguntas. So mais duas telas apresentadas ao usurio antes de ser
apresentado a resposta do SE. Nessas telas so apresentados os grupos que tratam
das caractersticas fsicas e do paladar do vinho.
Ao final apresentado ao usurio uma tela aonde exibido o resultado que o
SE chegou conforme os dados informados por ele. Assim como mostra a figura 15 a
tela de apresentao do resultado apenas informativa ao usurio sendo que este
tem a opo de reiniciar a sua consulta ao SE, ou encerrar o sistema.
55


Figura 15 Tela de resultados
FONTE: O AUTOR

A figura 15 mostra mais uma das vantagens da utilizao do Jess, onde
possvel at mesmo criar telas. Foi utilizado este recurso para mostrar o resultado
final do SE, e tambm testar essa vantagem.
2.7.3 Integrao entre a linguagem Java e o shell Jess
Para facilitar a utilizao do sistema por parte do usurio, foi desenvolvido
toda parte grfica na linguagem Java, e apenas enviando para a memria do Jess
as respostas das perguntas que o usurio apontou.
O shell Jess por ter sido desenvolvido em Java, possui amplas facilidade na
integrao entre essas duas ferramentas. Para intermediar o acesso entre estas
duas ferramentas, o Jess possui uma biblioteca chamada Rete. Esta biblioteca
possui mtodos que fazem o envio e recebimento dos dados entre a aplicao Java
e a memria do Jess. A figura 16 mostra a criao da instncia para a utilizao dos
mtodos da classe Rete.

Figura 16 Instncia do Rete
Fonte: O AUTOR

56

Ao criar a instncia, definido o nome da classe Rete que representado
pela letra r que o nome dado a instncia, e a partir deste momento atravs dela
que so invocados todos os mtodos pertencentes a ela.
Aps realizar a instncia, j possvel realizar a comunicao entre o shell
Jess e a linguagem Java, atravs o mtodos da classe.
Um dos comandos utilizados para a integrao, o mtodo r.eval(). Esse
mtodo o responsvel por enviar os comandos para a memria de trabalho do
Jess. A figura 17 demonstra a utilizao deste comando.

Figura 17 Comando eval.
FONTE: O AUTOR.

A figura 17 exemplifica o envio do comando memria de trabalho do Jess.
Utilizando o comando assert, so alimentados os fatos que na linguagem Java so
guardados os valores em memria utilizando a classe sintoma at o momento de
envio para a memria do Jess.
Aps enviar os fatos para o Jess, ele retornar o resultado para o software e
este ser apresentado para o usurio.




57

3 CONCLUSO
A informatizao e incluso da tecnologia nos mais diversos processos, alm
de automatizar e agilizar as tarefas pode ser uma ferramenta de auxilio nas tomadas
de decises. Principalmente na rea biotecnologia, o uso de softwares e sistemas
que auxiliem os profissionais escasso. Um SE para a rea da vitivinicultura um
grande auxlio, pois enlogos tero uma ferramenta prtica que dar suporte a
tomada de decises durante o seu trabalho.
Um SE na rea da biotecnologia a prova de que a tecnologia pode trazer
benefcios para este segmento, assim como a aplicao de conceitos de IA agrega
melhoramentos mensurveis durante o processo de trabalho de forma que ele
auxiliar na sua tomada de deciso.
Realizando o levantamento dos requisitos junto ao especialista e
caracterizando as causas das anomalias que podem ocorrem durante a fabricao
da bebida do vinho, foi possvel criar regras e inserir em uma base de conhecimento
assim formando um SE para esse segmento.
Ao analisar o shell de desenvolvimento Jess, foi possvel perceber que ele
possui vrios recursos disponveis para o desenvolvimento do SE. Entre as
principais vantagens da sua utilizao a sua detalhada documentao que
disponibilizada no site oficial da ferramenta, o que facilita no momento do
desenvolvimento atravs de consultas em eventuais dvidas. Outra grande
vantagem possuir integrao com a ferramenta de desenvolvimento eclipse, o qual
ajuda o desenvolvedor por possuir recursos, como identificar eventuais erros de
sintaxe, funo de auto completar comandos, alm de rodar aplicao do Jess
dentro do prprio ambiente de desenvolvimento.
Aps validar os resultados com o especialista, a pesquisa abordada neste
trabalho concluiu que o sistema especialista desenvolvido no alcanou o objetivo
de auxiliar o enlogo durante os seus trabalhos, por se tratar de conhecimentos
superficiais e por serem conhecimentos bsicos que para um profissional nesta rea
so requisitos mnimos para exercer tal ofcio.
58

Porem o sistema especialista pode ser utilizado por fabricantes de vinhos
artesanais e leigos que no possuem um grande domnio do conhecimento que um
enlogo possui no assunto, mas que queiram tirar suas dvidas, para utilizar apenas
como uma fonte, pois o objetivo de um SE no substituir o papel do especialista,
mas sim de auxiliar, pois somente ele tem conhecimento e capacidade de tomar a
deciso final.
Futuramente para dar continuidade a este trabalho, poder abranger mais
anomalias, a fim de aprofundar ainda mais a base de conhecimento, criar formas
mais interativas e explicativas durante a navegao das telas para informar ao
usurio, desenvolver um cadastro de regras para que o prprio especialista possa
criar regras e estas serem includas na memria do Jess alm de disponibilizar a
aplicao via web para que esteja disponvel para todos que queiram consultar e
que estejam conectados a rede mundial de computadores.









59

REFERNCIAS
AFONSO, Joo. Defeitos do vinho. Revista Adega, So Paulo, n. 14, 26 nov. 2006.
Disponvel em: <http://revistaadega.uol.com.br/artigo/defeitos-do-vinho_6468.html>.
Acesso em: 06 nov. 2013.

BEAL, Adriana. Gesto estratgica da informao: como transformar a informao
e a tecnologia da informao em fatores de crescimento e de alto desempenho nas
organizaes. So Paulo: Atlas, 2004.

BOGHI, Claudio; SHITSUKA, Ricardo. Sistemas de Informao: Um enfoque
dinmico. So Paulo: rica, 2002.

BUDKE, Gerson Fernando; MAYER, Daniel. Jess: The Rule Engine for the Java
Platform. Florianpolis: Ufsc, 2013. Disponvel em: <http://www.das.ufsc.br/~gb/pg-
ia/Jess08/Artigo_Jess_Daniel_Gerson.pdf>. Acesso em: 01 out. 2013.

COPPIN, Ben. Inteligncia Artificial. Rio de Janeiro: Gen, 2010.

DIAS NETO, Arilo Cludio. Bancos de Dados Relacionais: Uma viso geral sobre o
assunto. Sql Magazine, So Paulo, n. 86 , 04 abr. 2011. Disponvel em:
<http://www.devmedia.com.br/websys.5/webreader.asp?cat=2&artigo=3465&revista=
sqlmagazine_86#a-3465>. Acesso em: 03 nov. 2013.

FACELI, Katti et al. Inteligncia Artificial: Uma abordagem de aprendizado de
mquina. Rio de Janeiro: Gen, 2011.

FERNANDES, Anita Maria da Rocha. Inteligncia Artificial: noes gerais. So
Jos: Visual Books, 2003.

FERRER, Rafael. As 7 linguagens de programao mais populares de 2012. Info
Online, So Paulo, 18 dez. 2012. Disponvel em:
<http://info.abril.com.br/noticias/computacao-inteligente/as-7-linguagens-de-
programacao-mais-populares-de-2012.shtml>. Acesso em: 14 out. 2013.

FIALHO, Flvio Bello et al. UZUM: Sistema especialista para diagnstico de
doenas, pragas e distrbios fisiolgicos em videiras. Disponvel em:
<http://www.cnpuv.embrapa.br/tecnologias/uzum/>. Acesso em: 19 abr. 2013.

FRIEDMAN-HILL, Ernest. Jess The Rule Engine for the Java Platform: Version
7.1p2. Livermore: Sandia National Laboratories, 2008.

GIOVANANGELO, Felipe. Um pouco sobre Banco de Dados Hierrquico. So
Paulo: Profissionais Ti, 2011. Disponvel em:
<http://www.profissionaisti.com.br/2011/12/um-pouco-sobre-banco-de-dados-
hierarquico/>. Acesso em: 03 nov. 2013.

60

GUSTAFSON, David A.. Engenharia de Software. So Paulo: Bookman, 2003.
HUBBARD, John R.. Programao com java. 2. ed. Porto Alegre: Bookman, 2006.

LAUDON, Kenneth C.; LAUDON, Jane Price. Sistemas de Informao. 4. ed. Rio
de Janeiro: Ltc, 1999.

LAUDON, Kenneth C.; LAUDON, Jane Price. Sistemas de Informao
Gerenciais:Administrando a empresa digital. So Paulo: Pearson, 2004.

LEITE, Jair C.. O Modelo Espiral. Disponvel em:
<http://engenhariadesoftware.blogspot.com.br/2007/03/o-modelo-espiral.html>.
Acesso em: 22 set. 2013.

MATTOS, Antonio Carlos M.. Sistemas de Informao: Uma viso executiva. 2. ed.
So Paulo: Saraiva, 2010.

MELLO, Loiva Maria Ribeiro de. Vitivinicultura Brasileira: Panorama 2012. Bento
Gonalves: Embrapa, 2013. Disponvel em:
<http://www.uvibra.com.br/pdf/Panorama%202012%20-
%20Vitivinicultura%20Brasileira.pdf>. Acesso em: 21 out. 2013.

O'BRIEN, James A.. Sistemas de Informao e as decises gerenciais na era da
internet. So Paulo: Saraiva, 2004.

OLHAR DIGITAL. Veja o rob cirurgio do SUS em ao. 2014. Disponvel em:
<http://olhardigital.uol.com.br/video/veja-o-robo-cirurgiao-do-sus-em-acao/41109>.
Acesso em: 29 mar. 2014.

PAULA FILHO, Wilson de Pdua. Engenharia de Software: Fundamentos, Mtodos
e Padres. 3. ed. Rio de Janeiro: Gen, 2009.

PFLEEGER, Shari Lawrence. Engenharia de Software: Teoria e Pratica. 2. ed. So
Paulo: Pearson, 2004.

PIO, Francesca Volcan; CANCIAN, Maiara Heil; FRANA, Ricardo
Bedin. JESS: The Rule Engine for the JavaTM Platform. Florianpolis: Ufsc, 2013.
Disponvel em: <http://www.das.ufsc.br/~gb/pg-ia/Jess07/das6607-francesca-maiara-
ricardo.pdf>. Acesso em: 05 out. 2013.

PROTAS, Jos Fernando da Silva; CAMARGO, Umberto Almeida. Vitivinicultura
Brasileira: Panorama Setorial em 2010. Bento Gonalves: Ibravin : Embrapa Uva e
Vinho, 2011.

REZENDE, Denis Alcides. Engenharia de Software e sistemas de Informao. 3.
ed. Rio de Janeiro: Brasport, 2005.

REZENDE, Solange Oliveira. Sistemas Inteligntes: Fundamentos e aplicaes.
Barueri: Manole, 2003.

61

SANTANA, Rafael Cardoso. Sistema Especialista Sobre o Ttulo I do Cdigo
Penal Brasileiro. 2007. 43 f. TCC (Graduao) - Curso de Cincia da Computao,
Universidade Federal da Bahia, Salvador, 2007.

SILVA, Renato Afonso Cota. Inteligncia Artificial Aplicada a Ambientes de
Engenharia de Software: Uma Viso Geral. 2005. Disponvel em:
<http://www.dcc.ufla.br/infocomp/artigos/v4.4/art04.pdf>. Acesso em: 16 mar. 2013.

SIQUEIRA, Marcelo Costa. Gesto estratgica da informao. Rio de Janeiro:
Brasport, 2005.

TONSIG, Srgio Luiz. Engenharia de Software: Anlise e projeto de Sistemas. So
Paulo: Futura, 2003.

Das könnte Ihnen auch gefallen