Está en la página 1de 63

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE


SISTEMAS

BRUNA SCHEFFER DIAS


IURI MENIN

SISTEMA PARA GERENCIAMENTO DE


UMA LOJA DE CONFECES

TRABALHO DE CONCLUSO DE CURSO

PATO BRANCO
2013
BRUNA SCHEFFER DIAS
IURI MENIN

SISTEMA PARA GERENCIAMENTO DE


UMA LOJA DE CONFECES

Trabalho de Concluso de Curso de


graduao, apresentado disciplina de
Trabalho de Diplomao, do Curso Superior
de Tecnologia em Anlise e Desenvolvimento
de Sistemas, da Universidade Tecnolgica
Federal do Paran, Cmpus Pato Branco, como
requisito parcial para obteno do ttulo de
Tecnlogo.

Orientadora: Profa. Beatriz T. Borsoi

PATO BRANCO
2013
RESUMO

DIAS, Bruna Scheffer; MENIN Iuri. Sistema para gerenciamento de uma loja de
confeces. 2013. 61 f. Trabalho de concluso de curso - Curso Superior de Tecnologia em
Anlise e Desenvolvimento de Sistemas, Universidade Tecnolgica Federal do Paran. Pato
Branco, 2013.

Os benefcios de sistemas de informao na realizao de atividades de compra e venda de


produtos e de prestao de servios so evidentes. Esses sistemas automatizam uma srie de
atividades realizadas manualmente, reduzem o retrabalho pela no necessidade de insero
das mesmas informaes, facilitam a busca de dados armazenados e agilizam a realizao de
atividades. O controle de estoque (entrada e sada de produtos) e de contas a pagar e a receber
caracterizam esse tipo de sistema. Em lojas de confeces o cliente tambm pode levar peas
condicionais. Nesse sistema as peas saem da loja sem que sejam baixadas do estoque,
posteriormente, se efetivamente vendidas a transao de venda ocorre. O sistema
desenvolvido como resultado deste trabalho se destina ao gerenciamento de uma loja de
confeces. Como o mesmo foi desenvolvido para um estabelecimento comercial especfico,
atende suas particularidades. Essa loja possui um salo de beleza, ou seja, pertencente aos
mesmos proprietrios. Assim, o sistema tambm faz o gerenciamento dos servios realizados
no salo. A linguagem Delphi foi utilizada na implementao do sistema.

Palavras-chave: Linguagem Delphi. Gerenciamento de lojas de confeces. Sistema


gerencial.
ABSTRACT

DIAS, Bruna Scheffer, MENIN Iuri. System to manager a cloting store. 2013. 61 f.
Trabalho de concluso de curso - Curso Superior de Tecnologia em Anlise e
Desenvolvimento de Sistemas, Universidade Tecnolgica Federal do Paran. Pato Branco,
2013.

The benefits of information systems in activities of buying and selling products and services
are quite obvious. Inventory control (input and output products) and accounts payable and
receivable characterize this type of system. In clothing stores, the customers can also take
clothes in conditional. In this system the clothes leave the store without being removed from
the stock, after that if the sold occurs, the sale transaction occurs. The system developed as a
result of this work is to manager a clothing store. How it was developed for a specific
business establishment, meets some peculiarities. This store has a beauty salon that belongs to
the same owners. The system also makes the management of services performed in the salon.
Delphi Programming Language was used in the development of the system.

Keywords: Linguagem Delphi. Management of chotes store. Manager system.


LISTA DE FIGURAS

Figura 1 - Tela inicial da ferramenta Visual Paradigm ............................................................ 18


Figura 2 - Tela Principal da ferramenta Case Studio................................................................ 19
Figura 3 - Tela inicial de IDE da linguagem Delphi ................................................................ 21
Figura 4 - Tela principal IBExpert ........................................................................................... 23
Figura 5 - Tela de registro IBExpert ......................................................................................... 23
Figura 6 - Tela principal do FastReport ................................................................................... 24
Figura 7 - Diagrama de casos de uso do sistema para lojas de confeces .............................. 30
Figura 8 - Diagrama de classes ................................................................................................. 33
Figura 9 - Diagrama de entidade relacionamento do banco de dados ...................................... 37
Figura 10 - Tela de login e senha ............................................................................................. 40
Figura 11 - Tela inicial do sistema ........................................................................................... 41
Figura 12 - Menu cadastros ...................................................................................................... 41
Figura 13 - Menu cadastros administrativos ............................................................................ 42
Figura 14 - Menu relatrios ...................................................................................................... 42
Figura 15 - Menu grficos ........................................................................................................ 42
Figura 16 - Tela cadastro de clientes ........................................................................................ 43
Figura 17 - Tela cadastros de vendas........................................................................................ 44
Figura 18 - Tela cadastros de emprstimos .............................................................................. 44
Figura 19 - Tela cadastros de produtos ..................................................................................... 45
Figura 20 - Tela cadastros de login e senha.............................................................................. 46
Figura 21 - Tela cadastros de empresas .................................................................................... 46
Figura 22 - Tela cadastros de funes ...................................................................................... 47
Figura 23 - Tela cadastros de funcionrios ............................................................................... 47
Figura 24 - Tela cadastros de fornecedores .............................................................................. 48
Figura 25 - Tela cadastros de compras ..................................................................................... 49
Figura 26 - Tela cadastros de servios...................................................................................... 49
Figura 27 - Tela cadastros de contas a pagar ............................................................................ 50
Figura 28 - Tela cadastros de contas a receber ......................................................................... 50
Figura 29 - Relatrio de clientes............................................................................................... 51
Figura 30 - Relatrio de fornecedores ...................................................................................... 51
Figura 31 - Relatrio de produtos ............................................................................................. 52
Figura 32 - Relatrio de contas a pagar .................................................................................... 52
Figura 33 - Relatrio de contas a receber ................................................................................. 53
Figura 34 - Grfico de contas a pagar ...................................................................................... 53
Figura 35 - Relatrio de contas a receber ................................................................................. 54
LISTA DE QUADROS

Quadro 1 - Requisitos funcionais ............................................................................................. 28


Quadro 2 - Requisitos no-funcionais ...................................................................................... 29
Quadro 3 - Caso de uso Cadastrar ............................................................................................ 31
Quadro 4 - Caso de uso Alterar dados informados ................................................................... 31
Quadro 5 - Caso de uso Consultar dados .................................................................................. 32
Quadro 6 - Caso de uso Excluir dados ..................................................................................... 32
Quadro 7 - Classe Empresas ..................................................................................................... 33
Quadro 8 - Classe Funes ....................................................................................................... 33
Quadro 9 - Classe Funcionrios................................................................................................ 34
Quadro 10 - Classe Clientes ..................................................................................................... 34
Quadro 11 - Classe Fornecedores ............................................................................................. 35
Quadro 12 - Classe Condicional/Emprstimos ......................................................................... 35
Quadro 13 - Classe Compras .................................................................................................... 35
Quadro 14 - Classe Contas a pagar ........................................................................................... 35
Quadro 15 - Classe Produtos .................................................................................................... 36
Quadro 16 - Classe Servios ..................................................................................................... 36
Quadro 17 - Classe Vendas ...................................................................................................... 36
Quadro 18 - Classe Contas a receber ........................................................................................ 36
Quadro 19 - Tabela empresa ..................................................................................................... 37
Quadro 20 - Tabela funes...................................................................................................... 37
Quadro 21 - Tabela funcionrios .............................................................................................. 38
Quadro 22 - Tabela clientes ...................................................................................................... 38
Quadro 23 - Tabela fornecedores ............................................................................................. 38
Quadro 24 - Tabela emprstimo/condicional ........................................................................... 39
Quadro 25 - Tabela compras .................................................................................................... 39
Quadro 26 - Tabela contas a pagar ........................................................................................... 39
Quadro 27 - Tabela produtos .................................................................................................... 39
Quadro 28 - Tabela servios ..................................................................................................... 39
Quadro 29 - Tabela vendas ....................................................................................................... 40
Quadro 30 - Tabela contas a receber ........................................................................................ 40
Quadro 31 - Tabela Usurios .................................................................................................... 40
LISTAGENS DE CDIGO

Listagem 1 - Procedure ConectaBanco .................................................................................... 54


Listagem 2 - Procedure TfrmLogin.logar ................................................................................ 55
Listagem 3 - TfrmMenu.trocardeUsurio1Click(Sender: TObject) ........................................... 56
Listagem 4 - TfrmCadClientes.DadosValidos.......................................................................... 57
Listagem 5 - TfrmPadraoDB.btnNovoClick ............................................................................ 58
Listagem 6 - TfrmPadraoDB.btnAlterarClick .......................................................................... 58
Listagem 7 - TfrmPadraoDB.btnSalvarClick ........................................................................... 58
Listagem 8 - TfrmPadraoDB.btnExcluirClick ......................................................................... 59
LISTA DE SIGLAS

ADO ActiveX Data Objects


ACID Atomicity, Consistency, Isolation, Durability
API Application Programming Interface
BDE Borland Database Engine
CASE Computer Aided Software Engineering
CLX Component Library for Cross-Platform
CNPJ Cadastro Nacional de Pessoas Jurdicas
COM Component Object Model
CORBA Common Object Request Broker Architecture
CPF Cadastro de Pessoas Fsicas
DDL Data Definition Language
DER Diagrama de Entidades e Relacionamentos
DFD Diagrama de Fluxo de dados
DLL Dynamic-Link Library
DM Data Module
HTML Hypertext Markup Language
ICMS Imposto sobre Circulao de Mercadorias e Prestao de Servios
IDE Integrated Development Environment
IDL Interactive Data Language
IP Internet Protocol
OCX Abreviatura de OLE custom control
OLE Object Linkng and Embedding
PNG Portable Network Graphics
RAD Rapid Application Devolopment
RG Registro Geral
SGBD Sistema Gerenciador de Banco de Dados
SOAP Simle Object Access Protocol
SQL Structured Query Language
SQLC Structured Query Language Connection
SysML Systems Modeling Language
UDDI Universal Description, Descovery and Integration
UML Unified Modeling Language
VCL Visual Component Library
XML Extensible Markup Language
SUMRIO

