50
DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINÂMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO EM DESENVOLVIMENTO DE SOFTWARE CANOAS, 2011

DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

DANIELE PEREIRA FREITAS

ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E

SISTEMAS DINÂMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO

EM DESENVOLVIMENTO DE SOFTWARE

CANOAS, 2011

Page 2: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

DANIELE PEREIRA FREITAS

ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E

SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO

EM DESENVOLVIMENTO DE SOFTWARE

Trabalho de Conclusão apresentado para a banca examinadora do Curso de Ciência da Computação do Centro Universitário La Salle – Unilasalle, como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação com ênfase em Desenvolvimento de Software.

Orientador: Prof. Me. Abraham Lincoln Rabelo de Sousa

CANOAS, 2011

Page 3: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

DANIELE PEREIRA FREITAS

ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E

SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO

NO DESENVOLVIMENTO DE SOFTWARE

Trabalho de Conclusão aprovado como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação com ênfase em Desenvolvimento de Software do Curso de Ciência da Computação pelo Centro Universitário La Salle – Unilasalle.

Aprovado pela banca examinadora em ___ de _________ de 2011.

BANCA EXAMINADORA

______________________________________________

Prof. Me. Abraham Lincoln Rabelo de Sousa Unilasalle

______________________________________________

Prof. Me. Eder Stone Fontoura Unilasalle

______________________________________________

Prof. Me. Roberto Petry Unilasalle

Page 4: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

AGRADECIMENTOS

Agradeço a todos que contribuíram de forma direta ou indireta para a

realização deste trabalho, mas especialmente a minha família e aos meus amigos

pela colaboração a mim dedicada.

Agradeço também ao meu orientador Prof. Lincoln por ter me auxiliado ao

longo desta pesquisa com sua experiência e atenção.

Page 5: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

RESUMO

Apesar da constante evolução vinculada aos processos e métricas relacionados e

engenharia de software, as estimativas ainda constituem-se como um problema vital

durante o planejamento. Tendo em vista esta situação, inúmeros trabalhos

atualmente apontam as técnicas de Redes Bayesianas e Sistemas Dinâmicos como

uma possível solução no que diz respeito à predição de estimativas mais exatas de

prazo e custo dentro de um projeto de software. Contudo não há um estudo que

compare estas duas técnicas que, apesar de metodologias de abordagem

diferentes, tendo em vista que uma baseia-se em probabilidades e outra em

equações, ambas obtém resultados satisfatórios. Este trabalho, portanto, tem como

objetivo realizar uma analise comparativa entre Redes Bayesianas e Sistemas

Dinâmicos.

Palavras chave: Redes bayesianas. Sistemas dinâmicos. Engenharia de software.

Page 6: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

ABSTRACT

Despite the constant evolution linked to the processes and metrics related to

software engineering, the estimates still represent itself as a vital issue during

planning. Given this situation, several studies indicate that techniques of Bayesian

Networks and System Dynamics as a possible solution with regard to prediction of

more accurate estimates of time and costs within a software project. Nevertheless

there is not any study that compares these two techniques, in spite of their very

different methodological approaches, these techniques get pretty relevant results.

This study therefore aims to conduct a comparative analysis between Bayesian

Networks and System Dynamics.

Key words: Bayesian networks. System dynamics. Software engineering.

Page 7: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

LISTA DE ILUSTRAÇÕES

Figura 1- Estimativas e riscos ................................................................................... 14

Figura 2- Apresentação dos principais elementos que compõem modelos de

sistemas dinâmicos ............................................................................................ 17

Figura 3- Sistema simples de feedback .................................................................... 18

Figura 4 - Representação gráfica básica de uma rede bayesiana ............................ 22

Figura 5- Nética ......................................................................................................... 28

Figura 6- Vensim ....................................................................................................... 30

Figura 7- Lei de brooks modelada em sistemas dinâmicos ....................................... 32

Figura 8- Simulação da lei de brooks considerando o aumento da quantidade de

pessoas novas ................................................................................................... 33

Figura 9- Lei de brooks modelada em redes bayesianas .......................................... 34

Figura 10 - Modelo exemplificando retrabalho em sistema dinâmico ........................ 35

Figura 11- Modelo exemplificando retrabalho em redes bayesianas ........................ 36

Figura 12- Modelo exemplificando curva de aprendizado em sistema dinâmico ...... 37

Figura 13- Simulação da curva de aprendizagem em sistema dinâmico .................. 37

Figura 14- Modelo exemplificando Curva de aprendizado em redes bayesianas ..... 38

Page 8: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

LISTA DE QUADROS

Quadro 1- Comparativo considerando as ferramentas .............................................. 44

Quadro 2- Comparativo considerando a etapa de modelagem ................................. 45

Quadro 3- Comparativo considerando a etapa da simulação.................................... 46

Page 9: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

SUMÀRIO

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

2 FUNDAMENTAÇÃO TEÓRICA ............................. ............................................. 12

2.1 Inferência de Software ............................ .......................................................... 12

2.2 Simulação ......................................... ................................................................. 15

2.3 Sistemas Dinâmicos (System Dynamics) .............. ......................................... 15

2.3.1 Sistemas Dinâmicos e Engenharia de Software ............................... 19

2.4 Redes Bayesianas .................................. .......................................................... 21

2.4.1 Regra de Bayes ................................................................................ 23

2.4.2 Redes Bayesianas ........................................................................... 23

2.4.3 Inferência em Redes Bayesianas ..................................................... 25

3 ESTUDO COMPARATIVO ENTRE AS TECNICAS DE REDES BAYES IANAS E

SISTEMAS DINÂMICOS................................. .......................................................... 27

3.1 Nética ............................................ ..................................................................... 27

3.2 Vensim ............................................ ................................................................... 29

3.3 Modelos Analisados ................................ ......................................................... 30

3.3.1 Lei de Brooks ................................................................................... 31

3.3.2 Retrabalho ........................................................................................ 34

3.3.3 Curva de Aprendizado ...................................................................... 36

3.4 Critérios de Análise .............................. ............................................................ 38

3.5 Estudo Comparativo ................................ ......................................................... 39

3.5.1 Modelagem....................................................................................... 40

3.5.2 Simulação......................................................................................... 42

4 CONCLUSÃO ......................................... ............................................................ 47

REFERÊNCIA ........................................................................................................... 49

Page 10: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

10

1 INTRODUÇÃO

Apesar das constantes mudanças e evoluções vinculadas a processos e

métricas relacionadas ao planejamento e gerenciamento de projetos de software, há

um problema que ainda persiste, a elaboração de estimativas (FENTON, 1999).

As estimativas constituem a parte inicial do planejamento e exercem uma

imensa influência em todo o projeto, tendo em vista que é nesta fase que se formam

as bases do software a ser desenvolvido, bem como as demais fases do projeto.

Segundo Pressman (2006), antes de iniciar um projeto de software é

necessário possuir um escopo bem definido e ter questões administrativas bem

identificadas para que, finalmente, se possam realizar as estimativas mais precisas e

que forneçam sinais significativos de progresso ao longo do desenvolvimento do

produto.

No entanto, muitas vezes o gerente de projetos não possui um conhecimento

muito extenso sobre o escopo do problema, levando a estimativas imprecisas e

conseqüente falta de qualidade no produto final.

Devido a isto, duas técnicas de simulação têm sido largamente utilizadas para

apoiar aspectos de predição no desenvolvimento de software, são elas: Redes

Bayesianas e Sistemas Dinâmicos.

A principal vantagem na utilização destas duas técnicas citadas anteriormente

é o fato de que, mesmo com um conhecimento limitado sobre o escopo, tornam

possível a elaboração de estimativas com pouca margem de erro.

Tendo em vista este cenário, este estudo tem como objetivo apresentar uma

análise comparativa entre as técnicas de Redes Bayesianas e Sistemas Dinâmicos,

apontando suas características e funcionamento dentro do contexto de

desenvolvimento de software. Este estudo também apresenta um comparativo entre

as ferramentas utilizadas além de propor modelos em redes bayesianas para

problemas já existentes na literatura apenas na forma de sistema dinâmico.

Esta pesquisa esta disposta ao longo de cinco seções, sendo a segunda

delas um estudo sobre o estado da arte dos assuntos relacionados à esta pesquisa.

A terceira seção aborda as questões que envolvem este estudo comparativo,

contendo os modelos escolhidos bem como os critérios de análise.

Page 11: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

11

Na quarta seção é apresentada a análise comparativa em si, como foi

realizada e seus resultados.

Finalmente, na quinta seção é possível verificar as conclusões alcançadas

