Você está na página 1de 54

Universidade Paulista de São Paulo

Trabalho de Projeto Integrado Multidisciplinar (PIM) - Caixa eletrônico

1
Universidade Paulista de São Paulo

TRABALHO DE PROJETO INTEGRADO MULTIDISCIPLINAR (PIM) - CAIXA


ELETRÔNICO

2
Universidade Paulista de São Paulo

Trabalho de Projeto Integrado Multidisciplinar (PIM) - Caixa eletrônico

3
Universidade Paulista de São Paulo

Integrantes do PIM:

Nome :Daniel Marreiro RA:B28GCB-9

Nome: Diego Baptista RA:B53949-6

Nome :Marcio Ferreira de Moura RA:B53869-4

Nome: Napoleão Kazu Onaya RA:B54387-6

Nome: Thaís Cipriano Provazi RA:B504HG-6

4
Universidade Paulista de São Paulo

Trabalho de Projeto Integrado Multidisciplinar (PIM) - Caixa eletrônico

Aprovado em: ____/____/____.

Professor Orientador: Erivaldo Melo

5
Universidade Paulista de São Paulo

Sumário

1. Introdução 8

2. Engenharia de software 10

3. Matemática 12

4. Rede 13

5. Algoritmo do software bancário do Banco TMN 16

5.1. Cadastro: 16

5.1.1. [Inserindo o nome do correntista, RG e CPF]. 16

5.1.2. [Informe sua data de nascimento e idade]. 16

5.1.3. [Diga endereço e telefone para contato]. 16

5.1.4. [Definindo tipo de conta]17

5.1.5. [Digite sua senha e chave de acesso]17

5.1.6. [Informações deposito inicial caso queira e envio de cartão] 17

5.1.7. Saída do sistema de cadastro. 18

5.2. Acesso: 18

5.2.1. [Insira cartão de credito] 18

5.2.2. [Digite seu dados de acesso] 18

5.2.3. [Saída do menu de validação de acesso] 18

5.3. Serviços: 19

5.3.1. [Opção A = saque] 19

5.3.2. [Opção B = deposito] 20

5.3.3. [Opção C = pagamento] 20

5.3.4. [Opção D = extrato] 20

5.3.5. [Opção E = outros serviços] 21

5.3.6. [Sistema ocioso] 21

5.3.7. Saindo do sistema. 21


6
Universidade Paulista de São Paulo

6. Fluxograma do caixa eletrônico 22

6.1. Cadastro do cliente: 22

6.2. Acesso do cliente com cartão 23

6.3. Acesso do cliente com senha 25

6.4. Acesso do cliente com chave 26

6.5. Acessando menu de serviços 27

7. Código fonte do software de caixa eletrônico 29

8. Telas de funcionamento do software 42

9. Bibliografia utilizada 48

10. Agradecimentos 49

11. Errata51

12. Índice de figuras: 52

7
Universidade Paulista de São Paulo

1. Introdução
O Projeto Integrado Multidisciplinar (PIM) - Caixa eletrônico foi criado adotando-se
fundamentos de matemática, redes, engenharia de software, lógica, fluxograma e
linguagem de programação em C.

Lembrando que como trabalho foi feito sem o uso de banco de dados (por exemplo,
MYSQL, Oracle, SQL Server) para cadastro de clientes e não foi utilizado a
biblioteca gráfica (“ windows.h”) em C para cria o layout do programa, devido a esta
limitação foi cadastrado somente um cliente no software pois a linguagem C não
consegue gerenciar dados alocados na memória facilmente como linguagens mais
atuais por exemplo Java, foi adotado tal procedimento por que o aplicativo poderia
dar erro de memória conhecido na área de TI como falha de Overflow quando
executarmos instruções de repetição em C e incluirmos interface gráfica.

Algumas figuras foram feitas usando softwares da Microsoft com o Visio Premium,
Dev. - C++ , a bibliografia disponibilizada é muito escassa pois procedimentos de
criação de aplicativos bancários são sigilosos, e na internet e em livros é quase
remota. Porém para evitarmos quaisquer sanções foi criado um software de um
banco fictício visando o processo de desenvolvimento nas opções de serviços e
acesso (saque, deposito, pagamento, extrato, validação de senha e chave).

