4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA...

10
ATIVIDADES PRÁTICAS SUPERVISIONADAS Sistemas de Informação 4 a série Programação Orientada a Objetos II A atividade prática supervisionada (ATPS) é um método de ensino- aprendizagem desenvolvido por meio de um conjunto de atividades programadas e supervisionadas e que tem por objetivos: 9 Favorecer a aprendizagem. 9 Estimular a co-responsabilidade do aluno pelo aprendizado eficiente e eficaz. 9 Promover o estudo, a convivência e o trabalho em grupo. 9 Desenvolver os estudos independentes, sistemáticos e o autoaprendizado. 9 Oferecer diferenciados ambientes de aprendizagem. 9 Auxiliar no desenvolvimento das competências requeridas pelas Diretrizes Curriculares Nacionais dos Cursos de Graduação. 9 Promover a aplicação da teoria e conceitos para a solução de problemas relativos à profissão. 9 Direcionar o estudante para a emancipação intelectual. Para atingir estes objetivos as atividades foram organizadas na forma de um desafio, que será solucionado por etapas ao longo do semestre letivo. Participar ativamente deste desafio é essencial para o desenvolvimento das competências e habilidades requeridas na sua atuação no mercado de trabalho. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional. AUTOR: Cristiane Yae Mi Imamura – Faculdade Anhanguera de Valinhos

Transcript of 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA...

Page 1: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

ATIVIDADES PRÁTICAS

SUPERVISIONADAS

Sistemas de Informação4a sérieProgramação Orientada a Objetos II

A atividade prática supervisionada (ATPS) é um método de ensino-

aprendizagem desenvolvido por meio de um conjunto de atividades

programadas e supervisionadas e que tem por objetivos:

Favorecer a aprendizagem.

Estimular a co-responsabilidade do aluno pelo aprendizado eficiente e

eficaz.

Promover o estudo, a convivência e o trabalho em grupo.

Desenvolver os estudos independentes, sistemáticos e o autoaprendizado.

Oferecer diferenciados ambientes de aprendizagem.

Auxiliar no desenvolvimento das competências requeridas pelas Diretrizes

Curriculares Nacionais dos Cursos de Graduação.

Promover a aplicação da teoria e conceitos para a solução de problemas

relativos à profissão.

Direcionar o estudante para a emancipação intelectual.

Para atingir estes objetivos as atividades foram organizadas na forma de

um desafio, que será solucionado por etapas ao longo do semestre letivo.

Participar ativamente deste desafio é essencial para o desenvolvimento das

competências e habilidades requeridas na sua atuação no mercado de trabalho.

Aproveite esta oportunidade de estudar e aprender com desafios da vida

profissional.

AUTOR:Cristiane Yae Mi Imamura – Faculdade Anhanguera de Valinhos

Page 2: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura2

COMPETÊNCIAS E HABILIDADES

Ao concluir as etapas propostas neste desafio você terá desenvolvido as competênciase habilidades descritas a seguir.

Habilidades para o desenvolvimento de algoritmos e programas.Habilidade em tomar decisões e saber implementá-las.

DESAFIO

Para que o governo de cada país consiga efetuar investimentos em estradas, aeroportos, eo custeio de bens e serviços públicos como saúde, educação e segurança, são arrecadadosimpostos de pessoas ou organizações. Estes impostos estão presentes em cada produto aser vendido por uma loja, ou nos valores retidos na fonte quando se efetua o pagamentode um funcionário.

Assim, em qualquer empresa existe a necessidade de efetuar o pagamento de seuscolaboradores e do recolhimento dos impostos retidos na fonte. Devido à legislaçãocomplexa que existe no Brasil, torna-se fundamental que empresas de médio e de grandeporte tenham sistemas informatizados para auxiliar esta tarefa que ocorre mensalmente.

Os colaboradores de uma empresa podem ser classificados por celetistas (que sãocontratados segundo a CLT - Consolidação das Leis do Trabalho) ou como PJ (PessoasJurídicas). A contratação como celetista traz maiores encargos para a empresa, porém dámaiores garantias para o colaborador. Já os colaboradores contratados como PJ,geralmente, recebem um montante maior como pagamento, uma vez que têm uma cargamenor de encargos.

