TCC II - Definitivo

78
FACULDADE DE ESTUDOS AVANÇADOS DO PARÁ CURSO DE SISTEMAS DE INFORMAÇÃO EVERSON COOPER RODRIGUES SANTANA JULIO RICARDO GOMES MOTA SISTEMA GERENCIAL INTELIGENTE PARA COOPERATIVAS TEXTIL: UMA PROPOSTA PARA DESENVOLVIMENTO DE UM SISTEMA ESPECIALISTA 0

Transcript of TCC II - Definitivo

Page 1: TCC II - Definitivo

FACULDADE DE ESTUDOS AVANÇADOS DO PARÁCURSO DE SISTEMAS DE INFORMAÇÃO

EVERSON COOPER RODRIGUES SANTANAJULIO RICARDO GOMES MOTA

SISTEMA GERENCIAL INTELIGENTE PARA COOPERATIVAS TEXTIL: UMA PROPOSTA PARA DESENVOLVIMENTO DE UM SISTEMA

ESPECIALISTA

BELÉM

0

Page 2: TCC II - Definitivo

2010

1

Page 3: TCC II - Definitivo

EVERSON COOPER RODRIGUES SANTANAJULIO RICARDO GOMES MOTA

SISTEMA GERENCIAL INTELIGENTE PARA COOPERATIVAS TEXTIL: UMA PROPOSTA PARA DESENVOLVIMENTO DE UM SISTEMA

ESPECIALISTA

BELEM

2

Trabalho de conclusão de curso apresentado para obtenção do grau em bacharel em Sistemas de Informação pela Faculdade de Estudos Avançados do Pará.

Orientador: Prof. José Sarmanho

Page 4: TCC II - Definitivo

2010

3

Page 5: TCC II - Definitivo

EVERSON COOPER RODRIGUES SANTANAJULIO RICARDO GOMES MOTA

SISTEMA GERENCIAL INTELIGENTE PARA COOPERATIVAS TEXTIL: UMA PROPOSTA PARA DESENVOLVIMENTO DE UM SISTEMA

ESPECIALISTA

BANCA EXAMINADORA

1._________________________________ Prof. José Sarmanho – FEAPA

2._________________________________ nome do professor - FEAPA3._________________________________ nome do professor – FEAPA

Julgado em: ____ /____ / ______

Conceito: __________________

4

Trabalho de conclusão de curso apresentado

para obtenção do grau em bacharel em

Sistemas de Informação pela Faculdade de

Estudos Avançados do Pará.

Page 6: TCC II - Definitivo

Agradecimentos

Agradecemos a Deus, em primeiro lugar, por nos dar saúde, paciência, força para continuar nos momentos difíceis que eu não quero nem lembrar, enfim, muito obrigado senhor.

Ao professor e orientador Ms. José Sarmanho, que fez o máximo para que nosso projeto fosse concluído com sucesso.

A todos os professores que nos ajudaram no decorrer do trabalho.

Aos cooperados da “Cooperativa Paraíso dos Pássaros” por nos receber muito bem e aceitar participar do nosso projeto, pela dedicação do seu tempo para a reunião de levantamento de requisitos.

A todos os amigos que nos ajudaram e incentivaram no decorrer do trabalho em especial ao James e Rafael e Michelle.

5

Page 7: TCC II - Definitivo

Resumo

A inteligência artificial (IA) vem se desenvolvendo há muitos anos e atualmente é utilizada em Sistemas Informação no intuito de solucionar problemas de forma inteligente. Devido essa evolução desenvolvemos um projeto de sistema para à Cooperativa Têxtil Paraíso dos Pássaros com a proposta de criar um sistema que utiliza à linguagem PROLOG em um módulo que tem por objetivo sugerir o preço de produtos da cooperativa. Além disso foi proposto a implementação de funções básicas, a função gerar preço e interfaces simples e intuitivas no sistema. Após o levantamento de requisitos e sua análise, teve início o desenvolvimento do projeto. Um protótipo do sistema foi apresentado à cooperativa e foi constatado que a implantação do sistema vai auxiliar na organização dos dados da cooperativa.

Palavras-chave: Cooperativa, inteligência artificial, sistemas de informação, Prolog.

6

Page 8: TCC II - Definitivo

ABSTRACT

The artificial intelligence (AI) has been developing for many years and to-tually is used in Information Systems in order to solve problems intelligently. Because of this development project to develop a system for the Cooperative Textile Birds of Pa-radise with the proposal to create a system that uses the language PROLOG in a module that is intended to suggest the price of products of the cooperative. Moreo-ver, we proposed the implementation of basic functions-tion, the function generate price and simple interfaces and intuitive system. After the levan-ment of requirements and analysis, began developing the project. A prototype system was presented to the cooperative and it was found that deploy-ment of the system will assist in data orga-nization of the cooperative.

Keywords: Cooperative, artificial intelligence systems, information, Prolog.

7

Page 9: TCC II - Definitivo

LISTA DE ILUSTRAÇÕES

Figura 1: Participação da cooperativa no mercado.............................................................. 12Tabela 1: Diferenças entre sociedade cooperativa e sociedade mercantil................................ 13

Tabela 2: Definições de Inteligência Artificial....................................................................... 16Figura 2: Evolução das ferramentas de apoio ao desenvolvimento de software....................... 18

Figura 3: Diagrama de casos do uso do sistema Cooparte .............................................. 32Figura 4: Detalhamento do caso de uso Gerenciar produtos............................................... 33Figura 5: Diagrama de classes Cooperado.......................................................................... 35

Figura 6: Diagrama Entidade Relacionamento do sistema Cooparte ....................................... 37Figura 7: Tela de login.......................................................................................................... 39Figura 8: Tela inicial do sistema........................................................................................... 40Figura 9: Administração de Cooperados.............................................................................. 41Figura 10: Cadastro de Cooperados.................................................................................... 42Figura 11: Editar Cooperados.............................................................................................. 43Figura 12: Calcular Preço..................................................................................................... 44Figura 13: Detalhe Cooperados............................................................................................ 45Figura 14: Excluir Cooperado................................................................................................ 46Tabela 3: Visualização do Sistema....................................................................................... 47Gráfico 1: Visualização do Sistema......................................................................................48Tabela 4: Funcionalidade do sistema..................................................................................48

Gráfico 2: Funcionalidade do Sistema................................................................................... 49Tabela 5: Aceitação do Sistema.........................................................................................49

Gráfico 3: Satisfação com o Sistema......................................................................................... 50

8

Page 10: TCC II - Definitivo

SUMÁRIO1. INTRODUÇÃO....................................................................................................09

2. COOPERATIVA..................................................................................................12

2.1 COOPERATIVA PARAÍSO DOS PÁSSAROS..........................................14

3. INTELIGÊNCIA ARTIFICIAL..............................................................................15

3.1 PROLOG...................................................................................................16

4. PROJETO DO SISTEMA COOPARTE..............................................................18

4.1 FERRAMENTAS UTILIZADAS..................................................................18

4.1.1 Classgenerator.....................................................................................194.1.2 Workbench............................................................................................204.1.3 Astah.....................................................................................................214.1.4 Eclipse..................................................................................................224.1.5 Xampp...................................................................................................234.1.6 Mysql.....................................................................................................23

4.2 TECNOLOGIAS UTILIZADAS...................................................................24

4.2.1 UML.......................................................................................................254.2.2 PHP........................................................................................................254.2.3 CSS........................................................................................................264.2.4 HTML.....................................................................................................26

4.3 PROJETO COOPARTE............................................................................26

5.3.1 Análise de Requisitos..........................................................................284.4 MODELO DE DADOS...............................................................................35

4.5 STORYBOARD DO SISTEMA COOPARTE.............................................38

5. RESULTADOS OBTIDOS..................................................................................46

6. CONSIDERAÇÕES FINAIS................................................................................50

REFERÊNCIAS.........................................................................................................52

APÊNDICE.................................................................................................................54

9

Page 11: TCC II - Definitivo

1. INTRODUÇÃO

A administração das informações de uma organização é de fundamental

importância para seu bom funcionamento, pois é através delas que são tomadas as

decisões que podem representar sucesso ou fracasso da organização no mercado.

Devido o fluxo de informações aumentar constantemente nas empresas,

nota-se a necessidade de um sistema que possa gerenciá-las deixando-as

organizadas e a disposição de seus administradores. Em virtude das constantes

mudanças na sociedade com relação às informações o mercado requer que as

organizações se tornem inteligentes, além de, necessitar de um planejamento das

informações para serem auxiliadas pelos recursos da tecnologia da informação

(SPERB, 2006; NETO, 2006 apud REZENDE, 2002).

Rezende (2005) diz que a tecnologia da informação é o conjunto de

recursos tecnológicos e computacionais para prover manipulação de informações,

composto por hardware, software e recursos humanos para gerenciar e manipular

informações.

Para a sociedade este projeto é importante, pois as cooperativas são uma

