• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Análise de Sistemas ·

Arquitetura de Computadores

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Mapa da Atividade

41

Mapa da Atividade

Arquitetura de Computadores

UNICESUMAR

Atividade Mapa

13

Atividade Mapa

Arquitetura de Computadores

UNICESUMAR

Virtualizacao de Sistemas Operacionais - Conceito e Beneficios

3

Virtualizacao de Sistemas Operacionais - Conceito e Beneficios

Arquitetura de Computadores

UNICESUMAR

Mapa da Atividade

14

Mapa da Atividade

Arquitetura de Computadores

UNICESUMAR

Mapa - Matemática Aplicada à Computação

12

Mapa - Matemática Aplicada à Computação

Arquitetura de Computadores

UNICESUMAR

MAPA-Imersao-Profissional-Aplicando-Orientacao-a-Objetos-Sistema-de-Gestao-Educacional-SGE-em-Java

6

MAPA-Imersao-Profissional-Aplicando-Orientacao-a-Objetos-Sistema-de-Gestao-Educacional-SGE-em-Java

Arquitetura de Computadores

UNICESUMAR

Fundamentos e Arquitetura de Computadores

5

Fundamentos e Arquitetura de Computadores

Arquitetura de Computadores

UNICESUMAR

Video do Youtube - link

1

Video do Youtube - link

Arquitetura de Computadores

UNICESUMAR

Atividade 1 - Sistemas Operacionais

14

Atividade 1 - Sistemas Operacionais

Arquitetura de Computadores

UNICESUMAR

Mapa de Atividade

18

Mapa de Atividade

Arquitetura de Computadores

UNICESUMAR

Texto de pré-visualização

