Analisando propostas

Trabalho de faculdade, barbada

Publicado em 15 de Dezembro de 2020 dias na TI e Programação

Sobre este projeto

Aberto

Crie um protótipo para uma agencia bancária simples, de acordo com a descrição
abaixo:
A classe Conta refere-se a contas correntes comuns, sem limite de cheque especial,
ou seja, o cliente possuidor desse tipo de conta não pode realizar saques além do
valor real depositado. A classe Conta possui duas especializações ou subclasses que
herdam seus atributos e métodos, representadas pelas classes ContaEspecial e
Poupança.
A classe Conta possui atributos: número da conta, saldo, data da abertura, tipo
(comum, especial ou poupança), data de encerramento, situação (se está ativa ou
inativa) e senha.
Esta classe possui também os métodos: abertura de conta (abertura),
ou seja, o método que irá retornar o número da conta criada, encerramento de conta
(encerramento), saque (saque), depósito (deposito), verificação de saldo (verSaldo),
consulta de conta (consulta) e validação de senha (valSenha). Os atributos da Classe
Conta são protegidos para se tornar visíveis às sub-classes.
O método abertura recebe como parâmetro o saldo da conta, ou seja, o valor inicial
depositado pelo cliente no momento da abertura da conta, o tipo de conta (vamos
determinar uma convenção: o atributo assumirá o valor 1 para contas comuns, 2 para
contas especiais e 3 para contas poupança) e a senha da conta.
Os atributos número
da conta (nroConta), data de abertura (dtAber) e situação não precisam ser passados
como parâmetro, pois, os atributos são iniciados durante a implementação do método,
já que o número da conta é gerado pelo método abertura, a data de abertura pode ser
capturada diretamente do sistema e a situação da conta, no momento da abertura
estará sempre ativa (vamos determinar outra convenção: o valor 1 no atributo situação
equivale à conta ativa e 0 (zero) à conta inativa). Da mesma maneira o atributo data de
encerramento (dtEncer), no momento da abertura, sempre será deixado vazio,
indicando que a conta em questão não se encontra encerrada.
O método abertura retorna um valor do tipo long, este valor conterá o número da conta
criada, se o método for concluído com sucesso ou conterá zero se ocorrer algum erro
durante a execução do método.
O método encerramento encerra uma conta, alterando o valor do atributo situação
para 0 (zero), indicando que a conta está inativa. Este método não recebe parâmetros,
já que para ser encerrada a conta precisa, primeiro, ser consultada através do método
consulta.
Esse método retorna 1 caso a conta tenha sido encerrada com sucesso ou 0
(zero) caso não tenha sido possível encerrá-la.
O método consulta determina se o número da conta é válido, ou seja, se existe uma
conta com o número informado. O método recebe como parâmetro o número da conta
e retorna 1 se a conta existir ou 0 (zero) caso contrário.

O método validação de senha (valSenha) recebe como parâmetro a senha da conta
informada pelo cliente e determina se a senha é válida. Como nos outros métodos
anteriores, retornará 1 se a senha estiver correta ou zero caso não esteja.
O método verSaldo retorna o saldo atual da conta.
Como este método só pode ser
chamado após executar o método consulta, não é necessário informar o número da
conta. Os métodos saque e deposito são bastante semelhantes, diferenciando-se pelo
primeiro diminuir o valor do saldo da conta e o segundo por aumentá-lo, os dois
recebem como parâmetro o valor a sacar ou depositar na conta. O método depósito
recebe ainda o número da conta onde o depósito deverá ser realizado.
Como o
método saque só poderá ser chamado após a conta ter sido consultada e sua senha
validada, não há necessidade de receber o número da conta.
A classe ContaEspecial representa as contas que permitem ao correntista sacar
valores além do saldo da conta, até um limite estabelecido. Esta classe possui um
atributo além dos herdados da classe Conta Comum, que representa o limite máximo
que o correntista poderá sacar além de seu saldo.
A classe Conta Especial possui três
métodos particulares, o primeiro é a redeclaração do método abertura da classe
Conta, este método precisa ser redeclarado devido à necessidade de se incluir o
atributo limite, inexistente na classe Conta.
O segundo método da classe ContaEspecial também é uma redeclaração de um
método existente na classe Conta, o método saque. Este método precisa ser
redeclarado para incluir o atributo limite: um correntista poderá sacar um valor superior
ao seu saldo real até o limite estabelecido pelo atributo de mesmo nome.

O outro método contabiliza diariamente o valor de juros a ser pago pelo uso do limite
do cheque especial do saldo da conta do correntista, até que o limite seja coberto.
Este método não recebe um número de conta específico, pois, ao ser chamado ele
verificará todas as instâncias da classe ContaEspecial, à procura de contas que
estejam utilizando o limite da conta especial.
Já a classe ContaPoupança, como o próprio nome diz, representa as contas poupança
mantidas pela instituição bancária. Esta classe possui apenas um método além dos
herdados da classe Conta: o método rendimento.
Este método recebe como
parâmetros a data atual (datDia) e o percentual de juros que as contas com
aniversário no dia receberão. Este método se aplica a todas as instâncias cujo dia da
data de vencimento seja igual ao dia da data atual.
O diagrama apresenta também a classe Cliente, que representa os clientes que
possuem uma ou mais contas.
A classe Cliente possui uma associação do tipo
dependência com a classe Conta, uma instância da classe Conta pode interagir com
uma e somente uma instância da classe Cliente e as instâncias da classe Conta
complementam as informações da classe Cliente.
Assim sempre que um determinado Cliente for consultado, as informações sobre suas
contas devem também ser apresentadas.
Os atributos da classe Cliente (simplificaremos usando somente pessoa física)
também devem ser protegidos para que possam ser enxergados por suas subclasses.

São eles: nome, endereco, telefone, renda, situacao (se está ativa ou inativa), CPF
(valCpf) e consulta por CPF (consCpf). Todos os métodos retornam 1 se forem
concluídos com sucesso e 0 (zero) caso contrário.
Para resolver o referido problema, tome como base o diagrama de classe abaixo.

Categoria TI e Programação
Subcategoria Aplicativos desktop
Qual é o alcance do projeto? Criar um novo aplicativo
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Não se aplica
Disponibilidade requerida Conforme necessário
Plataformas exigidas Windows

Prazo de Entrega: 17 de Dezembro de 2020

Habilidades necessárias

Outro projetos publicados por A. T.