Human-Computer Interaction


Designing an information system involves a structural and functional specification, as well as, a precise interaction with end users.

Considering the huge impact that user interfaces have in the success or failure of software products, this research line combines the experience of interaction modeling from software engineering community with studies from human-computer interaction community. We aim to specify all the interaction features through conceptual models that represent the system. These models have an abstract view where interfaces are defined independently of platform, and a more concrete view where the analyst can specify features that are platform-specific. The final goal is to generate the code that implements all the features expressed through both views (abstract and concrete). Usability is considered when conceptual models are built. We propose a set of conceptual primitives to represent usability features with the aim to optimize the usability from end users’ point of view.

We also work with a requirements elicitation method to capture usability requirements from the early steps of the software development process. This method consists in using decision trees to guide interviews with end user with the aim to know his visual preferences. The approach can be included in a model-driven method in such a way that these requirements generate part of the conceptual model. The approach is based on textual questions extracted from design alternatives. End-users must choose which alternative is the most suitable according to their requirements (or constraints). Usability guidelines can help the end-user select an alternative throughout the tree structure. At the end of the process, we have a design for our system based on the end-user’s requirements.

Finally, this research line also conducts usability evaluations through heuristics and with end-users. At the end of the evaluations we report a list of improvements to enhance the software quality.

Technological Services:

  • Development of multi-device/platform User Interfaces
  • Interaction requirements elicitation
  • Usability Analysis for Information Systems in MDD environments
  • Multiplatform user interfaces development
  • Preparation of guides to elicit interaction requirements
  • Usability evaluation of final user interfaces