Você está na página 1de 38

UNIVERSIDADE PAULISTA

BRUNO APARECIDO DA SILVA RA: B103GE-8 EWERTON DE GODOI MOREIRA RA: B28846-9 HENRIQUE TAVARES DE SOUZA RA: B573516 GUSTAVO ALBINO DE BRITO RA: B21118-0 SAMUEL ZAMBON RA: B44EFJ-0

PIM II DESENVOLVIMENTO DE UM SISTEMA DE CAIXA ELTRNICO BANCRIO

JUNDIA 2012

BRUNO APARECIDO DA SILVA RA: B103GE-8 EWERTON DE GODOI MOREIRA RA: B28846-9 HENRIQUE TAVARES DE SOUZA RA: B573516 GUSTAVO ALBINO DE BRITO RA: B21118-0 SAMUEL ZAMBON RA: B44EFJ-0

PIM II DESENVOLVIMENTO DE UM SISTEMA DE CAIXA ELTRNICO BANCRIO

Projeto integrado multidisciplinar PIM II para obteno do ttulo de graduao em Tecnologia em Anlise e Desenvolvimento de Sistemas, apresentado Universidade Paulista UNIP.

Orientador:(Prof Esp Cesar Tegani Tofanini)

JUNDIA 2012

BRUNO APARECIDO DA SILVA RA: B103GE-8 EWERTON DE GODOI MOREIRA RA: B28846-9 HENRIQUE TAVARES DE SOUZA RA: B573516 GUSTAVO ALBINO DE BRITO RA: B21118-0 SAMUEL ZAMBON RA: B44EFJ-0

PIM II DESENVOLVIMENTO DE UM SISTEMA DE CAIXA ELTRNICO BANCRIO

Trabalho integrado multidisciplinar PIM II- para obteno do ttulo de graduao em Tecnologia em Anlise e Desenvolvimento de Sistemas, apresentado Universidade Paulista UNIP

Aprovado em:

BANCA EXAMINADORA ________________________/___/_______ Prof. Universidade Paulista UNIP ________________________/___/_______ Prof. Universidade Paulista UNIP ________________________/___/_______ Prof. Universidade Paulista UNIP

RESUMO

O presente trabalho tem como intuito a elaborao de um sistema que simule as atividades mais comuns de um caixa eletrnico, cadastro de cliente, sendo elas manuteno de conta, excluso de conta, depsito, saldo, saque e transferncia de valores entre contas. A linguagem utilizada para elaborao do programa escolhida foi a linguagem C, pelo fato de ser a linguagem abordada no curso. Foram empregados conceitos e comandos utilizados em linguagem C, bem como o uso de funes, structs, ponteiros, para implementao da linguagem, conhecimentos estes adquiridos com a disciplina tcnicas de linguagem de programao. Foram utilizados conceitos de rede de computadores para realizao do programa pois este deve ser instalado em hosts distintos pertencentes a uma mesma rede. O conceito de compartilhamento de arquivos e de protocolo TCP/IP, foi empregado para a criao da rede onde as duas partes do programa desenvolvido, cadastro de conta e caixa eletrnico iro se comunicar. Conceitos de engenharia de software como anlise de requisitos, processos de produo, processos de qualidade e gesto de equipe tambm foram empregados na realizao presente projeto. A princpio foram definidas diretrizes de elaborao e formao de equipe, tendo como base do projeto a elaborao do sistema de caixa eletrnico, a definio da equipe de trabalho foi baseada na em variveis como disponibilidade, grau de conhecimento e comprometimento com projeto. Para realizao do programa e efetuar as transaes realizadas sendo efetuados os dbitos, acrscimos e demais operaes matemticas realizadas foram utilizadas conhecimentos adquiridos junto a matemtica computacional. Para normatizao deste foram adotadas normas estabelecidas para realizao de trabalhos cientficos institudos pela Associao Brasileira de Normas Tcnicas, ABNT. . Palavras-chave: Software / Desenvolvimento.

ABSTRACT The present work is aimed at developing a system that simulates the most common activities of an ATM, customer registration, and they account maintenance, account deletion, deposit, balance, withdrawal and transfer of funds between accounts.

The language used to program design was chosen the C language, because it is the language covered in the course. Were employed concepts and commands used in C language and the use of functions, structs, pointers, for language implementation, these knowledge acquired with discipline techniques programming language.

We used concepts of computer network to carry out the program because it must be installed on different hosts belonging to the same network. The concept of sharing files and TCP / IP protocol was used to create the network where the two parts of the developed software, register an account and ATM will communicate.

Concepts of software engineering such as requirements analysis, production processes, quality processes and management staff were also employed in conducting this project. The principle was established guidelines for the preparation and training of staff, based on the development project of the ATM, the definition of team work was based on variables such as availability, level of knowledge and commitment to the project being taken into account still possible contingencies exist that would lead to change in team work and project. To implement the program and make the transactions being carried debts, accruals and other mathematical operations performed were used knowledge acquired from computational mathematics. The establishment of communication network created, the definition of PIs were carried through calculations which were converted into binary and hexadecimal to establish proper communication between hosts. ..

For this regulation were adopted standards established for conducting scientific studies instituted by the Brazilian Association of Technical Standards, ABNT. .

Keywords: Software / Development

SUMRIO

1 INTRODUO ............................................................................................................. 8 2 DESENVOLVIMENTO ................................................................................................ 9 2.1 Da linguagem utilizada ........................................................................................... 9 2.2 Diretivas de Compilao da Linguagem C ........................................................... 10 2.3 Declarao das variveis ....................................................................................... 10 2.4 Entrada e sada de dados ....................................................................................... 11 2.5 Estruturas de controle ........................................................................................... 11 2.6 Constantes ............................................................................................................. 12 3 Da aplicao da engenharia de software ................................................................. 13 3.1 Fatores determinantes para se produzir um bom software.................................... 14 3.2 Das formas de produo de software .................................................................... 17 3.2.1 Modelo queda dgua ......................................................................................... 17 3.2.2 Modelo por prototipao .................................................................................... 18 3.2.3 Desenvolvimento iterativo ................................................................................. 20 3.2.4 Modelo em espiral.............................................................................................. 21 4 O Modelo CMM ..................................................................................................... 22 5 Da anlise de requisitos ........................................................................................... 23 5.1 Princpios da anlise ............................................................................................. 24 6 Da utilizao da rede de computadores .................................................................. 27 6.1 Redes de Computadores ....................................................................................... 27 6.2 O endereo IP ........................................................................................................ 28 6.2.1 Protocolo TCP/IP .............................................................................................. 29 7 Da Documentao do Software ............................................................................... 32 7.1 Do software de cadastro, manuteno e excluso de conta ................................. 32 7.2 Das operaes do software, saldo, saque, depsito transferncia e emprstimo. 34

8 CONCLUSO ............................................................................................................. 37 BIBLIOGRAFIA ............................................................................................................ 38

1 INTRODUO