Projeto Sistema de Gestão Educacional Você foi contratado pela EduConnect uma startup de tecnologia educacional que fornece sistemas para universidades e escolas O desafio é desenvolver um Sistema de Gestão Educacional SGE orientado a objetos que permita cadastrar alunos professores cursos turmas notas e relatórios O projeto será dividido em fases simulando o ciclo real de desenvolvimento Programe todas as fases utilizando a linguagem Java Fase 1 Modelagem Inicial Classes e Objetos No seu primeiro sprint a equipe de análise pede que você crie as entidades básicas do sistema Sem isso nada funciona Desafio Criar as classes Aluno nome matrícula curso Professor nome especialidade registro Curso nome código cargaHoraria Instanciar objetos e validar atributos básicos Fase 2 Estrutura Acadêmica Associações e Relacionamentos A universidade precisa gerenciar turmas que relacionam professores e alunos em cursos específicos Desafio Criar a classe Turma com atributos codigo professor curso listaAlunos Implementar métodos para adicionarremover alunos Mostrar resumo da turma com professor curso e quantidade de alunos matriculados Fase 3 Controle de Avaliações Encapsulamento O coordenador percebe que alunos estavam manipulando as notas diretamente no banco antigo Agora você deve garantir segurança e controle no acesso às notas Desafio Criar a classe Avaliacao com atributos privados nota descricao Permitir atualização da nota apenas via método atribuirNotavalor validando se está entre 0 e 10 Associar avaliações a alunos em turmas Fase 4 Diferentes Tipos de Cursos Herança e Polimorfismo Nem todos os cursos funcionam da mesma forma A universidade possui cursos presenciais e EAD cada um com regras próprias Desafio Criar subclasses CursoPresencial e CursoEAD herdando de Curso CursoPresencial deve informar sala de aula CursoEAD deve informar plataforma virtual Sobrescrever um método detalharCurso para exibir informações personalizadas Fase 5 Autenticação e Perfis Interfaces e Abstração A área de TI exige segurança alunos professores e administradores têm acessos diferentes no sistema Desafio Criar uma interface de Autenticação com o método autenticarlogin senha Implementar em Aluno Professor e Administrador Criar uma classe abstrata Usuario para generalizar atributos comuns Fase 6 Relatórios e Estatísticas Polimorfismo e Laços A diretoria da universidade deseja relatórios automatizados Você deve implementar relatórios que funcionem de forma genérica para diferentes entidades Desafio Criar um método polimórfico gerarRelatorio em Aluno Professor e Curso Exibir informações personalizadas em cada relatório Implementar um menu para gerar relatórios múltiplos em sequência Fase 7 Arquitetura em Camadas Boa Prática de Projeto Seu Tech Lead pede que você estruture o sistema de forma mais profissional separando responsabilidades Desafio Organizar o projeto em pacotes model entidades service regras de negócio repository armazenamento temporário em listas ui menu interativo Criar uma classe Main que faça a integração entre as camadas Fase Final Sistema Educacional Consolidado Chegou o grande momento A EduConnect vai apresentar o protótipo a investidores e precisa do sistema completo Desafio Consolidar todas as funcionalidades Criar um menu interativo que permita Cadastrar alunos professores e cursos Criar turmas e associar alunosprofessores Registrar avaliações Gerar relatórios gerais Testar cenários de sucesso e falha Como entregar a atividade A atividade deverá ser produzida em um arquivo do tipo texto conforme template anexado no material da disciplina disponibilizado no Studeo e deve ser entregue com a extensão PDF ou DOC Depois deve ser anexado no ambiente da atividade no Studeo Anexar os Prints dentro do arquivo Template Print de execução do código de cada fase com seu nome Copie e cole o código de cada fase depois do print IMPORTANTE 1 Acesse o link do vídeo que o professor da disciplina gravou com orientações para ajudálo nesse processo de criação e desenvolvimento O acesso deverá ser realizado em MATERIAL DA DISCIPLINA 2 Responda à atividade seguindo como roteiro os tópicos elencados anteriormente 3 A entrega deve ser feita exclusivamente por meio do Formulário de entrega da atividade MAPA disponível no material da disciplina Envie em formato doc docx ou pdf 4 Antes de enviar sua atividade certifiquese de que respondeu a todas as perguntas e realize uma cuidadosa correção ortográfica 5 Após o envio não são permitas alterações ou modificações Logo você tem apenas uma chance de enviar o arquivo corretamente Revise bem antes de enviar 6 Lembrese de que evidências de cópias de materiais incluindo de outros estudantes sem devidas referências serão inquestionavelmente zeradas As citações e referências mesmo que do livro da disciplina devem ser realizadas conforme normas da Instituição de Ensino 7 Não são permitidas correções parciais no decorrer do módulo ou seja o famoso professor veja se minha atividade está certa Isso invalida seu processo avaliativo Lembrese que a interpretação da atividade também faz parte da avaliação 8 Procure sanar suas dúvidas junto a mediação em tempo hábil sobre o conteúdo exigido na atividade de modo que consiga realizar sua participação 9 Atenção ao prazo de entrega evite envio de atividade em cima do prazo Você pode ter algum problema com internet computador software etc e os prazos não serão flexibilizados mesmo em caso de comprovação Bons estudos Em caso de dúvidas encaminhar mensagem ao seu Professor Mediador SISTEMA DE GESTÃO EDUCACIONAL EduConnect Solução em Gestão Acadêmica Disciplina Programação Orientada a Objetos Java Curso Análise e Desenvolvimento de Sistemas Aluno Jhonata Rocha Januário RA 244118045 INTRODUÇÃO Este documento apresenta o desenvolvimento completo do Sistema de Gestão Educacional SGE EduConnect uma aplicação Java que implementa os principais conceitos de Programação Orientada a Objetos O sistema foi desenvolvido em fases progressivas abordando desde a modelagem básica de classes até a implementação de uma arquitetura em camadas completa demonstrando a aplicação prática dos pilares da POO Encapsulamento Proteção dos dados através de modificadores de acesso Herança Reutilização de código através de hierarquias de classes Polimorfismo Flexibilidade no comportamento dos objetos Abstração Definição de contratos através de interfaces e classes abstratas O SGE EduConnect permite o gerenciamento completo de instituições educacionais incluindo cadastro de alunos professores cursos turmas avaliações e geração de relatórios Estrutura do Projeto O desenvolvimento foi organizado em 7 fases principais mais uma fase final de consolidação 1 Modelagem Inicial Classes e Objetos 2 Estrutura Acadêmica Associações 3 Controle de Avaliações Encapsulamento 4 Diferentes Tipos de Cursos Herança e Polimorfismo 5 Autenticação e Perfis Interfaces e Abstração 6 Relatórios e Estatísticas Polimorfismo e Laços 7 Arquitetura em Camadas 8 Sistema Consolidado Menu Principal 1 Modelagem Inicial Classes e Objetos Objetivo Criar as classes fundamentais do sistema Aluno Professor Curso com validação básica de atributos Implementação Código Java Classe Aluno public class Aluno private String nome private String matricula private String curso public AlunoString nome String matricula String curso if nome null nometrimisEmpty throw new IllegalArgumentExceptionNome não pode ser vazio if matricula null matriculamatchesd throw new IllegalArgumentExceptionMatrícula deve conter apenas números thisnome nome thismatricula matricula thiscurso curso Getters e Setters public String getNome return nome public String getMatricula return matricula public String getCurso return curso Explicação A classe Aluno implementa validações básicas no construtor garantindo que o nome não seja vazio e a matrícula contenha apenas números O encapsulamento é aplicado através dos modificadores private e métodos getters Código Java Classe Professor public class Professor private String nome private String especialidade private String registro public ProfessorString nome String especialidade String registro validarDadosnome registro thisnome nome thisespecialidade especialidade thisregistro registro private void validarDadosString nome String registro if nome null nometrimisEmpty throw new IllegalArgumentExceptionNome não pode ser vazio if registro null registrotrimisEmpty throw new IllegalArgumentExceptionRegistro não pode ser vazio Getters public String getNome return nome public String getEspecialidade return especialidade public String getRegistro return registro 2 Estrutura Acadêmica Associações Objetivo Implementar a classe Turma com associações entre Professor Curso e Alunos Implementação Código Java Classe Turma import javautilArrayList import javautilList public class Turma private String codigo private Professor professor private Curso curso private List alunos public TurmaString codigo Professor professor Curso curso thiscodigo codigo thisprofessor professor thiscurso curso thisalunos new ArrayList public void adicionarAlunoAluno aluno if aluno null alunoscontainsaluno alunosaddaluno public void removerAlunoAluno aluno alunosremovealuno public void mostrarResumo Systemoutprintln RESUMO DA TURMA SystemoutprintlnCódigo codigo SystemoutprintlnProfessor professorgetNome SystemoutprintlnCurso cursogetNome SystemoutprintlnAlunos matriculados alunossize Systemoutprintln Getters public String getCodigo return codigo public Professor getProfessor return professor public Curso getCurso return curso public List getAlunos return alunos Explicação A classe Turma demonstra associações entre objetos uma turma tem um Professor um Curso e uma lista de Alunos Os métodos adicionarAluno e removerAluno gerenciam a composição enquanto mostrarResumo apresenta informações consolidadas 3 Controle de Avaliações Encapsulamento Objetivo Implementar a classe Avaliacao com encapsulamento rigoroso e validação de notas Implementação Código Java Classe Avaliacao public class Avaliacao private double nota private String descricao private Aluno aluno public AvaliacaoString descricao Aluno aluno thisdescricao descricao thisaluno aluno thisnota 00 Nota inicial public void atribuirNotadouble valor if valor 0 valor 10 throw new IllegalArgumentExceptionNota deve estar entre 0 e 10 thisnota valor public String getStatus if nota 60 return Aprovado else if nota 40 return Recuperação else return Reprovado Getters public double getNota return nota public String getDescricao return descricao public Aluno getAluno return aluno Explicação A classe Avaliacao demonstra encapsulamento através de atributos privados e métodos públicos controlados O método atribuirNota inclui validação de negócio garantindo que as notas estejam no intervalo permitido 010 O método getStatus fornece uma análise baseada na nota 4 Diferentes Tipos de Cursos Herança e Polimorfismo Objetivo Criar hierarquia de cursos usando herança e demonstrar polimorfismo Implementação Código Java Hierarquia de Cursos Classe base public class Curso protected String nome protected String codigo protected int cargaHoraria public CursoString nome String codigo int cargaHoraria thisnome nome thiscodigo codigo thiscargaHoraria cargaHoraria public String detalharCurso return StringformatCurso s Código s Carga Horária d horas nome codigo cargaHoraria Getters public String getNome return nome public String getCodigo return codigo public int getCargaHoraria return cargaHoraria Subclasse para cursos presenciais public class CursoPresencial extends Curso private String salaDeAula public CursoPresencialString nome String codigo int cargaHoraria String salaDeAula supernome codigo cargaHoraria thissalaDeAula salaDeAula Override public String detalharCurso return superdetalharCurso Modalidade Presencial Sala salaDeAula public String getSalaDeAula return salaDeAula Subclasse para cursos EAD public class CursoEAD extends Curso private String plataformaVirtual public CursoEADString nome String codigo int cargaHoraria String plataformaVirtual supernome codigo cargaHoraria thisplataformaVirtual plataformaVirtual Override public String detalharCurso return superdetalharCurso Modalidade EAD Plataforma plataformaVirtual public String getPlataformaVirtual return plataformaVirtual Explicação Demonstra herança através das subclasses CursoPresencial e CursoEAD que estendem Curso O polimorfismo é aplicado no método detalharCurso sobrescrito em cada subclasse para fornecer informações específicas de cada modalidade 5 Autenticação e Perfis Interfaces e Abstração Objetivo Implementar sistema de autenticação usando interfaces e classe abstrata Implementação Código Java Sistema de Autenticação Interface de autenticação public interface Autenticacao boolean autenticarString login String senha Classe abstrata base public abstract class Usuario implements Autenticacao protected String nome protected String email protected String senha public UsuarioString nome String email String senha thisnome nome thisemail email thissenha senha Override public boolean autenticarString login String senha return thisemailequalslogin thissenhaequalssenha Getters public String getNome return nome public String getEmail return email Implementação concreta para Aluno public class Aluno extends Usuario private String matricula private String curso public AlunoString nome String email String senha String matricula String curso supernome email senha thismatricula matricula thiscurso curso Getters específicos public String getMatricula return matricula public String getCurso return curso Implementação concreta para Professor public class Professor extends Usuario private String especialidade private String registro public ProfessorString nome String email String senha String especialidade String registro supernome email senha thisespecialidade especialidade thisregistro registro Getters específicos public String getEspecialidade return especialidade public String getRegistro return registro Explicação A interface Autenticacao define um contrato que deve ser implementado por todas as classes que necessitam de autenticação A classe abstrata Usuario fornece implementação comum e serve como base para Aluno e Professor demonstrando reutilização de código através da herança 6 Relatórios e Estatísticas Polimorfismo e Laços Objetivo Implementar sistema de relatórios usando polimorfismo e estruturas de repetição Implementação Código Java Sistema de Relatórios Interface para gerar relatórios public interface Relatorio void gerarRelatorio Implementação em Aluno public class Aluno extends Usuario implements Relatorio outros atributos e métodos Override public void gerarRelatorio Systemoutprintln RELATÓRIO DO ALUNO SystemoutprintlnNome nome SystemoutprintlnMatrícula matricula SystemoutprintlnCurso curso SystemoutprintlnEmail email Systemoutprintln Implementação em Professor public class Professor extends Usuario implements Relatorio outros atributos e métodos Override public void gerarRelatorio Systemoutprintln RELATÓRIO DO PROFESSOR SystemoutprintlnNome nome SystemoutprintlnRegistro registro SystemoutprintlnEspecialidade especialidade SystemoutprintlnEmail email Systemoutprintln Classe para gerenciar relatórios public class GeradorRelatorios public void gerarRelatoriosEmLoteList itens SystemoutprintlnGerando relatórios em lote for Relatorio item itens itemgerarRelatorio Systemoutprintln Linha em branco entre relatórios SystemoutprintlnTotal de relatórios gerados itenssize Explicação A interface Relatorio define o contrato para geração de relatórios O polimorfismo permite que objetos de diferentes classes Aluno Professor sejam tratados uniformemente como Relatorio A classe GeradorRelatorios demonstra o uso de laços para processar coleções de objetos polimórficos 7 Arquitetura em Camadas Objetivo Organizar o projeto em pacotes seguindo o padrão de arquitetura em camadas Implementação Estrutura de Pacotes src main java model Entidades do sistema Alunojava Professorjava Cursojava Turmajava Avaliacaojava service Regras de negócio AlunoServicejava ProfessorServicejava TurmaServicejava repository Acesso a dados AlunoRepositoryjava ProfessorRepositoryjava CursoRepositoryjava ui Interface com usuário MenuPrincipaljava resources Mainjava Classe principal Explicação A arquitetura em camadas separa as responsabilidades do sistema Model Contém as entidades e classes de domínio Service Implementa as regras de negócio e lógica da aplicação Repository Gerencia o armazenamento e recuperação de dados UI Cuida da interação com o usuário Esta organização facilita a manutenção teste e evolução do sistema 8 Sistema Consolidado Objetivo Integrar todas as funcionalidades em um menu principal completo Implementação Código Java Menu Principal import javautilScanner public class MenuPrincipal private Scanner scanner private AlunoService alunoService private ProfessorService professorService private TurmaService turmaService public MenuPrincipal thisscanner new ScannerSystemin thisalunoService new AlunoService thisprofessorService new ProfessorService thisturmaService new TurmaService public void exibirMenu int opcao do Systemoutprintln SISTEMA EDUCONNECT Systemoutprintln1 Cadastrar Aluno Systemoutprintln2 Cadastrar Professor Systemoutprintln3 Cadastrar Curso Systemoutprintln4 Criar Turma Systemoutprintln5 Matricular Aluno em Turma Systemoutprintln6 Registrar Notas Systemoutprintln7 Gerar Relatórios Systemoutprintln0 Sair SystemoutprintEscolha uma opção opcao scannernextInt scannernextLine Limpar buffer switch opcao case 1 alunoServicecadastrarAluno break case 2 professorServicecadastrarProfessor break case 3 Implementar cadastro de curso break case 4 turmaServicecriarTurma break case 5 turmaServicematricularAluno break case 6 Implementar registro de notas break case 7 gerarRelatorios break case 0 SystemoutprintlnSaindo do sistema break default SystemoutprintlnOpção inválida while opcao 0 private void gerarRelatorios Systemoutprintln GERAR RELATÓRIOS Systemoutprintln1 Relatório de Alunos Systemoutprintln2 Relatório de Professores Systemoutprintln3 Relatório de Turmas SystemoutprintEscolha int opcao scannernextInt Implementação dos relatórios Explicação O menu principal integra todas as funcionalidades desenvolvidas nas fases anteriores proporcionando uma interface amigável para o usuário interagir com o sistema A estrutura modular permite que cada serviço AlunoService ProfessorService etc seja responsável por sua própria lógica de negócio CONCLUSÃO O desenvolvimento do Sistema de Gestão Educacional EduConnect demonstrou na prática a aplicação dos principais conceitos de Programação Orientada a Objetos Encapsulamento Proteção dos dados através de atributos privados e métodos controlados Herança Reutilização de código através de hierarquias bem definidas Polimorfismo Flexibilidade no comportamento através de interfaces e sobrescrita de métodos Abstração Definição de contratos claros através de interfaces e classes abstratas A arquitetura em camadas implementada proporciona um sistema modular de fácil manutenção e extensível seguindo as melhores práticas de engenharia de software Este projeto consolidou o aprendizado de POO em Java preparando o terreno para o desenvolvimento de sistemas mais complexos e robustos no futuro REFERÊNCIAS DEITEL P J DEITEL H M Java como programar 10 ed São Paulo Pearson 2017 ORACLE Documentação Oficial do Java Disponível em httpsdocsoraclecomjavase BLOCH J Effective Java 3 ed Boston AddisonWesley 2018 Material didático da disciplina de Programação Orientada a Objetos Slides e apostilas fornecidos pelo professor

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Mapa da Atividade

