SlideShare ist ein Scribd-Unternehmen logo
1 von 44
FACULDADE EXPONENCIAL – FIE

          Curso de Pós-Graduação (Latu Sensu) em Gestão

             Estratégica em Tecnologia da Informação




SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITE




               CHAPECÓ (SC), 2008.
2



     LARA POPOV ZAMBIASI BAZZI OBERDERFER




SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITE



                     Monografia    apresentada    à    Faculdade

                     Exponencial – FIE, no Curso de Pós-

                     Graduação     em   Gestão   Estratégica   em

                     Tecnologia da Informação sob orientação do

                     Msc. Saulo Popov Zambiasi com o requisito

                     parcial a obtenção do título de especialista

                     em Gestão Estratégica em Tecnologia da

                     Informação.




        CHAPECÓ, SC, NOVEMBRO DE 2008.
3




              A Deus, que me deu segurança para subir mais um degrau na vida.

              A minha família, principalmente meu esposo pela sua contribuição,

                            compreensão e suporte nas horas que mais precisei.

        Ao Professor Saulo Popov Zambiasi que ao longo da minha caminhada

sempre me serviu de referência, obrigada pela orientação, dedicação e confiança.
4




         “O degrau da escada não foi inventado para repouso,

mas para sustentar o pé o tempo necessário para que o homem

                     coloque o outro pé, um pouco mais alto”.

                                        (Autor desconhecido)
5




Resumo



      O processo de automatização de tarefas rotineiras tem aumentado o

rendimento das tarefas dos funcionários em diversos setores das organizações.

Seguindo nesse sentido este trabalho apresenta uma modelagem e um protótipo de

um sistema de geração automática de orçamentos para web site. Porém, técnicas

de Inteligência Artificial, mais especificamente Sistemas Especialistas, agregadas a

técnicas de Planejamento de Projetos são utilizadas para uma maximização dos

resultados e orçamentos gerados pelo sistema.



Palavras-chave

      Sistema especialista, orçamento de web site, planejamento de projeto.
6




Abstract



      The process of automatization of routine tasks has increased the income of

the tasks of the employees in diverse sectors of the organizations. Following in this

direction this work it presents a modeling and an archetype of a system of automatic

generation of budgets for web site. However, techniques of Artificial Intelligence,

more specifically Expert Systems, added the techniques of Planning of Projects are

used for a maximização of the results and budgets generated for the system.



Keywords

      Expert Systems, budgets for web site, planning of project.
7




LISTA DE FIGURAS

Figura 3.1: Resolução de problemas por SE.............................................................24

Figura 3.2: Ciclo de Desenvolvimento Exploratório...................................................27

Figura 4.1: Diagrama de Casos de Uso ....................................................................31

Figura 4.2: Diagrama de Classes ..............................................................................32

Figura 4.3: Diagrama de Seqüência..........................................................................33

Figura 4.4: Tela do Expert SINTA .............................................................................34

Figura 4.5: Cadastro de variáveis..............................................................................35

Figura 4.6: Variáveis objetivo ....................................................................................36

Figura 4.7: Inclusão de regra.....................................................................................37

Figura 4.8: Personalizando as perguntas..................................................................38

Figura 4.9: Tela de informações do sistema..............................................................39
8




ÍNDICE

LISTA DE FIGURAS ...................................................................................................7

ÍNDICE ........................................................................................................................8

1     INTRODUÇÃO....................................................................................................10

    1.1      Objetivos .....................................................................................................11

      1.1.1         Objetivo Geral ......................................................................................11

      1.1.2         Objetivos Específicos...........................................................................11

    1.2      Justificativa .................................................................................................11

    1.3      Metodologia ................................................................................................12

    1.4      Estrutura do Trabalho .................................................................................12

2     PLANEJAMENTO DE ORÇAMENTO PARA WEB SITE ....................................14

    2.1      Planejamento de Projeto.............................................................................15

      2.1.1         Definição do Escopo ............................................................................15

      2.1.2         Alocação dos Recursos .......................................................................17

      2.1.3         Estimativa de Custo e Esforço .............................................................18

      2.1.4         Estimativa de Prazo .............................................................................21

3     SISTEMAS ESPECIALISTAS.............................................................................22

    3.1      Arquitetura dos Sistemas Especialistas baseados em Regras ...................23

    3.2      Processo de Engenharia de um Sistema Especialista ................................27

4     SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITES ....................30

    4.1      Apresentação da Especificação..................................................................30

    4.2      Desenvolvimento do Protótipo ....................................................................34

5     CONSIDERAÇÕES FINAIS................................................................................40

    5.1      Sugestões para Trabalhos Futuros .............................................................40

6     BIBLIOGRAFIA...................................................................................................42
9
10




1 INTRODUÇÃO

      Com a necessidade do aumento da produtividade dos diversos setores

organizacionais, as empresas têm tido que automatizar suas tarefas rotineiras de

forma a aumentar o rendimento dos seus funcionários e, conseqüentemente,

aumentar seu próprio rendimento como um todo e o lucro (Gomes, 2003).

      Neste contexto, a tarefa de fazer o orçamento de sistemas também poderia

ser considerada uma tarefa a ser automatizada. No caso específico deste trabalho,

um sistema para geração automática de orçamentos para web sites.

      Porém, a tarefa da criação de um orçamento não é tão simples e necessita da

assistência de uma pessoa que tenha certo conhecimento nos assuntos envolvidos

e alguma prática do processo necessário, ou seja, um especialista. Dessa forma,

para que haja um melhor resultado da saída do sistema, o sistema pode necessitar

de implementações de técnicas de Inteligência Artificial tal como Sistemas

Especialistas. Este por sua vez se caracteriza por possuir uma base de

conhecimentos que é utilizada para a solução de um problema, o que nos resulta em

um alto nível de experiência (Zuchi, 2000).

    Para a realização de um projeto de sistemas precisamos de um planejamento.

Pressman (2002) menciona que o planejamento envolve estimativas que visam

determinar o quanto dinheiro, esforço, recursos e tempo serão necessários para o

desenvolvimento do sistema em questão.

      Dessa forma, este trabalho visa pesquisar técnicas de Inteligência Artificial,

mais especificamente teoria e prática para o desenvolvimento de Sistemas

Especialistas, para auxiliar funcionários com a tarefa de geração de orçamentos

para o caso específico de web sites.
11



1.1 Objetivos

      Tendo como base a contextualização da automatização de processos

aplicada à tarefa de criação de orçamentos para web sites, o presente trabalho

procura alcançar o objetivo descrito em seqüência.


1.1.1 Objetivo Geral

      O presente trabalho objetiva modelar e desenvolver um protótipo de sistema

para geração automática de orçamentos para web sites utilizando técnicas de

Sistemas Especialistas e Planejamento de Projetos.


1.1.2 Objetivos Específicos

      De forma a alcançar o objetivo geral, são necessários os seguintes objetivos

específicos:

      •   Obter   referências   bibliográficas   sobre   Planejamento   de   Projetos,

          Orçamentos de Software e Sistemas Especialistas;

      •   Prover um modelo para a criação de um sistema, em conformidade com a

          proposta deste trabalho.

      •   Prover um protótipo para testes e avaliação.


1.2 Justificativa

     O processo de automatização de diversos setores das organizações as tem

auxiliado a alavancar uma maior competitividade tanto no que diz ao mercado

nacional quanto ao mercado internacional (Gomes, 2003).

     As empresas que trabalham no setor de desenvolvimento de páginas para web

têm aumentado bastante nos últimos anos. Gonçalves et all (2005), nos mostra uma

pesquisa realizada em 2001, onde cerca de 430 empresas de software foram
12



pesquisadas pelo Ministério de Ciência e Tecnologia do Governo Federal no Brasil.

Foi constatado que 133 (31,6%) desenvolvem páginas para web, 123 (28,4%)

desenvolvem aplicações E-business e 111, ou seja, 25,6% desenvolvem aplicações

para comércio eletrônico

     Desta forma, as empresas deste setor também tem tido que se aperfeiçoar em

seus processos e tarefas para poderem continuar competitivas e lucrativas. Isso por

si só, justifica o processo de automatização de determinadas tarefas a nível de

operações executadas pelos funcionários dessas empresas. Dessa forma, os

mesmos terão mais tempo para tarefas que realmente necessite sua atenção e

tempo, como no planejamento dos novos projetos, gerenciamento dos projetos

atuais, desenvolvimento e tempo para fechar novos negócios.


1.3 Metodologia

     Para alcançar os objetivos deste trabalho, os seguintes procedimentos se

tornam necessários:

      •   Pesquisa em livros e artigos científicos;

      •   Modelagem do protótipo utilizando técnicas de UML e Entidade-

          Relacionamento;

      •   Desenvolvimento de um protótipo utilizando a ferramenta Expert SINTA;

      •   Testes para validação do protótipo.


1.4 Estrutura do Trabalho

   O presente trabalho está organizado da seguinte forma: no capítulo 1 são

abordadas as principais questões referentes ao trabalho como sua origem,

problemática, justificativa, os objetivos e a importância de seu desenvolvimento. O

capítulo 2 contempla uma revisão bibliográfica na área de planejamento de
13



orçamento para website e projetos em geral, no que se refere a sua conceituação e

estrutura. O capítulo 3 faz uma revisão bibliográfica sobre sistemas especialistas

com base nos fundamentos, arquitetura e processo de engenharia para o

desenvolvimento do protótipo. O capítulo 4 relata os aspectos da estrutura e

principais características do protótipo de sistema especialista desenvolvido, assim

como, da ferramenta utilizada para o desenvolvimento do mesmo. E por fim, o

capítulo 5 apresenta as considerações finais do trabalho, suas limitações e

recomendações para trabalhos futuros.
14




2     PLANEJAMENTO DE ORÇAMENTO PARA WEB SITE

      Neste capítulo é realizada uma revisão bibliográfica sobre o processo

planejamento de projetos voltado para orçamento de web site. Inicialmente

verificam-se conceitos de orçamento e planejamento de projeto. Em seguida dá-se

uma revisão geral sobre as fases dos processos de planejamento.

      Segundo Santini (2004, p. 28) citando Tavares (2000, p. 23) “o planejamento

deu seus primeiros passos na metade do séc. XX, nos EUA, quando o planejamento

financeiro, representado pelo orçamento, começou a chamar a atenção dos

empresários da época”.

      Santini (2004, p. 28) ainda explica que:

                   O planejamento financeiro é um instrumento que permite sistematizar
                   o processo decisório das empresas, permitindo que seus dirigentes
                   possam projetar o futuro da empresa e antecipar suas decisões pela
                   escolha de alternativas. Este processo de decisão implica optar por
                   uma alternativa de ação em detrimento de outras disponíveis, em
                   função de preferência, disponibilidades, grau de aceitação de risco,
                   etc. O orçamento se enquadra neste processo fazendo parte do
                   processo decisório formal que projeta seus lucros e ações para
                   enfrentar a concorrência.
      O orçamento em si é um instrumento que pode ser encarado com um plano

de ação detalhado para alcançar os objetivos de um projeto em uma empresa de

prestação de serviços. Pressman (2002) acrescenta que o planejamento, no caso de

um orçamento, envolve estimativas que visam determinar o quanto dinheiro, esforço,

recursos e tempo serão necessários para o desenvolvimento do sistema em

questão.
15



2.1 Planejamento de Projeto

     O planejamento possui algumas fases, tais como: definição do escopo,

recursos, estimativa de custo e prazo do projeto/orçamento.


