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.