ATIVIDADES PRÁTICAS
SUPERVISIONADAS
Sistemas de Informação
4a série
Programação Orientada a Objetos II
A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem
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
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
COMPETÊNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio você terá desenvolvido as competências
e 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, e
o custeio de bens e serviços públicos como saúde, educação e segurança, são arrecadados
impostos de pessoas ou organizações. Estes impostos estão presentes em cada produto a
ser vendido por uma loja, ou nos valores retidos na fonte quando se efetua o pagamento
de um funcionário.
Assim, em qualquer empresa existe a necessidade de efetuar o pagamento de seus
colaboradores e do recolhimento dos impostos retidos na fonte. Devido à legislação
complexa que existe no Brasil, torna-se fundamental que empresas de médio e de grande
porte tenham sistemas informatizados para auxiliar esta tarefa que ocorre mensalmente.
Os colaboradores de uma empresa podem ser classificados por celetistas (que são
contratados segundo a CLT - Consolidação das Leis do Trabalho) ou como PJ (Pessoas
Jurí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 carga
menor de encargos.
Para calcular o valor do salário líquido a ser recebido por um colaborador, com base no
nú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 devese 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 devese 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.
2
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
e. Caso o salário seja superior a R$ 3.743,20, o imposto é de 27,5% e deve-se abater
R$ 692,78 do imposto.
4. Descontar a contribuição para o INSS (Instituto Nacional do Seguro Social). O valor a
ser 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 por
hora pelo número de horas trabalhadas.
2. Descontar o IRRF (Imposto de Renda Retido na Fonte). O IRRF é de 1,5% sobre o valor
bruto.
3. Caso o valor bruto seja superior a R$ 5.000,00, deve-se descontar o
PIS/COFINS/CSLL. O valor retido na fonte destes impostos é de 4,65% sobre o valor
bruto.
4. Caso o valor bruto seja superior a R$ 5.000,00, deve-se descontar o ISS. O valor retido
na fonte deste imposto é de 4%.
Com base no que foi descrito, o desafio consiste em desenvolver um sistema para
contabilizar o valor de impostos a serem pagos por um colaborador no cálculo de seu
salá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ção
orientada 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 do
RG, número do CPF e o salário mensal. Já os colaboradores do tipo pessoa jurídica possuem
o número do CNPJ (Cadastro Nacional de Pessoa Jurídica) e o valor ganho por hora de
trabalho. As classes devem ter seus atributos encapsulados e devem ter construtores para
inicializar seus dados.
3
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
PASSO 2
Na classe que representa os colaboradores celetistas, desenvolva métodos para
calcular e retornar o salário bruto e o valor de cada imposto, conforme as regras mencionadas
no enunciado do Desafio.
PASSO 3
Na classe que representa os colaboradores do tipo pessoa jurídica, desenvolva
métodos para calcular e retornar o salário bruto e o valor de cada imposto, conforme as
regras mencionadas no enunciado do Desafio.
PASSO 4
Considerando as classes desenvolvidas no Passo 1 e adaptadas no Passo 2 e no Passo
3 desta etapa, faça um programa que calcule e forneça o pagamento de um colaborador. O
programa 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 classe
correspondente ao tipo selecionado. Finalizada a leitura, o programa deve apresentar um
menu com as seguintes opções:
1. Alterar valor do pagamento
2. Calcular pagamento
0. Sair
A opção 1 deve permitir que o valor a ser pago para o colaborador seja alterado. Caso
o colaborador seja um celetista, o valor a ser alterado é o valor do salário mensal. Caso o
colaborador 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 o
numero de horas trabalhadas pelo colaborador e o sistema deve apresentar as informações
do 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á vem
disponível no Java.
PASSO 5
Entregue ao professor da disciplina:
Uma mídia contendo o código fonte comentado do programa, ou seja, os arquivos
com 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, o
seu 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 ser
entregue.
4
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
ETAPA
2
Aula tema: Introdução ao desenvolvimento de interfaces gráficas; Introdução à AWT e
Swing; 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 interface
gráfica simples e utilize o mecanismo que permite que chamada de um método possa ter diversos
comportamentos, 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 uma
interface gráfica. O programa deve solicitar que o usuário informe se o colaborador é celetista
ou PJ antes de abrir a janela com os campos de texto e os botões. Para isto basta executar o
código descrito na sequência, que faz uso da classe JOptionPane do Swing (deve-se também
colocar 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.
5
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
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ão
obrigató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 feita
no início do programa passando todos os dados preenchidos na tela para
o construtor.
b. Caso o colaborador já tenha sido salvo, o sistema deve atualizar os dados
do colaborador (através de métodos set) a partir dos dados digitados nos
campos de texto.
Botão Calcular Pagamento
1. Caso o usuário ainda não tenha salvado o colaborador nenhuma vez, o sistema
deve apresentar uma mensagem de erro informando que é necessário salvar os
dados do colaborador antes de calcular o pagamento.
2. Caso o usuário já tenha salvado o colaborador, solicita que o usuário informe o
nú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);
6
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
}
} while (horasTrabalhadas < 0);
3. Calcula o valor bruto, o valor dos impostos e o valor líquido e os apresenta em
uma 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 os
respectivos bytecodes (com extensão class), referentes às classes desenvolvidas no
Passo 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.) a
ser entregue.
ETAPA
3
Aula tema: Polimorfismo e classe abstrata.
Esta atividade é importante para que você compreenda que é possível criar classes que
contenham métodos que deverão ser implementados por sub-classes e que este mecanismo viabiliza a
facilidade 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 livro
texto da disciplina.
7
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
PASSO 2
Modifique o programa desenvolvido na Etapa 2 para que a classe Colaborador se
torne 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) com
instancias da classe Imposto.
Para resolver este exercício, você deverá criar uma classe Imposto que deve conter o
nome 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 de
alterações nas classes que representam os colaboradores celetistas e os do tipo pessoa
jurídica. Portanto, adéque as classes destes dois tipos de colaboradores de acordo com as
modificações realizadas no Passo 2.
Além disso, modifique o tratamento do botão “Calcular Pagamento” para que ele faça
uso dos dois métodos abstratos criados na classe Colaborador, por meio do uso de uma
variá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 os
respectivos bytecodes (com extensão class), referentes às classes desenvolvidas no
Passo 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.) a
ser 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 de
herança nem sempre é desejável, já que em muitos casos os objetos podem compartilhar um
comportamento, mas não os dados. Assim, espera-se que você compreenda que é possível tornar o
código mais flexível quando se faz o uso de interface, pois ela serve de guia de métodos que podem ser
compartilhados, 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 seu
programa.
Para realizá-la é importante seguir os passos descritos.
8
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
PASSO 1
Leia atentamente os conceitos referente a interface e tratamento de exceções no livro
texto da disciplina.
PASSO 2
Um produto é tributável se sobre ele incidem impostos obrigatórios que o poder
público exige que sejam pagos.
Assim, o salário de um colaborador é tributável. Além dele, um produto ou um
serviço essencial também é tributável, pois sobre ele incidem os impostos: ICMS, IPI, PIS e
COFINS.
Para simplificar, admita que sobre o preço dos produtos e serviços essenciais incidam
os 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 recebe
um vetor de Impostos e retorna o valor total de impostos pagos. Esse método deve
propagar 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ço
como 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 “Total
de Impostos” que ao ser pressionado deve gerar uma tela de aviso contendo o valor total de
impostos pagos por um objeto Tributável que deve referenciar o colaborador que foi
cadastrado.
Seguindo os moldes das telas existentes, crie uma para que seja possível ler os dados
de 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ão
java) que foi desenvolvido para solucionar os Passos 2 e 3 desta etapa. Devem ser
també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.) a
ser entregue.
9
Cristiane Yae Mi Imamura
Sistemas de Informação– 4ª série– Programação Orientada a Objetos II
ETAPA
5
Aula tema: Coleções.
Esta atividade é importante para que você possa utilizar as implementações de algumas
estruturas 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 da
disciplina.
PASSO 2
Altere o programa desenvolvido na Etapa 4 substituindo o uso de vetor por uma
coleção.
PASSO 3
Entregue ao professor da disciplina:
Uma mídia contendo o código fonte comentado do programa (arquivos com extensão
java) que foi desenvolvido para solucionar o Passo 2. Devem ser 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.) a
ser entregue.
10
Cristiane Yae Mi Imamura
Download

Sistemas de Informação