O desenvolvimento do software focou muito na estruturas de repetição em C (“ for, if,


else, switch).A idealização da rede seguiu o padrão adotado por muitas empresas de
TI para acesso com uso de certificados vpn acesso, banco de dados para cadastro
de clientes alocados dentro do servidor, que possui uma conexão dedicada por um
link local de IP fixo e conexão por(a cabo, fibra optica ou telefonia)..

O processo de engenharia de software faz uso da metodologia clássica Waterfall


cascata onde todo ciclo é documentado, porém o software final fica disponível
somente ao cliente numa fase avançada, e todo e quaisquer processos são
analisados constantemente pelo setor jurídico do banco.

8
Universidade Paulista de São Paulo

2. Engenharia de software
Todo software bancário segue a padronização EDI (Eletronic Data Interchange) de
transferência eletrônica de dados entre computadores e empresas diferentes para
auxilio de software de ERP,WMS e TMS,os dados trafegados são representações
digitais e impressas de serviços compra,pagamentos,faturas.

O EDI por empresas de todo mundo são padrões adotados pelo UN/EDIFACT e na
Europa e Ásia o padrão adotado é o ASCII X12.

No Brasil o sistema adotado EDI ocorreu em 1964 ,sendo que em 1979 foi adotado
pela FEBRABAN(Federação Brasileira das Associações de Bancos) através de
acessória do CNAB(Centro Nacional de Automação Bancaria),ainda hoje o mesmo é
adotado pelos bancos brasileiros. Em 1987,a ABAC (Associação brasileira de
automação comercial) adotou o padrão UN/EDIFACT.

Já em 2001 o BACEN (Banco Central do Brasil) instituiu o sistema SPB (Sistema de


Pagamentos Brasileiros) onde o sistema financeiro nacional passou a atualizar em
tempo real todos os lançamentos de liquidação na conta, fora isso fora adotado
como padrão para envio e recebimento de mensagens o XML como linguagem
básica.

De acordo como o EAN Brasil o sistema EDI é composto por três itens básicos:
mensagens padronizadas, software EDI e meios de comunicação.

Além das regras padronizadas pela FEBRABAN e o BACEN, o software do caixa


eletrônico do banco TMN foi o modelo Waterfall-Cascata, pois cada etapa do
desenvolvimento do software resulta em uma documentação e a fase posterior não
pode começar se a anterior não for finalizada, isso garante maior confiabilidade do
software e reduz falhas de procedimentos pois o software é para um banco e o
mesmo tem que ser produzido minuciosamente e documentado cada modulo para
evitar sanções jurídicas.

A saber, este ciclo de desenvolvimento possui cinco camadas:

9
Universidade Paulista de São Paulo

Figura 1 - Modelo de ciclo de software Waterfall.

Definição de requisitos: aqui temos a analise das necessidades com o banco para
implantação do software de caixa eletrônico.

Projeto de sistema de software: nesta etapa é definido o projeto, software, hardware


e arquitetura a ser utilizada lembrando que esse processo tem que ser homologado
pela FEBRABAN e o BACEN.

Implementação e testes de unidade: a inicialização de testes de software ocorre por


unidade.

Integração e teste do sistema: aqui temos a união dos módulos de softwares e um


teste geral parta garantir que os requisitos do banco foram atendidos em todas as
etapas.

Operação e manutenção: o software é implantado porem esta fase é a mais


demorada ,pois são efetuados vários testes para redução de erros.

10
Universidade Paulista de São Paulo

3. Matemática
A matemática utilizada na produção do software utiliza as operações básicas (soma
e subtração), função e noção de lógica matemática. Acrescentamos nesta parte a
tabela verdade da "conjunção" para validar o acesso do usuário na sua conta.

Figura 2 - Tabela verdade da conjunção.

Esta lógica foi empregada no processo de validação de senha e chave de acesso se


um dos requisitos de confirmação for falso o sistema encerra-se, e finaliza o
processo bloqueando o cartão e posteriormente notificando o correntista. Utilizamos
a função para manter os esclarecimentos dos serviços que foram executados:

Figura 3 - Função extrato em relação aos serviços.

11
Universidade Paulista de São Paulo

1. Rede
O caixa eletrônico é um terminal remoto da estrutura do banco, portanto sua
comunicação é feita toda através da internet através de redes ATM.