2.1.1 Definição do Escopo

         Em um planejamento de projeto, Pressman (2002) afirma que a primeira

etapa é a definição do escopo e que esse escopo deve ser claramente delimitado.

Nesta fase, são definidos os dados e o controle a serem processados, a função, o

desempenho, as restrições, a interface e a confiabilidade. Graham (2001) salienta

que antes mesmo de começar qualquer projeto faz-se necessário saber a finalidade

real do projeto, pois um web site em si é somente a ferramenta para o objetivo do

projeto, seja ele comercial ou voltado para a divulgação, por isso a importância desta

etapa.

         Para a coleta das informações pertinentes ao escopo, Pressman (2002)

salienta que a técnica utilizada em geral é uma reunião preliminar ou uma entrevista.

Nesta entrevista, existem algumas “questões de contexto livre” que devem ser

respondidas. Segundo Pressman (2002), estas questões foram sugeridas por Gause

e Weinber em 1989. Neste, o primeiro conjunto de questões focaliza o cliente, o

segundo conjunto permite ao analista entender melhor as aspirações do cliente e um

conjunto final que devem focar a efetividade da reunião realizada.

         O conjunto dessas informações trás a definição do escopo. Nesta fase, o

analista    ainda   precisa   avaliar   a   viabilidade   do   projeto   quanto   ao   seu

desenvolvimento, pois se esse escopo não for viável, o projeto para por aí.

         Tendo esse escopo definido em mãos, o analista pode enquadrá-lo em uma

das categorias abaixo, definindo em si o tipo de web site a ser proposto no

orçamento (Pressman, 2002):
16



•   Informacional: essa categoria é caracterizada por conteúdos somente de

    leitura (jornais, manuais, catálogo de produtos, livros on-line, dentre

    outros).

•   Download: o usuário baixa informações de um servidor adequado

    (baixaki, twocows, lycos, downloads.com, dentre outros).

•   Adaptável: o usuário adapta o conteúdo as necessidades específicas,

    estes são voltados à característica de usabilidade em um web site

    (aumentar a letra, trocar cores, portadores de necessidades especiais,

    dentre outros).

•   Interação: o usuário interage com o próprio o web site, com atendentes

    on-line, com outras pessoas através de formulários, jogos on-line, sala de

    atendimento, sala de bate-papo, dentre outros.

•   Entrada do usuário: o usuário entra com dados por meio de formulários

    (solicitação de serviço, contato, dentre outros).

•   Orientada a transação: o usuário faz uma solicitação que seja atendida

    pelo web site (envio de um pedido).

•   Orientada a serviços: o website fornece um serviço ao usuário (reserva

    de um livro em um site de biblioteca).

•   Portal: o web site fornece ao usuário links fora do domínio da aplicação

    (UOL, Terra, Brturbo, dentre outros).

•   De acesso a base de dados: o usuário consulta uma grande base de

    dados para extração de informações ().

•   Workflow: o usuário tem acesso a sistemas onde ele pode gerenciar,

    planejar   e      acompanhar    informações     on-line   (Google   Agenda,

    eGroupWare, dentre outros).
17



2.1.2 Alocação dos Recursos

      A próxima tarefa é estimar os recursos necessários para o desenvolvimento

do projeto. Segundo Pressman (2002) isso inclui:

      •     a quantidade e especialidade dos recursos humanos que terão que ser

            envolvidos no desenvolvimento deste projeto;

      •     os recursos de software reusáveis, que devem ser catalogados para

            facilitar a aplicação e valorização dos mesmos, por mais que já tenham

            sido desenvolvidos, não significa que não serão cobrados, porém, isso

            dará uma redução do prazo de conclusão do desenvolvimento;

      •     os recursos de ambiente, que são hardware e software, onde o hardware

            fornece a plataforma que apóia as ferramentas de softwares necessárias

            para o desenvolvimento do projeto.

      No primeiro caso, o gerenciamento de recursos humanos de um projeto tem

como principal objetivo definir as atividades e perfis necessários, a necessidade de

capacitação, além da disponibilização dos indivíduos envolvidos no projeto para a

realização de cada atividade (PMBOK, 2000).

      No segundo caso, a engenharia de software baseada em componentes

enfatiza o reuso, para isso Pressman (2002) sugere algumas categorias de reuso de

software:

      •     Componentes de prateleira: são softwares existentes que podem ser de

            terceiros ou mesmo que tenha sido desenvolvido para uma aplicação

            anterior, mas que estejam prontos e validados. Se, neste caso, estes

            satisfazem os requisitos do projeto, então o custo da aplicação poderá ser

            mais baixo e o tempo de desenvolvimento será mais curto.
18



      •   Componentes de experiência-plena: são as especificações, projeto ou

          códigos existentes que já estão desenvolvidos e que são similares ao

          projeto em questão, onde os membros da equipe têm plena experiência na

          área em questão, onde a única necessidade são as modificações dos

          componentes pré-existentes. Se, neste caso, estes satisfazem os

          requisitos do projeto, então os riscos para o projeto são aceitáveis.

      •   Componentes de experiência-parcial: semelhante ao anterior, porém os

          membros da equipe possuem experiência limitada, onde pode oferecer um

          risco considerável para o projeto. Se, neste caso, estes satisfazem os

          requisitos do projeto, então faz-se necessário o investimento de

          conhecimento para a capacitação dos membros para diminuir os riscos do

          projeto.

      •   Componentes novos: nesta categoria os componentes do sistema

          precisam ser desenvolvidos especificamente desde o início para o projeto

          em questão.

      No terceiro caso, o gerenciamento de recursos de hardware e software

objetiva visualizar: o que, quanto, quando e como serão obtidas as ferramentas que

serão necessárias para o desenvolvimento do projeto. Também pensando na

possível necessidade de aquisição de software ou hardware (PMBOK, 2000).


2.1.3 Estimativa de Custo e Esforço

      De acordo com Pressman (2002) o software é o componente potencialmente

mais caro de todos os sistemas desenvolvidos para computador, para sistemas mais

complexos, personalizados, um erro na estimativa pode trazer um grande lucro ou

prejuízo. Para que isso não ocorra, a idéia é decompor o problema em problemas
19



menores, mas antes que isso seja feito, é necessário gerar uma estimativa da

dimensão que o software vai ter.

      Na realidade, pode-se dizer que estimar custo e esforço nunca será uma

ciência exata, pois existem muitas variáveis que podem afetar esses dois pontos do

projeto. No entanto, essa tarefa pode ser transformada em uma série de tarefas que

fornecerão estimativas com um risco aceitável. Pressman (2002) ainda nos trás

algumas opções para conseguir esse objetivo:

      •   adiar a estimativa até que o projeto esteja mais adiantado, essa opção

          não é muito prática pois estimativas de custo precisam ser fornecidas logo;

      •   basear-se em estimativas de projetos anteriores semelhantes, essa opção

          só é interessante se o projeto é extremamente semelhante a um projeto já

          existente até porque existem muitas variáveis para serem consideradas

          em um novo projeto;

      •   utilizar-se de técnicas de decomposição simples, essas técnicas utilizam a

          filosofia “dividir para conquistar”, nesse caso, a estimativa de custo e

          esforço passa a ser realizada passo a passo dando uma visão de risco

          mais seguro para o analista;

      •   utilizar um ou mais modelos para estimar custo e esforço, essa opção

          com a anterior fornece ao analista uma estimativa onde uma opção

          complementa a outra.

      No caso de orçamentos para web sites, pode-se dizer que o método que mais

se enquadra é a utilização de técnicas de decomposição simples, pois fornecem um

grau de maior confiabilidade para a estimativa de custo e esforço em um projeto.

      Isso também levando em consideração que em projetos web a evolução da

tecnologia e as novas necessidades que surgem a cada dia não permitem um
20



comparativo seguro do já se foi desenvolvido até o momento, bem como o mercado

de trabalho atual não visualiza com bons olhos a inicialização de um projeto sem

uma estimativa plausível de custos.

      Pressman (2002) ainda relata que antes de estimarmos custo precisamos ter

uma noção do tamanho da aplicação, esse dimensionamento, na realidade,

representa o primeiro grande desafio do planejador do projeto.

      Putnam e Myers (1992) citados em Pressman (2002) sugerem quatro tipos de

abordagens para o problema do dimensionamento:

      •   Dimensionamento de “lógica nebulosa”: a idéia da “lógica nebulosa” é

          utilizar-se de técnicas de raciocínio aproximado, onde o planejador deve

          identificar o tipo de aplicação, estabelecer sua grandeza numa escala

          quantitativa   e   depois    filtrá-la   dentro do   intervalo   original.   Outra

          preocupação que se deve manter nesse tipo de abordagem é uma base

          de dados armazenando os históricos dos projetos anteriores para poder

          comparar com a experiência real.

      •   Dimensionamento de pontos de função: como a funcionalidade não

          pode ser medida diretamente a idéia é desenvolver estimativas das

          peculiaridades do domínio da informação. São originados usando uma

          relação empírica baseada em medidas de contagem do domínio, por

          exemplo, quantidade de entradas do usuário, quantidade de saídas do

          usuário, número de consultas, quantidade de arquivos, quantidade de

          interfaces, dentre outros.

      •   Dimensionamento de componentes padrão: em geral, todo o software

          ou web site é composto por vários “componentes padrão”, que são
21



           genéricos a todas as aplicações, por exemplo, subsistemas, módulos,

           telas, relatórios, linhas de código, arquivos, dentre outros.

       •    Dimensionamento de modificação: esta abordagem é utilizada quando

           há o reuso de algum software ou web site existente, o analista estima a

           quantidade das modificações que serão realizadas para a dimensão poder

           ser estimada.

       Para se ter uma noção plausível da dimensão de um web site, tanto o

dimensionamento de pontos de função, como o dimensionamento de componentes

padrão e o dimensionamento de modificações estariam adequados para este fim.

Porém, como o objetivo final deste estudo é a realização de um sistema especialista

que possa mensurar essa estimativa, a prática que fornece maiores subsídios a esta

atividade é o dimensionamento de componentes padrão. Onde pode-se integrar

formalmente várias tarefas a serem compostas pelo projeto de forma esquematizada

e pouco nebulosas.


2.1.4 Estimativa de Prazo

       Nesta fase, Pressman (2002) traz um conceito sobre a cronogramação de

projeto de software:

                       [...] é uma atividade que distribui o esforço estimado pela duração
                       planejada do projeto, partilhando esse esforço por tarefas específicas
                       de engenharia de software.
       Tendo isso em vista, o analista precisa definir as tarefas macro do projeto e

para cada tarefa macro atribuir tarefas menores, refinando o cronograma em um

mais detalhado. Em cada uma destas tarefas devem-se então definir o tempo para a

realização de cada atividade. Isso é adquirido com o tempo, durante projetos

anteriores. O conjunto de tudo isso fornece o prazo para a finalização do projeto ao

cliente final.
22



3 SISTEMAS ESPECIALISTAS

      Neste capítulo é fornecida uma revisão bibliográfica sobre sistemas

especialistas. Inicialmente encontram-se conceitos e formas de identificar o uso de

sistemas especialistas. Em seguida é apresentada a arquitetura dos sistemas

especialistas baseados em regras e o processo de desenvolvimento de um sistema

especialista.

      Um sistema baseado em conhecimento, sistema inteligente ou simplesmente

sistema especialista (SE) pode ser definido de várias formas. Py citando Flores

(2003) define um SE como sendo uma maneira de simular a especialização humana

de alguma área específica, capaz de oferecer sugestões e conselhos aos usuários e