As instituies bancrias existem h muito tempo na sociedade, desde que o homem teve necessidade de guardar suas reservas financeiras em algum local at os dias de hoje. Com o passar do tempo e com o aumento no nmero de clientes e contas nos bancos houve a necessidade de se abandonar a escriturao financeira feita em livros e mo, adotando-se nova forma de se obter o real controle das transaes. O surgimento da informtica veio a afetar inmeras instituies econmicas e sociais, assim sendo os bancos no poderiam ficar de fora desta informatizao das transaes e demais relaes existentes em a instituio denominada banco e seus clientes. Os sistemas informatizados facilitaram e muito a relao entre banco e cliente, pois agilizam as rotinas mais corriqueiras existentes nesta relao, atos como criao de contas, saques, depsitos, transferncias, ocorrem em maior volume e velocidade com a utilizao da tecnologia. Essa busca por tecnologia, por implementao de sistemas que agilizassem as transaes bancrias levou a criao de caixas eletrnicos bancrios, ou seja, agencias bancrias em formato de uma mquina, onde, atravs de um programa de computador, consegue-se realizar as tarefas ante realizadas apenas dentro das agncias. Atualmente existem vrios sistemas para caixa eletrnico bancrio escritos em vrias linguagens diferentes, o presente projeto tem como escopo o desenvolvimento de um programa de computador escrito em linguagem C, destinado ao controle de um caixa eletrnico bancrio. Foram utilizados conhecimentos de engenharia de software, linguagem de programao, matemtica computacional, redes de computadores e tica, para o desenvolvimento do sistema de caixa eletrnico bancrio.

2 DESENVOLVIMENTO

2.1 Da linguagem utilizada

A linguagem utilizada para produo do programa uma linguagem de alto nvel denominada como linguagem C, esta uma linguagem compilada, estruturada, criada em 1972 por Dennis Ritchie, nos laboratrios da AT&T Bell Labs, sendo uma das mais populares. Inicialmente desenvolvida para implementao do sistema Unix, a linguagem C tornou-se poderosa o bastante, a adio do tipo struct, de funes e ponteiros, possibilito o acesso a maioria das partes do ncleo Unix, podendo ser escritos a partir de ento em C. Estima-se que a linguagem C tenha este nome pois deriva ou um aperfeioamento de caractersticas da linguagem B, mas no passa apenas de uma estimativa. Esta linguagem fornece acesso de baixo nvel memria e no exigindo hardwares de altssimo desempenho, foi desenvolvida para ser uma linguagem de alto nvel para reaproveitamento do cdigo, sendo a princpio de importante uso como linguagem assembly. Como anteriormente dito a linguagem C uma linguagem compilada, ou seja, necessita de um compilador para ser convertida ao nvel de entendimento do hardware. O algoritmo escrito deve ser convertido por este programa compilador para o formato pronto para ser executado sempre que necessrio. Programas compilados so mais rpidos mas no so multiplataforma, so desenvolvidos para plataformas especficas, e cada alterao em seu algoritmo depende de nova compilao para funcionamento. A linguagem C possui caractersticas que a tornam to popular, uma delas de ser mais simples que as demais, trabalha com vrios tipos, sendo os cinco tipos de variveis bsicos definidos como char, int, float, double e void, possui ainda alta portabilidade pois estruturalmente simples, os cdigos em c so enxutos e velozes.
A linguagem C compartilha recursos de baixo e alto nvel o que permite acesso e programao direta do microprocessador, com isto, rotinas cuja dependncia do tempo crtica, podem ser facilmente implementadas usando instrues em assembly, sendo esta a razo do C ser a linguagem preferida de muitos programadores. (DornellesI, 1997,p.06)

O programa em C constitudo de uma estrutura simples, onde temos um cabealho, onde so declaradas as diretivas do compilador, constantes, variveis, incluso de bibliotecas

10

e outros blocos de rotina. Possui tambm um bloco de instrues principal e outros de rotinas, e toda documentao pode ser feita atravs de comentrios no prprio corpo do programa. So utilizados caracteres ASCII como padro utilizado pela linguagem.

2.2 Diretivas de Compilao da Linguagem C

Na linguagem C, existem comandos que so processados durante a compilao do programa,so genericamente chamados de diretivas de compilao, tais comandos informam ao compilador C basicamente quais so as constantes simblicas e quais as bibliotecas utilizadas pelo arquivo executvel gerado, um exemplo a diretiva #include, que diz ao compilador para incluir na compilao do programa outros arquivos. Funes como a printf, que carregada junto com a biblioteca stdio.h, a funo main, utilizada no incio de cada programa escrito, entre outras.

2.3 Declarao das variveis

Segundo Vitorine Viviane Mizhari, em seu livro, Treinamento em Linguagem C, 2 edio, variveis so tipos presentes em todos os programas de computador, so definidas como um valor que se altera e ocupa um espao na memria, em sua obra temos a seguinte definio:
Variveis so o aspecto fundamental de qualquer linguagem de computador. Uma varivel em C um espao reservado para armazenar um certo tipo de dado e tendo um nome para referenciar o seu contedo. O espao de memria ocupado por uma varivel pode ser compartilhado por diferentes valores segundo certas circunstncias. Em outras palavras, uma varivel um espao de memria que pode conter, a cada tempo, valores diferentes. (Mizrahi, 2008, pag.13)

As variveis podem ser de vrios tipos como, int (inteiro), char (caractere), float (real simples preciso), entre outras. Sua declarao se faz geralmente no incio do programa sendo estabelecido o nome da varivel e seu tipo, ex: float nmero, int nmero, char nome. Ex: int main( ) { Int numero;

11

Float numero; Char nome; }

2.4 Entrada e sada de dados

Em C como na maioria dos programas, existem vrias maneira de se inserir e ler informaes, ou em terminologia tcnica fazer Imput e Output ou entrada e sada. Funes como printf, scanf, gets, put, so funes de entrada e leitura de dados via tela e teclado, existindo ainda funes de manipulao de mouse, entrada e sada via porta serial e paralela, entre outras. Para se exibir um tipo de dado na tela do computador utilizamos, geralmente, a funo printf, seguida do tipo de varivel que faz parte o elemento a ser exibido, exemplo: printf (digite um nmero, numero). J para ser gravado o valor da varivel em memria utiliza-se a funo scanf, ex: scanf(float,&numero).

2.5 Estruturas de controle

A linguagem C permite uma ampla variedade de estruturas de controle de processamento. Podemos dividi-las em estrutura de deciso e de repetio. As estruturas de deciso permitem direcionar o fluxo de desenvolvimento dos blocos para os blocos distintos de instrues conforme uma condio de controle. Com IF e Else, IfElse, Switch, podemos fazer isso, pois temo duas condies que devem ocorrer no programa. Uma das tarefas de qualquer programa decidir o que deve ser executado a seguir. Os comandos de deciso permitem determinar qual a ao a ser tomada com base no resultado de uma expresso condicional. (In. Mizhari, Victorine Viviane, Treinamento em Linguagem C, 2ed. So Paulo-2008, pag.84.) Ex: Se condio 1; Ento bloco1; IF(condio) { bloco1;}

12

Seno bloco2; Fim se

else{ bloco2 };

J a estrutura de repetio permite executar um bloco de instruo ate que uma condio de controle seja satisfeita ou realizada. Com Do While, While, For, podemos realizar a repetio ou lao , condicionando seu final a um evento determinado e expresso. Laos ao comandos usados sempre que uma ou mais instrues tiverem de ser repetidas enquanto uma certa condio estiver satisfeita (Mizhari,2008, pag.62) Exemplos: Do{ Bloco; } While (condio);