1 INTRODUO ................................................................................................................... 10
1.1 CONSIDERAES INICIAIS .......................................................................................... 10
1.2 OBJETIVOS ....................................................................................................................... 11
1.2.1 Objetivo Geral ................................................................................................................. 11
1.2.2 Objetivos Especficos ...................................................................................................... 11
1.3 JUSTIFICATIVA ............................................................................................................... 11
1.4 ESTRUTURA DO TRABALHO ....................................................................................... 12
2 LINGUAGEM DELPHI ..................................................................................................... 13
2.1 ALGUNS ASPECTOS DE EVOLUO DA LINGUAGEM DELPHI .......................... 13
2.2 DELPHI PARA AMBIENTE DESKTOP .......................................................................... 15
2.2 DELPHI PARA AMBIENTE WEB ................................................................................... 15
2.3 DELPHI PARA LINUX ..................................................................................................... 16
3 MATERIAIS E MTODO ................................................................................................. 17
3.1 MATERIAIS ...................................................................................................................... 17
3.1.1 Visual Paradigm .............................................................................................................. 17
3.1.2 Case Studio ...................................................................................................................... 19
3.1.3 IDE Delphi ....................................................................................................................... 20
3.1.4 Firebird ............................................................................................................................ 21
3.1.5 IBExpert .......................................................................................................................... 22
3.1.6 FastReport ........................................................................................................................ 24
3.1.7 Inno Setup ........................................................................................................................ 25
3.2 MTODO ........................................................................................................................... 25
4 SISTEMA DESENVOLVIDO ............................................................................................ 27
4.1 APRESENTAO DO SISTEMA .................................................................................... 27
4.2 MODELAGEM DO SISTEMA ......................................................................................... 27
4.3 DESCRIO DO SISTEMA............................................................................................. 40
4.4 IMPLEMENTAO DO SISTEMA ................................................................................. 54
5 CONCLUSO...................................................................................................................... 60
REFERNCIAS ..................................................................................................................... 61
10

1 INTRODUO

Neste captulo so apresentadas as consideraes iniciais contendo o contexto no


qual se insere a proposta deste trabalho, que um sistema para controle de uma loja de
confeces que possui um salo de beleza vinculado mesma. Tambm so apresentados os
objetivos e a justificativa do trabalho. Por fim est a organizao do texto.

1.1 CONSIDERAES INICIAIS

Uma loja de confeces que possui um salo de beleza vinculado, alm de vender
roupas, calados e acessrios, realiza determinados servios aos consumidores, como por
exemplo, cortes de cabelo, maquiagens e outros relacionados imagem da pessoa. Esse tipo
de loja precisa ter controle de todas as suas movimentaes, sejam elas financeiras ou de
clientes. Os cadastros de clientes, fornecedores e funcionrios ajudam a manter uma boa
relao com o cliente focada na produtividade. O controle de contas a pagar e a receber
proporciona ao administrador uma melhor organizao de seu negcio, ajudando-o a melhorar
a lucratividade do negcio.
Para uma empresa que realiza servios e vendas para determinados clientes, assim
como compra de vrios fornecedores, o controle feito em papel pode se tornar ineficiente.
Assim, verificou-se a possibilidade de desenvolver um sistema que permitisse o
armazenamento e o gerenciamento dos dados das atividades realizadas por esse tipo de
empresa para que desta maneira ela no deixe de atender aspectos legais e vise lucratividade,
alm da organizao das atividades que realiza. O sistema desenvolvido como resultado deste
trabalho simples, mas visa auxiliar no controle de contas a pagar, contas a receber e
emprstimos feitos a seus clientes. Os emprstimos se referem s roupas, acessrios e
calados levados pelo cliente sob a forma condicional, ou seja, ele poder ou no adquirir os
produtos que est levando para experimentar.
Para o desenvolvimento do sistema obtido como resultado deste trabalho foi utilizada
a linguagem Delphi, com o banco de dados Firebird e o gerenciador de banco de dados
IbExpert, o gerador de relatrios FastReports, o gerador de grficos TDBChart e o gerador do
executvel Inno Setup.
11

Como forma de fundamentar conceitualmente o sistema implementado, no


referencial terico deste trabalho conceitos sobre a linguagem de programao Delphi so
apresentados.

1.2 OBJETIVOS

O objetivo geral apresenta o resultado principal a ser obtido com o desenvolvimento


deste trabalho e os objetivos especficos o complementam.

1.2.1 Objetivo Geral

Implementar um sistema computacional utilizando a linguagem Delphi para


gerenciamento de uma loja de confeces e de um salo de beleza.

1.2.2 Objetivos Especficos

Implementar uma forma de gerenciamento de contas a pagar, contas a receber,


emprstimos, clientes, fornecedores e funcionrios visando o gerenciamento
facilitado e a organizao de tais dados.
Propor uma forma facilitada de efetuar o controle de servios realizados que
so relacionados s atividades de um salo de beleza.
Possibilitar o controle de venda condicional a clientes.

1.3 JUSTIFICATIVA

Para Sebesta (2003) o estudo das linguagens de programao valioso por uma srie
de razes dentre elas: o aumento da capacidade de usar diferentes construes para escrever
programas, possibilita a escolha de linguagens para projetos de maneira mais inteligente e
torna mais fcil a aprendizagem de novas linguagens.
Considerando esse contexto, neste trabalho conceitos relacionados linguagem
Delphi so apresentados por ser a linguagem utilizada para implementar o sistema. Conceitos,
12

classificao e histrico da linguagem de programao Delphi so apresentados porque a


nfase deste trabalho est no aprendizado e uso desta linguagem. O resultado desse
aprendizado o sistema implementado.
O sistema se destina ao controle gerencial de uma loja de confeces que possui um
salo de beleza vinculado. Nesse sistema clientes, fornecedores e peas de roupas so
cadastrados. E realizado um controle de contas a pagar e a receber, bem como de peas
entregues ao cliente na forma condicional. um sistema simples, mas que apresenta as
funcionalidades necessrias para auxlio na realizao das atividades rotineiras de uma loja
que trabalha com venda de roupas e da realizao de servios de salo de beleza.

1.4 ESTRUTURA DO TRABALHO

Este texto est organizado em captulos, dos quais este o primeiro e apresenta as
consideraes iniciais, o objetivo e a justificativa.
O Captulo 2 apresenta o referencial terico centrado na linguagem de programao
Delphi.
O Capitulo 3 apresenta os materiais utilizados na modelagem e no desenvolvimento
do sistema e o mtodo. O mtodo contm as principais atividades realizadas para desenvolver
o trabalho.
No Captulo 4 est o resultado obtido da realizao deste trabalho que a
modelagem e a implementao do sistema. A modelagem apresentada por meio de
diagramas e explicaes textuais e a implementao por telas e partes de cdigo do sistema.
Por fim, est o Captulo 5 com a concluso.
13

2 LINGUAGEM DELPHI

Este captulo apresenta conceitos, aspectos relacionados evoluo e sobre as verses


da linguagem Delphi.

2.1 ALGUNS ASPECTOS DE EVOLUO DA LINGUAGEM DELPHI

A linguagem Delphi teve o seu incio, primeira verso, em 1994, com o ambiente de
programao Delphi 1.0. Esse ambiente era baseado na linguagem Object Pascal.
A linguagem Delphi na sua verso 2 possua o objetivo de gerenciar mltiplos
registros, o acesso a bancos de dados foi aperfeioado, o suporte automao OLE (Object
Linking and Embedding) e o tipo de dado variante, suporte e integrao com o Windows 95, o
tipo de dado string e a herana visual de formulrio.
Na verso 3, denominada Delphi 3, incluiu a tecnologia de viso de cdigo, o suporte
depurao DLL (Dynamic-Link Library), os modelos de componentes, o TeeChart, o
Decision Cube, a tecnologia WebBroker, os pacotes de componentes, o ActiveForms e
integrao utilizando COM (Component Object Model) por meio de interface.
O Delphi 4 proporcionou o editor AppBrowser, novos recursos do Windows 98,
melhor suporte a OLE e COM, componentes de banco de dados estendidos e muitas adies
feitas nas classes bsicas da VCL (Visual Component Library), incluindo suporte para
acoplamento, restrio e controle de ancoragem.
O Delphi 5 incluiu mais aperfeioamentos a IDE (Integrated Development
Environment), suporte estendido a banco de dados (com os conjuntos de dados especficos
ADO (ActiveX Data Objects) e InterBase), uma verso aperfeioada do Midas com suporte
para a Internet, a ferramenta de controle de verso TeamSource, capacidades de converso, o
conceito dos quadros e novos componentes.
O Delphi 6 adicionou suporte a recursos para o desenvolvimento independente de
plataforma com a CLX (Component Library for Cross-Platform), a biblioteca de
componentes independentes de plataforma, uma biblioteca de tempo de execuo estendida, o
mecanismo de banco de dados dbExpress, servios da web e suporte para XML (Extensible
Markup Language), uma estruturada de desenvolvimento para a web, mais aperfeioamento
na IDE e muitos componentes e classes.
14

O Delphi 7 melhorou algumas dessas novas tecnologias com aperfeioamentos e


correes (o suporte a SOAP (Simple Object Access Protocol) e DataSnap, por exemplo) e
oferece suporte a tecnologias mais recentes (como os temas do Windows XP e UDDI
(Universal Description, Discovery and Integration)). Uma das suas principais caractersticas
a facilidade de disponibilidade de um conjunto de ferramentas de terceiros: o mecanismo de
produo de relatrios Rave, a tecnologia IntraWeb de desenvolvimento de aplicativos para a
web e o ambiente de projeto ModelMaker.
Segundo Cant (2003), o Delphi 7 uma das ferramentas que possui mais recursos
para criar aplicaes Windows. Alm de ser amplamente utilizado para aplicaes
Cliente/Servidor, ele tambm muito utilizado para aplicaes genricas.
Uma das principais caractersticas da linguagem Delphi o uso de componentes
prontos. Os formulrios so compostos a partir de elementos (componentes) predefinidos que
possuem propriedades configurveis e permitem a codificao de eventos (aes), realizando
as funcionalidades pretendidas para o aplicativo. A linguagem Delphi faz uma boa
combinao entre programao orientada a objetos e programao visual, seja para o
ambiente Windows ou Linux.
A verso 2009 do Delphi responsabilidade da empresa Embarcadero, que adquiriu
da Borland a diviso CodeGear que a fornecedora de ferramentas de desenvolvimento.
Apesar de o novo recurso principal ser o suporte de Unicode na VCL, vrios outros recursos
destacam-se nessa verso, dentre eles esto (ARANTES, 2012):
Novos controles na VCL, com destaque ao Ribbons estilo Office 2007.
Melhorias na IDE, na ImageList, incluindo suporte a PNG (Portable Network
Graphics).
Novos recursos de linguagem, com destaque a Generics e Anonymous Methods.
VCL para web atualizada com suporte a Ajax e Silverlight.
DataSnap 2009, que simplifica o desenvolvimento de aplicaes trs camadas sem
uso de COM.
O Embarcadero RAD Studio 2010, a verso 2010 do ambiente de desenvolvimento da
linguagem Delphi, o Rapid Application Devolopment (RAD) incorpora novas verses do
Delphi, C++Builder e do Delphi Prism. O RAD Studio 2010 possibilita o desenvolvimento
rpido de interfaces baseadas em touch e gesture para aplicaes existentes ou novas, alm de
mais de 120 funes novas e aperfeioadas que prometem aumentar a produtividade do
desenvolvedor de aplicaes Windows e .Net (LIMA, 2012).
15