também aprender com a interação. Abel (1998) citando Bey (1991) acrescenta um

SE é um sistema de computador que opera aplicando um mecanismo de inferência a

um “corpo” de conhecimento ou perícia de especialista representado em algum

formalismo de representação de conhecimento.

      Py citando Barr e Feigenbaum (1981) afirma que o objetivo de um SE,

considerando o objetivo dos modelos psicológicos concebidos a partir do

comportamento humano de um especialista, é bastante restrito. Mendes (1997)

acrescenta que estes sistemas baseados em conhecimento são bastante restritos,

pois são desenvolvidos a partir regras que reproduzem um conhecimento específico,

são construídos para resolver determinados problemas em domínios específicos e

que nem todos os problemas necessitam ser resolvidos com sistemas especialistas.

      Mendes (1997) apresenta então algumas condições para identificar o uso de

sistemas especialistas, tais como: um responsável com os conhecimentos

específicos em questão; planejamento de regras que necessitem de vários

especialistas, que sozinhos, não possuem total conhecimento para realizá-la, sendo
23



assim a solução do problema multidisciplinar; planejamento de regras detalhadas

sobre conhecimentos específicos que se forem esquecidas pode provocar um

grande problema no desempenho; planejamento de regras as diferenças entre o

desempenho dos melhores e piores especialistas; e que haja insuficiência de mão

de obra especializada sobre o conhecimento em questão para a solução do

problema.

      Segundo Zuchi (2000) a característica mais importante dos SE é o alto nível

de experiência que é utilizando para a solução de um problema, pois essa

experiência foi resgatada e armazenada na base de conhecimento de um SE. Para

representar então o conhecimento humano devemos armazenar não só informações

como também uma série de regras que um especialista utilizaria para resolver o

problema.

      Para Feigenbaum e Engelmore (1993) a construção de um sistema

especialista é conhecida também como engenharia do conhecimento. A engenharia

do conhecimento precisa ter certeza que o computador tem todas as informações

que precisa para resolver o problema. Precisa ainda escolher uma ou mais formas

de representar o conhecimento com padrões de símbolos na memória do

computador, isso é chamado de representação do conhecimento. A engenharia

ainda precisa assegurar que o computador irá utilizar eficientemente o conhecimento

selecionando através de vários métodos de raciocínio.


3.1 Arquitetura dos Sistemas Especialistas baseados em Regras

      Baseando-se em Feigenbaum e Engelmore (1993) todo SE consiste de duas

partes principais: a base de conhecimento; e a máquina de inferência.

      A base de conhecimento de um SE consiste de conhecimento de fato

(Memória de Trabalho) e conhecimento heurístico (Base de Conhecimento). O
24



conhecimento de fato é o conhecimento de um domínio específico que é

compartilhado e tipicamente encontrado em livros, jornais e conhecimento comum

sobre o domínio em particular, conforme Figura 3.1.

       A base de conhecimento de um especialista é adquirida na escola, de amigos

e por anos de experiência. Presumimos então que quanto mais experiência ele tiver,

mais vasto será o seu conhecimento. Esse conhecimento o permite interpretar

informações em sua base de conhecimento pessoal para diagnosticar, projetar e

analisar.




                      Figura 3.1: Resolução de problemas por SE

                     Fonte: Zuchi(2000) citando Durkin (1994)

       O conhecimento heurístico é menos rigoroso, mais experimental. Ao contrário

do outro, o heurístico é raramente discutido, e largamente individualizado. É o

conhecimento da boa prática, do bom julgamento, e a razão mais plausível no

domínio. É o conhecimento, em outras palavras, da “arte da boa adivinhação”.

       A Representação do conhecimento formaliza e organiza o conhecimento.

Uma representação que é amplamente utilizada é a regra de produção, ou

simplesmente regra. Uma regra consiste em partes de “Se” e partes “Então”,
25



também chamadas de condição e ação. As partes condicionais listam uma série de

condições de forma lógica. A peça da representação do conhecimento pela regra de

produção é relevante para a linha de raciocínio que está sendo desenvolvida para

que as regras de condição sejam satisfeitas; conseqüentemente, as regras de ação

podem ser concluídas. Esses sistemas especialistas cujo conhecimento é

representado através de regras são chamados de conhecimento baseado em regras

(rule-based systems).

      Outra maneira de representação utilizada é chamada de Unidade (unit),

também conhecida como frame, esquema (schema) ou estrutura de lista (list

structure). Este é embasado sobre um conhecimento mais passivo. A unidade é um

tipo de conhecimento simbólico associado a uma entidade a ser representada.

Tipicamente, uma unidade consiste de uma lista de propriedades de uma entidade a

valores associadas para essas propriedades.

      Desde que cada tarefa de domínio consiste de várias entidades que

permanecem entre relações, a propriedade pode também ser utilizada para relações

específicas. Uma unidade pode representar um conhecimento como um “caso

especial” de outra unidade, ou algumas unidades podem também serem “partes de”

outra unidade.

      A Máquina de Inferência organiza e controla os passos para o problema ser

resolvido. Um comum, mas poderoso paradigma envolve uma série de Se-Então

encadeados para formar uma linha de raciocínio. Se a cadeia for aberta, isto é, que

inicia com uma evidência e move-se para a conclusão é chamada de encadeamento

para frente (forward chaining). Se a conclusão é conhecida, mas o caminho para

aquela conclusão não for, fazendo com que procure uma evidência que comprove é

chamada então de encadeamento para trás (backward chaining).
26



      Py (2000) acrescenta que uma vez definido o tipo de encadeamento, o motor

de inferência necessita de uma estratégia de busca para guiar a pesquisa na

memória de trabalho e da base de conhecimento. No término do processo de busca,

o motor de inferência possui um conjunto de regras que satisfazem a situação atual

do problema (conjunto de conflito). Se esse conjunto for vazio, a execução é

terminada, caso contrário, é necessário escolher e ordenar as regras a serem

executadas.

      Py (2000) traz os métodos para resolução de conflito mais utilizados são:

      •   Prioridades atribuídas estatisticamente;

      •   Características da estrutura das regras como complexidade, simplicidade

          e especificidade;

      •   Características dos dados associados às regras como o tempo decorrido

          desde a sua obtenção, sua confiabilidade ou seu grau de importância e

      •   Seleção de acaso.

      Um SE consiste primeiramente de uma base de conhecimentos e uma

máquina de inferência, duas questões são relevantes: razão com incerteza, e

explanação da linha do raciocínio.

      Luger (2004) salienta a importância de manter essa separação entre a base

de conhecimento e o motor de inferência: as regras se... então são mais próximas

da linguagem natural de como as pessoas descrevem suas habilidades para

resolver problemas; a base de conhecimento estando separada das outras

estruturas, os construtores de SE podem se concentrar em organizar uma solução

para o problema no lugar de ficar pensando no desenvolvimento do código do

sistema; essa separação permite que sejam feitas modificações em parte do sistema
27



sem influenciar as outras partes; e que o mesmo software de controle e interface

possam ser utilizados em vários outros sistemas.


3.2 Processo de Engenharia de um Sistema Especialista

      Segundo Luger (2004), há três principais indivíduos responsáveis pelo

desenvolvimento de um SE: o engenheiro do conhecimento, o especialista no

domínio e o usuário final.




                    Figura 3.2: Ciclo de Desenvolvimento Exploratório

                             Fonte: Luger (2004) pg. 246

     O engenheiro do conhecimento (EC):

      •   Especialista em linguagem de IA e em representação;

      •   Seleciona as ferramentas de software e hardware;
28



      •   Auxilia o especialista para articular o conhecimento de forma correta;

      •   Implementa esse conhecimento na base de conhecimento.

     O especialista no domínio (ED):

      •   Fornece    o    conhecimento     sobre   o   problema   ao   engenheiro   do

          conhecimento;

      •   Tem experiência e domínio da área do domínio em questão.

     O usuário final (UF):

      •   Determina as restrições do projeto;

      •   Testa e avalia o sistema.

      Tendo em vista que toda construção de um SE requer um ciclo de

desenvolvimento baseado em prototipação e em revisão incremental de código o

processo desse ciclo. Abel (1998) explica cada um dos itens definidos por Luger

(2004) conforme figura 3.2.

   1. Início: o processo se inicia na fase de aquisição de conhecimento entre o EC

      e o ED.

   2. Definir problemas e metas: nessa fase é estabelecido o domínio da

      aplicação e também critérios para a construção e expansão da base de

      conhecimento, tais como:

      2.1. Perfil do usuário do sistema;

      2.2. Qual o tipo de problema que o sistema irá resolver;

      2.3. Quais as entradas do sistema;

      2.4. Quais as saídas esperadas;

      2.5. Quais os objetos envolvidos na estrutura;

      2.6. Quais os valores e atributos dos objetos;

      2.7. Quais as regras necessárias para a solução do problema;
29



3. Projetar e construir o Protótipo: nessa fase o problema deve ter sido

   completamente especificado e sua solução deve ser clara, a representação

   do conhecimento poderá ser feita diretamente em uma ferramenta Shell pré-

   existente. É nessa fase também que:

   3.1. A primeira prototipação do sistema é realizada;

   3.2. A lógica de solução do sistema é validada procurando-se as falhas de

       raciocínio;

   3.3. A forma em que a interface visual vai ser projetada sempre levando em

       conta o perfil do usuário final do sistema.

4. Testar/usar o sistema: a partir do protótipo implementado o especialista

   pode testar o produto final.

5. Analisar/corrigir deficiências: a fase anterior dará subsídios ao EC e ao ED

   para analisarem e corrigirem possíveis deficiências no sistema, a partir daí, se

   necessário incluem-se o conhecimento heurístico, atalhos de soluções dos

   métodos de incerteza do sistema.

6. Avaliação Final: finalmente, o sistema deve ser colocado para um grupo de

   testes verificarem o desempenho e possíveis erros da base de conhecimento.

   Nessa fase 85 a 90% dos problemas são resolvidos com sucesso.
30




4 SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB

      SITES

        Para o desenvolvimento e implementação do protótipo, a aquisição do

conhecimento foi fornecida pelos especialistas da empresa Bazzi Informática Ltda,

localizada em Chapecó.

       Os capítulos 2 e 3 deste trabalho, sugerem a realização de alguns passos para

o desenvolvimento do sistema especialista, a apresentação da especificação, na

sessão 4.1, relaciona esses capítulos.


4.1 Apresentação da Especificação

       Um dos objetivos do trabalho é a modelagem de um protótipo para gerar um

orçamento de web site utilizando sistemas especialistas.

       Para auxiliar a fase de definição de escopo visto no capítulo 2 e a fase de

definição de problemas e metas no capítulo 3 é utilizada uma ferramenta CASE para

auxiliar na automação da análise, projeto e geração do protótipo.

        A ferramenta CASE utilizada é a StarUML1, pois esta é uma ferramenta de

modelagem visual para projetar e criar aplicações de software utilizando os padrões

da Linguagem Unificada de Modelagem (UML – Unified Modeling Language). Esta

ferramenta fornece nove diagramas para a modelagem de um software. Contudo,

neste trabalho, são utilizados apenas três deles: o diagrama de casos de uso,

diagrama de classes e o diagrama de seqüência.




1
    StarUML (The Open Source UML/MDA Platform) é uma ferramenta de código aberto para a

plataforma UML/MDA, pode ser acessado em: http://staruml.sourceforge.net/en/
31



      O diagrama de caso de uso é uma técnica utilizada para descrever de modo