for(condiao inicial; cond teste; incremento) for (i=0;i<=10;i++)

2.6 Constantes

O C possui quatro tipos bsicos de constantes, inteiras, de ponto flutuante, caracteres e strings, As inteiras e de ponto flutuante representam nmeros de uma forma geral, as de caracteres e strings representam letras e agrupamentos de letras. Nmeros constantes em C podem ser escritos de forma inteira, decimal, octal e hexadecimal. Os caracteres podem ser expressos sozinhos ou em cadeia, sendo que a numerao caractere s esta definida para nmeros entre 0 e 255. Isso significa que a forma caractere definida para nmeros que caibam em um nico byte. (Mizhari,2008, pag.10) No software em estudo foram utilizados os conceitos acima apresentados, alm de outros como funes, ponteiros, structs, arrays e vetores, sendo qus estes ltimos englobam os demais comandos. As estruturas de deciso e repetio so amplamente usadas pois a cada momento o usurio necessita fazer uma escolha para avanar ou retroceder as telas do programa.

13

3 Da aplicao da engenharia de software

A engenharia de software aplica as tcnicas de engenharia nos processos de produo de software, estabelece normas que visam a melhoria no processo de produo bem como a diminuio dos erros que resultam no mau funcionamento ou no no funcionamento de um programa de computador, visa ainda que o programa desenvolvido seja economicamente vivel e eficiente. Uma das preocupaes da engenharia de software a produo de um software de qualidade, ou seja, aquele que atenda as necessidades do cliente, que apresente ao final do processo produtivo caractersticas econmicas, tcnicas e usabilidade boas, agradando aos usurios finais e ao cliente. Temos vrias definies para engenharia de software, adotamos a exarada pelo Prof. Vitrio Bruno Mazzola, que em sua apostila denominada Engenharia de Software, assim estabelece s folhas 10, O estabelecimento e uso de slidos princpios de engenharia para que se possa obter economicamente um software que seja confivel e que funcione eficientemente em maquinas reais(Mazzola, pag. 10) H ainda outros enfoques sofre engenharia de software citados no livro Engenharia de Software, pelo Prof. Vitorio Bruno Mazzola, que abaixo transcreve-se:
A aplicao prtica do conhecimento cientfico para o projeto e a construo de programas computacionais e a documentao necessria sua operao e manuteno. [Boehm, 76] Abordagem sistemtica para o desenvolvimento, a operao e a manuteno de software [Afnor, 83] Conjunto de mtodos, tcnicas e ferramentas necessrias produo de software de qualidade para todas as etapas do ciclo de vida do produto. [Krakowiak, 85 ](Mazzola, 2008, pag.23)

A Engenharia de software tambm estabelece um conceito de software bem peculiar, pode-se definir software como sendo um conjunto de instrues realizadas em uma determinada linguagem, que quando executadas produzem o resultado desejados. O Software ainda pode ser encarado sob duas vises diferentes, uma como sendo um conjunto de instrues destinadas a serem produzidas e utilizadas pelo prprio criador, e outra forma encar-lo como um produto a ser vendido, que deve atender as necessidades do cliente, ser de

14

fcil uso, entendimento, eficiente, bem documentado facilitando uma correo eventual, sendo assim confivel. A busca pela produo de um software de qualidade sempre importante, e resumidamente o software de qualidade aquele que satisfaz as necessidades de seus usurios, aquele que possua os requisitos exigidos pelo cliente e que atenda as necessidades dos usurios finais. Existem vrios fatores que determinam a qualidade de um software e que devem estar presentes em qualquer software produzido, para que o mesmo seja usual e considerado como um bom software, a seguir descreve-se alguns destes requisitos.

3.1 Fatores determinantes para se produzir um bom software

Existem vrios fatores que influenciam e determinam a qualidade de um software, tais fatores englobam desde a sua forma de produo at o uso pelo usurio final, dentre eles temos usabilidade, eficincia, confiana e facilidade. Correo Pode-se dizer que a correo seria a capacidade de um produto de software funcionar da forma especfica para a qual foi projetado, totalmente adequado ao exigido na anlise de requisitos e especificao, atendendo as expectativas do cliente. O produto de software tem que atender as especificaes requisitadas e suas funes devem funcionar precisamente. A correo atingida durante todo processo de criao de software, com o cumprimento de todas suas fazes, analisando o produto, corrigindo-se os eventuais erros, testando, corrigindo-se novamente, at o atendimento quase que total das especificaes do cliente. Robustez a capacidade do sistema produzido, ou software produzido, funcionar em condies de stress, quando exigido o mximo do produto. Nestes casos o produto deve funcionar da mesma forma quando no em situaes anormais, sendo assim tambm dito como software confivel.

15

Extensibilidade Consiste na facilidade de se adicionar modificaes ao software original. Sistemas exigem customizaes para se adequar perfeitamente as necessidades do cliente. A simplicidade do projeto facilita com que sejam adicionadas customizaes ou modificaes nele. A relao de dependncia entre os mdulos do programa produzido tambm influncia a adio de mdulos. Reusabilidade Este fator gera economia na produo de novos produtos de software, sendo reutilizados partes de softwares j produzidos. Compatibilidade a capacidade de um produto de software ser combinado com outro. fator importante na escolha do produto, determinando sua escolha ou no. Eficincia Esta caracterstica esta relacionada com a utilizao do software e seus recursos, a forma com que o sistema com um todo funciona deve ser eficiente. O software no deve atrapalhar ou causar qualquer interferncia danosa no sistema como um todo, includo Hardware, Software e Peopleware. Portabilidade Consiste na capacidade do software produzido ser utilizado em vrios ambientes de software e hardware diferentes. Facilidade de Uso O software produzido deve ser de fcil manipulao pelo usurio final, este deve conseguir utilizar o produto sem muita dificuldade. Outros fatores influenciam na produo de um software de boa qualidade, mas estes esto ligados ao Software de forma extrnseca, so fatores ligados a forma como so produzidos, os equipamentos utilizados e a metodologia a ser implantada.

16

Alguns princpios devem ser observados pela equipe de desenvolvimento, devendo ser discutidos e analisados para garantir que o produto seja bem aceito. O princpio do uso, implica em que o Software no deve ser produzido apenas para o usurio imediato do, mas tambm para o usurio mediato, ou outros programadores ou profissionais que iro trabalhar no cdigo fonte, seja para customizar ou implementar alteraes diversas. A documentao do processo de produo faz com seja possvel o fcil acesso a estrutura e lgica empregada pelo programador, facilitando futuras modificaes. A explicao das funcionalidades, de suas entradas e sadas facilitam a interpretao dos resultados e soluo de possveis erros. Produzir o cdigo com a estrutura mais simples possvel, dentro das especificaes, facilita a correo de erros ou correo, implicando em menor tempo na finalizao do projeto. O software deve ser projetado para que seja de fcil uso, mesmo para leigos. O princpio da evoluo estabelece o aspecto de importncia do desenvolvimento de Software ligado capacidade de manuteno do mesmo. Todo software deve ser produzido de forma que seja fcil sua manuteno e modificaes. A previso de modificaes deve estar implcita na realizao do projeto, pois o Software deve se capaz de se adequar a realidade de uso do cliente. O princpio da migrao deve ser levado em conta tambm, este prega que o software deve ultrapassar a vida da prpria mquina em que esta sendo executado, deve ser produzido para adequar-se a diversas arquiteturas de computador existentes. A portabilidade que define bem este principio. Softwares devem ser criados com o intuito de resolver problemas e no para apenas instruir determinado processador. Nas palavras do Professor Vitrio Bruno Mazzola
Assim, podemos sintetizar as aes a serem preparadas com relao a este princpio: pensar os programas como meio para solucionar problemas e no para instruir determinado processador; utilizar as construes padronizadas das linguagens de programao ou sistemas operacionais; isolar e comentar todos os aspectos do programa que envolvam a dependncia do hardware. ( Mazzola, 2008, Pag.24)

