47
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

1 UNIVERSIDADE PAULISTA DIOGO MUNIZ SANTOS …willianmarques.net/a/wp-content/uploads/2017/01/PIM-teorico-2... · 1 universidade paulista diogo muniz santos barreto fernando rocha

  • Upload
    votuyen

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

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): Nº de folhas:

Tipo de ilustrações: ( ) figuras ( ) gráficos ( ) formulários ( ) transparências ( ) tabelas ( ) fotografias ( ) mapas ( ) plantas ( ) quadros ( ) 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 ( ) FOLDER ( ) FOTO ( ) DVD ( ) OUTROS:

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:

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 1 - Sistema Operacional.......................................................................23 TABELA 2 - Especificações do Monitor.............................................................23 TABELA 3 - Especificações da Placa Mãe..........................................................25 TABELA 4 - Especificações do HD....................................................................26 TABELA 5 - 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 inserindo-

o 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 home-

banking(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, T-

transferê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-seagate-st1000dm003)

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-pc10600-

frete-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-to-

peer), 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 sub-

redes, 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)

Sistema operacional Ubuntu

Versão 14.04 "Trusty Tahr "

Versão do Kernel Linu 3.13

Lançamento: 17 de Abril de 2014

Requisitos Mínimos

Memória RAM 64 Mb

Disco rígido: 5 Gb 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 1 W TABELA 3 - ESPECIFICAÇÕE DA PLACA MÃE

Especificações

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

38

Tabela 4 - Especificações do HD

Especificações Técnicas

Modelo: Kingston SSDNow

Formato: 2.6"

Interface: SATA Rev. 3.0 (6Gb/s)

Capacidades: 60GB

Consumo de Energia: 0,640W Inativo / 1,423 W Leitura / 2,052 W Gravação

Temperatura de Armazenamento: -40 a 85°C

Temperatura de operação: 0 a 70°C

Dimensões: 69,8 x 100,1 x 7 mm

Peso: 86 g

Vibração quando em operação: 2,17 G Pico (7 – 800 Hz) Vibração quando não está em operação: 20 G Pico (10 – 2000 Hz)

Expectativa de vida útil: 1 milhão de horas MTBF

Todas as capacidades: 450MB/s para Leitura e 450MB/s para Gravação Tabela 5 -Especificações da Memória RAM

Especificações da memória RAM

Modelo Kingston DDR3 4GB

Nome padrão DDR3-1600

Clock de memória 200 MHz

Tempo de ciclo: 5 ms

Velocidade de clock 800 MHz

Taxa de dados 1600 MT/s

Nome do módulo PC3-12800

Pico de taxa de transferência 12800 MB/s

Tempos 8-8-8 / 9-9-9 / 10-10-10 / 11-11-11

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 – Capitulo 1 – pag. 6 - Módulo informática. RODRIGO AMORIM FERREIRA

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-gps-livro-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(); } }