Para que o usuário consiga efetuar uma operação a partir de um terminal, é


necessário que existam diversos fatores de autenticação e validação de chaves e
certificados. Foi contemplada para o processo de validação a utilização de cartão
magnético com micro chip e chave de segurança. Em outros modelos de terminais
também é possível encontrar outros fatores de autenticação no caso “biometria”
(confirmação por digitais do usuário).

Abaixo segue a composição física e logica do terminal de caixa eletrônico descrito


neste projeto;

 Micro computador com sistema operacional Windows XP;


o Placa de rede
o Monitor Touch Screen (Elimina a necessidade de teclado)
o Leitor de cartão magnético

 Link de dados – Frame Relay conectado a rede ATM do banco;

 Roteador de comunicação;

 Dispositivo de leitura de cartão magnético;

Existem diversas tipos meios de comunicação hoje disponível no mercado sendo


elas:

 Fibra Ótica

 Cabo UTP (Par trançado)

 Satélite

 Telefonia

 Cabo coaxial (Quase não mais utilizado nos dias de hoje)

12
Universidade Paulista de São Paulo

Toda comunicação feita entre o terminal e os servidores (mainframes) do datacenter


do banco ocorrem quando se é estabelecido um canal de comunicação seguro
(VPN) permitindo que o tráfego de rede seja encriptado para garantir a confiabilidade
das informações do cliente.

Na validação do usuário quando se utiliza o terminal do caixa eletrônico temos


inserido no micro chip do cartão magnético um certificado privado, o qual foi gerado
por uma Autoridade Certificadora própria do banco, este certificado possui
informações confidencias do cliente, estrutura de rede e segurança do banco
impedindo que esta comunicação possa ser interceptada durante o processo de
validação do usuário.

A validação consiste em 6 fatores, sendo eles;

 Senha

 Chave de segurança

 Conta corrente (Incluso dentro do micro chip)

 Agencia (Incluso dentro do micro chip)

 Número de cartão (Incluso dentro do micro chip)

 Validade do cartão (Incluso dentro do micro chip)

Toda validação ocorre em tempo real utilizando os recursos acima e feita


diretamente com o servidor de grande porte (mainframe), o qual está instalado no
data center do banco em localização sigilosa.

13
Universidade Paulista de São Paulo

Segue logo abaixo um exemplo de servidor mainframe da IBM e um data center :

Figura 4 – Servidores Mainframe IBM.

14
Universidade Paulista de São Paulo

Figura 5 -Um exemplo de datacenter.

Figura 6 - Infraestrutura de acesso ao caixa eletrônico.

15
Universidade Paulista de São Paulo

2. Algoritmo do software bancário do Banco TMN

Todo algoritmo foi desenvolvido para um banco fictício chamado TMN.O Algoritmo do
software bancário foi inscrito em varias etapas a saber temos: o cadastro de
usuários , acesso e validação de senha e cartão, e menu de serviços.

Lembrando que o padrão adotado para o cadastro do correntista obedece a padrões


adotados por muitos bancos brasileiros e do mundo a fora. O cadastro do correntista
segue a lógica de nome, RG, CPF, idade, data de nascimento, endereço, telefone
para contato, profissão, empresa, tipo de conta adotada corrente, poupança, mista
ou salário, cadastro de senha e chave de segurança. Esses são os passos iniciais
para a abertura de conta em qualquer instituição financeira.

2.1. Cadastro:
2.1.1. [Inserindo o nome do correntista, RG e CPF].
Nome caractere.
RG inteiro [com nove dígitos e um verificador].
CPF inteiro [com nove dígitos e dois verificadores].
Escreva nome, RG, CPF.
Leia nome, RG, CPF.
Se nome, RG, CPF estiverem corretos armazene no banco de dados.
Senão informe novamente os dados solicitados.

2.1.2. [Informe sua data de nascimento e idade].


Idade inteiro [com até três dígitos para idade acima de noventa e nove anos].
Nascimento inteiro [DD/MM/AAAA].
Escreva idade, data de nascimento.
Leia idade, data de nascimento.
Se idade, data de nascimento corretos armazene no banco de dados.
Senão informe novamente os dados solicitados.

