Design e Arquitecturas de Software

Base Knowledge

Object oriented programming, java programming

Teaching Methodologies

Theoretical exposition of main  concepts in theoretical classes, and also realization of theoretical-practical exercises.

In lab classes, students are required to conduct programming assignments, related to the application of design patterns, and will work on creating an integrator project.

Evaluation is based  on exam and project.

Learning Results

understanding the concepts of software design and architecture

Understanding the role of software design and architecture in the context of a software development process, according to software requirements

Knowing object oriented analysis methodologies, and other design instruments (e.g. uml language)

Knowing and applying Design Patterns

Knowing and applying Enterprise patterns

Knowing and applying API design patterns

Program

1-Overview and introduction

2-Layered software architectures

3-GRASP – Object oriented design

4-GoF – Design Patterns

5-Enterprise and persistence patterns

6-API design patterns

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Books:

Larman, Craig – Applying UML and patterns : an introduction to object-oriented analysis and design and iterative development. 3rd ed.. Upper Saddle River, NJ : Prentice Hall PTR, 2007 imp. 702 p.. ISBN 0-13-148906-2, 1A-7-76 (ISEC) – 14711

Freeman, Eric,- Head first design patterns. Beijing [etc.] : O’Reilly, 2004. 637 p.. ISBN 978-0-596-00712-6, 1A-7-75 (ISEC) – 14706

Gamma, Erich – Design patterns : elements of reusable object-oriented software. Boston [etc.] : Addison-Wesley, cop. 1995. 395 p.. ISBN 978-0-201-63361-0, 1A-7-97 (ISEC) – 15112

Fowler, Martin,; Rice, David – Patterns of enterprise application architecture. Boston [etc.] : Addison-Wesley, 2007 imp. 533 p.. ISBN 0-321-12742-0, 1A-7-88 (ISEC) – 1500

Geewax,JJ, API design patterns, Manning,  2021,443 p. ISBN-9781617295850

Other resources:

Slides and annotations