17

Softwares bem estruturados e documentados que atendem aos requisitos anteriormente elencados, so considerados com sendo de boa qualidade.

3.2 Das formas de produo de software

A engenharia de software estabelece algumas formas diferentes de produo de software, so mtodos e metodologias desenvolvidas que visam agilizar o processo de produo de um software, visando sempre sua qualidade, so os modelos de produo. A seguir descreve-se alguns destes modelos criados pela engenharia de software e aponta-se o modelo utilizado na produo do software objeto deste trabalho. So modelos de produo de software, o modelo queda dgua, modelo por prototipao, por desenvolvimento iterativo, em espiral.

3.2.1 Modelo queda dgua

o modelo mais simples de desenvolvimento de software, estabelece uma ordenao linear na realizao das etapas, ou seja, uma etapa e realizada aps a outra. Visa-se com este mtodo de produo a obteno de uma viso geral do sistema, incluindo-se hardware, pessoas, enfim, todos envolvidos, tendo incio na etapa de Engenharia de Sistemas. A etapa seguinte a Analise de requisitos, onde sero definidos os requisitos do software, esta etapa uma das mais importantes pois nela esto as necessidades e requisitos estabelecidos pelo adquirente do programa a ser desenvolvido. Esta etapa engloba um conjunto de atividades de suma importncia para o desenvolvimento de um produto de software, e deve ser realizada no incio do processo de produo. Pode-se realizar a analise de requisitos com a aplicao de suas tcnicas de diversas formas, pode-se derivar uma representao em papel, ou em arquivo com a utilizao de um

18

Case que sirva de referncia para o projeto. Pode-se tambm criar um prottipo, a partir de um modelo pronto colhendo informaes deste, e submetendo esse modelo a avaliaes do cliente, buscando implementar melhorias e adequaes s necessidades reais de uso. O projeto a etapa subsequente, sendo posteriores as etapas de codificao, teste e integrao e operao e manuteno. Duas diretivas importantes norteiam o desenvolvimento segundo o modelo queda dgua, segundo o Professor Vitorio Bruno Mazzola , so as seguintes:
todas as etapas definidas no modelo devem ser realizadas, isto porque, em projetos de grande complexidade, a realizao formal destas vai determinar o sucesso ou no do desenvolvimento; a realizao informal e implcita de algumas destas etapas poderia ser feita apenas no caso de projetos de pequeno porte; a ordenao das etapas na forma como foi apresentada deve ser rigorosamente respeitada; apesar de que esta diretiva poderia ser questionada, a ordenao proposta pelo modelo, por ser a forma mais simples de desenvolver, tem sido tambm a mais adotada a nvel de projetos de software.(Mazzola, 2008, pag. 43)

Tal procedimento facilita na deteco de fim de cada etapa, e consequente deteco de erros existentes em cada uma delas, sendo tambm mais fcil a reparao. A documentao do programa tambm torna-se obrigatria e neste processo mais fcil de ser desenvolvida pois deve ser feita com o andamento de cada etapa do projeto. Este pode ser o processo mais interessante de modelo de desenvolvimento de um sistema, sendo melhor a utilizao deste do que no utilizar nenhum outro.

3.2.2 Modelo por prototipao . O ponto de partida para a criao do prottipo de Software a partir dos requisitos fornecidos durante o procedimento de anlise conjugam-se em uma proposta feita ao cliente, um contrato de solicitao de criao de software, que deve ser encaminhado ao cliente, contendo toda informao coletada durante o procedimento de analise, descrevendo-se minuciosamente as funcionalidades, caractersticas, usabilidades e resultados a serem obtidos com o software.

19

Na realizao do prottipo deve-se atentar a existncia ou no de software que possa ser reaproveitado, proporcionando, em caso positivo, uma economia de tempos e investimento. Deve-se tambm atentar a linguagem que ser utilizada para o desenvolvimento, decidir se ser mantida a do software reutilizado ou se seja utilizada nova linguagem. Os mtodos de produo devem ser definidos tambm, se ser realizado o processo em cascata ou outro qualquer. Coma finalizao do prottipo, com sua interface grfica e funcionalidades testadas, deve-se submet-lo anlise do cliente, para possveis correes e ajustes. Com as devidas correes e ajustes definidos encerra-se o processo de prototipao e, pode-se ter incio o processo de fabricao. Nas palavras do professor Vitrio Bruno Mazzola, em seu livro, Engenharia de Software Conceitos Bsicos, tem-se:
O paradigma da prototipao tem como ponto de partida uma Solicitao de Proposta encaminhada pelo cliente. A partir desta solicitao, os seguintes passos so realizados:
anlise da solicitao para identificar a necessidade da prototipao; normalmente, softwares interativos e/ou grficos ou softwares que exijam a utilizao de algoritmos combinatrios podem ser objeto de prototipao; no entanto, o fator complexidade deve permitir determinar realizao ou no do prottipo; outro ponto que deve ser pesado nesta deciso se a equipe de desenvolvimento tem experincia e ferramentas adequadas prototipao; especificao resumida dos requisitos, realizada pelo analista, de modo a representar o domnio da informao e os domnios funcionais e comportamentais do software, de modo que a atividade de particionamento do problema possa ser efetuada; revisada a especificao resumida dos requisitos, realizado um projeto do prottipo, concentrando-se principalmente nos aspectos arquitetnicos e de dados e deixando de lado os aspectos procedimentais; desenvolvimento do prottipo, se possvel a partir da utilizao de blocos de construo de software preexistentes (o que na maioria dos casos so de difcil obteno); por outro lado, a construo de um prottipo pode ser facilitada graas existncia de diversas ferramentas orientadas a esta atividade; apresentao do prottipo (testado) ao cliente, para que este possa efetuar sua avaliao; a partir desta avaliao, o cliente pode sugerir extenses ou reformular alguns requisitos de modo a que o software possa melhor corresponder s reais necessidades; repetio iterativa dos dois passos anteriores, at que todos os requisitos tenham sido formalizados ou at que o prottipo tenha evoludo na direo de um sistema de produo. (Mazzola, 2008, pag. 68)

20

Analise de requisitos Projeto Projeto Codificao Teste Anlise de Requisitos Figura 1 Esquema de evoluo da prototipao Fonte: Mazzola, 2008, pag. 13 Codificao Teste