com o desenvolvimento desta pesquisa.

Page 12: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

12

2 FUNDAMENTAÇÃO TEÓRICA

Uma das atividades fundamentais durante o projeto de construção de um

software é o planejamento (PRESSMAN, 2006).

Durante o planejamento inicial o gerente de projetos deve definir as

estimativas de esforço humano necessário, duração do projeto, os custos do mesmo

dentre outros fatores.

Em geral os esforços com relação às estimativas concentram-se em garantir

uma melhor qualidade do software, bem como ganhos de produtividade, satisfação

dos clientes e diminuição do desenvolvimento e custos (CLEMENTES, 2001).

Para auxiliar nesta fase tão crucial do projeto, foram propostos vários modelos

para estimativas que visam fornecer métricas que permitam atender com a menor

margem de erro as informações necessárias relativas ao projeto, considerando-se

que estimativas errôneas podem prejudicar fortemente o seu andamento.

Todavia, há muitas variáveis desconhecidas que podem aparecer ao longo do

projeto levando a erros na estimativa inicial.

Outro fator que leva a geração de estimativas imprecisas é o fato de que

muitos gerentes de projeto dispõem de pouco conhecimento disponível sobre os

fenômenos e/ou incertezas que podem afetar e influenciar no desenvolvimento de

software e de como reagir diante deles (LEHAMAN, 1989).

Atualmente, duas técnicas de simulação têm sido fortemente indicadas para

apoiar tais aspectos de predição no desenvolvimento de software, são elas:

Sistemas Dinâmicos e Redes Bayesianas.

2.1 Inferência de Software

Inferência trata-se de um processo pelo qual, através de determinadas

proposições, se obtém uma outra proposição/conclusão.

Durante a fase de planejamento de um projeto de software é necessário

estimar o custo e o tempo relativos ao desenvolvimento do mesmo, sendo

extremamente necessário o uso da inferência.

Page 13: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

13

Segundo Pressman (2006), a ação de inferir dados para se obter estimativas

precisas constitui um dos problemas que mais afligem o desenvolvimento de

software.

Muitas vezes as estimativas são feitas utilizando-se como base apenas

experiências passadas do gerente de software, tornando da estimativa uma decisão

empírica. No entanto, apesar de experiências anteriores serem importantes, há

inúmeras variáveis que envolvem cada projeto de maneira individual, sendo que

nenhum projeto é igual ao outro, levando a graves erros de inferência.

Outro fator a ser destacado é que a maioria das técnicas utilizadas para

estimativas precisam de dados para processar e, por conseqüência, inferir as

informações necessárias. Contudo, há situações em que não é possível dedicar

tempo para coletar dados relativos ao processo de implementação sobre o software

a desenvolver. Com poucos dados históricos como guia, as estimativas tem sido

empíricas, com resultados previsivelmente ruins.

Sem nenhuma informação sólida não se pode avaliar com precisão e eficácia

prazos e custos. Tal problema leva a insatisfação do cliente e falta de confiança

(PRESSMAN, 2006).

Tendo em vista este problema, surgiram inúmeras técnicas de estimativas

para desenvolvimento de software que visam utilizar dados de projetos passados

como bases históricas para ajudar nas próximas estimativas, bem como dividir o

projeto em partes menores para estimar cada uma individualmente.

Tais ferramentas podem utilizar diversas técnicas, destacando-se as que

conseguem inferir informações sem possuir um grande conhecimento sobre o

domínio do projeto, como Redes Bayesianas e Sistemas Dinâmicos, por exemplo.

Ainda segundo Pressman (2006), a realização de estimativas carrega riscos

inerentes e há fatores que são extremamente relevantes, como ilustra a figura 3.1,

tais como o tamanho do projeto, o grau de estrutura do projeto e a complexidade

baseada em esforços passados.

Page 14: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

14

Figura 1- Estimativas e riscos Fonte: Pressman, 2006, p.89

A complexidade do projeto influencia muito sobre a incerteza sobre o mesmo.

No entanto a característica de o quão complexo tal projeto é muda muito de

acordo com a familiaridade da equipe com projetos similares no passado.

A questão do tamanho do projeto poder resultar em inferências ruins é devido

ao fato de que, quanto maior o projeto, mais difícil se torna manter a

interdependência dos módulos, tornando-se mais difícil aplicar técnicas de

decomposição do problema, que trata-se de uma abordagem importante durante a

realização de estimativas.

O grau de estrutura do projeto é também um fator que merece atenção

segundo Pressman (2006), pois quanto maior a estruturação do projeto, maior

também a capacidade de avaliar com maior precisão os riscos relativos ao mesmo.

Deve-se ressaltar que os dados históricos compõem outro fator de extrema

importância quando da fase de inferência de tempo e custo sendo que, com

informações passadas, torna-se muito mais fácil pontuar os riscos e possíveis

problemas.

Há ainda outros fatores, como as pessoas envolvidas no processo de

desenvolvimento bem como a produtividade das mesmas, a questão do retrabalho e

ainda adição de novos recursos. Enfim, há inúmeras variáveis que influenciam no

planejamento e desenvolvimento do projeto tornando-se inviável analisá-las sem o

auxilio de uma técnica confiável para inferência.

Entretanto, segundo Pressman (2006), as estimativas de projeto jamais

poderão ser uma ciência exata, mas uma combinação de bons dados históricos com

técnicas sistemáticas para melhorar a precisão da estimativa.

Page 15: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

15

2.2 Simulação

Por se tratar de uma prática bastante comum para muitas áreas, há inúmeras

definições para simulação na literatura.

Segundo Shannon (1992) a simulação trata-se de uma ferramenta que

permite projetar o modelo de um sistema real e praticar experimentos com o mesmo,

a fim de compreender seu comportamento. Para Banks (1999) a simulação trata-se

de uma imitação da operação de um processo ou sistema do mundo real.

Pode-se definir ainda simulação como uma avaliação matemática utilizada

para descrever um sistema ou parte dele. Em muitos sistemas complexos a

simulação torna-se a principal solução para se verificar as entradas e saídas ao

longo da execução do mesmo (MADACHY, 2008).

Apesar das diversas definições, verifica-se que a simulação, além da

construção do modelo, trata-se de um método experimental que busca (Shannon

1992):

a) Descrever o comportamento do sistema;

b) Deduzir hipóteses e teorias sobre o sistema;

c) Estimar e deduzir o comportamento futuro do sistema como um todo.

A simulação pode ser utilizada para explicar determinados comportamentos

do sistema ou ainda melhorar sistemas já existentes.

O processo de simulação é uma tecnologia padrão em muitas disciplinas de

engenharia, sendo que vários autores vem indicando a simulação para projetos de

desenvolvimento de software.

2.3 Sistemas Dinâmicos (System Dynamics)

O conceito de sistemas dinâmicos foi desenvolvido por Jay W. Forrester em

1956 e foi aplicado inicialmente em sistemas industriais e de gerenciamento de

negócios, sendo utilizado para expandir a adversidade dos problemas tanto para a

melhoria da qualidade nas corporações quanto para o planejamento de recursos.

Page 16: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

16

Atualmente a técnica de Sistemas Dinâmicos tem sido aplicada com sucesso

nas áreas de biologia, economia e, recentemente na engenharia de software,

utilizando-se estruturas de loop causal para representar a dinâmica das relações

entre os parâmetros do sistema e simulando o efeito da estrutura no comportamento

do processo ao longo do tempo (ABDEL-HAMID, 1991; JENG 2007).

Segundo Churchman (1972), a dinâmica de sistemas trata-se de uma

contínua revisão do mundo, do sistema total e de seus componentes, onde o

domínio é encarado como um conjunto de sistemas e subsistemas que visam atingir

um objetivo em comum.

De acordo com Hjortha e Bagheria (2006), a técnica de Sistemas Dinâmicos

envolve a quebra do problema em componentes, estudando cada parte isolada, e

assim desenhar conclusões sobre o todo. Este método representa uma forma de

entender a realidade e enfatizar as relações ao longo de uma parte do sistema,

através de modelagem e simulação.

Pode-se afirmar que o foco principal dos Sistemas Dinâmicos consiste na

análise das tendências dinâmicas de sistemas em geral. O objetivo é saber se o

sistema é estável ou instável, se possui tendência a oscilar ou ainda se tende ao

equilíbrio. O pressuposto central dessa teoria é que o comportamento dinâmico que

se observa em sistemas complexos é gerado pela sua estrutura causal.

A imagem 2, que segue abaixo, exibe uma rápida apresentação dos

elementos que compõem um modelo de sistema dinâmico, utilizados ao longo desta

