desenvolvimento de sistema de comércio de veículos.pdf

55
Rafael Lagos Miranda 0310065 – 8º Semestre Desenvolvimento de Sistema de Comércio de Veículos Jaguariúna 2007

Upload: robertomarcos182

Post on 10-Aug-2015

20 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Desenvolvimento de Sistema de Comércio de Veículos.pdf

Rafael Lagos Miranda

0310065 – 8º Semestre

Desenvolvimento de Sistema de Comércio de Veículos

Jaguariúna

2007

Page 2: Desenvolvimento de Sistema de Comércio de Veículos.pdf

I

Rafael Lagos Miranda

0310065 – 8º Semestre

Desenvolvimento de Sistema de Comércio de Veículos

Monografia apresentada à disciplina Trabalho

de Conclusão do curso de Ciência da

Computação da Faculdade de Jaguariúna, sob

orientação do Prof. Ms. Ademário Araujo, como

exigência parcial para conclusão do curso de

graduação.

Jaguariúna

2007

Page 3: Desenvolvimento de Sistema de Comércio de Veículos.pdf

II

Miranda, Rafael Lagos. Desenvolvimento de sistema de venda de veículos. Monografia

defendida e aprovada na FAJ em 20 de dezembro de 2007 pela banca examinadora

constituída pelos professores:

Prof. Ademário Araújo Jr.

Prof. Peter Jandir Jr.

Prof. José Arnaldo G. Nunes

Page 4: Desenvolvimento de Sistema de Comércio de Veículos.pdf

III

Dedico este trabalho a todos aqueles

que fazem de sua vida uma luta diária

pela melhoria deste mundo.

Page 5: Desenvolvimento de Sistema de Comércio de Veículos.pdf

IV

AGRADECIMENTOS

Primeiramente a Deus, que me deu força e oportunidade para vencer mais este desafio.

Aos meus pais, Vanderlei e Fátima, pelo empenho e dedicação que foi disponibilizada nesta

longa e difícil caminhada.

Ao meu irmão, Gustavo, que apesar de ser mais novo e menos experiente sempre me

incentivou a chegar onde estou.

Á minha noiva Loriane, pelo carinho e paciência que demonstrou durante estes anos.

Particularmente agradeço ao coordenador do curso Prof. Peter, pelo seu apoio e

compreensão das reais necessidades.

Aos professores/mestres do curso de ciência da computação que tanto contribuíram para o

meu crescimento intelectual.

E não poderia deixar de agradecer a todos os meus queridos e grandes amigos do curso de

Ciência da Computação, que proporcionaram momentos de grande alegria.

Page 6: Desenvolvimento de Sistema de Comércio de Veículos.pdf

V

Transforme as pedras que você

tropeça nas pedras de sua escada.

(Sócrates, filósofo ateniense)

Page 7: Desenvolvimento de Sistema de Comércio de Veículos.pdf

VI

Miranda, Rafael Lagos. Desenvolvimento de sistema de vendas de veículos. 2007.

Monografia (Bacharelado em Ciência da Computação) – Curso de Ciência da Computação

da Faculdade de Jaguariúna, Jaguariúna.

RESUMO

Na computação, o desenvolvimento de software é o ato de elaborar e implementar um

sistema computacional, isto é, transformar a necessidade de um utilizador ou de um

mercado em um produto de software. O software apresentado neste trabalho é especialista

em vendas de veículo, foi desenvolvido utilizando a técnica de desenvolvimento em cascata,

será demonstrado cada passo desta técnica e principalmente chamar a atenção para a

importância na utilização de técnicas para desenvolvimento de software.

Palavras-chave: Desenvolvimento, Software, Sistema Computacional, Técnicas de

Desenvolvimento.

Page 8: Desenvolvimento de Sistema de Comércio de Veículos.pdf

VII

Miranda, Rafael Lagos. Desenvolvimento de sistema de vendas de veículos. 2007.

Monografia (Bacharelado em Ciência da Computação) – Curso de Ciência da Computação

da Faculdade de Jaguariúna, Jaguariúna.

ABSTRACT

In computing, the development of software is the act of drawing up and implementing

a computer system, that is transforming the need for a user or a market in a software

product. The software presented in this work is a specialist in sales of vehicle, has been

developed using the technique of development cascade will be demonstrated each step of

this technique and mainly draw attention to the importance in the use of techniques for

software development.

Keywords: Development, Software, Computer System, Technical Development

Page 9: Desenvolvimento de Sistema de Comércio de Veículos.pdf

SUMÁRIO

INTRODUÇÃO....................................................................................................................... 2

Capitulo 1- Modelo de Desenvolvimento................................................................................ 4

Modelos de desenvolvimento em Cascata ....................................................................... 4

Capítulo 2 – Requerimento .................................................................................................... 5

2.1 Levantamento de Requisitos...................................................................................... 5

2.2 Planejamento do processo......................................................................................... 6

2.3 Definições da Análise de Requisitos ......................................................................... 8

2.4 Levantamento do banco de dados ............................................................................. 8

2.5 Levantamento e Estudo da Ferramenta de Desenvolvimento .................................. 10

2.6 Estudo do Banco de Dados Escolhido ..................................................................... 11

2.7 Análise de Requisitos............................................................................................... 12

Capítulo 3 – Projeto ............................................................................................................. 14

3.1 Projeto do Sistema................................................................................................... 14

3.2 Definição de Caso de Uso........................................................................................ 20

Capítulo 4 – Implementação ................................................................................................ 21

Implementação ou programação (Codificação) .............................................................. 21

Capítulo 5 - Implantação...................................................................................................... 41

Implantação ................................................................................................................... 41

Capítulo 6 - Verificação........................................................................................................ 42

6.1 Análise dos Resultados........................................................................................... 42

6.2 Quanto ao Levantamento de Requisitos .................................................................. 43

6.3 Quanto à Análise de Requisitos ............................................................................... 43

6.4 Quanto ao Projeto .................................................................................................... 43

6.5 Quanto à Implementação ......................................................................................... 43

6.6 Quanto à Validação.................................................................................................. 44

7 - REFERÊNCIAS BIBLIOGRÁFICAS............................................................................... 44

Page 10: Desenvolvimento de Sistema de Comércio de Veículos.pdf

LISTA DE FIGURAS

FIGURA 01 – Modelo de desenvolvimento em cascata.............................................04

FIGURA 02 – Fluxo de atividades..............................................................................06

FIGURA 03 – Diagrama de contexto..........................................................................14

FIGURA 04 – Fluxo do sistema..................................................................................15

FIGURA 05 – Tabela de Clientes...............................................................................15

FIGURA 06 – Tabela de Fornecedores......................................................................16

FIGURA 07 – Tabela de Funcionários.......................................................................16

FIGURA 08 – Tabela de Veículos..............................................................................16

FIGURA 09 – Tabela de Vendas................................................................................17

FIGURA 10 – Tabela de Compras.............................................................................17

FIGURA 11 – Tabela de Trocas.................................................................................17