Com a realizao da analise de requisitos terminada passasse a etapa de elaborao de um documento de Especificao dos Requisitos do Software, em forma de contrato que ser avaliado e assinado pelo cliente, passando-se assim a produo do produto em questo.

3.2.3 Desenvolvimento iterativo

Este modelo foi criado baseando-se no processo em queda dgua, e com as vantagens do processo de prototipao tendo como ideia central de que um sistema deve ser elaborado de forma incremental, onde cada incremento vai adicionando funcionalidade ao sistema at sua finalizao. A grande vantagem deste sistema que ele testado a todo o tempo, cada incremento realizado implica em teste do sistema para o bom funcionamento. Outra vantagem que durante o desenvolvimento pode-se apresentar ao cliente parte do software e esta dar seu aval, aceitando ou alterando as implementaes realizadas at ento, limitando assim a possibilidade do software produzido no satisfazer as necessidades do cliente. Projeto Implementao ......... anlise

Projeto Implementao anlise

Projeto Implementao anlise

Figura 2 Modelo Desenvolvimento Iterativo


Fonte: Mazzola, 2008, pag.14

21

Um aspecto importante deste mtodo de produo a criao de uma lista de controle do projeto, onde todos os passos do projeto so descritos e previstos. Esta lista contem dados do projeto que permitem a prospeco de durao e andamento do mesmo. Atravs dela que se estima o bom andamento do projeto, estuda-se dilao de prazos para entrega e substituio de elementos da equipe.

3.2.4 Modelo em espiral

O nome proposto forma de produo do software j descreve a como o processo de criao do mesmo, a organizao das atividades so feitas em forma de espiral sendo divididas em vrios ciclos. Define-se os ciclos como sendo etapas na produo do software, sendo estabelecidos, a determinao de objetivos, determinao de alternativas e restries, anlise de riscos e prototipao. Cada ciclo iniciado com a determinao dos objetivos a serem atingidos, so determinadas as alternativas para possveis a obteno do objetivo fixado e vistas e avaliadas as restries existentes ou riscos do projeto, e por fim realiza-se a produo do prottipo. Pode-se dizer que no final de cada ciclo marcado pelo desenvolvimento do prottipo do software e a fixao de novos objetivos para a etapa seguinte at a produo final do produto de software acabado. Cada ciclo tem como caracterstica final a reviso do que fora realizado e o que ser planejado para o prximo ciclo, sendo tal procedimento utilizado quando o software a ser desenvolvido seja de alto risco de investimento ao cliente. A figura a seguir demonstra superficialmente como funcionaria um modelo em espiral.

22

C U S T O A C U M U L A D O

A V A N O Determina objetivos alternativas e restries Anlise de Riscos Avalia alternativas, identifica e resolve riscos

Reviso

Prximas etapas do plano

Anlise de Riscos Anlise de Riscos Prottipo ProtAnlise tipo 3 Operade Riscos Protcional tipo 2 Prottipo 1 Plano de Requisitos Simulaes, modelos, ... Plano de Ciclo Conceito de de Vida Operao Requisitos de Software Projeto Projeto do pro- DetalhaPlano de duto de do Validao dos Desenvolvimento software Requisitos Cdigo Plano de Teste Validao e VeriIntegrao e Testes de ficao do Prounijeto dade Desenvolve e verifica InteProduto do Prximo Teste grao Nvel Imple- de acei- e teste menta- tao o

Figure 3- O modelo espiral. Fonte: Mazzola, 2008, pag.15 Com este processo de produo pode-se dizer que os custos so maiores mais os resultados obtidos so melhores.

4 O Modelo CMM

O modelo CMM ou Capability Maturity Model, ou Modelo de capacidade e maturidade que foi definido pelo rgo SEI, teve como objetivo criar regras relacionadas ao vrios nveis de maturidade ou evoluo no processo de produo de software que as empresas que produziam software se encontravam. Tal modelo definia cinco graus de desenvolvimento, sendo o quinto grau o mais elevado. O nvel de maturidade pode ser considerado como um grau de evoluo no processo de desenvolvimento de software, qualificando cada vez mais a empresa no processo de produo de software.

23

A capacidade esta relacionada aos resultados que poder ser obtidos pela utilizao de normas de produo, permitindo estabelecer melhor os resultados em futuros projetos. O desempenho de um processo de software representa os resultados que so corretamente obtidos pela sua utilizao. A diferena bsica entre os dois conceitos esta no fato de que a capacidade ampara-se nos resultados que sero obtidos, j o desempenho referese aos resultados obtidos de pronto. Nas palavras do prof Vitrio Bruno Mazzola, a maturidade de um processo de software estabelece os meios pelos quais ele definido, gerenciado, medido, controlado e efetivo, implicando num potencial de evoluo da capacidade. ( Mazzola, 2008, Pag.68).

5 Da anlise de requisitos

Umas das principais aes a serem tomadas no processo de elaborao de software a anlise de requisitos, nesta etapa da produo so estabelecidas as necessidades e desejos relativos ao software que dever ser desenvolvido. No processo de analisar requisitos sero levados em conta os anseios e desejos do cliente bem como a capacidade interpretativa do analista, nesta fase que se interpreta o que o cliente quer e espera do programa a ser desenvolvido. Roger Pressman, destina capitulo prprio ao tema, que intitula como Princpios fundamentais da anlise de requisitos, onde ressalta a importncia de tal procedimento no desenvolvimento de software, assim escreve:
Uma compreenso completa dos requisitos de software fundamental para um bem sucedido desenvolvimento de software. No importa quo bem projetado ou quo bem codificado seja, um programa mal analisado e especificado desapontar o usurio e trar aborrecimentos ao desenvolvedor.(Pressman, 1997, pag. 12)

A anlise dos requisitos do sistema pode ser dividida em cinco reas de esforo, sendo reconhecimento do problema, avaliao e sntese, modelagem, especificao e reviso. Inicialmente o analista estuda o sistema, caso este exista, elabora um plano de software, busca entender o sistema ou as funes existentes naquele objeto que vir a se tornar um software.

24

O analista tem que ter contato com todos os setores da empresa, deste a administrao at o mais baixo cargo, para ter conhecimento do alcance que ter o software a ser criado bem como suas restries e organizao usurio/cliente. Atravs do contato com os diversos usurios e setores onde este ser utilizado o a analista realizar uma analise profunda e detalhada sobre as rotinas, sobre as funcionalidades que o software dever possuir, bem como estabelecer pontos que orientaro futuramente a instruo e estabelecimento de direitos e delegaes a certos usurios ou grupos. Dever ainda, de forma sinttica, atentando para sintaxe correta, descrever o funcionamento do programa, suas funcionalidades, suas limitaes e seu funcionamento geral. A medida em que se desenvolve o software problemas vo surgindo e estes dependem da capacidade do analista para serem resolvidos. Um bom software aquele que atende as necessidades do cliente, que seja de fcil uso e fcil manuteno, bem como o grau de estabilidade do mesmo deve se grande. Aps terem sidos sanados problemas existentes, e estar parcialmente adequado as necessidades estabelecidas parte-se para a modelagem de software, quando os ciente e engenheiros de software se relacionam e buscam atingir uma soluo que se mais se adeque aos anseios do cliente, sempre buscando resolver todos os problemas A criao de modelos utilizada para melhor compreender o software a ser produzido, a criao de prottipos facilita a compreenso final do produto. A apresentao destes prottipos em pontos determinados do desenvolvimento do software ao cliente importante pois vem a familiarizar o mesmo com o produto e facilita a localizao de erros e possveis alteraes a serem feitas, minimizando o erro final.