Em 2010 foi lanado o Delphi XE e em 2011 a verso XE2 que suporta o


desenvolvimento de aplicativos para dispositivos mveis. O Embarcadero Delphi XE3 visa
construo de aplicaes para Windows da verso XP a verso 8 e para Mac OS X Mountain
Lion, incluindo Retina display, Slates e Surface Pro, com uma nica base de cdigo
(EMBARCADERO, 2012).

2.2 DELPHI PARA AMBIENTE DESKTOP

A linguagem Delphi muito utilizada no desenvolvimento de aplicaes desktop,


aplicaes multicamadas e Cliente/Servidor, compatveis com diversos bancos de dados.
Dephi pode ser utilizado para vrios tipos de desenvolvimento de projeto, abrangendo
servios a aplicaes web (LAMIN, 2012).
Existem trs verses disponveis do Delphi (MARTINS, 2012): Desktop, Developer
e Client/Server. A verso desktop inclui: o compilador Delphi; o Delphi IDE que um
ambiente integrado para desenvolvimento, teste e depurao de aplicaes; o Borland
Database Engine (BDE) que inclui DBase, Paradox e suporte a ODBC; a Visual Component
Library com mais de 90 componentes; o Database Desktop que permite criar, visualizar,
classificar, modificar e consultar tabelas de dados de diversos formatos, incluindo Paradox,
DBase e SQL (Structured Query Language); e o Database Explorer que um browser
hierrquico de banco de dados, com capacidade de visualizar esquemas de banco de dados,
criar, visualizar e editar dados em tabelas, criar e manter alias, executar comandos SQL, criar
e manter dicionrio de dados.

2.2 DELPHI PARA AMBIENTE WEB

Delphi possui diversos componentes de fonte aberta para a Internet chamada Internet
Direct (Indy). Anteriormente os componentes Indy eram chamados de WinShoes.
Os componentes produtores de HTML (Hypertext Markup Language) do Delphi
(disponveis na pgina Internet da paleta de componentes) podem ser usados para gerar os
arquivos HTML e, particularmente, para transformar uma tabela de banco de dados em uma
tabela HTML (FACUNTE, 2003).
Em 2008, a CodeGear, unidade Borland para ferramentas de desenvolvimento,
lanou o Delphi para PHP 2.0. Essa ferramenta destinada construo de aplicaes web
16

interativas com o uso de componentes visuais de arrastar-e-soltar e um framework de


componente PHP (LANUSSE, 2008).
A verso 2.0 de Delphi para PHP tem como foco tornar o desenvolvimento PHP para
web ainda mais fcil em vrias reas (LANUSSE, 2008):
a) Templates HTML com PHP dinmico incorporado, permitindo trabalhar
visualmente no desenvolvimento para web 2.0 com PHP;
b) Biblioteca de Componentes Visuais (VCL) para PHP ampliada, com suporte aos
pacotes e bibliotecas mais populares, incluindo o Zend Framework;
c) Aperfeioamentos de produtividade e de desempenho, incluindo depurao de erros
e formatao de cdigo fonte;
d) Novas funes de depurao para PHP.

2.3 DELPHI PARA LINUX

O Kylix uma das primeiras ferramentas de desenvolvimento RAD para o sistema


operacional Linux. Com ele, aplicaes podem ser portadas do ambiente Windows para o
ambiente Linux (SONNINO, 2001).
Da mesma maneira que o Delphi acessa a API (Application Programming Interface)
do Windows, o Kylix pode acessar a API do Linux. As funes da biblioteca C padro do
Linux esto disponveis quando includa a unitLibc na clusula Uses. Dessa maneira,
possvel utilizar todos os recursos e funes do sistema operacional, permitindo executar
outros programas e obter dados do usurio, dentre outros.
17

3 MATERIAIS E MTODO

Este captulo apresenta os materiais e o mtodo utilizados. Os materiais se referem s


tecnologias e ferramentas utilizadas para modelar e implementar o sistema. O mtodo reporta
a sequncia das principais atividades realizadas para desenvolver este trabalho.

3.1 MATERIAIS

Foram utilizadas as seguintes tecnologias e ferramentas para a modelagem e a


implementao do sistema:
a) Visual Paradigm - para a modelagem do sistema.
b) Case Studio para a modelagem do diagrama de entidades e relacionamentos do
banco de dados.
b) Delphi 7.0 - como linguagem de programao e IDE de desenvolvimento.
c) Firebird 2.0 - para banco de dados.
d) IbExpert 2012.02.21 - para gerenciador do banco de dados.
e) FastReport 4.0 - para desenvolvimento dos relatrios.
f) Inno Setup Compiles 5.5.1 para desenvolvimento do executvel.

3.1.1 Visual Paradigm

Visual Paradigm for UML uma ferramenta de modelagem para todos os tipos de
diagramas UML (Unified Modeling Language) (VISUAL PARADIGM, 2012). Essa
ferramenta fornece suporte para gerenciamento de casos de uso, diagrama de requisitos
SysML (Systems Modeling Language) e projeto de banco de dados com diagrama de
entidades e relacionamentos. A Figura 1 apresenta um print screen da interface principal
dessa ferramenta.
18

Figura 1 - Tela inicial da ferramenta Visual Paradigm

As partes destacadas na Figura 1 apresentam os principais elementos da tela principal


do Visual Paradigm e so:
a) Navegador de diagramas - nesta rea da interface so apresentados os diagramas
armazenados. A disponibilizao dos arquivos em pastas por tipo de diagrama facilita a
localizao dos mesmos e organizao do projeto.
b) Propriedades apresenta as propriedades do elemento selecionado do diagrama em
edio.
c) rea de edio - nesta rea so criados graficamente os diagramas por meio dos
elementos dispostos na lateral esquerda dessa rea.
d) Ferramentas e componentes rea na qual ficam disponveis os componentes
utilizados para compor o diagrama e ferramentas relacionadas.
e) Barra de ferramentas com os atalhos para as principais funcionalidades do Visual
Paradigm.
Visual Paradigm compatvel com a UML 2.1, permite a visualizao, criao e
edio de diagramas de fluxos de trabalho. A ferramenta possibilita a gerao de cdigo na
linguagem Java a partir de diagramas. E engenharia reversa em Java, C++, XML (Extensible
Markup Language) Schema, .NET e COBRA IDL (The Common Object Request Broker
Architecture Interactive Data Language). Alm de permitir a gerao de cdigos compatveis
com XML.
19

3.1.2 Case Studio

Case Studio 2 (CASESTUDIO, 2012) uma ferramenta CASE (Computer Aided


Software Engineering) de modelagem de banco de dados. CASE uma tcnica que visa
facilitar o desenvolvimento de sistemas de software por meio do uso de ferramentas.
Ferramentas CASE podem auxiliar na realizao de todas as atividades relacionadas ao
processo de software, como anlise, projeto, codificao, teste e manuteno. A Figura 2
apresenta a tela principal da ferramenta Case Studio.

Figura 2 - Tela Principal da ferramenta Case Studio

As reas circuladas da Figura 2 indicam:


a) Tipo do Modelo DER (Diagrama de Entidades e Relacionamentos) ou DFD
(Diagrama de Fluxo de dados). Os dois diagramas possveis de serem elaborados com Case
Studio.
b) Entidades e Relacionamentos criao das entidades e de seus relacionamentos
para a representao grfica do banco de dados.
c) Opes Entidades opes de visualizao das entidades (somente entidades,
chaves primrias, chaves e atributos).
d) Opes do Layout opes do leiaute do modelo (fontes, esquema de cores, leiaute
automtico e zoom).
Dentre os principais recursos do Case Studio esto (FROLIK, 2006): diagramas de
entidade e relacionamento; diagramas de fluxo de dados; gerao de scripts SQL; engenharia
reversa; e gerao de documentao detalhada.
20

Na definio de diagramas de entidade e relacionamento o programa considera opes


de bancos de dados individuais, tais como integridade referencial, restries e domnios,
dentre outros. Alm da definio de tabelas com atributos e relacionamentos, o Case Studio
permite definir critrios, como ndices e chaves primrias.

3.1.3 IDE Delphi

A linguagem Delphi, que est vinculada a um ambiente de desenvolvimento, se


baseia em uma extenso orientada a objetos da linguagem de programao Pascal, tambm
conhecida como Object Pascal (CANT, 2003). Esse ambiente de desenvolvimento
composto de vrias ferramentas agregadas.
Como ambiente de desenvolvimento, Delphi um compilador e tambm uma IDE
para o desenvolvimento de software. A linguagem utilizada Object Pascal (Pascal com
extenses orientadas a objetos). Dentre as caractersticas da linguagem Delphi (CANT,
2000; CANT, 2003) destacam-se:
a) IDE, o ambiente integrado de desenvolvimento.
b) RAD que agiliza o desenvolvimento de aplicaes.
c) Construtor visual de interface com o usurio, baseado em formulrios e
componentes. O uso de componentes facilita a reutilizao e a manuteno de cdigo.
d) Compilador de cdigo nativo.
e) Drag-and-drop design: o cdigo gerado automaticamente durante a montagem do
formulrio.
f) Tow-way tools: alternar entre a visualizao de um formulrio e seu cdigo (unit).
g) Biblioteca de componentes visuais: A VCL consiste de objetos reutilizveis
incluindo objetos padro de interface com o usurio, gerenciamento de dados, grficos e
multimdia, gerenciamento de arquivos. E possvel visualizar a hierarquia dos objetos na
VCL.
h) Arquitetura aberta. Possibilidade de adicionar componentes e ferramentas de
terceiros.
i) Linguagem de programao orientada a objeto (Object Pascal - 4 gerao).
j) Depurador grfico. O debugger auxilia a encontrar e a eliminar erros no cdigo.
k) Gerenciador de projetos: oferece uma visualizao de todos os formulrios e as
units de um determinado projeto e oferece um mecanismo para gerenciar projetos.
21

