Programação Centrada em Objetos

Código

0105886

Créditos ECTS

6

Objetivos

Pretende-se proporcionar aos alunos conhecimentos sobre o paradigma de programação orientado a objetos; uma introdução ao desenho de classes, através da linguagem UML e o conhecimento de alguns padrões de desenho, tanto para o desenvolvimento como para a refatorização de aplicações.

Os alunos devem adquirir as seguintes competências: conhecer o paradigma de programação orientado por objetos, as suas vantagens, inconvenientes e limitações; analisar problemas e conceber a solução segundo o paradigma orientado por objetos; praticar a produção de software, segundo o paradigma orientado por objetos usando a linguagem de programação Java; usar a notação UML (Unified Modeling Language) como linguagem de modelação; saber utilizar padrões de desenho e ter algum domínio na escrita de testes de avaliação do software. O aluno estará apto a projetar, desenhar e codificar aplicações de pequena e média escala, usando a linguagem Java.

Programa

1.Objetos, classes e composição

2.Hierarquia de classes e herança

3.Classes abstratas e interfaces

4.Desenho de classes, recorrendo à notação UML

5.Interfaces gráficas (Swing)

6.Testes, manutenção e debugging

7.Coleções Java e tipos parametrizados

8.Tratamento de erros (exceções)

9.Entradas/saídas (ficheiros)

10.Padrões de desenho: singleton, Composite, State, Template Method, Strategy, Decorator, Factory Method, Abstract Factory, Simple Factory, Observer, Visitor, Adapter, Façade, Bridge, Proxy

Métodos de Ensino

Nas aulas teóricas é proporcionada a exposição dos conceitos acompanhada de exemplos. Estes conceitos são trabalhados nas aulas práticas, proporcionando aos alunos trabalho autónomo, mas supervisionado. A modelação é feita em Astah e a programação no NetBeans.

O Moodle é utilizado para disponibilizar conteúdos e interagir com os alunos através de fóruns.

Bibliografia

David J. Barnes, Michael Kölling, Objects First with Java A Practical Introduction using BlueJ, 5th edition, Pearson Education, 2012.

F. Mário Martins, Java5 e Programação por objectos, 2ª edição, FCA, 2006.

Mauro Nunes e Henrique O'Neil. Fundamental de UML. FCA - Editora de Informática, 2003.

Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides. Design Patterns-Elements of reusable Object-Oriented Software. Addison-Wesley, 1995.

Bruce Eckel. Thinking in Java. Prentice Hall, 2003. (online em www.bruceeckel.com).

Grady Booch, Robert A. Maksimchuk, Michael W. Engel, Bobbi J. Young, Jim Conallen, Kelli A. Houston, Object

Oriented Analysis and Design with Applications, Addison-Wesly, 2007.

Método de Avaliação

    Conforme Programa da UC - 100 %