41

Mapa da Atividade

Arquitetura de Computadores

UNICESUMAR

Atividade Mapa

13

Atividade Mapa

Arquitetura de Computadores

UNICESUMAR

Virtualizacao de Sistemas Operacionais - Conceito e Beneficios

3

Virtualizacao de Sistemas Operacionais - Conceito e Beneficios

Arquitetura de Computadores

UNICESUMAR

Mapa da Atividade

14

Mapa da Atividade

Arquitetura de Computadores

UNICESUMAR

Mapa - Matemática Aplicada à Computação

12

Mapa - Matemática Aplicada à Computação

Arquitetura de Computadores

UNICESUMAR

MAPA-Imersao-Profissional-Aplicando-Orientacao-a-Objetos-Sistema-de-Gestao-Educacional-SGE-em-Java

6

MAPA-Imersao-Profissional-Aplicando-Orientacao-a-Objetos-Sistema-de-Gestao-Educacional-SGE-em-Java

Arquitetura de Computadores

UNICESUMAR

Fundamentos e Arquitetura de Computadores

5

Fundamentos e Arquitetura de Computadores

Arquitetura de Computadores

UNICESUMAR

Video do Youtube - link

1

Video do Youtube - link

Arquitetura de Computadores

UNICESUMAR

Atividade 1 - Sistemas Operacionais