forma de combater o desemprego, sendo que o projeto visou criar uma ferramenta

de apoio na organização das informações, sabendo que o bom controle das

informações pode ser um diferencial no mercado. Além disso, para nós esta é uma

experiência que irá enriquecer nossos conhecimentos, proporcionando levar o

conhecimento teórico à prática, resolvendo problemas reais, também temos que

considerar que este projeto poderá servir de referencial para outros trabalhos, pois

nele abordamos temas não muito explorados como cooperativismo e inteligência

artificial.

Em virtude da importância dos sistemas de informação em empresas,

organizações e cooperativas foi realizado um estudo na cooperativa “Paraíso dos

Pássaros”.

Segundo a OCB-PA (Organização das Cooperativas Brasileiras) e a

SESCOOP-PA (Serviço Nacional de Aprendizagem do Cooperativismo) na cidade

de Belém existem aproximadamente 187, sendo que uma grande parte delas não

possui um sistema para gerenciar suas informações.10

Page 12: TCC II - Definitivo

Em virtude disso, partimos do seguinte questionamento: como

desenvolver um software que atenda as necessidades da cooperativa “Paraíso dos

Pássaros”?

Levantamos as seguintes hipóteses:

A maioria das cooperativas belenenses encontram dificuldade para

gerenciar suas informações;

Algumas cooperativas não utilizam métodos eficientes e seguros para

armazenar e recuperar informações;

A inserção de um software que possua boa usabilidade, pode auxiliar

na organização de informações, tornando seus processos mais dinâmicos, eficientes

e seguros.

Objetivo geral

Propor o desenvolvimento de um sistema de forma a organizar as

informações da cooperativa, ele possui funções básicas como gerenciar compra,

venda, matéria-prima, fornecedores, cliente, cooperado, produto. Além dessas

funcionalidades será adicionada a função gerar preço, onde será utilizada

inteligência artificial para torna esta função mais simples.

Objetivos específicos

Para facilitar o entendimento do sistema focamos em alguns objetivos.

Levantamento de requisitos

Análise de Requisitos

Desenvolvimento do projeto de software

Desenvolvimento do banco de dados

Desenvolvimento do protótipo do sistema

Avaliação do protótipo do sistema pelos cooperados

Análise do resultado da avaliação do protótipo

O trabalho bibliográfico e de campo, nós proporcionou um melhor

entendimento do problema.

Além disso, o projeto teve a seguinte metodologia: o projeto de

desenvolvimento do software foi realizado baseado nas informações obtidas na

11

Page 13: TCC II - Definitivo

reunião feita com os principais integrantes da cooperativa, após a reunião

começamos os processos para desenvolvimento e documentação do sistema.

A cooperativa Paraíso dos Pássaros foi escolhida por ser necessário um

sistema que ajude na organização de suas informações.

A amostra da pesquisa foi de 5 pessoas que tem uma maior participação

e convivência na cooperativa.

O trabalho está estruturado em 6 capítulos:

O primeiro capítulo consta a introdução, explicando o tema proposto,

juntamente com a problemática, justificativa, hipótese e metodologia utilizada. O

capítulo dois, esta relacionado ao conceito de cooperativa. O capítulo três conceitua

inteligência artificial e Prolog. O capítulo quatro trata do projeto do sistema Cooparte

e as ferramentas utilizadas. No capítulo cinco comentamos as tecnologias utilizadas.

No capítulo seis finalizamos o projeto “Cooparte” explicando o processo de análise

dos requisitos, modelo de dados e Storyboard do sistema. E por último as

considerações finais, comentando sobre usabilidade, funcionalidade e importância

do sistema, além de aborda a importância da inteligência artificial, concluimos

mencionando os trabalhos futuros.

2. COOPERATIVAS

12

Page 14: TCC II - Definitivo

A cooperativa é uma forma de melhorar a situação econômica de seus

integrantes e de oferecer serviços com preços mais baixos para a sociedade,

principalmente para os indivíduos de baixa renda.

Segundo Crúzio (2000, p.13): Cooperativa é a união de trabalhadores ou profissionais diversos, que se

associam por iniciativa própria, sendo livre o ingresso de pessoas, desde

que os interesses individuais em produzir, comercializar ou prestar um

serviço não sejam conflitantes com os objetivos gerais da cooperativa.

Esquematicamente podemos representar essa relação como:

Figura 1. Participação da cooperativa no mercadoFonte: Sebrae Minas Gerais, 2010.

A figura 1 representa de maneira genérica como as cooperativas

interagem com a sociedade, analisando-a de baixo para cima, podemos perceber

que o ciclo começa com um grupo de pessoas que tem características ou

necessidades comuns que unem suas forças em prol de um objetivo comum,

surgindo assim a cooperativa. Pelo fato de vários indivíduos trabalharem na

cooperativa, conseqüentemente ela possui uma capacidade de produção e até de

inovação muito maior do que apenas um indivíduo, que gera uma maior

representatividade em frente ao mercado, isso gera um beneficio muito grande a

todos pois a cooperativa tem uma maior capacidade de barganha na compra e

venda de produtos ou serviços.

13

Page 15: TCC II - Definitivo

Tabela 1 - Diferenças entre sociedade cooperativa e sociedade mercantil

Sociedade Cooperativa Sociedade MercantilÉ uma sociedade de pessoas É uma sociedade de capitalObjetivo principal é a prestação de serviços

Objetivo principal é o lucro

Número ilimitado de cooperados Número limitado de acionistasControle democrático – um homem – um voto

Cada ação – um voto

Assembléias: “quorum” – é baseado no número de cooperados

Assembléias: “quorum” – é baseado no capital

Não é permitida a transferência das cotas-partes a terceiros, estranhos à sociedade

Transferência de ações à terceiros

Retorno proporcional ao valor das operações

Dividendo proporcional ao valor das ações

Fonte: OCESC, 2001.

A tabela 1 é explicada com mais detalhes logo abaixo de acordo com

cada item.

1º A sociedade cooperativa se difere da sociedade mercantil no que diz

respeito ao vínculo dos indivíduos com a organização. Na sociedade cooperativa os

indivíduos participam de forma igualitária nas decisões da sociedade. Enquanto a

sociedade mercantil o nível de participação nas decisões é definido pelo capital

investido;

2º A cooperativa tem como objetivo oferecer serviços à sociedade a

preços mais acessíveis e com qualidade, dessa forma ela pode competir com

instituições privadas no mercado. Na sociedade mercantil os investimentos são

feitos com objetivo de arrecadar o maior lucro possível;

3º A cooperativa não impõe um limite no número de sócios. Enquanto a

sociedade mercantil, impõe limite de sócios;

4º na sociedade cooperativa o investimento de capital não interfere

no número de votos,ou seja, cada membro da sociedade tem direito a um voto

independente do capital investido, ao contrário das sociedades mercantis que

tem o número de votos de acordo com o investimento;

5º No “quorum” de votações, as assembléias das sociedades

cooperativas são baseadas no número de sócios. Já nas Sociedades Mercantis o

“quorum” é baseado no capital investido; 14

Page 16: TCC II - Definitivo

6º Na sociedade cooperativa não é permitida que a quota de um titular

seja transferido a terceiros que não fazem parte da cooperativa, ou seja, mesmo que

o portador morra não é permitida a transferência de titularidade Na Sociedade

Mercantil a transferência ocorre sem nenhuma restrição;

7º A Sociedade Mercantil arrecada o lucro de acordo com o capital

investido. Já na cooperativa, os cooperados que tem maior participação nas tarefas

tem maior retenção das sobras;

2.1 COOPERATIVA PARAÍSO DOS PÁSSAROS

De acordo com seus fundadores a Cooperativa Paraíso dos Pássaros foi

fundada há aproximadamente quatro anos (2006) impulsionada pelo Projeto Una,

implantado pelo Governo do Estado do Pará e Prefeitura de Belém que em parceria

com o SEBRAE disponibilizaram cursos de capacitação para a comunidade do

Conjunto Paraíso dos Pássaros com o objetivo de gerar emprego e renda, foram

formadas três turmas (corte e costura, serigrafia e artesanato) cada uma com quinze

participantes.

Após o termino dos cursos os participantes se uniram e formaram a

Cooperativa Paraíso dos Pássaros que começou com vinte e um participantes, após

dois anos a Cooperativa Paraíso dos Pássaros com ajuda do SEBRAE foi

legalizada. A Cooperativa Paraíso dos Pássaros trabalha principalmente com

encomendas de roupas no estilo casual, também participa de eventos e feiras

expondo seus trabalhos.

Hoje (2010), com apenas sete cooperados a Cooperativa Paraíso dos

Pássaros, localizada na rua dos Tucanos, Cosanpa sem número está no seu quarto

ano de funcionamento e enfrenta grandes desafios como falta de capital, falta de

mão de obra qualificada e dificuldade na administração da cooperativa. As

atividades da cooperativa são divididas em administração onde trabalham dois

cooperados, os outros cinco trabalham apenas com a produção.