pesquisa.

Page 17: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

17

Figura 2- Apresentação dos principais elementos que compõem modelos de sistemas dinâmicos Fonte: Madachy, 2008, p.15.

Um conceito de bastante relevância dentro de Sistemas Dinâmicos é o do

feedback, onde as decisões ou os padrões de comportamento das funções são

derivadas de informações do sistema. Tais decisões resultam em ações que podem

modificar todo o sistema.

O feedback ocorre quando a variável x afeta a variável y e, y, por sua vez,

afeta x., portanto, não se pode apenas observar o efeito que uma variável irá causar

em outra variável. Não se pode estudar a relação entre X e Y de forma

Page 18: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

18

independente, a ligação entre X e Y prevê como o sistema se comporta. Apenas

observando todo o sistema de feedback é que se pode entender o comportamento

dinâmico do sistema. Uma premissa aqui é que o comportamento dinâmico é uma

conseqüência da estrutura do sistema (STERMAN, 2002).

A figura 3, por exemplo, exemplifica um sistema simples de feedback, onde as

variáveis de entrada (requisitos, recursos e padrões) integram o processo de

software, gerando artefatos que, por sua vez, auxiliam no gerenciamento das novas

variáveis.

Figura 3- Sistema simples de feedback Fonte: Madachy, 2008, p. 13

Para representar a estrutura de feedbacks de um sistema, independente da

área, é utilizado um diagrama de loops causais. Neste tipo de diagrama cada link é

mostrado por setas e estas assumem uma polaridade, que pode ser positiva ou

negativa.

As polaridades descrevem a estrutura do sistema e o que pode acontecer se

houver uma mudança (STERMAN, 2002).

Os Sistemas Dinâmicos possuem origens nas teorias de controle e dinâmica

não linear, portanto existem rigorosos fundamentos matemáticos para a teoria e

modelos desenvolvidos nessa área. A metodologia acredita que não-linearidades

são importantes para explicar o comportamento de sistemas complexos.

Segundo Sterman (2002), um dos objetivos da Dinâmica de Sistemas é ter

um modelo que consiga simular o comportamento do sistema real endogenamente,

ou seja, considera-se que a fonte dos problemas em um sistema faz parte da

estrutura do próprio sistema.

Atualmente há inúmeras ferramentas de Sistemas Dinâmicos, tais como

simuladores gerenciais que permitem a criação de mundos virtuais onde espaço e

Page 19: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

19

tempo podem ser comprimidos e desacelerados de tal forma a permitir a

experimentação de efeitos em longo prazo.

Segundo Sterman (2000), a metodologia de modelagem e simulação de

sistemas dinâmicos envolve as seguintes etapas:

a) construção de diagramas de influência, representando mapas mentais, que

visam demonstrar de forma mais clara um problema bem como as relações entre os

componentes relacionados.

b) especificação e desenvolvimento de modelos matemáticos com o objetivo

de formalizar as relações de feedback e defasagens – tempo decorrido entre o

estímulo e a resposta – do sistema.

c) desenho e simulação do modelo que testam hipóteses diferentes em

relação ao comportamento da estrutura.

O processo de modelagem é iterativo, partindo da definição do problema,

construindo-se o modelo de acordo com o formalismo escolhido e, finalmente se

define as políticas de intervenção no sistema (MADACHY, 2008). O passo mais

importante é a articulação do problema, tendo em vista que esta fase é a base de

todas as fases posteriores.

Destaca-se ainda que uma modelagem efetiva deve envolver uma constante

iteração entre a experimentação e aprendizado no mundo real quanto no mundo da

simulação.

2.3.1 Sistemas Dinâmicos e Engenharia de Software

Devido à constante melhoria computacional cada vez mais aumenta o uso de

simulação em diversos campos, sendo um deles a engenharia de software.

Além de a simulação ser um método poderoso para mostrar os processos

envolvidos no domínio, outro fator significante é a possibilidade de reduzir riscos ao

longo do processo de desenvolvimento de software (MADACHY, 2008).

Tendo em vista a definição de sistemas dinâmicos como uma modelagem que

simula partes do domínio e que auxilia a modelar e visualizar as relações e

tendência de um sistema, tal modelagem é cada vez mais utilizada em projetos de

desenvolvimento de software para tomadas de decisão com relação aos fatores que

Page 20: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

20

surgem ao longo do ciclo de vida do software, tais como o impacto do tempo, custo e

qualidade.

A técnica de Sistemas Dinâmicos oferece a possibilidade de estimar o

desempenho da abordagem efetuada no projeto e ajudar o gerente de projetos a

tomar melhores decisões que vão impactar no resultado final do software.

Segundo Madachy (2008), sistemas dinâmicos podem fornecer uma visão

mais exata de qualquer aspecto do processo de software, tanto em alto ou baixo

nível. Pode ser usado ainda para avaliar e comparar os diferentes processos do ciclo

de vida bem como técnicas de detecção de defeitos.

Pode- se afirmar que, tecnicamente, sistemas são compostos de muitos

componentes que interagem entre si para atingir determinados objetivos. Em

simulação, sistemas são tipicamente definidos como um conjunto de entidades.

Os sistemas podem ser classificados como “abertos” ou “fechados”, levando

em consideração a influência que as entradas exercem sobre as saídas (MADACHY,

2008).

Sistemas classificados como “abertos” possuem entradas que influenciam nas

saídas e não salvam estados passados. Já um sistema classificado como “fechado”

salva suas situações passadas, utilizando estas informações para controlar ações

futuras.

Tendo em vista a distinção realizada anteriormente entre sistemas “abertos” e

”fechados” pode-se definir que os sistemas podem ser caracterizados por:

a) Parâmetros independentes que configuram a entrada e a estrutura do

sistema

b) Variáveis que dependem de outros parâmetros e variáveis.

O conjunto de variáveis necessárias para descrever um sistema em qualquer

etapa no tempo é chamado de “estado” do sistema (MADACHY, 2008). Como

exemplos de variáveis de estado em um processo de software pode ser o número de

pessoas que executam determinado processo, o montante do software que já foi

desenvolvido ou testado, o número de defeitos encontrados etc.

Segundo Madachy (2008), outra classificação possível para sistemas é

qualificar como “dinâmico” ou “estático”, levando em consideração se suas variáveis

de estado mudam ao longo do tempo.

Page 21: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

21

Por conseguinte, sistemas dinâmicos podem ser divididos entre contínuos,

discretos e como sendo uma combinação dos dois anteriores, sendo a principal

diferença o fato de como a simulação avança ao longo do tempo.

2.4 Redes Bayesianas

Pode-se definir Redes Bayesianas como uma representação gráfica, que

mostra as dependências e relações de casualidade entre as variáveis de um

sistema, permitindo representar o conhecimento sobre o domínio, utilizando-se da

Teoria da Probabilidade Bayesiana, publicada pelo matemático Thomas Bayes em

1763.

As Redes Bayesianas são largamente utilizadas em situações onde não se

conhece totalmente o escopo do problema, ou seja, quando há um conhecimento

incerto sobre as variáveis do domínio.

O conhecimento incerto é aquele que apresenta deficiências. Em algum

momento, os dados podem ser uma representação não exata, parcial ou aproximada

da realidade (BHATNAGAR, 1986).

A falta de conhecimento do escopo pode ser gerada principalmente devido a

dois fatores: a instabilidade e a ignorância teórica (RUSSEL; NORVING, 2003).

A instabilidade pode ocorrer quando o trabalho necessário para inserir todos

os dados necessários para constituir uma base de conhecimento pode ser muito

oneroso e, a ignorância teórica ocorre quando não se possui todo o conhecimento

do domínio do problema.

As duas situações citadas levam à incerteza com relação ao problema, sendo

necessário atribuir níveis de confiabilidade a cada informação da base de

conhecimento além de criar relações entre elas.

A sua representação gráfica é composta por nodos representando variáveis

aleatórias, discretas ou contínuas, o elemento que relaciona estes nodos são arcos,

que representam as conexões ou dependências diretas. Estas relações são sempre

direcionadas e representam casualidades entre nodos.

Page 22: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

22

Figura 4 - Representação gráfica básica de uma rede bayesiana Fonte: Oliveira, 2007, p.63

Para atribuir níveis de confiabilidade, utiliza-se a teoria da probabilidade, que

atribui a cada sentença um grau numérico de crença entre 0 e 1.

Segundo Russel e Norving (2003), atribuir a probabilidade 0 a uma dada

sentença corresponde a uma crença inequívoca de que a sentença é falsa,