2.1.3. [Diga endereço e telefone para contato].


Endereço caractere.
Telefone inteiro (0XX) (NNNN-NNNN).
Celular inteiro, em São Paulo somente celular (0XX) (9NNNN-NNNN).
Leia endereço, telefone ou celular.
Se endereço, celular, telefone, corretos armazene no banco de dados.
Senão informe novamente os dados solicitados.

2.1.4. [Definindo tipo de conta]


Conta corrente inteiro [cinco dígitos sendo um digito verificador].

16
Universidade Paulista de São Paulo

Conta poupança inteiro [cinco dígitos sendo um digito verificador].


Conta mista inteiro [cinco dígitos sendo um digito verificador].
Conta salário inteiro [cinco dígitos sendo um digito verificador].
Escreva conta escolhida.
Leia conta escolhida.
Se conta estiver correta armazene no banco de dados.
Senão selecione outra conta.

2.1.5. [Digite sua senha e chave de acesso]


Senha caractere [com seis dígitos]
Chave caractere [com três letras selecionadas num grupo de 26]
Escreva senha e chave.
Leia (*) asteriscos no lugar da senha e chave.
Se senha e chave estiverem corretas armazene no banco de dados.
Senão selecione exibe senha digitada errada tente novamente.

2.1.6. [Informações deposito inicial caso queira e envio de cartão]


Deposito real
Leia deposito inicial.
Escreva deposito inicial quase cliente efetue o mesmo.
Se deposito esta correto envia valor ao banco de dados correlacionando-se
com seu cadastro.
Escreva tempo de envio de cartão
Leia ao cliente prazo de cinco dias uteis por carta registrada.
2.1.7. Saída do sistema de cadastro.

Nota o correntista só terá acesso ao terminal eletrônico do banco de pronto


atendimento para saque, deposito, pagamento, e outros serviços depois do
recebimento de seu cartão de credito, débito ou múltiplo. Lembrando que na posse
do cartão o mesmo deve cadastra por medida de segurança na senha e chave de
segurança. Caso o mesmo queira acessar a sua conta sem o cartão sua transação
só será possível no caixa mediante apresentação de cédula de identidade.

17
Universidade Paulista de São Paulo

2.2. Acesso:

2.2.1. [Insira cartão de credito]


Leia aguardando validação do cartão não remova o mesmo do leitor.
Se cartão validou acesso siga ao menu de serviços.
Senão insira novamente seu cartão e aguarde validação [feita pelo
servidor ao acesso do cadastro do cliente no banco de dados]
Então se o mesmo não validar entre em contato com sua agencia.

2.2.2. [Digite seu dados de acesso]


Digite sua senha de acesso e chave de segurança.
Se for o primeiro acesso cadastre outra senha de seis dígitos e chave de
três letras.
Senão prossiga nas opções digitando senha e chave para menu de
serviços.
Caso senha, chave ou ambos estejam erradas escreva atenção você tem
mais três tentativas.
Escreva primeira tentativa falhou tente novamente.
Escreva segunda tentativa falhou tente novamente.
Escreva terceira tentativa falhou seu acesso ser bloqueado.
Escreva entre em contato com o Banco TMN ou vá ate a agencia mais
próxima para desbloqueio e cadastro de nova senha e chave de
segurança.

2.2.3. [Saída do menu de validação de acesso]

18
Universidade Paulista de São Paulo

Lembre-se que a validação de acesso tanto com a senha ou chave de segurança é


sequencial e obedece a lógica do (OU) ou (OR) da tabela verdade:

1° Condição 2° Condição Proposição


V F F
F V F
V V V
F F F

Sendo assim uma das proposições falsas não dará acesso ao sistema, garantindo a
segurança do correntista e bloqueio de cartão.

2.3. Serviços:
[Selecione um serviço disponível]
Leia serviços disponíveis:
A – Saque.
B – Deposito.
C – Pagamento.
D – Extratos.
E – Outros serviços.
Escreva opção.

2.3.1. [Opção A = saque]


