ATIVIDADES PRÁTICAS SUPERVISIONADAS CST em Gestão da Tecnologia da Informação 4 ª Série Programação Orientada a Objetos A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido por meio de etapas acompanhadas pelo professor, e que tem por objetivos: Favorecer a autoaprendizagem do aluno. Estimular a corresponsabilidade do aluno pelo seu aprendizado. Promover o estudo, a convivência e o trabalho em grupo. Auxiliar no desenvolvimento das competências requeridas para o exercício profissional. Promover a aplicação da teoria na solução de situações que simulam a realidade. Oferecer diferenciados ambientes de aprendizagem. Para atingir estes objetivos, a ATPS propõe um desafio e indica os passos a serem percorridos ao longo do semestre para a sua solução. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional. AUTORIA: Walter Gima Faculdade Anhanguera de Limeira . CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 2 de 11 COMPETÊNCIAS E HABILIDADES Ao concluir as etapas propostas neste desafio, você terá desenvolvido as competências e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir. Compreender tecnologias relacionadas à comunicação e processamento de dados e informações. Abranger ações de concepção, desenvolvimento, implantação, operação, avaliação e manutenção de sistemas e tecnologias relacionadas à informática e telecomunicações. DESAFIO A busca por uma vida mais saudável com menos sedentarismo e mais exercícios físicos fizeram do mercado Fitness uma área promissora e crescente nos últimos anos na América Latina. Segundo a ACAD Associação Brasileira de Academias <http://www.educacaofisica.com.br/index.php/gestao/canais-gestao/academias/24274setor-em-constante-expansao-mercado-fitness-cresce-52-em-tres-anos>. Acesso em 15 de maio 2014, o setor cresceu 52% entre os anos de 2009 e 2011. O setor atualmente atende apenas 2% da população no Brasil então, se entende que há bastante demanda para investimentos na área. Analisando as tendências de crescimento a empresa PowerXY-Gym que é uma rede de academias de musculação está procurando uma equipe para desenvolver um novo sistema de informação para gerenciar as academias. O PowerXY-Gym irá investir em tecnologia para poder controlar seus processos e melhorar a gestão de suas academias. Os processos a serem automatizados pelo sistema são as matrículas e controle de presença de alunos, agendamentos e controle de atividades com turmas da academia (jump, spining, zumba etc.), emissão de ficha de treinos e demais processos que podem fazer parte do cotidiano de uma academia. Para orientação no desenvolvimento do sistema e aprovação do conteúdo produzido pela equipe de desenvolvimento a PowerXY-Gym conta com um membro de sua diretoria representado pelo Professor. Objetivo do Desafio Elaborar um software que gerencie diversos processos de uma academia de musculação, utilizando conceitos de orientação a objetos implementados com a linguagem Java, utilizando recursos e tecnologias como interface gráfica e banco de dados. Livro Texto da Disciplina A produção desta ATPS é fundamentada no livro-texto da disciplina, que deverá ser utilizado para solução do desafio: SANTOS, Rafael. Introdução à Programação Orientada a Objetos Usando Java. 1ª ed. Rio de Janeiro: Campus - Elsevier, 2008. Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 3 de 11 Participação Esta atividade será, em parte, desenvolvida individualmente pelo aluno e, em parte, pelo grupo. Para tanto, os alunos deverão: organizar-se, previamente, em equipes de 3 a 5 participantes; entregar seus nomes, RAs e e-mails ao professor da disciplina e observar, no decorrer das etapas, as indicações: Individual e Equipe. ETAPA 1 (tempo para realização: 10 horas) Aula-tema: Conceitos de orientação a objetos: classes e objetos; atributos e comportamentos. Definição da tecnologia Java e estrutura da linguagem. Implementação de classes e instanciação de objetos. Implementação de atributos e métodos. Definição de Usabilidade, Encapsulamento e Acessibilidade. Implementação de Modificadores de acesso (Acessibilidade). Esta atividade é importante para você entender como utilizar conceitos de orientação a objetos, aprender a construir classes, atributos e métodos, entender a utilização do encapsulamento e aprender a instanciar objetos e conhecer a sintaxe da Linguagem Java para criar uma aplicação. Para realizá-la, devem ser seguidos os passos descritos. PASSOS Passo 1 (Individual) Realizar as atividades apresentadas a seguir: 1. Fazer a leitura individual do Material: Ricarte, I.L.M. Apostila de Programação Orientada a Objetos: Uma abordagem com Java. Disponível em <http://goo.gl/OQu7GZ>. Acesso em: 12 abr. 2014, focando a leitura no Capítulo 1: Fundamentos da Programação Orientada a Objetos e no Capítulo 2: Princípios da Programação na Linguagem Java. 2. Fazer a leitura individual do Capítulo do livro texto que retrata: Introdução à programação orientada a objetos e criando classes em Java. 3. Pesquisar sobre introdução a orientação a objetos, classes, métodos, atributos, modificadores de acesso e encapsulamento, nos livros que compõem a Bibliografia Complementar e na Internet. Bibliografia Complementar • SIERRA, Kathy; BATES, Bert. Use a Cabeça! Java. 2ª ed. Rio de Janeiro: Alta Books, 2007. • DEITEL, Harvery M. Java: Como Programar. 6ª ed. São Paulo: Pearson - Prentice Hall, 2007. • SERSON, Roberto Rubinstein. Programação orientada a objetos com Java 6. 1ª ed. São Paulo: Brasport, 2008. Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 4 de 11 Pesquisar sobre as características de uma IDE - Integrated Development Environment - para utilizar com a linguagem Java. Com base nas pesquisas escolha uma IDE para criar o projeto do sistema da academia de musculação. Sites sugeridos para pesquisa • NetBeans IDE. Disponível em: <https://netbeans.org>. Acesso em: 12 abr. 2014. • Eclipse IDE. Disponível em: <https://www.eclipse.org/>. Acesso em: 12 abr. 2014. • Início Rápido com NetBeans IDE. Disponível em: <http://goo.gl/7MBN5d> e compartilhado em: <http://goo.gl/vSgJWu>. Acesso em: 12 abr. 2014. • CAMPOS, Sylvia. Leal, Francisco. Introdução ao Eclipse IDE. Disponível em: <http://goo.gl/953xAO>. e compartilhado em: <http://goo.gl/iNatWA>. Acesso em: 12 abr. 2014. Passo 2 (Equipe) Fazer uma discussão em equipe e com o representante da PowerXY-Gym para identificar as classes, seus atributos e possíveis métodos que serão implementados no sistema por meio dos requisitos a seguir: Requisitos Funcionais: Manutenção de Alunos: O sistema deve inserir, alterar, excluir e pesquisar os dados de alunos. Manutenção de Funcionários: O sistema deve inserir alterar, excluir e pesquisar os dados de funcionários. Manutenção de Usuários: O sistema deve inserir alterar, excluir e pesquisar os dados de usuários. Os campos de usuários são: código, login, senha, código_funcionário. Autenticação por meio de Login: O sistema deve permitir acesso somente a usuários com login e senha. Com exceção a atividades de registro de presença do aluno e consulta de atividades. Manutenção de Atividades: O sistema deve inserir alterar, excluir e pesquisar os dados de atividades da academia. As atividades são treinos diferentes de musculação que ocorrem em horários específicos, por exemplo: Spinning, Jump, Zumba e outras atividades possíveis. Agendar Atividades: As atividades devem ser agendadas em um horário específico do dia da semana conforme disponibilidade do professor e da estrutura da academia. Os campos para agendar as atividades são: código, data, dia_semana, hora_início, hora_fim, código da atividade. Consultar Agenda de Atividades: O sistema deve permitir a exibição dos agendamentos da semana para os alunos. Registrar Presença de Alunos: O sistema deve receber o código do aluno e registrar sua presença do dia. Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 5 de 11 Requisitos Não Funcionais Terminal (computador e monitor) para exibir as telas públicas do sistema. As telas públicas são o requisito 7. Consultar Agenda de Atividades e o requisito 8. Registrar Presença de Alunos. O terminal estará em um local de fácil acesso para o aluno, que pode registrar sua presença quando comparecer à academia e consultar a agenda de programação de atividades da semana na academia. Linguagem Java Figura 1 – Modelagem: Casos de Uso do Sistema Fonte: Autor. Passo 3 (Equipe) Criar um projeto utilizando a IDE escolhida no Passo 1 desta Etapa para implementar as classes identificadas no Passo 2 desta Etapa. Para criação das classes considerem os seguintes critérios: Implementar as classes, atributos e métodos. Definir usabilidade e acessibilidade para implementar os modificadores de acesso. Implementar o encapsulamento dos atributos. Passo 4 (Equipe) Elaborar e entregar ao professor da disciplina: Relatório com o nome Relatório 01: Orientação a Objetos e Classes. O relatório deve abordar o conteúdo pesquisado no Passo 1 desta etapa: introdução a programação orientada a objetos, criação de classes, métodos, atributos, modificadores de acesso e encapsulamento codificação das classes definidas com base nas atividades anteriores desenvolvidas nesta etapa. Entregar o projeto criado nos Passos 2 e 3 desta etapa da seguinte forma: Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 6 de 11 o Documento de texto contendo os prints (print screen) das telas da execução das classes criadas demonstrando entrada e saída de dados. Os resultados da execução das classes devem conter a conclusão da equipe. o Consultar o professor sobre o tipo de mídia (CD, e-mail etc.) para a entrega do código fonte do sistema. ETAPA 2 (tempo para realização: 10 horas) Aula-tema: Definição de construtores e implementação. Definição de sobrecarga de métodos e implementação. Definição de relacionamento entre classes (Associação e Herança). Esta atividade é importante para que você aprenda a utilizar construtores de classes, conheça os conceitos da utilização de sobrecarga de métodos das classes e aprenda a implementar os conceitos de associação e herança. Para realizá-la, devem ser seguidos os passos descritos. PASSOS Passo 1 (Individual) Realizar as atividades apresentadas a seguir: 1. Fazer a leitura individual do Capítulo do livro texto que retrata: Construtores, Sobrecarga e Reutilização de Classes. 2. Fazer a leitura individual do Material: Caelum. Apostila de Java e Programação Orientada a Objetos. Disponível em <http://goo.gl/RWJHaJ>. Acesso em: 12 abr. 2014, focando a leitura no Capítulo 7: Herança, reescrita e polimorfismo. 3. Pesquisar sobre métodos construtores, sobrecarga de métodos, relacionamento entre as classes e herança nos livros que compõem a Bibliografia Complementar e na internet. Bibliografia Complementar SIERRA, Kathy; BATES, Bert. Use a Cabeça! Java. 2ª ed. Rio de Janeiro: Alta Books, 2007. DEITEL, Harvery M. Java: Como Programar. 6ª ed. São Paulo: Pearson - Prentice Hall, 2007. SERSON, Roberto Rubinstein. Programação Orientada a Objetos com Java 6. 1ª ed. São Paulo: Brasport, 2008. Passo 2 (Equipe) Definir e implementar todos os construtores das classes criadas para o projeto. Para cada classe utilize sobrecarga de métodos para criar dois construtores um construtor vazio e outro passando os atributos da classe por meio de parâmetros do construtor. A seguir representação dos construtores por meio de um diagrama de classe. Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 7 de 11 Figura 2 – Modelagem: Diagrama de Classe Fonte: Autor. Passo 3 (Equipe) Implementar o relacionamento de herança nas classes em que seu uso se faz necessário no projeto. Para uso de herança considerar os seguintes critérios: Reuso de código. Sobreposição de métodos. Figura 3 – Modelagem: Classe com uso de Herança Fonte: Autor. Passo 4 (Equipe) Elaborar e entregar ao professor da disciplina: Relatório com o nome Relatório 02: Implementação de Construtores, Sobrecarga e Herança. O relatório deve abordar o conteúdo pesquisado no Passo 1 desta etapa: implementação de construtores, sobrecarga e herança. Entregar o projeto criado nos Passos 2 e 3 desta etapa, da seguinte forma: o Documento de texto contendo os prints (print screen) das telas da execução das classes criadas demonstrando entrada e saída de dados. Os resultados da execução das classes devem conter a conclusão da equipe. o Consultar o professor sobre o tipo de mídia (CD, e-mail etc.) para a entrega do código fonte do sistema. Socialização de resultados parciais Cada equipe deve elaborar uma apresentação de acordo com os resultados obtidos nas etapas 1 e 2, que contenha as dificuldades encontradas e possíveis soluções propostas. O professor organizará as equipes para que todas apresentem este trabalho parcial, em sala de aula, aos Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 8 de 11 demais colegas, para compor o Seminário Final desta ATPS. Esta atividade tem o propósito de socializar as dinâmicas de trabalho encontradas por cada equipe, bem como, trocar experiências a respeito dos resultados obtidos. ETAPA 3 (tempo para realização: 10 horas) Aula-tema: Definição de exceções e implementação. Coleções em Java: Vector, ArrayList, LinkedList e implementação. Construção de GUI Swing e AWT (Construção e tratamento de Ações). Esta atividade é importante para que você conheça o tratamento de exceções, saiba utilizar coleções de objetos e conheça como utilizar componentes de interface gráfica (GUI) para construção de sistemas. Para realizá-la, devem ser seguidos os passos descritos. PASSOS Passo 1(Individual) Realizar as atividades apresentadas a seguir: 1. Fazer a leitura individual do capítulo do livro texto que retrata: Coleções de objetos. 2. Fazer a leitura individual do Material: Ricarte, I.L.M. Apostila de Programação Orientada a Objetos: Uma abordagem com Java. Disponível em <http://goo.gl/OQu7GZ>. Acesso em: 12 abr. 2014. Focar a leitura no subcapítulo 2.5: Exceções. 3. Fazer a leitura individual do Material: Caelum. Apostila de Java e Programação Orientada a Objetos. Disponível em <http://goo.gl/RWJHaJ>. Acesso em: 12 abr. 2014, focar a leitura no Capítulo 11: Exceções e controle de erros. 4. Fazer a leitura individual do site: Interface Java. Disponível em <http://javainterface.wikidot.com/interfacejava>. e compartilhado em <http://goo.gl/3Xh1Yd>. Acesso em: 12 abr. 2014. 5. Fazer a leitura individual do Material: Introdução à Construção de GUIs no NetBeans. Disponível em <http://goo.gl/8nqRts>. e compartilhado em <http://goo.gl/k5Szbm>. Acesso em: 12 abr. 2014. 6. Fazer a leitura individual do Material: Projetando uma GUI Swing no NetBeans IDE. Disponível em <http://goo.gl/joDHFw>. e compartilhado em <http://goo.gl/EJxm6f>. Acesso em: 12 abr. 2014. Passo 2 (Equipe) Criar uma coleção de objetos do tipo Atividades para armazenar em memória os agendamentos de atividades. Como regra da PowerXY-Gym o número de atividades não deve ser maior que 4 atividades diárias. Passo 3 (Equipe) Criar as interfaces gráficas para o sistema que devem seguir os seguintes critérios: O sistema deve contar com menus para acesso as telas do sistema. Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 9 de 11 As telas de cadastros devem seguir um padrão de layout, em outras palavras, todas as telas devem ser similares. A tela de exibição da agenda de atividades deve exibir as atividades em um componente jtable. A seguir algumas imagens de um protótipo das telas como sugestão para layout do sistema: Figura 4 – Protótipos – sugestão para Layout. Fonte: Autor. Passo 4 (Equipe) Elaborar e entregar ao professor da disciplina: Relatório com o nome Relatório 03: Implementação de Coleções e Interface Gráfica. O relatório deve abordar o conteúdo pesquisado no Passo 1 desta etapa: Exceções, Coleções em Java, Construção de GUI Swing e AWT. Entregar o projeto criado nos Passos 2 e 3 desta etapa da seguinte forma: o Documento de texto contendo os prints (print screen) das telas da execução das classes criadas demonstrando entrada e saída de dados. Os resultados da execução das classes devem conter a conclusão da equipe. o Consultar o professor sobre o tipo de mídia (CD, e-mail etc.) para a entrega do código fonte do sistema. ETAPA 4 (tempo para realização: 10 horas) Aula-tema: Persistência de Dados utilizando um SGDB Projeto Exemplo. Esta atividade é importante para que você aprenda a criar classes de conexão a um banco de dados em Java, assim como, a criar interações entre uma aplicação Java e o banco de dados. Para realizá-la, devem ser seguidos os passos descritos. PASSOS Passo 1 (Individual) Fazer as atividades apresentadas a seguir. Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos 1. 2. 3. 4. Pág. 10 de 11 Fazer a leitura individual do Material: Ricarte, I.L.M. Apostila de Programação Orientada a Objetos: Uma abordagem com Java. Disponível em <http://goo.gl/OQu7GZ>. Acesso em: 12 abr. 2014. Focar a leitura no Capítulo 5: Programação Cliente-Servidor, principalmente nas seções sobre conexão com SGBD Sistema de Gerenciamento de Banco de Dados. Fazer a leitura individual do Material: Caelum. Apostila de Java Web. Disponível em < https://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/>. Acesso em: 12 abr. 2014, e compartilhado em <http://goo.gl/oepP8m>. Acesso em: 12 abr. 2014. Focar a leitura no Capítulo 2: Bancos de dados e JDBC. Fazer a leitura individual do Material: Acessando Dados com Java. Disponível em <http://goo.gl/3JE4KH>. Acesso em: 12 abr. 2014. Fazer a leitura individual do Material: DAO Java. Disponível em <http://goo.gl/8lALg9>. Acesso em: 12 abr. 2014. Passo 2 (Equipe) Realizar as atividades apresentadas a seguir: 1. Fazer uma pesquisa em equipe para escolher qual SGBD à equipe irá utilizar para construir o banco de dados do sistema da academia. Sites sugeridos para pesquisa Mysql. Disponível em: <http://www.mysql.com/>. Acesso em: 19 abr. 2014. PostgreSQL. Disponível em: <http://www.postgresql.org/>. Acesso em: 19 abr. 2014. Firebird. Disponível em: <http://www.firebirdsql.org/>. Acesso em: 19 abr. 2014. 2. Criar o banco de dados utilizando o SGBD escolhido pelo grupo para o sistema de academia baseado nos requisitos descritos na Etapa 1 deste desafio. Passo 3 (Equipe) Realizar as atividades apresentadas a seguir: 1. Criar a classe Conexão para realizar a conexão com a base de dados criada no Passo 2 desta etapa. 2. Criar as classes DAO - Data Access Object - equivalentes para todas as classes do sistema que realizam operações com o banco de dados. 3. Realizar as alterações necessárias para que todas as telas do sistema que tenham interação com banco de dados sejam implementadas para concluir o desenvolvimento do sistema de gerenciamento da academia da empresa PowerXY-Gym. 4. Realizar testes em todas as telas do sistema para certificar que todas as telas estão funcionando corretamente. Passo 4 (Equipe) Elaborar e entregar ao professor da disciplina: Walter Gima CST em Gestão da Tecnologia da Informação - 4 ª Série - Programação Orientada a Objetos Pág. 11 de 11 Relatório com o nome Relatório 04: Java e Banco de Dados. O relatório deve abordar o conteúdo pesquisado no Passo 1 desta etapa: Persistência de Dados utilizando um SGDB. Entregar o projeto criado nos Passos 2 e 3 desta etapa da seguinte forma: o Documento de texto contendo os prints (print screen) das telas da execução das classes criadas demonstrando entrada e saída de dados. Os resultados da execução das classes devem conter a conclusão da equipe. o Consultar o professor sobre o tipo de mídia (CD, e-mail etc.) para a entrega do código fonte do sistema. Seminário de Conclusão Com o objetivo de apresentar os resultados obtidos por meio da ATPS, o Seminário Final pretende proporcionar aos estudantes a socialização das variações de resultados, bem como o debate a respeito das dificuldades e soluções encontradas para a finalização do desafio. Cada equipe deverá realizar uma apresentação de vinte minutos, contendo até vinte slides. Esta apresentação deverá contemplar a seguinte estrutura: Introdução: base teórica utilizada para solução do desafio. Desenvolvimento: a partir da apresentação parcial elaborada na etapa 2, descrever as soluções encontradas para a resolução final do desafio. Conclusão: explicar como as soluções encontradas para a resolução final do desafio, poderão contribuir efetivamente em sua vida profissional. A apresentação do Seminário Final de cada curso deverá ocorrer em sua unidade, em local e data a serem definidos pelo professor da disciplina e o coordenador de curso. Padronização O material escrito solicitado nesta atividade deve ser produzido de acordo com as normas da ABNT, com o seguinte padrão (exceto para produções finais não textuais): em papel branco, formato A4; com margens esquerda e superior de 3cm, direita e inferior de 2cm; fonte Times New Roman tamanho 12, cor preta; espaçamento de 1,5 entre linhas; se houver citações com mais de três linhas, devem ser em fonte tamanho 10, com um recuo de 4cm da margem esquerda e espaçamento simples entre linhas; com capa, contendo: nome de sua Unidade de Ensino, Curso e Disciplina; nome e RA de cada participante; título da atividade; nome do professor da disciplina; cidade e data da entrega, apresentação ou publicação. Para consulta completa das normas ABNT, acesse a Normalização de Trabalhos Acadêmicos Anhanguera. Disponível em: <http://issuu.com/normalizacao/docs/normaliza____o_de_trabalhos_acad__m>. Acesso em: 13 maio 2014. Walter Gima