Para calcular o valor do salário líquido a ser recebido por um colaborador, com base nonúmero de horas trabalhadas no mês, as regras são as seguintes:

Para colaboradores celetistas:

1. Caso o número de horas seja inferior a 160, o valor bruto é o valor do salário.2. Caso o número de horas seja maior ou igual a 161, o valor bruto será o valor do salário

mais as horas extras. Neste caso, o salário bruto será calculado da seguinte forma:a. Calcule o valor de cada hora extra dividindo o salário por 160.b. O valor bruto do salário será o número de horas trabalhadas no mês

multiplicado pelo valor da hora calculado.3. Descontar o IRRF (Imposto de Renda Retido na Fonte). O imposto de renda é

calculado da seguinte forma:a. Caso o salário seja inferior a R$ 1.499,15, o imposto é zero.b. Caso o salário esteja de R$ 1.499,16 até R$ 2.246,75, o imposto é de 7,5% e deve-

se abater R$ 112,43 do imposto.c. Caso o salário esteja de R$ 2.246,76 até R$ 2.995,70, o imposto é de 15% e deve-

se abater R$ 280,94 do imposto.d. Caso o salário esteja de R$ 2.995,71 até R$ 3.743,19, o imposto é de 22,5% e

deve-se abater R$ 505,62 do imposto.

Page 3: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura3

e. Caso o salário seja superior a R$ 3.743,20, o imposto é de 27,5% e deve-se abaterR$ 692,78 do imposto.

4. Descontar a contribuição para o INSS (Instituto Nacional do Seguro Social). O valor aser retido deve ser calculado da seguinte forma:

a. Caso o salário seja inferior a R$ 965,67, o valor de INSS é de 8%.b. Caso o salário esteja de R$ 965,68 até R$ 1.609,45, o valor de INSS é de 9%.c. Caso o salário seja maior ou igual a R$ 1.609,46, o valor de INSS é de 11%. No

entanto, o valor máximo de INSS é de R$ 354,08.

Para colaboradores PJ:

1. O valor bruto é obtido através da multiplicação do valor ganho pelo colaborador porhora pelo número de horas trabalhadas.

2. Descontar o IRRF (Imposto de Renda Retido na Fonte). O IRRF é de 1,5% sobre o valorbruto.

3. Caso o valor bruto seja superior a R$ 5.000,00, deve-se descontar oPIS/COFINS/CSLL. O valor retido na fonte destes impostos é de 4,65% sobre o valorbruto.

4. Caso o valor bruto seja superior a R$ 5.000,00, deve-se descontar o ISS. O valor retidona fonte deste imposto é de 4%.

Com base no que foi descrito, o desafio consiste em desenvolver um sistema paracontabilizar o valor de impostos a serem pagos por um colaborador no cálculo de seusalário ou por uma pessoa na compra de um determinado produto.

Deverão ser estabelecidos grupos de até 4 alunos para a execução desse desafio. Éimportante que os grupos não se alterem para elaboração de cada etapa.

ETAPA 1

Aula tema: Apresentação da Disciplina - Revisão (classes e objetos, instanciação,encapsulamento, construtores, herança).

Esta atividade é importante para que você revise os conceitos básicos da programaçãoorientada a objetos que serão necessários ao longo da disciplina.

Para realizá-la é importante seguir os passos descritos.

PASSO 1

Faça o desenvolvimento das classes para representar o conceito de colaborador,celetista e pessoa jurídica. Os colaboradores possuem informações de nome, endereço,telefone. Os celetistas, além das informações de colaborador, também possuem o número doRG, número do CPF e o salário mensal. Já os colaboradores do tipo pessoa jurídica possuemo número do CNPJ (Cadastro Nacional de Pessoa Jurídica) e o valor ganho por hora detrabalho. As classes devem ter seus atributos encapsulados e devem ter construtores parainicializar seus dados.