5.1 Princpios da anlise

Princpios so caractersticas comuns que servem como bases existentes ou que se deva dar a devida ateno sobre certos assuntos ou temas, no diferente quando se trata de anlise de requisitos.

25

O Domnio da informao um deles. Todo software construdo em funo da busca de soluo de um problema, sendo alimentado por dados gerando informaes de sada. O domnio da informao em um sistema de software obtida ou pelo menos satisfatoriamente atingida, quando temos conhecimento sobre como o sistema trata os dados nele presentes, como se modificam os eventos e dados ao longo do sistema. O contedo da informao e a estrutura da informao so de igual importncia, o primeiro representa a semntica da informao, o que permite representar os dados relacionados a uma determinada informao. J o segundo trataria da forma sinttica da informao, ou seja a linguagem de programao.
O Fluxo da informao, o qual representa a forma pela qual os dados e os eventos se modificam ao longo do sistema. O que pode ajudar a determinar quais so as transformaes essenciais s quais os itens de informao so submetidos; o contedo da informao, que permite representar os dados e os eventos que estejam relacionados a um determinado item de informao (semntica da informao); a estrutura da informao, a qual permite expressar a forma como itens de dados e/ou eventos esto organizados (sintaxe da informao); esta informao pode vir a ser importante para a etapa de projeto e implementao das estruturas de informao via software (linguagens de programao).(Mazzola, 2008, pag. 65).

Modelagem, tambm outro aspecto de importncia no processo de requisitos de um software, pois atravs dela permite-se melhor compreenso das questes estruturais e comportamentais do software, possibilitando a resoluo mais fcil. O modelo realizado durante o a fase de analise de requisitos deve ser orientada ao que o software ira realizar e no em como ele o realiza, deve ser dotado de declaraes textuais que informem o funcionamento e a destinao de seus elementos, possibilitando melhor entendimento dos requisitos do software para o analista, para pessoal tcnico e ao projetista. O particionamento demonstra tambm outro princpio caracterizando na decomposio de problemas existentes em partes menores, possibilitando o entendimento o problema de forma mais fcil, sendo possvel estabelecer as interfaces de cada parte do problema. O particionamento pode ser feito levando-se aspectos funcionais, informacionais ou comportamentais do software.

26

Concepes essenciais e de implementao de um software podem ser especificados dependendo do grau de conhecimento que se tem do sistema ou dependendo do estagio de analise no qual se encontra o processo. A concepo essencial visa observar-se os aspectos essenciais do problema em anlise sem preocupao com detalhes de implementao, preocupa-se mais com os resultados ou os problemas que impedem a obteno de um resultado em primeira anlise. J na faze de implementao preocupa-se com o resultado do funcionamento, ou funes de processamento nesta fase preocupa-se ou analisa-se questes de estrutura lgica, de semntica, sintaxe ou erros de programao Para o desenvolvimento do software em estudo, conforme fora dito anteriormente, fora escolhida linguagem de programao denominada C, e a metodologia de produo em Cascata. Fora feito analise de requisitos do mesmo, sendo estabelecido como requisitos do software, que o sistema de caixa eletrnico contasse com cadastros de clientes, que contivesse as operaes mnimas para um sistema bancrio, como, saques, depsitos, transferncias, consultas, entre outras. Para incio do desenvolvimento do programa fora designado o tema e analisado a viabilidade de produo do software bem como a elaborao do processo de produo e a equipe a ser utilizada. Com o decorrer do prazo fixado para termino do programa foram aplicadas tcnicas de engenharia de software como modelo em espiral e a utilizao da prototipao.

6 Identificao do modelo de engenharia de software utilizado e sua justificativa

No decorrer do desenvolvimento do software buscou-se utilizar as normas presentes na engenharia de software. O modelo escolhido para produo do software foi o modelo em espiral, fica evidenciada a utilizao do modelo citado, pois durante todo o processo de desenvolvimento

27

pois cada ciclo do desenvolvimento teve seus riscos analisados, a parte do software desenvolvida foi testada e o prottipo do mesmo foi criado e experimentado. A escolha do modelo em espiral foi feita pela segurana que tal modelo apresenta, pois s se passa para fase seguinte da produo se a anterior estiver testada e correta.

7 Da utilizao da rede de computadores

H quase mais ou menos 30 anos tivemos o surgimento da rede mundial de computadores e com passar deste tempo a mesma veio se desenvolvendo e crescendo, sofrendo grandes alteraes com o intuito de acomodar os bilhes de usurios, dispositivos mveis, desktops e notebooks.

7.1 Redes de Computadores

Uma rede de comunicao pode ser definida como um conjunto de dispositivos conectados por links de comunicao. A forma mais simples de fazer comunicao entre dois dispositivos conect-los diretamente usando um link de comunicao. Pode-se ainda tipificar redes de computadores pela conexo e topologia fsica. Tipos de conexo classificadas conforme o link utilizado, ou seja, via rdio, cabo de rede, etc. Quanto a topologia pode-se classificar as redes de computadores podem ser classificadas como sendo, malha, estrela, barramento, anel, sendo estes os tipos fundamentais. Na estrutura em

malha, cada host possui um link dedicado com os demais dispositivos da rede, utilizam-se mais destes tipos de rede as redes wifi, como exemplo. A topologia em estrela caracteriza-se pelo fato de cada dispositivo da rede comunicar-se dedicadamente com um controlador ou um concentrador no centro da estrutura, tendo como vantagens a velocidade e a maior segurana em relao as outras topologias, sendo a mais utilizada.

28

A rede em barramento constitui-se de vrios hosts interligados entre si por apenas um cabo, sendo possvel pequeno volume de trafego e apenas um computador se comunica com outro por vez. A topologia em anel cada dispositivo possui uma conexo dedicada semente com os dois dispositivos diretamente ligados a ele, tal topologia pouco utilizada devido a lentido que gera e ao baixo trafego de dados suportado. Classifica-se rede de computadores conforme sua abrangncia, sendo utilizadas as seguintes nomenclaturas, LAN Local rea Network, MAN, Metropolitam rea Network, WAN, PAN, SAN, entre outras. As mais usuais so as do tipo PAN ou Personal rea Netword e as Wide rea Network e SAN, Storage rea Network. Caracteriza-se as WAN pelo fato desta ser capaz de atuar em grandes distancias sendo que suas conexes podem ser por figra ptica, ondas de rdio, satlites. As PAN, so caracterizadas por atuarem em redes pequenas, poucos metros, dento do limite de espaos pequenos. As SAN, Storage rea Network, exigem maior capacidade, so formadas por computadores de alta performance interligados entre si, geralmente so usadas em redes de segurana, armazenamento de dados e servios. Para definirmos um host, ou computador na rede, utilizamos o numero ip, este no o nico numero necessrio para estabelecermos uma comunicao de rede, precisamos tambm mascara de sub-rede e gateway, para podermos conectarmos a uma rede e acessar a internet. Mascara de sub rede formada por quatro conjunto de 3 octetos cada, podendo variar de 0 a 255 bits, ajuda a identificar a rede, ex. 255.255.255.255. Gateways so compostos por 4 conjuntos numricos tomados 3 a 3, podendo variar de 0 a 255, conhecido como porto de entrada do host que te acesso a internet, exe: 192.168.1.1.