l) Geradores de relatrios: o Quick Report e o Rave Reports so ferramentas para


gerao de relatrios.
m) BDE e SGBD (Sistema Gerenciador de Banco de Dados), Database Explorer.
n) Help on-line: sensvel ao texto.
A Figura 3 apresenta a tela inicial de IDE da linguagem Delphi.

Figura 3 - Tela inicial de IDE da linguagem Delphi

As partes destacadas na Figura 3 so:


a) Paleta de componentes a paleta de componentes uma barra de ferramentas com
componentes a serem utilizados no desenvolvimento de aplicaes. A paleta constituda de
vrias guias. Cada guia possui os componentes agrupados de acordo com sua finalidade.
b) Form designer - o form uma janela onde a interface grfica da aplicao
desenvolvida. No form so colocados os componentes que faro parte da interface com o
usurio.
c) Object inspector - define propriedades e eventos para os componentes. O object
inspector muda de acordo com o componente escolhido. O object inspector oferece acesso a
todas as propriedades publicadas (published) do componente selecionado.

3.1.4 Firebird

O Firebird um Sistema Gerenciador de Banco de Dados de cdigo fonte aberto e


22

seus principais recursos so (CANT, 2010):


Suporte a stored procedures e triggers;
Transaes compatveis com ACID (Atomicity, Consistency, Isolation, Durability);
Integridade referencial;
Linguagem nativa para stored procedures e triggers (PSQL);
Suporte para funes externas;
Diversas formas de acesso ao banco de dados;
Suporte nativo para diversos sistemas operacionais, incluindo o Windows, Linux,
Solaris, MacOS;
Backups incrementais;
Tabelas temporrias.

3.1.5 IBExpert

IBEXpert um programa para administrao de bancos de dados InterBase e


Firebird. Dentre os seus recursos esto (IBEXPERT, 2013):
Criao de tabelas, chaves e ndices;
Modelagem de dados (database designer);
Editores para todos os objetos do banco de dados (tabelas, triggers, procedures,
domains, etc.) com depurador de triggers e stored procedures, construtor visual de consultas
SQL e recursos avanados de edio, tais como: code insight, code completion e keyboard
templates.
O IBExpert permite a criao de tabelas sem a necessidade da utilizao de
comandos DDL (Data Definition Languag). Todos os atributos de uma tabela, tais como:
campos, chave primria (primary key), chave estrangeira (foreign key), ndices, triggers, etc.,
podem ser criados e alterados visualmente, o IBExpert gera automaticamente o script para
criar o banco de dados.
A Figura 4 apresenta a tela principal do IbXpert.
23

Figura 4 - Tela principal IBExpert

A criao de um banco de dados realizada atravs da opo Create DataBase no


Menu DataBase. A Figura 5 apresenta a tela de criao de um novo banco de dados.

Figura 5 - Tela de registro IBExpert

Os dados a serem cadastrados, de acordo com a Figura 5, na criao do banco de


dados so:
Server: indicar o servidor do banco de dados que pode ser local ou remoto.
24

Server name: para a opo remoto em Server necessrio informar o nome ou IP


(Internet Protocol) do computador servidor do banco de dados.
Protocol: o protocolo usado para fazer a comunicao com o servidor.
Server Version: para indicar a verso do servidor de banco de dados.
DataBase File: o arquivo do banco de dados.
DataBase Alias: para indicar um nome para a identificao do banco de dados.
Username: SYSDBA que o administrador padro do banco de dados Firebird.
Password: preencher nesse campo a senha masterkey.
Role, Charset e Client Library File: devem ser mantidos os valores padro.

3.1.6 FastReport

O FastReport um componente que facilita a gerao de relatrios por meio de um


editor visual que oferece uma janela de pr-visualizao (FAST REPORT, 2013).

Figura 6 - Tela principal do FastReport

As partes indicadas na Figura 6 so:


1) Barra de Menus;
2) Barra de Ferramentas;
3) Barra de Objetos;
4) rvore de Componentes;
5) Janela de Propriedades do Objeto (Object Inspetor);
6) Pginas do Relatrio;
25

7) Espao de Design do Relatrio;


8) Rguas;
9) rvore de Dados;
10) Barra de Status.

3.1.7 Inno Setup

O Inno Setup um gerador de instaladores para programas Windows. Esse gerador


gratuito e de cdigo fonte aberto. O Inno Setup permite criar chaves no registro e em arquivos
.ini, alm de copiar arquivos para alguma pasta e de criar atalhos e desinstaladores de
programas (PICAO, 2013). Vrias propriedades podem ser configuradas, dentre elas a de
limitar a instalao somente a administradores, registrar DLL/OCX e instalar fontes.
A gerao dos instaladores com o Inno Setup ocorre por meio de script. O
compilador do Inno gera um executvel a partir do script. Esse executvel contm os
arquivos, as configuraes e o mdulo do instalador.

3.2 MTODO

As etapas para a modelagem e a implementao do sistema resultado deste trabalho


seguiram o modelo sequencial linear proposto por Pressman (2005). O uso desse modelo
justificado porque o sistema simples e os requisitos do mesmo foram todos definidos no
incio do processo.
As etapas definidas foram:
a) Levantamento dos requisitos
Os requisitos foram definidos tendo como base a necessidade de um controle de uma
loja de confeces que possui um salo de beleza vinculado mesma. Essa loja de confeces
possui funcionrios que realizam vendas e prestam servios aos clientes. As vendas so
relacionadas aos produtos como vesturio e cosmticos. Esses produtos so comprados pelo
administrador da loja por meio de fornecedores. Os servios prestados pelos colaboradores da
empresa esto vinculados ao salo de beleza e so cortes de cabelo, tinturas, massagens e
manicure, dentre outros. Assim, como levantamento de requisitos foi realizado o
26

levantamento das informaes que seriam necessrias manter no sistema para a administrao
das contas a pagar e a receber e dos emprstimos de mercadorias realizados na loja.
Observando os processos realizados na loja e no salo e em conversas com a
proprietria do estabelecimento foi possvel definir os requisitos para o sistema.
b) Anlise e projeto
Os requisitos levantados foram modelados por meio de diagrama de casos de uso, de
classes e de entidades e relacionamentos do banco de dados. Os casos de uso, as classes e as
tabelas foram descritos e documentados.
c) Implementao
A implementao do sistema foi realizada com o uso da linguagem Delphi 7. Os
relatrios foram elaborados utilizando o FastReport e o executvel do programa gerado com o
uso da ferramenta Inno Setup.
d) Testes
Os testes foram realizados pelos autores deste trabalho visando identificar erros de
codificao e para verificar se as funcionalidades do sistema foram devidamente
implementadas.
27

4 SISTEMA DESENVOLVIDO

Este captulo apresenta o sistema para gerenciamento de uma loja de confeces e de


um salo de beleza modelado e implementado como resultado do desenvolvimento deste
trabalho.

4.1 APRESENTAO DO SISTEMA

Para o gerenciamento de uma loja de confeces e de prestao de servios de salo de


beleza necessrio cadastrar a empresa, assim como dos seus colaboradores e suas
respectivas funes. necessrio tambm cadastrar os produtos que sero vendidos aos
clientes. Os produtos comercializados so distribudos para a empresa por meio de
fornecedores os quais devem ser cadastrados no sistema. O sistema desenvolvido possibilitar
que clientes levem produtos de forma condicional. E, assim, necessrio fazer o controle
desses produtos. Esse sistema tambm fornece apoio ao gerenciamento do negcio por meio
de um controle simples de contas a pagar e a receber.

4.2 MODELAGEM DO SISTEMA

O Quadro 1 apresenta os requisitos funcionais identificados para o sistema.

Identificao Nome Descrio


RF001 Cadastrar empresa O usurio do sistema deve cadastrar a empresa
informando dados como razo social, nome fantasia,
CNPJ (Cadastro Nacional de Pessoas Jurdicas),
Inscrio Estadual, endereo, telefone/fax e email.
RF002 Cadastrar funes O usurio do sistema deve cadastrar a funo que os
colaboradores exercem informado o nome da mesma.
RF003 Cadastrar funcionrios O usurio do sistema deve cadastrar os funcionrios
da empresa informando dados como o nome, CPF
(Cadastro de Pessoa Fsicas), RG (Registro Geral),
data de nascimento, endereo, fone, percentual de
comisso que recebe por venda e a funo que tal
exercer.
RF004 Cadastrar clientes O responsvel por tal cadastramento ter que
informar, caso o cliente seja pessoa fsica: nome, CPF,
28

RG, data de nascimento, endereo, fone/fax, email e


referncia.
Caso o cliente seja empresa jurdica o responsvel
deve informar: Razo social, CNPJ, Inscrio
Estadual, data de fundao, endereo, fone/fax, email,
referncia e telefone da mesma.
RF005 Cadastrar fornecedores O usurio responsvel ter que informar a razo
social, CNPJ, Inscrio Estadual, endereo, fone/fax,
email e representante.
RF006 Cadastrar condicional/ O usurio do sistema deve informar o cdigo do
emprstimo cliente que est emprestando, a quantidade de
produtos que esto sendo emprestados, assim como a
descrio dos produtos e os seus respectivos valores
de aquisio.
RF007 Cadastrar compras O usurio deve cadastrar as compras efetuadas pela
loja. Para isso ele deve informar o cdigo do
fornecedor que fez a venda para a loja e o valor da
compra.
RF008 Cadastrar contas a Para o cadastramento de contas a pagar o usurio deve
pagar informar o cdigo da compra que est sendo paga, a
data de vencimento da mesma e o valor a ser pago.
RF009 Cadastrar produtos O usurio deve cadastrar o cdigo do fornecedor que
ir vender o produto a loja, tambm deve ser
informada a descrio do produto, sua marca, tamanho
e valor de aquisio do mesmo.
RF010 Cadastrar servio Para cadastrar um servio deve ser informada a
descrio do servio e o valor do mesmo.
RF011 Cadastrar vendas Para registrar uma venda o usurio deve informar o
cdigo do cliente para quem est sendo realizada a
venda e tambm deve ser informado o valor da venda.
RF012 Cadastrar contas a O usurio deve cadastrar as contas a receber
receber informando a data de vencimento da mesma e o seu
valor.
RF013 Cadastrar usurios O usurio administrador deve cadastrar o login e
senha dos colaboradores que tero acesso ao sistema.
Quadro 1 - Requisitos funcionais