Selecione saque conta corrente, poupança ou salário.
Escreva saque.
Leia valor de saque.
Escreva senha e chave aguarde validação.
Então senha e chave corretas procede na opção.
Caso contrário você tem mais três tentativas.
Terceira tentativa de acesso seu cartão foi bloqueado entre em contato com o
banco ou sua agencia.
Se valor de saque estiver correto escreva contagem de cédulas.
Senão informe outro valor caso esteja errado.
Mais algum serviço se sim digite outra opção
Senão sai do sistema.

2.3.2. [Opção B = deposito]


Selecione deposito para conta corrente, poupança ou doc.
Escreva deposito.
Leia valor deposito.
Escreva deposito aguarde validação.
Então senha correta procede na opção.

19
Universidade Paulista de São Paulo

Caso contrário você tem mais três tentativas.


Terceira tentativa de acesso seu cartão foi bloqueado entre em contato com o
banco ou sua agencia.
Se valor de deposito estiver correto escreva insira as cédulas.
Senão informe outro valor caso esteja errado.
Mais algum serviço se sim digite outra opção
Senão sai do sistema.

2.3.3. [Opção C = pagamento]


Escreva pagamento.
Leia valor pagamento.
Escreva pagamento aguarde validação.
Então senha correta procede na opção.
Caso contrário você tem mais três tentativas.
Terceira tentativa de acesso seu cartão foi bloqueado entre em contato com o
banco ou sua agencia.
Se valor de pagamento estiver correto digite código de barras, ou debite em
conta.
Senão informe outro valor caso esteja errado.
Mais algum serviço se sim digite outra opção
Senão sai do sistema.

2.3.4. [Opção D = extrato]


Selecione tipo de extrato de 30 dias ou dos últimos 6 meses impresso ou em
tela.
Escreva extrato.
Imprima valor de extrato.
Escreva senha aguarde validação.
Então senha correta procede na opção.
Caso contrário você tem mais três tentativas.
Terceira tentativa de acesso seu cartão foi bloqueado entre em contato com o
banco ou sua agencia.
Mais algum serviço se sim digite outra opção
Senão sai do sistema.

2.3.5. [Opção E = outros serviços]


Exiba outros serviços:
Bloqueio de cartão, solicitação de cartão, alteração de senha e chave.
Escreva opção.
Leia opção.
Escreva senha aguarde validação.
Então senha correta procede na opção.
Caso contrário você tem mais três tentativas.

20
Universidade Paulista de São Paulo

Terceira tentativa de acesso seu cartão foi bloqueado entre em contato com o
banco ou sua agencia.
Mais algum serviço se sim digite outra opção
Senão sai do sistema.

2.3.6. [Sistema ocioso]


Se sistema ficar parado por mais de dois minutos encerra-se o acesso.

2.3.7. Saindo do sistema.

21
Universidade Paulista de São Paulo

3. Fluxograma do caixa eletrônico

Abaixo ilustramos o fluxo do sistema de caixa eletrônico, para cada fase existe um
fluxograma descrevendo a suas funções ( cadastro do cliente, acesso com cartão,
senha, chave e menu de serviços).

Lembrando que todo o fluxograma foi desenvolvido em conjunto com o algoritmo


para uma visão geral do software.

22
Universidade Paulista de São Paulo

3.1. Cadastro do cliente:


Fluxograma para o cadastro de um usuário.

23
Universidade Paulista de São Paulo

3.2. Acesso do cliente com cartão


Fluxograma para acesso do cliente utilizando o seu cartão de correntista.

24
Universidade Paulista de São Paulo

3.3. Acesso do cliente com senha


Fluxograma de validação de senha.

25
Universidade Paulista de São Paulo

3.4. Acesso do cliente com chave


Fluxograma de validação de chave de acesso.

26
Universidade Paulista de São Paulo

3.5. Acessando menu de serviços


Fluxograma de acesso ao menu de serviços.

27
Universidade Paulista de São Paulo

28
Universidade Paulista de São Paulo

4. Código fonte do software de caixa eletrônico


Abaixo segue o todo o código do sistema de caixa eletrônico:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