3. INTELIGÊNCIA ARTIFICIAL

15

Page 17: TCC II - Definitivo

A inteligência artificial é um campo complexo, pois estuda formas de

tornar os sistemas computacionais capazes de realizar tarefas e tomar decisões, ou

seja, ela procura simular em um sistema a inteligência de um ser humano. Por isso,

surgiu à ciência cognitiva para entender a inteligência humana, descrever e simular

raciocínio, linguagem, percepção, coordenação motora.

De acordo com Gonçalves (2009)É um ramo da ciência da computação que procura estudar, compreender e simular o pensamento dos peritos e a cognição humana. É muito ligada a ciência cognitiva, assim como, a neurociência, filosofia, psicologia e a linguística.A Ciência Cognitiva procura compreender a inteligência humana e tem o objetivo de descrever, explicar e também simular as principais disposições e capacidades do espírito humano como: raciocínio, linguagem, percepção, coordenação motora. A Inteligência Artificial com aplicação nos sistemas especialistas se utiliza desta ciência e procura escrever programas que copiem e reproduzam os modos como os seres humanos pensam, falam, compreendem, aprendem. Portanto, procura elaborar uma réplica da inteligência humana e aplicá-la nas diversas áreas da empresa.

Ela também é uma área multidisciplinar que depende da evolução de

outras áreas do conhecimento.

A inteligência artificial estuda como utilizar métodos em sistemas

computacionais com o objetivo de torná-los inteligentes e poderem desempenhar

funções normalmente feitas por seres humanos, como a capacidade de resolver

problemas, pensar de forma racional.

Russell e Norvig (2004, p. 4 e 5) destacam algumas definições de

Inteligência Artificial (IA) como segue no quadro abaixo:

Tabela 2: Definições de Inteligência Artificial

16

Page 18: TCC II - Definitivo

Sistemas que pensam como seres humanos

Sistemas que pensam racionalmente

“O novo e interessante esforço para fazer os computadores pensarem ... máquinas com mentes, no sentido total e literal.” (Haugeland, 1985)

“O estudo das faculdades mentais pelo uso de modelos computacionais” (Charniak e McDermott, 1985)

“[Automatização de] atividades que associamos ao pensamento humano, atividades como tomada de decisões, a resolução de problemas, o aprendizado ...” (Bellman, 1978)

“O estudo das duas computações que tornam possível perceber, raciocinar e agir.” (Winston, 1992)

Sistemas que atuam como seres humanos

Sistemas que atuam racionalmente

“A arte de criar máquinas que executam funções que exigem inteligência quando executadas por pessoas.” (Kurzweil, 1990)

“A inteligência Computacional é o estudo do projeto de agentes inteligentes.” (Poole et al., 1998)

Fonte: RUSSEL, 2004.

A tabela 2, do lado esquerdo mostra o quanto a inteligência artificial

pretende se aproximar do desempenho humano, enquanto o lado direito da tabela

trata do aspecto racional com a inteligência artificial.

3.1 PROLOG

A linguagem Prolog (Programação em Lógica) é uma linguagem de

programação declarativa, baseada em cláusulas de Horn1, que tem o algoritmo Sld-

Resolução embutido. Ela foi criada por Colmerauer e Roussel em 1972.

Prolog utiliza uma linguagem simbólica, não-númerica, que é utilizada na

resolução de problemas envolvendo objetos e relações entre objetos. Para isso, ele

possui uma base da dados que terá domínio sobre determinado contexto, dessa

forma ele fornece a resposta automaticamente assim que consultada.

A linguagem Prolog se constitui de fatos, regras e consultas.

1 cláusula de Horn é uma cláusula (disjunção de literais) com no máximo um literal positivo. Um literal positivo é dito uma cláusula definida (ou regra); uma cláusula de Horn sem literais positivos é às vezes dita cláusula objetivo (ou fato), especialmente no contexto da programação lógica.

17

Page 19: TCC II - Definitivo

O prolog implementa um algoritmo de raciocínio dedutivo. Para que o

algoritmo possa deduzir a presente situação, é necessário a implementação das

regras em sua base de dados.

Na realização de uma consulta à base de dados, o prolog retornará uma

resposta de acordo com a base implementada.

Exemplo 1: Programa 1 Filósofos

homem(sócrates).

mortal (X) :- homem (X).

O exemplo 1, estabelece o seguinte fato: “Sócrates é um homem”

homem (sócrates)e a seguinte regra: “X é mortal se X é homem”

mortal(X) :- homem(X).

Ou seja, um programa em prolog é composto por fatos e regras. Onde os

fatos são analisados e de acordo com as regras da base de dados a resposta é

deduzida.

18

Page 20: TCC II - Definitivo

4. PROJETO DO SISTEMA COOPARTEEste projeto visa a criar o protótipo de um sistema que auxilie a

administração de informações da Cooperativa. Este projeto está dividido em cinco

partes na primeira descrevemos as principais ferramentas utilizadas, na segunda

parte descrevemos as tecnologias utilizadas no projeto, na terceira parte entramos

no projeto do sistema onde foi realizada a análise de requisitos Na quarta parte foi

definido o modelo de dados (DER) e finalmente na quinta parte foi mostrado o

Storyboard com as principais telas do sistema.

4.1 FERRAMENTAS UTILIZADASSilva e Videira (2001) em seu livro relatam que há muito tempo existe

uma necessidade de ferramentas que auxiliem o programador nos processos de

desenvolvimento de software, essas ferramentas são conhecidas como CASE

Existem inúmeras interpretações para o acrônimo CASE, porém o mais

utilizado na literatura é a de (Computer Aided Software Engineering).

De acordo com Silva e Videira (2001, p.397) Definimos CASE como um conjunto de técnicas e ferramentas informáticas

que auxiliam o engenheiro de software no desenvolvimento de aplicações,

com o objectivo de diminuir o respectivo esforço e complexidade, de

melhorar o controle do projecto, de aplicar sistematicamente um processo

uniformizado e de automatizar algumas actividades, nomeadamente a

verificação da consistência e qualidade do produto final e a geração de

artefactos.

Figura 2. Evolução das ferramentas de apoio ao desenvolvimento de software Fonte: SILVA E VIDEIRA, 2001.

A figura 2, mostra a evolução das  ferramentas que auxiliam o

desenvolvimento de software. Podemos perceber que além da evolução das

ferramentas que estão divididas por funções como ferramentas específicas para 19

Page 21: TCC II - Definitivo

desenvolvimento do código como é o caso do Eclipse e Netbeans, para modelagem

de diagramas como Smartdraw, Dbdesing, Workbench entre outros. Podemos

confirmar isso quando Videira e Silva (2005, p.402) afirmam:A maioria das ferramentas CASE especializa-se sobretudo numa tarefa específica do processo de desenvolvimento de software. Algumas concentram-se na disponibilização de funcionalidades relevantes para a fase de concepção (por exemplo, elaboração de diversos diagramas), enquanto outras estão particularmente direccionadas para a fase de implementação (por exemplo, desenvolvimento visual, geração de códi- go e apoio à realização de testes).

A boa utilização de ferramentas CASE podem proporcionar muitas

vantagens no desenvolvimento de um software como: Uniformização do processo de

desenvolvimento, reutilização de artefatos como códigos, o tempo de

desenvolvimento é menor gerando como conseqüência o aumento da qualidade do

software.

4.1.1 Classgenerator

Segundo Nascimento appud Leal(2005, p. 30) O Classgenerator é uma ferramenta que integra um framework, um gerador de código e um gerador de artefatos [FRANÇA, 01], com o principal objetivo de automatizar o desenvolvimento de sistemas de informação ou sistemas que utilizem um SGBD relacional.

De acordo com os autores, o Classgenerator acelera o processo de

codificação do sistema gerando um CRUD2 com base em um banco de dados

presente em um SGBD. O código é gerado na linguagem PHP e no padrão de

projeto fachada.

Ainda de acordo com Nascimento(2008, p. 32) O Classgenerator tem por objetivo principal o auxilio na codificação dos

sistemas, uma vez que pode gerar classes básicas e interfaces. Para um

programador experiente o desenvolvimento de interfaces, ou classes de

interação e operações básicas não é considerado um quesito complexo na

concepção do sistema, no entanto essa atividade é dispendiosa para

codificação, tempo esse precioso.

2 CRUD é o acrônimo da expressão em língua Inglesa Create, Retrieve, Update e Delete, usada para definir quatro operações básicas usadas em bancos de dados relacionais (RDBMS) ou em interface para usuários para criação, consulta, atualização e destruição de dados

20

Page 22: TCC II - Definitivo

O Classgenerator foi desenvolvido pela por Marcelio Leal aluno da UFPA

e hoje está na sua versão 1.1 utilizando tecnologias como HTML4, CSS e Javascript,

ele é uma ferramenta que gera um framework PHP, com um CRUD já no Padrão de

Projeto Fachada através de um banco de dados relacional presente em um SGBD,