No Quadro 2 esto os requisitos no funcionais identificados para o sistema. Os


requisitos no funcionais explicitam regras de negcio, restries ao sistema de acesso, por
exemplo, requisitos de qualidade, desempenho, segurana e outros.
Identificao Nome Descrio
RNF001 Cadastrar empresas Somente o administrador do sistema poder realizar esse
cadastro, sendo necessrio o preenchimento dos campos
razo social, nome fantasia, CNPJ, inscrio estadual,
endereo e fone/fax.
RNF002 Cadastrar funes Esse cadastro pode ser realizado somente pelo
administrador do sistema sendo que o preenchimento do
campo nome da funo torna-se obrigatrio.
29

RNF003 Cadastrar funcionrios Cadastro que s pode ser feito pelo administrador do
sistema sendo de exclusiva obrigatoriedade o
preenchimento dos campos nome, CPF, RG, data de
nascimento, endereo, fone, percentual de comisso e
cdigo da funo exercida.
RNF004 Cadastrar fornecedores Somente o administrador do sistema pode realizar esse
cadastro informando assim obrigatoriamente os dados:
razo social, CNPJ, Inscrio Estadual, endereo e
fone/fax.
RNF005 Cadastrar condicional/ A cada condicional feito o cliente no poder levar mais
emprstimo que dez produtos em condicional/emprstimo.
RNF006 Cadastrar compras Cadastro que deve ser realizado somente pelo
administrador do sistema sendo de obrigatoriedade o
preenchimento dos dados data da compra, valor da compra
no se esquecendo de informar o cdigo do fornecedor que
realizou tal venda para a empresa.
RNF007 Cadastrar contas a pagar Cadastro realizado somente pelo administrador do sistema
sendo que obrigatrio o preenchimento dos campos data
de vencimento e valor, no se esquecendo de vincul-lo a
qual compra pertence.
RNF008 Cadastrar servios Registro feito pelo administrador do sistema tendo a
necessidade do preenchimento dos campos descrio e
valor.
RNF009 Cadastrar contas a Cadastro efetuado pelo administrador do sistema sendo
receber necessrio o preenchimento dos campos data de
recebimento e valor.
RNF010 Cadastrar usurios Cadastro efetuado pelo administrador do sistema sendo
necessrio o preenchimento das informaes login e senha.
Quadro 2 - Requisitos no-funcionais

A Figura 4 apresenta o diagrama de casos de uso relacionados aos requisitos


apresentados no Quadro 1.
30

Figura 7 - Diagrama de casos de uso do sistema para lojas de confeces

A seguir, nos Quadros 3 a 6, esto documentados os casos de uso que constam na


Figura 7. Cada caso de uso pode implementar um ou mais requisitos e estar vinculado a um
ou mais requisitos no funcionais. O Quadro 3 apresenta a descrio da operao de incluso
dos casos de uso cadastrar.
Identificador do requisito: Cadastrar.
Descrio: Este caso de uso permite incluir dados cadastrais.
Evento Iniciador: Tela de cadastros disponveis.
Atores: Administrador do sistema, Funcionrio.
Pr-condio: No h.
Seqncia de Eventos:
1 Ator Administrador ou Funcionrio informa dados para cadastro.
2 Sistema valida os dados e os inclui no banco de dados.
3 Sistema retorna mensagem de cadastramento efetuado com sucesso.
Ps-Condio: Os dados informados devero ser vlidos.
Extenses: Se dados forem informados incorretamente o sistema dever solicitar que eles
sejam informados novamente.
Nome do fluxo alternativo (extenso) Descrio
Informaes invlidas Se a informao prescrita for invlida o
31

usurio dever inform-la novamente.


Incluses: Validar dados.
Requisitos no funcionais:
Identificador Nome Descrio
RNF1.1 Cadastrar As informaes descritas que necessitam de
validao s podero ser cadastras se forem
validadas com sucesso.
Quadro 3 - Caso de uso Cadastrar

No Quadro 4 est a descrio da operao alterar dos casos de uso identificados como
cadastrar no diagrama da Figura 3.
Identificador do requisito: Alterar dados informados.
Descrio: Este caso de uso permite alterar dados de cadastros existentes no banco de dados.
Evento Iniciador: Tela de alteraes disponveis.
Atores: Administrador do sistema, Funcionrio.
Pr-condio: No h.
Seqncia de Eventos:
1 Ator solicita apresentao dos dados do cadastro do qual pretende alterar dados.
2 Ator realizar as alteraes desejadas nos dados.
3 Sistema valida se possvel realizar as alteraes solicitadas.
4 Sistema retorna mensagem de alteraes efetuadas com sucesso.
Ps-Condio: As alteraes requisitadas pelo usurio devero ser realizadas.
Extenses: Se alteraes requisitadas no forem permitidas o sistema dever informar que
impossvel realiz-las.
Nome do fluxo alternativo (extenso) Descrio
Alteraes invlidas Se a alterao requisitada pelo usurio for
invlida o sistema deve informar que no ser
possvel fazer determinadas mudanas.
Incluses: Validar alteraes.
Requisitos no funcionais:
Identificador Nome Descrio
RNF1.2 Alterar As alteraes requisitadas s podero sofrer
mudanas se estas forem vlidas para o
manuseio do usurio.
Quadro 4 - Caso de uso Alterar dados informados

No Quadro 5 apresentada a descrio da operao consultar dos casos de uso de


cadastro.
Identificador do requisito: Consultar dados.
Descrio: Este caso de uso permite consultar dados de cadastros do sistema.
Evento Iniciador: Tela de consultas disponveis.
Atores: Administrador do sistema, Funcionrio.
Pr-condio: No h.
Seqncia de Eventos:
32

1 Escolher cadastro e registro para que seus dados sejam apresentados.


2 Sistema valida se estes dados esto disponveis para consulta.
3 Sistema apresenta os dados solicitados.
Ps-Condio: os dados obtidos da consulta apresentados.
Extenses: se no for possvel realizar a consulta de tais dados o sistema dever informar que
certa consulta esta indisponvel.
Nome do fluxo alternativo (extenso) Descrio
Consultas indisponveis Se a consultar estiver indisponvel o sistema
dever informar ao usurio tal condio.
Incluses: Validar consultas
Requisitos no funcionais:
Identificador Nome Descrio
RNF1.3 Consulta As informaes descritas s podero ser
consultadas se estas estiverem disponveis
para tal ato.
Quadro 5 - Caso de uso Consultar dados

O Quadro 6 apresenta a descrio do caso de uso excluir dados.


Identificador do requisito: Excluir dados.
Descrio: Este caso de uso permite excluir dados de tabelas de banco de dados.
Evento Iniciador: Tela de excluses disponveis.
Atores: Administrador do sistema, Funcionrio.
Pr-condio: No h.
Seqncia de Eventos:
1 O ator informa o cadastro e respectivo registro do qual quer excluir dados.
2 Sistema valida se os dados podem ser excludos.
3 Sistema retorna mensagem de excluso efetuada com sucesso.
Ps-Condio: As excluses requisitadas devero estar disponveis para o usurio.
Extenses: Se no possvel realizar a excluso solicitada pelo usurio, o sistema dever
informar a impossibilidade de realiz-la.
Nome do fluxo alternativo (extenso) Descrio
Excluses invlidas Se a excluso for invlida o sistema dever
informar ao usurio.
Incluses: Validar dados.
Requisitos no funcionais:
Identificador Nome Descrio
RNF 1.4 Excluir S poder ocorrer determinada excluso se o
usurio estiver apto a realizar tal ato.
Quadro 6 - Caso de uso Excluir dados

A Figura 8 apresenta o diagrama de classes do sistema.


33

Figura 8 - Diagrama de classes

A seguir, nos Quadros 7 a 18, est a descrio das classes apresentadas na Figura 8.
Identificao: Empresas
Descrio: previsto que nesta classe sejam requisitados os dados da empresa
empregadora para que assim o cadastro seja efetuado com sucesso.
Atributos: Razo Social (String): nome devidamente registrado sob o qual a pessoa
jurdica se individualiza e exerce suas atividades.
Nome Fantasia (string): designao popular de ttulo do
estabelecimento.
CNPJ (string): Cadastro Nacional de Pessoa Jurdica.
Inscrio estadual (string): registro do contribuinte no cadastro do ICMS
(Imposto sobre Circulao de Mercadorias e Prestao de Servios)
mantido pela Receita Federal.
Endereo (string): localizao da empresa.
Fone/Fax (string): nmero de contato com a empresa.
Email (string): e-mail para contato com a empresa.
Mtodos: Cadastrar, Alterar, Consultar e Excluir
Quadro 7 - Classe Empresas

Identificao: Funes
Descrio: Essa classe responsvel pelos dados cadastrais das funes que so
exercidas pelos colaboradores/ funcionrios da empresa.
Atributos: Cdigo da Funo (integer): nmero de identificao da funo.
Nome da Funo (string): nome da funo.
Mtodos: Cadastrar, Alterar, Consultar e Excluir
Quadro 8 - Classe Funes
34

Identificao: Funcionrio
Descrio: Classe responsvel pelo cadastramento dos colaboradores da empresa.
Atributos: Cdigo do Funcionrio (integer): nmero de identificao do
funcionrio.
Nome (string): Nome do funcionrio.
CPF (string): nmero do cadastro de pessoa fsica do funcionrio.
RG (string): nmero do registro geral do funcionrio.
Data de Nascimento (date): data de nascimento do funcionrio.
Endereo (string): localizao residencial.
Fone (string): telefone para contato.
E-mail (string): e-mail para contato.
Percentual de comisso (double): valor percentual que o funcionrio
ganha por venda efetuada.
Mtodos: Cadastrar, Alterar, Consultar, Excluir e Vincular Funes
Observaes: Esta classe est vinculada com a classe Funes
Quadro 9 - Classe Funcionrios

Identificao: Clientes
Descrio: Essa classe tem como objetivo manter o cadastro os clientes da empresa.
Atributos: Cdigo do cliente (integer): nmero de identificao do cliente.
Nome (string): nome do cliente.
CPF_CNPJ (string): nmero do cadastro de pessoa fsica ou nmero do
cadastro nacional de pessoa jurdica.
RG_Inscrio Estadual (string): nmero do registro geral ou nmero da
inscrio estadual do cliente.
Data de Nascimento_ Data de Fundao (date): data de nascimento ou
data de fundao do cliente.
Endereo (string): localizao do cliente.
Fone/Fax (string): telefone para contato com o cliente.
E-mail (string): e-mail para contato.
Referencia (string): referncias sobre o cliente.
Telefone da Referencia (string): telefone para contato com a referencia.
Mtodos: Incluir, Alterar, Consultar e Excluir.
Quadro 10 - Classe Clientes

