Академический Документы
Профессиональный Документы
Культура Документы
Srgio Soares sergio@dei.unicap.br http://www.dei.unicap.br/~sergio/poo Motivar, apresentar, exercitar e consolidar o uso de tcnicas de programao orientada a objeto que tenham um impacto considervel 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 programao em Java Desenvolver uma aplicao de mdio porte
Relevncia e Motivao
Tcnicas a serem utilizadas na prtica Desenvolver software de qualidade Java corresponde ao estado-da-arte Impacto econmico e social
Objeto Vdeo
> >>> <<<
CIN
PLAY
> 1456
Saldo
Nmero
875,32
21.342-7
O que Java?
Java uma linguagem simples, orientada a objetos, distribuda, interpretada, robusta, segura, independente de arquitetura, portvel, de alta performance, concorrente e dinmica
Crdito
Crdito
Saldo
Saldo
Nmero
Nmero
Saldo
Nmero
895,32
21.342-7
Dbito
Dbito
Dbito
Implementaes de Java
Interpretada
Bytecodes da JVM Independente de plataforma
Alta Performance?
Java oferece alternativas, compromissos Cdigo do cliente pode ser interpretado
compiladores JIT aumentam performance cliente universal cdigo mvel, carregado pela rede, evitando instalaes, conflito entre verses, etc.
Compilada
Cdigo nativo em C ou C++
Alta performance?
Java Simples
Sintaxe familiar a vrios programadores (baseada em C e C++) Elimina vrias redundncias de C++ Simples para algumas aplicaes, desde que se conhea alguns pacotes Simples, dado tudo que a linguagem oferece
Java eliminou...
Ponteiros goto, struct e union Nmero varivel de argumentos Tipos fracos Criao e remoo de objetos
alocar e liberar memria explicitamente
Classes parametrizadas!
Java Portvel
Em tese, reduo de custos com migrao, instalao, treinamento, etc. Na prtica, ainda necessrio depurar programas antes de migrar para outra plataforma (awt) Mas toda a arquitetura est pronta (swing)
Java Distribuda
Oferece suporte de alto nvel para acesso a Internet/WWW (pacote java.net) Objetos distribudos com RMI e CORBA Suporte para acesso a arquivos remotos, banco de dados, etc.
Java Robusta
Ausncia de ponteiros Fortemente tipada Coleta de lixo automtica Excees tipadas Acesso a arrays verificado Variveis so inicializadas automaticamente
com exceo de variveis locais de mtodos que devem ser inicializadas explicitamente
Java Concorrente
Essencial para implementar interfaces grficas decentemente Mtodos sincronizados Monitores
Referncias
Java: how to program, Harvey Deitel e Paul Deitel, segunda edio, Prentice Hall, 1998. James Gosling, Bill Joy, and Guy Steele. The Java Language Specification, July 1996. http://www.dei.unicap.br/~sergio/poo Site de Java da SUN, http://java.sun.com/
Avaliao
Exame Escrito
70% da mdia final
Projeto
30% da mdia final
10% das verses 1 e 2 20% da verso 3
Exerccio
Acessar a pgina http://www.dei.unicap.br/~sergio/poo
cronograma notas de aula avaliao