enquanto a atribuição da probabilidade 1 corresponde a uma crença inequívoca de

que a sentença é verdadeira. As probabilidades entre 0 e 1 correspondem a graus

intermediários de crença na veracidade da sentença.

Estes graus de crença sempre são aplicados a proposições, que tratam-se de

afirmações de que determinada situação está ocorrendo.

Contudo, é importante ressaltar que um grau de crença é diferente de um

grau de verdade. Uma probabilidade de 0,9 não significa que a sentença é 90%

verdadeira, mas sim que seu grau de crença é igual a 90%. Estas probabilidades de

crença podem ainda serem alteradas conforme são adicionadas mais sentenças a

base de conhecimento.

Dentro de Redes Bayesianas há dois tipos de probabilidades, a Probabilidade

a

Priori e a Probabilidade a Posterior (RUSSEL; NORVING, 2003).

Pode-se definir a probabilidade a priori, ou probabilidade incondicional, como

sendo o grau de crença utilizado para a proposição quando não se possui nenhuma

informação sobre a mesma. A representação da probabilidade a priori é determinada

por P(a).

Contudo, à medida que algumas informações novas surgem, deve-se

raciocinar com a probabilidade condicional de “a”.

Quando se possui alguma evidencia sobre as variáveis aleatórias que

constituem o domínio usa-se probabilidade a posterior também chamada de

probabilidade condicional.

Page 23: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

23

A representação da probabilidade a posterior é determinada por P(a|b), onde

a e b são proposições quaisquer.

2.4.1 Regra de Bayes

O teorema de Bayes mostra a relação entre uma probabilidade condicional e

sua inversa e que traz como resultado um grau de conhecimento que um evento

exerce sobre o domínio (RUSSEL; NORVING, 2003). A distribuição probabilística,

dado um determinado evento, é calculada pela formula de inferência bayesiana:

P(Y|X) = ( P(X|Y) * P(Y)) / P(X)

A expressão cima trata-se de uma representação de um conjunto de

equações, onde cada uma lida com valores específicos das variáveis.

A regra de Bayes exige três termos, uma probabilidade condicional e duas

probabilidades incondicionais, apenas para calcular uma probabilidade condicional

(RUSSEL; NORVING, 2003).

A regra de Bayes é muito utilizada quando se possui probabilidades

condicionais sobre relacionamentos causais e se deseja obter um resultado final.

2.4.2 Redes Bayesianas

Uma rede bayesiana é constituída de um conjunto de variáveis e um conjunto

de arcos ligando estas variáveis, onde cada variável possui um conjunto limitado de

estados.

Segundo Russel e Norving (2003), a topologia da rede (conjunto de nós e

vínculos) representa os relacionamentos de independência condicional que são

validos no domínio.

Page 24: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

24

Outro fator importante é que uma rede bayesiana fornece uma descrição

completa do domínio, pois toda a entrada na distribuição de probabilidade pode ser

calculada a partir das informações armazenadas na rede.

Uma vez que a topologia da rede bayesiana é definida, é preciso se

especificar uma distribuição de probabilidade condicional para cada variável,

considerando seus pais.

Ressalta-se ainda que o peso da influência entre as variáveis envolvidas é

representado por probabilidades condicionais que são associadas a cada nodo da

rede.

As redes Bayesianas oferecem, portanto, um sistema de inferência com o

objetivo de buscar novos relacionamentos a partir dos que já existem, conforme a

topologia da rede.

A representação Bayesiana é composta de uma parte qualitativa e outra

quantitativa. A parte qualitativa trata-se de uma representação gráfica das variáveis

com relação a sua distribuição e relações. Esta representação tem a forma de um

grafo acíclico dirigido, onde cada vértice representa a variável estatística e os arcos

representam a influência direta ou a relação de causalidade entre variáveis.

Para a parte quantitativa, um conjunto de funções são definidas

representando quantidades numéricas de distribuição probabilística sobre as

variáveis do domínio.

Cada vértice do grafo é associado a uma avaliação da função de

probabilidade que descreve a influencia de cada vértice e seu predecessor. O fato

de que cada nó é conectado aos nós mais antigos na rede garante ainda que o grafo

será sempre acíclico (RUSSEL; NORVING, 2003).

Além da função de probabilidade referente a cada variável do domínio deve

haver uma forma de calcular como os eventos podem influenciar a distribuição

probabilística sobre a variável e seus dependentes.

Isto significa que sempre que qualquer evento que ocorrer a probabilidade de

distribuição de todo o vértice dependente da variável que representa o evento deve

ser recalculado. Nas redes Bayesianas a probabilidade de distribuição sobre as

variáveis do domínio é calculada pela Regra de Bayes.

Page 25: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

25

2.4.3 Inferência em Redes Bayesianas

A inferência em Redes Bayesianas trata-se de um procedimento para a

construção de uma distribuição de probabilidades posteriores em relação aos

objetos do domínio, dadas as probabilidades a priori.

A inferência se utiliza de cálculos probabilísticos e utiliza informações já

existentes nas redes bayesianas.

Pode-se afirmar que a principal tarefa de um sistema de redes bayesianas é

computar a distribuição da probabilidade condicional para um conjunto de variáveis

de consulta, dado os valores de um conjunto de variáveis de evidencia.

Segundo Castilho e Gutierrez (1997) há três tipos distintos de algoritmos de

inferência:

Exatos: A inferência exata é intratável para redes grandes e muito

conectadas. Há três algoritmos principais:

a) Enumeração: Neste algoritmo calcula-se as somas dos produtos de

probabilidades condicionais da rede. Contudo, este algoritmo efetua o somatório

sobre a distribuição conjunta total sem construí-la de uma forma explicita, possuindo

uma complexidade muito alta considerando-se redes muito extensas.

b) Eliminação de Variáveis: este algoritmo avalia as expressões na ordem

da direita para a esquerda. Os resultados intermediários são armazenados e os

somatórios sobre cada variável são efetuados apenas para as porções da expressão

que dependem da variável.

c) Formação de Agrupamento: a idéia da formação de agrupamento é unir

nós individuais da rede para formar nós de agrupamento, de tal modo que a rede

resultante seja uma poliarvore. Então é aplicado um algoritmo de inferência que, na

verdade, trata-se de uma forma de propagação de restrições, em que estas

restrições garantem que os agrupamentos vizinhos concordam sobre a

probabilidade posterior de quaisquer variáveis que eles tenham em comum.

d) Aproximados: Tendo em vista a intratabilidade da inferência exata em

redes extensas, surge a inferência aproximada como uma possível solução. Estes

algoritmos de amostragem aleatória, também chamados algoritmos de Monte Carlo,

fornecem respostas aproximadas, cuja exatidão depende do número de amostras

geradas.

Page 26: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

26

e) Amostragem Direta: Dada uma fonte de números aleatórios no

intervalo de [0,1], torna-se simples realizar a amostragem de qualquer distribuição

sobre uma única variável, sendo que a idéia principal deste algoritmo é fazer a

amostragem para uma variável de cada vez, em ordem topológica. A distribuição de

probabilidade a partir da qual se obtém uma amostra do valor esta condicionada aos

valores já atribuídos aos pais da variável.

f) Simulação de Cadeias de Markov Monte Carlo (CMMC): Diferente dos

outros algoritmos de amostragem, que geram cada evento a partir do nada, o CMMC

gera cada evento fazendo uma mudança aleatória no evento precedente. O CMMC

vaga ao acaso pelos estados, intervindo em uma variável de cada vez, mas

mantendo fixas as variáveis de evidencia. Neste tipo de simulação o próximo estado

é gerado por amostragem aleatória de um valor para uma das variáveis. Este

processo de amostragem se fundamenta em um “equilíbrio dinâmico” no qual a

fração a longo prazo do tempo gasto em cada estado é exatamente proporcional a

sua probabilidade posterior.

Page 27: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

27

3 ESTUDO COMPARATIVO ENTRE AS TECNICAS DE REDES

BAYESIANAS E SISTEMAS DINÂMICOS

Para realizar esta pesquisa foram necessários seguir alguns passos, sendo o

primeiro deles a realização de um estudo sobre as técnicas de Redes Bayesianas e

Sistemas Dinâmicos para compreender o funcionamento, características,

similaridades e diferenças entre elas.

A partir deste estudo foi possível escolher duas ferramentas, uma para cada

técnica, tendo em vista a escolha mais freqüente nos trabalhos relacionados e

artigos recentes.

Após esta escolha, pode-se então definir os casos a serem modelados bem

como os critérios para a realização da analise. Por fim, foi elaborada a análise,