Identificao: Fornecedores
Descrio: Essa classe prev os registros de fornecedores da empresa.
Atributos: Cdigo do Fornecedor (integer): nmero de identificao do fornecedor.
Razo Social (string): nome devidamente registrado sob o qual a pessoa
jurdica se individualiza e exerce suas atividades.
CNPJ (string): nmero do cadastro nacional de pessoa jurdica.
Inscrio estadual (string): registro do contribuinte no cadastro do ICMS
mantido pela Receita Federal.
Endereo (string): localizao do fornecedor.
Fone/Fax (string): telefone para contato com o fornecedor.
E-mail (string): e-mail para contato.
Representante (string): nome do funcionrio que representa o fornecedor
35

na regio em que a empresa se encontra.


Mtodos: Incluir, Alterar, Consultar e Excluir.
Quadro 11 - Classe Fornecedores

Identificao: Condicional/ Emprstimos


Descrio: Classe responsvel pelos dados cadastrais dos condicionais/
emprstimos.
Atributos: Cdigo do Emprstimo (string): nmero de identificao do
condicional/emprstimo.
Descrio (string): descrio dos produtos emprestados.
Valor de Aquisio dos Produtos (double): valor de aquisio dos
produtos emprestados.
Status (string): estado (status) do emprstimo.
Mtodos: Incluir, Alterar, Consultar e vincular Cliente.
Observaes: Est classe est vinculado com a classe Cliente.
Quadro 12 - Classe Condicional/Emprstimos

Identificao: Compras
Descrio: Classe responsvel pelos dados cadastrais das compras efetuadas pela
empresa.
Atributos: Cdigo de compra (integer): nmero de identificao da compra.
Data de compra (date): data que foi efetuada a compra.
Valor da compra (double): valor da compra.
Mtodos: Incluir, Alterar, Consultar, Excluir e vincular Fornecedor.
Observaes: Classe vinculada com a classe Fornecedor.
Quadro 13 - Classe Compras

Identificao: Contas a pagar


Descrio: Classe responsvel pelos dados cadastrais das contas a pagar da
empresa.
Atributos: Cdigo da conta (integer): nmero de identificao da conta.
Valor da conta a pagar (double): valor da conta a pagar.
Data de vencimento (date): data de vencimento da conta.
Mtodos: Incluir, Alterar, Consultar, Excluir e vincular compra.
Observaes: Classe vinculada a classe Compra.
Quadro 14 - Classe Contas a pagar

Identificao: Produtos
Descrio: Classe responsvel pelos dados cadastrais dos produtos oferecidos pela
empresa.
Atributos: Cdigo Produto (integer): nmero de identificao do produto.
Descrio (string): descrio do produto.
Marca (string): marca do produto.
Tamanho (string): tamanho do produto.
36

Valor aquisio (double): valor de aquisio do produto.


Mtodos: Incluir, Alterar, Consultar, Excluir e vincular fornecedores.
Observaes: Classe vinculada com a classe Fornecedores.
Quadro 15 - Classe Produtos

Identificao: Servios
Descrio: Classe responsvel pelos dados cadastrais dos servios prestados pela
empresa.
Atributos: Cdigo do servio (integer): nmero de identificao do servio.
Descrio (string): descrio do servio prestado.
Valor (double): valor do servio.
Mtodos: Incluir, Alterar, Consultar e Excluir.
Quadro 16 - Classe Servios

Identificao: Vendas
Descrio: Classe responsvel pelos dados cadastrais das vendas realizadas pela
empresa.
Atributos: Cdigo Venda (integer): nmero de identificao da venda.
Valor (double): valor da venda.
Mtodos: Incluir, Alterar, Consultar, Excluir e vincular cliente.
Observaes: Classe vinculada com a classe Cliente
Quadro 17 - Classe Vendas

Identificao: Contas a receber


Descrio: Classe responsvel pelos dados cadastrais das contas a receber da
empresa.
Atributos: Cdigo conta a receber (integer): nmero de identificao da conta a
receber.
Descrio (string): descrio da conta a receber.
Valor (double): valor da conta a receber.
Mtodos: Incluir, Alterar, Consultar e Excluir.
Quadro 18 - Classe Contas a receber

Identificao: Usurios
Descrio: Classe responsvel pelos dados cadastrais dos usurios do sistema.
Atributos: Login (string): login do usurio do sistema.
Senha (string): senha do usurio do sistema.
Mtodos: Incluir, Alterar, Consultar e Excluir.
Quadro 19 - Classe Usurios

A Figura 9 apresenta o diagrama de entidades e relacionamentos do banco de dados.


37

Figura 9 - Diagrama de entidade relacionamento do banco de dados

Os Quadros 19 a 30 apresentam a descrio das tabelas que compem o banco de


dados, conforme expe a Figura 9.
Campo Tipo Nulo Chave Chave Observaes
primria estrangeira
RazaoSocial String No No No
NomeFantasia String No No No
CNPJ String No No No
InscricaoEstadual String No No No
Endereco String No No No
FoneFax String No No No
Email String Sim No No
Quadro 19 - Tabela empresa

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoFuncao Integer No Sim Sim Auto-
denominado
NomeFuncao String No No No
Quadro 20 - Tabela funes
38

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoFunc Integer No Sim Sim Auto-
denominado
Nome String No No No
CPF String No No No
RG String No No No
DatadeNascimento Date No No No
Endereco String No No No
Fone String No No No
Email string Sim No No
PercentualComissao Double No No No
Quadro 21 - Tabela funcionrios

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoCliente integer No Sim Sim Auto-
denominado
Nome String No No No
CPF_CNPJ String No No No
RG_InscricaoEstadual String No No No
DataNasc_DataFund Date No No No
Endereco String No No No
FoneFax String No No No
Email String Sim No No
Referencia String Sim No No
TelefoneRef String Sim No No
Quadro 22 - Tabela clientes

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoFornecedor Integer No Sim Sim Auto-
denominado
RazaoSocial String No No No
CNPJ String No No No
InscricaoEstadual String No No No
Endereco String No No No
FoneFax String No No No
Email String Sim No No
Representante String Sim No No
Quadro 23 - Tabela fornecedores
39

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoEmprestimo Integer No Sim Sim Auto-
denominado
Descricao String No No No
ValorAquisicaoProd String No No No
Status String No No No
Quadro 24 - Tabela emprstimo/condicional

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoCompra Integer No Sim Sim Auto-
denominado
DataCompra Date No No No
ValorCompra Double No No No
Quadro 25 - Tabela compras

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoCompra integer No Sim Sim Auto-
denominado
ValordaContaPagar double No No No
DataVencimento date No No No
Quadro 26 - Tabela contas a pagar

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoProduto Integer No Sim Sim Auto-
denominado
Descricao String No No No
Marca String No No No
Tamanho String No No No
ValorAquisicao Double No No No
Quadro 27 - Tabela produtos

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoServ Integer No Sim Sim Auto-
denominado
Descricao String No No No
Valor Double No No No
Quadro 28 - Tabela servios
40

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoVenda Integer No Sim Sim Auto-
denominado
ValorVendaServicos Double No No No
Quadro 29 - Tabela vendas

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
CodigoContaRec Integer No Sim Sim Auto-
denominado
DataRecebimento Date No No No
Valor Double No No No
Quadro 30 - Tabela contas a receber

Campo Tipo Nulo Chave Chave Observaes


primria estrangeira
Login String No No No
Senha String No No No
Quadro 31 - Tabela Usurios

4.3 DESCRIO DO SISTEMA

A Figura 10 apresenta a tela de login e senha para acesso ao sistema. Essa tela permite
a validao se o usurio existe. Os dois campos dessa tela so de preenchimento obrigatrio.

Figura 10 - Tela de login e senha

Na Figura 11 apresentada a tela inicial do software. Nela esto os menus Cadastros,


Cadastros Administrativos (que somente habilitado para o usurio que possui login e senha
de administrador), Relatrios, Grficos, Fazer Logoff e Ajuda. Na parte inferior da tela
apresentado o nome do usurio logado, a data e o horrio do sistema operacional.
41

Figura 11 - Tela inicial do sistema

Na imagem da Figura 12 so apresentadas as opes no menu Cadastros, sendo elas o


cadastramento de Clientes, Vendas, Emprstimos, Produtos e por fim a opo Sair.

Figura 12 - Menu cadastros

A Figura 13 apresenta as opes que o menu Cadastros Administrativos possui:


Usurios, Empresas, Funes, Funcionrios, Fornecedores, Compras, Servios, Contas a
Pagar, Contas a Receber e a opo Sair. As opes desse menu s estaro disponveis aos
usurios com perfil administrador.
42

Figura 13 - Menu cadastros administrativos

O menu Relatrios pode ser visualizado na Figura 14. Nesta opo o usurio pode
verificar os relatrios dos Clientes, Fornecedores, Produtos, Servios, Contas a Pagar e
Contas a Receber cadastrados no sistema.

Figura 14 - Menu relatrios

A Figura 15 mostra o menu Grficos no qual o usurio pode visualizar graficamente as


contas a pagar e a receber cadastradas no sistema.

Figura 15 - Menu grficos

Na opo Fazer Logoff, o usurio pode acessar o aplicativo com outro login e senha
sem precisar finalizar o sistema. No menu Ajuda so encontradas informaes sobre o
software e seus desenvolvedores.
A tela de Cadastro de Clientes representada pela Figura 16. No lado esquerdo dessa
tela esto os botes Novo, Alterar, Excluir, Cancelar, Salvar e Fechar alm das informaes
que devem ser obrigatoriamente cadastradas como Nome, CPF/CNPJ, RG/Inscrio Estadual,
43

Data de Nascimento/Data de Fundao, Endereo, Fone/Fax, E-mail, Referncia e Telefone


da Referncia lembrando que o campo Cdigo do Cliente auto-incremento. Na parte inferior
da tela, h um grid que permite visualizar todos os cadastrados j efetuados.

Figura 16 - Tela cadastro de clientes

A Figura 17 apresenta a tela de cadastrado das vendas efetuadas. Nela h os botes


Novo, Alterar, Excluir, Cancelar, Salvar e Fechar, alm dos campos que devem ser
cadastrados obrigatoriamente como Valor e vinculao do Cliente para o qual foi feita a
venda. A informao Cdigo da Venda auto-incremento. Na parte inferior da tela est o grid
que apresenta todos os cadastros j realizados.
44

