Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Sistemas de Informação Prof. Robson Alves prof.robson.campelo@gmail.com AULAS 1 e 2 Programação III 1 1 1 2 Apresentação Professor Mestre Robson Alves Campêlo Profissão: Desenvolvedor de Sistemas Atuação: Atualmente: Professor de ensino superior Títulos: Mestrado Acadêmico em Ciência da Computação - (UFPE), MSc Área de Pesquisa do Mestrado: Acessibilidade para Portadores de Dislexia em um Ambiente Virtual de Aprendizagem Móvel (Plataforma Android/Java) Especialista em Engenharia de Software (Faculdade de Filosofia, Ciências e Letras de Caruaru - FAFICA) Tecnólogo em Análise e Desenvolvimento de Sistemas (FAFICA) 2 2 3 Pauta Dos horários Uso de eletrônicos Aspectos Comportamentais Dos afastamentos Das atividades extraclasse Das chamadas de frequência Dos conteúdos das avaliações Dos horários Estejam sempre no local da aula 15 minutos antes, pelo menos. Os horários são: 18:40 as 20:20 Intervalo 10 minutos 20:30 as 21:50 Das comunicações Endereço de e-mail do professor : prof.robson.campelo@gmail.com Frequência de consulta: Todos os alunos devem sempre consultar os canais de comunicação (site, e-mails, etc); Pelo menos 1 vez ao dia; Externo e de apoio: Informar ao professor o endereço de e-mail da lista/grupo da turma. Senão, indicar alguém para criar o grupo/lista e informá-lo; 6 Uso de eletrônicos Evitar utilizar aparelhos eletrônicos dentro da sala de aula: Colocar em modo silencioso o celular; Se tocar, rapidamente silenciá-lo e, se emergencial, atendê-lo fora da sala/laboratório O uso de computadores proprietários estará liberado apenas em laboratório. No entanto, este deve estar configurado adequadamente para as aulas. 7 Aspectos Comportamentais Focar nos estudos e atividades escolares. Evitar comentários que venham a desrespeitar ou desmoralizar alguém. Tratar com respeito o professor, colegas e demais funcionários da faculdade. Evitar conversas paralelas, especialmente, as que não sejam de interesse da disciplina. Cumprir os prazos determinados pelo professor. Estar sempre atento as datas acadêmicas/institucionais indicadas no seu calendário Evitar atrasos e faltas. 8 Dos afastamentos O afastamento do aluno poderá ocorrer por condições de saúde (internamento hospitalar), quando, então, poderá solicitar acompanha-mento especial, por requerimento. O afastamento por motivo de viagem quaisquer não terá falta(s) retirada(s) ou justificada(s) pela coordenação. Mesmo estas sejam por questões profissionais. 9 Das chamadas de frequência Não será retirada falta do aluno pelo professor. A justificação de falta deve ser feita ao pessoal da coordenação. A justificativa de faltas será realizada por meio de atestado médico e, somente, será admitida para doenças infectocontagiosas ou por acompanhamento médico especial. A chamada será realizada por assinatura de Ata de presença que será passada no decorrer da aula. Aqueles que assinarem a Ata e se retirarem antecipadamente da aula, não perderão a presença, mas DEVEM ESTAR CIENTES de que assumem a responsabilidade nas avaliações. Das atividades extraclasse Teremos a cada encontro uma atividade extraclasse individual; A atividade extraclasse deverá ser enviadas por email até aula seguinte, quando será formalizada com registro de entrega; Poderá contribuir em até 1 ponto de participação na nota da unidade; 11 Dos conteúdos da avaliações 1ª avaliação – todos os assuntos vistos na disciplina até a data desta prova 2ª avaliação - todos os assuntos vistos na disciplina até a data desta prova Segunda chamada - todos os assuntos visto na disciplina até a data desta prova Prova final - todos os assuntos vistos no período letivo 12 Do acordo As regras estabelecidas neste contrato pedagógico podem sofrer alterações durante o período letivo. Neste caso, as mudanças devem ser apresentadas e acordadas entre o professor e os alunos. Na omissão de quaisquer regras ou política da IES neste contrato, o aluno não será isento de suas responsabilidades. Programação III Expectativa da Disciplina 14 O que a turma espera da disciplina? Com base no que foi visto em Programação II, qual o perfil da turma em Java? Algumas perguntas para sondagem... 15 O que é a JVM (Máquina Virtual Java)? Que definição podemos dar de uma classe? E de um objeto? O que é instanciação? O que são atributos e métodos de uma classe? E quanto à orientação a Objetos, qual a diferença para o paradigma imperativo (Ex. Pascal, C etc)? Ementa da Disciplina Estudo de uma linguagem de programação orientada a objetos. Implementação de classes-objeto, herança, polimorfismo, estrutura todo-parte, comunicação e associação. Implementação de interface humana e de armazenamento de dados orientados a objetos. Paradigmas de Linguagens de Programação. 16 Competências específicas Conhecer os conceitos da Orientação a Objetos, Aplicar os conceitos de orientação a objeto em uma linguagem de programação, desenvolvendo: Senso crítico e capacidade de contextualização; Capacidade de identificar, analisar e solucionar problemas; Trabalho em equipe. 17 Pontos Fortes da disciplina 18 Aprofundamento na linguagem Java Visão geral da plataforma J2EE para aplicações Web em Java com Java Server Faces Introdução à persistência em banco de dados com Java Pontos Fortes de Java 19 É uma linguagem cada vez mais presente no mercado de trabalho Portabilidade permite rodar aplicações em qualquer Sistema Operacional. Plataforma Google Android em Java – Novas e Interessantes oportunidades para o desenvolvedor Java Bibliografia Complementar DEITEL, Paul J./DEITEL, Harvey M., Java: Como Programar, 8 ed. Prentice-Hall, 2010 BATES, Bert, SCJP:Certificação Sun para Programador Java – Guia de Estudo, ED. Alta Books, 2006 SIERRA, Kathy/ BATES, Bert, Use a Cabeça! Java. ED. Alta Books. 2007 20 Plano de Aula 21 Disponível no portal da disciplina Cronograma dos conteúdos que serão abordados durante o semestre letivo Importante! Vejam os Planos de Aulas das disciplinas Conteúdo programático 22 Unidade 1 Introdução a Orientação a Objetos Conceitos de Orientação a Objetos Programação Fundamental em Java Programação J2EE Unidade 2 Interfaces de usuário com Java Server Faces Projeto Web Orientado a Objetos com JSF e Banco de Dados Metodologia de Ensino Disciplina efetivamente prática! Atividades de Classe (realizadas durante a aula prática em laboratório) Atividades Extraclasse: contam ponto de participação para prova 23 Forma de Avaliação 1ª avaliação – Prova (100% da nota) 2ª avaliação – Projeto (60%) e Prova (40%) Segunda chamada - Prova (100% da nota) Prova final - Prova (100% da nota) 24 Introdução a Orientação a Objetos Introdução a Orientação a Objetos 26 Orientação a Objetos: Vivemos num mundo de objetos; Eles podem ser categorizados, descritos, organizados, combinados, manipulados e criados. A orientação a objetos propõe-se à criação de software, ou seja uma abstração que nos permite modelar o mundo em modos que nos ajudam a melhor entendê-lo e a navegar nele. Introdução a Orientação a Objetos 27 Breve histórico linguagens de Programação: FORTRAN: Primeira linguagem de alto nível Anos 60: Programação estruturada 1966: SIMULA- Primeira linguagem a definir classes de objetos, como uma extensão da linguagem ALGOL 60. Posteriormente outras linguagens surgiram: C++, Objetive-C, Object Pascal etc Introdução a Orientação a Objetos 28 Linguagens Orientadas a Objetos: C++ C# VB.NET Java Object Pascal Objective-C Python SuperCollider Ruby Smalltalk Introdução a Orientação a Objetos 29 Linguagens com suporte a Orientação a Objetos: ActionScript ColdFusion JavaScript PHP (a partir da versão 4.0) Perl (a partir da versão 5.0) Visual Basic (a partir da versão 4.0) Introdução a Orientação a Objetos Definição Clássica de Orientação a Objetos: A orientação a objetos (OO) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. 30 Introdução a Orientação a Objetos É interessanteobservarmos que na linguagem Pascal, por exemplo, temos o conceito de Registros (Record): TYPE registro = RECORD num:integer; nome:string; saldo:real; end; 31 Introdução a Orientação a Objetos 32 Introdução a Orientação a Objetos 33 Um TYPE possui o mesmo princípio de uma classe, portanto a Orientação a Objetos baseou-se nesse conceito Poderemos declarar variáveis de um TYPE da mesma forma como declaramos de uma classe: Var Conta: Registro; (Pascal) Registro conta; (Java) Introdução a Orientação a Objetos Atividade de Classe: Se fôssemos modelar um sistema orientado a objetos para controle da sala de aula, quais objetos poderíamos identificar? Criem uma lista de objetos referentes aos elementos identificados na sala de aula (2 minutos para a atividade) 34 Introdução a Orientação a Objetos Objetos identificados: Sala de aula Cadeira; Mesa; Computador; Data-show; Aluno; Professor; Quadro; 35 Introdução a Orientação a Objetos Para modelarmos um Sistema OO, é importante que saibamos identificar os objetos, seus atributos, comportamentos, relacionamentos etc Por exemplo: Em nosso Sistema da Sala de Aula, o objeto Cadeira possui os seguintes atributos: material, cor, tipo, marca A Sala neste momento, possui uma Coleção de objetos do tipo Aluno 36 Introdução a Orientação a Objetos Existe apenas uma instância do objeto Professor neste momento Neste momento, um Professor está ministrando aula para Muitos alunos, porém Muitos alunos assistem aula de um único Professor (Relacionamento de 1 para N) Tanto Professor quanto Aluno, são objetos pertencentes a uma categoria de objeto Pessoa, portanto, possuem características em Comum (herança) 37 Introdução a Orientação a Objetos A Sala de aula possui os seguintes objetos: cadeiras, mesa, quadro e computador (agregação – um que objeto possui outros objetos como membros independentes) Obs: em uma composição os objetos são membros dependentes, ou seja, não fazem sentido fora do contexto Ex.: Pedido e itens do pedido: Se destruir o pedido, o itens são eliminados junto 38 Introdução a Orientação a Objetos Modelos orientados a objeto X modelos estruturados Imaginem um sistema financeiro, onde faríamos toda a administração de uma empresa. POO: Teríamos um objeto de fornecedores, por exemplo, onde todas as funções estariam agrupadas no objeto e em nenhum outro lugar. Estruturada: As rotinas e funções de fornecedores estaria espalhada em todo o sistema, como em contas a pagar, contas a receber, cadastro, etc. 39 Introdução a Orientação a Objetos 40 Sistema Financeiro em POO: CLIENTE FORNECEDOR CONTAS A PAGAR CONTAS A RECEBER GERENTE Introdução a Orientação a Objetos 41 Sistema Financeiro em linguagem Estruturada: VAR opcao, indice, cliente_indice, clientes:array[1..5] of cliente; contas:array[1..10] of conta; procedure cadastrar_clientes(var_cli:cliente); procedure cadastrar_fornecedor(var_for:fornecedor); function total_documentos : integer; BEGIN cliente_indice:= 1; doc_indice:= 1; repeat WriteLn('Menu de opcoes'); WriteLn('1 - Cadastrar Clientes'); WriteLn('2 - Cadastrar Fornecedor'); WriteLn('4 - Totalizar Contas a Pagar'); WriteLn('5 - Sair'); WriteLn('Digite sua opcao:'); ReadLn(opcao); // … // END. Introdução a Orientação a Objetos Vantagens no modelo OO: Modelagem mais natural: A aplicação dos conceitos da orientação a objetos na análise de sistemas permitirá modelar a empresa ou as áreas da aplicação de uma forma que os recursos a serem aplicados retratam com mais facilidade o mundo real. 42 Introdução a Orientação a Objetos Vantagens no modelo OO: Reuso: Na orientação a objetos um objeto pode acessar e usar como se fossem seus os métodos e a estrutura de outro objeto. Se dois objetos forem bastante semelhantes, pode-se escrever os métodos apenas uma vez e usá-los para os dois objetos. 43 Introdução a Orientação a Objetos 44 Introdução a Orientação a Objetos Vantagens no modelo OO: Redução no custo de manutenção Na programação orientada a objetos a herança e o encapsulamento, permitem que, quando for necessária alguma alteração, modifique-se apenas o objeto que necessita desta alteração Esta alteração será propagada automaticamente por todas as partes do sistema que utilizam este objeto 45 Introdução a Orientação a Objetos 46 Exemplo: Introdução a Orientação a Objetos Vantagens no modelo OO: Encapsulamento Não permite que seja feito o acesso direto ao estado interno de um objeto, isto é, oculta e protege as informações dos objetos. O acesso aos mesmos deve ser feito através das mensagens que o objeto pode receber. 47 Introdução a Orientação a Objetos 48 Exemplo: Introdução a Orientação a Objetos Vantagens no modelo OO: Projetos mais rápidos com qualidade: Em função da característica da reutilização, uma vez que existam bibliotecas que ofereçam classes com recursos necessários, novos projetos utilizarão esses componentes pré-existentes. 49 Introdução a Orientação a Objetos Vantagens no modelo OO: Codificação mais simples de programas: A codificação de métodos reduz a complexidade na construção do código dos programas. Isso traz simplicidade no momento de codificar, testar e manter o software. 50 Introdução a Orientação a Objetos 51 Atividade Extraclasse: Pesquisem exemplos de sistemas desenvolvidos em Linguagem Orientada a Objeto (independente da linguagem) e sistemas em linguagem estruturadas. Descrevam as principais características desses sistemas relacionando-as com as vantagens apresentadas no modelo OO. Enviei para meu e-mail ATÉ A PRÓXIMA AULA: prof.robson.campelo@gmail.com Dúvidas? 52
Compartilhar