considerado todos os passos anteriormente descritos.

As seções seguintes se dispõem a esclarecer e apresentar o estudo

comparativo e os resultados obtidos ao final deste.

3.1 Nética

Para modelagem das redes bayesianas desenvolvidas neste trabalho, apesar

das inúmeras opções disponíveis, foi escolhida a ferramenta Nética, por ser também

largamente citada em pesquisa e projetos relacionados.

A versão utilizada foi a versão limitada 4.16 para Windows 7, que é a última

disponível no site, que é limitada a poucas variáveis e não possui suporte a

aprendizagem da rede.

Esta versão está disponível para download no site http://www.norsys.com,

junto com as demais versões licenciadas e as API’s disponíveis para as linguagens.

Page 28: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

28

Figura 5- Nética Fonte: Disponível em <www.norsys.com>. Acesso em 08 mar. 2011

Foi verificado que, apesar da versão gratuita não possuir muitos dos recursos

que tornam a modelagem em Redes Bayesiana mais vantajosa, a versão licenciada

apresenta uma vasta lista de recursos extremamente relevantes, como a questão do

aprendizado das redes, largamente utilizada em pesquisas e simulações.

Outro fator de extrema relevância é o fato de haver no site diversas API's,

compatíveis com as linguagens Java, C, C#, C++, Visual Basic, Matlab e CLisp. Tal

fator constitui-se como um ponto favorável pois trata-se de um critério comum nos

métodos de avaliação estudados.

Para a instalação da ferramenta, basta fazer download da mesma no site da

Norsys e descompactar o arquivo em um diretório.

Junto com a ferramenta vem instalados mais de dez exemplos de Redes

Bayesianas já modeladas bem como um simples manual simples de utilização. Este

material, unido com o vasto conteúdo do site, forma um ponto positivo durante o

aprendizado.

No site do Nética há também um material muito completo sobre como

funciona a ferramenta, explicando o funcionamento das redes e porque elas são

importantes para realizar simulações de sistemas bem como a forma como são

analisados os dados definidos nas redes.

Foram verificados alguns problemas durante a simulação que acabavam

fechando a aplicação e gerava a perda de dados durante a modelagem. O principal

Page 29: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

29

e pior deles é quando se aponta a seta de causa- conseqüência para o mesmo

nodo. Muitas vezes além, da ferramenta fechar, perdiam-se dados adicionados

recentemente.

Uma questão que ficou em aberto com relação à ferramenta, que não foi

encontrada na documentação nem nos manuais relacionados, foi com relação à

possibilidade de utilizar fórmulas para construir as tabelas probabilísticas. Também

não foi encontrado, na versão utilizada, como gerar gráficos ou outros tipos de

saídas com os resultados obtidos.

3.2 Vensim

O software escolhido para modelagem dos sistemas dinâmicos desenvolvidos

ao longo deste trabalho foi o Vensim-PLE (Personal Learning Edition), versão 5.10e

para o Windows 7, que trata-se de uma versão gratuita do Vensim, produzida pela

Ventana Systems Inc. para uso exclusivo pessoal e na educação.

Foi escolhida esta ferramenta, pois a mesma é extremamente citada em

trabalhos relacionados e demais pesquisas envolvendo a modelagem de sistemas

dinâmicos.

A linguagem de simulação Vensim foi inicialmente desenvolvida em 1988 e

era uma extensão da linguagem Pascal. Esta linguagem sofreu constantes

modificações e evoluções até esta versão presente utilizada, que é a ultima versão

disponível para download no site http://www.vensim.com, junto com as demais

versões licenciadas.

O Vensim é uma ferramenta de modelagem visual que permite conceituar,

documentar, simular, analisar e aperfeiçoar modelos de sistemas dinâmicos,

independente da área a que pertence.

Apesar de gratuita, a ferramenta disponibiliza inúmeros recursos importantes

na modelagem de sistema, como pode ser verificado na figura 5.

Page 30: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

30

Figura 6- Vensim Fonte: Disponível em <www.vensim.com>. Acesso em 08 mar 2011

Foi verificado que, a versão gratuita utilizada nesta pesquisa, não perde

tantos recursos para as quatro outras versões licenciadas, diferentemente do que

ocorre com o Nética.

Dos recursos ausentes na versão gratuita destacam-se o de múltiplas visões,

simulação de sensibilidade de Monte Carlo, a criação de macros e a importação de

planilhas para a obtenção de dados.

Um fator que conta negativamente é a questão da falta de interface com

outras aplicações. Não foi encontrado nenhuma API ou um WebService no site nem

na internet que pudesse ser utilizado para a comunicação com outras aplicações e

sistemas.

3.3 Modelos Analisados

Para a realização deste estudo comparativo entre Redes Bayesianas e

Sistemas Dinâmicos foram adotados três situações/problemas recorrentes em

projetos de desenvolvimento de software que são:

Page 31: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

31

a) Lei de Brooks

b) Retrabalho

c) Curva de Aprendizado

Todos os modelos analisados já possuíam a modelagem na forma de

sistema dinâmico na literatura relacionada, com fórmulas pré-estabelecidas e

modelos conhecidos, sendo necessário traduzi-los para a técnica de redes

bayesianas da forma mais próxima possível e utilizando-se variáveis muito próximas

e sistema similar de causa- conseqüência entre as mesmas.

3.3.1 Lei de Brooks

Frederick Phillips Brooks Jr, mais conhecido como Fred Brooks, publicou em

1975, no livro mundialmente conhecido “The Mythical Man-Month” (posteriormente

revisado e republicado) a famosa lei de Brooks que afirma que, adicionando-se

pessoas a um projeto atrasado, o projeto atrasará ainda mais.

Em seu livro, Brooks explica que tal fato deve-se ao motivo de que, quando

programadores novos são introduzidos no projeto, eles demoram a se tornarem

produtivos além de interromper e atrasar os membros com mais experiência.

Demandam tempo de treinamento e aumentam a necessidade de comunicação.

Para a modelagem do sistema dinâmico correspondente a Lei de Brooks foi

adotado o modelo sugerido por Madachy (2008). Segundo este modelo,

representado na figura 7, verifica-se a criação de três taxas, determinantes neste

modelo, a Taxa de Alocação de Pessoal, a Taxa de Assimilação e a Taxa de

Desenvolvimento de Software.

A Taxa de Alocação é determinada pelas variáveis de Software Planejado e

Software Desenvolvido. Já a Taxa de Assimilação considera principalmente a

variável de Experiência Pessoal, enquanto a Taxa de Desenvolvimento de Software,

núcleo deste modelo, considera as variáveis de Produtividade Nominal, a

Sobrecarga de Comunicação, o Pessoal Novo, a Experiência Pessoal e o Pessoal

com Experiência necessária para Treinamento.

Page 32: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

32

Figura 7- Lei de brooks modelada em sistemas dinâmicos Fonte: Autoria própria

Durante a simulação de um sistema dinâmico é possível perceber a

casualidade entre as variáveis devido aos pequenos gráficos.

Na figura 8 é possível verificar que, quando houve um aumento da quantidade

de pessoas novas no projeto, aumentou também a quantidade de comunicação, por

exemplo.

Page 33: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

33

Figura 8- Simulação da lei de brooks considerando o aumento da quantidade de pessoas novas

Fonte: Autoria própria

Para a modelagem em Redes Bayesianas deste mesmo modelo, foram

necessárias algumas alterações, tendo em vista as características desta técnica.

Como não há uma equação/taxa que definirá o comportamento do modelo em

redes bayesianas, apenas as tabelas probabilísticas, as taxas da representação de

sistema dinâmico perderam sentido neste tipo de técnica, sendo descartadas ou

modificadas neste modelo.

As variáveis de Requisitos, de Software Desenvolvido e de Software

Planejado transformaram-se no nodo denominado Requisitos/Tamanho SW

(software).

Já a Taxa de Alocação de Pessoal, no sistema dinâmico, tornou-se o nodo

Alocação, que sofre influência do nodo Requisitos e exerce nos nodos de Pessoal

Novo e Pessoal com Experiência (que trata-se da tradução da variável Pessoal com

Experiência necessária para Treinamento em sistemas dinâmicos).

Além das traduções de algumas variáveis e exclusão de outras, há no modelo

de Rede Bayesiana o nodo de Tempo, que não possui uma variável no sistema

dinâmico. Isto porque o tempo exerce uma influência diferente nos dois modelos.

Page 34: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

34

No sistema dinâmico além do tempo de simulação ser informado no início da

mesma, é possível atribuir uma variável temporal ligada à outra, como ocorre na