Page 4: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura4

PASSO 2

Na classe que representa os colaboradores celetistas, desenvolva métodos paracalcular e retornar o salário bruto e o valor de cada imposto, conforme as regras mencionadasno enunciado do Desafio.

PASSO 3

Na classe que representa os colaboradores do tipo pessoa jurídica, desenvolvamétodos para calcular e retornar o salário bruto e o valor de cada imposto, conforme asregras mencionadas no enunciado do Desafio.

PASSO 4

Considerando as classes desenvolvidas no Passo 1 e adaptadas no Passo 2 e no Passo3 desta etapa, faça um programa que calcule e forneça o pagamento de um colaborador. Oprograma deve inicialmente solicitar que o usuário informe qual o tipo de colaborador(celetista ou PJ) e em seguida solicitar os dados e criar uma instância da classecorrespondente ao tipo selecionado. Finalizada a leitura, o programa deve apresentar ummenu com as seguintes opções:

1. Alterar valor do pagamento2. Calcular pagamento0. Sair

A opção 1 deve permitir que o valor a ser pago para o colaborador seja alterado. Casoo colaborador seja um celetista, o valor a ser alterado é o valor do salário mensal. Caso ocolaborador seja um PJ, o valor alterado é o valor ganho por hora de trabalho.

A opção 2 deve calcular o valor a ser pago para o colaborador. Para isso deve ser lido onumero de horas trabalhadas pelo colaborador e o sistema deve apresentar as informaçõesdo valor bruto, o nome e o valor de cada imposto a ser retido e o valor líquido.

Dica: para leitura do teclado, pode ser utilizada a classe java.util.Scanner que já vemdisponível no Java.

PASSO 5

Entregue ao professor da disciplina:Uma mídia contendo o código fonte comentado do programa, ou seja, os arquivoscom extensão java que se referem às classes desenvolvidas nos passos anteriores.Além disso, nesta mídia também deve constar para cada arquivo com extensão java, oseu respectivo arquivo de bytecode (com extensão class).Um documento impresso constituído de capa e o código fonte comentado.

Instrução: verifique com o professor da disciplina o tipo de mídia (CD, e-mail, etc.) a serentregue.

Page 5: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura5

ETAPA 2

Aula tema: Introdução ao desenvolvimento de interfaces gráficas; Introdução à AWT eSwing; Definição de janelas básicas usando componentes Swing: containers, botões,caixas de texto e rótulos; Gerenciadores de layout; Tratamento de eventos;Polimorfismo.

Esta atividade é importante para que você construa um programa com uma interfacegráfica simples e utilize o mecanismo que permite que chamada de um método possa ter diversoscomportamentos, dependendo do tipo que está sendo referenciado no momento da execução.

Para realizá-la é importante seguir os passos descritos.

PASSO 1

Modifique o programa desenvolvido na Etapa 1 para que ele funcione através de umainterface gráfica. O programa deve solicitar que o usuário informe se o colaborador é celetistaou PJ antes de abrir a janela com os campos de texto e os botões. Para isto basta executar ocódigo descrito na sequência, que faz uso da classe JOptionPane do Swing (deve-se tambémcolocar um import para javax.swing.JOptionPane):

String opcao;do { opcao = JOptionPane.showInputDialog( "Informe o tipo de colaborador (CLT ou PJ)");

if (opcao == null) {System.exit(0);

} opcao = opcao.toUpperCase();} while (!opcao.equals("CLT") && ! opcao.equals("PJ"));

Desta forma, a variável “opcao” ficará com o valor CLT ou PJ.Caso o usuário escolha CLT, o sistema deve apresentar uma tela como a seguir.

Page 6: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura6

Caso a opção tenha sido por PJ, a tela a ser apresentada é a que segue.

PASSO 2

Implemente o comportamento dos botões do sistema, conforme descrito a seguir.

Botão Salvar

1. Caso algum campo não tenha sido preenchido (esteja com o conteúdo vazio),mostrar uma mensagem de erro informando que todos os campos sãoobrigatórios e não salvar os dados.

