teorico: sistema para caixa eletrônico bancário

Propaganda
1
UNIVERSIDADE PAULISTA
DIOGO MUNIZ SANTOS BARRETO
FERNANDO ROCHA GONÇALVES
FELIPE DOS ANJOS ALMEIDA
LUIZ HENRIQUE
WILLIAN MARQUES DIAS
SISTEMA PARA CAIXA ELETRÔNICO BANCÁRIO
SÃO PAULO
2014
2
DIOGO MUNIZ SANTOS BARRETO
FERNANDO ROCHA GONÇALVES
FELIPE DOS ANJOS ALMEIDA
LUIZ HENRIQUE
WILLIAN MARQUES DIAS
SISTEMA PARA CAIXA ELETRÔNICO BANCÁRIO
Trabalho de conclusão do II semestre de
graduação de Analise e Desenvolvimento de
Sistema apresentado à Universidade Paulista UNIP.
Orientador: prof. Marco Antonio Gomes
SÃO PAULO
2014
3
AUTOR (NOME COMPLETO):
Titulo:
Subtítulo:
Local:
Data (ano de defesa):
Tipo de ilustrações:
( ) figuras
( ) gráficos
( ) fotografias ( ) mapas
( ) formulários
( ) plantas
Nº de folhas:
( ) transparências
( ) quadros
( ) tabelas
( ) outros:
Coloridas?
( ) sim
( ) não
Qual fonte utilizada no trabalho?
( ) Times New Roman
( ) Arial
CURSO:
Nível:
( ) Graduação
( ) Especialização
( ) Mestrado
( ) Doutorado
Área de concentração (Especificar em qual área do seu curso está relacionado o seu
tema):
Anexo (material que acompanha a obra, porém externo à obra):
( ) CD-ROM
( ) OUTROS:
( ) FOLDER
( ) FOTO
Orientador (nome completo):
INSTITUTO:
PALAVRAS-CHAVES : (INDICAR, NO MÍNIMO, 3 TERMOS)
E-MAIL:
|TELEFONE:
R.A.:
| CAMPUS:
R.A.:
|CAMPUS:
R.A.:
| CAMPUS:
R.A.:
| CAMPUS:
R.A.:
| CAMPUS:
( ) DVD
4
DIOGO MUNIZ SANTOS BARRETO
FERNANDO ROCHA GONÇALVES
FELIPE DOS ANJOS ALMEIDA
LUIZ HENRIQUE
WILLIAN MARQUES DIAS
SISTEMA PARA CAIXA ELETRÔNICO BANCÁRIO
Desenvolver um sistema de caixa eletrônico bancário em linguagem C
Trabalho de conclusão do II semestre de
graduação de Analise e Desenvolvimento de
Sistema apresentado à Universidade Paulista UNIP.
Aprovado em:
BANCA EXAMINADORA
______________________/__/___
Prof. Nome do Professor
Universidade Paulista – UNIP
_______________________/__/___
Prof. Nome do Professor
Universidade Paulista – UNIP
_______________________/__/___
Prof. Nome do Professor
5
RESUMO
Desenvolver um sistema de gerenciamento de transações bancárias usando técnicas de
programação C e conhecimentos de infra-estrutura física e lógica, adquiridos durante este
semestre. Tais como lógica de programação, topologias de rede, protocolos, portas de entrada
e saída, matemática financeira e engenharia de software.
Palavras-chave: Infra-Estrutura, Linguagem C, Protocolos, Redes, Terminal.
6
ABSTRACT
Develop a management transaction bank system using C programming, physical infrastructure
and logical skills and knoweledges acquired during this semester, as well as programming
logic, network topologies, protocols, input and output ports, financial mathematics and
software engineering.
Keywords: C language, Infrastructure, Terminal
7
LISTA DE ILUSTRAÇÕES
IMAGEM 1 -
Verificação de Usuário ...................................................................................14
IMAGEM 2 -
Menu de Operações.........................................................................................14
IMAGEM 3 -
Sacar Valor......................................................................................................15
IMAGEM 4 -
Consulta de Saldo............................................................................................15
IMAGEM 5 -
Consultar de Extrato........................................................................................16
IMAGEM 6 -
Transferência...................................................................................................16
IMAGEM 7 -
Fluxograma do sistema...................................................................................17
IMAGEM 8 -
Sprint................................................................................................................21
IMAGEM 9 -
Ambiente gráfico do Ubuntu............................................................................23
IMAGEM 10 -
Processador AMD Phenon II X4....................................................................25
IMAGEM 11 -
Disco rígido.....................................................................................................26
IMAGEM 12 -
Memória RAM.................................................................................................27
IMAGEM 13 -
acessibilidade do terminal.............................................................................29
IMAGEM 14 -
Placa de Rede..................................................................................................30
IMAGEM 15 -
Cabo par trançado.............................................................................................31
IMAGEM 16 -
Topologia Estrela............................................................................................22
IMAGEM 17 -
Switch.............................................................................................................22
LISTA DE TABELAS
TABELA
TABELA
TABELA
TABELA
TABELA
1
2
3
4
5
-
Sistema Operacional.......................................................................23
Especificações do Monitor.............................................................23
Especificações da Placa Mãe..........................................................25
Especificações do HD....................................................................26
Especificações da Memória RAM..................................................27
8
SUMARIO
LISTA DE ILUSTRAÇÕES ................................................................................................................................. 7
LISTA DE TABELAS .......................................................................................................................................... 7
2.1 A ARTE DO CAIXA ELETRÔNICO.......................................................................................................10
2.1.1 O que é ? ....................................................................................................................................................... 10
2.1.2 Como Funciona ............................................................................................................................................. 11
2.1.3 História.......................................................................................................................................................... 11
2.2 FUNCIONAMENTO DO SISTEMA ........................................................................................................12
2.2.1 O sistema ...................................................................................................................................................... 12
2.2.2 Funções do sistema ...................................................................................................................................... 13
2.2.2.1 Verificação de Usuário e Segurança .......................................................................................................... 13
2.2.2.2 Depositar .................................................................................................................................................. 13
2.2.2.3 Sacar ......................................................................................................................................................... 14
2.2.2.4 Consultar Saldo ........................................................................................................................................ 14
2.2.2.4 Consultar Extrato ..................................................................................................................................... 15
2.2.2.4 Transferência ........................................................................................................................................... 15
2.2.3 Funcionamento ............................................................................................................................................. 15
2.2.3.1 Como Funciona ........................................................................................................................................ 15
2.2.3.2 Segurança ................................................................................................................................................. 16
2.2.4 Layout ......................................................................................................................................................... 17
2.2.5 Processo de desenvolvimento do sistema ................................................................................................... 17
2.3 SOFTWARE ...............................................................................................................................................21
2.3.1 Sistema Operacional .................................................................................................................................... 21
2.4 HARDWARE DO TERMINAL ................................................................................................................22
2.4.2 Placa mãe ..................................................................................................................................................... 22
2.4.4 Disco Rígido................................................................................................................................................... 25
2.4.5 Memória RAM............................................................................................................................................... 26
2.4.6 O Terminal ................................................................................................................................................... 27
IMAGEM 13 - ACESSIBILIDADE DO TERMINAL FONTE: POR WILLIAN MARQUES ..................28
2.5 REDE E INFRA-ESTRUTURA .............................................................................................................................. 28
2.6 Aplicação das Disciplinas no Projeto ............................................................................................................... 32
2.6.1 Fundamento de sistemas operacionais ........................................................................................................ 32
2.6.2 Organização de computadores ..................................................................................................................... 32
2.6.3 Princípio de sistema de informação ............................................................................................................. 32
2.6.4 Estatística ...................................................................................................................................................... 32
2.6.5 Lógica ............................................................................................................................................................ 32
2.6.6 Desenvolvimento Sustentável ...................................................................................................................... 33
2.6.7 Matemática para Computação ..................................................................................................................... 33
2.6.8 Linguagem e técnicas de programação ........................................................................................................ 33
2.6.9 Fundamentos de Rede, Dados e Comunicação ............................................................................................ 33
2.6.10 Engenharia de Software I ............................................................................................................................ 33
2.6.11 Metodologia Científica................................................................................................................................ 33
2.7 IMAGENS ...................................................................................................................................................34
2.8 TABELAS ....................................................................................................................................................37
TABELA 3 - ESPECIFICAÇÕE DA PLACA MÃE ........................................................................................37
III. CONCLUSÃO ..............................................................................................................................................39
REFERÊNCIAS ..................................................................................................................................................39
9
I Introdução
O terminal tem como finalidade fornecer a todos os usuários que possuam credenciais válidas
ações básicas de um sistema de caixa bancário eletrônico, tais como saques, depósitos,
consultas e transferências através de um sistema seguro e amigável.
10
II . DESENVOLVIMENTO
2.1 A Arte do Caixa Eletrônico
2.1.1 O que é ?
Um Caixa Automático, Caixa Eletrônico ou ATM - do inglês Automatic Teller Machine
- nada mais é que um meio criado pelos bancos para facilitar as transações bancárias, no
caixa automático o cliente é responsável por toda a operação dessa maneira os custos de
transação das ATMs são mais baratos do que aqueles realizados na boca do caixa.
Em um caixa automático completo, podem-se emitir cédulas, imprimir extratos,
efetuar depósitos e transferências e outros serviços como, pagamentos de contas,
contratarem serviços e etc. Sua operação é controlada por um microprocessador, mas
algumas tarefas, como a identificação de um cliente, a verificação do saldo de uma conta e a
emissão de instruções para praticas transações são realizadas através de uma conexão de
cabos por um computador localizado na central da empresa administradora do caixa.
Os caixas eletrônicos são compostos por: Tela, Botões, Leitor do Cartão, Teclado,
Impressora, Emissor de dinheiro, Alto-falante, Ranhura para efetuar o depósito,
Microprocessador, Cartão Controlador e Compartimento para o dinheiro.
Atualmente os terminais utilizam Windows XP como sistema operacional, porém,
como a Microsoft deixou de dar suporte a esse sistema, muitos bancos estão migrando para
o Windows 7, o que em alguns bancos mais antigos, como por exemplo alguns dos EUA,
pois, o equipamento não é compatível para utilizar essa versão do Windows. Alguns bancos
hoje já adotam o uso de sistema operacional livre, ou seja, que não precisa pagar por
licença, por exemplo o Banco do Brasil, que no final do ano de 2007 começaram a migrar o
sistema operacional, e a Caixa Econômica Federal, ambos utilizam hoje o Linux em seus
terminais de caixa eletrônicos.
Até os anos 60 os caixas eletrônicos utilizavam para realizar a tarefas requeridas pelo
usuários, cupons ou fichas, com o passar do tempo a tecnologia utilizada nos caixas foram
evoluindo e possibilitou o uso de cartões magnéticos e cartões inteligentes.
Cartões Inteligentes
11
Um cartão inteligente contém um chip de circuito integrado que lhe fornece
capacidade computacional e memória. A informação que o cartão contém está protegida por
avançados dispositivos de segurança. Um cartão inteligente de contato é utilizado inserindoo num leitor em que as superfícies de contato do cartão unem a conectores elétricos, o que
possibilita a transferência da informação.
São Compostos por: contato, chip, cola, suporte de plástico e corpo do cartão.
Cartões de fitas magnéticas
Os cartões de crédito, de caixas automáticos e de acesso operam por maio de uma
fita magnética em seu verso com cerca de 200 bytes de informação. Cada bit de informação
aparece na fita como um par de domínios magnéticos. Um par de domínios que apontam na
mesma direção representa um “0”; os que apontam em direções opostas representam um
“1”.
São compostos por: Fita magnética (Bit de informação armazenada, Domínio), Núcleo
de ferro, Bobina e Impulsos de Corrente.
2.1.2 Como Funciona
O usuário ao inserir o cartão no caixa eletrônico, será feita uma leitura do contato do cartão
no qual possui as informações da conta do usuário armazenadas na tarja magnética. Após
realizada a leitura, o leitor transmite ao processador do caixa eletrônico que irá realizar o
processamento desses dados e verificar a autenticação do usuário mediante uma senha
pessoa, para liberar o acesso a máquina.
Realizada a autenticação do usuário, o caixa irá conectar-se á um servidor do banco por
meio de uma linha telefônica, será o servidor que irá autorizar ou não o uso do usuário, se
sim, será executada tarefas que o usuário irá passar, como sacar, depositar, exibir extratos e
etc, e conforme for executando as tarefas, irá atualizando as informações da conta do
usuário no servidor, como valores, datas, senhas e etc.
2.1.3 História
Os primeiros caixas eletrônicos foram criados na década de 30, mas o sistema só ficou
eficiente e seguro nos anos 60, mais precisamente no dia 27 de junho de 1967, pela empresa
12
britânica De La Ruee foi instalado num bairro no norte da Grande Londres pelo banco
britânico Barclays, ao qual inaugurou o primeiro ATM, sigla pela qual o equipamento é
internacionalmente conhecido e que significa Automated Teller Machine (ou “máquina de
caixa automático”). O ATM permitia retirar dinheiro e verifiquem o balanço de suas contas
bancárias sem a necessidade de um funcionário do banco.
NO BRASIL
Na década de 80, mais precisamente em julho de 1983, Curitiba ganhou o primeiro
posto do Banco 24 Horas. O Banco Eletrônico Itaú e o Bradesco Instantâneo já vinham
funcionando desde 1981 e 1982, respectivamente, em outras praças. Mas foi o surgimento da
rede de quiosques alaranjados – formada por uma sociedade de grandes bancos brasileiros –
que popularizou o auto-atendimento bancário no Brasil.
Nas últimas décadas, dois fatores influenciaram de forma relevante a arquitetura
bancária brasileira: tecnologia e segurança.
Sob a luz da tecnologia, a automação bancária brasileira ganhou força a partir da
década de 60, quando os serviços administrativos do interior das agências começaram a ser
informatizados. Na década de 70 ocorreram as primeiras experiências de instalação de
agências on-line. A década de 80 marcou o início do auto-atendimento bancário com os
terminais de caixa on-line e terminais de clientes oferecendo saldos e extratos de conta
corrente, todas feitas em tempo real. Instituía-se o conceito de cliente do banco em lugar do
cliente de uma agência. Durante a década de 90 consolidaram-se três tipos de automação
bancária: automação de agências (terminais de caixa), auto-atendimento (ATM) e homebanking(sucedido pela Internet com a popularização da internet na década de 1990).
Com tudo isso, todo esse avanço tecnológico, percebesse que o setor financeiro teve
um grande avanço, e com a automação das agências o serviço bancário ficou mais eficiente e
rápido, pois aos poucos o conceito de "fila" foi mudando, já que as pessoas deixaram que ficar
em uma fila no banco por até 2h (duas horas) e decidiram ceder a tecnologia e gastar menos
tempo, utilizando os caixas de auto-atendimento para realizarem suas tarefas bancárias.
2.2 FUNCIONAMENTO DO SISTEMA
2.2.1 O sistema
13
O sistema foi desenvolvido para utilizá-lo em caixas automáticos. Possui funções de
operações bancárias, como por exemplo, sacar e depositar, e conta com funções de
autenticação de usuário, para manter a segurança no acesso do mesmo.
2.2.2 Funções do sistema
2.2.2.1 Verificação de Usuário e Segurança
O sistema possui uma verificação de usuário, onde ele busca o CPF ou CNPJ do
usuário, para verificar se o usuário possui conta bancária cadastrada, se no processe de
verificação for encontrado cadastro, o sistema exibirá as funções de operação bancária, caso
não encontre, será apresentada uma mensagem ao usuário para verificar com a agência
bancária se ele possui conta cadastrada.
Possui também verificação de bloqueio de conta, onde o sistema faz uma busca através
do CPF/CNPJ digitado pelo usuário, e verificar se há algum bloqueio na conta, se houver, o
sistema apresentará uma mensagem ao usuário informando que a conta está bloqueada, e não
permite o acesso ao menu de operações.
Se o usuário possuir conta bancária, o sistema irá pedir que digite a senha da conta,
para que possa realizar o login, caso digite a senha mais que três vezes incorreta, a conta será
bloqueada, caso contrário, se ele digitar corretamente a senha, será exibido o menu com as
opções para realizar as operações bancárias.
Imagem 1 – Verificação de Usuário
Imagem 2 – Menu de Operações
2.2.2.2
Depositar
A função depositar permite que o usuário deposite valores em sua conta, ou seja,
armazene uma quantia de dinheiro em sua conta bancária. O sistema informará ao usuário
para que digite o valor que será depositado, e logo após digitar o valor e a senha, que será
requisitada para realizar a autenticação, o sistema irá processar as informações e armazenará
os valores.
O valor digitado será armazenado em um arquivo reservado apenas para valores
depositados e em outro arquivo que conterá todo o histórico das operações. Esses arquivos
14
estarão dentro de uma pasta no diretório do servidor do banco, por exemplo, do banco
Bradesco, Itaú, Santander e etc.
Imagem 3 – Depositar Valor
2.2.2.3 Sacar
A função sacar permite que o usuário saque valores de sua conta, ou seja, retirar uma
quantidade de dinheiro de sua conta bancária. O sistema informará ao usuário para que digite
o valor que será sacado, e logo após digitar o valor e a senha, que será requisitada para
realizar a autenticação, o sistema irá processar as informações e armazená-las.
O valor digitado será armazenado em um arquivo reservado apenas para valores
sacados e em outro arquivo que conterá todo o histórico das operações. Esses arquivos estarão
dentro de uma pasta no diretório do servidor do banco, por exemplo, do banco Bradesco, Itaú,
Santander e etc.
Imagem 4 – Sacar Valor
2.2.2.4
Consultar Saldo
A função consultar saldo permite que o usuário visualize o valor de saldo de sua conta,
ou seja, quanto que há de dinheiro em sua conta. O sistema informará ao usuário para digitar a
senha, para realizar a autenticação, com isso o sistema informará ao usuário o valor disponível
em as conta.
Para exibir o saldo da conta, o sistema irá calcular a soma de todos os valores
depositados, cujas informações serão buscadas no arquivo de depósitos, que estará no servidor
do banco. Também realizará a soma de todos os valores sacados, cujas informações estarão
contidas no arquivo, e também a soma de todos os valores das transferências, cujas
informações estarão contidas no arquivo de transferências dentro do mesmo diretório dos
arquivos de depósitos e de saques. Logo após será realizado o cálculo do saldo, onde será
somado os valores de débitos (saques) e transferências, e subtraído do valor de Crédito. Para
podermos compreender de forma mais explicita, abaixo segue a fórmula do cálculo.
Saldo = Depósitos – (Saques + Transferências)
15
Imagem - Consulta de Saldo
2.2.2.4
Consultar Extrato
A função consultar extrato permite o usuário visualizar um histórico das operações
realizadas em sua conta, onde conterá informações dessas operações realizadas, são essas
informações: data, horário, valor, origem (podendo ser D- débito, C- crédito, Ttransferência).
Também realizará uma consulta de saldo e informará ao usuário o saldo da conta
bancária dele.
Imagem 5 - Consultar de Extrato
2.2.2.4
Transferência
O sistema disponibilizará ao usuário a possibilidade de realizar transferência de
valores. O usuário terá que informar o valor que será transferido, a conta, agência e o banco,
com esses dados o sistema enviará ao servidor, que ao receber descontará da conta e passar ao
banco o pedido, pelo qual darão procedimento de realizar a transferência.
Imagem 6 - Transferência
2.2.3 Funcionamento
2.2.3.1
Como Funciona
O sistema opera de forma fácil e eficiente, visando sempre a necessidade do usuário e
suprir a dificuldades do mesmo.
O sistema tem uma tela inicial, onde informará ao usuário algumas informações,
dentre elas, requisitará que digite o CPF, que está substituindo o uso do cartão por motivo
acadêmicos, mas que pode poderá ser utilizado caso haja necessidade de um terminal de auto
atendimento.
16
Após o usuário informar o CPF, o sistema irá verificar se realmente existe a conta, se
existir dará continuidade na operação, verificando se há algum bloqueio na conta ou se está
disponível, caso contrário, informará que a conta é inexistente e para verificar com a agencia
bancária ou tentar novamente, e exibirá um menu com duas opções, onde o usuário poderá
escolher encerrar ou tentar novamente, desta forma o sistema irá direcioná-lo para a tela
inicial, independente a opção que escolher.
Realizando a verificação com sucesso, e o usuário possuir cadastro, o sistema exibirá a
tela com o menu das operações bancárias, onde apresentará opções, cada uma com um
número, e o usuário informará o número da respectiva operação selecionada. Com isso, o
sistema irá processar essa informação e direcionará para realizar a operação desejada.
Ao executar a operação, o sistema exibirá duas opções ao usuário, onde ele poderá
escolher realizar outra operação (sim), que nesse caso, será direcionado novamente ao menu
de operações, ou finalizar (não), onde será direcionado a tela inicial.
Na ilustração informada logo abaixo, poderemos ter uma melhor compreensão do
funcionamento do sistema, e perceber de forma objetivas seus processos.
Imagem 7 - Fluxograma do sistema
2.2.3.2
Segurança
O sistema conta com métodos para assegurar que o usuário terá um acesso a sua conta
de forma segura.
Um deles é a verificação de conta, onde será feita uma busca pelo CPF/CNPJ do
usuário, e caso não haja informação de conta existente, o sistema não apresentará o menu de
operações bancárias, evitando assim que outras pessoas tem acesso a ele ou mesmo a outros
tipos de informações do usuário.
Outro método é a verificação de tentativas de confirmar a senha, onde o usuário terá
até três tentativas para acertar a senha, caso exceda esse limite de tentativas, a conta será
bloqueada e o usuário terá que entrar em contato com a agência bancária, evitando assim que
outra pessoa possa ficar diversas vezes tentando confirmar a senha.
17
Além da verificação do cadastro e de tentativas de confirmar a senha, o sistema possui
uma verificação de bloqueio, que por meio dela, o sistema saberá se há algum bloqueio na
conta ou não, e caso haja, o usuário será informado que sua conta está bloqueada, e não
permitirá realizar operações. E nesse caso, o usuário também terá que verificar com a agência
bancária, para poder desbloquear a conta.
2.2.4
Layout
Desenvolvimento em linguagem C, o layout do sistema é simples, de forma que o
usuário possa ter uma melhor compreensão e fácil utilização de suas funções. As telas são
todas identificas por títulos da janela, o que possibilita uma melhor localização no sistema.
Disponibiliza uma tela de bem vindo, onde o usuário terá visualização de informações
como data e hora, para que o usuário possa está atualizado.
O menu das operações bancárias será apresentado ao usuário de forma clara e objetiva,
tornando a navegação pelo sistema mais fácil, e evitando possíveis dúvidas.
2.2.5 Processo de desenvolvimento do sistema
PROCESSO DE SOFTWARE
“Segundo Edson J. R. Lobo, os processos de software são atividades ordenadas,
normalmente divididas em fases. Eles foram criados em sua maioria para organizar ações em
grandes e médios projetos, por isso usam uma sistematização normalmente rígida e pesada.
Ou, no caso doas atuais processos, customizáveis. Cada fase de um processo busca manter a
integridade e a qualidade do produto final.Controle nos processos de software é rigoroso, pois
falhas em uma de suas fases podem acarretar prejuízos altíssimos, este é um dos maiores
problemas daqueles processos que não previam mudanças durante o projeto.”
(Edson J.R. Lobo – Livro: Curso de Engenharia de Software – Pag. 37 – Capitulo 8 O
que é um processo de software – Digerati Books, 2008)
Como podemos ver, nosso Ciclo de vida Cascata é formado por processos de software que
18
devem ser seguidos rigorosamente para manter a integridade e a qualidade do produto final,
porém, se analisarmos a sequenciados processos deste ciclo de vida, perceberemos que o
mesmo é bastante vulnerável a erros, já que sua fase de testes é após o desenvolvimento,
dessa forma, a fim de evitar erros, iremos implementar alguns conceitos de metodologia ágil
de desenvolvimento de software ao nosso projeto.
MÉTODOLOGIA ÁGIL DE DESENVOLVIMENTO DE SOFTWARE
Conforme Edson J. R. Lobo, os métodos ágeis de desenvolvimento de software
utilizam uma sistematização mais rápida e objetiva para se obter um software. Processos
pesados como o modelo em espiral foram caindo em desuso devido a grande necessidade das
empresas em desenvolver softwares de forma sistematizada e, ao mesmo tempo, de forma
rápida e dinâmica.
(Edson J.R. Lobo – Livro: Curso de Engenharia de Software – Pag. 42 – Capitulo 11
Metodologia ágil de desenvolvimento de software – Digerati Books, 2008)
Os métodos Ágeis auxiliam no desenvolvimento de sistemas mas que ainda assim
necessitam de um prazo maior, já que durante o desenvolvimento ocorrem muitas fases de
teste durante do desenvolvimento dos sistemas, análises de riscos, reuniões com clientes,
desenvolvimento de protótipos e apresentação ao cliente, além de diversas outras fases.
Levando em conta esses fatores, não foi possível utilizar um método ágil, mas conseguimos
utilizar algumas bases como a realização de testes e também Daily Scrum, Sprint Backlog e
Product Backlog do SCRUM.
SCRUM
“Scrum é um framework Ágil, simples e leve, utilizado para a gestão do
desenvolvimento de produtos complexos imersos em ambientes complexos. Scrum é
embasado no empirismo e utiliza uma abordagem iterativa e incremental para entregar valor
com frequência e, assim, reduzir os riscos do projeto. “
(Scrum: Gestão ágil para projetos de sucesso –pag 17 – Capitulo 2.1- Introdução –
Rafael Sabbagh – Casa do código - 2013)
Em nosso projeto, utilizamos a técnica de Daily Scrum,Product Backlog e Sprint Backlogpara
19
que pudéssemos evitar erros durante o desenvolvimento do projeto e garantir a troca de
informações entre todos os membros do grupo.
Segundo Rafael Sabbagh sobre Daily Scrum em cada dia do trabalho de desenvolvimento, os
membros do Time de Desenvolvimento se encontram por no máximo quinze minutos,
preferencialmente no mesmo horário e no mesmo local, para a reunião de DailyScrum. O
objetivo da reunião é garantir a visibilidade de seu trabalho entre eles e planejar,
informalmente, o próximo dia de trabalho.
(Scrum: Gestão ágil para projetos de sucesso –pag 44 – Capitulo3.3
Desenvolvimento – Rafael Sabbagh – Casa do código - 2013)
Resumindo, o Daily Scrum seria uma breve reunião diária entre todos os membros da equipe,
onde é analisado todas as tarefas que foram dadas e o que foi feito, para assim definir o que
será priorizado a partir dali.
Conforme Rafael Sabbagh, O Product Backlog é uma lista de tudo o que se acredita
que será desenvolvido pelo Time de Desenvolvimento no decorrer do projeto. Em cada
momento, essa lista é atualizada, ordenada de acordo com a importância para os clientes do
projeto e possui apenas o nível de detalhes que é possível de se ter.
(Scrum: Gestão ágil para projetos de sucesso –pag 111 – Capitulo 9.1 O que é o
ProductBacklog – Rafael Sabbagh – Casa do código - 2013)
O Product Backlog é uma lista que reúne requisitos e observações para o sistema que está em
desenvolvimento, obedecendo sempre a ordem de importância de cada elemento da lista para
o cliente. O Product Backlog não é uma lista com elementos fixos e inalterável, o mesmo
pode ser alterado a qualquer momento pela equipe, caso seja necessária qualquer mudança no
projeto.
“Para Rafael Sabbagh, o Sprint Backlog é uma lista de itens selecionados do alto do
Product Backlog para o desenvolvimento do Incremento do Produto no Sprint (o quê),
adicionada de um plano de como esse trabalho será realizado (como).”
20
(Scrum: Gestão ágil para projetos de sucesso –pag 147 – Capitulo 10.1 O que é
Sprint Backlog – Rafael Sabbagh – Casa do código - 2013)
O Sprint Backlog é uma lista de tarefas a serem realizadas pela equipe, definida durante o
Daily Scrum do dia para que sejam executadas até o próximo Daily Scrum. As tarefas
contidas no Sprint Backlog são definidas com base no Product Backlog do projeto.
IMAGEM 8 - Sprint
Foram realizados Daily Scrum diários, onde era levantado todo o ProductBacklog e
definido o Sprint Backlog que fosse executado até o próximo Daily Scrum e assim por diante,
até o fim do projeto. Nas fases de desenvolvimento do sistema, eram realizados também testes
durante os Daily Scrum, no intuito de se constatado algum erro, o mesmo seria incrementado
ao Sprint Backlog. Dessa forma, foi possível controlarmos melhor o tempo e assim
desenvolver um projeto com maior nível de qualidade tanto na visão do usuário, com
funcionalidades de fácil compreensão e uso e também para outros programadores ou
profissionais que fossem utilizá-lo para fins de estudo ou comerciais, com uma linguagem
clara
e
objetiva
e
um
código
reutilizável.
21
Levando em conta todas essas características, nosso, projeto foi desenvolvido da seguinte
forma:
2.3 SOFTWARE
2.3.1 Sistema Operacional
Ubuntu
A escolha do Ubuntu como sistema operacional do terminal se deu por ele ser uma
versão do Linux e com isso ser mais seguro que seus concorrentes e também por ser software
livre, o que faz com que ele se torne mais barato, além das vantagens citadas acima ele é
muito fácil de manusear e possui um fórum de duvidas e softwares compatíveis, a versão que
será utilizada será a versão 14.04.1 LTS (“Long Term Support”) por ser LTS essa versão
continuará recebendo suporte estendido por até 4 anos ou mais.
Segundo Tanenbaum (2012) “é um programa que esconde do programador a verdade
sobre o hardware e apresenta uma bela e simples visão de nomes de arquivos que podem ser
lidos e gravados, e apresenta uma interface orientada para arquivos mais simples”.
Segundo Shuttleworth (2004) “Ubuntu é um sistema operacional desenvolvido pela
comunidade ubuntu, e é perfeito para laptops, desktops e servidores. Seja para uso em casa,
escola ou no trabalho, o Ubuntu contém todas as ferramentas que você necessita desde
processador de texto e leitor de emails os servidores web e ferramentas de programação.”
“O Ubuntu é a mais amigável dentre as distribuições Linux da atualidade. Com belo
visual gráfico e uso intuitivo, ao finalizar a instalação descrita neste manual, você terá um
sistema operacional altamente estável, fácil de utilizar, e com todos os programas que você
precisa para trabalhar, estudar ou se divertir.
Com o Ubuntu instalado em seu computador, você terá acesso a repositórios on-line
com dezenas de gigabytes livres e de códigos abertos, tão ou mais poderosos e profissional
que seus equivalentes para Windows.”
22
(Guia essencial do Ubuntu 9.10 – Capitulo 1 – pag. 6 - Módulo informática.
RODRIGO AMORIM FERREIRA)
IMAGEM 9 - Ambiente gráfico do Ubuntu
(http://www.ubuntu.org.br)
Ver especificações do Sistema Operacional na tabela 1
2.4
HARDWARE DO TERMINAL
2.4.1 Monitor: AOC 2036S LCD
O monitor é onde são mostradas as informações, permitindo a comunicação direta com
o sistema. “Para os terminais serão utilizados monitores com alta qualidade de vídeo e com
um tamanho de 20” ao qual o usuário terá melhor facilidade em visualizar a informação.
Utilizarão a função de stand-by, a qual utilizará menos energia proporcionando melhor custo
benefício. Também será ajustável á posição, ou seja, o usuário poderá ajustar a posição do
monitor, facilitando o acesso de pessoas portadoras de deficiência física, como mostra nas
imagens 1 e 2.
Ver especificações do monitor na tabela 2
2.4.2 Placa mãe
23
modelo: ASUS M5A78L-M LX
asus epu : sistema nivelador de economia de energia
anti-surge : guardião em tempo integral do sistema
turbo key : interruptor de overcloking
- core unlocker : libere o verdadeiro desempenho do processador
esta placa-mãe suporta processadores multi-core amd am3+ com cache l3, para melhor
capacidade de overclock com menor consumo de energia . Possui dual-channel ddr3 de
memória, que acelera taxa de transferência de dados em até 5200mt/s via hypertransport 3.0
2.4.3 Processador
A escolha da AMD se deu pelo fato de seus processadores serem voltados para o
processamento lógico e o modelo Phenom II X4 é mais do que o suficiente para o
processamento do sistema operacional e do sistema do caixa eletrônico, tento usando assim
apenas um de seus núcleos sem ter que forçar o processador a dar o seu máximo, fazendo com
que o mesmo tenha uma vida útil mais duradoura.
“A CPU (Central Processing Unit - unidade central de processamento) é o 'cérebro' do
computador. Sua função é executar programas armazenados na memória principal buscando
suas instruções, examinando-as e então executando-as uma após a outra. Os componentes são
conectados por um barramento, que é um conjunto de fios paralelos que transmitem
endereços, dados e sinais de controle.
Barramentos podem ser externos à CPU, conectando-a à memória e aos dispositivos
de E/S mas também podem ser internos à CPU. como veremos em breve.
A CPU é composta por várias partes distintas . A unidade de controle é responsável
por buscar instruções na memória principal e determinar seu tipo. A unidade de aritmética e
lógica efetua operações como adição e AND (E) booleano para executar as instruções.
A CPU também contém uma pequena memória de alta velocidade usada para
armazenar resultados temporários e para um certo controle de informações. Essa memória é
composta de uma quantidade de registradores, cada um deles com um certo tamanho e função.
Normalmente todos os registradores têm o mesmo tamanho. Cada registrador pode conter um
24
numero, até algum máximo determinado pelo tamanho do registrador. Registradores podem
ser lidos e escritos em alta velocidade porque internos a CPU.”
(Organização Estruturada de Computadores – 5º edição –pag 29 – Capitulo 2.1
Organização de sistemas de computadores – andrew. s tanenbaum– Casa do
código - 2013)
A escolha da AMD se deu pelo fato de seus processadores serem voltados para o
processamento lógico e o modelo Phenom II X4 é mais do que o suficiente para o
processamento do sistema operacional e do sistema do caixa eletrônico, tento usando assim
apenas um de seus núcleos sem ter que forçar o processador a dar o seu máximo, fazendo com
que o mesmo tenha uma vida útil mais duradoura.
Apesar do potencial, o Phenom ficou limitado pela arquitetura de 65 nanômetros, que
restringiu a frequência de clock dos processadores. O pico evolutivo acabou sendo o Phenom X4
9950, que operava a 2.6GHz, mas possuia um TDP de nada menos que 140 watts na versão original
(que a AMD conseguiu reduzir para 125 watts nas subsequências), o que é basicamente o limite do
que se pode refrigerar usando um cooler a ar.
(Informatica, conceitos básicos – 8º edição –pag 38 – Capitulo 2.4 Tamanho da
memória – Veloso, Fernando – Elsevier - 2011)
IMAGEM 10 - Processador AMD Phenon II X4
(http://www.amazon.com/AMD-Phenom-3-4Ghz-512KB-4000MHZ/dp/B002SRQ214)
25
2.4.4 Disco Rígido
Cada terminal terá um HD de 80 Gb que será instalado o sistema operacional ocupando
aproximadamente 2 Gb de espaço e o sistema do caixa eletrônico. A idéia de ter um HD com
capacidade muito superior ao que se necessita é justamente para que tenha espaço suficiente
para que o Sistema Operacional possa gerar seus arquivos temporários sem que haja a
preocupação com espaço em disco.
Os discos rígidos ou duros são atualmente o tipo de armazenamento de dados mais importante
em sistemas de computadores modernos. Um dos primeiros discos rígidos completamente
lacrados e livres de poeira foi desenvolvido pela IBM e chamados de disco Winchester (em
alusão ao famoso Winchester)
(Fundamentos de Eletrônica Digital - Vol.2. Sistemas Sequenciais - Capitulo 11 – pag
352 - Roger Tokheim)
Disco Rígido Seagate
IMAGEM 11 - Disco rígido
(http://www.linkinformaticago.com.br/?product=hd-01tb-sata-seagatest1000dm003)
Ver especificações do Sistema Operacional na tabela 4
26
2.4.5 Memória RAM
A memória será responsável por manter os arquivos que estiverem em execução, o
sistema operacional e o sistema do caixa eletrônico bancário, o terminal contará com dois
pentes, de 2 GB cada, não exatamente funcionando desta forma, mas considerando que 2 GB
ficará responsável pelo Sistemas Operacional e os outros 2 GB para o sistema de caixa
eletrônico.
“Dentre todas as memórias existentes no computador, a mais importante é, sem
duvida, a memoria ram (memoria de acesso aleatorio). A memoria RAM é um conjunto de
chips semicondutores que armazenam dados na forma de pulsos eletricos, o que significa que
os dados sao armazenados enquanto houver energia ou enquanto o programa em questao
decidir (o que terminar primeiro). Devido a sua importancia extrema, a memoria ram é
chamada de memoria principal (ou, em certos casos, simplesmente "a memoria").
A memoria RAM é um componente muitissimo importante para o computador e sem
ela o computador não funcionaria porque os dados que saem da CPU são, a principio,
armazenados nela. A memoria RAM é vendida em pequenas placas chamadas "pentes" por
causa de seu formato.”
(Informatica Para Concursos – 3º edição – Capitulo 7 – pag 34 - Módulo
informática. JOAO ANTONIO CARVALHO)
IMAGEM 12 - Memória RAM
(http://produto.mercadolivre.com.br/MLB-598751035-memoria-kingston-pc-ddr3-4gb-1333-pc10600frete-gratis-_JM)
Ver especificações do Sistema Operacional na tabela 5
27
2.4.6 O Terminal
Desenhado para atender pessoas comuns e ou portadores de deficiência física estando
de acordo com a lei.
"Dispõe-se sobre o apoio às pessoas portadoras de deficiência, sua integração social,
sobre a Coordenadoria Nacional para Integração da Pessoa Portadora de Deficiência – Corde,
institui a tutela jurisdicional de interesses coletivos ou difusos dessas pessoas, disciplina a
atuação do Ministério Público, define crimes, e dá outras providências."
(Lei n. 7.853, de 24 de outubro de 1989, aprovada pelo então presidente José
Ribamar Araújo da Costa Sarney.)
O Quiosque se manterá em uma estrutura metálica revestida com materiais
plásticos reciclados, seguindo e leis de proteção do meio ambiente.
"Dispõe sobre a Política Estadual de Reciclagem de Materiais e sobre os instrumentos
econômicos e financeiros aplicáveis à Gestão de Resíduos Sólidos."
Lei nº 14.128, de 19 de dezembro de 2001.
(Rejeição de Veto - Publicação - Diário do Legislativo - "Minas Gerais" 28/03/2002).
Os terminais terão um revestimento externo em material reciclável, o que o tornará um
produto contribuinte com o eco-sistema e a diminuição da poluição e com o meio ambiente.
"A reciclagem é um processo industrial que converte o lixo descartado (matéria-prima
secundária) em produto semelhante ao inicial ou outro. Reciclar é economizar energia, poupar
recursos naturais e trazer de volta ao ciclo produtivo o que é jogado fora. A palavra
reciclagem foi introduzida ao vocabulário internacional no final da década de 80, quando foi
constatado que as fontes de petróleo e outras matérias-primas não renováveis estavam e estão
se esgotando. Reciclar significa = Re (repetir) + Cycle (ciclo).
Para compreendermos a reciclagem, é importante "reciclarmos" o conceito que
temos de lixo, deixando de enxergá-lo como uma coisa suja e inútil em sua totalidade.
O primeiro passo é perceber que o lixo é fonte de riqueza e que para ser
reciclado deve ser separado. Ele pode ser separado de diversas maneiras, sendo a mais
simples separar o lixo orgânico do inorgânico (lixo molhado/ lixo seco).
28
Na natureza nada se perde. Seres vivos chamados decompositores "comem" material
sem vida ou em decomposição. Eles dividem a matéria para que ela possa ser reciclada e
usada de novo. Esse é o chamado material biodegradável. Quando um animal morre, ele é
reciclado pela natureza. Quando um material é dividido em pequenas peças, as bactérias e
fungos, os mais importantes decompositores, já podem trabalhar.”
(de Cássia, Rita. Reciclagem. Reciclar, 20 nov. 2007 . Disponivel em:
http://www.reciclarbrasil.com.br. Acesso em: 06 jun. 2014)
Os terminais foram projetados para atender a portadores de deficiências físicas, onde
cadeirantes poderão utilizar os terminais sem algum problema, pois, a tela é flexível, tornando
assim possível a visualização e a utilização. Os terminais foram projetados para ficarem em
cabines, onde serão instaladas no local onde ficaram, sendo que essas cabines serão para os
usuários terem privacidade ao estarem usufruindo do terminal
IMAGEM 13 -
ACESSIBILIDADE DO TERMINAL
FONTE: POR WILLIAN MARQUES
2.5 REDE E INFRA-ESTRUTURA
As redes onde os terminais estarão conectados terão dispositivos que realização essa
conexão e auxiliarão a estabilidade do mesmo. Para isso as redes, que, aliás, serão utilizadas
29
as do ponto onde os terminais estão instalados, como por exemplo, redes dos supermercados,
agências bancárias, postos de gasolinas e etc.
“Redes de computadores estabelecem a forma-padrão de interligar computadores para
o compartilhamento de recursos físicos ou lógicos. Esses recursos podem ser definidos como
unidades de CD-ROM, diretórios do disco rígido, impressoras, scanners, placa de fax modem
entre outros. Saber definir que tipo de rede e que sistema operacional deve ser utilizado, bem
como efetuar a montagem deste tipo de ambiente, é um pré-requisito para qualquer
profissional de informática que pretende uma boa colocação no mercado de trabalho.”
(Livro Redes de computadores- teoria e pratica Editora Novatec)
Serão utilizadas placas de rede, para fazer a comunicação do terminal com a rede, que no
caso, utilizará a topologia estrela, onde farão partes dessa rede o switch, modem, cabos par
trançados; que realização a comunicação distribuindo IPs e masca de rede, de forma tal a
poder realizar a comunicação de maneira a poder haver a troca de informação dos terminais e
os bancos.
“Placa adaptadora de rede, Também conhecida como NIC (Network Interface Card), é
a responsável pela conexão do computador a rede. Cada placa de rede possui um endereço
MAC que é único, formato por um identificador do fabricante, por exemplo, “3Com
“seguindo por um sufixo de identificação da placa, o que garante a unicidade do cartão, ou
seja, cada placa de rede tem um endereço próprio.”
(Redes de computadores: fundamentos/Alexandre Fernandes de Morais)
IMAGEM 14 - Placa de Rede
(http://img.ibxk.com.br/materias/2732/7471.jpg)
30
“O cabo de para trançado é o mais barato para aplicação em redes locais e hoje o mais
utilizado. Os cabos UTP possuem uma classificação especial chamada de categoria,
determinada de acordo com a característica de qualidade de cabo, como baixo crosstalk entre
os pares, baixa atenuação, largura da banda passante, indutâncias etc. De acordo com esta
classificação cabo UTP.”
(Redes de computadores: fundamentos/Alexandre Fernandes de Morais)
IMAGEM 15 - Cabo par trançado
(http://www.rrp1.com.br/cabo%20rede.jpg)
“Na topologia estrela todas as estações estão diretamente conectadas com o
equipamento central. A comunicação entre dois equipamentos passa obrigatoriamente pelo
equipamento central, que como função realiza a comutação de mensagens baseadas em
técnicas de pacotes ou por circuitos, além de realizar o controle e a supervisão da rede.
A topologia estrela faz a ligação muitas das vezes por meio de um switch onde todos
os hosts se comunicam não havendo sempre um broadcast.
Este tipo de topologia possui um dispositivo central onde todos os nós da rede são
conectados nele, e este dispositivo faz o roteamento do sinal para o destino final da
informação com isto todos os dados enviados devem obrigatoriamente passar por este
dispositivo central antes de chegar a seu destino final. A vantagem é que pode ser ‘unicast3’,
as informações são direcionadas exatamente para seu receptor, as outras máquinas na rede não
recebem mensagens de outro receptor, com isto melhora o tráfego da rede.”
(FOROUZAN, B. A.Comunicação de Dados e Redes de Computadores. 3.)
31
IMAGEM 16 - Topologia Estrela
“O switch é utilizado para interligar redes com grande trafego ponto a ponto (peer-topeer), pois é capaz de transmitir cada pacote de dados, de forma direta, para uma estação
especifica. Além disso, o switch ambbem pode servir para dividir umas redes em diversa subredes, mesmo em grupo de trabalho, utilizando a tecnologia conhecida como virtual lan
(VLAN), aliada ao uso de ACLs(AccessList, ou lista de acesso), que definem qual indereço IP
ou host pode acessar determinada área da rede.”
(segredos das redes de computadores 2ºEdição editoraDigerati Books/Carmona
Tadeu)
IMAGEM 17 - Switch
(http://content.answers.com/main/content/img/CDE/_ESWITCH.GIF)
“Ela é usada para determinar onde termina o endereço da rede e onde começa o
endereço da estação. Devido á forma como a mascara de rede é usada,, os bits são definidos
com 1 da esquerda para direita. Por exemplo, uma mascara de sub-rede .”
(Redes de computadores: fundamentos/Alexandre Fernandes de Morais)
32
“Um endereço IP é segmentado em duas partes: as primeiras contém a identificação da
rede de computadores em que ele esta sendo usado e a segunda identifica os computadores
nessa rede. Com o advento da internet, criou-se uma maneira de atribuir endereços IP para a
conexão a Web, ao mesmo tempo em que se reservou uma determinada listagem de IP as
redes domesticas. “
(segredos das redes de computadores 2º Edição editoraDigerati Books)
2.6 Aplicação das Disciplinas no Projeto
2.6.1 Fundamento de sistemas operacionais
Foi apresentado o que é um conceito do que é um sistema operacional, detalhando o
que será usado no projeto.
2.6.2 Organização de computadores
O projeto apresenta componentes de hardware que são necessários para se montar um
terminal, suas definições.
2.6.3 Princípio de sistema de informação
Podemos ter como base no projeto a construções do sistema, no qual utiliza uma
linguagem de programação, a qual foi vista em aula a forma como se gerencia a construção de
um sistema.
2.6.4 Estatística
No projeto é usada média, para se obter uma base na construção do sistema é o custo
de qual desenvolvimento.
2.6.5 Lógica
É aplicada no projeto em forma de diagrama de blocos a representação da trajetória da
transmissão das informações até chegar ao usuário, e no desenvolvimento do sistema é a base
para chegar-se ao resultado final.
33
2.6.6 Desenvolvimento Sustentável
No projeto é utilizado na construção dos terminais, materiais recicláveis, para o
revestimento externo, ajudando assim a preservação do meio ambiente e contribuindo com a
retirada de materiais de agridem o meio ambiente.
2.6.7 Matemática para Computação
Consolidado em uma base financeira, o sistema exigiu que fosse utilizadas funções,
nas quais aplicou-se cálculos, como por exemplo, o calcular o saldo.
2.6.8 Linguagem e técnicas de programação
Assim como a lógica de programação, as técnicas foram essenciais no
desenvolvimento do projeto, no qual foi desenvolvimento em linguagem C, linguagem que foi
vista neste módulo do curso.
2.6.9 Fundamentos de Rede, Dados e Comunicação
De suma importância como a linguagem de programação, os fundamentos de rede,
dados e comunicação implicaram diretamente no desenvolvimento do sistema, no qual é
necessário se ter uma boa comunicação entre os terminais e os provedores dos bancos, e uma
rede segura, pois, transitará dados muitos sigilosos, que os dados das contas bancárias.
2.6.10 Engenharia de Software I
Utilizada no desenvolvimento do sistema, a engenharia de software foi importante na
decisão de como seria a rotina do desenvolvimento, no planejamento dos prazos de entrega e
da estruturação do sistema, como as funcionalidades do mesmo.
2.6.11 Metodologia Científica
Utilizada no desenvolvimento do contexto textual do projeto, servido de base na
edição dos textos e as formações necessárias para que saísse nos padrões que são exigidos.
Foram aplicadas normas das quais fazem parte da metodologia, como o que é necessário ter
no documento, e como aplicar regras de formatações.
34
2.7
IMAGENS
Imagem 1 - Tela de Autenticação
(Por Diogo Muniz)
Imagem 2 – Menu de Operações
(Por Diogo Muniz)
Imagem 3 – Depositar Valor
(Por Diogo Muniz)
35
Imagem 4 – Sacar Valor
(Por Diogo Muniz)
Imagem 5 – Consultar Saldo
(Por Diogo Muniz)
Imagem 6 – Consultar Extrato
(Por Diogo Muniz)
36
Imagem 7 - Fluxograma do sistema
37
2.8 TABELAS
Tabela 1 - Sistema Operacional
Especificações Técnicas (do fabricante)
Ubuntu
Sistema operacional
14.04 "Trusty Tahr "
Versão
Linu 3.13
Versão do Kernel
17 de Abril de 2014
Lançamento:
Requisitos Mínimos
64 Mb
Memória RAM
5 Gb
Disco rígido:
Tabela 2 - Especifícações do Monitor
Características do Monitor
Modelo
AOC 2036S LCD
Tamanho da tela
20.0 polegadas
Tipon de tela
LCD
Tela plana
Sim
Ângulo de visão
Horizontal 160 graus
Ângulo de visão vertical
160 graus
Widescreen
Sim
Touchscreen
2 toques
Resolução Máxima
1600 x 900 Pixels
Número de Cores
16,7 milhões
Brilho
250 cd/m²
Contraste
60000:1
Tempo de Resposta
5 ms
Tipo de conexão
RGB, USB, VGA
Consumo
25 W
Consumo em Standby
1W
TABELA 3 - ESPECIFICAÇÕE DA PLACA MÃE
Especificações
Modelo
asus epu
anti-surge
turbo key
core unlocker
ASUS M5A78L-M LX
sistema nivelador de economia de energia
guardião em tempo integral do sistema
interruptor de overcloking
libere o verdadeiro desempenho do processador
38
Tabela 4 - Especificações do HD
Especificações Técnicas
Modelo:
Formato:
Interface:
Capacidades:
Consumo de Energia:
Temperatura de Armazenamento:
Temperatura de operação:
Dimensões:
Peso:
Vibração quando em operação:
Vibração quando não está em
operação:
Expectativa de vida útil:
Todas as capacidades:
Kingston SSDNow
2.6"
SATA Rev. 3.0 (6Gb/s)
60GB
0,640W Inativo / 1,423 W Leitura / 2,052 W
Gravação
-40 a 85°C
0 a 70°C
69,8 x 100,1 x 7 mm
86 g
2,17 G Pico (7 – 800 Hz)
20 G Pico (10 – 2000 Hz)
1 milhão de horas MTBF
450MB/s para Leitura e 450MB/s para Gravação
Tabela 5 -Especificações da Memória RAM
Especificações da memória RAM
Kingston DDR3 4GB
Modelo
DDR3-1600
Nome padrão
200 MHz
Clock de memória
5 ms
Tempo de ciclo:
800 MHz
Velocidade de clock
1600 MT/s
Taxa de dados
PC3-12800
Nome do módulo
12800 MB/s
Pico de taxa de transferência
8-8-8 / 9-9-9 / 10-10-10 / 11-11-11
Tempos
39
III.
CONCLUSÃO
“É nesse clima que o projeto se enquadra, podendo-se afirmar que o terminais de caixa
eletrônico é uma combinação de tecnologia avançada para a realização de operações
bancárias, levando em consideração cada detalhe, na prestação dos serviços. Por meio dele, os
usuários poderão realizar depósitos, saques, transferências, consultar saldo e consultar extrato,
comodidade, segurança e agilidade”.
REFERÊNCIAS
Apostila Banco de Dados – Conceitos. Edson – UFMS
Apostila Preservação de Documentos Digitais. Humberto Celeste Innarelli- 12/2003
Livro Organização estrutura de computadores. Tanenbaum – Edição IV
Livro Suplemento 2000 - Módulo Informática. Luis Carlos Fernandes Bambini
Guia essencial do Ubuntu 9.10
RODRIGO AMORIM FERREIRA
– Capitulo 1 – pag. 6 - Módulo informática.
Scrum: Gestão ágil para projetos de sucesso –pag 147 – Capitulo 10.1 O que é Sprint
Backlog – Rafael Sabbagh – Casa do código - 2013
Edson J.R. Lobo – Livro: Curso de Engenharia de Software – Pag. 42 – Capitulo 11
Metodologia ágil de desenvolvimento de software – Digerati Books, 2008
www.leonardodavinci.com.br/livros/GU4019/9788588493032/meu-primeiro-gpslivro-guia-para-iniciantes-e-entusiastas.html
www.reciclarbrasil.com.br
http://www.ubuntu.org.br
40
APÊNCICE
#INCLUDE <STDIO.H>
#INCLUDE <STDLIB.H>
#INCLUDE <STRING.H>
#INCLUDE <TIME.H>
#INCLUDE <WINDOWS.H>
#INCLUDE <LOCALE.H>
INT IESCOLHAUSUARIO;
INT IRETORNOCLIENTE;
INT IRETORNOVERIFICARCADASTRO;
CHAR CPFCADASTRO[ 50] ="38614990880";
INT IRETORNOEXTRATO;
INT TENTATIVAS=NULL;
FLOAT SALDOVALOR;
FLOAT SALDOTRANSFERENCIA;
CHAR OPCAOMENU;
// VARIAVEIS PARA EXIBIR A DATA E O HORÁRIO
TIME_T TEMPO;
STRUCT TM *INFOTEMPO;
CHAR TEXTODATA[ 80];
CHAR TEXTOHORA[ 80];
CHAR TEXTODATAD[ 80];
CHAR TEXTODATAM[ 80];
CHAR TEXTODATAA[ 80];
/*------------ FIM DATA/HORA ---------*/
INT MAIN(INT ARGC, CHAR *ARGV[]){
SYSTEM("COLOR 17");
HOME();
}
/* ================================================================ FUNÇÕES
=============================================================*/
INT HOME(){
SETLOCALE(LC_ALL, "PORTUGUESE");
SETCONSOLETITLE("TELA INICIAL");
TIME(&TEMPO);
INFOTEMPO = LOCALTIME(&TEMPO);
STRFTIME (TEXTOHORA, 80, "%X", INFOTEMPO);
STRFTIME (TEXTODATA, 80, "%D", INFOTEMPO);
STRFTIME (TEXTODATAM, 80, "%M", INFOTEMPO);
STRFTIME (TEXTODATAA, 80, "%Y", INFOTEMPO);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAM);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAA);
PRINTF(" ________________________________________\N");
PRINTF(" | | DATA: %S \N", TEXTODATA);
PRINTF(" | SISTEMA DE CAIXA | HORA: %S \N", TEXTOHORA);
PRINTF(" |________________________________________|\N");
//====================================================================================================
VERIFICARAUTENTICACAO();
}
INT EXIBIRMENU(){
SETCONSOLETITLE("MENU DE OPERACOES BANCARIAS");
// ---- FUNÇÕES DE DATA E HORA
TIME(&TEMPO);
INFOTEMPO = LOCALTIME(&TEMPO);
STRFTIME (TEXTOHORA, 80, "%X", INFOTEMPO);
STRFTIME (TEXTODATA, 80, "%D", INFOTEMPO);
STRFTIME (TEXTODATAM, 80, "%M", INFOTEMPO);
STRFTIME (TEXTODATAA, 80, "%Y", INFOTEMPO);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAM);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAA);
// ----FIM FUNÇÕES DE DATA E HORA
SYSTEM("CLS");
PRINTF(" ________________________________________________________________\N");
PRINTF(" | |\N");
PRINTF(" | BEM VINDO DATA: %S HORA: %S |\N", TEXTODATA, TEXTOHORA);
PRINTF(" | __________________________________________________________ |\N");
PRINTF(" | |\N");
PRINTF(" | [1] SACAR [3] CONSULTAR SALDO |\N");
PRINTF(" | [2] DEPOSITAR [4] CONSULTAR EXTRATO |\N");
41
PRINTF(" | [5] TRANFERIR |\N");
PRINTF(" | |\N");
PRINTF(" | | [6] SAIR | |\N");
PRINTF(" |________________________________________________________________|\N");
PRINTF("\N\N DIGITE UMA OPÇÃO: ");
OPCAOMENU =GETCH();
IF(OPCAOMENU == 54){
SYSTEM("CLS");
HOME();
}
IF(OPCAOMENU == 49){
SACARVALOR();
}
ELSE IF(OPCAOMENU == 50){
DEPOSITARVALOR();
}
ELSE IF(OPCAOMENU == 51){
CONSULTARSALDO();
}
ELSE IF(OPCAOMENU == 52){
GERAREXTRATO();
}
ELSE IF(OPCAOMENU == 53){
TRANSFERIRVALOR();
}
ELSE{
EXIBIRMENU();
PRINTF("\NOPÇÃO INVÁLIDA");
}
}
INT VERIFICARAUTENTICACAO(){
INT RETORNO;
INT SENHA;
CHAR ICODSE[ 8];
INT PASSWORD;
CHAR COD[ 5];
CHAR CAMINHO1[ 50] = "CLIENTES/";
STRCAT(CAMINHO1, CPFCADASTRO);
STRCAT(CAMINHO1, "/LOGIN.TXT");
FILE * ARQUSERAUTENTICACAO;
ARQUSERAUTENTICACAO = FOPEN(CAMINHO1, "R");
PRINTF("\N DIGITE SUA SENHA: ");
SCANF("%D", &SENHA);
IF(ARQUSERAUTENTICACAO == NULL)
PRINTF("FALHA DE CONEXÃO \N");
ELSE
WHILE ( FSCANF(ARQUSERAUTENTICACAO, "%D", &PASSWORD) != EOF){
IF (SENHA == PASSWORD){
RETORNO = 1;
}
ELSE{
RETORNO = 0;
TENTATIVAS = TENTATIVAS + 1;
VERIFICARTENTATIVAS();
BREAK;
}
}
IF(RETORNO != 1){
PRINTF("\N\N SENHA OU COÓIGO INVÁLIDO.\N\N");
}
ELSE{
//TENTATIVAS =NULL;
IF(OPCAOMENU == 49){
SACARVALOR();
}
ELSE IF(OPCAOMENU == 50){
DEPOSITARVALOR();
}
ELSE IF(OPCAOMENU == 51){
CONSULTARSALDO();
}
ELSE IF(OPCAOMENU == 52){
GERAREXTRATO();
}
42
ELSE IF(OPCAOMENU == 53){
TRANSFERIRVALOR();
}
ELSE{
PRINTF("\NOPÇÃO INVÁLIDA");
EXIBIRMENU();
}
}
FCLOSE(ARQUSERAUTENTICACAO);
}
// FUNÇÃO PARA VERIFICAR SE O USUARIO ESTÁ BLOQUEADO
INT VERIFICARBLOQUEIO(){
SETCONSOLETITLE("BLOQUEIO DE CONTA");
CHAR TECLAEXIT;
CHAR CAMINHO[ 50] = "CLIENTES/";
STRCAT(CAMINHO, CPFCADASTRO);
STRCAT(CAMINHO, "/BLOQUEIO.TXT");
FILE *ARQBLOQUEIO;
ARQBLOQUEIO = FOPEN(CAMINHO, "R");
IF(ARQBLOQUEIO != NULL){
SYSTEM("CLS");
PRINTF("\N \N |- SUA CONTA ESTÁ BLOQUEADA -|\N\N");
SYSTEM("PAUSE");
SYSTEM("CLS");
HOME();
//=====================================================================================================
==========
}
ELSE{
}
FCLOSE(ARQBLOQUEIO);
}
// FUNÇÃO PARA VERIFICAR A QUANTIDADE DE TENTATIVAS DE CONFIRMAÇÃO DA SENHA E CODIGO DE SEGURANÇA
INT VERIFICARTENTATIVAS(){
SETCONSOLETITLE("VERIFICACAO DE TENTATIVAS DE ACESSO");
INT ESCOLHA;
// ------------- VERIFICA A QUANTIDADE DE TENTATIVAS DE ACESSO A CONTA
IF(TENTATIVAS <3){
SWITCH (TENTATIVAS){
CASE 0:
VERIFICARAUTENTICACAO();
//====================================================================================================
BREAK;
CASE 1:
SYSTEM("CLS");
PRINTF("\N É PERMITIDA APENAS 3 TENTATIVAS, CASO CONTRÁRIO SUA CONTA SERÁ BLOQUEADA.\N ESSA É SUA
SEGUNDA TENTATIVA.\N");
VERIFICARAUTENTICACAO();
//====================================================================================================
BREAK;
CASE 2:
SYSTEM("CLS");
PRINTF("\N É PERMITIDA APENAS 3 TENTATIVAS, CASO CONTRÁRIO SUA CONTA SERÁ BLOQUEADA.\N ESSA É SUA
TERCEIRA TENTATIVA.\N");
VERIFICARAUTENTICACAO();
//====================================================================================================
GETCH();
BREAK;
}
}
ELSE{
PRINTF("\N\N VOCÊ EXCEDEU A QUANTIDADE DE TENTATIVAS");
CHAR CAMINHO[ 50] = "CLIENTES/";
STRCAT(CAMINHO, CPFCADASTRO);
STRCAT(CAMINHO, "/BLOQUEIO.TXT");
FILE *ARQBLOQUEIO;
ARQBLOQUEIO = FOPEN(CAMINHO, "W");
IF(ARQBLOQUEIO != NULL){
PRINTF(".\N\NSUA CONTA FOI BLOQUEADA.");
GETCH();
SYSTEM("CLS");
HOME();
}
ELSE{
43
PRINTF("\N FALHA NO ACESSO");
}
GETCH();
RETURN 0;
HOME();
}
}
// FUNÇÃO PARA CONSULTAR VALOR DO SALDO
INT VERIFICARSALDO(VOID) {
SETCONSOLETITLE("CONSULTA DE SALDO");
FILE *ARQSALDOC;
FILE *ARQSALDOD;
FILE *ARQSALDOT;
CHAR CAMINHO2[ 50] = "CLIENTES/";
CHAR CAMINHO3[ 50] = "CLIENTES/";
CHAR CAMINHO4[ 50] = "CLIENTES/";
STRCAT(CAMINHO2, CPFCADASTRO);
STRCAT(CAMINHO2, "/DEPOSITOS.TXT");
STRCAT(CAMINHO3, CPFCADASTRO);
STRCAT(CAMINHO3, "/SAQUES.TXT");
STRCAT(CAMINHO4, CPFCADASTRO);
STRCAT(CAMINHO4, "/TRANSFERENCIAS.TXT");
// ABRE O ARQUIVO HISTORICO PARA EXIBIR O EXTRATO
ARQSALDOC = FOPEN(CAMINHO2, "R");
ARQSALDOD = FOPEN(CAMINHO3, "R");
ARQSALDOT = FOPEN(CAMINHO4, "R");
CHAR CAMP1[ 80];
CHAR CAMP2[ 80];
CHAR CAMP3[ 80]; CHAR CAMP4[ 80]; CHAR CAMP5[ 80]; CHAR CAMP6[ 80];
FLOAT V, V1, SOMAC=0, SOMAD=0, SOMAT=0, SOMATOTAL=0;
// ABAIXO, FUNÇÃO PARA CALCULAR TOTAL DE VALORES DEPOSITADOS
IF (ARQSALDOC == NULL) { // SE HOUVE ERRO NA ABERTURA
PRINTF("\N FALHA NA CONEXÃO \N");
RETURN;
}
ELSE{
WHILE ( FSCANF(ARQSALDOC, "%S %S %F", CAMP1, CAMP2, &V )!= EOF){
SOMAC = SOMAC + V;
}
FCLOSE(ARQSALDOC);
}
// ABAIXO, FUNÇÃO PARA CALCULAR TOTAL DE VALORES SACADOS
IF (ARQSALDOD == NULL) { // SE HOUVE ERRO NA ABERTURA
PRINTF("\N FALHA NA CONEXÃO\N");
}
ELSE{
WHILE ( FSCANF(ARQSALDOD, "%S %S %F", CAMP1, CAMP2, &V) != EOF){
SOMAD = SOMAD + V;
}
FCLOSE(ARQSALDOD);
}
// ABAIXO, FUNÇÃO PARA CALCULAR TOTAL DE VALORES TRANSFERIDOS
IF (ARQSALDOT == NULL) { // SE HOUVE ERRO NA ABERTURA
PRINTF("\N FALHA NA CONEXÃO\N");
}
ELSE{
WHILE ( FSCANF(ARQSALDOT, "%S %S %F", CAMP1, CAMP2, &V) != EOF){
SOMAT = SOMAT + V;
}
FCLOSE(ARQSALDOT);
}
SOMATOTAL = SOMAC - SOMAD;
SALDOTRANSFERENCIA = SOMAT/2;
SALDOVALOR = SOMATOTAL; // NÃO CONTABILIZANDO O SALDO DE TRANSFERENCIA
}
INT CONSULTARSALDO(){
// AGUARDANDO_RAPIDO(); //FUNÇÃO PARA DAR TEMPO DE PROCESSAMENTO
VERIFICARSALDO();
IF(SALDOVALOR >0){
PRINTF("\N\N SALDO REAL DISPONÍVEL: R$%.2F", SALDOVALOR);
PRINTF("\N\N SALDO FUTURO TRANSFERENCIA: R$%.2F", SALDOTRANSFERENCIA);
FIMOPERACAO();
}
ELSE{
44
PRINTF("\N\N SALDO INDISPONÍVEL PARA SAQUE. \N SALDO TOTAL: R$%.2F", SALDOVALOR);
FIMOPERACAO();
}
}
// FUNÇÃO PARA GERAR O EXTRATO - IRÁ EXIBIR O ARQUIVO HISTÓRICO
INT GERAREXTRATO(VOID) {
SETCONSOLETITLE("CONSULTAR EXTRATO");
// AGUARDANDO_RAPIDO(); // TEMPO DE PROCESSAMENTO PARA APRESENTAR A INFORMAÇÃO
SYSTEM("CLS");
FILE *ARQHIST;
CHAR LINHA[ 100];
CHAR *RESULT;
INT I;
CHAR CAMINHO2[ 50] = "CLIENTES/";
STRCAT(CAMINHO2, CPFCADASTRO);
STRCAT(CAMINHO2, "/HISTORICO.TXT");
// ABRE O ARQUIVO HISTORICO PARA EXIBIR O EXTRATO
ARQHIST = FOPEN(CAMINHO2, "RT");
IF (ARQHIST == NULL) { // SE HOUVE ERRO NA ABERTURA
PRINTF("\N FALHA NA CONEXÃO \N");
RETURN;
}
PRINTF("\N [DATA] [HORA] [VALOR] [ORIGEM] \N\N");
I = 1;
WHILE (! FEOF(ARQHIST)){
// LÊ UMA LINHA (INCLUSIVE COM O '\N')
RESULT = FGETS(LINHA, 200, ARQHIST);
IF (RESULT) // SE FOI POSSÍVEL LER
PRINTF("%D - %S", I, LINHA);
I++;
}
CONSULTARSALDO();
FCLOSE(ARQHIST);
FIMOPERACAO();
}
// FUNÇÃO PARA DEPOSITAR VALOR
INT DEPOSITARVALOR(){
SETCONSOLETITLE("DEPÓSITOS");
//VERIFICARTENTATIVAS();
FLOAT VALORDEPOSITO;
// ---- FUNÇÕES DE DATA E HORA
TIME(&TEMPO);
INFOTEMPO = LOCALTIME(&TEMPO);
STRFTIME (TEXTOHORA, 80, "%X", INFOTEMPO);
STRFTIME (TEXTODATA, 80, "%D", INFOTEMPO);
STRFTIME (TEXTODATAM, 80, "%M", INFOTEMPO);
STRFTIME (TEXTODATAA, 80, "%Y", INFOTEMPO);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAM);
STRCAT(TEXTODATA, "/");
SISTEMA CAIXA.HTML FILE:///C:/USERS/REX/DESKTOP/SISTEMA CAIXA.HTML
4 DE 7 09/12/2014 15:58
STRCAT(TEXTODATA, TEXTODATAA);
// ----FIM FUNÇÕES DE DATA E HORA
CHAR CAMINHO2[ 50] = "CLIENTES/";
CHAR CAMINHO3[ 50] = "CLIENTES/";
STRCAT(CAMINHO2, CPFCADASTRO);
STRCAT(CAMINHO2, "/DEPOSITOS.TXT");
STRCAT(CAMINHO3, CPFCADASTRO);
STRCAT(CAMINHO3, "/HISTORICO.TXT");
PRINTF("\N DIGITE O VALOR A SER DEPOSITADO: ");
SCANF("%F", &VALORDEPOSITO);
AGUARDANDO_RAPIDO(); // TEMPO DE PROCESSAMENTO PARA APRESENTAR A INFORMAÇÃO
FILE *ARQDEPOSITOS;
ARQDEPOSITOS = FOPEN(CAMINHO2, "A");
IF(ARQDEPOSITOS != NULL) {
FPRINTF(ARQDEPOSITOS, "%S %S %.2F \N", TEXTODATA, TEXTOHORA, VALORDEPOSITO);
}
FCLOSE(ARQDEPOSITOS);
FILE *ARQHIST2;
ARQHIST2 = FOPEN(CAMINHO3, "A");
IF(ARQHIST2 != NULL) {
FPRINTF(ARQHIST2, "%S %S %.2F D \N", TEXTODATA, TEXTOHORA, VALORDEPOSITO);
45
}
FCLOSE(ARQHIST2);
PRINTF("\N OPERAÇÃO CONCLUIDA COM SUCESSO");
PRINTF("\N VALOR DEPOSITADO: R$%.2F", VALORDEPOSITO);
FIMOPERACAO();
}
// FUNÇÃO PARA SACAR VALOR
INT SACARVALOR(){
SETCONSOLETITLE("SAQUES");
FLOAT VALORDEPOSITO;
// ---- FUNÇÕES DE DATA E HORA
TIME(&TEMPO);
INFOTEMPO = LOCALTIME(&TEMPO);
STRFTIME (TEXTOHORA, 80, "%X", INFOTEMPO);
STRFTIME (TEXTODATA, 80, "%D", INFOTEMPO);
STRFTIME (TEXTODATAM, 80, "%M", INFOTEMPO);
STRFTIME (TEXTODATAA, 80, "%Y", INFOTEMPO);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAM);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAA);
// ----FIM FUNÇÕES DE DATA E HORA
CHAR CAMINHO2[ 50] = "CLIENTES/";
CHAR CAMINHO3[ 50] = "CLIENTES/";
STRCAT(CAMINHO2, CPFCADASTRO);
STRCAT(CAMINHO2, "/SAQUES.TXT");
STRCAT(CAMINHO3, CPFCADASTRO);
STRCAT(CAMINHO3, "/HISTORICO.TXT");
PRINTF("\N DIGITE O VALOR A SER SACADO: ");
SCANF("%F", &VALORDEPOSITO);
AGUARDANDO_RAPIDO(); // TEMPO DE PROCESSAMENTO PARA APRESENTAR A INFORMAÇÃO
SYSTEM("CLS");
VERIFICARSALDO();
IF(SALDOVALOR <=0 ){
PRINTF("\N\N SALDO INSUFICIENTE PARA SAQUE.");
FIMOPERACAO();
}
ELSE IF(VALORDEPOSITO > SALDOVALOR){
PRINTF("\N");
PRINTF(" _________________________________________________________\N");
PRINTF(" \N");
PRINTF(" VALOR DIGITADO MAIOR QUE VALOR DISPONÍVEL PARA SAQUE. \N\N");
PRINTF(" SALDO DISPONÍVEL: %.2F VALOR DIGITADO: R$%.2F \N", SALDOVALOR, VALORDEPOSITO);
PRINTF(" _________________________________________________________ \N");
FIMOPERACAO();
}
ELSE{
FILE *ARQSAQUES;
ARQSAQUES = FOPEN(CAMINHO2, "A");
IF(ARQSAQUES != NULL) {
FPRINTF(ARQSAQUES, "%S %S %.2F \N", TEXTODATA, TEXTOHORA, VALORDEPOSITO);
}
FCLOSE(ARQSAQUES);
FILE *ARQHIST2;
ARQHIST2 = FOPEN(CAMINHO3, "A");
IF(ARQHIST2 != NULL) {
FPRINTF(ARQHIST2, "%S %S %.2F C \N", TEXTODATA, TEXTOHORA, VALORDEPOSITO);
}
FCLOSE(ARQHIST2);
PRINTF("\N OPERAÇÃO CONCLUIDA COM SUCESSO");
FIMOPERACAO();
SISTEMA CAIXA.HTML FILE:///C:/USERS/REX/DESKTOP/SISTEMA CAIXA.HTML
5 DE 7 09/12/2014 15:58
}
FIMOPERACAO();
}
AGUARDANDO_RAPIDO(){
PRINTF("\N\N\N\NPROCESSANDO .."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF("..");
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF("\N\N");
SYSTEM("CLS");
}
AGUARDANDO_LENTO(){
46
PRINTF("\N\N\N\NPROCESSANDO .."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF("..");
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50);
PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF(".."); SLEEP(50); PRINTF("\N\N");
SYSTEM("CLS");
}
// FUNÇÃO PARA SACAR VALOR
INT TRANSFERIRVALOR(){
SETCONSOLETITLE("TRANSFERÊNCIAS");
FLOAT VALORDEPOSITOT;
INT CONTA, AGENCIA, BANCO;
// ---- FUNÇÕES DE DATA E HORA
TIME(&TEMPO);
INFOTEMPO = LOCALTIME(&TEMPO);
STRFTIME (TEXTOHORA, 80, "%X", INFOTEMPO);
STRFTIME (TEXTODATA, 80, "%D", INFOTEMPO);
STRFTIME (TEXTODATAM, 80, "%M", INFOTEMPO);
STRFTIME (TEXTODATAA, 80, "%Y", INFOTEMPO);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAM);
STRCAT(TEXTODATA, "/");
STRCAT(TEXTODATA, TEXTODATAA);
// ----FIM FUNÇÕES DE DATA E HORA
CHAR CAMINHO2[ 50] = "CLIENTES/";
CHAR CAMINHO3[ 50] = "CLIENTES/";
STRCAT(CAMINHO2, CPFCADASTRO);
STRCAT(CAMINHO2, "/TRANSFERENCIAS.TXT");
STRCAT(CAMINHO3, CPFCADASTRO);
STRCAT(CAMINHO3, "/HISTORICO.TXT");
PRINTF("\NDIGITE O VALOR PARA TRANSFERIDO: ");
SCANF("%F", &VALORDEPOSITOT);
IF(SALDOVALOR <=0 ){
PRINTF("\N\N SALDO INSUFICIENTE PARA TRANSFERÊNCIA.");
FIMOPERACAO();
}
ELSE IF(VALORDEPOSITOT > SALDOVALOR){
PRINTF("\N");
PRINTF(" ____________________________________________________________________\N");
PRINTF(" \N");
PRINTF(" VALOR DIGITADO MAIOR QUE VALOR DISPONÍVEL PARA TRANSFERÊNCIA. \N\N");
PRINTF(" SALDO DISPONÍVEL: %.2F VALOR DIGITADO: R$%.2F \N", SALDOVALOR, VALORDEPOSITOT);
PRINTF(" _________________________________________________________________ \N");
FIMOPERACAO();
}
ELSE{
PRINTF("\NDIGITE O NUMERO DA CONTA: ");
SCANF("%D", &CONTA);
PRINTF("\NDIGITE O NUMERO DA AGÊNCIA: ");
SCANF("%D", &AGENCIA);
PRINTF("\N\N INSIRA O ENVELOPE COM O VALOR CORRETO E APERTE ALGUMA TECLA");
GETCH();
AGUARDANDO_LENTO();
FILE *ARQTRANSF;
ARQTRANSF = FOPEN(CAMINHO2, "A");
IF(ARQTRANSF != NULL) {
FPRINTF(ARQTRANSF, "%S %S %.2F %D %D T \N", TEXTODATA, TEXTOHORA, VALORDEPOSITOT, CONTA, AGENCIA);
}
FCLOSE(ARQTRANSF);
FILE *ARQHIST2;
ARQHIST2 = FOPEN(CAMINHO3, "A");
IF(ARQHIST2 != NULL) {
FPRINTF(ARQHIST2, "%S %S %.2F T \N", TEXTODATA, TEXTOHORA, VALORDEPOSITOT);
}
FCLOSE(ARQHIST2);
PRINTF("\N OPERAÇÃO CONCLUIDA COM SUCESSO");
FIMOPERACAO();
}
}
SISTEMA CAIXA.HTML FILE:///C:/USERS/REX/DESKTOP/SISTEMA CAIXA.HTML
47
6 DE 7 09/12/2014 15:58
INT FIMOPERACAO(){
CHAR ESC;
PRINTF("\N\N\N ____________________________________________ \N\N ");
PRINTF(" DESEJA REALIZAR OUTRA OPERAÇÃO ? \N\N");
PRINTF(" [1] SIM [2] NÃO \N");
ESC =GETCH();
IF(ESC == 49){
EXIBIRMENU();
}
ELSE IF(ESC == 50){
SYSTEM("CLS");
HOME();
}
ELSE{
FIMOPERACAO();
}
}
Download