0000000000114262
AUTHOR
Oscar Pastor
Method to Define User Interfaces in the Requirements Analysis Phase
Many requirements for quality in use are elicited in the late development phase. However, if requirements are elicited in the late development phase, the development may return to the previous phase or some requirements cannot be realized due to costs and schedules. To reduce these cases, we propose a method to elicit the requirements in the requirements analysis phase. First, software developers analyze the user characteristics (UCs) of the target users and specify important quality characteristics (QCs) for quality in use and UI design items based on the relationships among UC, QC, and UI design items. Because UI design items are considerations to develop UIs, the specified UI design item…
Learning Pros and Cons of Model-Driven Development in a Practical Teaching Experience
Current teaching guides on Software Engineering degree focus mainly on teaching programming languages from the first courses. Conceptual modeling is a topic that is only taught in last courses, like master courses. At that point, many students do not see the usefulness of conceptual modeling and most of them have difficulty to reach the level of abstraction needed to work with them. In order to make the learning of conceptual modeling more attractive, we have conducted an experience where students compare a traditional development versus a development using conceptual models through a Model-Driven Development (MDD) method. This way, students can check on their own pros and cons of working w…
The Influence of Requirements in Software Model Development in an Industrial Environment
Textual description of requirements is a specification technique that is widely used in industry, where time is key for success. How requirements are specified textually greatly depends on human factors. In order to study how requirements processing is affected by the level of detail in textual descriptions, this paper compares enriched textual requirements specifications with non-enriched ones. To do this, we have conducted an experiment in industry with 19 engineers of CAF (Construcciones y Auxiliares de Ferrocarril), which is a supplier of railway solutions. The experiment is a crossover design that analyzes efficiency, effectiveness, and perceived difficulty starting from a written spec…
Evaluating Model-Driven Development Claims with Respect to Quality: A Family of Experiments
[EN] Context: There is a lack of empirical evidence on the differences between model-driven development (MDD), where code is automatically derived from conceptual models, and traditional software development method, where code is manually written. In our previous work, we compared both methods in a baseline experiment concluding that quality of the software developed following MDD was significantly better only for more complex problems (with more function points). Quality was measured through test cases run on a functional system. Objective: This paper reports six replications of the baseline to study the impact of problem complexity on software quality in the context of MDD. Method: We con…
A Proposal for Modelling Usability in a Holistic MDD Method
Holistic methods for Model-Driven Development (MDD) aim to model all the system features in a conceptual model. This conceptual model is the input for a model compiler that can generate software systems by means of automatic transformations. However, in general, MDD methods focus on modelling the structure and functionality of systems, relegating the interaction and usability features to manual implementations at the last steps of the software development process. Some usability features are strongly related to the functionality of the system and their inclusion is not so easy. In order to facilitate the inclusion of functional usability features from the first steps of the development proc…
Introducing Usability in a Conceptual Modeling-Based Software Development Process
Usability plays an important role to satisfy users? needs. There are many recommendations in the HCI literature on how to improve software usability. Our research focuses on such recommendations that affect the system architecture rather than just the interface. However, improving software usability in aspects that affect architecture increases the analyst?s workload and development complexity. This paper proposes a solution based on model-driven development. We propose representing functional usability mechanisms abstractly by means of conceptual primitives. The analyst will use these primitives to incorporate functional usability features at the early stages of the development process. Fo…
Towards a method to generate GUI prototypes from BPMN
Business Process Model and Notation (BPMN) provides organizations with a standard that facilitates further compression of the business process. BPMN focuses on the functional processes, leaving the development of interfaces to one side. Thereby, interface design usually depends on the subjective experience of the analyst. This article aims to propose a new method to generate user interfaces from BPMN models and Class Diagrams. The proposed method is based on the identification of different rules and makes use of stereotypes to extend BPMN notation. The rules have been extracted from seven existing projects on the Bizagi repository. Specifically, the proposal is based on the extraction of ru…
A Models-to-Program Information Systems Engineering Method
The Model-Driven Development paradigm aims to represent all the information system features through models. Conceptual-Model Programming offers a similar approach, but with a focus on automatic code generation. Both approaches consider modeling and traceability of different abstraction levels, where each level can be tackled with different modeling methods. This heterogeneity introduces a challenge for the quality of the traceability and transformations among models, especially when aiming for automatic code generation. In this paper, we introduce a holistic conceptual-model programming method to generate code from different abstraction levels (from the problem space to the solution space),…
From Strategy to Code: Achieving Strategical Alignment in Software Development Projects Through Conceptual Modelling
In this article we propose S2C, a strategy-to-code methodological approach to integrate organisational, business process, and information system modelling levels to support strategic alignment in software development. Through a model-driven approach and under the Conceptual-Model Programming paradigm, the proposal supports the semi-automatic generation of working software, as well as traceability among the modelling levels. Via a working example, we illustrate how strategic definitions can be traced into specific software components by the integration of three modelling methods: Lite*, for modelling strategic reaction to external influences, Communication Analysis, for business process mode…
Assessing data analysis performance in research contexts: An experiment on accuracy, efficiency, productivity and researchers’ satisfaction
[EN] Any knowledge generation process involves raw data comprehension, evaluation and inferential reasoning. These practices, common to different disciplines, are known as data analysis, and represent the most important set of activities in research contexts. Researchers use data analysis software methods and tools for generating new knowledge in their daily data analysis. In recent years, data analysis software has been incorporating explicit references in modelling of cognitive processes, in order to improve the assistance offered in data analysis tasks. However, data analysis software commercial suites are still resisting this inclusion, and there is little empirical work done in knowing…
Applying Conceptual Modeling to Better Understand the Human Genome
The objective of the work is to present the benefits of the application of Conceptual Modeling (CM) in complex domains, such as genomics. This paper explains the evolution of a Conceptual Schema of the Human Genome (CSHG), which seeks to provide a clear and precise understanding of the human genome. We want to highlighting all the advantages of the application of CM in a complex domain such as Genomic Information Systems (GeIS). We show how over time this model has evolved, thus we have discovered better forms of representation. As we advanced in exploring the domain, we understood that we should be extending and incorporating the new concepts detected into our model. Here we present and di…
Are requirements elicitation sessions influenced by participants' gender? An empirical experiment
[EN] Context: Requirements elicitation is a crucial phase in the software development life cycle. During requirements elicitation sessions, requirements engineers capture software requirements, and motivate stakeholders to express needs and expected software functionalities. In this context, there is a lack of extensive empirical research reporting the extent to which elicitation sessions can be influenced by participants' gender. Objective: This paper presents our research endeavour to investigate requirements engineers' effort and elicited requirements' accuracy based on participants' gender. Method: We conducted an experiment in two rounds with a total of 59 students who played the role …
User-Centered Design for Biomedical Literature Search User Interfaces
Biomedical literature search tools are crucial resources for the work of physicians, biologists, and bioinformatics. Many of the genetic-medical diagnoses depend on the findings in these literature resources. Despite the importance and value of the information stored in these resources, the user interface (UI) implemented by such tools present several usability problems converting the query and interpretation of the information into complex and time-consuming tasks. In this sense, an user-centered design (UCD) approach can improve the usability of these UIs facilitating the interaction, analysis, and comparison of biomedical information, and, consequently, improving the productivity of prac…
In Search of Evidence for Model-Driven Development Claims: An Experiment on Quality, Effort, Productivity and Satisfaction
Context: Model-Driven Development (MDD) is a paradigm that prescribes building conceptual models that abstractly represent the system and generating code from these models through transformation rules. The literature is rife with claims about the benefits of MDD, but they are hardly supported by evidences. Objective: This experimental investigation aims to verify some of the most cited benefits of MDD. Method: We run an experiment on a small set of classes using student subjects to compare the quality, effort, productivity and satisfaction of traditional development and MDD. The experiment participants built two web applications from scratch, one where the developers implement the code by h…
Designing the Didactic Strategy Modeling Language (DSML) From PoN: An Activity Oriented EML Proposal
[EN] This paper presents the design of the didactic strategy modeling language (DSML) according to the principles of Physics of Notations (PoN). The DSML is a visual and activity-oriented language for learning design characterized by the representation of different activities according to the nature of the task. Once the language is designed, a blind interpretation study is conducted to validate the semantic transparency of the learning activity iconography. The results of the paper allow to refine the icons. In addition to this, an authoring tool for DSML, which is integrated to an LMS, is presented. As a result, a model driven course was designed as a DSML pre-validation.
Conceptual Characterization of Cybersecurity Ontologies
Part 7:Risk and Security Modeling; International audience; Cybersecurity is known as the practice of protecting systems from digital attacks. Organizations are seeking efficient solutions for the management and protection of their assets. It is a complex issue, especially for great enterprises, because it requires an interdisciplinary approach. The kinds of problems enterprises must deal with and this domain complexity induces misinterpretations and misunderstandings about the concepts and relations in question. This article focus on dealing with Cybersecurity from an ontological perspective. The first contribution is a search of previously existing works that have defined Cybersecurity Ont…
Molecular profile in Paraguayan colorectal cancer patients, towards to a precision medicine strategy
[EN] Somatic mutation analysis and evaluation of microsatellite instability (MSI) have become mandatory for selecting personalized therapy strategies for advanced colorectal cancer and are not available as routine methods in Paraguay. The aims of this study were to analyze the molecular profile as well as the microsatellite status in a series of advanced colorectal patients from two public hospitals from Paraguay, to introduce these methodologies in the routine practice to guide the therapeutic decisions. Thirty-six patients diagnosed with advanced colorectal cancer from two referent public hospitals from Paraguay were recruited from May 2017 to February 2018. Sequenom Mass spectrometry, On…
An empirical comparative evaluation of gestUI to include gesture-based interaction in user interfaces
[EN] Currently there are tools that support the customisation of users' gestures. In general, the inclusion of new gestures implies writing new lines of code that strongly depend on the target platform where the system is run. In order to avoid this platform dependency, gestUI was proposed as a model-driven method that permits (i) the definition of custom touch-based gestures, and (ii) the inclusion of the gesture-based interaction in existing user interfaces on desktop computing platforms. The objective of this work is to compare gestUI (a MDD method to deal with gestures) versus a code-centric method to include gesture-based interaction in user interfaces. In order to perform the comparis…
A framework to identify primitives that represent usability within Model-Driven Development methods
Context: Nowadays, there are sound methods and tools which implement the Model-Driven Development approach (MDD) satisfactorily. However, MDD approaches focus on representing and generating code that represents functionality, behaviour and persistence, putting the interaction, and more specifically the usability, in a second place. If we aim to include usability features in a system developed with a MDD tool, we need to extend manually the generated code. Objective: This paper tackles how to include functional usability features (usability recommendations strongly related to system functionality) in MDD through conceptual primitives. Method: The approach consists of studying usability guide…
A MDA Approach for avigational and User Perspectives

 
 
 The study presented in this paper focuses on a navigational and user perspectives analysis of Web applications, highlighting some of their critical points for modeling. To consider these critical points, we propose a notational definition focused on a general metamodel, consisting of three specific metamodels: the Navigational Tree, the Node, and Roles. The metamodels have been implemented with a specific MDA (Model Driven Architecture) tool called AndroMDA, to generate applications for PHP language. Both, the general metamodel and its implementation have been analyzed by means of a proof of concept. Finally, some interesting results as well as the contribution of the p…
