Plano de Estudos

Desenvolvimento Centrado em Objetos DCObj

Contextos

Groupo: 4_LEI 2025/26 > 1º Ciclo > 2º Ano

ECTS

6.0 (para cálculo da média)

Objectivos

Familiarizar os alunos com os conceitos e a prática da análise, desenho e programação orientadas a objetos 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, fácil de compreender e reutilizar, 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 efetiva na formulação de problemas e exploração de soluções, perceba os conceitos chaves da programação OO e saiba 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.

Programa

Análise e Desenho Centrado em Objetos:  Análise centrada em objetos: o modelo de domínio e o modelo de casos de uso. 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. Vários padrões de desenho e princípios que contribuem para soluções mais preparadas para a mudança, para a divisão do trabalho, para a reutilização e para a robustez. A representação de soluções de desenho recorrendo a uma notação standard, o UML. Programação Centrada em Objetos: Noções chave da programação centrada em objetos e suporte destas noções na linguagem Java: composição, herança, redefinição, sobrecarga, polimorfismo, ligação dinâmica, abstração, contratos, subtipagem comportamental. Encapsulação e controlo de acesso. Modularização e suporte dado por packages e módulos. Reflexão e carregamento dinâmico de classes. Suporte à reutilização dado por genéricos, bibliotecas e frameworks.

Método de Avaliação

Exame e dois projetos, um projeto de análise e desenho OO e outro de programação.

Carga Horária

Carga Horária de Contacto -

Trabalho Autónomo - 119.0

Carga Total -

Bibliografia

Principal

  • Applying UML and Patterns - An Introduction to Object-oriented Analysis and Design: Craig Larman 2004 0131489062
  • Effective Java: Programming Language Guide: Joshua Bloch 2017 978-0134685991
  • Design Patterns: Elements of Reusable Object-Oriented Software,: E. Gamma, R. Helm, R. Johnson, and J. Vlissides 1994 ISBN 0-201-63361-2.

Secundária

Disciplinas de Execução

2026/2027 - 2 Semestre

2025/2026 - 2 Semestre