Interface Architecture

Year
2
Academic year
2023-2024
Code
02033089
Subject Area
Computer Science
Language of Instruction
Portuguese
Other Languages of Instruction
English
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Elective
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Object-Oriented Programming. 

Teaching Methods

The teoretical classes are used for explainig models and modeling techniques. The exploration of architecture design patterns will follow a desmonstrative approach. Practical laboratory classes will be used for conducting of exercises with demonstration solutions, by adapting existing solutions. Students will produce a mini-project of a software architecture for an interface applied to a concrete context, with individual  presentation and defense.

Learning Outcomes

Understand and apply software architecture models and patterns in the specific domain of building user interfaces. To know the rudiments of the modeling of software architectures. Know the most used models in different interface paradigms and their suitability to the functional and quality requirements of each project. Know, in particular, the architecture of graphical user interface libraries. Know the different approaches to the creation of user interfaces (procedural, declarative, by direct manipulation). Conceive and evaluate the adequacy of software architecture patterns in the exploration of technologies in specific project contexts.

Work Placement(s)

No

Syllabus

1. Introduction to software architecture

2. Software modeling using UML

3. Selected software patterns

4. Interface paradigms

5. Libraries and toolkits for building user interfaces

6. Event loop and handling of user interaction events

7. Evaluation of APIs of user interface libraries

8. Multiuser and collaboration architectures

9. Interface architecture for RA and VR and game engines.

Assessment Methods

Assessment
Exam: 50.0%
Project: 50.0%

Bibliography

Fowler, M. (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Professional. Retrieved from https://amzn.to/2LHVIgX

Gama et al (1997) Design Patterns: elements of reusable object-oriented software

Bushmann, F., Meunier, R., Rohnert, H., & Architecture, S. W. (1996). Pattern-Oriented Software Architecture. John Wiley&Sons. Retrieved from https://amzn.to/2ZmcbOt

Nystrom, R. (2014). Game Programming Patterns. Genever Benning. Retrieved from https://gameprogrammingpatterns.com/

Gregory, Jason (2009) Game Engine Architecture

Coutaz, J. (2015). Software Architecture Modeling for User Interfaces. In Encyclopedia of Software Engineering. https://doi.org/10.1002/0471028959.sof011

Selected chapters and papers on Software Architecture

Software Implementations of specific demonstration systems.