visual os requisitos funcionais de um sistema através de atores (Bezzerra, 2002).

      Na figura 4.1 é apresentada a especificação formal do sistema, onde estão

definidos os atores e suas principais tarefas. Nesta aplicação o Especialista em

Orçamento é o responsável pelo cadastro e pela emissão dos resultados.




                         Figura 4.1: Diagrama de Casos de Uso

      Neste caso, o caso de uso é:



1. O Especialista cadastra as regras na base de conhecimento.

2. O Sistema monta a base de conhecimento.

3. O Especialista realiza testes no sistema respondendo as questões.

4. O Sistema fornece um resultado.




      O diagrama de classes, Figura 4.2, apresenta o relacionamento entre classes

através de um mecanismo, as classes podem se relacionar com outras através de

diversas maneiras, entre elas: associação, agregação e especialização.
32




                            Figura 4.2: Diagrama de Classes




         O diagrama de seqüência mostra a comunicação interativa entre os diversos

objetos do sistema. Seu enfoque está em como as mensagens são enviadas no

decorrer do tempo. Neste, os objetos são representados por retângulos, as linhas de

vida dos objetos são representadas pelas linhas traçadas e as mensagens são as

setas.
33




Figura 4.3: Diagrama de Seqüência




       Abaixo seguem alguns exemplos das regras utilizadas no desenvolvimento

protótipo para a solução do problema:

       Regra de Newsletter
       SE noticias diarias = sim
       E clientes cadastrados = sim
       ENTÃO resultado = newsletter


       Regra de Produtos
       SE atualizar produtos = sim
       ENTÃO resultado = produtos


       Regra de Pedidos
       SE atualizar clientes = sim
       E atualizar representantes = sim
       ENTÃO resultado = pedidos


       Regra de Classificados
       SE atualizar produtos = sim
       E produtos usados = sim
       ENTÃO resultado = classificados
34



4.2 Desenvolvimento do Protótipo

        O Shell utilizado para o desenvolvimento do protótipo foi o Expert SINTA2

(figura 4.4), esta ferramenta utiliza um modelo de representação do conhecimento

baseado em regras de produção e probabilidades, tendo como objetivo facilitar o

trabalho de implementação dos sistemas especialistas.




                                  Figura 4.4: Tela do Expert SINTA

        O primeiro passo é construção da base de conhecimento, para isto, primeiro

cadastramos todas as variáveis do sistema conforme figura 4.5.




2
    Expert SINTA é uma ferramenta computacional, de uso liberado, desenvolvida pelo Laboratório de

Inteligência Artificial da Universidade Federado Ceará, acesso em: http://www.lia.ufc.br
35




                            Figura 4.5: Cadastro de variáveis

      Após a definição das variáveis, é necessário definir as variáveis objetivo, que

possuem um valor a ser utilizado no sistema, ou seja, o resultado (figura 4.6).
36




                             Figura 4.6: Variáveis objetivo

      A partir daí as regras devem ser incluídas no sistema. Estas já definidas na

sessão 4.1 deste capítulo conforme figura 4.7.
37




                             Figura 4.7: Inclusão de regra

       Após a inclusão das regras, o sistema permite que personalizemos a interface

onde as perguntas podem ser definidas de forma clara ao utilizador do sistema

(figura 4.8).
38




                       Figura 4.8: Personalizando as perguntas

      Também é possível incluir informações do desenvolvedor e do sistema

conforme figura 4.9.
39




                       Figura 4.9: Tela de informações do sistema




    Por fim, o Shell Expert Sinta se adequa de forma bastante conveniente como

prototipador do módulo de sistema especialista para o sistema automático para

geração de orçamento para web sites. Porém, em um futuro passo, uma alternativa

que possa ser conectada as tecnologias e linguagens ora utilizadas pela Bazzi.Com

deve ser estudada e avaliada para o produto final.
40




5 CONSIDERAÇÕES FINAIS

        O presente trabalho apresentou uma modelagem e desenvolvimento de um

protótipo para a geração automática de orçamentos para web sites de forma a

automatizar tarefas.

        O protótipo se apresentou satisfatório em seus testes iniciais. Porém,

constatou-se que é necessário um alto grau de refinamento nas regras para

elaboração de resultados mais precisos.

        O processo de geração de valores para elaboração de aplicações on-line

muitas vezes necessita de uma logística de mercado superior ao escopo do projeto

em si. Neste caso, há variáveis de mercado, que envolvem negociação com o

cliente, valores da concorrência, a tríade tempo/qualidade/preço, entre outros, que

induzem a um reajuste no orçamento.

        Dessa forma pôde-se constatar que o protótipo forneceu algum auxilio,

apresentando um valor estimado, mas o mesmo não substitui um especialista na

hora de finalizar um orçamento.

    A    ferramenta    Shell   Expert   SINTA      demonstrou    ser    de   fácil   uso    e

desenvolvimento.       Com     sua   utilização,   o   usuário   pode    responder         aos

questionamentos, e através destas respostas o Expert Sinta gera quais módulos

devem constar no orçamento do website.


5.1 Sugestões para Trabalhos Futuros

     Como forma de dar continuidade neste trabalho e aperfeiçoar os resultados do

 sistema especialista para geração automática de orçamentos para web sites,

 sugere-se um estudo mais aprofundando nas regras que são realmente

 necessárias e importantes com relação ao presente contexto. Também, a criação
41



de mais regras e variáveis e um conjunto maior de testes para o aperfeiçoamento

do sistema. Por conseguinte, após o aperfeiçoamento do protótipo, sugere-se a

implementação do sistema especialista em linguagem de programação em um

sistema fechado, até como forma de produto para venda.
42




6 BIBLIOGRAFIA

Abel, Mara. Sistemas Especialistas. 1998. UFRGS. Disponível via URL em:
http://www.ppgia.pucpr.br/~scalabrin/SE_MILTON/SistEspec%20MaraAbel%20mar2
002.pdf. Acesso em 01 de Abril de 2008.


Bezerra, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 3ª Ed. Rio
de Janeiro: Elsivier, 2002.


Dean, Thomas; Allen, James; Aloimonos, Yiannis. Artificial Intelligence: Theory and
Pratice. 1st Ed. USA: Addison-Wesley Publishing Company, 1995.


Feingenbaum, Edward; Engelmore, Robert S. 1993. Expert Systems and Artificial
Intelligence. Disponível em: http://www.wtec.org/loyola/kb/c1_s1.htm. Acesso em 13
de Maio de 2008.


Fingar, Peter; Kumar, Harsha; Sharma Tarun. Enterprise E-Commerce. 1st Ed.
Florida, USA: Meghan-Kiffer Press Tampa: 2000.


Gomes, Jeferson José. Modelo Sistêmico das Influências Provocadas            pelas
Tecnologias de Informação nas Indústrias de Artefatos de Metal: Estudo de caso.
Disponível em: http://teses.eps.ufsc.br/defesa/pdf/7189.pdf. Acesso em: 14 de
Outubro de 2008.


Gonçalves, Rodrigo Franco; Gava, Vagner Luiz; Pessoa, Marcelo Schneck de Paula
e Spinola, Mauro de Mesquita: Uma Proposta de Processo de Produção de
Aplicações Web. Disponível em: http://www.scielo.br/pdf/prod/v15n3/v15n3a07.pdf.
Acesso em: 25 de Maio de 2008.


Graham, Ian S. XHTML 1.0: Guia de Referência para Desenvolvimento na Web. 1ª
Ed. Rio de Janeiro: Ciência Moderna, 2001.
43



Lientz, Bennet; Rea P. Kathryn. Comece bem no e-business. 1ª Ed. São Paulo:
Market Books, 2001.


Luger, George F. Inteligência Artificial: Estruturas e Estratégias para a Solução de
Problemas Complexos. 4ª Ed. Porto Alegre: Bookmann, 2004.


Mendes,      Raquel   Dias.   Inteligência   Artificial:   Sistemas   Especialistas     no
Gerenciamento          da        Informação.          1997.       Disponível          em:
http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100-
19651997000100006&lng=en&nrm=iso. Acesso em 01 de Abril de 2008.


PMBOK. A Guide to Project Management Body of Knowledge. 2000.


Pressman, Roger S. Engenharia de Software. 5ª Ed. Rio de Janeiro: McGraw-Hill,
2002.


Py, Mônica Xavier. Sistemas Especialistas: uma introdução. UFRGS. Disponível via
URL                                                                                   em:
http://www.inf.ufrgs.br/procpar/disc/cmp135/trabs/mpy/sistemasespecialistas           .pdf.
Acesso em 01 de Abril de 2008.


Russell, Stuart; Norving Peter. Artificial Intelligence: A Modern Approach. 1st Ed.
USA: Prentice-Hall, 1995


Santini, Marina Flores. Planejamento e Orçamento Empresarial nas Empresas
Estatais: um estudo de caso da ELETROSUL. 2004. UFSC. Disponível em:
http://www.cse.ufsc.br/gecon/coord_mono/2004.2/Marina%20Fl%F4res%20Santini.p
df.Acesso em: 05 de Abril de 2008.


Silva, Ivaldo M. da, et all, Gerenciamento do Tempo em Projetos, Editora FGV, 2006.


Zuchi, Ivanete. O Desenvolvimento de um Protótipo de Sistema Especialista
Baseado em Técnicas de RPG para o Ensino de Matemática. 2000. UFSC.
Disponível                      via                        URL                        em:
44



http://biblioteca.universia.net/html_bura/ficha/params/id/595273.html. Acesso em 01
de Abril de 2008.

Weitere ähnliche Inhalte

Was ist angesagt?

PI IV - DESENVOLVIMENTO DE SERVICOS DE TI
PI IV - DESENVOLVIMENTO DE SERVICOS DE TIPI IV - DESENVOLVIMENTO DE SERVICOS DE TI
PI IV - DESENVOLVIMENTO DE SERVICOS DE TINilo Basílio
 
Manual do moodle_para_professor_-_vers_o_1.9.9
Manual do moodle_para_professor_-_vers_o_1.9.9Manual do moodle_para_professor_-_vers_o_1.9.9
Manual do moodle_para_professor_-_vers_o_1.9.9Ivani Oliveira
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...Felipe Nascimento
 
LIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO
LIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMOLIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO
LIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMOOs Fantasmas !
 
Portal de Acompanhamento de Egressos
Portal de Acompanhamento de EgressosPortal de Acompanhamento de Egressos
Portal de Acompanhamento de EgressosCassiano Carraro
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsMawcor
 
Portais corporativos aline m toledo
Portais corporativos aline m toledoPortais corporativos aline m toledo
Portais corporativos aline m toledoJose Rudy
 
3 manual-para-elaboracao-de-tcc
3 manual-para-elaboracao-de-tcc3 manual-para-elaboracao-de-tcc
3 manual-para-elaboracao-de-tccLima Pedagoga
 

Was ist angesagt? (9)

PI IV - DESENVOLVIMENTO DE SERVICOS DE TI
PI IV - DESENVOLVIMENTO DE SERVICOS DE TIPI IV - DESENVOLVIMENTO DE SERVICOS DE TI
PI IV - DESENVOLVIMENTO DE SERVICOS DE TI
 
Manual do moodle_para_professor_-_vers_o_1.9.9
Manual do moodle_para_professor_-_vers_o_1.9.9Manual do moodle_para_professor_-_vers_o_1.9.9
Manual do moodle_para_professor_-_vers_o_1.9.9
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
 
LIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO
LIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMOLIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO
LIVRO PROPRIETÁRIO - INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO
 