FIGURA 12 – Estudo de caso VENDAS....................................................................18

FIGURA 13 – Estudo de caso SOLICITAÇÃO DE PEÇAS........................................19

FIGURA 14 – Estudo de caso GERENCIAMENTO...................................................19

FIGURA 15 – Componente para conectar ao banco de dados..................................21

FIGURA 16 – Propriedade do SQL Connection.........................................................21

FIGURA 17 – Cronograma de atividades/período......................................................22

Page 11: Desenvolvimento de Sistema de Comércio de Veículos.pdf

LISTA DE TABELAS

Tabela 1 – Plano de Trabalho....................................................................................11

Tabela 2 – Plano para Levantamento de Requisitos..................................................11

Page 12: Desenvolvimento de Sistema de Comércio de Veículos.pdf

LISTAGEM DE CÓDIGOS

Listagem 1 – Importação do banco de dados............................................................08

Listagem 2 – Gerar número seqüencial.....................................................................23

Listagem 3 – Gravação no banco de dados...............................................................24

Listagem 4 – Garantir informações gravadas no banco.............................................25

Listagem 5 – Padrão para Form de consulta.............................................................26

Listagem 6 – Alterar as cores das linhas na consulta................................................29

Listagem 7 – Utilizando Duplo Clique na Consulta....................................................30

Page 13: Desenvolvimento de Sistema de Comércio de Veículos.pdf

2

INTRODUÇÃO

Este trabalho constitui basicamente no uso de processo de desenvolvimento, onde

exemplificam com o desenvolvimento de um sistema de venda de veículos, as principais

funções deste sistema são:

� Gerenciamento dos movimentos (compra, venda e troca);

� Marketing de relacionamento - pré-venda e pós-venda -;

� SAC (Sistema de atendimento ao cliente);

� Visualização de ficha do cliente;

� Gestão de veículos novos e usados;

� Controle de peças;

� Controle das atividades diárias relacionadas à assistência técnica;

� Resumo anual da empresa;

� Controle sobre as operações financeiras;

� Livros fiscais, folha de pagamento, ativo fixo, administração contábil;

� Gestão orçamentária, possibilitando a realização da visão consolidada do grupo ou

por empresa, definição de metas e objetivos (receitas, custos e despesas).

� Acompanhamento diário do projetado com o realizado de uma maneira rápida e

prática.

� Controlar os custos de um veículo, evitando assim prejuízos.

A motivação deste trabalho sobre o desenvolvimento deste software foi o prévio

conhecimento das atividades do ramo, e principalmente a necessidade de um software

especialista com baixo custo e que realmente atenda as necessidades.

Entretanto desenvolver um software não é um trabalho trivial, pesquisa realizada pelo

CHAOS Report de 2003 apresentou as seguintes estatísticas:

• Apenas 34% dos projetos de software são bem sucedidos;

• 15% dos projetos são cancelados;

• 43% é o erro médio em relação ao orçamento do projeto dos 34% mencionados;

• 52% das características (requisitos não funcionais) e funcionalidades são entregues no

produto.

Page 14: Desenvolvimento de Sistema de Comércio de Veículos.pdf

3

Para desenvolver um software com qualidade deverá ser adotado um processo de

desenvolvimento de software.

Um processo de software pode ser entendido como um conjunto estruturado de atividades

exigidas para desenvolver um sistema de software. Esse conjunto de atividades é ligado por

padrões de relacionamento entre si, as quais se as atividades trabalharem de forma correta

e de acordo com os padrões requeridos, o produto final desejado é realizado. O produto final

desejado é um software de alta qualidade e baixo custo.

Com estas definições podemos considerar que de forma global um processo de

software padrão pode ser considerado um conjunto de atividades, de métodos, de

ferramentas e práticas utilizadas a fim de construir um produto de software. Para definir um

processo de software devem ser vistas as informações de atividades a serem realizados, os

recursos necessários, artefatos requeridos e produzidos, também os procedimentos

seguidos.

Resumidamente o processo de software pode ser definido como um conjunto de

atividades uniforme que serão aplicadas sistematicamente e estas são agrupados em fases,

cada fase tem que intervir com suas responsabilidades, isto significa que define quem faz o

quê, quando e como a fim de atingir certo objetivo.

No capitulo 1 é descrito a técnica de desenvolvimento em cascata, os capítulos seguintes

demonstram a seqüência da técnica, capitulo 2 levantamento de requisitos, capítulo 3

projeto do sistema, capítulo 4 implementação e capítulo 5 análise dos resultados.

O objetivo deste trabalho é desenvolver um software para o segmento de venda de

automóveis utilizando a técnica de desenvolvimento em cascata, ao final do projeto,

visualizar os produtos em diagramas padronizados.

Page 15: Desenvolvimento de Sistema de Comércio de Veículos.pdf

4

CAPITULO 1- MODELO DE DESENVOLVIMENTO

Modelos de desenvolvimento em Cascata

A principal característica dessa técnica é que o processo de desenvolvimento fica

estruturado, isso significa que as fases têm uma ordem seqüencial, uma fase será iniciada

após o termino da fase anterior. Devem-se seguir todas as fases bem como as atividades

envolvidas em cada uma delas, o modelo é exemplificado na Figura 1 – Modelo de

Desenvolvimento em cascata.

FIGURA 1 – Modelo de

Desenvolvimento em cascata

Page 16: Desenvolvimento de Sistema de Comércio de Veículos.pdf

5

CAPÍTULO 2 – REQUERIMENTO

2.1 Levantamento de Requisitos

Seguindo a seqüência conforme o modelo proposto, vem à fase de levantamento de

requisitos, é necessário reuniões com os clientes e os usuários finais do sistema para

descobrir o máximo de informações sobre o domínio da aplicação, por exemplo: que tipo de

serviços o sistema tem que fornecer, desempenho necessário pelo sistema, as

restrições/necessidades de hardware.

Esta etapa envolveu diversas pessoas de diferentes áreas da empresa contratante,

isso para levantar a necessidade de abrangência do sistema.

Fazem parte da equipe de levantamento de requisitos o analista, o gerente, com a

participação do administrador de banco de dados, que constitui na realização de reuniões e

entrevistas com o cliente. Nesta fase são designados técnicas de esclarecimento de

requisitos, com o objetivo de maximizar o comprometimento do cliente e desenvolvedores

com a solução que se deseja construir. É muito importante que os requisitos sejam

aproveitados da maneira correta e objetiva. Com as revisões dos requisitos feitas na fase de

Concepção, deve ser feita uma revisão envolvendo as pessoas que irão manipular o

sistema, cliente, além das pessoas que participaram do projeto.

A equipe que executa a revisão deve verificar cada requisito, verificar se há

consistência e se realmente atende as necessidades.

Corresponde a etapa levantamento de requisitos: pesquisa inicial do material existente,

descrição inicial dos requisitos, estruturação dos dados e composição do documento de

requisitos.

E, referente ao retorno de investimentos é uma das etapas mais importantes a fase