variável de Software Planejado. Contudo, na Rede Bayesiana, para verificar o tempo

é necessário a criação de um nodo para tal.

Figura 9- Lei de brooks modelada em redes bayesianas Fonte: Autoria própria

3.3.2 Retrabalho

A questão do retrabalho trata-se de um problema constante e inerente a

maioria dos projetos de desenvolvimento de software.

Geralmente o aumento do custo de correção aumenta significamente

conforme o defeito avança nas fases de desenvolvimento (PRETZ, 2009).

Há inúmeras causas relacionadas ao surgimento de retrabalho apontado em

diversos artigos relacionados, sendo os mais freqüentes:

a) Restrições desconhecidas só descobertas durante o projeto

b) Restrições muito subjetivas

c) Testes modelados de forma ineficiente

Page 35: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

35

d) Codificação

e) Entendimento incorreto do requisito

Por ser um ponto tão importante dentro de projetos, optou-se por considerar

este problema no estudo. Segue abaixo os modelos desenvolvidos:

Figura 10 - Modelo exemplificando retrabalho em sistema dinâmico Fonte: Autoria própria

O modelo de sistema dinâmico para representação do retrabalho traz quatro

taxas, a taxa de Descoberta de Tarefa, Desenvolvimento da Tarefa, Tarefa

Incorretamente Desenvolvida e Tarefa Desenvolvida Corretamente.

Na rede bayesiana tais taxas foram substituídas pelos nodos Tarefas, Tarefas

Incorretas e Retrabalho, pois não havia a necessidade de migrar as demais variáveis

para representar este modelo.

Page 36: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

36

Figura 11- Modelo exemplificando retrabalho em redes bayesianas Fonte: Autoria própria

3.3.3 Curva de Aprendizado

Considerando-se outros trabalhos relacionados a estimativas, outro vilão,

freqüentemente citado, que pode afetar a realização de um projeto de

desenvolvimento de software dentro do tempo previsto é a questão da

aprendizagem das pessoas envolvidas no projeto.

Devido a isto, as curvas de aprendizado, criadas inicialmente em 1936, foram

desenvolvidas para auxiliar gerentes de projetos no monitoramento de desempenho

de um ou mais recursos submetidos a uma nova tarefa ou projeto.

Destaca-se que o problema da curva de aprendizado pode ser considerado

com uma parte de todo o contexto da Lei de Brooks.

Segue abaixo as modelagens realizadas:

Page 37: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

37

Figura 12- Modelo exemplificando curva de aprendizado em sistema dinâmico Fonte: Autoria própria

No modelo de sistema dinâmico, para representar a questão da Curva de

Aprendizado em Projetos, há apenas uma taxa, a Taxa de Desenvolvimento, mas há

as variáveis de Pessoal, Produtividade, Curva de Aprendizado, Percentual de

Tarefas Completas e Tamanho do Trabalho. Analisando-se o modelo acima,

percebe-se que a variável que irá ditar a curva de aprendizado é a quantidade de

Tarefas Completas. Segue abaixo a imagem enfatizando a curva de aprendizado,

quando da simulação deste modelo.

Figura 13- Simulação da curva de aprendizagem em sistema dinâmico Fonte: Autoria própria

Contudo, para a transcrição deste modelo para rede bayesiana, a Taxa de

Desenvolvimento e as variáveis de Tamanho do Trabalho e Tarefas Completas

estão representadas pelo nodo Tarefas Completas, como mostra a figura 14.

Page 38: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

38

As demais variáveis, com exceção da relativa ao Percentual de Tarefas

Completas, se mantiveram como nodos na rede.

Figura 14- Modelo exemplificando Curva de aprendizado em redes bayesianas Fonte: Autoria própria

3.4 Critérios de Análise

Há inúmeros trabalhos de autores de áreas distintas que se propõem a definir

critérios diferentes de avaliação de modelagem e simulação.

Apesar de constituírem estudos diferenciados, com foco nos mais variados

tipos de simulação, muitos deles apresentam vários critérios em comum.

Dentre estes trabalhos, três foram escolhidos para balizar os critérios de

avaliação utilizados nesta pesquisa, que seguem abaixo:

a) Jerry Banks – Em seu livro “Handbook of Simulation”, publicado em 1991,

divide a analise em cinco critérios principais de avaliação: critérios de entrada, de

processamento, de saída, de custo, e de suporte. Estes critérios ainda possuem

sub-critérios elencados que auxiliam na avaliação.

b) Lesley Davis e Glyn Williams – Propuseram no artigo “Evaluating and

Selecting Simulation Software Using the Analytic Hierarchy Process”, publicado em

Page 39: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

39

1994, os critérios de custo, integralidade do sistema, integração com outros

sistemas, documentação, treinamento, facilidade de uso, hardware e instalação e

questões vinculadas a fornecedores. Como o trabalho também apresenta sub-

critérios e se propõe a mais uma avaliação mais elaborada.

c) Jalal Nikoukaran, Vlatka Hlupic e Ray J. Paul – Publicaram no artigo

“Criteria for Simulation Software Evaluation”, em 1998, os critérios do fornecedor, de

desenvolvimento do modelo e entrada, de execução, de animação, de eficiência e

teste, de saída e critérios do usuário. Esta pesquisa, mais focada em projetos de

software, se baseia na experiência dos autores, trazendo critérios para próximos do

cenário de desenvolvimento.

Para esta pesquisa, decidiu-se mesclar os critérios de análise dos três

trabalhos citados acima, para garantir uma melhor avaliação, sem priorizar uma

pesquisa especifica.

3.5 Estudo Comparativo

Como explicado ao longo deste trabalho, devido ao fato de muitos estudos,

teses e pesquisas buscarem resolver o problema da geração de estimativas em

projetos de software através de simulações realizadas utilizando-se Redes

Bayesianas e Sistemas Dinâmicos, optou-se por se realizar esta análise comparativa

de forma a balizar a escolha de uma delas em trabalhos futuros.

Para a realização desta pesquisa foram modeladas e simuladas três

situações corriqueiras e que refletem na geração de estimativas dentro de projetos

de desenvolvimento de software que são a questão do retrabalho, a curva de

aprendizado e a famosa Lei de Brooks, já descritas anteriormente.

A tática adotada foi buscar estas três situações modeladas na forma de

Sistema Dinâmico e realizar a transcrição para a Rede Bayesiana e, após isso,

realizar a análise comparativa em si.

Contudo, quando se trabalha com modelos com características e

funcionamento tão distintos,sendo eles determinísticos ou probabilísticos, um dos

modelos tende a sofrer certas modificações de maneira que se obtivesse o cenário o

mais parecido possível entre os mesmos.

Page 40: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

40

Levando em consideração esta adversidade, foram modeladas as redes

bayesianas destes sistemas da forma mais próxima possível do sistema dinâmico,

mas de forma a manter a integridade e contexto do problema corretamente.

Para garantir a integridade das variáveis, foram consideradas, além da

experiência do orientador, a opinião de outros profissionais da área de software.

Antes de iniciar a descrição da análise, é necessário enfatizar que, para

realizar estimativas em cima de simulações o gerente deve estar atento que,

independente da técnica escolhida, deve-se escolher uma boa ferramenta e,

principalmente, definir muito bem a modelagem, para que a estimativa seja válida.

Com relação à escolha das ferramentas, esta pesquisa utilizou a versão de

uso pessoal e limitada do Nética, para Redes Bayesianas, e a versão também

gratuita do Vensim.

Apesar das limitações de recursos devido ao fato de serem versões gratuitas,

isto não invalida este estudo, pois não houve nenhum recurso extremamente

necessário a modelagem e simulação que estivesse ausente nas mesmas.

Os critérios considerados nesta análise comparativa foram divididos em três

grandes grupos:

a) Ferramenta

b) Modelagem

c) Simulação

Por já haver um capítulo dedicado as ferramentas, segue abaixo a análise

quando da utilização das técnicas sob a perspectiva da modelagem e simulação,

seguida dos quadros comparativos, bem como a posterior conclusão, com base na

experiência e resultados obtidos.

3.5.1 Modelagem

Quando da modelagem de um sistema ou parte dele, deve ser considerado os

pré-requisitos necessários para a construção deste modelo, como o conhecimento

prévio por exemplo.

Foi verificado que o conhecimento prévio pesou mais quando da modelagem

de sistemas dinâmicos do que Redes Bayesianas.

Page 41: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

41

Isto se verifica, pois, além de haver a necessidade do conhecimento do

funcionamento de um sistema dinâmico e sua relação de casualidade, há ainda a