Portal de Acompanhamento de Egressos
Portal de Acompanhamento de EgressosPortal de Acompanhamento de Egressos
Portal de Acompanhamento de Egressos
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
 
Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Portais corporativos aline m toledo
Portais corporativos aline m toledoPortais corporativos aline m toledo
Portais corporativos aline m toledo
 
3 manual-para-elaboracao-de-tcc
3 manual-para-elaboracao-de-tcc3 manual-para-elaboracao-de-tcc
3 manual-para-elaboracao-de-tcc
 

Ähnlich wie Sistema Especialista para Orçamento de Web Site

Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação IEdmilson Hora
 
Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...
Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...
Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...Evilasio Cesar
 
TCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BRTCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BREdimar Ramos
 
DIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWARE
DIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWAREDIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWARE
DIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWAREMário Ferreira
 
TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011Qintess
 
Gestão de conhecimento miegs
Gestão de conhecimento miegsGestão de conhecimento miegs
Gestão de conhecimento miegsSamuel Ribeiro
 
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURAESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURASabrina Mariana
 
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOS
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOSMÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOS
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOSLeno Matos Lisboa
 
163 2009 gustavo_meurer
163 2009 gustavo_meurer163 2009 gustavo_meurer
163 2009 gustavo_meurerpunkqp
 
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...Felipe Pontes
 
Planejamento_e_Controle_de_Obras_Residen.pdf
Planejamento_e_Controle_de_Obras_Residen.pdfPlanejamento_e_Controle_de_Obras_Residen.pdf
Planejamento_e_Controle_de_Obras_Residen.pdfJenilsonPires1
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasWANDERSON JONER
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisMarcos Pessoa
 

Ähnlich wie Sistema Especialista para Orçamento de Web Site (20)

105714 moises
105714 moises105714 moises
105714 moises
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação I
 
Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...
Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...
Tcc_Implantação de um sistema para o gerenciamento de suporte de TI baseado n...
 
TCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BRTCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BR
 
TCC ANDRE ABEKAWA - Fatec (Primeira Versão)
TCC ANDRE ABEKAWA - Fatec (Primeira Versão)TCC ANDRE ABEKAWA - Fatec (Primeira Versão)
TCC ANDRE ABEKAWA - Fatec (Primeira Versão)
 
DIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWARE
DIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWAREDIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWARE
DIVISÃO E ORGANIZAÇÃO DO TRABALHO NO DESENVOLVIMENTO DE SOFTWARE
 
TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011
 
Gestão de conhecimento miegs
Gestão de conhecimento miegsGestão de conhecimento miegs
Gestão de conhecimento miegs
 
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURAESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
ESTRATÉGIA DE REAÇÃO EM CALL CENTER: UMA PROPOSTA DE ARQUITETURA
 
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOS
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOSMÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOS
MÓDULO DE GERENCIAMENTO DE BOLSAS DO SISTEMA CONTROLE DE PROCESSOS
 
163 2009 gustavo_meurer
163 2009 gustavo_meurer163 2009 gustavo_meurer
163 2009 gustavo_meurer
 
Sino
SinoSino
Sino
 
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...
AMAO - DESENVOLVIMENTO DE UM AMBIENTE ONLINE DE AUXÍLIO À CORREÇÃO E RESOLUÇÃ...
 
Briefing - ADAV
Briefing - ADAVBriefing - ADAV
Briefing - ADAV
 
Planejamento_e_Controle_de_Obras_Residen.pdf
Planejamento_e_Controle_de_Obras_Residen.pdfPlanejamento_e_Controle_de_Obras_Residen.pdf
Planejamento_e_Controle_de_Obras_Residen.pdf
 
Access
AccessAccess
Access
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de Sistemas
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiais
 
Monografia - André Luiz Jamarino Abekawa
Monografia - André Luiz Jamarino AbekawaMonografia - André Luiz Jamarino Abekawa
Monografia - André Luiz Jamarino Abekawa
 
SOA, BPM e Agilidade em Negócios
SOA, BPM  e Agilidade em NegóciosSOA, BPM  e Agilidade em Negócios
SOA, BPM e Agilidade em Negócios
 