de levantamento de requisitos, ou seja, membros da equipe disponibilizaram tempo

suficiente para concluir esta etapa do projeto, entender as necessidades dos clientes no que

diz respeito ao sistema a ser desenvolvido, traduzir as necessidades ou requisitos

operacionais para uma descrição de funcionalidades a ser executada.

Page 17: Desenvolvimento de Sistema de Comércio de Veículos.pdf

6

2.2 Planejamento do processo

Os estudos realizados conforme instruções do levantamento de requisitos resultaram

no planejamento do processo. O planejamento do processo pode ser visto conforme Figura

2:

FIGURA 2 – Fluxo de Atividades

Os trabalhos realizados nesta etapa estão descritos abaixo:

� Reuniões com gerentes e proprietário de empresas interessadas no desenvolvimento

do software.

� Negociação e contratação.

� Acesso ao material disponível na organização;

� Conhecer o ambiente e as principais necessidades, possibilitando ter o

embasamento teórico dos trabalhos a serem desenvolvidos;

� Conhecer as regras internas e documentos da organização.

� Definição do foco e a abrangência do trabalho.

Page 18: Desenvolvimento de Sistema de Comércio de Veículos.pdf

7

� Definição do planejamento de atividades, este planejamento aqui denominado de

plano de trabalho pode ser visto nas tabelas 1 e 2:

Plano de Trabalho:

Atividade Mar Abr Mai Jun Jul Ago Set Out Nov

Levantamento de banco de

dados existente

Levantamento da

ferramenta de

desenvolvimento

Estudo da ferramenta

escolhida (Delphi 6)

Estudo do banco escolhido

(Firebird)

Análise de requisitos

Projeto do sistema

Implementação

Implantação

Testes

Análise dos Resultados

TABELA 1 – Plano de Trabalho

Atividade/Semana Um Dois Três Quatro Cinco Seis Sete Oito

Necessidades de armazenamento:

cadastros

Necessidade para funcionamento:

controle

Necessidades de demonstrar

resultados e organizar: consultas e

relatórios

Necessidades para implementação:

ferramenta de desenvolvimento

Necessidades para implantação:

Hardware e Softwares

TABELA 2 – Plano para Levantamento de Requisitos

Page 19: Desenvolvimento de Sistema de Comércio de Veículos.pdf

8

2.3 Definições da Análise de Requisitos

Para melhor visualização da Análise de Requisitos, esta foi dividida em fases. Partes

dos resultados desta fase serão demonstradas abaixo:

2.4 Levantamento do banco de dados

Nas empresas envolvidas havia banco de dados que eram utilizadas por outro

sistema até a implantação do sistema em desenvolvimento, as informações contidas neste

banco de dados teriam que ser importado para o novo banco de dados do novo sistema.

Para importar o banco de dados que estava sendo utilizado em Microsoft Excel

(arquivo no formato XLS), primeiro o arquivo foi transformado no formato TXT separado por

“TAB”.

Com o auxilio da query descrita na Listagem 1 os dados foram importados para as

novas tabelas.

"1 string" 100 "2 string" 102 "3 string" 104 "4 string" 106 testtable structure CREATE TABLE testtable (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, text varchar(45) NOT NULL, price integer not null); import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; public class automateImport { public static void main(String[] args) { DBase db = new DBase(); Connection conn = db.connect("jdbc:mysql://localhost:3306/test","root","caspian"); db.importData(conn,args[0]); } } class DBase

Page 20: Desenvolvimento de Sistema de Comércio de Veículos.pdf

9

{ public DBase() { } public Connection connect(String db_connect_str, String db_userid, String db_password) { Connection conn; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(db_connect_str, db_userid, db_password); } catch(Exception e) { e.printStackTrace(); conn = null; } return conn; } public void importData(Connection conn,String filename) { Statement stmt; String query; try { stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); query = "LOAD DATA INFILE '"+filename+ "' INTO TABLE testtable (text,price);"; stmt.executeUpdate(query); } catch(Exception e) { e.printStackTrace(); stmt = null; } } };

Listagem 1 – Importação do banco de dados

Page 21: Desenvolvimento de Sistema de Comércio de Veículos.pdf

10

2.5 Levantamento e Estudo da Ferramenta de Desenvolvimento

Para desenvolver o sistema é necessária a utilização de uma ferramenta de

desenvolvimento, esta ferramenta deve ser escolhida de acordo com as necessidades

abordadas na Análise de Requisitos. Portanto foi elegido a ferramenta DELPHI 6.

DELPHI 6

Uma ferramenta RAD (Rapid Application Development), sua linguagem nativa é

Object Pascal, é uma excelente ferramenta de desenvolvimento tanto para aplicações

cliente/servidor quanto de uso genérico.

As principais características são as seguintes:

• Possui o compilador rápido e otimizado;

• Gera executáveis, sem a necessidade da utilização de bibliotecas RunTime para a

distribuição de aplicações. A conseqüência disto é um desempenho muito superior

às outras ferramentas;

• Possibilita a criação de componentes nativos, ou seja, permite a criação de

extensões ao próprio Delphi;

• É uma ferramenta two-way, isto é, cada componente visual é implementado através

de um conjunto de linhas de código Object Pascal e esses dois elementos,

componente visual e linhas de código, estão intimamente relacionados, de tal forma

que uma alteração em qualquer um deles se reflete no outro;

• A linguagem possui mecanismos especiais para manipulação de exceção (exception

handling), o que permite a criação de aplicações mais robustas;

• Excelente conectividade com bancos de dados, através do Borland Database Engine

(BDE);

• É totalmente orientada a objetos.

Page 22: Desenvolvimento de Sistema de Comércio de Veículos.pdf

11

2.6 Estudo do Banco de Dados Escolhido

É essencial no desenvolvimento do sistema a escolha do banco de dados, este deve ser

escolhido de acordo com as necessidades da Análise de Requisitos e também levando em

consideração a conectividade com a ferramenta de desenvolvimento.

Firebird

Firebird é um banco de dados Client/Servidor relacional que é compatível com SQL-

ANSI-92, e foi desenvolvido para ser um banco de dados, independente de plataformas e de

sistemas operacionais. Este banco de dados dispensa maiores estruturas dentro da

empresa, (DBA / Preparação), onde basta instalar o software e usar-lo, sem a interferência

freqüente de profissionais, especializados na manutenção do banco de dados de produção.

Acompanhando, isso ele dispensa o uso de “super-servidores”, usando pouco espaço em

disco para sua instalação e utilizando pouca memória em situações normais de uso. Por

isso a plataforma necessária para a sua instalação e utilização pode ser reduzida diminuindo

consideravelmente os custos do projeto.

Ao longo do desenvolvimento, foram introduzidas muitas características, dentre elas:

Acesso nativo a driver JDBC Commit Automático de Duas Fases, sombreamento do

Banco de Dados, Replicação, tratamento de Blob´s Sistema de Eventos, entre outros. O

