A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução POO e Java Eduardo Figueiredo 10 de Março de 2010 POOAula 02.

Apresentações semelhantes


Apresentação em tema: "Introdução POO e Java Eduardo Figueiredo 10 de Março de 2010 POOAula 02."— Transcrição da apresentação:

1 Introdução POO e Java Eduardo Figueiredo 10 de Março de 2010 POOAula 02

2 Tópicos da Aula Conceitos fundamentais de software Programação orientada a objetos e reutilização de software Um pouco da história de Java Tecnologia Java

3 Conceitos Fundamentais Desenvolvimento de Software

4 O que é software? Programa de computador + Documentação Classificação fundamental Produtos genéricos (ex. MS Office) Produtos encomendados (ex. Locadora do Zé)

5 Crise do Software (1968) Custos de hardware caindo Custos do software subindo Avanços em hardware Permitem desenvolvimento de sistemas cada vez mais complexos Resultado (software) Custos altos, projetos atrasados, sistemas não confiáveis, desempenho insatisfatório, etc...

6 Software está em todo lugar

7 Sistemas Críticos Equipamentos médicos Extremamente críticos Lidam com vidas Caixas eletrônicos Prejuízos financeiros

8 Confiabilidade de Software Exemplo: Vôo Air France Rio - Paris 1. Dados conflitantes (falha nos sensores) 2. Sistema assume o controle (piloto automático) 3. Piloto tenta reiniciar o sistema (boot) 4. Em 4 minutos o avião mergulha no oceano The Last Four Minutes of Air France Flight 447.

9 Preço e Desempenho Celular Pouco espaço na memória Grande variação em características de aparelhos

10 Programação Orientada a Objetos Reutilização de Software Vantagens Software mais confiável (já foi usado antes) Sistemas mais baratos (parte já estava pronto) Projetos mais elegantes e eficientes

11 Reutilização de Software

12 Meu Primeiro UML Pessoa nome Aluno matricula Professor

13 Sistema Acadêmico Pessoa nome Aluno matricula Professor SistemaAcademico

14 Locadora de DVD Pessoa nome Cliente registro Funcionario MinhaLocadora DVD titulo

15 Locadora de DVD Pessoa nome Cliente registro Funcionario MinhaLocadora DVD titulo

16 Campeonato de Futebol Pessoa nome Jogador posicao Presidente CampeonatoBrasileiro Time nome Tecnico...

17 Um Pouco de História

18 Classificação das Linguagens Linguagens de Máquina (traduzido depois para 0 e 1) Linguagens Assembly load basepay / add overpay / store grosspay Linguagens de Alto Nível grosspay = basepay + overpay

19 De onde veio Java? BCLP (1967) por Martin Richards Linguagem C (1972) por Dennis Ritchie C++ (1980) por Bjarne Stroustrup, Bell Java (1995) pela Sun

20 Bibliotecas de Java (API) Organização da Biblioteca Pacotes -> Classes -> Métodos (função) Por que usar classes da biblioteca? Ganhar de tempo Mais confiáveis São portáveis São eficientes, etc.

21 Tecnologia Java

22 Plataforma Java Principais Edições J2EE J2SEJ2ME

23 J2SE (Java Padrão)

24 J2EE (Aplicações Web Complexas)

25 J2ME (Dispositivos Móveis) connected device configuration connected limited device configuration

26 De Procedimental para OO

27 Programação Procedimental #define MAXCLIENTES 10 Definição de Constantes

28 #define MAXCLIENTES 10 Definição de Tipos typedef struct { char *nome; char *endereco; } Cliente; #define MAXCLIENTES 10 Programação Procedimental

29 #define MAXCLIENTES 10 Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Definição de Variáveis Globais typedef struct { char *nome; char *endereco; } Cliente; #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; Programação Procedimental

30 #define MAXCLIENTES 10 Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente* criarCliente() {... } void criarClientes () {... for (...) {... criarCliente(); } Definição de funções typedef struct { char *nome; char *endereco; } Cliente; #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Programação Procedimental

31 #define MAXCLIENTES 10 Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente* criarCliente() {... } void criarClientes () {... for (...) {... criarCliente(); } Definição da função main int main () {... criarClientes(); } typedef struct { char *nome; char *endereco; } Cliente; #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente* criarCliente() {... } void criarClientes () {... for (...) {... criarCliente(); } Programação Procedimental

32 Programação Procedimental Estrutura do Programa #define MAXCLIENTES 10 Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente* criarCliente() {... } void criarClientes () {... for (...) {... criarCliente(); } Definição de Constantes Definição de Tipos Definição de Variáveis Globais Definição de funções Definição da função main int main () {... criarClientes(); } typedef struct { char *nome; char *endereco; } Cliente;

33 Migrando para Java ProcedimentalOrientado a Objetos Definição de Classes

34 Programação OO public class Clientes { static final MAX = 10; Cliente vetorClientes[] = new Cliente[MAX]; public Clientes () {... for (...) {... new Cliente(); } Definição de Classe public class Teste { public static void main (String args) { Clientes meusClientes = new Clientes(); } public class Cliente { String nome; String endereco; public Cliente (String n, String e) { nome = n ; endereco = e; } Definição de Classe

35 Instalando Java Instalar o JDK (Java 2 SE) Instalar/Usar um editor de textos TextPad (http://www.textpad.com/)http://www.textpad.com/ Configurar variáveis de ambiente Path e Classpath

36 Editor de Texto x IDE Usar apenas editor de texto Exemplo: TextPad (http://www.textpad.com/) Compilar e executar Não usar ambientes de desenvolvimento Eclipse, JBuilder, NetBeans, etc.

37 Editor de Texto x IDE Usar apenas editor de texto Exemplo: TextPad (http://www.textpad.com/) Compilar e executar Não usar ambientes de desenvolvimento Eclipse, JBuilder, NetBeans, etc.

38 Próxima Aula Java: Como Programar, 6a. Edição Seção 1.16: Estudo de Caso de ES (p. 14) Seção 3.1: Introdução (p. 58) Seção 3.2: Classes, métodos,... (p. 58) Seção 3.3: Declarando uma Classe (p. 59) Seção 3.4: Declarando um Método (p. 62) Seção 3.5: Variáveis de Instancia,... (p. 64)

39 Referência DEITEL, H. M.; DEITEL P. J. Java: Como Programar, 6a. Edição. Pearson, (Livro Texto). BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, Documentação Java.


Carregar ppt "Introdução POO e Java Eduardo Figueiredo 10 de Março de 2010 POOAula 02."

Apresentações semelhantes


Anúncios Google