possibilitando um grande ganho de tempo na implementação de um sistema, sendo

necessário desenvolver apenas partes especificas de cada projeto.

De acordo com Leal (2005) os principais objetivos do Classgenerator são:

• Gerar e manter parte do sistema;

• Estabelecer um padrão que vise qualidade e produtividade, e de fácil

aprendizado;

• Transferir esforços para as atividades essenciais do desenvolvimento do

software, principalmente para especificação, projeto e teste;

• Diminuir a replicação de código, deixando públicas as interfaces disponíveis;

• Diminuir a incidência de erros, fazendo o controle de parte das atividades

acidentais do desenvolvimento;

• Dividir bem as responsabilidades de cada aspecto de um sistema, fazendo

com que o framework integrado à ferramenta consiga responder a maioria dos

aspectos que não devem ser gerados automaticamente;

• Deixar livre o desenvolvedor, fazendo com que o mesmo utilize toda sua

criatividade, sob qualquer estrutura, framework, tecnologia ou mesmo

plataforma.

4.1.2 Workbench

O Mysql Workbench é o sucessor do DBDesigner 4 que deixava um

pouco a desejar, era pouco eficiente. Seu sucessor apresenta uma interface

melhorada, mais fácil de usar e é mais estável que seu antecessor.

O Mysql Workbench é distribuído de duas formas, paga e grátis. Onde a

versão grátis (Workbench OSS) tem algumas funcionalidades indisponibilizadas para

uso.

A principal diferença entre a versão grátis é a versão paga (Standard

Edition) é a possibilidade de adicionar módulos e plugins.

21

Page 23: TCC II - Definitivo

Os plugins são desenvolvidos na linguagem Lua (original do Brasil),

porém os plugins ainda não estão disponíveis.

O Mysql Workbench é uma ferramenta gráfica que fornece mecanismos

simples para modelar, construir, gerenciar e manter bases de dados e simplifica a

execução de tarefas complexas de administração a ser exercida pelo Administrador

de Banco de Dados (DBA). Ele ajuda na construção de modelos lógicos para um

sistema, gera as tabelas e seus relacionamentos, faz inserção de dados nessas

tabelas e efetua a sincronização entre modelo lógico e a base de dados física.

Esta ferramenta possibilita aos desenvolvedores de sistemas ou DAs

(Data Architect – Arquitetos de Dados), uma forma simples de construir, gerenciar e

manter bases de dados OLTP, Web ou até mesmo DataWarehouses. OMySQL

Workbench simplifica a execução de tarefas complexas e as vezes, sujeitas a erro,

além de facilitar a comunicação entre o DBA, o DA, os desenvolvedores, e

eventualmente os usuários e administradores dos sistemas.

4.1.3 Astah

O Astah é o sucessor do Jude, que tornou-se o editor gratuito mais

utilizado por uma grandiosidade de recursos oferecidos e por sua praticidade em

elaborar diagramas completos. Ele é um editor UML leve integrado com ERD, DFD,

CRUD e recursos de mapeamento Mind para desenvolvedores de software.

Desenvolvedores, analistas, testadores e gerentes de TI podem se comunicar uns

com os outros de forma eficaz usando estes diagramas

O Astah possui 4 versões: ASTAH Community (gratuita), ASTAH UML,

ASTAH Professional e ASTAH SHARE

Os recursos disponibilizados pela ferramenta são:

Suporte a UML 2.1

Diagramas de Classe, Caso de Uso, Sequência, Atividade, Comunicação,

Máquina de Estado, Componentes, Implantação, Estrutura de Composição,

Objetos e Pacotes.

Ajustes de alinhamento e tamanho dos diagramas

22

Page 24: TCC II - Definitivo

Impressão dos diagramas (com a marca d’água da ferramenta)

Exportação das imagens dos diagramas (com a marca d’água da ferramenta)

Neste projeto utilizamos apenas o Astah Community

4.1.4 Eclipse

De acordo com Serson (2007) o eclipse é uma IDE desenvolvida em java,

(Ferrameta case para a construção de códigos) de código aberto para a construção

de sistemas de informação, seu projeto foi lançado pela IBM em 2001, porem hoje

ele é mantido por uma organização sem fins lucrativos a Eclipse Foundation

Hoje, o Eclipse é umas das IDEs mais utilizadas no mundo. Uma de suas

principais características é a forte orientação ao desenvolvimento baseado em

plugins e o amplo suporte ao desenvolvedor com centenas de plugins que procuram

atender as diferentes necessidades de diferentes programadores. Outra

característica, é que ele não é não instalado em necessita ser instalado no

computador, ele consiste em um arquivo compactado, onde basta efetuar o

download e descompactá-lo em um diretório.

Outras características do eclipse:

Gratuito, livre (free software) e de código aberto (open source).

Oferece recursos de produtividade, em refactoring, geração de código atalhos

e automação de desenvolvimento e escrita de código.

Possui apoio da comunidades e de grandes empresas e instituições.

Tem ambiente gráfico construído com a biblioteca de componentes SWT

própria do projeto Eclipse, combinando grande riqueza de componentes

gráficos e interface de usuário com desempenho e leveza que rivalizam o

Swing/JFC.

Possuir uma arquitetura de software aberta e extensível, permitindo que plug-

ins sejam criados e facilmente integrados ao Eclipse; existe uma grande

variedade de plugins disponíveis, entre gratuitos e comerciais, para adicionar

e ampliar toda gama de características e recursos ao IDE.23

Page 25: TCC II - Definitivo

O eclipse funciona em vários sistemas operacionais como: Windows XP,

Vista e 7, no Linux e Mac OS X. Para que ele funcione é necessário ter o java

instalado.

Como o Eclipse é uma IDE voltada para a linguagem Java, foi instalado

um plugin Phpeclipse

Segundo Burnette (2006) Desde os seus lançamentos aconteceram mais

de 50 milhões de downloads do eclipse e além de tudo uma ferramenta muito

utilizada pela comunidade de programadores

4.1.5 Xampp

Xampp é um software livre, em que vem incluído o SGBD MySQL, o

servidor web apache e interpretadores para PHP e PERL dentre outros softwares,

ele é independente de plataforma, ou seja, pode rodar em nos principais sistemas

operacionais (Windows, Solaris, Linux, Mac). Com ele não precisamos ter trabalho

baixando, instalando e configurando um software de cada vez, aumentando a

produtividade.

4.1.6 Mysql

Para Ferrari (2007, p. 9) A presença de todos esses elementos (dados e metadados) transforma o banco de dados em uma estrutura informática acessível por qualquer aplicação que seja capaz de explorar os metadados, extrair informações sobre os dados e tratá-los... Assim, os bancos de dados com essas características... contém mecanismos automatizados que se encarregam da gestão dos registros, por esse motivo são chamados de Sistemas de Gerenciadores de Banco de Dados Relacionais...

Um SGBD é o conjunto de programas de computador (softwares)

responsáveis pelo gerenciamento de uma base de dados. Para o desenvolvimento

de um software é de fundamental importância que os dados manipulados sejam

armazenados de forma segura e organizada para garantir a recuperação dos dados

de forma rápida e confiável. Para uma boa organização dos dados é necessário

ferramentas que possam gerenciá-los neste contexto é utilizado o Sistema de

Gerenciamento de Banco de Dados(SGBD).

24

Page 26: TCC II - Definitivo

Milani (2007, p.22) afirma que “O Mysql é um servidor e gerenciador de

banco de dados (SGBD) relacional de licença dupla, projetado inicialmente para

trabalhar com aplicações de pequeno porte”

São disponibilizados dois tipos de licença dependendo do tipo de uso do

Mysql, uma licença refere-se à GNU General Public License (GPL) que é uma

licença Open Source, ou seja, o programa pode ser copiado, modificado,

redistribuído sem restrições, nessa licença a utilização é gratuita. Para uso

comercial, a lincença é adquirida com a MySQL AB, essa licença é utilizada quando

se pretende criar um produto comercial ou manter o código fechado e também para

adquiri suporte técnico.

De acordo com a documentação do MySQL ele é um sistema de

gerenciamento de banco de dados relacional (SGBD) ou seja, ele pode armazenar

uma coleção de dados em tabelas separadas em vez de pôr todos os dados em um

só local, algumas de suas características são:

Open Source

Funciona em diversas plataformas

Suporte a muitos tipos de dados:FLOAT, DUPLO, CHAR, VARCHAR, BINARY,

VARBINARY, TEXTO, BLOB, DATE, TIME, DATETIME, TIMESTAMP, ANO, SET, ENUM

Suporte a operações e funções SELECT, WHERE, DELETE, INSERT, REPLACE

Suporte as funções SQL GROUP BY e ORDER BY cláusulas e funções de

grupo (COUNT (), AVG (), STD (), SUM (), MAX (), MIN (), GROUP_CONCAT ()).

Suporte para LEFT OUTER JOIN e RIGHT OUTER JOIN

