tcc ii - definitivo
Post on 13-Apr-2016
231 Views
Preview:
TRANSCRIPT
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
2010
1
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
2010
3
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á.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
APÊNDICE
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
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
top related