Design e Arquitecturas de Software

Conhecimentos de Base Recomendados

Programação orientada a objetos, Programação em Java

Métodos de Ensino

Nas aulas teóricas, os conceitos principais são apresentados, sendo também realizados exercícios teórico-práticos. Nas aulas laboratoriais, os alunos realizam trabalho de programação, relacionado com a aplicação de padrões de desenho, e trabalham na realização do projecto. A avaliação é feita através de um exame escrito e projecto final.

Resultados de Aprendizagem

Compreender os conceitos de desenho e arquitetura de software.

Perceber o papel do desenho de software e da sua arquitetura no contexto de um projeto, mediante requisitos de sistema.

Conhecer metodologias de análise orientada a objetos e outros instrumentos de desenho (p.ex. linguagem uml).

Conhecer e aplicar padrões de desenho.

Conhecer a aplicar padrões empresariais.

Conhecer e aplicar padrões de desenho de APIs

Programa

1-Introdução e conceitos básicos

2-Desenho orientado a objectos (Princípios SOLID e GRASP)

3-Padrões de desenho – GoF

3.1 Padrões Creacionais

3.2 Padrões Estruturais

3.3 Padrões Comportamentais

4-Padrões de desenho de APIs

4.1 APIs orientadas a recursos

4.2 Padrões de APIs orientadas a recursos

5-Arquitetura e Estilos Arquiteturais

5.1 Conceitos e exemplos

5.2 Estilos arquiteturais monolíticos

5.3 Estilos arquiteturais distribuidos

Docente(s) responsável(eis)

Jorge Miguel Sousa Barreiros

Métodos de Avaliação

Exame (10 valores)

Mini-Projetos (10 valores):


    Estágio(s)

    NAO

    Bibliografia

    Livros (disponíveis na biblioteca):

    Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). Design patterns : elements of reusable object-oriented software. Addison-Wesley. ISBN 978-0-201-63361-0, 

    Geewax,JJ. (2021). API design patterns, Manning, ISBN-9781617295850

    Richards, M. & Ford, N. (2020) Fundamentals of Software Architecture. O’Reily, ISBN 978-1-492-04345-4

    Larman, C. (2007). Applying UML and patterns : an introduction to object-oriented analysis and design and iterative development. (3rd ed). Prentice Hall PTR, 2007. ISBN 0-13-148906-2

    Freeman, E. (2004). Head first design patterns. O’Reilly, ISBN 978-0-596-00712-6.
    Fowler, M. & Rice, D. (2007). Patterns of enterprise application architecture. Addison-Wesley, ISBN 0-321-12742-0

     

    Outros recursos:

    Slides e textos de apoio