Firebird é uma base de dados Open Source, construído com base no código do Interbase

Open Source, sendo que as licenças de utilização e distribuição agora são totalmente

FREE!

Page 23: Desenvolvimento de Sistema de Comércio de Veículos.pdf

12

IBCONSOLE

O IBCONSOLE é o gerenciador de Dados que acompanhava o Interbase, e que

pode ser utilizado com o Firebird 1.5.1, a grande vantagem dele é o fato, de não ser uma

ferramenta de criação de Tabelas.

No Ibconsole, toda e qualquer criação, relacionamento, manutenção, é feito no ISQL,

tudo via Linha de Comando

2.7 Análise de Requisitos

Seguindo o Plano de Trabalho, a próxima fase do projeto é a Análise de Requisitos, os

requisitos foram divididos em Requisitos de Cadastros e Requisitos de Controles, os

requisitos são demonstrados abaixo:

Requisitos de Cadastros:

� Cadastro de clientes;

� Cadastro de fornecedores e vendedores;

� Cadastro de funcionários;

� Cadastro de veículos; - Cadastro de ordens de serviços (OS);

� Cadastro de emissão de orçamentos;

� Cadastro de vendas;

� Cadastro de compras;

� Cadastro de trocas;

� Cadastro de orçamentos de vendas;

� Cadastro de produtos;

� Cadastro de serviços;

Requisitos de Controles:

� Controle de estoque;

� Controle de cheques;

� Controle financeiro e administrativo;

Page 24: Desenvolvimento de Sistema de Comércio de Veículos.pdf

13

� Controle de aniversariantes;

� Contas a pagar e a receber;

� Controle de pagamento dos funcionários por comissão;

� Controle de pagamento dos vendedores por comissão;

� Suporte a leitora de código de barras;

� Fluxo de caixa;

� Emissão de recibos;

� Emissão de boletos bancários (Banco do Brasil, Caixa Econômica Federal, Nossa Caixa Nosso Banco, Bradesco e Itaú);

� Agendamento de revisões;

� Consulta de registros personalizados a partir de filtros;

� Gráficos e relatórios diversos;

� Todos os relatórios com cabeçalho personalizado (logotipo da Empresa e nome);

� Pesquisa com histórico do cliente; - Pesquisa com histórico do veículo;

� Permissões de acesso dos usuários por tela;

� Agendamento de compromissos por usuário;

� Geração de solicitações a outros usuários;

� Realização e restauração de backup;

� Banco de dados cliente servidor (Funciona em rede multiusuários);

Page 25: Desenvolvimento de Sistema de Comércio de Veículos.pdf

14

CAPÍTULO 3 – PROJETO

3.1 Projeto do Sistema

Na fase do Projeto do Sistema, os dados colhidos devem ser desenhados de forma

estruturada. Na Figura 3 é demonstrado o diagrama de contexto, onde a sigla SVA

representa o controle do sistema, recebendo as informações de movimentos, fluxo de caixa,

peças, marketing e sistema de atendimento ao cliente.

FIGURA 3 - Diagrama de contexto

Na Figura 4 é demonstrado o fluxo do sistema, inicialmente o usuário deve logar no

sistema com o seu respectivo usuário, de acordo com a configuração previamente

cadastrada para o usuário este terá acesso a todos os controles do sistema ou terá acesso

restrito.

Page 26: Desenvolvimento de Sistema de Comércio de Veículos.pdf

15

Passando para o controle de cadastros, configurações do sistema, fundo fixo,

depósitos bancários ou movimentos que geram receitas.

FIGURA 4- Fluxo do sistema

Nesta fase também é definido como o sistema funcionará internamente, tradução

dos requisitos em uma descrição de todos os componentes para codificar o sistema

garantindo que os requisitos do cliente sejam atendidos.

Definição das principais tabelas do banco de dados, cliente, fornecedor, funcionários,

veículos, vendas, compras e trocas, estas tabelas são demonstradas através das Figuras 5,

6, 7, 8, 9, 10 e 11, respectivamente.

� Clientes

Page 27: Desenvolvimento de Sistema de Comércio de Veículos.pdf

16

FIGURA 05 – Tabela de Clientes

� Fornecedores

FIGURA 06 – Tabela de Fornecedores

� Funcionários

FIGURA 07 – Tabela de Funcionários

� Veículos

Page 28: Desenvolvimento de Sistema de Comércio de Veículos.pdf

17

FIGURA 8 – Tabela de Veículos

� Vendas

FIGURA 9 – Tabela de Vendas

� Compras

FIGURA 10 – Tabela de Compras

� Trocas

Page 29: Desenvolvimento de Sistema de Comércio de Veículos.pdf

18

FIGURA 11 – Tabela de Trocas

A Figura 12 demonstra o caso de uso para vendas, onde o cliente pode fazer o pedido,

verificar o pedido ou cancelar o pedido, este cliente pode ter tratamento diferente de acordo

com seu status.

FIGURA 12 – Caso de uso Vendas

Page 30: Desenvolvimento de Sistema de Comércio de Veículos.pdf

19

A Figura 13 demonstra o caso de uso para solicitação de peças, onde o cliente solicita

peças, o administrador cadastra a tarefa, o operador realiza a tarefa e finalmente compras

entrega as peças.

FIGURA 13 – Caso de uso Solicitação de Peças

A Figura 14 demonstra o caso de uso para gerenciamento, onde o gerente tem

acesso as funções do funcionário e pode emitir relatório de vendas.

Page 31: Desenvolvimento de Sistema de Comércio de Veículos.pdf

20

FIGURA 14 – Caso de uso Gerenciamento

3.2 Definição de Caso de Uso

Na Engenharia de Software, um caso de uso (ou use case) é um tipo de classificador

representando uma unidade funcional coerente provida pelo sistema, subsistema, ou classe

manifestada por seqüências de mensagens intercambiáveis entre os sistemas e um ou mais

atores. Pode ser representado por uma elipse contendo, internamente, o nome do caso de

uso.

Um Caso de Uso representa uma unidade discreta da interação entre um usuário

(humano ou máquina) e o sistema. Um Caso de Uso é uma unidade de um trabalho

significante. Por exemplo: o "login para o sistema", "registrar no sistema" e "criar pedidos"

são todos Casos de Uso. Cada Caso de Uso tem uma descrição o qual descreve a

funcionalidade que irá ser construída no sistema proposto. Um Caso de Uso pode "incluir"

outra funcionalidade de Caso de Uso ou "estender" outro Caso de Uso com seu próprio

comportamento.

Page 32: Desenvolvimento de Sistema de Comércio de Veículos.pdf

21

CAPÍTULO 4 – IMPLEMENTAÇÃO

Implementação ou programação (Codificação)

Terminado a etapa do Projeto do Sistema a próxima etapa é a Implementação, ou

seja, a produção do código que controla o sistema e realiza a computação lógica envolvida,

onde se tornaram possíveis à compilação e geração do código-executável para o software.