Alias em tabelas e colunas conforme exigido pelo   SQL padrão.

Programas clientes do MySQL podem ser escritos em várias línguas como

APIs para C, C + +, Eiffel, Java, Perl, PHP, Python, Ruby e Tcl

Suporte para grandes bases de dados de até 50.000.000 registros

Os clientes podem se conectar via protocolo TCP / IP em qualquer

plataforma.

4.2 TECNOLOGIAS UTILIZADAS

Para a criação do sistema é necessário que sejam utilizadas tecnologias

para modelagem – que permite o melhor entendimento do sistema pois possibilita 25

Page 27: TCC II - Definitivo

sua visualização através de gráficos como UML – e codificação – linguagem de

código que utilizada para determinar a aparência ou comportamento do sistema.

4.2.1 UML

Segundo Fowler (2005 p.25)UML (Unified Modeling Language) é uma família de notações gráficas apoiada por um metamodelo único, que ajuda na descrição e no projeto de sistemas de software particularmente daqueles construídos utilizando o estilo orientado a objetos(OO).

Videira e Silva (2001, p.11) afirmam que: “O UML (Unified Modeling Language) é uma linguagem para especificação, construção, visualização e

documentação de artefactos de um sistema de software”

UML é uma tecnologia muito utilizada na engenharia de software para

resolver problemas de representações gráfica de processos do sistema, seu objetivo

é especificar, documentar, estruturar para sub-visualização e maior visualização

lógica do desenvolvimento completo de um sistema. A grande vantagem da UML é

que ela facilita o desenvolvimento do projeto, pois ela proporciona uma maior

facilidade no entendimento do projeto, além de padroniza-lo, ajudando a

determinar os parâmetros da infraestrutura do projeto. AUML possui vários

diagramas, cada um com um objetivo específico. Em nosso projeto utilizaremos

apenas diagrama de casso de uso que proporciona um melhor entendimento do

sistema por parte do cliente e o diagrama de classes que proporciona a visualização

do sistema de acordo com as classes neles existente.

4.2.2 PHPSegundo a documentação do PHP, ele é derivado do chamado PHP/FI

criado por Rasmus Lerdorf em 1995, inicialmente ele foi um simples scripts Perl.

Lerdorf nomeou esta série de script de 'Personal Home Page Tools' ,Em 1997,

PHP/FI 2.0, a segunda versão da implementação C, obteve milhares de usuários ao

redor do mundo.

O PHP é uma linguagem de criação de scripts embutida em HTML no

servidor. Também existem outras linguagens que são concorrentes do PHP como:

26

Page 28: TCC II - Definitivo

Active Server Pages da Microsoft, o Coldfusion da Allaire e as Java Server Pages da

Sun. A grande vantagem do PHP é que ele é inteiramente gratuito, compatível com

vários SGBDs como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL

PHP, como coletar dados de um formulário, gerar páginas dinamicamente

ou enviar e receber cookies. PHP também tem como uma das características mais

importantes o suporte a um grande número de bancos de dados, outros. Construir

uma página baseada em um banco de dados torna−se uma tarefa extremamente

simples com PHP.

Além disso, PHP tem suporte a outros serviços através de protocolos

como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir

sockets e interagir com outros protocolos.

Características do PHP:

Roda do “lado” do servidor;

É gratuito;

É embutido no HTML;

Suporta diversos bancos de dados;

É independente de plataforma;

É mais veloz que o C#;

Pode ser estruturado ou orientado à objetos;

4.2.3 CSS

CSS é o acrônimo para Cascading Style Sheets (Folhas de Estilo em

Cascata) que é uma linguagem utilizada para definir o estilo de documentos escritos

em uma linguagem de marcação como o HTML

A grande vantagem ao utilizar o CSS é que podemos separar o conteúdo

do estilo. Podendo fazer apenas uma classe CSS que irão servir para todas as

paginas do um sistema WEB e assim diminuindo o tempo para estilizar o sistema e

facilitando a manutenção.

4.2.4 HTML

Deitel (2001, p.50) define a HTML como:

27

Page 29: TCC II - Definitivo

Uma linguagem de marcação para a descrição dos elementos de um documento HTML (página web), de modo que um navegador como o internet Explorer da Microsoft, ou o Communicator da Netscape, possa Exibir a página

O HTML é uma linguagem de marcação para páginas web que, tem por

objetivo definir os elementos presentes em um documento web, para tal ela utiliza

tags que são instruções que possuem uma marca que identifica seu inicio e fim. A

HTML pode ser utilizada em conjunto com outras linguagens como o CSS,

Javascript, JSP, PHP entre outros.

Atualmente o HTML está na sua versão 5.0

4.3 PROJETO COOPARTE

Para a gestão de um projeto de software Rezende(2005) frisa quatro

parâmetros crucias para o bom desenvolvimento de software: Planejamento,

Organização, Direção e Controle.

De acordo com Rezende (2005), antes de começarmos a desenvolver um

software devemos estabelecer objetivos e criar estratégias para alcançá-los,

procurando utilizar da melhor forma possível todos os recursos. Para isso devemos

criar uma metodologia onde planejamos todos os “passos” necessários para a

criação de um sistema.

Nossa proposta é desenvolver um sistema (Cooparte) com a finalidade de

facilitar e organizar o processo de controle e administração da cooperativa têxtil

Paraíso dos Pássaros. Basicamente o sistema permite ao usuário inserir, recuperar

e excluir informações relevantes como cadastrar clientes, fornecedores, cooperados,

dados sobre compra de matéria prima e venda de produtos, além disso, ainda

possui um módulo inteligente que auxilia o cooperado a gerar o preço de um

determinado produto.

Ainda de acordo com Rezende (2005, p. 67) “A organização consiste em

determinar as atividades especificas necessárias ao alcance dos objetivos

planejados”.

Sendo assim, procuramos dividir o projeto em cinco etapas principais:

Análise de Requisitos, Análise de riscos, Cronograma, Definir as funções do

sistema, Implementação e Testes.

28

Page 30: TCC II - Definitivo

Após a conclusão do projeto o sistema será doado para a Cooperativa

Paraíso dos Pássaros sendo assim consideramos que orçamento não deveria fazer

parte das etapas do processo de construção do sistema, quanto aos teses

percebemos que o tempo seria insuficiente para que pudéssemos realizá-los

considerando o tamanho da nossa equipe .

4.3.1 Análise de Requisitos

Para Braude (2004, p. 405) “A análise de requisitos é o processo de

entender, e colocar no papel, uma declaração do que a aplicação destina-se a fazer

depois de construída”.

Rezende (2005, p.159) afirma que “O sucesso no desenvolvimento de um

projeto, sistema ou software depende do levantamento de dados”.

A análise de requisitos é uma fase crucial no projeto de um software, pois

nela definimos os requisitos funcionais, ou seja, o que é realmente necessário para

que o software atenda as necessidades do cliente. Uma análise de requisitos mal

feita pode fazer com que o sistema não atenda as verdadeiras necessidades do

cliente. Para que isso não ocorra necessitamos encontrar a melhor forma para

abstrair informações relevantes ao projeto (entender as necessidades do cliente) e

enfim documentar a análise (colocar no papel).

Existem vários métodos que nos auxiliam na busca de informações para

um projeto de software dentre elas estão entrevistas, questionários e reuniões cada

uma delas com seus prós e contras.

Para identificar a melhor técnica a ser utilizada, primeiramente

procuramos saber qual era o perfil das pessoas que trabalham na cooperativa

Paraíso dos Pássaros. Para isso realizamos uma pequena entrevista com o

professor Mário Sergio, que é o consultor da cooperativa e quem a indicou de

participar do nosso projeto. Conseguimos abstrair informações básicas sobre a

natureza do negócio (confecção de roupas) e do perfil dos cooperados. Os

cooperados em sua totalidade são mulheres entre 20 e 50 anos.

Com base nessas informações chegamos à conclusão que a melhor

forma de abstrair os requisitos do sistema seria através de uma reunião, pois com

ela poderíamos indagar as cooperadas sobre o funcionamento do negócio, suas 29

Page 31: TCC II - Definitivo

dificuldades e em que elas acham que o um sistema poderiam ajudá-las. A reunião

foi realizada na própria cooperativa o que foi muito oportuno, pois podemos ter

informações sobre o espaço físico, a existência de computadores ou não na

cooperativa, o contexto em que os membros da cooperativa se enquadram.

Sobre a cooperativa percebemos que não possui métodos administrativos

bem definidos, nem utilizam ferramentas para tal. Segundo a própria tesoureira da

cooperativa, o dinheiro era separado em sacolas cada uma com uma finalidade

(exemplo: pagamento de cooperados, eletricidade, entre outros).

Em relação aos cooperados, são mulheres de baixa renda, a cooperativa

é uma espécie de renda extra. Também podemos dizer que a maioria cerca de

oitenta por cento das cooperadas não possuem conhecimentos básicos de

informática ou possuem um baixo nível de escolaridade, que significa em uma