2. Caso todos os campos estejam preenchidos:a. Caso seja a primeira vez que o usuário esteja salvando os dados, o

sistema deve criar uma instância da classe correspondente à opção feitano início do programa passando todos os dados preenchidos na tela parao construtor.

b. Caso o colaborador já tenha sido salvo, o sistema deve atualizar os dadosdo colaborador (através de métodos set) a partir dos dados digitados noscampos de texto.

Botão Calcular Pagamento

1. Caso o usuário ainda não tenha salvado o colaborador nenhuma vez, o sistemadeve apresentar uma mensagem de erro informando que é necessário salvar osdados do colaborador antes de calcular o pagamento.

2. Caso o usuário já tenha salvado o colaborador, solicita que o usuário informe onúmero de horas trabalhadas no mês. Para isto utilize o seguinte código:

int horasTrabalhadas = -1;do { String horasTrabalhadasStr = JOptionPane.showInputDialog( "Informe o número de horas trabalhadas");

if (horasTrabalhadasStr != null) { horasTrabalhadas = Integer.parseInt(horasTrabalhadasStr);

Page 7: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura7

}} while (horasTrabalhadas < 0);

3. Calcula o valor bruto, o valor dos impostos e o valor líquido e os apresenta emuma mensagem na tela, separados por traços, conforme o exemplo que segue.

Para apresentar uma mensagem de erro, utilize o comando:

JOptionPane.showMessageDialog(null, "mensagem", "Erro",JOptionPane.ERROR_MESSAGE);

Para apresentar uma mensagem de aviso, utilize o comando:

JOptionPane.showMessageDialog(null, "mensagem", "Título da janela",JOptionPane.INFORMATION_MESSAGE);

PASSO 3

Entregue ao professor da disciplina:Uma mídia contendo o código fonte comentado do programa (com extensão java) e osrespectivos bytecodes (com extensão class), referentes às classes desenvolvidas noPasso 1 e no Passo 2 desta etapa.Um documento impresso constituído de capa e o código fonte comentado.Instrução: verifique com o professor da disciplina o tipo de mídia (CD, e-mail, etc.) aser entregue.

ETAPA 3

Aula tema: Polimorfismo e classe abstrata.

Esta atividade é importante para que você compreenda que é possível criar classes quecontenham métodos que deverão ser implementados por sub-classes e que este mecanismo viabiliza afacilidade na manutenção de um programa.

Para realizá-la é importante seguir os passos descritos.

PASSO 1

Leia atentamente os conceitos referentes a polimorfismo e classes abstratas no livrotexto da disciplina.

Page 8: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura8

PASSO 2

Modifique o programa desenvolvido na Etapa 2 para que a classe Colaborador setorne abstrata e tenha dois métodos abstratos:

Um método que recebe o número de horas trabalhadas e calcula o valor bruto.Um método que recebe o número de horas trabalhadas e retorna um array (vetor) cominstancias da classe Imposto.

Para resolver este exercício, você deverá criar uma classe Imposto que deve conter onome do imposto a ser pago pelo colaborador e o valor do referido imposto.

PASSO 3

A inserção dos métodos abstratos em Colaborador pode ocasionar a necessidade dealterações nas classes que representam os colaboradores celetistas e os do tipo pessoajurídica. Portanto, adéque as classes destes dois tipos de colaboradores de acordo com asmodificações realizadas no Passo 2.

Além disso, modifique o tratamento do botão “Calcular Pagamento” para que ele façauso dos dois métodos abstratos criados na classe Colaborador, por meio do uso de umavariável declarada com o tipo desta classe.

PASSO 4

Entregue ao professor da disciplina:Uma mídia contendo o código fonte comentado do programa (com extensão java) e osrespectivos bytecodes (com extensão class), referentes às classes desenvolvidas noPasso 2 e no Passo 3 desta etapa.Um documento impresso constituído de capa e o código fonte comentado.Instrução: verifique com o professor da disciplina o tipo de mídia (CD, e-mail, etc.) aser entregue.

