Prévia do material em texto
UNIVERSIDADE FEDERAL DO AMAZONAS (UFAM) INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA DE ITACOATIARA (ICET) CURSO DE ENGENHARIA DE SOFTWARE TRABALHO PRÁTICO 01 DA DISCIPLINA DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRABALHO DE PESQUISA E RESOLUÇÃO DE PROBLEMAS • O trabalho deve ser feito em 4 grupos de no máximo 5 integrantes. • A data-limite para entrega é dia 19/12/2022. • Haverá pontuação extra para o grupo que entregar alguma especificação a mais nesta primeira parte (Trabalho 1) implementada em linguagem JAVA. • O pacote com o trabalho deve necessariamente ser enviado para o email do professor (rallysonferreira@gmail.com) – o assunto do email e o nome do arquivo devem seguir o padrão POO-TP1-Aluno1.Aluno2.Aluno3.Aluno4.Aluno5.zip; • OBS: Trabalhos parecidos e, com especificações iguais, terão a nota dividida pelo número de “cópias”. O Que Deve Ser Entregue • a) O trabalho em mídia. • b) Os Anexos. • c) Se for preciso enviar algum arquivo adicional (devido a necessidade de instalação pela plataforma de desenvolvimento) por favor especificar no trabalho. Apresentação do Trabalho • A apresentação do trabalho será feita por apenas um integrante do grupo, escolhido mediante sorteio. No entanto, todo o grupo deve estar presente, assim como todos os outros grupos. • A apresentação começará às 14:00 horas. Os alunos que chegarem atrasados perderam pontos por minutos de atraso. • Também será feito sorteio para ordem de apresentação dos grupos. • Obs: Se o Brasil for Hexa Campeão não haverá apresentação do TP1!!! ESPECIFICAÇÕES DO TRABALHO O trabalho tem o objetivo de promover uma reflexão sobre os conteúdos estudados na primeira etapa da disciplina de POO, de modo a contribuir para o entendimento e solidificação de conceitos apresentados e discutidos, além de incentivar um estudo mais aprimorado sobre a análise e o projeto orientado a objetos utilizando a UML. Obs: Os problemas aqui apresentados são apenas uma sugestão. Podendo ser escolhidos outros problemas clássicos que o grupo pode sugerir, desde que tenha todas as especificações necessárias (podendo ser aprovado ou não pelo professor da disciplina). Para todos os problemas: a) Os grupos deverão apresentar sua proposta em um arquivo formato .doc ou .pdf a ser enviado por email até a data mencionada acima. b) As propostas deverão, necessariamente, conter as seguintes seções: introdução (transcrever um panorama geral do trabalho), objetivo (o que e porquê da realização e a importância do trabalho), metodologia (métodos a serem utilizados para se chegar aos objetivos), resultados (produto final alcançado), discussões (relatos acerca da produção do trabalho, positivos e negativos, inclusive sobre o que pode ser melhorado para o TP2), conclusões (argumentar sobre as dificuldades encontradas, sobre o aprendizado, sobre a relevância do trabalho no contexto da disciplina e do curso) e referências para as fontes externas (lembrando que utilizar o trabalho de alguém sem citá-lo é plágio e desonestidade acadêmica, então muita atenção!!!). c) Defina também, os elementos relacionados ao problema (Diagrama de Classes) e implemente um conjunto de classes, de forma detalhada, para o problema a ser tratado. Identifique as classes, atributos e métodos. Represente os relacionamentos, dependência, generalizações, agregações e multiplicidades. d) É necessário anexar um relatório dos encontros da equipe (ao final do trabalho). Informe quantas vezes houve o encontro com a equipe, se todos compareceram, quais as responsabilidades de cada integrante do grupo e, se realmente fizeram suas tarefas (podem “caguetar” sinceramente e sem medo de serem felizes!). e) Não é necessário para a primeira parte do trabalho a implementação do algoritmo. No entanto, se algum grupo desejar implementar contará como ponto extra (desde que tenha alguma funcionalidade já rodando). f) (Para o TP2) Usando os elementos definidos, desenvolva e implemente um algoritmo comentado em alto nível (escrito em java “código” para essa primeira etapa) para a solução do problema; Problema 1 – Gerenciamento Escolar: O sistema proposto deve gerenciar as principais atividades da “Escola Particular Aprendendo e Crescendo”. Considere inicialmente os aspectos da escola e suas atividades essenciais: a) Realiza Matrícula de Alunos. b) Transfere Alunos. c) Emite Declaração de Alunos. d) Faz cobrança das mensalidades. e) Imprimi os Alunos Matriculados em uma Disciplina. f) Possui funcionários: Diretora, Professores, Secretária e Técnicos Administrativos. g) Possui 5 Turmas do 1º ao 5º Ciclo do Ensino Fundamental. h) Possui Professores responsáveis por cada turma. A secretaria da escola é quem gerencia as atividades da escola com a autorização da Direção. A secretaria designa as turmas que são ministradas por cada professor e também a qual turma cada aluno pertence. Para os funcionários, independente de quem seja é necessário saber seu Nome, Endereço, Telefone, CPF, Número de Matrícula e Salário. Para cada Turma é necessário saber seu Nome, Código, Valor da Matrícula e Quantos Alunos estão matriculados. Os alunos, para realizar a matrícula, precisam informar, Nome, Idade, Responsável Legal, CPF ou RG ou Certidão de Nascimento, Transferência: Sim ou Não (se vier transferido de outra escola). Problema 2 – Organização de um Evento Científico: Organizando minicursos para o Simpósio Multinacional de Computação. É comum que simpósios e congressos em computação ofereçam aos participantes, especialmente aos alunos de graduação e pós-graduação, minicursos ou tutoriais em temas no estado-da-arte da área do evento. Considere o problema de organizar um número de minicursos com participantes do evento, onde haja restrições relacionadas aos desejos de certos participantes em tomar parte de certos cursos. Dessa forma, deseja-se desenvolver um sistema para controlar as ações desse evento. a) É necessário observar um número fixo de salas, horários para os eventos e limite de pessoas. b) Os eventos não podem acontecer na mesma sala e com o mesmo horário. c) É importante observar também que os eventos da mesma área precisam estar em horários diferentes para não prejudicar os participantes. d) Existe uma Comissão Organizadora que é quem gerencia a organização do evento. e) Os eventos possuem os Chairs que são responsáveis pelos eventos em cada sala. f) Também possuem os Profissionais que ministraram os eventos em cada sala. As Salas possuem Número, Nº Piso e Capacidade. Os eventos podem ser classificados em Cursos, Minicursos, Palestras ou Mesa Redonda. E todos os eventos possuem Nome, Área, Chairs, Dia, Horário, Duração e Valor da Taxa de Inscrição. As pessoas, para se inscreverem nos eventos precisam informar Nome, Entidade a que pertence, Ocupação (professor, aluno ou visitante), e Pagar a Taxa do Evento. Para os profissionais é preciso saber o Nome, Profissão, Formação (Qualificação Acadêmica) e Entidade a que pertence. Problema 3 – Gerenciamento de uma Oficina Mecânica. A Oficina “Temos Tudo Sob Controle” do seu Ronaldo Messi está precisando se automatizar. A referida oficina está precisando controlar seu atendimento, que nos últimos anos tem crescido consideravelmente. Por isso, seu Ronaldo Messi está precisando de um sistema que controle desde a entrada de serviços até o pagamento feito pelos clientes. a) A oficina precisa manter informações sobre seus clientes, peças, serviços e ordens de serviços (OS). b) A oficina tem a Gerência que controla todos os serviços. c) Possui também o caixa para pagamento dos serviços. d) Existe uma divisão da oficina em Setores para os Serviços: Bikes, Motocicletas, Carros Pequenos (passeios e esportivos), Carros Médios (Van e Minivans) e Carros Pesados (Caçambas, Carretas e etc.). Os Clientes precisam informar, ao solicitar o serviço que deseja, os seguintes dados: Nome, Endereço, Telefone, Cliente Novo ou Cliente Fidelidade(tem desconto nos serviços solicitados), qual o Veículo que deseja solicitar o Serviço. Os serviços a serem solicitados pelos clientes devem ser informados a gerência com o Tipo de Serviço, Horário de Entrada, Orçamento (Valor estimado para o pagamento), Previsão para a Entrega e Situação. O pagamento dos serviços podem ser A Vista, No Pix ou No Cartão (com um acréscimo de 2%), sendo que clientes antigos (fidelidade) não pagam taxa de acréscimo no cartão e ainda tem desconto no pagamento A Vista de 3%. Problema 4 – Empréstimo de Livros na Biblioteca: A Biblioteca da Cidade de Tão Tão Distante contém um grande acervo de livros e precisa automatizar o processo de consulta, organização e empréstimos. A referida biblioteca acaba de receber mais Livros e já não consegue fazer sua Organização de forma manual, e nem o Controle de Empréstimos. Por isso, necessita de um sistema para melhorar o serviço a comunidade da sua pequena cidade. Assim pode melhorar alguns serviços como o de Pesquisa por uma Obra quando alguém quiser Emprestar para saber se tem o Livro no Acervo, se não tem, se está Emprestado, e se tiver Emprestado, quando estará Disponível novamente. Os Livros só podem ser emprestados por no máximo 7 dias e no máximo 3 obras por pessoa. A Biblioteca precisa organizar a entrada de Novos Livros os quais precisam ser Cadastrados através do Nome, Autor, Ano de Publicação e Editora. Quando alguém precisar solicitar o Empréstimo de algum livro precisará informar seu Nome, Endereço, Telefone, RG ou similar, Se já Emprestou algum livro (sim ou não), Se está Inadimplente com os Empréstimos (Se emprestou e não devolveu). Lembrando que se alguém estiver Inadimplente com a biblioteca ficará por um período de 2 meses sem poder emprestar novamente como forma de penalidade. A biblioteca possui uma divisão em seu Acervo de Livros: Obras Acadêmicas (que é subdividido por Área e Série), Obras de Contos Infantis (que é dividido em historias ou poesias), Obras Diversas (que é dividido em Romance, Comédia, Suspense, Ação, Terror ou Ficção Científica). Grupos: 1. Vinicius Melchior, Gabriel, Felipe Maklouf, Samuel, Arthur (Biblioteca) 2. Vinicius Martins, Victor, Sergio, José Cumaru, Matheus, Maurício (Escola) 3. Chris, Pablo, Wilian, Edvandro, Ilgner, Wellithon (Oficina Mecanica) 4. Lidy, Liliene, Rafael, Fernanda, Anderson, José Rui (Evento Científico)