A estrutura e componentes utilizados para comunicação com o banco de dados são

demonstrados na Figura 15.

FIGURAS 15 - Componentes para conectar ao banco de dados

Page 33: Desenvolvimento de Sistema de Comércio de Veículos.pdf

22

A Figura 16 mostra as propriedades do SQL Conector, fundamental que esteja

perfeitamente configurado e apontando para o diretório correto.

FIGURA 16 - Propriedade do SQL Connection

Na implementação foram definidos alguns padrões, para garantir a integridade do

sistema e facilitar caso seja necessário manutenção e/ou customização. Esses padrões

estão descritos abaixo bem como o código utilizado.

Padrão para gerar código seqüencial em Form´s de cadastro:

Nos Form´s de cadastro (TODOS CADASTROS) é necessário conter um código que

será utilizado como chave primária para novos registros, esse código será um número

seqüencial gerado automaticamente pelo sistema, na Listagem 2 segue o padrão para o

código que gera esse número.

Page 34: Desenvolvimento de Sistema de Comércio de Veículos.pdf

23

procedure TFRM_Banco.ARQ_NovoClick(Sender: TObject);

var

codigo : integer;

begin

LiberaCampos();

LimpaCampos();

DM.CDS_Codigos.Active := True;

DM.SQL_Codigos.Active := True;

codigo := DM.CDS_Codigos.FieldByName('cod_banco').AsInteger;

codigo := codigo + 1;

lbl_codigo.caption := IntToStr(codigo);

DM.CDS_Codigos.Edit;

DM.CDS_Codigos.FieldByName('cod_banco').AsInteger := codigo;

DM.CDS_Codigos.ApplyUpdates(0);

DM.CDS_Codigos.Active := False;

DM.SQL_Codigos.Active := False;

DM.SQL_Banco.Active := True;

DM.CDS_Banco.Active := True;

DM.CDS_Banco.Append;

end;

Listagem 2 – Gerar número seqüencial

O padrão para gravação de novos registros no banco de dados e demonstrado na

Listagem 3.

Page 35: Desenvolvimento de Sistema de Comércio de Veículos.pdf

24

procedure TFRM_Banco.ARQ_GravarClick(Sender: TObject);

begin

DM.CDS_Banco.Edit;

DM.CDS_Banco.FieldByName('codigo').AsString := lbl_codigo.Caption;

DM.CDS_Banco.FieldByName('nome').AsString := edt_nome.Text;

DM.CDS_Banco.FieldByName('conta_corrente').AsString := edt_nroconta.Text;

DM.CDS_Banco.FieldByName('agencia').AsString := edt_agencia.Text;

DM.CDS_Banco.FieldByName('saldo_atual').AsString := edt_saldo.Text;

DM.CDS_Banco.ApplyUpdates(0);

DM.CDS_Banco.Active := False;

DM.SQL_Banco.Active := False;

LimpaCampos;

TravaCampos;

end;

Listagem 3 – Gravação no banco de dados

Na Listagem 4 será demonstrado o padrão para garantir que não será gravado no

banco de dados informações erradas ou que falte informações.

Page 36: Desenvolvimento de Sistema de Comércio de Veículos.pdf

25

procedure TFRM_Banco.BitBtn1Click(Sender: TObject);

begin

if edt_nome.Text = '' Then

begin

ShowMessage ('Nome não pode ser nulo!');

edt_nome.SetFocus;

end

else

if edt_nroconta.Text = '' Then

begin

ShowMessage ('Número da Conta Corrente não pode ser nulo!');

edt_nroconta.SetFocus;

end

else

if edt_agencia.Text = '' Then

begin

ShowMessage ('Agência não pode ser nulo!');

edt_agencia.SetFocus;

end

else

if edt_saldo.Text = '' Then

begin

ShowMessage ('Saldo não pode ser nulo!');

edt_saldo.SetFocus;

end

Page 37: Desenvolvimento de Sistema de Comércio de Veículos.pdf

26

else

ARQ_GRAVAR.CLICK;

end;

Listagem 4 – Garantir informações gravadas no banco

Padrão para consulta de dados em tela.

Foi criado apenas um Form de consulta que deverá fazer a consulta de quaisquer

dados no sistema, o motivo para a criação de apenas um Form é que todas as consultas

estejam familiarizadas, aumentando o entendimento do usuário.

ara realizar este procedimento uma das propriedades do Form, o “caption”, deve ser

alterado em cada consulta, alterando o caption do Form é possível saber qual a consulta foi

solicitado, este padrão é demonstrado na Listagem 5.

procedure TFRM_Consultas.FormShow(Sender: TObject);

begin

frm_Consultas.CB_itens.Items := DM.CDS_Consulta.FieldList;

end;

procedure TFRM_Consultas.EDT_PesquisaKeyUp(Sender: TObject;

var Key: Word;

Shift: TShiftState);

begin

DM.CDS_Consulta.Active := False;

DM.SQL_Consulta.Active := False;

If FRM_Consultas.Caption = 'Cadastro de Banco' then

DM.SQL_Consulta.CommandText := 'select * from banco where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

Page 38: Desenvolvimento de Sistema de Comércio de Veículos.pdf

27

else

if

FRM_Consultas.Caption = 'Cadastro de Cliente' then

DM.SQL_Consulta.CommandText := 'select * from cliente where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Contas a Pagar' then

DM.SQL_Consulta.CommandText := 'select * from Contas_Pagar where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Contas a Receber' then

DM.SQL_Consulta.CommandText := 'select * from contas_receber where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Financeira' then

DM.SQL_Consulta.CommandText := 'select * from financeira where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Funcionarios' then

DM.SQL_Consulta.CommandText := 'select * from funcionarios where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

Page 39: Desenvolvimento de Sistema de Comércio de Veículos.pdf

28

FRM_Consultas.Caption = 'Cadastro de Plano Pagamento' then

DM.SQL_Consulta.CommandText := 'select * from plano_pagamento where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Veiculos' then

DM.SQL_Consulta.CommandText := 'select * from veiculos where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Veiculo FILIAL - Pesquisa' then

DM.SQL_Consulta.CommandText := 'select * from filial where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Funcionarios NIVEL ACESSO - Pesquisa' then

DM.SQL_Consulta.CommandText := 'select * from nivel_acesso where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de Filial' then

DM.SQL_Consulta.CommandText := 'select * from filial where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de contas pagar BANCO - Pesquisa' then

Page 40: Desenvolvimento de Sistema de Comércio de Veículos.pdf

29

DM.SQL_Consulta.CommandText := 'select * from banco where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de contas pagar - Pesquisa' then

DM.SQL_Consulta.CommandText := 'select * from veiculos where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39

else

if

FRM_Consultas.Caption = 'Cadastro de contas receber BANCO - Pesquisa' then

DM.SQL_Consulta.CommandText := 'select * from banco where ' + CB_itens.Text + ' like ' + #39 + Edt_pesquisa.Text + '%' + #39;

DM.SQL_Consulta.Active := True;