ETAPA 4

Aula tema: Interface e tratamento de exceções.

Esta atividade é importante para que você entenda que em muitas situações o uso deherança nem sempre é desejável, já que em muitos casos os objetos podem compartilhar umcomportamento, mas não os dados. Assim, espera-se que você compreenda que é possível tornar ocódigo mais flexível quando se faz o uso de interface, pois ela serve de guia de métodos que podem sercompartilhados, sem mencionar como tais métodos serão implementados. Além disso, você poderáaprender como sinalizar e tratar as condições que podem gerar inconsistências na execução do seuprograma.

Para realizá-la é importante seguir os passos descritos.

Page 9: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura9

PASSO 1

Leia atentamente os conceitos referente a interface e tratamento de exceções no livrotexto da disciplina.

PASSO 2

Um produto é tributável se sobre ele incidem impostos obrigatórios que o poderpúblico exige que sejam pagos.

Assim, o salário de um colaborador é tributável. Além dele, um produto ou umserviço essencial também é tributável, pois sobre ele incidem os impostos: ICMS, IPI, PIS eCOFINS.

Para simplificar, admita que sobre o preço dos produtos e serviços essenciais incidamos seguintes valores de impostos:

ICMS = 7%, IPI = 5%, PIS= 1,65% e COFINS = 7,6%.

Modifique o programa desenvolvido na Etapa 3, de tal forma que:

Seja criada a interface Tributável que contenha a assinatura de um método que recebeum vetor de Impostos e retorna o valor total de impostos pagos. Esse método devepropagar uma exceção se o vetor estiver vazio ou for nulo.Seja criada a classe Produto que deve ser Tributável e que contenha nome e preçocomo atributos.Torne o Colaborador Tributável e faça as adequações que forem necessárias.

PASSO 3

Altere as telas de folha de pagamento dos colaboradores acrescentado um botão “Totalde Impostos” que ao ser pressionado deve gerar uma tela de aviso contendo o valor total deimpostos pagos por um objeto Tributável que deve referenciar o colaborador que foicadastrado.

Seguindo os moldes das telas existentes, crie uma para que seja possível ler os dadosde um Produto e que tenha o botão “Salvar” e o botão “Total de Impostos”.

Seu programa deve ler inicialmente qual a instância que será processada: Celetista,Pessoa Jurídica, ou Produto, para que seja apresentada a tela apropriada.

PASSO 4

Entregue ao professor da disciplina:Uma mídia contendo o código fonte comentado do programa (arquivos com extensãojava) que foi desenvolvido para solucionar os Passos 2 e 3 desta etapa. Devem sertambém incluídos os respectivos bytecodes.Um documento impresso constituído de capa e o código fonte comentado.Instrução: verifique com o professor da disciplina o tipo de mídia (CD, e-mail, etc.) aser entregue.

Page 10: 4 série Programação Orientada a Objetos II - vqv.com.br · PDF fileA atividade prática supervisionada (ATPS) ... profissional. AUTOR: Cristiane Yae ... educação e segurança,

Sistemas de Informação– 4ª série– Programação Orientada a Objetos II

Cristiane Yae Mi Imamura10

ETAPA 5

Aula tema: Coleções.

Esta atividade é importante para que você possa utilizar as implementações de algumasestruturas de dados que a linguagem Java oferece.

Para realizá-la é importante seguir os passos descritos.

PASSO 1

Leia atentamente os conceitos sobre coleções de objetos (List, Set) no livro texto dadisciplina.

PASSO 2

Altere o programa desenvolvido na Etapa 4 substituindo o uso de vetor por umacoleção.

PASSO 3

Entregue ao professor da disciplina:Uma mídia contendo o código fonte comentado do programa (arquivos com extensãojava) que foi desenvolvido para solucionar o Passo 2. Devem ser incluídos osrespectivos bytecodes.Um documento impresso constituído de capa e o código fonte comentado.Instrução: verifique com o professor da disciplina o tipo de mídia (CD, e-mail, etc.) aser entregue.