Sistema Especialista para Orçamento de Web Site

  • 1. FACULDADE EXPONENCIAL – FIE Curso de Pós-Graduação (Latu Sensu) em Gestão Estratégica em Tecnologia da Informação SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITE CHAPECÓ (SC), 2008.
  • 2. 2 LARA POPOV ZAMBIASI BAZZI OBERDERFER SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITE Monografia apresentada à Faculdade Exponencial – FIE, no Curso de Pós- Graduação em Gestão Estratégica em Tecnologia da Informação sob orientação do Msc. Saulo Popov Zambiasi com o requisito parcial a obtenção do título de especialista em Gestão Estratégica em Tecnologia da Informação. CHAPECÓ, SC, NOVEMBRO DE 2008.
  • 3. 3 A Deus, que me deu segurança para subir mais um degrau na vida. A minha família, principalmente meu esposo pela sua contribuição, compreensão e suporte nas horas que mais precisei. Ao Professor Saulo Popov Zambiasi que ao longo da minha caminhada sempre me serviu de referência, obrigada pela orientação, dedicação e confiança.
  • 4. 4 “O degrau da escada não foi inventado para repouso, mas para sustentar o pé o tempo necessário para que o homem coloque o outro pé, um pouco mais alto”. (Autor desconhecido)
  • 5. 5 Resumo O processo de automatização de tarefas rotineiras tem aumentado o rendimento das tarefas dos funcionários em diversos setores das organizações. Seguindo nesse sentido este trabalho apresenta uma modelagem e um protótipo de um sistema de geração automática de orçamentos para web site. Porém, técnicas de Inteligência Artificial, mais especificamente Sistemas Especialistas, agregadas a técnicas de Planejamento de Projetos são utilizadas para uma maximização dos resultados e orçamentos gerados pelo sistema. Palavras-chave Sistema especialista, orçamento de web site, planejamento de projeto.
  • 6. 6 Abstract The process of automatization of routine tasks has increased the income of the tasks of the employees in diverse sectors of the organizations. Following in this direction this work it presents a modeling and an archetype of a system of automatic generation of budgets for web site. However, techniques of Artificial Intelligence, more specifically Expert Systems, added the techniques of Planning of Projects are used for a maximização of the results and budgets generated for the system. Keywords Expert Systems, budgets for web site, planning of project.
  • 7. 7 LISTA DE FIGURAS Figura 3.1: Resolução de problemas por SE.............................................................24 Figura 3.2: Ciclo de Desenvolvimento Exploratório...................................................27 Figura 4.1: Diagrama de Casos de Uso ....................................................................31 Figura 4.2: Diagrama de Classes ..............................................................................32 Figura 4.3: Diagrama de Seqüência..........................................................................33 Figura 4.4: Tela do Expert SINTA .............................................................................34 Figura 4.5: Cadastro de variáveis..............................................................................35 Figura 4.6: Variáveis objetivo ....................................................................................36 Figura 4.7: Inclusão de regra.....................................................................................37 Figura 4.8: Personalizando as perguntas..................................................................38 Figura 4.9: Tela de informações do sistema..............................................................39
  • 8. 8 ÍNDICE LISTA DE FIGURAS ...................................................................................................7 ÍNDICE ........................................................................................................................8 1 INTRODUÇÃO....................................................................................................10 1.1 Objetivos .....................................................................................................11 1.1.1 Objetivo Geral ......................................................................................11 1.1.2 Objetivos Específicos...........................................................................11 1.2 Justificativa .................................................................................................11 1.3 Metodologia ................................................................................................12 1.4 Estrutura do Trabalho .................................................................................12 2 PLANEJAMENTO DE ORÇAMENTO PARA WEB SITE ....................................14 2.1 Planejamento de Projeto.............................................................................15 2.1.1 Definição do Escopo ............................................................................15 2.1.2 Alocação dos Recursos .......................................................................17 2.1.3 Estimativa de Custo e Esforço .............................................................18 2.1.4 Estimativa de Prazo .............................................................................21 3 SISTEMAS ESPECIALISTAS.............................................................................22 3.1 Arquitetura dos Sistemas Especialistas baseados em Regras ...................23 3.2 Processo de Engenharia de um Sistema Especialista ................................27 4 SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITES ....................30 4.1 Apresentação da Especificação..................................................................30 4.2 Desenvolvimento do Protótipo ....................................................................34 5 CONSIDERAÇÕES FINAIS................................................................................40 5.1 Sugestões para Trabalhos Futuros .............................................................40 6 BIBLIOGRAFIA...................................................................................................42
  • 9. 9
  • 10. 10 1 INTRODUÇÃO Com a necessidade do aumento da produtividade dos diversos setores organizacionais, as empresas têm tido que automatizar suas tarefas rotineiras de forma a aumentar o rendimento dos seus funcionários e, conseqüentemente, aumentar seu próprio rendimento como um todo e o lucro (Gomes, 2003). Neste contexto, a tarefa de fazer o orçamento de sistemas também poderia ser considerada uma tarefa a ser automatizada. No caso específico deste trabalho, um sistema para geração automática de orçamentos para web sites. Porém, a tarefa da criação de um orçamento não é tão simples e necessita da assistência de uma pessoa que tenha certo conhecimento nos assuntos envolvidos e alguma prática do processo necessário, ou seja, um especialista. Dessa forma, para que haja um melhor resultado da saída do sistema, o sistema pode necessitar de implementações de técnicas de Inteligência Artificial tal como Sistemas Especialistas. Este por sua vez se caracteriza por possuir uma base de conhecimentos que é utilizada para a solução de um problema, o que nos resulta em um alto nível de experiência (Zuchi, 2000). Para a realização de um projeto de sistemas precisamos de um planejamento. Pressman (2002) menciona que o planejamento envolve estimativas que visam determinar o quanto dinheiro, esforço, recursos e tempo serão necessários para o desenvolvimento do sistema em questão. Dessa forma, este trabalho visa pesquisar técnicas de Inteligência Artificial, mais especificamente teoria e prática para o desenvolvimento de Sistemas Especialistas, para auxiliar funcionários com a tarefa de geração de orçamentos para o caso específico de web sites.
  • 11. 11 1.1 Objetivos Tendo como base a contextualização da automatização de processos aplicada à tarefa de criação de orçamentos para web sites, o presente trabalho procura alcançar o objetivo descrito em seqüência. 1.1.1 Objetivo Geral O presente trabalho objetiva modelar e desenvolver um protótipo de sistema para geração automática de orçamentos para web sites utilizando técnicas de Sistemas Especialistas e Planejamento de Projetos. 1.1.2 Objetivos Específicos De forma a alcançar o objetivo geral, são necessários os seguintes objetivos específicos: • Obter referências bibliográficas sobre Planejamento de Projetos, Orçamentos de Software e Sistemas Especialistas; • Prover um modelo para a criação de um sistema, em conformidade com a proposta deste trabalho. • Prover um protótipo para testes e avaliação. 1.2 Justificativa O processo de automatização de diversos setores das organizações as tem auxiliado a alavancar uma maior competitividade tanto no que diz ao mercado nacional quanto ao mercado internacional (Gomes, 2003). As empresas que trabalham no setor de desenvolvimento de páginas para web têm aumentado bastante nos últimos anos. Gonçalves et all (2005), nos mostra uma pesquisa realizada em 2001, onde cerca de 430 empresas de software foram
  • 12. 12 pesquisadas pelo Ministério de Ciência e Tecnologia do Governo Federal no Brasil. Foi constatado que 133 (31,6%) desenvolvem páginas para web, 123 (28,4%) desenvolvem aplicações E-business e 111, ou seja, 25,6% desenvolvem aplicações para comércio eletrônico Desta forma, as empresas deste setor também tem tido que se aperfeiçoar em seus processos e tarefas para poderem continuar competitivas e lucrativas. Isso por si só, justifica o processo de automatização de determinadas tarefas a nível de operações executadas pelos funcionários dessas empresas. Dessa forma, os mesmos terão mais tempo para tarefas que realmente necessite sua atenção e tempo, como no planejamento dos novos projetos, gerenciamento dos projetos atuais, desenvolvimento e tempo para fechar novos negócios. 1.3 Metodologia Para alcançar os objetivos deste trabalho, os seguintes procedimentos se tornam necessários: • Pesquisa em livros e artigos científicos; • Modelagem do protótipo utilizando técnicas de UML e Entidade- Relacionamento; • Desenvolvimento de um protótipo utilizando a ferramenta Expert SINTA; • Testes para validação do protótipo. 1.4 Estrutura do Trabalho O presente trabalho está organizado da seguinte forma: no capítulo 1 são abordadas as principais questões referentes ao trabalho como sua origem, problemática, justificativa, os objetivos e a importância de seu desenvolvimento. O capítulo 2 contempla uma revisão bibliográfica na área de planejamento de
  • 13. 13 orçamento para website e projetos em geral, no que se refere a sua conceituação e estrutura. O capítulo 3 faz uma revisão bibliográfica sobre sistemas especialistas com base nos fundamentos, arquitetura e processo de engenharia para o desenvolvimento do protótipo. O capítulo 4 relata os aspectos da estrutura e principais características do protótipo de sistema especialista desenvolvido, assim como, da ferramenta utilizada para o desenvolvimento do mesmo. E por fim, o capítulo 5 apresenta as considerações finais do trabalho, suas limitações e recomendações para trabalhos futuros.
  • 14. 14 2 PLANEJAMENTO DE ORÇAMENTO PARA WEB SITE Neste capítulo é realizada uma revisão bibliográfica sobre o processo planejamento de projetos voltado para orçamento de web site. Inicialmente verificam-se conceitos de orçamento e planejamento de projeto. Em seguida dá-se uma revisão geral sobre as fases dos processos de planejamento. Segundo Santini (2004, p. 28) citando Tavares (2000, p. 23) “o planejamento deu seus primeiros passos na metade do séc. XX, nos EUA, quando o planejamento financeiro, representado pelo orçamento, começou a chamar a atenção dos empresários da época”. Santini (2004, p. 28) ainda explica que: O planejamento financeiro é um instrumento que permite sistematizar o processo decisório das empresas, permitindo que seus dirigentes possam projetar o futuro da empresa e antecipar suas decisões pela escolha de alternativas. Este processo de decisão implica optar por uma alternativa de ação em detrimento de outras disponíveis, em função de preferência, disponibilidades, grau de aceitação de risco, etc. O orçamento se enquadra neste processo fazendo parte do processo decisório formal que projeta seus lucros e ações para enfrentar a concorrência. O orçamento em si é um instrumento que pode ser encarado com um plano de ação detalhado para alcançar os objetivos de um projeto em uma empresa de prestação de serviços. Pressman (2002) acrescenta que o planejamento, no caso de um orçamento, envolve estimativas que visam determinar o quanto dinheiro, esforço, recursos e tempo serão necessários para o desenvolvimento do sistema em questão.
  • 15. 15 2.1 Planejamento de Projeto O planejamento possui algumas fases, tais como: definição do escopo, recursos, estimativa de custo e prazo do projeto/orçamento. 2.1.1 Definição do Escopo Em um planejamento de projeto, Pressman (2002) afirma que a primeira etapa é a definição do escopo e que esse escopo deve ser claramente delimitado. Nesta fase, são definidos os dados e o controle a serem processados, a função, o desempenho, as restrições, a interface e a confiabilidade. Graham (2001) salienta que antes mesmo de começar qualquer projeto faz-se necessário saber a finalidade real do projeto, pois um web site em si é somente a ferramenta para o objetivo do projeto, seja ele comercial ou voltado para a divulgação, por isso a importância desta etapa. Para a coleta das informações pertinentes ao escopo, Pressman (2002) salienta que a técnica utilizada em geral é uma reunião preliminar ou uma entrevista. Nesta entrevista, existem algumas “questões de contexto livre” que devem ser respondidas. Segundo Pressman (2002), estas questões foram sugeridas por Gause e Weinber em 1989. Neste, o primeiro conjunto de questões focaliza o cliente, o segundo conjunto permite ao analista entender melhor as aspirações do cliente e um conjunto final que devem focar a efetividade da reunião realizada. O conjunto dessas informações trás a definição do escopo. Nesta fase, o analista ainda precisa avaliar a viabilidade do projeto quanto ao seu desenvolvimento, pois se esse escopo não for viável, o projeto para por aí. Tendo esse escopo definido em mãos, o analista pode enquadrá-lo em uma das categorias abaixo, definindo em si o tipo de web site a ser proposto no orçamento (Pressman, 2002):
  • 16. 16 • Informacional: essa categoria é caracterizada por conteúdos somente de leitura (jornais, manuais, catálogo de produtos, livros on-line, dentre outros). • Download: o usuário baixa informações de um servidor adequado (baixaki, twocows, lycos, downloads.com, dentre outros). • Adaptável: o usuário adapta o conteúdo as necessidades específicas, estes são voltados à característica de usabilidade em um web site (aumentar a letra, trocar cores, portadores de necessidades especiais, dentre outros). • Interação: o usuário interage com o próprio o web site, com atendentes on-line, com outras pessoas através de formulários, jogos on-line, sala de atendimento, sala de bate-papo, dentre outros. • Entrada do usuário: o usuário entra com dados por meio de formulários (solicitação de serviço, contato, dentre outros). • Orientada a transação: o usuário faz uma solicitação que seja atendida pelo web site (envio de um pedido). • Orientada a serviços: o website fornece um serviço ao usuário (reserva de um livro em um site de biblioteca). • Portal: o web site fornece ao usuário links fora do domínio da aplicação (UOL, Terra, Brturbo, dentre outros). • De acesso a base de dados: o usuário consulta uma grande base de dados para extração de informações (). • Workflow: o usuário tem acesso a sistemas onde ele pode gerenciar, planejar e acompanhar informações on-line (Google Agenda, eGroupWare, dentre outros).
  • 17. 17 2.1.2 Alocação dos Recursos A próxima tarefa é estimar os recursos necessários para o desenvolvimento do projeto. Segundo Pressman (2002) isso inclui: • a quantidade e especialidade dos recursos humanos que terão que ser envolvidos no desenvolvimento deste projeto; • os recursos de software reusáveis, que devem ser catalogados para facilitar a aplicação e valorização dos mesmos, por mais que já tenham sido desenvolvidos, não significa que não serão cobrados, porém, isso dará uma redução do prazo de conclusão do desenvolvimento; • os recursos de ambiente, que são hardware e software, onde o hardware fornece a plataforma que apóia as ferramentas de softwares necessárias para o desenvolvimento do projeto. No primeiro caso, o gerenciamento de recursos humanos de um projeto tem como principal objetivo definir as atividades e perfis necessários, a necessidade de capacitação, além da disponibilização dos indivíduos envolvidos no projeto para a realização de cada atividade (PMBOK, 2000). No segundo caso, a engenharia de software baseada em componentes enfatiza o reuso, para isso Pressman (2002) sugere algumas categorias de reuso de software: • Componentes de prateleira: são softwares existentes que podem ser de terceiros ou mesmo que tenha sido desenvolvido para uma aplicação anterior, mas que estejam prontos e validados. Se, neste caso, estes satisfazem os requisitos do projeto, então o custo da aplicação poderá ser mais baixo e o tempo de desenvolvimento será mais curto.
  • 18. 18 • Componentes de experiência-plena: são as especificações, projeto ou códigos existentes que já estão desenvolvidos e que são similares ao projeto em questão, onde os membros da equipe têm plena experiência na área em questão, onde a única necessidade são as modificações dos componentes pré-existentes. Se, neste caso, estes satisfazem os requisitos do projeto, então os riscos para o projeto são aceitáveis. • Componentes de experiência-parcial: semelhante ao anterior, porém os membros da equipe possuem experiência limitada, onde pode oferecer um risco considerável para o projeto. Se, neste caso, estes satisfazem os requisitos do projeto, então faz-se necessário o investimento de conhecimento para a capacitação dos membros para diminuir os riscos do projeto. • Componentes novos: nesta categoria os componentes do sistema precisam ser desenvolvidos especificamente desde o início para o projeto em questão. No terceiro caso, o gerenciamento de recursos de hardware e software objetiva visualizar: o que, quanto, quando e como serão obtidas as ferramentas que serão necessárias para o desenvolvimento do projeto. Também pensando na possível necessidade de aquisição de software ou hardware (PMBOK, 2000). 2.1.3 Estimativa de Custo e Esforço De acordo com Pressman (2002) o software é o componente potencialmente mais caro de todos os sistemas desenvolvidos para computador, para sistemas mais complexos, personalizados, um erro na estimativa pode trazer um grande lucro ou prejuízo. Para que isso não ocorra, a idéia é decompor o problema em problemas
  • 19. 19 menores, mas antes que isso seja feito, é necessário gerar uma estimativa da dimensão que o software vai ter. Na realidade, pode-se dizer que estimar custo e esforço nunca será uma ciência exata, pois existem muitas variáveis que podem afetar esses dois pontos do projeto. No entanto, essa tarefa pode ser transformada em uma série de tarefas que fornecerão estimativas com um risco aceitável. Pressman (2002) ainda nos trás algumas opções para conseguir esse objetivo: • adiar a estimativa até que o projeto esteja mais adiantado, essa opção não é muito prática pois estimativas de custo precisam ser fornecidas logo; • basear-se em estimativas de projetos anteriores semelhantes, essa opção só é interessante se o projeto é extremamente semelhante a um projeto já existente até porque existem muitas variáveis para serem consideradas em um novo projeto; • utilizar-se de técnicas de decomposição simples, essas técnicas utilizam a filosofia “dividir para conquistar”, nesse caso, a estimativa de custo e esforço passa a ser realizada passo a passo dando uma visão de risco mais seguro para o analista; • utilizar um ou mais modelos para estimar custo e esforço, essa opção com a anterior fornece ao analista uma estimativa onde uma opção complementa a outra. No caso de orçamentos para web sites, pode-se dizer que o método que mais se enquadra é a utilização de técnicas de decomposição simples, pois fornecem um grau de maior confiabilidade para a estimativa de custo e esforço em um projeto. Isso também levando em consideração que em projetos web a evolução da tecnologia e as novas necessidades que surgem a cada dia não permitem um
  • 20. 20 comparativo seguro do já se foi desenvolvido até o momento, bem como o mercado de trabalho atual não visualiza com bons olhos a inicialização de um projeto sem uma estimativa plausível de custos. Pressman (2002) ainda relata que antes de estimarmos custo precisamos ter uma noção do tamanho da aplicação, esse dimensionamento, na realidade, representa o primeiro grande desafio do planejador do projeto. Putnam e Myers (1992) citados em Pressman (2002) sugerem quatro tipos de abordagens para o problema do dimensionamento: • Dimensionamento de “lógica nebulosa”: a idéia da “lógica nebulosa” é utilizar-se de técnicas de raciocínio aproximado, onde o planejador deve identificar o tipo de aplicação, estabelecer sua grandeza numa escala quantitativa e depois filtrá-la dentro do intervalo original. Outra preocupação que se deve manter nesse tipo de abordagem é uma base de dados armazenando os históricos dos projetos anteriores para poder comparar com a experiência real. • Dimensionamento de pontos de função: como a funcionalidade não pode ser medida diretamente a idéia é desenvolver estimativas das peculiaridades do domínio da informação. São originados usando uma relação empírica baseada em medidas de contagem do domínio, por exemplo, quantidade de entradas do usuário, quantidade de saídas do usuário, número de consultas, quantidade de arquivos, quantidade de interfaces, dentre outros. • Dimensionamento de componentes padrão: em geral, todo o software ou web site é composto por vários “componentes padrão”, que são
  • 21. 21 genéricos a todas as aplicações, por exemplo, subsistemas, módulos, telas, relatórios, linhas de código, arquivos, dentre outros. • Dimensionamento de modificação: esta abordagem é utilizada quando há o reuso de algum software ou web site existente, o analista estima a quantidade das modificações que serão realizadas para a dimensão poder ser estimada. Para se ter uma noção plausível da dimensão de um web site, tanto o dimensionamento de pontos de função, como o dimensionamento de componentes padrão e o dimensionamento de modificações estariam adequados para este fim. Porém, como o objetivo final deste estudo é a realização de um sistema especialista que possa mensurar essa estimativa, a prática que fornece maiores subsídios a esta atividade é o dimensionamento de componentes padrão. Onde pode-se integrar formalmente várias tarefas a serem compostas pelo projeto de forma esquematizada e pouco nebulosas. 2.1.4 Estimativa de Prazo Nesta fase, Pressman (2002) traz um conceito sobre a cronogramação de projeto de software: [...] é uma atividade que distribui o esforço estimado pela duração planejada do projeto, partilhando esse esforço por tarefas específicas de engenharia de software. Tendo isso em vista, o analista precisa definir as tarefas macro do projeto e para cada tarefa macro atribuir tarefas menores, refinando o cronograma em um mais detalhado. Em cada uma destas tarefas devem-se então definir o tempo para a realização de cada atividade. Isso é adquirido com o tempo, durante projetos anteriores. O conjunto de tudo isso fornece o prazo para a finalização do projeto ao cliente final.
  • 22. 22 3 SISTEMAS ESPECIALISTAS Neste capítulo é fornecida uma revisão bibliográfica sobre sistemas especialistas. Inicialmente encontram-se conceitos e formas de identificar o uso de sistemas especialistas. Em seguida é apresentada a arquitetura dos sistemas especialistas baseados em regras e o processo de desenvolvimento de um sistema especialista. Um sistema baseado em conhecimento, sistema inteligente ou simplesmente sistema especialista (SE) pode ser definido de várias formas. Py citando Flores (2003) define um SE como sendo uma maneira de simular a especialização humana de alguma área específica, capaz de oferecer sugestões e conselhos aos usuários e também aprender com a interação. Abel (1998) citando Bey (1991) acrescenta um SE é um sistema de computador que opera aplicando um mecanismo de inferência a um “corpo” de conhecimento ou perícia de especialista representado em algum formalismo de representação de conhecimento. Py citando Barr e Feigenbaum (1981) afirma que o objetivo de um SE, considerando o objetivo dos modelos psicológicos concebidos a partir do comportamento humano de um especialista, é bastante restrito. Mendes (1997) acrescenta que estes sistemas baseados em conhecimento são bastante restritos, pois são desenvolvidos a partir regras que reproduzem um conhecimento específico, são construídos para resolver determinados problemas em domínios específicos e que nem todos os problemas necessitam ser resolvidos com sistemas especialistas. Mendes (1997) apresenta então algumas condições para identificar o uso de sistemas especialistas, tais como: um responsável com os conhecimentos específicos em questão; planejamento de regras que necessitem de vários especialistas, que sozinhos, não possuem total conhecimento para realizá-la, sendo
  • 23. 23 assim a solução do problema multidisciplinar; planejamento de regras detalhadas sobre conhecimentos específicos que se forem esquecidas pode provocar um grande problema no desempenho; planejamento de regras as diferenças entre o desempenho dos melhores e piores especialistas; e que haja insuficiência de mão de obra especializada sobre o conhecimento em questão para a solução do problema. Segundo Zuchi (2000) a característica mais importante dos SE é o alto nível de experiência que é utilizando para a solução de um problema, pois essa experiência foi resgatada e armazenada na base de conhecimento de um SE. Para representar então o conhecimento humano devemos armazenar não só informações como também uma série de regras que um especialista utilizaria para resolver o problema. Para Feigenbaum e Engelmore (1993) a construção de um sistema especialista é conhecida também como engenharia do conhecimento. A engenharia do conhecimento precisa ter certeza que o computador tem todas as informações que precisa para resolver o problema. Precisa ainda escolher uma ou mais formas de representar o conhecimento com padrões de símbolos na memória do computador, isso é chamado de representação do conhecimento. A engenharia ainda precisa assegurar que o computador irá utilizar eficientemente o conhecimento selecionando através de vários métodos de raciocínio. 3.1 Arquitetura dos Sistemas Especialistas baseados em Regras Baseando-se em Feigenbaum e Engelmore (1993) todo SE consiste de duas partes principais: a base de conhecimento; e a máquina de inferência. A base de conhecimento de um SE consiste de conhecimento de fato (Memória de Trabalho) e conhecimento heurístico (Base de Conhecimento). O
  • 24. 24 conhecimento de fato é o conhecimento de um domínio específico que é compartilhado e tipicamente encontrado em livros, jornais e conhecimento comum sobre o domínio em particular, conforme Figura 3.1. A base de conhecimento de um especialista é adquirida na escola, de amigos e por anos de experiência. Presumimos então que quanto mais experiência ele tiver, mais vasto será o seu conhecimento. Esse conhecimento o permite interpretar informações em sua base de conhecimento pessoal para diagnosticar, projetar e analisar. Figura 3.1: Resolução de problemas por SE Fonte: Zuchi(2000) citando Durkin (1994) O conhecimento heurístico é menos rigoroso, mais experimental. Ao contrário do outro, o heurístico é raramente discutido, e largamente individualizado. É o conhecimento da boa prática, do bom julgamento, e a razão mais plausível no domínio. É o conhecimento, em outras palavras, da “arte da boa adivinhação”. A Representação do conhecimento formaliza e organiza o conhecimento. Uma representação que é amplamente utilizada é a regra de produção, ou simplesmente regra. Uma regra consiste em partes de “Se” e partes “Então”,
  • 25. 25 também chamadas de condição e ação. As partes condicionais listam uma série de condições de forma lógica. A peça da representação do conhecimento pela regra de produção é relevante para a linha de raciocínio que está sendo desenvolvida para que as regras de condição sejam satisfeitas; conseqüentemente, as regras de ação podem ser concluídas. Esses sistemas especialistas cujo conhecimento é representado através de regras são chamados de conhecimento baseado em regras (rule-based systems). Outra maneira de representação utilizada é chamada de Unidade (unit), também conhecida como frame, esquema (schema) ou estrutura de lista (list structure). Este é embasado sobre um conhecimento mais passivo. A unidade é um tipo de conhecimento simbólico associado a uma entidade a ser representada. Tipicamente, uma unidade consiste de uma lista de propriedades de uma entidade a valores associadas para essas propriedades. Desde que cada tarefa de domínio consiste de várias entidades que permanecem entre relações, a propriedade pode também ser utilizada para relações específicas. Uma unidade pode representar um conhecimento como um “caso especial” de outra unidade, ou algumas unidades podem também serem “partes de” outra unidade. A Máquina de Inferência organiza e controla os passos para o problema ser resolvido. Um comum, mas poderoso paradigma envolve uma série de Se-Então encadeados para formar uma linha de raciocínio. Se a cadeia for aberta, isto é, que inicia com uma evidência e move-se para a conclusão é chamada de encadeamento para frente (forward chaining). Se a conclusão é conhecida, mas o caminho para aquela conclusão não for, fazendo com que procure uma evidência que comprove é chamada então de encadeamento para trás (backward chaining).
  • 26. 26 Py (2000) acrescenta que uma vez definido o tipo de encadeamento, o motor de inferência necessita de uma estratégia de busca para guiar a pesquisa na memória de trabalho e da base de conhecimento. No término do processo de busca, o motor de inferência possui um conjunto de regras que satisfazem a situação atual do problema (conjunto de conflito). Se esse conjunto for vazio, a execução é terminada, caso contrário, é necessário escolher e ordenar as regras a serem executadas. Py (2000) traz os métodos para resolução de conflito mais utilizados são: • Prioridades atribuídas estatisticamente; • Características da estrutura das regras como complexidade, simplicidade e especificidade; • Características dos dados associados às regras como o tempo decorrido desde a sua obtenção, sua confiabilidade ou seu grau de importância e • Seleção de acaso. Um SE consiste primeiramente de uma base de conhecimentos e uma máquina de inferência, duas questões são relevantes: razão com incerteza, e explanação da linha do raciocínio. Luger (2004) salienta a importância de manter essa separação entre a base de conhecimento e o motor de inferência: as regras se... então são mais próximas da linguagem natural de como as pessoas descrevem suas habilidades para resolver problemas; a base de conhecimento estando separada das outras estruturas, os construtores de SE podem se concentrar em organizar uma solução para o problema no lugar de ficar pensando no desenvolvimento do código do sistema; essa separação permite que sejam feitas modificações em parte do sistema
  • 27. 27 sem influenciar as outras partes; e que o mesmo software de controle e interface possam ser utilizados em vários outros sistemas. 3.2 Processo de Engenharia de um Sistema Especialista Segundo Luger (2004), há três principais indivíduos responsáveis pelo desenvolvimento de um SE: o engenheiro do conhecimento, o especialista no domínio e o usuário final. Figura 3.2: Ciclo de Desenvolvimento Exploratório Fonte: Luger (2004) pg. 246 O engenheiro do conhecimento (EC): • Especialista em linguagem de IA e em representação; • Seleciona as ferramentas de software e hardware;
  • 28. 28 • Auxilia o especialista para articular o conhecimento de forma correta; • Implementa esse conhecimento na base de conhecimento. O especialista no domínio (ED): • Fornece o conhecimento sobre o problema ao engenheiro do conhecimento; • Tem experiência e domínio da área do domínio em questão. O usuário final (UF): • Determina as restrições do projeto; • Testa e avalia o sistema. Tendo em vista que toda construção de um SE requer um ciclo de desenvolvimento baseado em prototipação e em revisão incremental de código o processo desse ciclo. Abel (1998) explica cada um dos itens definidos por Luger (2004) conforme figura 3.2. 1. Início: o processo se inicia na fase de aquisição de conhecimento entre o EC e o ED. 2. Definir problemas e metas: nessa fase é estabelecido o domínio da aplicação e também critérios para a construção e expansão da base de conhecimento, tais como: 2.1. Perfil do usuário do sistema; 2.2. Qual o tipo de problema que o sistema irá resolver; 2.3. Quais as entradas do sistema; 2.4. Quais as saídas esperadas; 2.5. Quais os objetos envolvidos na estrutura; 2.6. Quais os valores e atributos dos objetos; 2.7. Quais as regras necessárias para a solução do problema;
  • 29. 29 3. Projetar e construir o Protótipo: nessa fase o problema deve ter sido completamente especificado e sua solução deve ser clara, a representação do conhecimento poderá ser feita diretamente em uma ferramenta Shell pré- existente. É nessa fase também que: 3.1. A primeira prototipação do sistema é realizada; 3.2. A lógica de solução do sistema é validada procurando-se as falhas de raciocínio; 3.3. A forma em que a interface visual vai ser projetada sempre levando em conta o perfil do usuário final do sistema. 4. Testar/usar o sistema: a partir do protótipo implementado o especialista pode testar o produto final. 5. Analisar/corrigir deficiências: a fase anterior dará subsídios ao EC e ao ED para analisarem e corrigirem possíveis deficiências no sistema, a partir daí, se necessário incluem-se o conhecimento heurístico, atalhos de soluções dos métodos de incerteza do sistema. 6. Avaliação Final: finalmente, o sistema deve ser colocado para um grupo de testes verificarem o desempenho e possíveis erros da base de conhecimento. Nessa fase 85 a 90% dos problemas são resolvidos com sucesso.
  • 30. 30 4 SISTEMA ESPECIALISTA PARA ORÇAMENTO DE WEB SITES Para o desenvolvimento e implementação do protótipo, a aquisição do conhecimento foi fornecida pelos especialistas da empresa Bazzi Informática Ltda, localizada em Chapecó. Os capítulos 2 e 3 deste trabalho, sugerem a realização de alguns passos para o desenvolvimento do sistema especialista, a apresentação da especificação, na sessão 4.1, relaciona esses capítulos. 4.1 Apresentação da Especificação Um dos objetivos do trabalho é a modelagem de um protótipo para gerar um orçamento de web site utilizando sistemas especialistas. Para auxiliar a fase de definição de escopo visto no capítulo 2 e a fase de definição de problemas e metas no capítulo 3 é utilizada uma ferramenta CASE para auxiliar na automação da análise, projeto e geração do protótipo. A ferramenta CASE utilizada é a StarUML1, pois esta é uma ferramenta de modelagem visual para projetar e criar aplicações de software utilizando os padrões da Linguagem Unificada de Modelagem (UML – Unified Modeling Language). Esta ferramenta fornece nove diagramas para a modelagem de um software. Contudo, neste trabalho, são utilizados apenas três deles: o diagrama de casos de uso, diagrama de classes e o diagrama de seqüência. 1 StarUML (The Open Source UML/MDA Platform) é uma ferramenta de código aberto para a plataforma UML/MDA, pode ser acessado em: http://staruml.sourceforge.net/en/
  • 31. 31 O diagrama de caso de uso é uma técnica utilizada para descrever de modo visual os requisitos funcionais de um sistema através de atores (Bezzerra, 2002). Na figura 4.1 é apresentada a especificação formal do sistema, onde estão definidos os atores e suas principais tarefas. Nesta aplicação o Especialista em Orçamento é o responsável pelo cadastro e pela emissão dos resultados. Figura 4.1: Diagrama de Casos de Uso Neste caso, o caso de uso é: 1. O Especialista cadastra as regras na base de conhecimento. 2. O Sistema monta a base de conhecimento. 3. O Especialista realiza testes no sistema respondendo as questões. 4. O Sistema fornece um resultado. O diagrama de classes, Figura 4.2, apresenta o relacionamento entre classes através de um mecanismo, as classes podem se relacionar com outras através de diversas maneiras, entre elas: associação, agregação e especialização.
  • 32. 32 Figura 4.2: Diagrama de Classes O diagrama de seqüência mostra a comunicação interativa entre os diversos objetos do sistema. Seu enfoque está em como as mensagens são enviadas no decorrer do tempo. Neste, os objetos são representados por retângulos, as linhas de vida dos objetos são representadas pelas linhas traçadas e as mensagens são as setas.
  • 33. 33 Figura 4.3: Diagrama de Seqüência Abaixo seguem alguns exemplos das regras utilizadas no desenvolvimento protótipo para a solução do problema: Regra de Newsletter SE noticias diarias = sim E clientes cadastrados = sim ENTÃO resultado = newsletter Regra de Produtos SE atualizar produtos = sim ENTÃO resultado = produtos Regra de Pedidos SE atualizar clientes = sim E atualizar representantes = sim ENTÃO resultado = pedidos Regra de Classificados SE atualizar produtos = sim E produtos usados = sim ENTÃO resultado = classificados
  • 34. 34 4.2 Desenvolvimento do Protótipo O Shell utilizado para o desenvolvimento do protótipo foi o Expert SINTA2 (figura 4.4), esta ferramenta utiliza um modelo de representação do conhecimento baseado em regras de produção e probabilidades, tendo como objetivo facilitar o trabalho de implementação dos sistemas especialistas. Figura 4.4: Tela do Expert SINTA O primeiro passo é construção da base de conhecimento, para isto, primeiro cadastramos todas as variáveis do sistema conforme figura 4.5. 2 Expert SINTA é uma ferramenta computacional, de uso liberado, desenvolvida pelo Laboratório de Inteligência Artificial da Universidade Federado Ceará, acesso em: http://www.lia.ufc.br
  • 35. 35 Figura 4.5: Cadastro de variáveis Após a definição das variáveis, é necessário definir as variáveis objetivo, que possuem um valor a ser utilizado no sistema, ou seja, o resultado (figura 4.6).
  • 36. 36 Figura 4.6: Variáveis objetivo A partir daí as regras devem ser incluídas no sistema. Estas já definidas na sessão 4.1 deste capítulo conforme figura 4.7.
  • 37. 37 Figura 4.7: Inclusão de regra Após a inclusão das regras, o sistema permite que personalizemos a interface onde as perguntas podem ser definidas de forma clara ao utilizador do sistema (figura 4.8).
  • 38. 38 Figura 4.8: Personalizando as perguntas Também é possível incluir informações do desenvolvedor e do sistema conforme figura 4.9.
  • 39. 39 Figura 4.9: Tela de informações do sistema Por fim, o Shell Expert Sinta se adequa de forma bastante conveniente como prototipador do módulo de sistema especialista para o sistema automático para geração de orçamento para web sites. Porém, em um futuro passo, uma alternativa que possa ser conectada as tecnologias e linguagens ora utilizadas pela Bazzi.Com deve ser estudada e avaliada para o produto final.
  • 40. 40 5 CONSIDERAÇÕES FINAIS O presente trabalho apresentou uma modelagem e desenvolvimento de um protótipo para a geração automática de orçamentos para web sites de forma a automatizar tarefas. O protótipo se apresentou satisfatório em seus testes iniciais. Porém, constatou-se que é necessário um alto grau de refinamento nas regras para elaboração de resultados mais precisos. O processo de geração de valores para elaboração de aplicações on-line muitas vezes necessita de uma logística de mercado superior ao escopo do projeto em si. Neste caso, há variáveis de mercado, que envolvem negociação com o cliente, valores da concorrência, a tríade tempo/qualidade/preço, entre outros, que induzem a um reajuste no orçamento. Dessa forma pôde-se constatar que o protótipo forneceu algum auxilio, apresentando um valor estimado, mas o mesmo não substitui um especialista na hora de finalizar um orçamento. A ferramenta Shell Expert SINTA demonstrou ser de fácil uso e desenvolvimento. Com sua utilização, o usuário pode responder aos questionamentos, e através destas respostas o Expert Sinta gera quais módulos devem constar no orçamento do website. 5.1 Sugestões para Trabalhos Futuros Como forma de dar continuidade neste trabalho e aperfeiçoar os resultados do sistema especialista para geração automática de orçamentos para web sites, sugere-se um estudo mais aprofundando nas regras que são realmente necessárias e importantes com relação ao presente contexto. Também, a criação
  • 41. 41 de mais regras e variáveis e um conjunto maior de testes para o aperfeiçoamento do sistema. Por conseguinte, após o aperfeiçoamento do protótipo, sugere-se a implementação do sistema especialista em linguagem de programação em um sistema fechado, até como forma de produto para venda.
  • 42. 42 6 BIBLIOGRAFIA Abel, Mara. Sistemas Especialistas. 1998. UFRGS. Disponível via URL em: http://www.ppgia.pucpr.br/~scalabrin/SE_MILTON/SistEspec%20MaraAbel%20mar2 002.pdf. Acesso em 01 de Abril de 2008. Bezerra, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 3ª Ed. Rio de Janeiro: Elsivier, 2002. Dean, Thomas; Allen, James; Aloimonos, Yiannis. Artificial Intelligence: Theory and Pratice. 1st Ed. USA: Addison-Wesley Publishing Company, 1995. Feingenbaum, Edward; Engelmore, Robert S. 1993. Expert Systems and Artificial Intelligence. Disponível em: http://www.wtec.org/loyola/kb/c1_s1.htm. Acesso em 13 de Maio de 2008. Fingar, Peter; Kumar, Harsha; Sharma Tarun. Enterprise E-Commerce. 1st Ed. Florida, USA: Meghan-Kiffer Press Tampa: 2000. Gomes, Jeferson José. Modelo Sistêmico das Influências Provocadas pelas Tecnologias de Informação nas Indústrias de Artefatos de Metal: Estudo de caso. Disponível em: http://teses.eps.ufsc.br/defesa/pdf/7189.pdf. Acesso em: 14 de Outubro de 2008. Gonçalves, Rodrigo Franco; Gava, Vagner Luiz; Pessoa, Marcelo Schneck de Paula e Spinola, Mauro de Mesquita: Uma Proposta de Processo de Produção de Aplicações Web. Disponível em: http://www.scielo.br/pdf/prod/v15n3/v15n3a07.pdf. Acesso em: 25 de Maio de 2008. Graham, Ian S. XHTML 1.0: Guia de Referência para Desenvolvimento na Web. 1ª Ed. Rio de Janeiro: Ciência Moderna, 2001.
  • 43. 43 Lientz, Bennet; Rea P. Kathryn. Comece bem no e-business. 1ª Ed. São Paulo: Market Books, 2001. Luger, George F. Inteligência Artificial: Estruturas e Estratégias para a Solução de Problemas Complexos. 4ª Ed. Porto Alegre: Bookmann, 2004. Mendes, Raquel Dias. Inteligência Artificial: Sistemas Especialistas no Gerenciamento da Informação. 1997. Disponível em: http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100- 19651997000100006&lng=en&nrm=iso. Acesso em 01 de Abril de 2008. PMBOK. A Guide to Project Management Body of Knowledge. 2000. Pressman, Roger S. Engenharia de Software. 5ª Ed. Rio de Janeiro: McGraw-Hill, 2002. Py, Mônica Xavier. Sistemas Especialistas: uma introdução. UFRGS. Disponível via URL em: http://www.inf.ufrgs.br/procpar/disc/cmp135/trabs/mpy/sistemasespecialistas .pdf. Acesso em 01 de Abril de 2008. Russell, Stuart; Norving Peter. Artificial Intelligence: A Modern Approach. 1st Ed. USA: Prentice-Hall, 1995 Santini, Marina Flores. Planejamento e Orçamento Empresarial nas Empresas Estatais: um estudo de caso da ELETROSUL. 2004. UFSC. Disponível em: http://www.cse.ufsc.br/gecon/coord_mono/2004.2/Marina%20Fl%F4res%20Santini.p df.Acesso em: 05 de Abril de 2008. Silva, Ivaldo M. da, et all, Gerenciamento do Tempo em Projetos, Editora FGV, 2006. Zuchi, Ivanete. O Desenvolvimento de um Protótipo de Sistema Especialista Baseado em Técnicas de RPG para o Ensino de Matemática. 2000. UFSC. Disponível via URL em: