Oferta Formativa - Sinopse

Desenvolvimento Centrado em Objetos

Código: 26727
Ano Letivo: 2015/16
Departamento: Informática
ECTS: 6
Carga horária: T: 2:00 h; TP: 1:30 h; OT: 2:00 h;
Área Científica: Informática; 

Objetivos da Unidade Curricular

Familiarizar os alunos com os conceitos e a prática da análise, desenho e programação orientadas a objectos de forma a que se tornem capazes de analisar os requisitos de aplicações de alguma dimensão e de desenhar e produzir software que cumpra não só os requisitos para que foi concebido como seja também robusto e suporte facilmente a evolução. Nomeadamente, no final do semestre, é esperado que: (i) o aluno seja fluente na utilização de notações standard de análise e desenho OO e saiba usar estas notações de forma efectiva na formulação de problemas e exploração de soluções e implementar em Java de forma fidedigna soluções de desenho expressas nestas notações; (ii) o aluno esteja familiarizado com um conjunto de padrões standard de desenho e de implementação.

Pré-requisitos

  • Introdução à Programação (26722)
  • Algoritmos e Estruturas de Dados (26723)
  • Laboratórios de Programação (26724)

Conteúdos

Parte I : OOP -- Programação Centrada em Objectos: Noções chave da programação centrada em objectos e suporte destas noções na linguagem Java: herança, redefinição, sobrecarga, polimorfismo, ligação dinâmica, verificação de tipos, abstracção. Suporte à estruturação dado pelas packages e à reutilização dado pelas APIs (Application Programming Interface). Reflexão e carregamento dinâmico de classes.
Parte II : OOAD -- Análise e Desenho Centrado em Objectos: Processos de Desenvolvimento. O Desenvolvimento Iterativo. Análise de Requisitos: Casos de uso, operações do sistema e respectivos contratos, modelo de domínio. Desenho de sistemas de classes centrado na atribuição de responsabilidades: padrões de desenho para atribuição de responsabilidades, realização de casos de uso, modelo de classes. A notação usada é o UML.
 

Descrição detalhada dos conteúdos programáticos

Componente Teórica

Análise e Desenho OO: Análise de requisitos e modelação do domínio. Desenho de sistemas de classes orientado pela atribuição de responsabilidades. Padrões de desenho. (A linguagem adoptada é o UML). Programação OO: herança, redefinição, sobrecarga, polimorfismo, ligação dinâmica, verificação de tipos, abstracção, reflexão, carregamento de classes, etc. Reutilização através do uso de APIs (Application User Interface).

 

Bibliografia

Recomendada

Applying UML and Patterns - An Introduction to Object-oriented Analysis and Design (3rd edition) , Craig Larman, Prentice-Hall, 2005, ISBN 0-13-148906-2.
The JAVA Programming Language, Fourth Edition, K. Arnold, J.Gosling, D.Holmes, Addison-Wesley 2005, ISBN 0-321-34980-6.

 

Outros elementos de estudo

 

Métodos de Ensino

Os conteúdos programáticos são apresentados nas aulas teóricas apelando sempre à capacidade crítica e de discussão dos alunos e são postos em prática em aulas de sala de aula (papel e lápis) e em laboratório (computador) onde são propostos e resolvidos exercícios. Um projecto faseado contribui ainda para a consolidação das matérias aplicadas à criação de uma aplicação de maior fôlego.

 

Métodos de Avaliação

Exame, projecto e avaliação continua.
 

Língua de ensino

Português