Operação IT: Reconstruindo o Sistema de Suporte de TI
Uma empresa de tecnologia chamada IT Solutions é responsável pelo atendimento e suporte de informática de diversas empresas. Recentemente, uma falha grave comprometeu o sistema utilizado pelos técnicos para registrar computadores, usuários e chamados de suporte. Parte do código-fonte foi recuperada, porém o sistema precisará ser reconstruído. Você foi selecionado para integrar a equipe de desenvolvimento responsável pela Operação IT. Sua missão será desenvolver, utilizando a linguagem Java e os conceitos de Programação Orientada a Objetos, uma versão simplificada do novo Sistema de Gerenciamento de Suporte de TI. O desenvolvimento acontecerá em cinco missões. Cada missão corresponde a um tema estudado na disciplina e representa uma evolução do mesmo sistema. Em todas as missões, você deverá relacionar teoria e prática. Isso significa que não basta apresentar apenas o código-fonte. Você deverá demonstrar que compreendeu os conceitos utilizados, explicando-os a partir da própria implementação realizada.
Missão 1 – Inicialização do sistema.
Antes que o sistema da IT Solutions possa ser reconstruído, a equipe precisa verificar se o ambiente Java está funcionando corretamente. Seu primeiro desafio será desenvolver o módulo responsável pela identificação inicial do sistema.
Atividade
Crie um programa Java chamado: SistemaSuporte.java
O programa deverá possuir o método main e armazenar as seguintes informações:
* Nome do sistema.
* Versão.
* Nome de um técnico (utilize seu nome).
* Quantidade de chamados abertos.
* Status do sistema.
Utilize variáveis de tipos adequados. Depois, apresente essas informações no console. O programa também deverá verificar a quantidade de chamados. Caso existam chamados abertos, deverá apresentar:
* “Existem chamados aguardando atendimento”.
* Caso contrário: “Nenhum chamado pendente”.
Missão 2 – Transformando Dados em Objetos.
O primeiro módulo funcionou, mas os desenvolvedores identificaram um problema. Manter todas as informações dentro do método main tornará o sistema difícil de organizar à medida que novos computadores forem cadastrados. A IT Solutions decidiu começar a utilizar Programação Orientada a Objetos. Sua missão agora será representar um equipamento como um objeto do mundo computacional.
Atividade
Crie uma classe chamada: Computador
Ela deverá possuir pelo menos os seguintes atributos:
* String patrimonio.
* String modelo.
* String sistemaOperacional.
* boolean ligado.
Crie também os métodos:
* ligar()
* desligar()
* exibirInformacoes()
Depois crie uma classe chamada ‘Principal’. No método main, crie dois objetos da classe Computador, atribua valores diferentes aos seus atributos e execute seus métodos.
Missão 3 – Protegendo os dados da IT Solutions.
Durante os testes do sistema, um desenvolvedor alterou diretamente informações importantes de um equipamento. Por exemplo, foi possível modificar livremente o número de patrimônio de um computador. Isso representa um problema para a integridade dos dados. A equipe decidiu aplicar encapsulamento e criar relacionamentos entre as classes.
Atividade
Modifique a classe Computador. Seus atributos deverão agora utilizar o modificador ‘private’. Crie os métodos get e set necessários para acessar e modificar os dados.
Agora crie uma nova classe chamada: Tecnico
Ela deverá possuir:
* private String nome.
* private String especialidade.
Depois crie uma classe: Chamado
Ela deverá possuir:
* private int numero.
* private String descricao.
* private String status.
* private Computador computador.
* private Tecnico tecnico.
A classe Chamado deverá, portanto, relacionar um chamado de suporte com: um computador e um técnico.
No método main, crie:
* Um objeto Computador.
* Um objeto Tecnico.
* Um objeto Chamado.
Relacione os objetos. Exemplo conceitual:
chamado.setComputador(computador);
chamado.setTecnico(tecnico);
Depois apresente as informações completas do chamado.
Missão 4 – Criando Uma Equipe Especializada
O sistema está crescendo. Agora a IT Solutions possui diferentes tipos de funcionários responsáveis pelo suporte: técnicos de hardware e técnicos de software. Embora todos sejam técnicos, cada profissional executa o atendimento de maneira diferente. Duplicar todo o código em várias classes não seria uma boa solução. A equipe decidiu utilizar herança, interfaces e polimorfismo.
Atividade
Transforme Tecnico em uma classe base. Crie duas subclasses: TecnicoHardware e TecnicoSoftware. As duas deverão herdar de Tecnico.
Agora crie uma interface chamada: Atendimento
* Ela deverá possuir: void realizarAtendimento().
* As classes TecnicoHardware e TecnicoSoftware deverão implementar essa interface. Contudo, cada uma deverá apresentar um comportamento diferente.
* Na classe Principal, demonstre o polimorfismo utilizando uma referência da classe pai e execute os métodos dos objetos.
Missão 5 – Protocolo de Segurança do Sistema.
O sistema da IT Solutions já está quase pronto. Entretanto, durante os testes finais, foram identificadas situações capazes de interromper sua execução. Um usuário, por exemplo, pode digitar um valor inválido ao informar o número de um chamado. Além disso, a empresa precisa controlar automaticamente quantos chamados foram cadastrados. Sua missão final será tornar o sistema mais robusto e seguro.
Atividade
Na classe Chamado, crie um atributo estático: private static int totalChamados = 0;
Sempre que um novo objeto Chamado for criado, esse contador deverá aumentar. Crie também um método estático para totalChamados. Depois, permita que o usuário informe pelo teclado o número de um chamado. Utilize Scanner e implemente tratamento de exceções utilizando try e catch. Crie pelo menos três chamados no programa e apresente ao final o total de chamados cadastrados.
O que devo entregar?
– Desenvolver os códigos e também responder à pergunta teórica de cada missão.
- Tanto os códigos quanto as respostas das perguntas devem ser colocados no arquivo template da atividade.
– NÃO enviar arquivo fonte do código e nem links.
IMPORTANTE:
– Um vídeo explicativo sobre a atividade MAPA estará disponível no ambiente da disciplina (fórum e material da disciplina), para auxiliá-lo no processo de criação e desenvolvimento.
– Para esta atividade MAPA, deverá usar o template (formulário padrão), disponível no material da disciplina.
– Após o envio da atividade, não serão permitidas alterações ou reenvios. Dessa forma, revise atentamente seu arquivo antes de enviar, pois você terá apenas uma tentativa. Após o envio, aproveite para fazer o download do comprovante de finalização, localizado no menu superior direito, em “Imprimir”.
– Atenção: cópias de materiais sem as devidas referências e cópias de outros estudantes serão automaticamente zeradas. Caso tenha citação ou referência, mesmo que proveniente do material didático da disciplina, deve seguir as normas da ABNT.
– Procure esclarecer suas dúvidas com antecedência, entrando em contato com a mediação, para garantir que conseguirá realizar a atividade conforme o conteúdo exigido.
– Fique atento ao prazo de entrega! Evite deixar para enviar a atividade no último dia e de última hora, pois problemas com internet, computador, software ou quaisquer outras situações adversas não serão aceitos como justificativa.
Em caso de dúvidas, encaminhe uma mensagem ao Professor Mediador pelo Fale com o Mediador.
Boa atividade!