possível dificuldade quanto à utilização do sistema.

Outro fator importante é que a cooperativa ainda não possui computador,

a cooperativa fica localizada em uma área de risco, próximo a um terreno baldio da

Cosanpa, suas maquinas de costura já foram levadas duas vezes. Tornando difícil a

inserção de um computador na cooperativa, pois o mesmo poderia ser levado

ocasionando grande prejuízo não somente pelo computador mas principalmente

pelas informações que poderiam ser perdidas.

As cooperadas trabalham confeccionando roupas encomendadas, não

existe uma cooperada que trabalhe apenas com vendas ou divulgação, todas

costuram ou possuem bons conhecimentos sobre o assunto, elas não possuem um

cadastro com informações de clientes, fornecedores ou mesmo das próprias

cooperadas.

Com relação ao sistema as cooperadas não souberam expressar qual a

sua verdadeira necessidade com relação ao sistema. Então explicamos a elas o que

o sistema poderia ajudá-las.

Uma das dificuldades frisadas pelas cooperadas foi a dificuldade em

formar o preço de um determinado produto, outra dificuldade é a de armazenar

informações de forma segura e que possua facilidade para recuperá-las.

a) Descrição do problema

30

Page 32: TCC II - Definitivo

De acordo com a entrevista realizada na Cooperativa Paraíso dos

Pássaros percebemos a falta de uma ferramenta que possa auxiliar no processo

administrativo organizando dados e informações, na oportunidade as cooperadas

também relataram sua dificuldade para formular o preço de seus produtos.

b) Principais funções

Com base na reunião realizada na cooperativa Paraíso dos Pássaros

definimos o nome e as principais funções do software

O nome definido foi COOPARTE.

As principais funções do software são:

Cadastro:

Cooperados: Módulo do sistema que prove uma eficaz forma de

armazenar e recuperar informações relacionadas aos cooperados, inclusive login e

senha que são necessários para entrar no sistema;

Clientes: seu objetivo é guardar dados sobre os clientes e

posteriormente na segunda fase do projeto gerar relatórios e informações relevantes

para a cooperativa;

Fornecedores: o cadastro de fornecedores tem por objetivo armazenar

dados dos fornecedores;

Matéria prima: este módulo guarda dados da matéria prima que foi

comprada (data da compra, preço, quantidade, e a quantidade de matéria prima que

ainda está em estoque), assim como nos outros módulos em uma segunda versão

do sistema esses dados terão outras finalidades como gerar relatórios e dados

estatísticos;

Produtos: Apesar da cooperativa Paraíso dos Pássaros trabalhar

basicamente com encomendas este modulo deverá existir no sistema para guardar

dados relacionados aos produtos (Ex: camisa ‘X’, 2m tecido ‘A’, 4m linha ‘N’, data e

preço da ultima camisa vendida);

31

Page 33: TCC II - Definitivo

Vendas: Módulo do sistema que armazena saídas;

Compras: Módulo do sistema que armazenas saídas através de

compras, principalmente matérias primas e pagamentos.

Módulo Inteligente

Gerador de preço: Módulo do sistema voltado para obter o preço de um

determinado produto a partir de dados presentes no banco de dados ou obtidos

através de dados colocados pelos seus usuários

Observação: Em relação a este sistema nosso projeto futuro é fazer um

refinamento dos requisitos e criar uma versão com mais funcionalidades: transformar

os módulos de compra e venda em um sistema de caixa, prover relatórios

(estatísticos) com base nos dados cadastrados no sistema.

32

Page 34: TCC II - Definitivo

Figura 3. Diagrama de casos do uso do sistema Cooparte.

Na figura 3, visualiza-se graficamente os principais módulos do sistema.

No sistema haverá apenas um ator, ou seja apenas o cooperado irá interagir

diretamente com o sistema, para que ele possa acessar os módulos do sistema é

necessário que ele realize o login.

Os módulos de gerência têm relação com o armazenamento e

manipulação de informações, suas principais funções são cadastrar.

Figura 4. Detalhamento do caso de uso Gerenciar Produtos

Na figura 4, temos alguns métodos, para que o cooperado possa utilizá-

los, onde primeiramente ele terá que logar no sistema. O método Inserir serve para

cadastrar dados de novos produtos no sistema, logicamente se um produto não for 33

Page 35: TCC II - Definitivo

cadastrado seus dados não poderão ser manipulados e por isso os métodos Excluir,

Gerar Relatórios, Alterar possuem um include para o caso de uso Inserir.

Ator cooperado: é quem administra o sistema, ele pode cadastrar,

recuperar, alterar, visualizar e excluir registros no sistema

O caso de uso Inserir realiza o cadastro de cooperados no sistema,

bastando apenas o cooperado(ator) preencher o formulário e salvar. O sistema

enviará a mensagem de cadastro bem sucedido.

Dados como login, CPF e RG não podem estar duplicados no banco

então caso sejam inseridos dados que já exista no banco o sistema informará ao

usuário que essa informação já existe e não pode ser duplicada.

O caso de uso Excluir é chamado apartir de Gerenciar Cooperado

(extends) seu objetivo é deletar uma tupla da tabela cooperados, para isso

acontecer se faz necessário que já exista algum cooperado cadastrado no sistema.

O caso de uso Alterar retornta todas as informações de uma determinada

tupla do banco de dados em um form para que possa ser alterada. Apartir daí esse

caso de uso funciona que nem o Inserir, ou seja, caso haja algum documento como

RG e CPF que já exista na base de dados o sistema irá enviar a mensagem de

dados duplicados. Lembrado que para isso acontecer é necessário que exista pelo

menos um cooperado inserido na base de dados e por isso o include para inserir

O caso de uso Consultar tem por objetivo mostrar as informações do

banco de dados em uma tabela, com ela ainda podemos selecionar um registro

especifico para vê-lo em detalhes. Para que haja algo para se consultar se faz

necessário antes inserir registros no sistema

O caso de uso gerar relatórios cria um relatório com base nas

informações da tabela cooperados e de outros.

O caso de uso imprimir é uma opção do caso de uso relatório, sua única função é imprimir o relatório.

34

Page 36: TCC II - Definitivo

Figura 5. Diagrama de classes, Cooperado.

Na figura 5, a classe admCooperado é uma interface em que o cooperado

visualizará os dados principais dos cooperados outros possui os botões que dão

acesso a outras classes para cadastros, alterações, exclusão etc.

cadCooperado é a classe que faz a interface com o usuário para cadastro

de cooperados no sistema.

A classe detCooperados mostra para o usuário os dados detalhados de

um determinado cooperado.

A classe delCooperados é a classe que realiza a exclusão de registro do

cooperado selecionado. Já a classe editCooperados é classe que faz interface para

35

Page 37: TCC II - Definitivo

edição e alteração dos dados de cooperado. A classe Fachada é a classe de

negócios onde todas as requisições tem que passar por ela. As classes

CadCooperados, CadCooperaosBD e CadBD são responsáveis pela persistência

dos dados.

4.4 MODELO DE DADOSDate (2000, p. 1) afirma que:

Um sistema de bancos de dados é apenas um sistema computadorizado de armazenamento de registros. O banco de dados pode, ele próprio, ser visto como o equivalente eletrônico de um armário de arquivamento. Em outras palavras, é um repositório ou recipiente para uma coleção de arquivos de dados computadorizados.

Com base nestes conceitos podemos perceber que a maioria das

organizações (empresas, cooperativas, sociedades e outros) necessitam que seus

dados e informações sejam armazenados de forma organizada, segura e que

possua rapidez ao realizar consultas e manipulação de dados (mover, editar, excluir,

adicionar, alterar e etc.). O banco de dados é uma das melhores formas de garantir

que as organizações alcancem esses parâmetros e dependendo da realidade da

empresa um administrador de Banco de Dados pode programar a execução de

tarefas e comandos a fim de suprir as suas necessidades.

Para definir o banco de dados utilizaremos o Modelo Entidade

Relacionamento (MER) que é o mais indicado devido a sua eficiência e simplicidade,

ele é baseado na concepção do mundo real, ou seja, elementos que realmente

existem – chamados de entidades – como no caso de nosso sistema temos

cooperados, clientes, produtos entre outros e o relacionamento que entre eles

existem (OLIVEIRA; FERNANDES, TAVEIRA, 2004).

Para Leite (2008, p. 6) “O modelo relacional mais empregado é o

chamado Modelo Entidade Relacionamento - MER. O MER representa os dados

agrupados em tabelas, e como se relacionam, seguindo umas regras especificas a

priori”.

As entidades são representações de objetos que existem no mundo real,

elas possuem atributos que são suas características, em nosso sistema podemos

exemplificar com a entidade cooperados, cada cooperado possui características em

que seus dados devem ficar armazenados no sistema. Todo cooperado possui um 36

Page 38: TCC II - Definitivo

nome, RG, tem um sexo (masculino ou feminino), endereço entre outras

características.

