O Processo de Avaliação
Por: Iuri Albandes • 9/6/2019 • Resenha • 1.014 Palavras (5 Páginas) • 150 Visualizações
Disciplina: Programação Orientada a Objetos | PROVA I |
Data: | Nome do professor: Iuri Albandes |
Nome legível do aluno:
| Rubrica profª: |
Boa Prova!
Exercício: Implementar as classes descritas no diagrama abaixo utilizando a linguagem de programação java.
[pic 1]
Detalhes de implementação:
Classe Funcionario:
- Método Info: informa o nome, cargo e salário de um objeto funcionário.
- Método NovoSalario: utilizado para modificar o salário de um objeto funcionário. Implementar polimorfismo, um método NovoSalario(double) que modifica diretamente o salário, e um método NovoSalario() que pergunta qual o novo salário do funcionário através de uma caixa de diálogo.
Classe Piloto:
- Método Info: informa o nome, salario, brevet e horas de voo de um piloto.
- O salário de um piloto é calculado da seguinte forma: 3500 + (HorasVoo/2), por exemplo, um piloto com 10000 horas voo teria um salário de 8500.
- Método ModHorasVoo: utilizado para aumentar o valor de horas voo de um piloto. Além disso sempre que o método for chamado ele deve atualizar também o salário do piloto, utilizando novamente a seguinte formula: 3500 + (HorasVoo/2).
Classe Aviao:
- Método Info: informa prefixo, empresa e modelo do avião.
Classe Voo:
- A classe voo é composta por dois objetos, um piloto e um avião, além de seus outros atributos.
- Método Info: deve informar o código do voo, a empresa aérea, a origem/destino do voo, nome do comandante e informações sobre a aeronave.
Exemplo de implementação final:
[pic 2][pic 3][pic 4][pic 5]
Objetivo de aprendizagem
Verificar o conhecimento adquirido após dez aulas presenciais. Serão avaliados conhecimentos e competências relacionadas ao tema de programação orientada a objetos. São medidos os conhecimentos teóricos e técnicos:
- Leitura e entendimento do diagrama de classe (UML)
- Construção das classes descritas no diagrama
- Entendimento de atributos e métodos das classes de objetos
- Conhecimento sobres os conceitos de herança e composição
- Uso correto do conceito de encapsulamento
- Uso de polimorfismo
Padrão de respostas:
Para classe Funcionario - não possui herança ou composição - 20% do total da nota
Foram codificados corretamente os atributos: – 10% do total da nota
- Nome como tipo String e encapsulamento do tipo protegido
- Cargo como tipo String e encapsulamento do tipo protegido
- Salario como tipo double e encapsulamento do tipo protegido
Foram implementados corretamente os métodos: – 10% do total da nota
- Info com retorno do tipo void. A saída de dados está no mesmo formato apresentado no programa exemplo, e apresenta as informações pedidas no enunciado. Encapsulamento do tipo público.
- NovoSalario com retorno do tipo void. O método modifica corretamente o valor armazenado no atributo salário. Polimorfismo foi implementado de forma correta.
Para classe Piloto - Possui herança (sub-classe de funcionario) – 30% do total da nota
A classe piloto deve ser definida/codificada como classe filha (sub-classe) de funcionario.
Foram codificados corretamente os atributos: – 10% do total da nota
- Brevet como tipo String e encapsulamento do tipo protegido
- HorasVoo como tipo int e encapsulamento do tipo protegido
Foram implementados corretamente os métodos: – 20% do total da nota
- Info com retorno do tipo void. A saída de dados está no mesmo formato apresentado no programa exemplo, e apresenta as informações pedidas no enunciado. Encapsulamento do tipo público. Polimorfismo foi implementado de forma correta.
- ModHorasVoo com retorno do tipo void. O método modifica corretamente o valor armazenado no HorasVoo e atualiza automaticamente o valor de salario conforme a formula definida no enunciado.
Para classe Aviao – não possui herança ou composição – 20% do total da nota
Foram codificados corretamente os atributos: – 10% do total da nota
- Prefixo como tipo String e encapsulamento do tipo protegido
- Empresa como tipo String e encapsulamento do tipo protegido
- Modelo como tipo String e encapsulamento do tipo protegido
Foram implementados corretamente os métodos: – 10% do total da nota
- Info com retorno do tipo void. A saída de dados está no mesmo formato apresentado no programa exemplo, e apresenta as informações pedidas no enunciado. Encapsulamento do tipo público.
Para classe Voo – composição (classe composta por piloto e avião) - 30% do total da nota
Voo é uma composição com objetos piloto e avião.
Foram codificados corretamente os atributos: – 20% do total da nota
- CodVoo como tipo String e encapsulamento do tipo privado
- Origem como tipo String e encapsulamento do tipo privado
- Destino como tipo String e encapsulamento do tipo privado
- Comandante é definido como tipo piloto (composição). Encapsulamento do tipo privado.
- Aeronave é definido como tipo aviao (composição). Encapsulamento do tipo privado.
Foram implementados corretamente os métodos: – 10% do total da nota
- Info com retorno do tipo void. A saída de dados está no mesmo formato apresentado no programa exemplo, e apresenta as informações pedidas no enunciado. Encapsulamento do tipo público.
Quadro de rubricas | ||||
Descrição | ruim | regular | bom | ótimo |
Uso correto de lógica de programação | não soube utilizar | Soluções apresentam erros e são executadas de forma ineficiente | Soluções sem erros de lógica porem não são completamente eficientes | Soluções sem erros e completamente eficientes |
Uso correto de classes e objetos | não soube utilizar | Usa somente os conceitos mais básicos da criação de classes e objetos, implementando parcialmente as classes pedidas | Compreende os conceitos de classe e objetos, implementando todas as classes pedidas | Compreende os conceitos de classe e objetos em sua totalidade, implementando todas as classes pedidas seguindo padrões de codificação e limpeza de código |
Uso correto de herança e composição | não soube utilizar | Implementa parcialmente classes com herança ou composição, sem saber diferenciar os dois conceitos | Sabe diferenciar os dois conceitos, porém a implementação do código é feita de forma incompleta | Diferencia corretamente os dois conceitos implementando os códigos corretamente |
Uso correto de encapsulamento | não soube utilizar | Sabe utilizar apenas um dos três tipos de encapsulamento | Sabe utilizar dois dos três tipos de encapsulamento | Sabe utilizar os três tipos de encapsulamento |
Uso correto de polimorfismo | não soube utilizar | Sabe codificar apenas um tipo de polimorfismo | Sabe codificar os dois tipos de polimorfismo, porém tem dificuldade em diferenciar | Executa em sua totalidade os conceitos de polimorfismo |
...