Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota

Slides:



Advertisements
Apresentações semelhantes
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Advertisements

Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software
RMI-IIOP.
Análise e Projeto de Sistemas
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Introdução à Linguagem Java
Introdução à Programação
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
Introdução a Programação Orientada a Objetos
Aula prática 13 Orientação a Objetos – C++ Parte 1
JAVA Linguagem Ambiente de Desenvolvimento
Desenvolvimento de Sistemas Orientados a Aspectos
Sistemas Distribuídos
Tópicos de Sistemas de Informação A
Sistemas Distribuídos
Estudo dos Conceitos e Paradigmas de Programação
Paradigmas de Linguagens de Programação Linguagem Imperativa 2
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Paradigmas de Linguagens de Programação Linguagem Orientada a Objetos 1 Augusto Sampaio e Paulo Borba Departamento de Informática Universidade Federal.
Concorrência e Java RMI
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Professor: Márcio Amador
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
3/4/2015 Prof. Msc George Cabral Bacharelado em Sistema de Informação Ambientes de Desenvolvimento de Software.
SISTEMAS OPERACIONAIS I
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Java RMI João Gabriel (jggxm).
Processos.
Conceitos da arquitetura
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Aula 1 – Profª Danielle Costa
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Introdução JAVA Faculdade Mauricio de Nassau
Linguagem de programação. Histórico  Concebida em 1993 por Yukihiro Matsumoto  Primeiro livro em inglês saiu em setembro de 2000  Ruby on Rails é lançado.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Conceitos Básicos e Manipulação de Objetos
Flávia Falcão Java Performance Flávia Falcão
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Introdução a Programação Orientada a Objetos
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Linguagem técnica de programação I Java
Linguagem JAVA Ariane Machado Lima.
Multiparadigma das Comunicações em Java para Grid Computing Fernanda R. Ramos Luiz Felipe Marco Eiterer Profº Alcides Calsavara, Ph.D.
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem.
Introdução Sintaxe Básica da Linguagem JAVA
Ferramentas para desenvolvimento Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Alexandre Mota  Centro de Informática, UFPE.
Sistemas Distribuídos Prof. Marcus Rodrigues
Implementação Orientada a Objetos – Aula 09 Pacotes Prof. Danielle Martin Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Prof. Cristian Rodrigo Dalcico. Linguagem de Programação Java Aula 1.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Introdução à plataforma Java. 2 A tecnologia Java Java: linguagem de programação e plataforma de desenvolvimento Criada pela Sun Microsystems Apoiada.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Transcrição da apresentação:

Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota

Missão Motivar, apresentar, exercitar e consolidar o uso de técnicas de programação orientada a objeto que tenham um impacto considerável sobre qualidade de software.

Objetivos Discutir aspectos de qualidade e modularidade de software Introduzir conceitos de POO e Java Indicar como programas em Java podem ser adequadamente escritos e estruturados Utilizar ambientes de programação em Java Desenvolver uma aplicação de médio porte

Relevância e Motivação Técnicas a serem utilizadas na prática Desenvolver software de qualidade Java corresponde ao estado-da-arte Impacto econômico e social

Clareza versus Eficiência Pensamento a longo prazo e elegância, ao invés de imediatismo e resultados de qualquer jeito Software tem que ser adaptável, flexível, fácil de mudar (custos baixos, mudanças rápidas)

Programação Estruturada Cada bloco de programa só deve ter um único ponto de entrada e um único ponto de saída Não voltem aos anos 60!

Programação record Pessoa nome : string; dataNasc : integer; end procedure idade begin..... nomedataNasc idade 29/1/74João =9&%2!1 abstração formalização

Programação Orientada a Objetos Foco nos dados (objetos) do sistema, não nas funções Estruturação do programa é baseada nos dados, não nas funções As funções mudam mais do que os dados

Objeto Vídeo PLAY > 1456 > >>><<< CIN Quantas funções tem um vídeo?

Número Saldo ,32 Crédito Débito Objeto Conta Bancária

Estados do Objeto Conta Número Saldo ,32 Crédito Débito Número Saldo ,32 Crédito Débito Número Saldo ,32 Crédito Débito Crédito(20)

O PowerPoint também é um Objeto!

O que é Java? “Java é uma linguagem simples, orientada a objetos, distribuída, interpretada, robusta, segura, independente de arquitetura, portável, de alta performance, concorrente e dinâmica”

Implementações de Java Interpretada –Bytecodes da JVM –Independente de plataforma Compilada –Código nativo em C ou C++ Alta performance?

Alta Performance? Java oferece alternativas, compromissos Código do cliente pode ser interpretado –compiladores JIT aumentam performance –cliente universal –código móvel, carregado pela rede, evitando instalações, conflito entre versões, etc. Código do servidor pode ser compilado para código de máquina –performance similar a C++

Java é Simples Sintaxe familiar a vários programadores (baseada em C e C++) Elimina várias redundâncias de C++ Simples para algumas aplicações, desde que se conheça alguns pacotes Simples, dado tudo que a linguagem oferece

Java eliminou... Ponteiros goto, struct e union Número variável de argumentos Tipos fracos Criação e remoção de objetos –alocar e liberar memória explicitamente Classes parametrizadas!

Java é Orientada a Objetos Objetos e Classes Encapsulamento de dados e operações Subtipos e Herança Polimorfismo Ligações dinâmicas (dynamic binding) Criação e remoção dinâmica de objetos –alocação e liberação automática de memória

Java é Portável Em tese, redução de custos com migração, instalação, treinamento, etc. Na prática, ainda é necessário depurar programas antes de migrar para outra plataforma (awt) Mas toda a arquitetura está pronta (swing)

Java é Distribuída Oferece suporte de alto nível para acesso a Internet/WWW (pacote java.net) Objetos distribuídos com RMI e CORBA Suporte para acesso a arquivos remotos, banco de dados, etc.

Java é Robusta Ausência de ponteiros Fortemente tipada Coleta de lixo automática Exceções tipadas Acesso a arrays é verificado Variáveis são inicializadas automaticamente –com exceção de variáveis locais de métodos que devem ser inicializadas explicitamente

Java é Concorrente Essencial para implementar interfaces gráficas decentemente Métodos sincronizados Monitores

Java: linguagem e ambiente Acesso a Internet e WWW (java.net) Applets (java.applet) Definição de interfaces gráficas (java.awt) Suporte a objetos distribuídos (java.rmi) Interface com Banco de Dados (java.sql) Básicos: threads e exceções (java.lang), arquivos (java.io), utilitários de propósito geral (java.util)

Referências Java: how to program, Harvey Deitel e Paul Deitel, segunda edição, Prentice Hall, James Gosling, Bill Joy, and Guy Steele. The Java Language Specification, July Orientação a Objetos e Java, Site de Java da SUN,

Cronograma 24/6 – São João - Feriado 23/7 - Entregar primeira versão do sistema 23/8 - Entregar segunda versão do sistema 16/9 - Entregar versão final do sistema 20/9 - Exame escrito 22-23/9 - Apresentação dos projetos 04/10 - Exame escrito final

Avaliação Exame Escrito –nota da primeira unidade –10% da nota da segunda unidade. Projeto –90% da nota da segunda unidade –30% de cada versão

Exercício Acessar a página –cronograma –notas de aula –avaliação Enviar para Marcelo os grupos até 11/06 –5 integrantes por grupo