questão matemática envolvida, sendo que trata-se de uma técnica de causa -

conseqüência fundamentada em equações, que podem ser ou não derivadas.

Além desta constatação, foi verificado que em outros trabalhos relacionados

também houve uma curva de aprendizado relativamente alta, devido ao grau de

complexidade relacionado à formulação das equações, que são à base desse tipo

de técnica.

Há três tipos de variáveis a serem utilizadas durante a definição de um

modelo em sistema dinâmico:

a) Auxiliares- são variáveis que são definidas com um valor inicial, mas

que podem receber outro valor durante a simulação. Ao ser alterado seu valor,

influencia nas demais variáveis com formulas pré-definidas.

b) Variáveis de Nível- possuem fórmulas pré- estabelecidas, levando em

conta as auxiliares, mas não podem ser alteradas durante a simulação.

c) Taxas – são as equações chave, que vão ditar o comportamento do

sistema dinâmico ao longo do tempo estabelecido de simulação. Não sofrem

alteração durante a simulação.

Tendo em vista estes tipos de variáveis, percebe-se que, para a modelagem

de um sistema dinâmico é imprescindível a criação de equações e um certo domínio

no desenvolvimento das mesmas.

Já, com relação a Redes Bayesianas, após definido as variáveis,

denominadas como nodo nesse tipo de técnica, há apenas a necessidade de definir

a relação nas tabelas probabilísticas.

Apesar de aparentar ser mais simples, a modelagem em redes bayesianas

também demanda conhecimento prévio quando da definição dos nodos e da relação

de casualidade entre eles, mas certamente apresenta uma maior facilidade quando

da necessidade do aprendizado.

Todavia, o fator mais problemático da utilização da Rede Bayesiana é a

qualidade das probabilidades. Para estimativas mais exatas há a necessidade de um

especialista inferir os valores iniciais da rede. Porém, na ausência de um, pode-se

aplicar valores aleatórios e, devido ao aprendizado desse tipo de técnica, é possível

ir aprimorando os relacionamentos da rede com tempo e conforme a mesma vai

sendo utilizada.

Page 42: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

42

Com relação à documentação e material disponível, as duas técnicas, bem

como suas ferramentas, dispõem de um vasto conteúdo devido à forte utilização das

duas.

Tanto no site do Nética quando do Vensim, por exemplo, há manuais relativos

ao funcionamento tanto da técnica, relatando a questão da importância e da

funcionalidade, quando com relação à ferramenta. Considerando o Nética, além de

exemplos de modelos no site, foram instalados exemplos com a ferramenta e, o

Vensim apenas no site.

Durante a modelagem das duas técnicas, percebe-se que há críticas quando

da inserção de dados incorretos. Não há como executar a simulação se houver uma

tabela sem a definição de probabilidade correta, no caso de redes bayesianas, ou se

a definição da equação não envolver todas as variáveis vinculadas no Vensim.

3.5.2 Simulação

Com relação à execução da simulação, as duas técnicas são de fácil

aprendizagem e visualização.

Os sistemas dinâmicos apresentam gráficos para apresentar os resultados e

permite a alteração das variáveis auxiliares para a verificação das tendências do

sistema como um todo.

Por exemplo, ao se alterar a quantidade de pessoas em um projeto,

percebem-se alterações nos gráficos das demais variáveis do sistema.

Tendo em vista tal característica, percebe-se que, a técnica de sistema

dinâmico é extremamente indicada para cenários grandes, com muitas variáveis

envolvidas, e levando em consideração um tempo maior de simulação, pois é mais

fácil a visualização das casualidades através dos gráficos.

Na rede bayesiana, percebe-se a casualidade dos nodos relacionados através

da alteração dos percentuais de um especifico.

Por exemplo, ao se alterar a probabilidade de um nodo, percebe-se a

alteração nas probabilidades nas variáveis mais próximas.

Page 43: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

43

Considerando estas características, verifica-se que, a técnica de redes

bayesianas é mais indicada para sistemas menores, para períodos de tempo mais

imediatos e com necessidade de uma verificação mais próxima.

Ou seja, quando da necessidade de verificar a influência de uma variável

sobre o sistema como um todo, os sistemas dinâmicos permitem a visualização mais

imediata ao gestor.

Porém, quando da necessidade de verificar um subsistema, com maior

exatidão de influência, o mais indicado são as Redes Bayesiana, até pela sua

característica probabilística e pelo possível aprendizado da mesma.

Isto ocorre, pois, em sistema dinâmico, o sistema é todo ligado através das

taxas definidas, já nas redes bayesianas a casualidade é mais especifica.

Segue abaixo o quadro comparativo relativo às ferramentas utilizadas neste

estudo. Destaca-se que, com relação à licença do software, todas as ferramentas

pesquisadas, incluindo o Nética e o Vensim, possuem uma licença para aprendizado

e outras versões proprietárias não sendo isto, portanto, um impedimento para a

utilização de nenhuma das duas técnicas.

Page 44: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

44

Ferramenta

Critérios Redes Bayesianas Sistemas Dinâmicos

1. Aquisição da licença de software

O Nética possui uma versão gratuita, que apresenta limitação de nodos e não possui suporte a aprendizagem da rede.

As versões pagas variam entre o valor de duzentos e oitenta e cinco a quinhentos e oitenta e cinco dólares.

É possível adquirir qualquer uma das licenças pelo site da Norsys http://www.norsys.com

Possui uma versão gratuita para uso educacional e pessoal com limitação de saída e recursos.

A licença da versão completa denominada como PLUS possui um valor de cento e sessenta e nove dólares.

É possível comprar pelo site do Vensim http://www.vensim.com

2. Há alguma restrição quanto a hardware ou Sistema Operacional?

A última versão está disponível para os sistemas Windows (95/98/NT4/2000 /XP/Vista) e Mac OSX

A ultima versão está disponível para os sistemas Windows (XP/VISTA/7) e Mac OSX (10.4+)

3. Possui interface para outros softwares?

O nética possui API’s para Java, C, C#, Visual Basic, C++,Matlab e CLisp.

Não foram encontradas API’S nem webservices no site do Vensim.

4. É de fácil instalação? É necessário apenas descompactar o arquivo no diretório C.

Instalação através de executável.

5. Possui boa documentação?

Possui fóruns, livros, manual, exemplos no site da Norsys além dos exemplos que são instalados juntos com a ferramenta. Tem também a opção de treinamento, consultoria além da documentação das API’s

Possui fóruns, Wiki, tutoriais, livros e treinamento no site do Vensim

Quadro 1- Comparativo considerando as ferramentas Fonte: Autoria própria

Segundo Banks (1991), para a classificação e escolha de uma técnica de

modelagem, deve ser considerado os aspectos relacionados como o tempo de

desenvolvimento do modelo, a complexidade e o treinamento necessário.

Segue abaixo os critérios utilizados para avaliar o processo de modelagem

das técnicas de Redes Bayesianas e Sistemas Dinâmicos.

Page 45: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

45

Modelagem

Crit érios Redes Bayesianas Sistemas Dinâmicos

1. É de fácil aprendizado?

Exige conhecimento prévio em Redes Bayesianas e em tabelas de probabilidade. Apresenta uma curva de aprendizado menor que sistemas dinâmicos.

Exige conhecimento prévio em Sistemas dinâmico e em equações matemáticas derivadas.

Possui um ciclo de aprendizado mais complexo.

2. Possui manuais que auxiliem na modelagem?

Sim, possui uma vastidão de materiais, livros e trabalhos relacionados devido à forte utilização da técnica. Além disso, há ainda o manual e o site da Norsys.

Sim, possui uma vastidão de materiais, livros e trabalhos relacionados devido à forte utilização da técnica. Além disso, há ainda o manual e o site do Vensim.

3. Possui exemplos de modelos já prontos?

Sim, além de vários modelos disponíveis nos trabalhos relacionados, são instalados mais de dez tipos de exemplos na ferramenta escolhida.

Há ainda inúmeros outros modelos no site também.

Sim, além de vários modelos disponíveis nos trabalhos relacionados, há alguns modelos no manual.

4. O processo de modelagem demanda muito tempo?

A técnica de Redes Bayesianas não demanda muito tempo, pois apesar de exigir conhecimento prévio de conceitos e funcionamento, a fase mais complexa é a definição das probabilidades nas tabelas dos nodos modelados. Essa definição pode ser realizada por um especialista ou a rede pode aprender conforme é utilizada.

A técnica demanda um tempo maior de modelagem, pois além de haver a necessidade do conhecimento do funcionamento de um sistema dinâmico e sua relação de casualidade, há ainda a questão matemática envolvida, sendo que trata-se de uma técnica de causa - conseqüência fundamentada em equações, que podem ser ou não derivadas.