7.2 O endereo IP

29

O endereo IP um endereo exclusivo de cada computador conectado intenret, tal endereo distribudo por uma entidade chamada IANA(Internet Assigned Numbers Authority)/ICANN(Internet Corporation for Assigned Names and Numbers), que distribui cotas de IP para todas as partes do mundo. Tais cotas so administradas por entidades regionalizadas e repassam as mesmas para os ISPS ou internet services provriders. O endereo ip da conexo com a internet faz parte da cota de IPs fornecidos aos ISPS, e identificam sua conexo dentro da Web, ou seja, o Internet Protocol corresponde ao seu endereo na Web. Atualmente ainda encontramos os endereos IP, baseados na tecnologia IPV4, ou seja formado por um conjunto 12 nmeros, divididos em 4 grupos de 3 nmeros, sendo que cada grupo pode assumir valores de 0 a 255, por exemplo: 192.168.34.228. Tal sequncia um formato de 32 bits, ou quatro conjuntos de 8 bits cada, permitindo a criao de at 4.294.967.296 endereos.

7.2.1 Protocolo TCP/IP

S h comunicao entre dois entes de uma rede de existir entre eles uma linguagem comum, e esta linguagem pode-se denominar como protocolo. O modelo TCP/IP foi criado por pesquisadores do Departamento de Defesa dos EUA, sendo uma ferramenta usada para ajudar a explicar o conjunto de protocolos TCP/IP, que o padro dominante para transporte de dados nas redes. Este modelo composto por quatro camadas, sendo definidas como camada de acesso rede, camada de internet, camada de transporte e camada de aplicao, nesta ordem respectivamente. O modelo TCP/IP fornece uma estrutura comum de referencia para o desenvolvimento dos protocolos usados na internet. Esse modelo consiste em camadas que executam funes necessrias para preparar os dados para transmisso em uma rede. Uma mensagem comea na camada superior, a camada de aplicativo, e despelas pelas camadas de transporte e internet, ate a camada de acesso rede. As informaes do cabealho so adicionadas a mensagem conforme ela desce pelas camadas e, ento, transmitida, sendo

30

enviada ao seu destino. Depois de atingir seu destino a mensagem viaja de volta passando pelas mesmas camadas, quando as informaes do cabealho que foram adicionadas a mensagem so completamente removidas conforme a mensagem passa pelas camadas em direo ao destino. Os protocolos da camada de aplicao fornecem servios de rede aos aplicativos dos usurios, como navegadores da Web, programas de e-mail. Protocolos da camada de transporte fornecem o gerenciamento de ponta a ponta dos dados. Uma das funes desses protocolos dividir os dados em segmentos gerenciveis para um transporte mais fcil na rede, so eles TCP e UDP. Os protocolos de internet operam na terceira camada TCP/IP, esses protocolos so usados para fornecer conectividade entre os hosts na rede. So eles, IP, ICPM, RIP, ARP. Protocolos de acesso a rede descrevem os padres que os hosts usam para acessar a parte fsica da rede, quais sejam , padres e tecnologias Ethernet IEEE 802.3, CSMA/CD e 10BASE-T.

Para melhor entender a comunicao entre hosts e estabelecer a configurao de uma rede, deve-se efetuar alguns clculos, como os clculos para determinar um endereo IP. O bom funcionamento e criao de uma rede deve ater-se a algumas caractersticas como a classe que a rede pertence, se h comunicao entre hosts, a segurana da rede entre outras. Para exemplificar uma rede corretamente configurada apresenta-se o seguinte cenrio. Uma rede configurada com 4 hosts, sendo esta rede residencial, classe C, de topologia PAN (Personal rea Network), tipo em estrela. Os IPs dos hosts tm a seguinte numerao; host A 192.168.0.1/ 24; host B 192.168.0.2/24; host C 192.168.0.3/24 e host D 192.168.0.4/24; Temos no final do IP, a referencia /24, esta trata da mascara de subrede, informando antecipadamente que 3 octetos da mascara de subrede esto fechados, tendo esta a seguinte numerao: 255.255.255.0 Configurando o cenrio com subrede:

31

IP MS

192.168.0. X, onde X varia entre 1 e 254 255.255.255.0, onde pode se variar entre 1 e 255, e manipula-se o ultimo octeto

Para determinar-se o ultimo octeto da MS, realizamos a converso do maior nmero cabvel no ltimo octeto, convertendo-o para hexadecimal . 255 = 11111111 hexadecimal Substitui-se cada numero 1 da estrutura hexadecimal pelo numero 2 elevado a uma potencia que varia de 7 a 0, obtendo-se a seguinte condio: 128 64 32 16 8 4 2 1 Tem-se 4 hosts, para determinar-se o numero que ser utilizado com ultimo octeto conta-se, iniciando-se da esquerda para direita, o numero de hosts existentes, como neste caso 4, toma-se do numero 4 em diante, ou seja, 4+2+1=7, ento subtramos do maior numero suportado pelo octeto, neste caso 255, desta conta obtm-se o resultado 248, assim determinamos a mascara de subrede. O endereo conhecido com NET ID tem que ser comum entre os elementos da rede para que haja comunicao, atravs do exemplo abaixo nota-se com deve ser a configurao: IP MS 192.168. 0. 1 Host ID, que define o IP do host na rede.

255.255.255.248

Net ID, que identifica a rede a que pertence o host.


Figura 4

O sistema de caixa eletrnico em estudo, necessita ser instalado em dois hosts, sendo necessria a configurao da rede entre estes hosts, sendo utilizadas as caractersticas de configurao de uma rede com protocolo TCP/IP, de classe C e topologia PAN, neste caso. Em cada computador ser hospedado um arquivo que ir comunicar-se com o outro atravs de uma conexo de rede que tem como protocolo o TCP/IP, quando sero trocados dados entre ambas as partes do programa.

32

8 Da Documentao do Software

A documentao do software considerada como parte importante no processo de desenvolvimento de programas de computador. Atravs da documentao do software que se obtm de forma fcil e segura informaes sobre seu funcionamento e capacidade de trabalho, nela encontra-se descrito o funcionamento do programa, descrio detalhada do que cada funo, linha ou item realiza. A seguir demonstra-se uma das formas de se fazer a documentao de um programa de computador, tal forma de apresentao facilita o entendimento de como o sistema representado pelo software funciona, o que cada item seu faz. As informaes descritas a seguir viro a auxiliar o uso do software, que esta distribudo em duas partes, uma de cadastro e outra de movimentao de conta.

8.1 Do software de cadastro, manuteno e excluso de conta

Tela Principal Tela inicial do software, permite selecionar as opes "Cadastrar", "Manuteno", Excluir e "Ajuda". Cadastro Permite ao usurio fazer um cadastro no sistema. Em primeiro lugar informado seu nmero de conta. O gerador de conta trabalha de forma sequencial. A primeira conta se iniciar com o nmero 5000. Em seguida deve ser informado o nome. O sistema far automaticamente uma verificao do nome. Caso j exista, uma mensagem ser exibida na tela informando que o usurio j possui uma conta e a operao de cadastro ser cancelada, voltando para a tela principal(menu).