main() {

acesso();

inicial();

menu();

int senha1=121212;

int senha2;

int chave1=123;

int chave2;

int acesso()

system("color F0");

29
Universidade Paulista de São Paulo

system("mode con cols=70 lines=20");

printf("\t\t\tBem vindo ao banco TMN\n\n");

printf("---------------------------------------------------------------------\n");

printf("\nDigite sua senha:");

scanf("%d",&senha2);

printf("------------------------------------------\n");

printf("%d == %d \n",senha2,senha1==senha2);

printf("\n------------------------------------------\n");

system("cls");

if(senha2==121212)

system("color 2A");

system("mode con cols=41 lines=14");

printf("-----------------------------------------\n\n");

printf("\n\n\tSenha validada\n");

printf("\n\n\n\n-----------------------------------------");

system("pause");

else

system("color 4A");

system("mode con cols=70 lines=10");

printf("---------------------------------------------------------------------\n");
30
Universidade Paulista de São Paulo

printf("\n\n\tSenha nao confere\n\n");

printf("\n\n\tTente novamente mais atencao voce tente 3 tentativas\n\n\n");

printf("---------------------------------------------------------------------\n");

system("pause");

return main();

system("color F0");

system("mode con cols=70 lines=20");

printf("\t\t\tBem vindo ao banco TMN\n\n");

printf("---------------------------------------------------------------------\n");

printf("\nDigite sua chave:");

scanf("%d",&chave2);

printf("------------------------------------------\n");

printf("%d == %d \n",chave2,chave1==chave2);

printf("\n------------------------------------------\n");

system("cls");

if(chave2==123)

system("color 2A");

system("mode con cols=41 lines=14");

printf("-----------------------------------------\n\n");

printf("\n\n\t Chave validada\n");

printf("\n\n\n\n-----------------------------------------");
31
Universidade Paulista de São Paulo

system("pause");

else

system("color 4A");

system("mode con cols=70 lines=10");

printf("---------------------------------------------------------------------\n");

printf("\n\n\tChave nao confere\n\n");

printf("\n\n\tTente novamente mais atencao voce tente 3 tentativas\n\n\n");

printf("---------------------------------------------------------------------\n");

system("pause");

return main();

float saldo, saldo1;

float deposito;

float saque;

float pagamento;

float extrato;

int opcao;

32
Universidade Paulista de São Paulo

int inicial()

system("color F0");

system("mode con cols=70 lines=20");

printf("\n**********************Bem vindo ao Banco TMN**************************\n");

printf("\nDigite o valor para abertura de conta minimo R$ 100,00: " );

scanf("%f",&saldo);

int i;

for (i =0; i <=0; i ++) {

if (saldo < 100)

system("color 2F");

system("mode con cols=70 lines=20");

printf ("\n\n\t--------------------Valor Invalido!------------------\n\n");

printf ("\n\tDigite novamente o valor do saldo (minimo de R$ 100,00): ");

scanf("%f",&saldo);

i = i - 1;

else i = 1;
33
Universidade Paulista de São Paulo

/*----------------------------------------------------------------------------------------------*/

int menu()

int confirma , confirma1;

for (confirma =1; confirma >0; confirma ++) {

printf("\n**********************Menu Inicial Banco TMN**************************\n\n\n");

printf("Selecione um servico disponivel\n\n");

printf("1. deposito\n");

printf("2. saque\n");

printf("3. pagamento\n");

printf("4. extrato\n");

printf("5. Sair\n");

printf("\n\n Selecione um opcao disponivel: ");

scanf("%d",&opcao);

system("cls");

switch (opcao){

case 1:
34
Universidade Paulista de São Paulo

printf("\n\n----------------------------------------------------------------------");

printf("\n\n Informe o valor de deposito: ");

scanf("%f",&deposito);

printf("\n\n Confirma valor de deposito igual a R$ %.2f ?: \n( 1 - sim -- 2 - nao )\n",
deposito);

scanf("%d",&confirma1);

switch (confirma1){

case 1:

saldo = saldo + deposito;

printf("\n\n Gostaria de Voltar ao Menu ou de Sair?: \n(1 - voltar -- 0 - sair) ");

scanf("%d",&confirma);

system("cls");

if (confirma >0)confirma = confirma + 1;

else {

confirma = -1;

35
Universidade Paulista de São Paulo

printf ("\n\nseu saldo disponivel é igual a: R$ %.2f \n\n", saldo);

printf ("********O Banco TMN agradece pela utilizacao dos nossos


serviços********\n\n\n");

system("\n\n\tpause");

break;

break;

break;

case 2:

printf("\n\n----------------------------------------------------------------------");

printf("\n\n Informe o valor de saque:\n");

scanf("%f",&saque);

printf("\n\n Confirma valor de saque igual a R$ R$ %.2f ?: \n( 1 - sim -- 2 - nao )\n",
saque);

36
Universidade Paulista de São Paulo

scanf("%d",&confirma1);

switch (confirma1){

case 1:

saldo = saldo - saque;

printf("\n\n Gostaria de Voltar ao Menu ou de Sair ?: \n(1 - voltar -- 0 - sair ) ");

scanf("%d",&confirma);

system("cls");

if (confirma >0)confirma = confirma + 1;

else {

confirma = -1;

printf ("\n\nseu saldo disponivel é igual a: R$ %.2f\n\n", saldo);

printf ("********O Banco TMN agradece pela utilizacao dos nossos


serviços********\n\n\n");

system("\n\n\tpause");

break;

37
Universidade Paulista de São Paulo

break;

break;

case 3:

printf("\n\n----------------------------------------------------------------------");

printf("\n\n\tInforme o valor a ser pago:\n");

scanf("%f",&pagamento);

printf("\n\n Confirma valor de pagamento igual a R$ R$ %.2f ?: \n( 1 - sim -- 2 -


nao )\n ", pagamento);

scanf("%d",&confirma1);

switch (confirma1){

case 1:

saldo = saldo - pagamento;

38
Universidade Paulista de São Paulo

printf("\n\n Gostaria de Voltar ao Menu ou Sair do Programa?: \n(1 - voltar -- 0 - sair )


");

scanf("%d",&confirma);

system("cls");

if (confirma >0)confirma = confirma + 1;

else {

confirma = -1;

printf ("\n\nseu saldo disponivel é igual a: R$ %.2f \n\n", saldo);

printf ("********O Banco TMN agradece pela utilizacao dos nossos


serviços********\n\n\n");

system("\n\n\tpause");

break;

break;

break;

case 4:

39
Universidade Paulista de São Paulo

printf("\n\n-------------------------------------------------------------------------------");

printf("\n\n\t **** Relatorio Demonstrativo de E/S da Conta *****\n");

printf("\n\n\t Saldo inicial disponivel de R$ %.2f\n", saldo1 = (((saldo - deposito) +


saque) + pagamento));

printf("\n\n\t Depositos no valor de: R$ %.2f\n", deposito);

printf("\n\n\t Saques no valor de: R$ %.2f\n", saque);

printf("\n\n\t Pagamentos no valor de: R$ %.2f\n", pagamento);

printf("\n\n\t Saldo disponivel de: R$ %.2f\n", saldo);

printf("\n\n Gostaria de Voltar ao Menu ou Sair do Programa?:\n (1 - voltar ao inicial


-- 0 - sair do programa) \n\n");

scanf("%d",&confirma);

system("cls");

if (confirma >0)confirma = confirma + 1;

else {

confirma = -1;

printf ("********O Banco TMN agradece pela utilizacao dos nossos


serviços********\n\n\n");

system("\n\n\tpause");

break;

}
40
Universidade Paulista de São Paulo

break;

case 5:

printf ("\n\nseu saldo disponivel é igual a: R$ %.2f \n\n", saldo);

printf ("\n\n********O Banco TMN agradece pela utilizacao dos nossos


serviços********\n\n\n");

system("\n\n\tpause");

confirma = -1;

break;

break;

41
Universidade Paulista de São Paulo

5. Telas de funcionamento do software


Abaixo segue as telas retiradas do software para uma visão geral.

Figura 7 - Tela de boas vindas (senha).

Figura 8 – Tela de acesso validado.

42
Universidade Paulista de São Paulo

Figura 9 – Tela de acesso não validado com.

Figura 10 – Tela de acesso para chave de segurança.

Figura 11 – Tela DE validação da chave de segurança.

43
Universidade Paulista de São Paulo

Figura 12 – Tela de aviso sobre chave de segurança inválida.

Figura 13 - Tela para a função deposito.

44
Universidade Paulista de São Paulo

Figura 14 - Tela de confirmação do deposito.

45
Universidade Paulista de São Paulo

Figura 15 – Tela de menu de serviços.

Figura 16 – Tela de opção de depósito.

46
Universidade Paulista de São Paulo

Figura 17 – Tela de opção de saque.

Figura 11 – Tela de opção para pagamento.

47
Universidade Paulista de São Paulo

Figura 18 – Tela de opção para extrato.

Figura 19 - Tela de saída do sistema.

48
Universidade Paulista de São Paulo

6. Bibliografia utilizada

Titulo Programando em C/C++, Autor: Jamsa, Kris ,Editora: Makron Books.

Titulo Algoritmos, subtítulo lógico para Desenvolvimento de Programação de


Computadores, Autor: José Augusto N. G. Manzano, Jayr Figueiredo de Oliveira,
Editora: Erica.

Fundamentos de Matemática Elementar - Conjuntos, Funções - Vol. 1 - 8ª Ed.


2004, Subtítulo Conjuntos, Funções - Volume 1 , Gelson Iezzi, Carlos Murakami
,Editora: Atual.

Fundamentos de rede: Cisco Networks site: www.cisco.com.

Engenharia de software: www.febraban.org.br.

Engenharia de software9ª Ed.2011, Autor Sommerville, Ian, Editora Pearson


Education.

49
Universidade Paulista de São Paulo

7. Agradecimentos
A todos os autores aqui citados, e a todo corpo docente da UNIP do curso de analise
e desenvolvimento de sistemas.

Agradecimento ao grupo discente pelo trabalho a realizado.

MYSQL, Java e Oracle 11g são marcas registradas da Oracle®, e SQL Server 2012
e Microsoft Visio são marcas registrada da Microsoft®.

Obrigado ao Richard Matthew Stallman em 1989 por idealizar a licença pública de


software livre (GNU GENERAL PUBLIC LICENSE), e pela disponibilização do
software Dev. - C++ e aos seus respectivos autores do compilador.

Figura 20 - Software Dev. - C++.

50
Universidade Paulista de São Paulo

Figura 21 - Autores do compilador Dev.-C++.

Figura 22 - Sites de acesso ao software e sua respectiva licença.

51
Universidade Paulista de São Paulo

8. Errata
O software foi desenvolvido na linguagem C, usando-se o compilador Dev.-C+
+.Como não tivemos acesso a um banco de dados (MySQL, SQL Server 2012,
Oracle 11g) e conhecimento incipiente no mesmo criamos aplicativo cadastrando
somente um único usuário pois na linguagem C pois a mesma não é dinâmica na
alocação de memória podendo gerar erros de overflow. Por estes motivo fora
adotado a inclusão de somente um correntista.

O código foi desenvolvido em C usando estruturas de repetição switch, IF, Else,


instrução for e uso de funções em C, operadores lógicos, comando do sistema de
execução do MS-DOS.

O Fluxograma foi usado a forma flowchart do Microsoft Visio para produção do


mesmo.

O programa em C apresentou algumas falhas de acentuação, esta falha ocorre por


que a linguem C foi desenvolvida em inglês e alguns acentos não existem na língua
inglesa, porem na programação em C esta falha pode ser corrigida utilizando a
Tabela ASCII para correção com caracteres decimais, octal ou hexadecimal.

Data Center é um centro de armazenamento de dados.

52
Universidade Paulista de São Paulo

9. Índice de figuras:

A figura 4 (Servidor IBM) e 5 (Um exemplo de Data Center) ,na pagina 15 do tópico
de Redes foram retiradas do Google images.Já figura 6 (Representa em linguagem
visual o acesso do correntista do banco, e a mesma foi idealizada usando-se o
Microsoft Visio).

A figura 1(modelo Waterfall cascata), na pagina 11 do tópico de engenharia de


software encontra-se presente no livro de fundamentos a engenharia de software,
dou autor Sommerville, Ian.

As figuras 2 (tabela verdade da conjunção) presente no tópico de matemática foram


retiradas do Google images. Já a figura 3 (Função extrato em relação aos serviços)
foi desenvolvida usando a Microsoft Visio.

As figuras que seguem no tópico de fluxograma foram idealizadas usando também a


Microsoft Visio.

As figuras do tópico de telas de funcionamento de software são de propriedade do


grupo e forma retirados usando a ferramenta de recorte do Windows.

53
Universidade Paulista de São Paulo

54