2021
Authors
Silva, C; Vieira, J; Campos, JC; Couto, R; Ribeiro, AN;
Publication
HUMAN FACTORS
Abstract
Objective The aim of the study was the development and evaluation of a Descriptive Cognitive Model (DCM) for the identification of three types of usability issues in a low-code development platform (LCDP). Background LCDPs raise the level of abstraction of software development by freeing end-users from implementation details. An effective LCDP requires an understanding of how its users conceptualize programming. It is necessary to identify the gap between the LCDP end-users' conceptualization of programming and the actions required by the platform. It is also relevant to evaluate how the conceptualization of the programming tasks varies according to the end-users' skills. Method DCMs are widely used in the description and analysis of the interaction between users and systems. We propose a DCM which we called PRECOG that combines task decomposition methods with knowledge-based descriptions and criticality analysis. This DCM was validated using empirical techniques to provide the best insight regarding the users' interaction performance. Twenty programmers (10 experts, 10 novices) were observed using an LCDP and their interactions were analyzed according to our DCM. Results The DCM correctly identified several problems felt by first-time platform users. The patterns of issues observed were qualitatively different between groups. Experts mainly faced interaction-related problems, while novices faced problems attributable to a lack of programming skills. Conclusion By applying the proposed DCM we were able to predict three types of interaction problems felt by first-time users of the LCDP. Application The method is applicable when it is relevant to identify possible interaction problems, resulting from the users' background knowledge being insufficient to guarantee a successful completion of the task at hand.
2022
Authors
Campos, JC; Ribeiro, AN;
Publication
SENSE, FEEL, DESIGN, INTERACT 2021
Abstract
This paper arises from experience by the authors in teaching software engineering courses. It discusses the need for adequate coverage of Human-Computer Interaction topics in these courses and the challenges faced when addressing them. Three courses, at both licentiate and master's levels, are used as triggers for the discussion. The paper argues that the lack of relevant Human-Computer Interaction concepts creates challenges when teaching and learning requirements analysis, design, and implementation of software systems. The approaches adopted to address these challenges are described.
2022
Authors
Costa, L; Ribeiro, AN;
Publication
INTELLIGENT SYSTEMS DESIGN AND APPLICATIONS, ISDA 2021
Abstract
The process of migrating from a monolithic to a microservices based architecture is currently described as a form of modernizing applications. The core principles of microservices, which mostly reside in achieving loose coupling between the services, highly depend on the implementation approaches used. Being microservices a complete change of paradigm that contrasts with the traditional way of developing software, the current lack of established principles often results in implementations that conflict with its alleged benefits. Given its distributed nature, performance is affected, but specific implementation patterns can further impact it. This paper aims to address the impact that microservices-based solutions, featuring different implementation patterns, have on performance and how it compares with monolithic applications. To do so, benchmarks are conducted over one application developed following a traditional monolithic approach, and two equivalent microservices-based implementations featuring distinct inter-service communication mechanisms and data management methodologies.
2011
Authors
Barbosa, A; Goncalves, J; Ribeiro, AN; Costa, A;
Publication
EUROCON 2011 - International Conference on Computer as a Tool - Joint with Conftele 2011
Abstract
The transmission of multimedia content between mobile devices is increasingly an area of exploration. The evolution of mobile devices and networks that support them, provide potential to create more sophisticated and innovating services. The fact that the Android platform does not provide the SIP protocol in its architecture, is a limiting factor for the development of new streaming applications. Throughout this paper the Android platform is presented, and more specifically the streaming protocols supported by the current streaming Media Framework. Based on the current Android Media Framework, this paper presents a possible architecture for the integration of the SIP protocol. The integration of this architecture is to surpass the limitations of the current Android platform and promote an improved performance in the current SIP applications, which is reflected in a lower power consumption of the device. © 2011 IEEE.
2012
Authors
Fernandes, JM; van Hattum Janssen, N; Ribeiro, AN; Fonte, V; Santos, LP; Sousa, P;
Publication
European Journal of Engineering Education
Abstract
Many of the current approaches used in teaching and learning in engineering education are not the most appropriate to prepare students for the challenges they will face in their professional careers. The active involvement of students in their learning process facilitates the development of the technical and professional competencies they need as professionals. This article describes the organisation and impact of a mini-conference and project work - the creation of a software product and its introduction in the market - aimed at the development of professional competencies in general and writing skills in particular. The course was evaluated by assessing the students' perception of the development of a number of professional competencies through a questionnaire completed by 125 students from two consecutive year groups. The results indicate that the project work and the mini-conference had a positive impact on students' perceptions of the development of professional competencies. © 2012 Copyright SEFI.
2012
Authors
Couto, R; Ribeiro, AN; Campos, JC;
Publication
PROCEEDINGS OF THE 2012 IEEE 35TH SOFTWARE ENGINEERING WORKSHOP (SEW 2012)
Abstract
The ever increasing number of platforms and languages available to software developers means that the software industry is reaching high levels of complexity. Model Driven Architecture (MDA) presents a solution to the problem of improving software development processes in this changing and complex environment. MDA driven development is based on models definition and transformation. Design patterns provide a means to reuse proven solutions during development. Identifying design patterns in the models of a MDA approach helps their understanding, but also the identification of good practices during analysis. However, when analyzing or maintaining code that has not been developed according to MDA principles, or that has been changed independently from the models, the need arises to reverse engineer the models from the code prior to patterns' identification. The approach presented herein consists in transforming source code into models, and infer design patterns from these models. Erich Gamma's cataloged patterns provide us a starting point for the pattern inference process. MapIt, the tool which implements these functionalities is described.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.