Enforcing Conceptual Modeling to improve the understanding of human genome
It is widely accepted that the use of Conceptual Modeling techniques in modern Software Engineering leads to a more accurate description of the problem domain. The application of these techniques in the context of challenging domains as the human genome is a fascinating task. The relevant biological concepts should be properly addressed through the creation of the corresponding conceptual schema. This schema will improve the description of the global process followed from a DNA sequence to a fully functional protein. Once the conceptual model is established, the corresponding database is created. The database is intended to act as a unified repository of integrated information that will all…
A Newcomer's Guide to EICS, the Engineering Interactive Computing Systems Community
[EN] Welcome to EICS, the Engineering Interactive Computing Systems community, PACMHCI/EICS journal, and annual conference! In this short article, we introduce newcomers to the field and to our community with an overview of what EICS is and how it positions with respect to other venues in Human-Computer Interaction, such as CHI, UIST, and IUI, highlighting its legacy and paying homage to past scientific events from which EICS emerged. We also take this opportunity to enumerate and exemplify scientific contributions to the field of Engineering Interactive Computing Systems, which we hope to guide researchers and practitioners towards making their future PACMHCI/EICS submissions successful an…
How to deal with Haplotype data: An Extension to the Conceptual Schema of the Human Genome
[EN] The goal of this work is to describe the advantages of the application of Conceptual Modeling (CM) in complex domains, such as genomics. Nowadays, the study and comprehension of the human genome is a major challenge due to its high level of complexity. The constant evolution in the genomic domain contributes to the generation of ever larger amounts of new data, which means that if we do not manage it correctly data quality could be compromised (i.e., problems related with heterogeneity and inconsistent data). In this paper, we propose the use of a Conceptual Schema of the Human Genome (CSHG), designed to understand and improve our ontological commitment to the domain and also extend (e…
Evaluating Bug-Fixing in Software Product Lines
[Background] Bug-fixing could be complex in industrial practice since thousands of products share features in their configuration. Despite the importance and complexity of bug-fixing, there is still a lack of empirical data about the difficulties found in industrial Software Product Lines (SPLs). [Aims] This paper aims to evaluate engineers' performance fixing errors and propagating the fixes to other configured products in the context of an industrial SPL. [Method] We designed and conducted an empirical study to collect data with regard to bug-fixing tasks within the context of a Induction Hob SPL in the BSH group, the largest manufacturer of home appliances in Europe. [Results] We found t…