O Diagrama Entidade Relacionamento (DER) nada mais é do que uma

forma de representar uma abstração do Modelo Entidade Relacionamento de forma

gráfica.

É de crucial importância que a modelagem do banco de dados seja

condizente com a análise de requisitos para que não haja problemas posteriores

(não atendimento de alguma necessidade do cliente ou acréscimos de entidades,

atributos desnecessários).

Figura 6. Diagrama Entidade Relacionamento do sistema Cooparte.

37

Page 39: TCC II - Definitivo

Na figura 6, o DER do sistema Cooparte, é possível observar suas

entidades – que são representadas em tabelas – com seus atributos. Também estão

presentes os relacionamentos e suas respectivas cardinalidades (a cardinalidade de

um relacionamento define o numero máximo e de vezes uma ocorrência pode

acontecer).

A entidade Cooperados irá armazenar dados importantes dos

cooperados, ela possui um relacionamento com vendas, pois caso seja necessário

poderemos identificar quem foi o cooperado que realizou uma determinada venda e

ainda poderemos saber quem foi o cliente porque o mesmo possui um

relacionamento com vendas.

As entidades vendas e ItensVenda servem para guardar as informações

dos produtos vendidos pela cooperativas aos seus clientes, já as entidades Compras

e ItensCompra armazenam dados das matérias primas adquiridas pela cooperativa.

A tabela produtos possui um relacionamento n x m com vendas onde nos

podemos ter uma lista de todos itens de produtos pertencentes a venda.

O relacionamento entre produtos e matéria primas possibilita sabermos

quais matérias primas formam um determinado produto. Da mesma forma o

relacionamento entre matéria prima e fornecedores, utilizou-se para saber qual foi o

fornecedor que vendeu uma determinada matéria prima. Na entidade itens compras

registramos as listas de compras de matérias primas.

38

Page 40: TCC II - Definitivo

4.5 STORYBOARD DO SISTEMA COOPARTE

Tela de Login:

Para garantir a segurança das informações, o cooperado terá que colocar seu login e senha, caso ambos estejam presente na base de dados a página será encaminhada para a tela inicial. Caso login ou senha estejam errados o sistema mostrará uma mensagem informando que o login ou a senha está errado.

Figura 7. Tela de Login

39

Page 41: TCC II - Definitivo

Tela inicial do sistema:Nesta tela o cooperado tem acesso a todas as funcionalidades do sitema,

bastando apenas o cooperado clicar no item do menu para acessar as informações

desejadas. Por exemplo, caso ele clique na opção do menu “cooperados” o sistema

mostrará dentro da tela informações sobre os cooperados e opções para cadastrar,

alterar, excluir e ver em detralhes.

Figura 8. Tela Inicial do Sistema

Administração de Cooperados:40

Page 42: TCC II - Definitivo

Nesta tela o usuário poderá ver as principais informações dos cooperados

codastrados e também selecionar operações como excluir, editar e detalhes, para

isso bastando apenas selecionar no radiobuton qual o registro desejado caso não

seja selecionado o sistema abrirá uma caixa de diálogo solicitadando a seleção, já

no caso do cadastro não é necessario fazer esta seleção. Após isso o sistema abrirá

uma tela de acordo com a escolha do usuário.

Figura 9. Administração de Cooperados

Cadastro de Cooperados:

41

Page 43: TCC II - Definitivo

Nesta de cadastro de cooperados (Figura 9) o usuário deverá preencher o

formulário corretamente para cadastrar um novo cooperado, após o cadastro o

sistema encaminhará para a tela de administração de cooperados mostrando uma

mensagem de sucesso. Caso o usuário tenha colocado o CPF ou RG que já exista

na base de dados, o sistema mostrará uma mensagem de erro: CPF ou RG

duplicado.

Figura 10. Cadastro de cooperados

Editar de Cooperados: 42

Page 44: TCC II - Definitivo

A tela de edição de cooperados (Figura 10) é similar a tela de cadastro de

cooperados, quando selecionada ela abre uma tela com o um formulário preenchido

para as devidas alterações a serem realizadas, após alterar os dados no form e

salvar o sistema deverá encaminhar para a página de administração de cooperados,

se o CPF, RG ou login forem alterados e para dados que já existam no banco o

sistema enviará uma mensagem de CPF, RG ou login duplicado.

Figura 11. Editar cooperados

Calcular Preço:

43

Page 45: TCC II - Definitivo

Na tela de Cálculo de Preço permite que o cooperado insira o nome da

matéria prima, o sistema verifica se ela existe na base de dados, caso não exista o

sistema informa que o matéria prima não existe, caso exista ele armazena o nome e

o preço da matéria prima na memória, clicando em add MP o cooperado pode inserir

outra matéria prima. A partir desses dados que o cooperado inserir no formulário o

sistema envia o uma sugestão de preço para o cooperado.

Figura 12. Calcular Preço

Detalhe Cooperados:

44

Page 46: TCC II - Definitivo

Ao selecionar a opção detalhes na tela de administração de cooperados o

sistema irá para a tela de Detalhes de Cooperados (Figura 13) que mostra as

informações detalhadas dos cooperados cadastrados no sistema.

Figura 13. Detalhe Cooperados

Exclusão de Cooperados:

45

Page 47: TCC II - Definitivo

Ao selecionar a opção excluir na tela de administração de cooperados o

sistema irá mostrará uma caixa de dialogo pedindo para confirmar a operação (figura

14).

Figura 14. Excluir Cooperado

5. RESULTADOS OBTIDOS

46

Page 48: TCC II - Definitivo

Apresentamos as cooperadas um protótipo do software com algumas

funções, com a finalidade de avaliar se o software realmente poderia suprir as

necessidades da cooperativa, para isso, após a apresentação do sistema aplicamos

um questionário com 13 questões, às três primeiras tinham o objetivo de medir a

satisfação das cooperadas quanto à visualização do sistema, as questões de 4 a 7

tinham finalidade de avaliar se as funcionalidades do sistema eram de fácil

utilização, na questão 8 procuramos avaliar o nível de facilidade para utilização do

gerador de preço, a questão 9 busca informações sobre a facilidade de visualizar

dados e finalmente a questão 10 tem por objetivo avaliar a usabilidade do sistema

de forma geral.

As outras três questões tem por objetivo verificar a opinião das

cooperadas em relação a importância do sistema como ferramenta para auxiliar na

administração da cooperativa As outras três questões têm por objetivo verificar a

opinião das cooperadas em relação à importância do sistema como ferramenta para

auxiliar na administração da Cooperativa Paraíso dos Pássaros.

Cinco cooperadas responderam ao questionário e apartir dele criamos

alguns gráficos como objetivo de visualizar os resultados obtidos.

Tabela 3 – Visualização do sistema

1- Aparência do sistemaexcelente bom regular ruim

Qtd. Resposta 3 6 5 1Resultado p/ nº de resposta (%)

20 40 33,33 6,66

Na tabela 3, estão as respostas das questões um, dois e três que visam

descobrir a satisfação das cooperadas com relação ao sistema.

47

Page 49: TCC II - Definitivo

Gráfico 1.

Resultados do questionário para visualização do sistemaFonte: Pesquisa de campo, Cooperativa Paraíso dos Pássaros, 2010.

O gráfico 1, demonstra a avaliação das cooperadas em relação à

aparência e visualização dos elementos do sistema, onde 20% das cooperadas

acreditam que a parte visual do sistema está excelente e 40% disseram que a

aparência está boa e apenas 7% não gostaram da aparência. Analisando estes

resultados acreditamos que a aparência do software está boa porem ainda precisa

ser melhorada.

Tabela 4 - avaliação das funcionalidades do sistema

1-Funcionalidades do sistemaexcelente bom regular ruim

Qtd. Resposta 4 9 12 5Resultado p/ nº de

resposta (%) 13,33 30 40 16,66

A tabela 4, mostra o resultado das questões de 4 a 9 que tem por objetivo avaliar se as funcionalidades do sistema possuem boa usabilidade e se atendem realmente as necessidades da Cooperativa.

48

Page 50: TCC II - Definitivo

Gráfico 2. Resultados do questionário para funcionalidades do sistemaFonte: Pesquisa de campo, Cooperativa Paraíso dos Pássaros, 2010.

No gráfico 2, 40% responderam que as funcionalidades do programa

estão acessíveis e atendem as suas necessidades enquanto 30% disseram que

nesta questão o sistema estava bom para 17% o sistema ainda não está atendendo

as necessidades. Com base nessa questão percebemos que é necessário realizar

um refinamento dos requisitos e para verificar o que está gerando essa insatisfação

e posteriormente criar formas de solucionar este problema.

Tabela 5 – Aceitação do sistema

Satisfação geralexcelente bom regular ruim

Qtd. Resposta 0 3 2 0Resultado p/ nº de resposta (%) 0 60 40 0

A tabela 5, corresponde às respostas da questão 10 que tem por objetivo avaliar a satisfação das cooperadas com relação ao sistema