Figura 17 - Tela cadastros de vendas

Na Figura 18 est a tela de cadastros dos emprstimos. Na parte esquerda da tela h os


botes Novo, Alterar, Excluir, Cancelar, Salvar e Fechar. H tambm as informaes
obrigatrias nos cadastros: Nome Cliente que deve ser vinculado com os Clientes j
cadastrados no sistema, Valor, Status, Descrio e Produto, campo que tambm deve ser
vinculado com os produtos j cadastrados no sistema. E na parte inferior da tela so
apresentados os cadastros j existentes e que podem ser editados ou excludos.

Figura 18 - Tela cadastros de emprstimos


45

Na Figura 19 apresentada a tela de cadastro de produtos. Nela h os botes padres


para cadastro e as informaes obrigatrias como Fornecedor que deve ser vinculado com os
fornecedores j cadastrados no sistema, Descrio, Marca, Tamanho e Valor. Essa tela
tambm permite a visualizao dos dados dos cadastros j realizados.

Figura 19 - Tela cadastros de produtos

A tela de cadastros de usurios pode ser visualizada na Figura 20. Nela, alm dos
botes padres do cadastro, h as informaes login, senha e o vnculo dos funcionrios j
cadastrados e um checkbox que quando marcado disponibiliza aos usurios recm-cadastrados
a possibilidade de ter acesso a todas as informaes do sistema. Por ltimo h est o grid, com
a listagem dos cadastros j realizados.
46

Figura 20 - Tela cadastros de login e senha

Na Figura 21 pode ser visualizada a tela de cadastramento de Empresas. No lado


esquerdo da tela esto os botes padro de cadastros. Na parte central encontra-se os dados a
serem cadastrados como Razo Social, Nome Fantasia, CNPJ, Inscrio Estadual, Endereo,
Fone/Fax e E-mail. Essa tela apresenta a listagem dos registros j realizados.

Figura 21 - Tela cadastros de empresas

A tela da Figura 22 disponibiliza ao usurio o cadastramento das funes que os


colaboradores exercero. Nesta tela so encontrados os botes padres de um cadastro, as
informaes cadastrais como Cdigo da Funo que auto-incremento e o Nome da Funo.
47

Figura 22 - Tela cadastros de funes

A Figura 23 ilustra a tela de cadastro dos colaboradores. Nela esto os botes padro
para o cadastro que so Novo, Alterar, Excluir, Cancelar, Salvar e Fechar. Tambm podem ser
visualizados os dados a serem cadastrados como Cdigo do Funcionrio, que auto-
incremento, Nome, CPF, RG, Data de Nascimento, Endereo, Fone, E-mail, Funo (campo
que deve ser vinculado com as funes j cadastradas no sistema) e Percentual de Comisso.
Na parte inferior da tela est a listagem dos cadastros j realizados.

Figura 23 - Tela cadastros de funcionrios


48

A Figura 24 apresenta ao usurio a tela para o cadastramento dos fornecedores. Nesta


tela so encontrados os botes padro de cadastro e as informaes para cadastramento que
so: Cdigo do Fornecedor, auto-incremento, Razo Social, CNPJ, Inscrio Estadual,
Endereo, Fone/Fax, Email e Representante.

Figura 24 - Tela cadastros de fornecedores

Na Figura 25 est o cadastro das compras efetuadas. Nessa tela esto os botes padro
do cadastro, as informaes a serem cadastradas, Cdigo Compras (que auto-incremento),
Fornecedor (que deve ser vinculado com os fornecedores j cadastrados no sistema), Data da
Compra e Valor da Compra. Na parte inferior da tela ficam visveis todos os cadastrados j
realizados no software.
49

Figura 25 - Tela cadastros de compras

A imagem da Figura 26 apresenta o cadastro dos servios prestados pela empresa.


Nesta tela h os botes padro do cadastro, as informaes a serem cadastradas, Cdigo (que
auto-incremento), Descrio e Valor.

Figura 26 - Tela cadastros de servios

Pode ser visualizada na Figura 27 a tela de cadastro das contas a pagar. Nela esto os
botes padres de um cadastro, as informaes a serem cadastradas, Cdigo Conta (auto-
incremento), Cdigo Compra (que deve ser vinculado com as compras j cadastradas), Valor,
50

Status (se a conta j est paga ou no paga) e vencimento. Assim, como nas demais telas de
cadastros, por fim, h um grid que mostra todas as informaes j cadastradas.

Figura 27 - Tela cadastros de contas a pagar

A Figura 28 apresenta ao usurio o cadastramento das Contas a Receber. No canto


direito da mesma esto os botes padro dos cadastros, no meio da tela esto as informaes a
serem cadastradas, Cdigo, auto-incremento, Data de Recebimento, Valor e Status da Contas,
recebida ou no recebida e na parte inferior da mesma est o grid que mostra todas as
informaes j cadastradas.

Figura 28 - Tela cadastros de contas a receber


51

Na Figura 29 pode ser visualizado o Relatrio de Clientes. Este relatrio mostra ao


usurio as informaes como Nome, Endereo, Telefone/Fax e E-mail cadastrados na tela de
cadastros de Clientes.

Figura 29 - Relatrio de clientes

Na Figura 30 est o Relatrio de Fornecedores e as informaes cadastradas na tela de


cadastro de Fornecedores como Razo Social, Endereo, Representante e Telefone/Fax.

Figura 30 - Relatrio de fornecedores

A imagem da Figura 31 mostra o Relatrio de Produtos e os dados cadastrados na tela


de cadastro dos mesmos, como Descrio, Fornecedor (Cdigo/Razo Social), Marca e Valor.
52

Figura 31 - Relatrio de produtos

O Relatrio de Contas a Pagar pode ser visualizado pela Figura 32. Nele h as
informaes de Cdigo da Compra, Valor, Vencimento e Status, informaes essas
cadastradas na tela de cadastros de contas a pagar.

Figura 32 - Relatrio de contas a pagar

O Relatrio de Contas a Receber exibido na Figura 33 assim como suas informaes


como Cdigo da Conta, Valor, Vencimento e Status.
53

Figura 33 - Relatrio de contas a receber

Na Figura 34 o usurio pode visualizar o grfico referente a todas as Contas a Pagar


cadastradas no sistema de acordo com o dia em que foram cadastradas.

Figura 34 - Grfico de contas a pagar

Na Figura 35 pode ser visualizado o grfico de todas as Contas a Receber cadastradas


no sistema de acordo com o dia em que foram cadastradas.
54

Figura 35 - Relatrio de contas a receber

4.4 IMPLEMENTAO DO SISTEMA

Para que seja possvel realizar a conexo com o banco de dados, foi criada uma
procedure privada denominada procedure ConectaBanco. Essa procedure apresentada na
Listagem 1.
procedure TfrmMenu.ConectaBanco;
begin
dm.SQLC.Connected := false;
dm.SQLC.Params.Clear;
dm.SQLC.Params.LoadFromFile('BD/configFirebird.ini');
dm.SQLC.Connected := true;
end;
Listagem 1 - Procedure ConectaBanco

Essa procedure da Listagem 1 realiza a conexo com o banco de dados utilizando o


formulrio DM (Data Module), no qual esto os componentes necessrios para realizar a
conexo. Aps fechar qualquer conexo existente e zerar todos os parmetros da componente
SQLC (Structured Query Language Connection), carrega-se os parmetros de um arquivo de
extenso .ini no qual esto todos os parmetros necessrios para a conexo funcionar
corretamente. A linha de cdigo dm.SQLC.Connected := true tem a funo de ativar a
55

conexo aps os parmetros serem carregados, a mesmo s ira funcionar se todos os


parmetros estiverem corretos.
Na implementao da Listagem 2, a procedure TfrmLogin.logar acionada quando o
boto logar da tela Login clicado.
procedure TfrmLogin.logar;
begin
try
logado := false;
qryLogin.SQL.Text := 'SELECT NOME, SENHA, TIPOUSUARIO FROM
USUARIO WHERE LOGIN = ' +
QuotedStr(edtLogin.Text);
qryLogin.Open;
if qryLogin.IsEmpty then
msgOK('Usurio no encontrado')
else
begin
if qryLogin.FieldByName('SENHA').AsString = edtSenha.Text
then
begin
msgOK('Usurio valido com sucesso!');
logado := true;
usuario := qryLogin.FieldByName('NOME').AsString;
tipoUsuario :=
qryLogin.FieldByName('TIPOUSUARIO').AsString;
self.Close;
end
else
begin
msgOK('Senha invlida!');
edtSenha.SetFocus;
end;
end;
qryLogin.close;
except
on E:Exception do
begin
msgOK('Erro ao validar o usurio');
self.Close;
end;
end;
end;
Listagem 2 - Procedure TfrmLogin.logar

O cdigo apresentado na Listagem 2 tem uma varivel booleana para identificar se o


usurio est logado no sistema ou no. O primeiro passo atribuir valor false para essa
varivel logado e em seguida recuperar do banco de dados todas as informaes referentes
ao usurio digitado no campo Usurio. Caso o usurio indicado no existir, mostra-se uma
mensagem informando que o usurio no foi encontrado. Caso contrrio o sistema verifica se
a senha informada igual senha cadastrada no banco de dados. Se essa informao for
56

verdadeira, atribui-se valor true para a varivel logado e mostra-se a mensagem


