Tecnologia do Blogger.

Text Widget

Search (Don't Edit)

Sample Text

Formulir Kontak

Nome

E-mail *

Mensagem *

Full-Width Version (true/false)

Flickr

Arquivo do blog

Facebook

Translate

Video of the Day

Slider (Add Label Name Here!) (Documentation Required)

Teste Teste Teste

Know us

Teste Teste Teste Teste

Popular Posts

Featured

8 de out. de 2026

MAPA - ESOFT - PARADIGMAS DE LINGUAGENS DE PROGRAMAÇÃO - 54_2026

 

MAPA - ESOFT - PARADIGMAS DE LINGUAGENS DE PROGRAMAÇÃO - 54_2026

QUESTÃO 1

MV-ASSESSORIA

Consulte a nossa assessoria pelo Número:

Whats(15)98170-8778
Tele gram:(15)98170-8778
Entre em contato com a nossa equipe que vamos assessorar com esse trabalho
Mais de 10 anos no mercado acadêmico


Modelagem de telemetria de frota sustentável: abstração, herança e encapsulamento de sistemas reais no paradigma orientado a objetos

Na programação orientada a objetos, a estrutura de um software pode ser organizada em classes que reúnem atributos e métodos. As classes funcionam como modelos a partir dos quais os objetos são instanciados e podem representar entidades de uma situação real. A abstração do problema permite identificar quais entidades devem ser representadas, quais dados pertencem a elas e quais operações precisam ser realizadas.

Outro aspecto importante é o controle de acesso aos dados. O encapsulamento permite estabelecer diferentes níveis de visibilidade para atributos e métodos. Em Java, o material didático da disciplina apresenta os modificadores private, public e protected. A visibilidade protegida permite que subclasses acessem componentes definidos na superclasse, enquanto a visibilidade privada restringe o acesso ao interior da própria classe.

A herança possibilita estruturar relações entre uma superclasse e suas subclasses, permitindo o compartilhamento de atributos e métodos. O polimorfismo, por sua vez, possibilita adequar comportamentos herdados às necessidades específicas das subclasses. Classes e métodos abstratos também podem ser utilizados como modelos estruturais, cuja implementação ocorre nas subclasses.

Esses recursos serão aplicados na modelagem e implementação de um sistema de telemetria para uma frota de veículos elétricos.

Fonte: adaptado de: TOKUMOTO, R. C. Paradigmas de linguagem de programação. Maringá: UniCesumar, 2022. 

A empresa EcoFleet Solutions S.A. desenvolve um sistema de telemetria para uma frota de transporte urbano sustentável composta por vans elétricas de carga e bicicletas elétricas de entrega.

O protótipo inicial do sistema armazenava informações operacionais de maneira pouco controlada. Durante os testes, verificou-se que valores inválidos poderiam ser atribuídos ao nível de bateria dos veículos, incluindo valores inferiores a zero ou superiores à capacidade máxima considerada pelo sistema. Essa situação comprometia a consistência dos dados utilizados no acompanhamento da frota.

Para reorganizar a aplicação, a equipe decidiu utilizar o paradigma orientado a objetos e implementar uma nova estrutura em Java. A solução deverá representar os tipos de veículos por meio de classes, centralizar características comuns, restringir o acesso ao nível de bateria e permitir comportamentos diferentes para o cálculo do consumo de cada categoria de veículo.

Você será responsável por estruturar logicamente essa solução e implementar um programa capaz de demonstrar, na prática, o uso de abstração, encapsulamento, construtores, herança e polimorfismo.

Objetivo da atividade

Modelar e implementar, em linguagem Java, uma solução orientada a objetos para o sistema de telemetria da EcoFleet Solutions S.A., empregando raciocínio lógico na organização das classes, na definição das relações entre seus componentes, no controle dos valores armazenados e no processamento do consumo de bateria dos diferentes veículos.

Com base nos conceitos de programação orientada a objetos estudados no material didático da disciplina e nas regras definidas para o sistema de telemetria, desenvolva uma solução completa para a EcoFleet Solutions S.A.

A atividade deverá ser desenvolvida em três tarefas integradas:

- Na primeira tarefa, organize logicamente a estrutura das classes e as relações existentes entre elas.

- Na segunda tarefa, implemente a solução em Java, respeitando as regras de encapsulamento, herança, validação e cálculo apresentadas.

- Na terceira tarefa, explique a lógica adotada na implementação dos principais componentes da solução.

Todos os componentes deverão ser apresentados em um único arquivo de entrega, devidamente identificados como Tarefa 1, Tarefa 2 e Tarefa 3.

Tarefas obrigatórias

Tarefa 1: Modelagem conceitual

Elabore uma representação textual da estrutura de classes necessária para o sistema.

Sua modelagem deverá contemplar:

Uma superclasse abstrata denominada Veiculo.
Duas subclasses concretas, denominadas VanEletrica e BicicletaEletrica.
Na classe Veiculo, os seguintes atributos:
idVeiculo, do tipo int, com visibilidade protected.
modelo, do tipo String, com visibilidade protected.
capacidadeCarga, do tipo double, com visibilidade protected.
autonomiaBateria, do tipo double, com visibilidade private.
Na classe VanEletrica, o atributo específico placaIdentificacao, do tipo String, com visibilidade private.
Na classe BicicletaEletrica, o atributo específico limiteVelocidadeAssistida, do tipo double, com visibilidade private.
Uma justificativa para o uso Veiculo como classe abstrata, relacionando essa escolha ao fato de funcionar como modelo geral que concentra características comuns aos diferentes tipos de veículos e que não deve ser instanciado diretamente.
Uma explicação sobre a escolha dos modificadores protected e private identificando quais dados devem ser compartilhados por herança e quais devem permanecer encapsulados.

Tarefa 2: Implementação em Java

Com base na modelagem elaborada na Tarefa 1, implemente as classes Veiculo, VanEletrica, BicicletaEletrica e Main.

Classe Veiculo

A classe deverá:

Pertencer ao pacote telemetria.
Ser declarada como abstrata por meio de abstract.
Possuir os quatro atributos definidos na Tarefa 1.
Possuir um construtor sem parâmetros que inicialize os atributos com valores definidos, utilizando 0, 0.0 ou uma String vazia, conforme o tipo do atributo.
Possuir o método público getAutonomiaBateria(), responsável por retornar o valor armazenado em autonomiaBateria.
Possuir o método público setAutonomiaBateria(double bateria).
No método setAutonomiaBateria, implementar uma estrutura condicional que verifique o valor recebido. Caso seja menor que 0.0 ou maior que 100.0, deverá ser atribuído 0.0 ao atributo. Caso o valor esteja no intervalo de 0.0 a 100.0, o valor recebido deverá ser armazenado normalmente.
Declarar o seguinte método abstrato: public abstract void registrarViagem(double distancia);.

Classe VanEletrica

A classe deverá:

Pertencer ao pacote telemetria.
Herdar a classe Veiculo utilizando extends.
Possuir o atributo privado placaIdentificacao.
Possuir um construtor que receba os valores necessários para inicializar os atributos do objeto.
Inicializar os atributos protegidos herdados da classe Veiculo e utilizar o método setAutonomiaBateria() para definir o nível inicial de bateria.
Sobrescrever publicamente o método registrarViagem(double distancia).
Utilizar @Override e a assinatura public void registrarViagem(double distancia) na implementação do método.
Considerar que cada quilômetro percorrido pela van reduz a bateria em 0.5 ponto percentual.
Calcular o novo nível de bateria utilizando getAutonomiaBateria() e realizar sua atualização por meio de setAutonomiaBateria().
Exibir no console uma mensagem contendo a distância percorrida e o nível de bateria resultante.

Classe BicicletaEletrica

A classe deverá:

Pertencer ao pacote telemetria.
Herdar a classe Veiculo utilizando extends.
Possuir o atributo privado limiteVelocidadeAssistida.
Possuir um construtor que receba os valores necessários para inicializar os atributos do objeto.
Inicializar os atributos protegidos herdados da classe Veiculo e utilizar o método setAutonomiaBateria() para definir o nível inicial de bateria.
Sobrescrever publicamente o método registrarViagem(double distancia).
Utilizar @Override e a assinatura public void registrarViagem(double distancia) na implementação do método.
Considerar que cada quilômetro percorrido pela bicicleta reduz a bateria em 0.2 ponto percentual.
Calcular o novo nível de bateria utilizando getAutonomiaBateria() e realizar sua atualização por meio de setAutonomiaBateria().
Exibir no console uma mensagem contendo a distância percorrida e o nível de bateria resultante.

Classe Main

A classe deverá:

Pertencer ao pacote telemetria.
Possuir o método public static void main(String[] args).
Instanciar um objeto da classe VanEletrica e um objeto da classe BicicletaEletrica.
Inicializar os dois veículos com 100.0 como nível de bateria e com valores coerentes para os demais atributos.
Simular uma viagem de 50.0 quilômetros para cada veículo por meio do método registrarViagem(double distancia).
Exibir o nível final de bateria dos dois objetos.

Tarefa 3: Justificativa da lógica implementada

Após a implementação, redija um texto de 10 a 20 linhas explicando:

Como a lógica do método setAutonomiaBateria() impede que valores inferiores a 0.0 ou superiores a 100.0 sejam armazenados normalmente.
Como a organização dos atributos na superclasse e nas subclasses permite reutilizar componentes comuns e manter componentes específicos em cada tipo de veículo.
Como o método registrarViagem(double distancia) utiliza a distância percorrida para calcular e atualizar o nível de bateria de cada categoria de veículo.
Qual é a função do construtor na definição dos valores iniciais utilizados pelos objetos.

Produto final esperado

O produto final será um único arquivo anexado no ambiente virtual de aprendizagem, contendo:

Identificação do estudante com nome completo e RA.
Modelagem textual desenvolvida na Tarefa 1.
Código completo das classes Veiculo, VanEletrica, BicicletaEletrica e Main, referente à Tarefa 2.
Justificativa da lógica implementada, com 10 a 20 linhas, referente à Tarefa 3.

O código deverá estar organizado e legível, com indentação adequada.

Modelo de entrega

Organize o arquivo final na seguinte ordem:

Identificação do estudante

Nome completo:

RA:

Tarefa 1: Modelagem conceitual

Insira a modelagem e as justificativas solicitadas.

Tarefa 2: Implementação em Java

Insira, de forma identificada, o código das quatro classes solicitadas.

Tarefa 3: Justificativa da lógica implementada

Insira o texto solicitado.

O arquivo deverá ser enviado como anexo na área destinada ao MAPA no ambiente virtual de aprendizagem, utilizando o formato disponibilizado para envio na disciplina.

Orientações gerais


0 comentários:

Postar um comentário

Como funciona a assessoria acadêmica

Processo simples, claro e sem complicação para estudantes da Unicesumar.

Envio do trabalho Você envia o MAPA, TCC, artigo ou atividade diretamente pelo WhatsApp.
Análise e orçamento Avaliamos as orientações da disciplina e retornamos com prazo e valor.
Entrega orientada Trabalho desenvolvido conforme solicitado, respeitando normas acadêmicas.

botão de baixo, lateral direito

Assessoria Acadêmica para Estudantes da Unicesumar

MAPA, TCC, artigos e trabalhos acadêmicos com normas ABNT. Atendimento rápido e personalizado.

Falar no WhatsApp

Postagem em destaque

MVF5 System - SOLUÇÕES EM TI!

          Desenvolvimento de projetos, softwares, sites, blogs e trabalhos conforme sua necessidade e com os melhores preços. Entre em c...

Seguidores

Total de visualizações

Postagens populares