14

Atividade 1 - Sistemas Operacionais

Arquitetura de Computadores

UNICESUMAR

Mapa de Atividade

18

Mapa de Atividade

Arquitetura de Computadores

UNICESUMAR

Texto de pré-visualização

Projeto Sistema de Gestão Educacional Você foi contratado pela EduConnect uma startup de tecnologia educacional que fornece sistemas para universidades e escolas O desafio é desenvolver um Sistema de Gestão Educacional SGE orientado a objetos que permita cadastrar alunos professores cursos turmas notas e relatórios O projeto será dividido em fases simulando o ciclo real de desenvolvimento Programe todas as fases utilizando a linguagem Java Fase 1 Modelagem Inicial Classes e Objetos No seu primeiro sprint a equipe de análise pede que você crie as entidades básicas do sistema Sem isso nada funciona Desafio Criar as classes Aluno nome matrícula curso Professor nome especialidade registro Curso nome código cargaHoraria Instanciar objetos e validar atributos básicos Fase 2 Estrutura Acadêmica Associações e Relacionamentos A universidade precisa gerenciar turmas que relacionam professores e alunos em cursos específicos Desafio Criar a classe Turma com atributos codigo professor curso listaAlunos Implementar métodos para adicionarremover alunos Mostrar resumo da turma com professor curso e quantidade de alunos matriculados Fase 3 Controle de Avaliações Encapsulamento O coordenador percebe que alunos estavam manipulando as notas diretamente no banco antigo Agora você deve garantir segurança e controle no acesso às notas Desafio Criar a classe Avaliacao com atributos privados nota descricao Permitir atualização da nota apenas via método atribuirNotavalor validando se está entre 0 e 10 Associar avaliações a alunos em turmas Fase 4 Diferentes Tipos de Cursos Herança e Polimorfismo Nem todos os cursos funcionam da mesma forma A universidade possui cursos presenciais e EAD cada um com regras próprias Desafio Criar subclasses CursoPresencial e CursoEAD herdando de Curso CursoPresencial deve informar sala de aula CursoEAD deve informar plataforma virtual Sobrescrever um método detalharCurso para exibir informações personalizadas Fase 5 Autenticação e Perfis Interfaces e Abstração A área de TI exige segurança alunos professores e administradores têm acessos diferentes no sistema Desafio Criar uma interface de Autenticação com o método autenticarlogin senha Implementar em Aluno Professor e Administrador Criar uma classe abstrata Usuario para generalizar atributos comuns Fase 6 Relatórios e Estatísticas Polimorfismo e Laços A diretoria da universidade deseja relatórios automatizados Você deve implementar relatórios que funcionem de forma genérica para diferentes entidades Desafio Criar um método polimórfico gerarRelatorio em Aluno Professor e Curso Exibir informações personalizadas em cada relatório Implementar um menu para gerar relatórios múltiplos em sequência Fase 7 Arquitetura em Camadas Boa Prática de Projeto Seu Tech Lead pede que você estruture o sistema de forma mais profissional separando responsabilidades Desafio Organizar o projeto em pacotes model entidades service regras de negócio repository armazenamento temporário em listas ui menu interativo Criar uma classe Main que faça a integração entre as camadas Fase Final Sistema Educacional Consolidado Chegou o grande momento A EduConnect vai apresentar o protótipo a investidores e precisa do sistema completo Desafio Consolidar todas as funcionalidades Criar um menu interativo que permita Cadastrar alunos professores e cursos Criar turmas e associar alunosprofessores Registrar avaliações Gerar relatórios gerais Testar cenários de sucesso e falha Como entregar a atividade A atividade deverá ser produzida em um arquivo do tipo texto conforme template anexado no material da disciplina disponibilizado no Studeo e deve ser entregue com a extensão PDF ou DOC Depois deve ser anexado no ambiente da atividade no Studeo Anexar os Prints dentro do arquivo Template Print de execução do código de cada fase com seu nome Copie e cole o código de cada fase depois do print IMPORTANTE 1 Acesse o link do vídeo que o professor da disciplina gravou com orientações para ajudálo nesse processo de criação e desenvolvimento O acesso deverá ser realizado em MATERIAL DA DISCIPLINA 2 Responda à atividade seguindo como roteiro os tópicos elencados anteriormente 3 A entrega deve ser feita exclusivamente por meio do Formulário de entrega da atividade MAPA disponível no material da disciplina Envie em formato doc docx ou pdf 4 Antes de enviar sua atividade certifiquese de que respondeu a todas as perguntas e realize uma cuidadosa correção ortográfica 5 Após o envio não são permitas alterações ou modificações Logo você tem apenas uma chance de enviar o arquivo corretamente Revise bem antes de enviar 6 Lembrese de que evidências de cópias de materiais incluindo de outros estudantes sem devidas referências serão inquestionavelmente zeradas As citações e referências mesmo que do livro da disciplina devem ser realizadas conforme normas da Instituição de Ensino 7 Não são permitidas correções parciais no decorrer do módulo ou seja o famoso professor veja se minha atividade está certa Isso invalida seu processo avaliativo Lembrese que a interpretação da atividade também faz parte da avaliação 8 Procure sanar suas dúvidas junto a mediação em tempo hábil sobre o conteúdo exigido na atividade de modo que consiga realizar sua participação 9 Atenção ao prazo de entrega evite envio de atividade em cima do prazo Você pode ter algum problema com internet computador software etc e os prazos não serão flexibilizados mesmo em caso de comprovação Bons estudos Em caso de dúvidas encaminhar mensagem ao seu Professor Mediador SISTEMA DE GESTÃO EDUCACIONAL EduConnect Solução em Gestão Acadêmica Disciplina Programação Orientada a Objetos Java Curso Análise e Desenvolvimento de Sistemas Aluno Jhonata Rocha Januário RA 244118045 INTRODUÇÃO Este documento apresenta o desenvolvimento completo do Sistema de Gestão Educacional SGE EduConnect uma aplicação Java que implementa os principais conceitos de Programação Orientada a Objetos O sistema foi desenvolvido em fases progressivas abordando desde a modelagem básica de classes até a implementação de uma arquitetura em camadas completa demonstrando a aplicação prática dos pilares da POO Encapsulamento Proteção dos dados através de modificadores de acesso Herança Reutilização de código através de hierarquias de classes Polimorfismo Flexibilidade no comportamento dos objetos Abstração Definição de contratos através de interfaces e classes abstratas O SGE EduConnect permite o gerenciamento completo de instituições educacionais incluindo cadastro de alunos professores cursos turmas avaliações e geração de relatórios Estrutura do Projeto O desenvolvimento foi organizado em 7 fases principais mais uma fase final de consolidação 1 Modelagem Inicial Classes e Objetos 2 Estrutura Acadêmica Associações 3 Controle de Avaliações Encapsulamento 4 Diferentes Tipos de Cursos Herança e Polimorfismo 5 Autenticação e Perfis Interfaces e Abstração 6 Relatórios e Estatísticas Polimorfismo e Laços 7 Arquitetura em Camadas 8 Sistema Consolidado Menu Principal 1 Modelagem Inicial Classes e Objetos Objetivo Criar as classes fundamentais do sistema Aluno Professor Curso com validação básica de atributos Implementação Código Java Classe Aluno public class Aluno private String nome private String matricula private String curso public AlunoString nome String matricula String curso if nome null nometrimisEmpty throw new IllegalArgumentExceptionNome não pode ser vazio if matricula null matriculamatchesd throw new IllegalArgumentExceptionMatrícula deve conter apenas números thisnome nome thismatricula matricula thiscurso curso Getters e Setters public String getNome return nome public String getMatricula return matricula public String getCurso return curso Explicação A classe Aluno implementa validações básicas no construtor garantindo que o nome não seja vazio e a matrícula contenha apenas números O encapsulamento é aplicado através dos modificadores private e métodos getters Código Java Classe Professor public class Professor private String nome private String especialidade private String registro public ProfessorString nome String especialidade String registro validarDadosnome registro thisnome nome thisespecialidade especialidade thisregistro registro private void validarDadosString nome String registro if nome null nometrimisEmpty throw new IllegalArgumentExceptionNome não pode ser vazio if registro null registrotrimisEmpty throw new IllegalArgumentExceptionRegistro não pode ser vazio Getters public String getNome return nome public String getEspecialidade return especialidade public String getRegistro return registro 2 Estrutura Acadêmica Associações Objetivo Implementar a classe Turma com associações entre Professor Curso e Alunos Implementação Código Java Classe Turma import javautilArrayList import javautilList public class Turma private String codigo private Professor professor private Curso curso private List alunos public TurmaString codigo Professor professor Curso curso thiscodigo codigo thisprofessor professor thiscurso curso thisalunos new ArrayList public void adicionarAlunoAluno aluno if aluno null alunoscontainsaluno alunosaddaluno public void removerAlunoAluno aluno alunosremovealuno public void mostrarResumo Systemoutprintln RESUMO DA TURMA SystemoutprintlnCódigo codigo SystemoutprintlnProfessor professorgetNome SystemoutprintlnCurso cursogetNome SystemoutprintlnAlunos matriculados alunossize Systemoutprintln Getters public String getCodigo return codigo public Professor getProfessor return professor public Curso getCurso return curso public List getAlunos return alunos Explicação A classe Turma demonstra associações entre objetos uma turma tem um Professor um Curso e uma lista de Alunos Os métodos adicionarAluno e removerAluno gerenciam a composição enquanto mostrarResumo apresenta informações consolidadas 3 Controle de Avaliações Encapsulamento Objetivo Implementar a classe Avaliacao com encapsulamento rigoroso e validação de notas Implementação Código Java Classe Avaliacao public class Avaliacao private double nota private String descricao private Aluno aluno public AvaliacaoString descricao Aluno aluno thisdescricao descricao thisaluno aluno thisnota 00 Nota inicial public void atribuirNotadouble valor if valor 0 valor 10 throw new IllegalArgumentExceptionNota deve estar entre 0 e 10 thisnota valor public String getStatus if nota 60 return Aprovado else if nota 40 return Recuperação else return Reprovado Getters public double getNota return nota public String getDescricao return descricao public Aluno getAluno return aluno Explicação A classe Avaliacao demonstra encapsulamento através de atributos privados e métodos públicos controlados O método atribuirNota inclui validação de negócio garantindo que as notas estejam no intervalo permitido 010 O método getStatus fornece uma análise baseada na nota 4 Diferentes Tipos de Cursos Herança e Polimorfismo Objetivo Criar hierarquia de cursos usando herança e demonstrar polimorfismo Implementação Código Java Hierarquia de Cursos Classe base public class Curso protected String nome protected String codigo protected int cargaHoraria public CursoString nome String codigo int cargaHoraria thisnome nome thiscodigo codigo thiscargaHoraria cargaHoraria public String detalharCurso return StringformatCurso s Código s Carga Horária d horas nome codigo cargaHoraria Getters public String getNome return nome public String getCodigo return codigo public int getCargaHoraria return cargaHoraria Subclasse para cursos presenciais public class CursoPresencial extends Curso private String salaDeAula public CursoPresencialString nome String codigo int cargaHoraria String salaDeAula supernome codigo cargaHoraria thissalaDeAula salaDeAula Override public String detalharCurso return superdetalharCurso Modalidade Presencial Sala salaDeAula public String getSalaDeAula return salaDeAula Subclasse para cursos EAD public class CursoEAD extends Curso private String plataformaVirtual public CursoEADString nome String codigo int cargaHoraria String plataformaVirtual supernome codigo cargaHoraria thisplataformaVirtual plataformaVirtual Override public String detalharCurso return superdetalharCurso Modalidade EAD Plataforma plataformaVirtual public String getPlataformaVirtual return plataformaVirtual Explicação Demonstra herança através das subclasses CursoPresencial e CursoEAD que estendem Curso O polimorfismo é aplicado no método detalharCurso sobrescrito em cada subclasse para fornecer informações específicas de cada modalidade 5 Autenticação e Perfis Interfaces e Abstração Objetivo Implementar sistema de autenticação usando interfaces e classe abstrata Implementação Código Java Sistema de Autenticação Interface de autenticação public interface Autenticacao boolean autenticarString login String senha Classe abstrata base public abstract class Usuario implements Autenticacao protected String nome protected String email protected String senha public UsuarioString nome String email String senha thisnome nome thisemail email thissenha senha Override public boolean autenticarString login String senha return thisemailequalslogin thissenhaequalssenha Getters public String getNome return nome public String getEmail return email Implementação concreta para Aluno public class Aluno extends Usuario private String matricula private String curso public AlunoString nome String email String senha String matricula String curso supernome email senha thismatricula matricula thiscurso curso Getters específicos public String getMatricula return matricula public String getCurso return curso Implementação concreta para Professor public class Professor extends Usuario private String especialidade private String registro public ProfessorString nome String email String senha String especialidade String registro supernome email senha thisespecialidade especialidade thisregistro registro Getters específicos public String getEspecialidade return especialidade public String getRegistro return registro Explicação A interface Autenticacao define um contrato que deve ser implementado por todas as classes que necessitam de autenticação A classe abstrata Usuario fornece implementação comum e serve como base para Aluno e Professor demonstrando reutilização de código através da herança 6 Relatórios e Estatísticas Polimorfismo e Laços Objetivo Implementar sistema de relatórios usando polimorfismo e estruturas de repetição Implementação Código Java Sistema de Relatórios Interface para gerar relatórios public interface Relatorio void gerarRelatorio Implementação em Aluno public class Aluno extends Usuario implements Relatorio outros atributos e métodos Override public void gerarRelatorio Systemoutprintln RELATÓRIO DO ALUNO SystemoutprintlnNome nome SystemoutprintlnMatrícula matricula SystemoutprintlnCurso curso SystemoutprintlnEmail email Systemoutprintln Implementação em Professor public class Professor extends Usuario implements Relatorio outros atributos e métodos Override public void gerarRelatorio Systemoutprintln RELATÓRIO DO PROFESSOR SystemoutprintlnNome nome SystemoutprintlnRegistro registro SystemoutprintlnEspecialidade especialidade SystemoutprintlnEmail email Systemoutprintln Classe para gerenciar relatórios public class GeradorRelatorios public void gerarRelatoriosEmLoteList itens SystemoutprintlnGerando relatórios em lote for Relatorio item itens itemgerarRelatorio Systemoutprintln Linha em branco entre relatórios SystemoutprintlnTotal de relatórios gerados itenssize Explicação A interface Relatorio define o contrato para geração de relatórios O polimorfismo permite que objetos de diferentes classes Aluno Professor sejam tratados uniformemente como Relatorio A classe GeradorRelatorios demonstra o uso de laços para processar coleções de objetos polimórficos 7 Arquitetura em Camadas Objetivo Organizar o projeto em pacotes seguindo o padrão de arquitetura em camadas Implementação Estrutura de Pacotes src main java model Entidades do sistema Alunojava Professorjava Cursojava Turmajava Avaliacaojava service Regras de negócio AlunoServicejava ProfessorServicejava TurmaServicejava repository Acesso a dados AlunoRepositoryjava ProfessorRepositoryjava CursoRepositoryjava ui Interface com usuário MenuPrincipaljava resources Mainjava Classe principal Explicação A arquitetura em camadas separa as responsabilidades do sistema Model Contém as entidades e classes de domínio Service Implementa as regras de negócio e lógica da aplicação Repository Gerencia o armazenamento e recuperação de dados UI Cuida da interação com o usuário Esta organização facilita a manutenção teste e evolução do sistema 8 Sistema Consolidado Objetivo Integrar todas as funcionalidades em um menu principal completo Implementação Código Java Menu Principal import javautilScanner public class MenuPrincipal private Scanner scanner private AlunoService alunoService private ProfessorService professorService private TurmaService turmaService public MenuPrincipal thisscanner new ScannerSystemin thisalunoService new AlunoService thisprofessorService new ProfessorService thisturmaService new TurmaService public void exibirMenu int opcao do Systemoutprintln SISTEMA EDUCONNECT Systemoutprintln1 Cadastrar Aluno Systemoutprintln2 Cadastrar Professor Systemoutprintln3 Cadastrar Curso Systemoutprintln4 Criar Turma Systemoutprintln5 Matricular Aluno em Turma Systemoutprintln6 Registrar Notas Systemoutprintln7 Gerar Relatórios Systemoutprintln0 Sair SystemoutprintEscolha uma opção opcao scannernextInt scannernextLine Limpar buffer switch opcao case 1 alunoServicecadastrarAluno break case 2 professorServicecadastrarProfessor break case 3 Implementar cadastro de curso break case 4 turmaServicecriarTurma break case 5 turmaServicematricularAluno break case 6 Implementar registro de notas break case 7 gerarRelatorios break case 0 SystemoutprintlnSaindo do sistema break default SystemoutprintlnOpção inválida while opcao 0 private void gerarRelatorios Systemoutprintln GERAR RELATÓRIOS Systemoutprintln1 Relatório de Alunos Systemoutprintln2 Relatório de Professores Systemoutprintln3 Relatório de Turmas SystemoutprintEscolha int opcao scannernextInt Implementação dos relatórios Explicação O menu principal integra todas as funcionalidades desenvolvidas nas fases anteriores proporcionando uma interface amigável para o usuário interagir com o sistema A estrutura modular permite que cada serviço AlunoService ProfessorService etc seja responsável por sua própria lógica de negócio CONCLUSÃO O desenvolvimento do Sistema de Gestão Educacional EduConnect demonstrou na prática a aplicação dos principais conceitos de Programação Orientada a Objetos Encapsulamento Proteção dos dados através de atributos privados e métodos controlados Herança Reutilização de código através de hierarquias bem definidas Polimorfismo Flexibilidade no comportamento através de interfaces e sobrescrita de métodos Abstração Definição de contratos claros através de interfaces e classes abstratas A arquitetura em camadas implementada proporciona um sistema modular de fácil manutenção e extensível seguindo as melhores práticas de engenharia de software Este projeto consolidou o aprendizado de POO em Java preparando o terreno para o desenvolvimento de sistemas mais complexos e robustos no futuro REFERÊNCIAS DEITEL P J DEITEL H M Java como programar 10 ed São Paulo Pearson 2017 ORACLE Documentação Oficial do Java Disponível em httpsdocsoraclecomjavase BLOCH J Effective Java 3 ed Boston AddisonWesley 2018 Material didático da disciplina de Programação Orientada a Objetos Slides e apostilas fornecidos pelo professor

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®