5. Há criticas durante a modelagem de dados de entrada inválidos?

Sim, não é possível realizar simulação se há dados probabilísticos incorretos.

Sim, não é possível realizar simulação se há formulas incompletas ou variáveis não inicializadas.

Quadro 2- Comparativo considerando a etapa de modelagem Fonte: Autoria própria

Page 46: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

46

Com relação à simulação, todos os trabalhos relacionados considerados

nesta pesquisa, consideram a facilidade de visualização dos resultados como o fator

principal quando da escolha de uma técnica para auxiliar na tomada de decisão.

O quadro 3 apresenta os critérios analisados para comparar o processo de

simulação.

Simulação

Critérios Redes Bayesianas Sistemas Dinâmicos

1. Qual o grau de complexidade para executar uma simulação?

Baixo, pois a visualização dos resultados bem como a alteração de variáveis do cenário durante a simulação são realizadas de forma simples.

Baixo, pois a visualização dos resultados bem como a alteração de variáveis do cenário durante a simulação são realizadas de forma simples.

2. Os resultados da simulação são de fácil compreensão?

Sim, a simulação é de fácil compreensão

Sim, a simulação é de fácil compreensão

Quadro 3- Comparativo considerando a etapa da simulação. Fonte: Autoria própria

Page 47: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

47

4 CONCLUSÃO

Este trabalho apresentou um estudo comparativo entre as técnicas de Redes

Bayesianas e Sistemas Dinâmicos através da modelagem e simulação de cenários

pertencentes à área de desenvolvimento de projetos de software, trazendo a

experiência de utilização na modelagem, simulação e análise dos resultados obtidos.

Muitos trabalhos buscam minimizar a questão dos erros vinculados a

realização de estimativas em projetos de desenvolvimento de software utilizando as

técnicas de Redes Bayesianas e Sistemas Dinâmicos. Todavia, poucos deles

preocupam-se em descrever o porquê e que fatores motivaram a escolha de

utilização destas técnicas.

Tendo em vista isto, este trabalho se propôs a balizar as futuras pesquisas

quando da escolha de uma destas técnicas analisadas, através da analise realizada

neste trabalho. Esta pesquisa apresentou também modelos propostos em redes

bayesianas para situações retratadas apenas em sistemas dinâmicos na literatura,

além da análise comparativa entre as ferramentas utilizadas, Vensim e Nética.

Ao final deste estudo, concluí-se que, devido a características já exploradas e

identificadas ao longo deste, a técnica de sistema dinâmico é mais indicada para a

análise do sistema como um todo, ou seja, na influência que uma variável pode

exercer no cenário inteiro ao longo do tempo estabelecido. Para verificar de forma

rápida, por exemplo, a influência de um novo recurso no projeto, como ocorre no

modelo da Lei de Brooks, é mais fácil a visualização dos impactos nas demais

variáveis através do modelo de sistema dinâmico.

Já, a rede bayesiana é mais indicada para sistemas menores ou subsistemas,

para períodos de tempo mais imediatos e com necessidade de uma verificação mais

próxima, ou seja, para verificar a influência direta entre as variáveis ou eventos mais

exatos. No mesmo exemplo citado anteriormente, da Lei de Brooks, para verificar a

influência que a adição de um recurso exerce na carga de treinamento, é mais exata

a visualização na rede bayesiana.

Portanto, entende-se que, apesar das duas técnicas serem muito utilizadas, o

ideal seria que fossem aplicadas para objetivos de visualizações diferentes,

dependendo da situação que se deseja compreender. Por exemplo, para verificar de

forma rápido a influência do retrabalho em um projeto, de forma a identificar quais

Page 48: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

48

suas causas, a modelagem em sistema dinâmico é mais indicada. Contudo, se a

intenção é saber com maior exatidão, qual a influência de uma variável específica

sobre o retrabalho, o melhor é a modelagem em redes bayesianas. Outro ponto

verificado é que, as duas técnicas são compatíveis no quesito referente à

possibilidade de modelagem de problemas iguais, alterando-se alguns pontos, no

entanto, são completamente diferentes quando da visualização dos resultados.

Como trabalhos futuros, pode-se considerar outras técnicas para

comparação, também utilizadas para realizar estimativas em projetos de software,

como a utilização de Redes Neurais, por exemplo, em relação as técnicas de Redes

Bayesianas e Sistemas Dinâmicos

Page 49: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

49

REFERÊNCIA

ABDEL-HAMID, T. K.; MADNICK, S. E. Software Project Dynamics: An Integrated Approach. Englewood Cliffs, NJ: Prentice-Hall, 1991. BANKS, Jerry. Handbook of Simulation , Wiley, 1991. BARRY, Richmond. System Dynamics/Systems Thinking: Let's Just Get On With It, International Systems Dynamics Conference in Sterling, Scotland, 1994. BROOKS, F.P.; O Mítico Homen-Mês : Ensaios sobre a engenharia de software. Elsevier, 2009. CARNEIRO, Alexandre Lênin, Aprendizado automático em redes bayesianas , Dissertação de Mestrado em Ciência da Computação, Universidade de Brasília, Brasília, 1999. CHOI, KeungSik, BAE,Doo-Hwan, Dynamic project performance estimation by combining static estimation models with system dynamics, Information and Software Technology , V. 51, Issue 1, January 2009, Pages 162-172, 2009. CLEMENTES, P., L.M. Northrop, Software Product Lines - Practices and Patterns, Addison-Wesley, 2001. COSTA, Hua Lin Chang; Um Ambiente Cooperativo de Simulação para o Ensino de Gerência de Projeto de Software , Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2009. DEMARCO, Tom, Controle de Projetos de Software , Campus, 1991. FERNANDES, A C, Scorecard dinâmico: em direção à integração da dinâmica de sistemas com o balanced scorecard, Tese de doutorado, Programa de Engenharia de Produção, Rio de Janeiro, 2003. FREITAS, P.J, Introdução à Modelagem e Simulação de Sistemas. Visual Books- Santa Catarina, 2001. JAIN, R. The art of computer systems: Performance Analysis: Techniques for experimental design measurement, simulation and modeling. Wiley, New York, N.Y, 1991. JANISKI, Rafael, Explorando a Dinâmica da Produção de Serviços de Manutenção Industrial: Uma abordagem Sistêmica, Universidade Católica do Paraná, Paraná, 2006. KOEHLER, Cristiane, Modelagem de Redes Bayesianas a partir da Identific ação de Padrões em Base de Dados, Tese de Doutorado (Programa de Pós-Graduação em Computação) - Universidade Federal do Rio Grande do Sul, Porto Alegre, 2002.

Page 50: DANIELE PEREIRA FREITAS...DANIELE PEREIRA FREITAS ESTUDO COMPARATIVO ENTRE REDES BAYESIANAS E SISTEMAS DINAMICOS PARA APOIAR ASPECTOS DE PREDIÇÃO NO …

50

LAW, A. M., W. D. Kelton, Simulation Modeling and Analysis, 3rd ed. McGraw-Hill, New York, 2000. LEHMAN, M.M, Process Models, Process Programs, Programming Suppo rt . In: Proceedings of the 9th International Conference on Software Engineering, Monterey, CA, 1987. MADACHY, Raymond J., Software Process Dynamics , IEEE Press Editorial Board, 2007. Oliveira, P. E. L.. Aplicação de Redes Bayesianas na Administração Estr atégica das Organizações , Dissertação de Pós-Graduação: Universidade Federal de Pernambuco. 2007 PRESSMAN, Roger S., Engenharia de Software, McGraw-Hill, 2006. RUS, I.; COLLOFELLO, J.; LAKEY, P, Software Process Simulation for Reliability Strategy Assessment, International Workshop on Software Process Simulation Modeling,1998. RUSSEL, J. Stuart; NORVING, Peter, Artifical Intelligence: A modern Approach, Prentice Hall , 2003. STERMAN, John. D. Business Dynamics: Systems Thinking and Modeling for a Complex World, McGraw-Hill. 2000. STERMAN, John. D. System Dynamics Modeling: Tools for learning in a complex world. California Management Review, 2001. TOTLAND, T; CONRAD, R. A Survey and Classification of Some Research Areas Relevant to Software Process Modeling, 4th European Workshop on Software Process Technology, Noordwijkerhout, Holland, April, 1995. VASQUEZ, Carlos E; SIMÕES, Guilherme S. Albert, Análise de Pontos de Função , Erica, 2005.