UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ – CEAVI DIREÇÃO DE ENSINO - DEN PLANO DE ENSINO DEPARTAMENTO: Engenharia de Software DISCIPLINA: Programação II SIGLA: PRG II TURMA: A PROFESSOR: Eduardo Stahnke E-MAIL: [email protected] CARGA HORÁRIA TOTAL: 72 TEORIA: 36 PRÁTICA: 36 CURSO: Engenharia de Software ANO/SEMESTRE: 2015/1 PRÉ-REQUISITOS: PRG I OBJETIVO GERAL DO CURSO: O Curso de Bacharelado em Engenharia de Software do CEAVI objetiva formar profissionais aptos a produzir sistemas de software de alta qualidade. Por alta qualidade, compreende-se softwares produzidos aplicando-se técnicas, métodos e ferramentas que permitam produzi-los como propriedades ergonômicas, funcionais, manuteníveis, seguros e de alto desempenho para as diversas áreas de negócio. Espera-se alcançar este objetivo por meio de uma formação que permita ao egresso desempenhar com plenitude suas atribuições profissionais com base em quatro pilares: competência técnica, multidisciplinaridade, postura ética e comportamento empreendedor. Objetivase então que o perfil adquirido pelo egresso ao longo do Curso o capacite para o atendimento de uma demanda nacional e principalmente regional, de modo que este possa se integrar ao mercado de forma plena e atuando nas diversas áreas do mercado de software. EMENTA: Introdução, estruturas de decisão, estruturas de repetição, métodos, programação orientada a objetos, interface gráfica, tratamento de exceções, conectividade de banco de dados (JDBC), aplicação para Internet, servlets. OBJETIVO GERAL DA DISCIPLINA: Aplicar a programação orientada a objetos em linguagem Java no desenvolvimento de aplicativos com banco de dados, interfaces gráficas e acessos via internet. OBJETIVOS ESPECÍFICOS DA DISCIPLINA: a) Aplicar técnicas de programação orientada a objetos na resolução de problemas computacionais, desenvolvendo o raciocínio lógico para solução de problemas; b) Aplicar mapeamento objeto-relacional (JPA), interfaces gráficas Swing, Sevlets e JavaServer Pages no desenvolvimento de aplicativos Java; Aula 1 Data 24/02 Horário 20:40/22:20 2 25/02 20:40/22:20 3 4 5 03/03 04/03 07/03 6 10/03 20:40/22:20 20:40/22:20 Atividade distância 20:40/22:20 7 11/03 17/03 20:40/22:20 20:40/22:20 8 18/03 20:40/22:20 9 24/03 20:40/22:20 10 25/03 20:40/22:20 11 31/03 20:40/22:20 Conteúdo Apresentação do plano de ensino Discussão de métodos avaliativos. Ambientação com a ferramenta NetBeans. Criação de primeiro projeto Java. Estrutura elementar de um programa em Java Entrada/saida de dados; Tipos de dados Operadores relacionais e lógicos Estruturas de decisão Estrutura de decisão múltipla (switch) Estruturas de repetição while e for Objetos Classes Métodos Encapsulamento Construtores Tratamentos de exceções ArrayList Conectividade de banco de dados (JDBC) Resolução de exercícios à T1 – Trabalho sobre orientação à objetos e JDBC Java Persistence API (JPA) Definição de entidade Anotações para mapeamento de entidades Configuração da unidade de persistência Contexto de persistência Inserção de objetos Controle de transação Feriado Municipal Busca de objetos por chave primária Atualização de objetos Remoção de objetos Tratamento de Exceções Sincronização de objetos Consultas Relacionamentos de Associação, Agregação e Composição Mapeamento de associações Many-to-One Realização de consultas Mapeamento de associações One-to-Many Realização de consultas Mapeamento de chave primária composta Realização de consultas Herança Polimorfismo Classes Abstratas Mapeamento de Herança 12 01/04 20:40/22:20 13 14 15 07/04 08/04 14/04 20:40/22:20 20:40/22:20 20:40/22:20 16 17 15/04 21/04 22/04 20:40/22:20 20:40/22:20 20:40/22:20 18 28/04 20:40/22:20 19 29/04 20:40/22:20 20 05/05 20:40/22:20 21 22 23 06/05 12/05 13/05 20:40/22:20 20:40/22:20 20:40/22:20 24 25 26 27 19/05 20/05 26/05 27/05 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 28 29 30 31 32 33 34 35 36 02/06 03/06 09/06 10/06 16/06 17/06 23/06 24/06 30/06 07/07 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 20:40/22:20 Realização de consultas Mapeamento de associações Many-to-Many Realização de consultas Resolução de exercícios A1: Prova prática individual Interface Gráfica com Java Swing JFrame e suas propriedades Label JTextArea JButton JComboBox JCheckBox JRadioButton Modelo de eventos JTable e TableModel Feriado - Tiradentes Interfaces gráficas e o padrão Model-ViewController (MVC) Interfaces gráficas e o padrão Model-ViewController (MVC) Contexto de persistência e componentes JComboBox, JTable e TableModel Contexto de persistência e componentes JComboBox, JTable e TableModel JDialog JDialog T2 – Trabalho sobre JPA e MVC com TableModel A2: Prova prática individual Relatórios Relatorios Fundamentos da Internet e HTML Instalação e configuração de servidor TomCat Criação de projeto web no NetBeans HTML HTML Servlets e JSP Servlets e JSP Servlets com banco de dados Servlets e JSP Servlets e JSP T3 – Sistema Web TF - Entrega Trabalho Final Exame Final METODOLOGIA PROPOSTA: - Aulas expositivas e dialogadas, com demonstrações práticas e utilização de recursos audiovisuais em sala de aula e/ou laboratório de informática. Utilização da ferramenta Netbeans, servidor de aplicação TomCat para JSP/Servlet, banco de dados MySql e Mysql Workbench. Resolução de exercícios individualmente com correção em sala ou disponibilização dos exercícios resolvidos no Moodle. AVALIAÇÃO: - No decorrer do semestre serão seis notas, as quais são descritas a seguir: Avaliação 1 (A1) – Prova prática, individual e sem consulta abordando os conceitos de orientação à objetos e persistência de dados utilizando JPA. (15 % da média final) Avaliação 2 (A2) – Prova pratica, individual e sem consulta abordando interfaces gráficas, MVC e persistência de objetos utilizando. (20% da média final) Trabalho 1 (T1) – Trabalho abordando orientação à objetos e persistência de dados utilizando JDBC. (10 % da média final) Trabalho 2 (T2) – Trabalho de implementação de um sistema com interface gráfica utilizando MVC e JPA. (20% da média final) Trabalho 3 (T3) – Trabalho de implementação de um sistema web, aplicando os conceitos aprendidos sobre HTML, servlets e JSP. Esta aplicação deverá fazer a inserção e busca de registros do banco de dados. (10% da média final) Trabalho Final (TF) – Trabalho com uma parte desktop e uma parte web. O trabalho, na parte desktop, deve abranger orientação à objetos, persistência de dados utilizando JPA e interface gráfica, permitindo fazer a inserção, consulta, edição e exclusão de dados. A parte web deve possuir no mínimo alguma consulta. (25% da média final) Média Final = (A1*15 + A2*20 + T1*10 + T2*20 + T3*10 + TF*25) / 100 Observações: As avaliações serão realizadas em laboratório, e deverão ser utilizados somente os equipamentos (computadores) do laboratório. O aluno que não realizar as avaliações na data estabelecida deverá preencher requerimento junto à secretaria para realização de avaliação em nova data. BIBLIOGRAFIA PRINCIPAL BARNES, David J. Programação Orientada a Objetos com Java: Uma Introdução Prática Utilizando o Blue J. David J. Barnes, Michel Kölling. São Paulo: Pearson Prentice Hall, 2004. Número de chamada: 005.11 B261p. BASHAM, Brian; SIERRA, Kathy; BATES, Bert. Use a cabeça!: Servlets & JSP. Rio de Janeiro : Alta Books, c2005. 534 p, il. BOENTE, A. Programação Web sem mistérios: construa sua própria home page. Rio de Janeiro: BRASPORT, 2005. CARDOSO, M. Desenvolvimento WEB para o ensino superior. Rio de Janeiro: Axcel Books, 2004. DEITEL, H. M.; DEITEL, P. J. Java :como programar. 6ª ed., Porto Alegre: Pearson, 2005. DEITEL, Paul J; DEITEL, Harvey M. Java: como programar.8. ed. São Paulo: Pearson, 2010. xxix, 1144 p, il. MCLAUGHLIN, Brett; POLLICE, Gary; WEST, David. Use a cabeça!: análise e projeto orientado ao objeto. Rio de Janeiro : Alta Books, 2007. xxx, 442 p, il. (Use a cabeça). GONÇALVES, Edson. Desenvolvendo relatórios profissionais com iReport para NetBeans IDE. Rio de Janeiro: Ciência Moderna, 2009. 320 p. ISBN 9788573938210 (broch.). RAMON, Fábio. JDBC 2: guia de consulta rápida : acesso a banco de dados usando a linguagem Java. São Paulo : Novatec, 2000. 96 p, il. SANTOS, Rafael. Introdução à Programação Orientada a Objetos Usando JAVA. Rio de Janeiro: Campus, 2003. Número de chamada: 005.11 S237i. SIERRA, Kathy; BATES, Bert. Use a cabeça!: Java.2. ed. Rio de Janeiro : Alta Books, c2007. xxvi, 470 p, il. BIBLIOGRAFIA COMPLEMENTAR: ARNOLD, Ken; GOSLING, James; HOLMES, David. A linguagem de programação Java.4. ed. Porto Alegre : Bookman, 2007. 799 p. BAUER, Christian; KING, Gavin. Java Persistence com Hibernate. Rio de Janeiro: Ciência Moderna, 2007. 844 p. BURKE, Bill; MONSON-HAEFEL, Richard. Enterprise JavaBeans 3.0. 5.ed. São Paulo: Prentice Hall, 2007. 538 p. CHRISTIAN, A. M. HTML 4.0 Fundamental – a base da programação para Web. Érica, 2005. FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações. Sérgio Furgeri. 2. ed. São Paulo: Érica, 2008. Número de chamada: 005.133 F983j. GAMMA, Erich. Padrões de projeto: soluções reutilizáeis de software orientado a objetos. Porto Alegre :Bookman, 2000. xii, 364p, il. GONÇALVES, Edson. Desenvolvendo relatórios profissionais com iReport para NetBeans IDE. Rio de Janeiro: Ciência Moderna, 2009. 320 p. HORSTMANN, Cay S. Big Java. Porto Alegre : Bookman, 2004. xi, 1125 p, il. +, 1 CD-ROM. HUBBARD, John R. Teoria e Problemas da Programação com Java. John R. Hubbard. Tradução Maria Lúcia Banck Lisbôa. 2. ed. Porto Alegre: Bookman, 2006. Número de chamada: 005.133 H875t. MELO, Ana Cristina. Desenvolvendo Aplicações com UML: Do Conceitual à Implementação. Rio de Janeiro: Brasport, 2002. Número de chamada: 005.11 M528d. TODD, N. JavaServer pages :o guia do desenvolvedor. Rio de Janeiro: Elsevier, 2003.