49

Page 51: TCC II - Definitivo

Gráfico 3. Resultados do questionário para satisfação com o sistema Fonte: Pesquisa de campo, Cooperativa Paraíso dos Pássaros, 2010.

No gráfico 3, 60% das cooperadas consideraram que o sistema é bom, ou

seja, que ele atende a maioria das necessidades da cooperativa, já 40% disseram

que o software atende as necessidades porém ainda faltam melhorias importantes

50

Page 52: TCC II - Definitivo

6. CONSIDERAÇÕES FINAIS

No decorrer desta pesquisa foi possível perceber a dificuldade para

organização de dados e informações na Cooperativa Paraíso dos Pássaros. Uma

das dificuldades encontradas para tal é a não utilização de ferramentas (sistemas)

que possibilitem controlar esses dados. Isso acontece pelo fato das pessoas que

trabalham na cooperativa não possuírem bons conhecimentos em informática, sendo

assim, para essas pessoas um sistema simples pode ser difícil e complicado e desta

forma cria-se uma barreira para utilização dessas ferramentas em cooperativas com

essa característica.

Uma solução seria a construção de ferramentas especificas para as

cooperativas, no entanto, muitas vezes esta informação é desconhecida pelas

cooperativas ou sua aquisição é muito cara. Neste sentido desenvolvemos uma

ferramenta para cooperativa Paraíso dos Pássaros, em que o seu foco principal é a

simplicidade, usabilidade, no entendimento de que no futuro essa ferramenta

também possa contemplar outras cooperativas.

Vale ressaltar a utilização da Inteligência Artificial como foco do estudo,

onde procurarmos criar um modulo inteligente com objetivo de gerar o preço dos

produtos vendidos pela cooperativa.

Apesar de todos os nossos esforços acreditamos que ainda se faz

necessário um maior aprofundamento do estudo, visto que as cooperativas possuem

um papel econômico e social muito importante na sociedade e o software

desenvolvido atende apenas as necessidades mais básicas da Cooperativa Paraíso

dos Pássaros.

Com base nos resultados obtidos no questionário após a demonstração

do protótipo do sistema da Cooperativa, percebemos que a ferramenta desenvolvida

pode ser de grande valia para a mesma, embora ainda precise que sejam feitas

muitas melhorias no sistema.

Em síntese, este trabalho procurou desenvolver uma solução para uma

realidade existente em muitas cooperativas que é a falta de uma ferramenta de

apoio a gestão de dados. Após o reconhecimento do problema realizamos a

pesquisa científica no objetivo de encontrar as melhores soluções possíveis.

51

Page 53: TCC II - Definitivo

No futuro faremos um refinamento de requisitos e posteriormente criar os

módulos de relatórios. Também teremos a preocupação quanto à segurança das

informações, pois o colocaremos na web. Pretendemos também criar uma nova

versão do módulo inteligente, onde a parte dos cálculos será realizada em

linguagem LISP e na pesquisa da matéria prima haverá um código em Prolog para

que no caso de a matéria prima não existir no banco o sistema verificar as

possibilidades de matérias primas similares.

52

Page 54: TCC II - Definitivo

REFERÊNCIAS

BRAUDE, Eric. Projeto de Software. Porto Alegre. Bookman. 2005.

BURNETE, Ed. Eclipse IDE: Guia de Bolso. Porto Alegre. Bokman. 2006.

BORGES, Giselle. Sociedades Cooperativas X Sociedades Mercantis. Disponível em: <http://newjuris.blogspot.com/2009/06/sociedades-cooperativas-x-sociedades.html>. Acesso em 6 de abril 2010.

CORDEIRO, Sueli. O papel das cooperativas de trabalho no contexto das transformações da sociedade brasileira:Um Estudo de Caso no Município do Rio De Janeiro. Rio de Janeiro. 200. 114 f. Dissertação (Mestrado em Administração Pública) Centro de Formação Acadêmica e Pesquisa, Fundação Getulio Vargas. Rio de Janeiro. 2001.

COSTA, Rogério Luis de C.. SQL: guia prático. 2º edição. Rio de Janeiro. Brasport. 2006.

DATE, C.Introdução a Sistemas de Banco de dados. 7º ed. Rio de Janeiro. Campus. 2000.

ENTENDA a importância do Banco de Dados. Disponível em: <http://sisnema.com.br/Materias/idmat002096.htm>. Acesso em: 13 de maio 2010.

FERRARI, Fabrício. Crie Banco de Dados em MySQL. São Paulo. Universo dos livros Editora. 2007.

FOWLER, Martin. UML Essêncial: um breve guia para a linguagem padrão de modelagem de objetos. 3º ed. Porto Alegre. 2005

LEITE, Mário. Acessando Banco de Dados com ferramentas RAD: Aplicações em Delphi. Rio de Janeiro. Brasport. 2008.

GONÇALVES, Andréa. Inteligência Artificial e Sistemas Especialistas. Disponível em: <http://www.administradores.com.br/informe-se/artigos/inteligencia-artificial-e-sistemas-especialistas/33860/>. Acesso em: 4 abril 2010.

MANUAL de Referência do MySQL 4.1. Disponível em: <http://dev.mysql.com/doc/refman/4.1/pt/index.html>. Acesso em: 10 de março 2010.

MILANI, André. MySQL – Guia do Programador. São Paulo. Novatec. 2007.

53

Page 55: TCC II - Definitivo

NASCIMENTO, Rodrigo. Otimização do Classgenerator. Belém. 2008. 48 f. Trabalho de Conclusão de Curso (Graduação em Sistemas de Informação). Faculdade de Estudos Avançados do Pará, Belém, 2008.

OLIVEIRA, Antonio Ricardo de; FERNANDES, Leila Maria Pinheiro; TAVEIRA, Gilda Aché. Modelagem de Dados. 3ª reimpressão. Rio de Janeiro. Senac. 2004.

PRADO, Simone das Graças Domingues. Linguagem de Programação – PROLOG. Disponível em: www.inf.unisinos.br/~pjaques/material/Apostila%2001.doc. Acesso em: 06 de junho 2010.

PEREIRA, Silvio. Introdução à Linguagem Prolog. Disponível em: <http://www.ime.usp.br/~slago/IA-Prolog.pdf>. Acesso em: 05 de junho 2010.

REZENDE, Denis. Engenharia de Softwres e Sistemas de informação. 3º ed. Rio de Janeiro. Brasport. 2005.

RUSSEL, Stuart; NORVIG, Peter. Inteligência Artificial. 8º triagem. Rio de Janeiro. Campus, 2004.

SERSON, Roberto Rubistein. Programação Orientada a Objetos com Java 6. Rio de Janeiro. Brasport. 2007.

SILVA, Alberto Manuel Rodrigues da; VIDEIRA,Carlos Alberto Escaleira. UML, Metodologias e Ferramentas CASE. Porto – Lisboa. Centro Atlântico. 2001.

STAIR, Ralph M.; REYNOLDS, George W. Princípios de Sistemas de Informação. 4º ed. Rio de Janeiro. LTC, 1999.

54

Page 56: TCC II - Definitivo

APÊNDICE

Page 57: TCC II - Definitivo

Apêndice A

FACULDADE DE ESTUDOS AVANÇADOS DO PARÁ

Após a apresentação do protótipo do sistema foi aplicado o seguinte questionário:

Quanto à usabilidade e funções do sistema

1- Aparência do sistema?( ) excelente ( ) bom ( ) regular ( ) ruim

2- O menu é de fácil entendimento ?( ) excelente ( ) bom ( ) regular ( ) ruim

3- Visualmente foi possível entender as funções do sistema ?( ) excelente ( ) bom ( ) regular ( ) ruim

4- Quanto à facilidade para cadastrar informações no sistema ?( ) excelente ( ) bom ( ) regular ( ) ruim

5- Quanto à facilidade para visualizar informações no sistema ?( ) excelente ( ) bom ( ) regular ( ) ruim

6- Quanto à facilidade para alterar informações no sistema ?( ) excelente ( ) bom ( ) regular ( ) ruim

7- Quanto à facilidade para excluir informações no sistema ?( ) excelente ( ) bom ( ) regular ( ) ruim

8- Quanto ao funcionamento e facilidade de uso do gerador de preço?( ) excelente ( ) bom ( ) regular ( ) ruim

9- Quanto a facilidade para encontrar informações de clientes, fornecedores e produtos ?( ) excelente ( ) bom ( ) regular ( ) ruim

Page 58: TCC II - Definitivo

10- De forma geral qual a satisfação com o sistema ?( ) excelente ( ) bom ( ) regular ( ) ruim

Quanto à importância do sistema para a cooperativa

1- Quanto ao gerador de preço, atendeu a necessidade da cooperativa ?( ) sim ( ) não

2- O sistema atendeu as necessidades de organização dados da cooperativa ?( ) sim ( ) não

3- O sistema poderá auxiliar na administração da cooperativa ?( ) sim ( ) não