Académique Documents
Professionnel Documents
Culture Documents
1
Universidade Paulista de São Paulo
2
Universidade Paulista de São Paulo
3
Universidade Paulista de São Paulo
Integrantes do PIM:
4
Universidade Paulista de São Paulo
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.1. Cadastro: 16
5.2. Acesso: 18
5.3. Serviços: 19
9. Bibliografia utilizada 48
10. Agradecimentos 49
11. Errata51
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).
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.
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.
9
Universidade Paulista de São Paulo
Definição de requisitos: aqui temos a analise das necessidades com o banco para
implantação do software de caixa eletrônico.
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.
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.
Roteador de comunicação;
Fibra Ótica
Satélite
Telefonia
12
Universidade Paulista de São Paulo
Senha
Chave de segurança
13
Universidade Paulista de São Paulo
14
Universidade Paulista de São Paulo
15
Universidade Paulista de São Paulo
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.
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.
16
Universidade Paulista de São Paulo
17
Universidade Paulista de São Paulo
2.2. Acesso:
18
Universidade Paulista de São Paulo
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.
19
Universidade Paulista de São Paulo
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.
21
Universidade Paulista de São Paulo
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).
22
Universidade Paulista de São Paulo
23
Universidade Paulista de São Paulo
24
Universidade Paulista de São Paulo
25
Universidade Paulista de São Paulo
26
Universidade Paulista de São Paulo
27
Universidade Paulista de São Paulo
28
Universidade Paulista de São Paulo
#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
printf("---------------------------------------------------------------------\n");
scanf("%d",&senha2);
printf("------------------------------------------\n");
printf("%d == %d \n",senha2,senha1==senha2);
printf("\n------------------------------------------\n");
system("cls");
if(senha2==121212)
system("color 2A");
printf("-----------------------------------------\n\n");
printf("\n\n\tSenha validada\n");
printf("\n\n\n\n-----------------------------------------");
system("pause");
else
system("color 4A");
printf("---------------------------------------------------------------------\n");
30
Universidade Paulista de São Paulo
printf("---------------------------------------------------------------------\n");
system("pause");
return main();
system("color F0");
printf("---------------------------------------------------------------------\n");
scanf("%d",&chave2);
printf("------------------------------------------\n");
printf("%d == %d \n",chave2,chave1==chave2);
printf("\n------------------------------------------\n");
system("cls");
if(chave2==123)
system("color 2A");
printf("-----------------------------------------\n\n");
printf("\n\n\n\n-----------------------------------------");
31
Universidade Paulista de São Paulo
system("pause");
else
system("color 4A");
printf("---------------------------------------------------------------------\n");
printf("---------------------------------------------------------------------\n");
system("pause");
return main();
float deposito;
float saque;
float pagamento;
float extrato;
int opcao;
32
Universidade Paulista de São Paulo
int inicial()
system("color F0");
scanf("%f",&saldo);
int i;
system("color 2F");
scanf("%f",&saldo);
i = i - 1;
else i = 1;
33
Universidade Paulista de São Paulo
/*----------------------------------------------------------------------------------------------*/
int menu()
printf("1. deposito\n");
printf("2. saque\n");
printf("3. pagamento\n");
printf("4. extrato\n");
printf("5. Sair\n");
scanf("%d",&opcao);
system("cls");
switch (opcao){
case 1:
34
Universidade Paulista de São Paulo
printf("\n\n----------------------------------------------------------------------");
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:
scanf("%d",&confirma);
system("cls");
else {
confirma = -1;
35
Universidade Paulista de São Paulo
system("\n\n\tpause");
break;
break;
break;
case 2:
printf("\n\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:
scanf("%d",&confirma);
system("cls");
else {
confirma = -1;
system("\n\n\tpause");
break;
37
Universidade Paulista de São Paulo
break;
break;
case 3:
printf("\n\n----------------------------------------------------------------------");
scanf("%f",&pagamento);
scanf("%d",&confirma1);
switch (confirma1){
case 1:
38
Universidade Paulista de São Paulo
scanf("%d",&confirma);
system("cls");
else {
confirma = -1;
system("\n\n\tpause");
break;
break;
break;
case 4:
39
Universidade Paulista de São Paulo
printf("\n\n-------------------------------------------------------------------------------");
scanf("%d",&confirma);
system("cls");
else {
confirma = -1;
system("\n\n\tpause");
break;
}
40
Universidade Paulista de São Paulo
break;
case 5:
system("\n\n\tpause");
confirma = -1;
break;
break;
41
Universidade Paulista de São Paulo
42
Universidade Paulista de São Paulo
43
Universidade Paulista de São Paulo
44
Universidade Paulista de São Paulo
45
Universidade Paulista de São Paulo
46
Universidade Paulista de São Paulo
47
Universidade Paulista de São Paulo
48
Universidade Paulista de São Paulo
6. Bibliografia utilizada
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.
MYSQL, Java e Oracle 11g são marcas registradas da Oracle®, e SQL Server 2012
e Microsoft Visio são marcas registrada da Microsoft®.
50
Universidade Paulista de São Paulo
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.
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).
53
Universidade Paulista de São Paulo
54