DM.CDS_Consulta.Active := True;

end;

Listagem 5 – Padrão para Form de consulta

Padrão utilizado para facilitar a visualização das informações nas consultas, onde as

linhas na consulta são demonstradas em cores diferentes, este padrão esta descrito na

Listagem 6.

procedure TFRM_Consultas.DBGrid1DrawColumnCell(Sender: TObject;

const Rect: TRect; DataCol: Integer; Column: TColumn;

State: TGridDrawState);

begin

if not odd(DM.CDS_Consulta.RecNo) then

if not (gdSelected in State) then

begin

Page 41: Desenvolvimento de Sistema de Comércio de Veículos.pdf

30

dbgrid1.Canvas.Brush.Color := $00FFEFDF;

dbgrid1.Canvas.FillRect(rect);

dbgrid1.DefaultDrawDataCell(rect,column.Field,state);

end;

end;

Listagem 6 – Alterar as cores das linhas na consulta

Padrão utilização de duplo clique na consulta, com a utilização do duplo clique sobre o

registro que deseja alterar ou excluir, o registro será inserido no seu respectivo Form de

cadastro. A Listagem 7 mostra o código deste padrão.

procedure TFRM_Consultas.DBGrid1DblClick(Sender: TObject);

var

codigo : integer;

begin

IF FRM_Consultas.Caption = 'Cadastro de Funcionarios' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_FUncionarios.Active := False;

DM.SQL_Funcionarios.Active := False;

DM.SQL_Funcionarios.CommandText := 'select * from funcionarios where codigo = '+ inttostr(codigo);

DM.SQL_Funcionarios.Active := True;

DM.CDS_FUncionarios.Active := True;

FRM_Funcionarios.Enabled := True;

FRM_Funcionarios.lbl_codigo.Caption := DM.CDS_Funcionarios.FieldByName('codigo').AsString;

Page 42: Desenvolvimento de Sistema de Comércio de Veículos.pdf

31

FRM_Funcionarios.edt_nome.Text := DM.CDS_Funcionarios.FieldByName('nome').AsString;

FRM_Funcionarios.edt_funcao.Text := DM.CDS_Funcionarios.FieldByName('funcao').AsString;

FRM_Funcionarios.edt_salario.Text := DM.CDS_Funcionarios.FieldByName('salario').AsString;

FRM_Funcionarios.edt_senha.Text := DM.CDS_FUncionarios.FieldByName('senha').AsString;

FRM_Funcionarios.edt_confsenha.Text := DM.CDS_FUncionarios.FieldByName('confsenha').AsString;

FRM_Funcionarios.edt_nivelacesso.Text := DM.CDS_FUncionarios.FieldByName('nivel_acesso').AsString;

FRM_Funcionarios.edt_usuario.Text := DM.CDS_FUncionarios.FieldByName('usuario').AsString;

FRM_Consultas.Close;

FRM_Funcionarios.ARQ_Alterar.Enabled := True;

FRM_Funcionarios.ARQ_Excluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Cadastro de Filial' then

begin

codigo := DM.CDS_Consulta.FieldByName('codigo').AsInteger;

DM.CDS_Filial.Active := False;

DM.SQL_Filial.Active := False;

DM.SQL_Filial.CommandText := 'select * from filial where codigo = '+ inttostr(codigo);

DM.SQL_Filial.Active := True;

DM.CDS_Filial.Active := True;

FRM_Filial.Enabled := True;

Page 43: Desenvolvimento de Sistema de Comércio de Veículos.pdf

32

FRM_Filial.lbl_codigo.Caption := DM.CDS_Filial.fieldbyname('codigo').AsString;

FRM_Filial.edt_nome.Text := DM.CDS_Filial.fieldbyname('nome').AsString;

FRM_consultas.Close;

FRM_Filial.btn_voltar.SetFocus;

end

else

IF FRM_Consultas.Caption = 'Cadastro de Banco' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_Banco.Active := False;

DM.SQL_Banco.Active := False;

DM.SQL_Banco.CommandText := 'select * from banco where codigo = '+ inttostr(codigo);

DM.SQL_Banco.Active := True;

DM.CDS_Banco.Active := True;

FRM_Banco.Enabled := True;

FRM_Banco.lbl_codigo.Caption := DM.CDS_Banco.FieldByName('codigo').AsString;

FRM_Banco.edt_nome.Text := DM.CDS_Banco.FieldByName('nome').AsString;

FRM_Banco.edt_nroconta.Text := DM.CDS_Banco.FieldByName('conta_corrente').AsString;

FRM_Banco.edt_agencia.Text := DM.CDS_Banco.FieldByName('agencia').AsString;

FRM_Banco.edt_saldo.Text := DM.CDS_Banco.FieldByName('saldo_atual').AsString;

FRM_Consultas.Close;

FRM_Banco.ARQ_Alterar.Enabled := True;

FRM_Banco.ARQ_Excluir.Enabled := True;

Page 44: Desenvolvimento de Sistema de Comércio de Veículos.pdf

33

end

else

IF FRM_Consultas.Caption = 'Cadastro de Cliente' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_Cliente.Active := False;

DM.SQL_Cliente.Active := False;

DM.SQL_Cliente.CommandText := 'select * from cliente where codigo = '+ inttostr(codigo);

DM.SQL_Cliente.Active := True;

DM.CDS_Cliente.Active := True;

FRM_Cliente.Enabled := True;

FRM_Cliente.lbl_codigo.Caption := DM.CDS_Cliente.FieldByName('codigo').AsString;

FRM_Cliente.edt_nome.Text := DM.CDS_Cliente.FieldByName('nome').AsString;

FRM_Cliente.edt_endereco.Text := DM.CDS_Cliente.FieldByName('endereco').AsString;

FRM_Cliente.edt_numero.Text := DM.CDS_Cliente.FieldByName('numero').AsString;

FRM_Cliente.msk_cep.Text := DM.CDS_Cliente.FieldByName('cep').AsString;

FRM_Cliente.edt_bairro.Text := DM.CDS_Cliente.FieldByName('bairro').AsString;

FRM_Cliente.msk_tel.Text := DM.CDS_Cliente.FieldByName('telefone').AsString;

FRM_Cliente.edt_rg.Text := DM.CDS_Cliente.FieldByName('rg').AsString;

FRM_Cliente.edt_cpf.Text := DM.CDS_Cliente.FieldByName('cpf').AsString;

FRM_Consultas.Close;

FRM_Cliente.ARQ_Alterar.Enabled := True;

FRM_Cliente.ARQ_Excluir.Enabled := True;

Page 45: Desenvolvimento de Sistema de Comércio de Veículos.pdf

34

end

else

IF FRM_Consultas.Caption = 'Cadastro de Contas a Pagar' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_ContasPagar.Active := False;

DM.SQL_ContasPagar.Active := False;

DM.SQL_ContasPagar.CommandText := 'select * from Contas_Pagar where codigo = '+ inttostr(codigo);

DM.SQL_ContasPagar.Active := True;