33

Se o nome no existir o sistema seguir para o prximo passo, informar o valor do depsito inicial. A seguir o usurio deve informar a senha de 6 caracteres. H 3 tentativas para digitar a senha. Se o limite de tentativas for ultrapassado uma mensagem ser exibida e o programa fechar. Se todos os passos forem efetuados com sucesso a conta do usurio ser criada(armazenamento binrio). O nome do arquivo ser o numero da conta (e a exteso.dat) Ex: conta 5010 - 5010.dat Obs: quando a primeira conta for criada uma pasta chamada "contas" tambm ser criada. Dentro da pasta vo ficar todos os arquivos de contas e um arquivo .txt que servir para o sistema fazer a leitura de qual ser a prxima conta a ser criada. Manuteno Ao selecionar essa opo possvel trocar a senha de uma conta. O primeiro passo informar o nmero da conta. Em seguida deve ser informando a senha atual (senha que est no arquivo). A senha digitada ser comparada com a senha do arquivo, se estiverem iguais o sistema seguir para o prximo passo. Caso a senha seja diferente haver mais duas tentativas para a senha ser digitada, se mesmo assim no estiver correta, o sistema fechar. Depois disso a senha nova deve ser informada. Deve conter 6 caracteres e ser diferente da antiga, tambm h um limite de 3 tentativas para esta operao, o sistema tambm fechar caso no seja efetuada com sucesso. A ultima tarefa a ser feita confirmar a senha, ela deve ser igual a ltima senha informada pelo usurio, tambm existe o limite de 3 tentativas. Se todas as operaes dessa opo forem corretamente efetuadas a senha ser trocada e o usurio ser direcionado a tela inicial.

34

Excluir Permite excluir uma conta do banco. Deve ser primeiramente informado o nmero da conta e depois a senha. A senha ser comparada com a do arquivo e se estiver igual, o usurio deve confirmar se quer fazer a excluso. Se for confirmada a conta ser excluda do sistema. Se a resposta da confirmao da excluso for negativa o usurio ser direcionado a tela principal do programa. Se a senha estiver diferente da senha do arquivo ele poder digitar a senha novamente. Se ainda no estiver correta o programa fechar. Ajuda Informa o que cada funo faz, mostrando ao usurio uma melhor maneira de utilizar o software.

8.2 Das operaes do software, saldo, saque, depsito transferncia e emprstimo.

Tela Principal Essa tela permite selecionar as opes Saldo, Saque, Depsito, Transferncia, Emprstimo e Ajuda. Saldo possvel verificar o saldo da conta. O usurio deve digitar primeiramente a conta e depois a senha. Se a senha estiver correta o programa mostrar o nome do titular da conta e o valor do saldo. Se a senha estiver incorreta o usurio ser direcionado a tela principal. Saque Selecionando essa opo possvel fazer um saque da conta.

35

Deve ser informado pelo usurio o numero da conta e a senha. Se tudo estiver correto, dever ser informado o valor do saque, se incorreta o usurio ser direcionado tela principal Uma mensagem exibida na tela confirmar se o saque foi efetuado com sucesso Outra mensagem perguntar se ele quer consultar o saldo. Se confirmar o saldo ser apresentado, se no, ser direcionado a tela principal. Depsito Permite fazer um depsito na conta. O usurio deve informar a conta que ser feita o depsito e o valor do depsito. Haver apenas uma confirmao de depsito nessa operao. Se a resposta da confirmao for positiva o depsito ser feito. Depois disso mesmo se o usurio no confirmar o depsito ele ser direcionado tela principal Transferncia Permite fazer uma transferncia de uma conta para a outra. O primeiro passo informar qual conta ser debitada juntamente da senha. Se a senha estiver correta o usurio deve informar o valor da transferncia e a conta a ser creditada. Para efetuar essa operao ser preciso uma confirmao. Aps isso o usurio ser direcionado a tela principal. Emprstimo O primeiro passo informar o numero da conta. Em seguida informar a senha. Se a senha estiver correta o programa mostrar o nome e o saldo do usurio. Ser pedido para informar o valor do depsito, que deve estar entre 1 e 20mil.

36

Aps ser informado o valor do emprstimo o usurio devera informar em quantos meses ele pretende pagar. As opes so 12, 24, 36, 48 ou 60, quando selecionado algumas destas opes sero gerados o montante do emprstimo realizado, seus juros e valor das prestaes.

37

8 CONCLUSO

Pode-se concluir que o software desenvolvido e aqui apresentado ser de utilidade para as instituies financeiras a que se destinam, uma vez que seguiu padres de produo amplamente divulgados. Fora utilizada linguagem de programao denominada como C, pelo fato de ser uma linguagem amplamente conhecida dentre os que atuam no ramo da informtica. As tcnicas de engenharia de software foram aplicadas, sendo utilizadas as normas estabelecidas, tentando se adequar ao conjunto de normas conhecidas como CMM ou Capability Maturity Model. As tcnicas utilizadas em rede de computadores tambm foram objeto do desenvolvimento. O conhecimento de protocolos de rede, bem como o calculo de endereos ip, mascaras de sub-rede foram empregados para realizar a ligao ou conexo entre os dois hosts que armazenaro as partes do software. Juntamente com as tcnicas de redes de computadores foram utilizadas as formulas matemticas que possibilitaram os clculos necessrios para o estabelecimento da rede e do funcionamento do software. A utilizao das formulas matemticas fizeram-se presentes durante todo

desenvolvimento do software, uma vez que trata-se de um software para controle de um caixa eletrnico, onde se realizam inmeras contas. Os inmeros testes realizados pela equipe desenvolvedora do software vem comprovar sua funcionalidade e capacidade de atingir as necessidades do mercado financeiro.

38

BIBLIOGRAFIA

Mizrahi, Victorine Viviane Treinamento em linguagem C /Victorine Viviane Mizrahi, So Paulo: Pearson Prentice Hall, 2008. 2 Edio. Pressman, Roger S. Engenharia de software / Roger S. Pressman; traduo Jose Carlos Barbosa dos Santos; reviso tcnica Jos Carlos Maldonado, Paulo Cesar Masiero, Rosely Sanches So Paulo: Makron Books, 1995. 3 Edio. Vitrio Bruno Mazzola Engenharia de Software: Conceitos Bsicos, Prof Vitrio Bruno Mazzola, INE/CTC/UFSC, Santa Catarina 2008. Acessado via internet, disponvel em HTTP:WWW.inf.ufsc.br/~jbosco.doc. Acesso em 10 de novembro de 2012. Adalberto A. Dornelles F., Senai, Conselho Regional, Fundamentos de Linguagem C, Adalberto A Dornelles F., Caxias do Sul, 1997. Acessado via internet, disponvel em http://www.dca.ufrn.br/~xamd/dca0800/apostila_C.pdf. Acesso em 10 de novembro de 2012. Andrew S. Tanenbaum Redes de Computadores, Andrew S. Tanenbaum, J.Wetherall, David. So Paulo, 2011, Pearson Education - Br, 5 Edio.