Considere, por hipótese, que um Tribunal Regional do Trabalho enfrenta demandas frequentes que exigem soluções rápidas e precisas na área de Tecnologia da Informação.
Dois cenários específicos foram identificados:
1. Gerenciamento de Acessos: O sistema de tramitação de processos eletrônicos do Tribunal requer um controle seguro e eficiente dos acessos dos usuários, garantindo que apenas pessoas autorizadas utilizem as funcionalidades disponíveis.
2. Cadastro de Processos Judiciais: O Tribunal precisa de uma interface web prática e funcional para realizar o cadastro de processos judiciais, facilitando a gestão e a consulta de Informações por meio de um sistema automatizado.
Analise os códigos em Java e em JavaScript e realize as implementações necessárias, Indicadas como comentários dentro dos programas, para que ambos os sistemas funcionem corretamente.
import java.util.HashMap;
public class GerenciamentoAcessos {
private HashMap<Stringr, String> usuarios = new HashMap<>();
public GerenciamentoAcessos () {
usuarios.put (“admin”, “187xy#Ap”);
usuarios.put (“tecnico”,”D458#2cd”);
}
// item a.
// item b.
public static void main(String[] args} {
GerenciamentoAcessos sistema = new GerenciamentoAcassos();
try {
if (sistema.autenticarUsuario (“admin”, “12345678”)){
sistema.registrarAcesso (“admin”);
} else {
Syste.out.println (“Autenticação falhou: usuário ou senha incorretos.”);
}
} catch (Exception e) {
System.out.println (“Erro:” + e.getMessage());
}
}
}
Em sua resposta, indique o item ao qual o trecho de código se refere.
a. Escrever o método autenticarusuario para validar se o nome do usuário e a senha fornecidos estão corretos, consultando o hashmap usuarios. Caso o usuário não exista ou a senha esteja Incorreta, o método deve retomar false; se os dados estiverem corretos, deve retornar true.
b. Escrever o método registrarAcesso para Imprimir na tela uma mensagem confirmando o registro de acesso do usuário autenticado, no formato: “Acesso concedido ao usuário: [nome_do_usuario]”.
class Processo {
constructor(numero, status){
this.numero = numero;
this.status = status;
}
}
class GerenciamentoProcessos {
constructor (){
this.processos = [];
}
adicionarProcesso(processo) {
this.processos.push(processo);
}
// item c.
}
// Testes
const gerenciador = new GerenciamentoProcessos();
// item d.
c. Escrever o método listarProcessos para que ele percorra o array processos e exiba na tela o número e o status de cada processo no formato: “Processo: [numero] – Status: [status]”.
d. Escrever os testes necessários para verificar se o sistema de gerenciamento de processos esta funcionando corretamente. Os testes devem: usar a instância da classe GerenciamentoProcessos para adicionar o processo (número “001/2024” com status “Em andamento”) e listar os processos.
Ops! Esta questão ainda não tem padrão de resposta.
Ops! Esta questão ainda não tem resolução em texto.
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Uma equipe de desenvolvimento de software foi encarregada de criar um Sistema de Gestão de Pautas e Agendamentos Judiciais (SGPAJ) para um Tribunal do Trabalho. O projeto utiliza Scrum (para gerenciar backlog e sprints), BPMN (para modelar o processo de criação e acompanhamento de pautas) e Keycloak (OAuth2) (para autenticação e autorização via Single Sign-On). O sistema será desenvolvido em arquitetura de microsserviços, visando alta escalabilidade e segurança. No fluxo BPMN, o magistrado/servidor cria a pauta (data, hora, sala), o juiz aprova, o sistema notifica as partes envolvidas e todos podem acompanhar o status (confirmada, cancelada, remarcada). Cada microsserviço valida o token de a…
A programação orientada a objetos (POO) é um paradigma de programação que preza pela organização do código em torno de objetos, que representam entidades do mundo real e possuem características e comportamentos. Por esse motivo, é considerado um dos paradigmas mais populares e utilizados na indústria de desenvolvimento de software.

O código-fonte a seguir, estruturado segundo elementos da POO, mostra a versão cliente de uma aplicação estruturada na arquitetura cliente-servidor, desenvolvido em Python.
Considerando as informações apresentadas no texto e no código-fonte, redija texto dissertativo acerca de paradigmas de programação. Ao elaborar seu texto, aborde, necessariamente, os seguintes…
Plataforma digital: Prêmio estimula tribunais a aperfeiçoar códigos-fonte
Desenvolvedores e desenvolvedoras de sistemas do Judiciário podem participar, periodicamente, do Prêmio CNJ ao Grupo Revisor de Códigos. O prêmio contempla profissionais que revisam código-fonte com o maior número de demandas avaliadas.
A iniciativa buscar estimular as equipes dos tribunais para a revisão de códigos-fontes de soluções desenvolvidas para a Plataforma Digital do Poder Judiciário e o Processo Judicial eletrônico (PJe). Para participar, as pessoas interessadas devem fazer parte do Grupo Revisor de Códigos-Fonte, que analisa as mudanças implementadas.
Quem tiver interesse em integrar o Grupo Revisor deve en…




Segue proposta de solução. Sintetizei para caber em 15 linhas:
Para o “item A”, segue solução:
public boolean autenticarUsuario (String nome, String senha) {
return senha.equals(usuarios.get(nome)); }
Para o “item B”, segue solução:
public void registrarAcesso(String nome) {
System.out.println(“Acesso concedido ao usuário” + nome); }
Para o “item C”, segue solução:
listarProcessos() {
const processosLista = this.processos.map(processo => {
return
${processo.numero} - ${processo.status};});alert(processosLista.join(‘\n’)); }
Para o “item D”, segue solução:
gerenciador.adicionarProcesso(new Processo(“001/2025”, “Em andamento”));
gerenciador.listarProcessos();