DM.CDS_ContasPagar.Active := True;

FRM_ContasPagar.Enabled := True;

FRM_ContasPagar.lbl_codigo.Caption := DM.CDS_ContasPagar.FieldByName('codigo').AsString;

FRM_ContasPagar.edt_fornecedor.Text := DM.CDS_ContasPagar.FieldByName('fornecedor').AsString;

FRM_ContasPagar.cb_banco.Text := DM.CDS_ContasPagar.FieldByName('cod_banco').AsString;

FRM_ContasPagar.msk_dataemissao.Text := DM.CDS_ContasPagar.FieldByName('data_emissao').AsString;

FRM_ContasPagar.msk_datavencimento.Text := DM.CDS_ContasPagar.FieldByName('data_vencimento').AsString;

FRM_ContasPagar.edt_valor.Text := DM.CDS_ContasPagar.FieldByName('valor').AsString;

FRM_ContasPagar.edt_descricao.Text := DM.CDS_ContasPagar.FieldByName('descricao').AsString;

FRM_ContasPagar.EDT_Veiculo.Text := DM.CDS_ContasPagar.fieldbyname('veiculo').AsString;

FRM_Consultas.Close;

FRM_ContasPagar.ARQ_Alterar.Enabled := True;

Page 46: Desenvolvimento de Sistema de Comércio de Veículos.pdf

35

FRM_ContasPagar.ARQ_Excluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Cadastro de Contas a Receber' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_ContasReceber.Active := False;

DM.SQL_ContasReceber.Active := False;

DM.SQL_ContasReceber.CommandText := 'select * from contas_receber where codigo = '+ inttostr(codigo);

DM.SQL_ContasReceber.Active := True;

DM.CDS_ContasReceber.Active := True;

FRM_ContasReceber.Enabled := True;

FRM_ContasReceber.lbl_codigo.Caption := DM.CDS_ContasReceber.FieldByName('codigo').AsString;

FRM_ContasReceber.edt_cliente.Text := DM.CDS_ContasReceber.FieldByName('cliente').AsString;

FRM_ContasReceber.cb_banco.Text := DM.CDS_ContasReceber.FieldByName('cod_banco').AsString;

FRM_ContasReceber.msk_dataemissao.Text := DM.CDS_ContasReceber.FieldByName('data_emissao').AsString;

FRM_ContasReceber.msk_datavencimento.Text := DM.CDS_ContasReceber.FieldByName('data_vencimento').AsString;

FRM_ContasReceber.edt_valor.Text := DM.CDS_ContasReceber.FieldByName('valor').AsString;

FRM_ContasReceber.edt_descricao.Text := DM.CDS_ContasReceber.FieldByName('descricao').AsString;

FRM_Consultas.Close;

FRM_ContasReceber.ARQ_Alterar.Enabled := True;

Page 47: Desenvolvimento de Sistema de Comércio de Veículos.pdf

36

FRM_ContasReceber.AQR_Exlcluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Cadastro de Financeira' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_Financeira.Active := False;

DM.SQL_Financeira.Active := False;

DM.SQL_Financeira.CommandText := 'select * from financeira where codigo = '+ inttostr(codigo);

DM.SQL_Financeira.Active := True;

DM.CDS_Financeira.Active := True;

FRM_Financeira.Enabled := True;

FRM_Financeira.lbl_codigo.Caption := DM.CDS_Financeira.FieldByName('codigo').AsString;

FRM_Financeira.edt_nome.Text := DM.CDS_Financeira.FieldByName('nome').AsString;

FRM_Consultas.Close;

FRM_Financeira.ARQ_Alterar.Enabled := True;

FRM_Financeira.ARQ_Excluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Cadastro de Plano Pagamento' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_PlanoPagamento.Active := False;

Page 48: Desenvolvimento de Sistema de Comércio de Veículos.pdf

37

DM.SQL_PlanoPagamento.Active := False;

DM.SQL_PlanoPagamento.CommandText := 'select * from plano_pagamento where codigo = '+ inttostr(codigo);

DM.SQL_PlanoPagamento.Active := True;

DM.CDS_PlanoPagamento.Active := True;

FRM_PlanodePagamento.Enabled := True;

FRM_PlanodePagamento.lbl_codigo.Caption := DM.CDS_PlanoPagamento.FieldByName('codigo').AsString;

FRM_PlanodePagamento.edt_nome.Text := DM.CDS_PlanoPagamento.FieldByName('nome').AsString;

FRM_PlanodePagamento.cb_entrada.Text := DM.CDS_PlanoPagamento.FieldByName('entrada').AsString;

FRM_PlanodePagamento.cb_prestacoes.Text := DM.CDS_PlanoPagamento.FieldByName('numero_prestacoes').AsString;

FRM_PlanodePagamento.cb_interEntrada.Text := DM.CDS_PlanoPagamento.FieldByName('intervalo_entrada').AsString;

FRM_PlanodePagamento.cb_interParcelas.Text := DM.CDS_PlanoPagamento.FieldByName('intervalo_parcelas').AsString;

FRM_Consultas.Close;

FRM_PlanodePagamento.ARQ_Alterar.Enabled := True;

FRM_PlanodePagamento.ARQ_Excluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Cadastro de Veiculos' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_Veiculo.Active := False;

DM.SQL_Veiculo.Active := False;

Page 49: Desenvolvimento de Sistema de Comércio de Veículos.pdf

38

DM.SQL_Veiculo.CommandText := 'select * from veiculos where codigo = '+ inttostr(codigo);

DM.SQL_Veiculo.Active := True;

DM.CDS_Veiculo.Active := True;

FRM_Veiculo.Enabled := True;

FRM_Veiculo.lbl_codigo.Caption := DM.CDS_Veiculo.FieldByName('codigo').AsString;

FRM_Veiculo.edt_marca.Text := DM.CDS_Veiculo.FieldByName('marca').AsString;

FRM_Veiculo.edt_modelo.Text := DM.CDS_Veiculo.FieldByName('modelo').AsString;

FRM_Veiculo.edt_anofabricacao.Text := DM.CDS_Veiculo.FieldByName('ano_fabricacao').AsString;

FRM_Veiculo.edt_anomodelo.Text := DM.CDS_Veiculo.FieldByName('ano_modelo').AsString;

FRM_Veiculo.edt_cor.Text := DM.CDS_Veiculo.FieldByName('cor').AsString;

FRM_Veiculo.edt_placa.Text := DM.CDS_Veiculo.FieldByName('placas').AsString;

FRM_Veiculo.edt_renavam.Text := DM.CDS_Veiculo.FieldByName('cod_renavam').AsString;

FRM_Veiculo.edt_chassi.Text := DM.CDS_Veiculo.FieldByName('chassi').AsString;

FRM_Veiculo.edt_filial.Text := DM.CDS_Veiculo.FieldByName('filial').AsString;

FRM_Consultas.Close;

FRM_Veiculo.ARQ_Alterar.Enabled := True;