informando que o usurio foi validado.
A Listagem 3 apresenta a procedure TfrmMenu.trocardeUsurio1Click(Sender:
TObject).
procedure TfrmMenu.trocardeUsurio1Click(Sender: TObject);
var
x: byte;
begin
if MDIChildCount > 0 then
for x:= 0 to Pred(MDIChildCount) do
MDIChildren[x].Close;
try
ConectaBanco;
//msgOk('Banco conectado!');
Application.ShowMainForm := false;
frmLogin := TfrmLogin.Create(nil);
frmLogin.ShowModal;
StatusBar1.Panels[0].Text := 'Usurio: '+frmLogin.usuario;
//Valida se o usuario Administrador do sistema, para
desabilitar alguns cadastros
VerificarUsuario;
FreeAndNil(frmLogin);
Application.ShowMainForm := true;
StatusBar1.Panels[1].Text := FormatDateTime('dddd, dd "de" mmmm
"de" yyyy', Date);

except
on E: Exception do
begin
msgOK('Erro ao conectar o banco: '+ E.Message);
Application.Terminate;
end;
end;
end;
Listagem 3 - TfrmMenu.trocardeUsurio1Click(Sender: TObject)

A procedure privada da Listagem 3 tem como funo fechar todos os formulrios


filhos abertos dentro do formulrio pai (Menu) e chamar novamente a funo de conexo com
o banco. Esta procedure permite a troca de usurios sem a necessidade de fechar o programa.
A implementao da Listagem 4 representa a funo privada DadosValidos que
implementada em todos os cadastros, nesse cdigo de exemplo mostrado a funo que
valida os dados do cadastro de clientes.
function TfrmCadClientes.DadosValidos: boolean;
begin
Result := true;
if(edtCodigo.Text = '') then
begin
msgOk('Informe o Cdigo do Cliente');
57

edtCodigo.SetFocus;
result := false;
end
else if(edtNome.Text = '') then
begin
msgOk('Informe o Nome do Cliente');
edtNome.SetFocus;
result := false;
end
else if(edtCPF.Text = '') then
begin
msgOk('Informe o CPF/CNJP do Cliente');
edtCPF.SetFocus;
result := false;
end
else if(edtRG.Text = '') then
begin
msgOk('Informe o RG/Inscrio Estadual do Cliente');
edtRG.SetFocus;
result := false;
end
else if(edtData.Text = '') then
begin
msgOk('Informe a Data de Nascimento/Fundao do Cliente');
edtData.SetFocus;
result := false;
end
else if(edtEndereco.Text = '') then
begin
msgOk('Informe o Endereo do Cliente');
edtEndereco.SetFocus;
result := false;
end
end;
Listagem 4 - TfrmCadClientes.DadosValidos

Na funo da Listagem 4, verificado se todos os campos que no podem ser nulos


esto com contedo informado. Isso realizado para manter a integridade do banco de dados
e para evitar qualquer erro devido falta de informao em algum cadastro especfico. Essa
funo no permite a compilao nem execuo do projeto se ela no estiver presente em
todos os cadastros.
No cadastro de produtos ao clicar no boto "Novo", chama-se a funo de estado dos
botes que habilitar e desabilitar algumas das demais opes. Em seguida o foco colocado
no primeiro componente e com o comando "cds.Append" adicionado um registro em branco
na ltima posio, sem salvar as informaes no banco de dados. Isso ser feito somente
quando o boto Salvar for acionado. A Listagem 5 apresenta o cdigo do boto Novo.
procedure TfrmPadraoDB.btnNovoClick(Sender: TObject);
begin
58

EstadoBotoes(tebIncluir);
SelectFirst; //coloca o foco no primeiro componente
cds.Append;
end;
Listagem 5 - TfrmPadraoDB.btnNovoClick

Ao clicar no boto Alterar, chamada a funo de estado dos botes que ir


novamente habilitar e desabilitar algumas das demais opes, aps isso com o comando
cds.Edit informado que o registro em questo est em edio. Porm, sem realizar
nenhuma alterao no banco de dados. As alteraes sero realizadas somente quando o boto
Salvar for acionado. O cdigo do boto Alterar est na Listagem 6.
procedure TfrmPadraoDB.btnAlterarClick(Sender: TObject);
begin
EstadoBotoes(tebAlterar);
cds.Edit;
end;
Listagem 6 - TfrmPadraoDB.btnAlterarClick

Ao clicar no boto Salvar, a funo Dados Validos que verifica se todos os dados
obrigatrios esto preenchidos chamada. Se tudo estiver de acordo, os dados so salvos no
banco de dados com o comando cds.Post. Caso nenhum erro ocorra, a funo de estado dos
botes chamada, habilitando os devidos botes. Caso algum erro ocorra, uma mensagem
ser apresentada. Na listagem 7 est o cdigo do boto Salvar.
procedure TfrmPadraoDB.btnSalvarClick(Sender: TObject);
begin
if DadosValidos then
begin
cds.Post;
if cds.ApplyUpdates(0) = 0 then
EstadoBotoes(tebCancelar)
else
msgOK('Erro ao gravar o registro!');
end;
end;
Listagem 7 - TfrmPadraoDB.btnSalvarClick

Ao clicar no boto Excluir, chama- se a funo de estado dos botes que habilitar e
desabilitar algumas das demais opes e realiza-se a verificao se realmente existe um
registro selecionado. Se tudo estiver correto, uma mensagem de confirmao para realmente
deletar o registro apresentada. Se a excluso for confirmada chama-se mais uma vez a
funo de estado de botes e deleta-se o registro com o comando cds.Delete. Logo aps
realiza-se a verificao de que o registro foi excludo com sucesso. O cdigo do boto
Excluir est na Listagem 8.
59

procedure TfrmPadraoDB.btnExcluirClick(Sender: TObject);


begin
EstadoBotoes(tebExcluir);
if (not cds.IsEmpty) and
(msgSN('Deseja excluir o registro selecionado?') = idyes) then
begin
EstadoBotoes(tebCancelar);
cds.Delete;
if cds.ApplyUpdates(0) <> 0 then
msgOK('Erro excluir o registro!');
end
else
EstadoBotoes(tebCancelar);
end;
Listagem 8 - TfrmPadraoDB.btnExcluirClick
60

5 CONCLUSO

O desenvolvimento deste trabalho objetivou a criao de um software para o controle


de uma loja de confeces que possui um salo de beleza vinculado. Esse sistema prov o
controle de compras, vendas, condicional e servios de salo de beleza.
Para o desenvolvimento deste trabalho foram utilizadas as ferramentas Case Studio e
Visual Paradigm na modelagem do sistema. Essas ferramentas foram de grande ajuda para
realizar a anlise do sistema. Elas facilitaram o desenvolvimento do diagrama casos de uso, de
classes e de entidades e relacionamentos. Permitindo identificar as entidades de
implementao (classe) e as entidades do banco de dados (tabelas).
Outra ferramenta utilizada no desenvolvimento do programa foi Delphi 7 que
permite o desenvolvimento de software com a linguagem Delphi. Essa foi a linguagem
utilizada para implementar o programa resultado deste trabalho. A escolha desta linguagem
foi decorrente das facilidades que a mesma possui, considerando o escopo de conhecimento
dos autores deste trabalho.
As facilidades encontradas em torno das ferramentas utilizadas foram em decorrncia
que os autores do trabalho j haviam desenvolvido escopos semelhantes com as mesmas,
facilitando, assim, o desenvolvimento da anlise e programao do software. Por outro lado as
dificuldades na utilizao de tais ferramentas ocorreram durante o desenvolvimento dos
relatrios do sistema. Pesquisa na Internet foram realizadas para entendimento do
funcionamento e leiaute das ferramentas.
O sistema desenvolvido permitir ao usurio um melhor controle nos emprstimos de
mercadorias, vendas e compras realizadas na loja de confeco e assim como dos servios
oferecidos no salo de beleza. O software permitir, ainda, o cadastramento de clientes,
fornecedores, usurios, funes, servios realizados no salo de beleza, empresa, produtos que
sero vendidos na loja de confeco e compras realizadas pela loja. Essas funcionalidades
oferecem aos usurios do sistema uma melhor administrao dos servios realizados e dos
produtos comprados e vendidos.
61

REFERNCIAS

ARANTES, Carlos Guilherme. Nova verso 2009 do Delphi. Disponvel em:


<http://www.guilherme.inf.br/index.php?option=com_content&view=article&id=73:nova-
versao-2009-do-delphi&catid=68:artigos-sobre-delphi&Itemid=77>. Acesso em: 20 de nov.
de 2012.

CANT, Marco. Dominando o Delphi 6 "A Bblia". So Paulo. Makron Books, 2000.

CANT, Marco. Dominando o Delphi 7 A Bblia. So Paulo: Makron Books, 2003.

CANT, Carlos, H. Conhea o Firebird em 2 minutos. Disponvel em:


<http://www.firebirdnews.org/docs/fb2min_ptbr.html>. Acesso em: 27 fev. 2013.

CASESTUDIO. CaseStudio. Disponvel em: <http://www.casestudio.com>. Acesso em: 12


mar. 2012.

EMABARCADERO. Delphi XE3. Disponvel em: <


http://www.embarcadero.com/br/products/delphi>. Acesso em: 17 set. 2012.

FACUNTE, Emerson. Delphi Internet e Banco de Dados 7. Rio de Janeiro: Brasport, 2003.

FAST REPORT. Fast Report. Disponvel em: <http://www.fast-report.com/en/product/fast-


report-vcl/?pk_campaign=google&pk_kwd=delphivcl&gclid=CMmD_r-
G2bUCFQk4nAodCzgApw>. Acesso em: 28 fev. 2013.

FROLIK V. CASE Studio 2. User's manual, 2006. Disponvel em:


<http://www.casestudio.com/download/doc/cs2_manual.pdf>. Acesso em: 17 mar. 2012.

IBEXPERT. IBExpert developer sudio. Disponvel em: <http://www.ibexpert.com/>.


Acesso em: 14 nov. 2012.

LAMIN, Johathan. Conhecendo o Delphi. Disponvel em:


<http://www.oficinadanet.com.br/artigo/745/conhecendo_o_delphi>. Acesso em: 19 de nov.
2012.

LANUSSE, Andreano. CodeGear acelera o desenvolvimento para web com a nova


verso do Delphi para PHP. Disponvel em: < http://edn.embarcadero.com/article/37949>.
Acesso em 20 de mar. 2013.

LIMA, Mrcia. Embarcadero lana Delphi 2010. Disponvel em:


<http://www.baguete.com.br/noticias/geral/11/09/2009/embarcadero-lanca-delphi-2010>.
Acesso em: 21 de nov. 2012.

MARTINS, Vidal. Viso geral sobre Delphi. Disponvel em:


<http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=185>. Acesso
em: 18 de nov. 2012.

PICO, Marcos Elias. Criando instaladores para Windows com o Inno Setup. Disponvel
em: <http://www.hardware.com.br/tutoriais/inno-setup/>. Acesso em; 28 fev. 2013.
62

PRESSMAN. R. Engenharia de software. So Paulo: MacGraw-Hill, 2005.

SEBESTA, R. W. Conceitos de linguagem de programao, 5a. ed., Porto alegre:


Bookman, 2003.

SONNINO, Bruno. Kylix Delphi para Linux: guia prtico de programao. Makron
Books Pearson, 2001.

VISUAL PARADIGM. Visual Paradigm. Disponvel em: <http://www.visual-


paradigm.com/>. Acesso em: 23 jan. 2012.

También podría gustarte