FRM_Veiculo.ARQ_Excluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Movimento de Compra' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

Page 50: Desenvolvimento de Sistema de Comércio de Veículos.pdf

39

DM.CDS_movcompra.Active := False;

DM.SQL_movcompra.Active := False;

DM.SQL_movcompra.CommandText := 'select * from movcompra where codigo = '+ inttostr(codigo);

DM.SQL_movcompra.Active := True;

DM.CDS_movcompra.Active := True;

FRM_movcompra.Enabled := True;

FRM_movcompra.lbl_codigo.Caption := DM.CDS_movcompra.FieldByName('codigo').AsString;

FRM_movcompra.EDT_Valor.Text := DM.Cds_movcompra.FieldByName('valor').AsString;

FRM_movcompra.MSK_DataCompra.Text := DM.CDS_movcompra.FieldByName('data_compra').AsString;

FRM_MovCompra.CB_CodVeiculo.Text := DM.CDS_MovCompra.FieldByName('codigo_veiculo').AsString;

FRM_MovCompra.CB_CodCliente.Text := DM.Cds_MovCompra.FieldByName('codigo_cliente').AsString;

FRM_MovCompra.CB_CodBanco.Text := DM.CDS_MovCompra.FieldByName('codigo_banco').AsString;

FRM_Consultas.Close;

FRM_MovCompra.ARQ_Alterar.Enabled := True;

FRM_MovCompra.ARQ_Excluir.Enabled := True;

end

else

IF FRM_Consultas.Caption = 'Movimento de Venda' then

begin

codigo := DM.CDS_Consulta.fieldbyname('codigo').AsInteger;

DM.CDS_movvenda.Active := False;

Page 51: Desenvolvimento de Sistema de Comércio de Veículos.pdf

40

DM.SQL_movvenda.Active := False;

DM.SQL_movvenda.CommandText := 'select * from movvenda where codigo = '+ inttostr(codigo);

DM.SQL_movvenda.Active := True;

DM.CDS_movvenda.Active := True;

FRM_movvenda.Enabled := True;

FRM_movvenda.lbl_codigo.Caption := DM.CDS_movvenda.FieldByName('codigo').AsString;

FRM_movvenda.EDT_Valor.Text := DM.Cds_movvenda.FieldByName('valor').AsString;

FRM_movvenda.MSK_Datavenda.Text := DM.CDS_movvenda.FieldByName('data_venda').AsString;

FRM_Movvenda.CB_CodVeiculo.Text := DM.CDS_Movvenda.FieldByName('codigo_veiculo').AsString;

FRM_Movvenda.CB_CodCliente.Text := DM.Cds_Movvenda.FieldByName('codigo_cliente').AsString;

FRM_Movvenda.CB_CodBanco.Text := DM.CDS_Movvenda.FieldByName('codigo_banco').AsString;

FRM_Movvenda.CB_PlanoPagamento.Text := DM.CDS_MovVenda.FieldByName('cod_planopagamento').AsString;

FRM_Consultas.Close;

FRM_Movvenda.ARQ_Alterar.Enabled := True;

FRM_Movvenda.ARQ_Excluir.Enabled := True;

end

end;

Listagem 7 – Utilizando Duplo Clique na Consulta

Page 52: Desenvolvimento de Sistema de Comércio de Veículos.pdf

41

CAPÍTULO 5 - IMPLANTAÇÃO

Implantação

Após o termino da implementação vem à fase de implantação, ou seja, instalar o

software disponibilizando para o usuário final.

Nesta fase o sistema foi implantado na empresa contratante. Na implantação foi feita

a importação da antiga base de dados para as novas tabelas, e instalado o software no

servidor e o client nas estações de trabalho de cada usuário.

Os usuários receberam treinamentos e instruções de como utilizar o sistema.

Page 53: Desenvolvimento de Sistema de Comércio de Veículos.pdf

42

CAPÍTULO 6 - VERIFICAÇÃO

6.1 Análise dos Resultados

Nesta fase devem ser verificados os resultados, e se estão de acordo com o

esperado.

Na Figura 17 é apresentado o resultado do cronograma de atividades.

Atividade Mar Abr Mai Jun Jul Ago Set Out Nov

Levantamento

ferramentas de

desenvolvimentos e

banco de dados

existentes

OK OK

Estudo da

ferramenta escolhida

(Delphi 6)

OK OK

Estudo do banco de

dados escolhido

(Firebird)

OK OK

Análise de requisitos OK OK

Projeto do sistema OK OK

Implementação OK OK OK

Implantação OK OK

Testes OK OK

Análise dos

Resultados

OK OK

FIGURA 17 - Cronograma de atividades/período

Page 54: Desenvolvimento de Sistema de Comércio de Veículos.pdf

43

6.2 Quanto ao Levantamento de Requisitos

Compreendi mento das necessidades, levando a visão de um projeto estruturado aos

usuários, a mesma visão do que deve ser construído para resolução do problema.

Desenvolvedor e clientes, em conjunto, buscando levantar e priorizar as necessidades dos

futuros usuários do software.

6.3 Quanto à Análise de Requisitos

Estudo detalhado dos dados levantados, onde modelos foram construídos a fim de

representar o sistema de software a ser desenvolvida, estratégia de solução das

necessidades, e definição do sistema em geral.

6.4 Quanto ao Projeto

Escolha da ferramenta de softwares utilizada para o desenvolvimento do sistema,

definição da arquitetura do sistema, definição do sistema gerenciador de banco de dados

(SGBD).

6.5 Quanto à Implementação

A implentação do sistema ocorreu de acordo com o proposto, dentro do cronograma

e sem erros.

Page 55: Desenvolvimento de Sistema de Comércio de Veículos.pdf

44

66 Quanto à Validação

O sistema de software está atendendo às necessidades do cliente.

7 - REFERÊNCIAS BIBLIOGRÁFICAS

Algarves, Universidade. “Modelo Cascata ou Clássico”. [Internet: http://w3.ualg.pt/~pventura/ep/aulas_tp/t1_g13.pdf]

CELEPAR, Companhia de Informática do Paraná. “Modelo aplicado de descrição, qualificação, análise e validação”. [Internet: http://www.pr.gov.br/batebyte/edicoes/1999/bb93/requisito.htm] Delphi + Mais. “Modelo Cascata ou Clássico”. [Internet: http://www.delphimais.com/modules/wfsection/article.php?articleid=1] HAERTEL, ANDERSON RODRIGUES “Introdução ao Firebird” São Paulo, 2002. 45p. MONTEIRO SILVIO TAVARES “Como Fazer e Gerenciar Usando a Informática” Florianópolis, 2004. 267p. PATTON, ROBERT “Projetando e Administrando Banco de Dados SQL Server 2000” Rio de Janeiro, Alta Books, 2002. 792p. SILVA, IVAN JOSÉ DE MECENAS “Desenvolvendo com Borland Delphi 6 & InterBase

6” Rio de Janeiro, Book Express, 2001. 179p.