4.6 Requirements to Software Patterns
4.8.2 User Interface Prototypes
The integration of the SCARP process with other model based tools was explored. Specifically, with the MODUS approach and tool [84]. The MODUS approach, developed during the elab- oration of this work, supports the automatic generation of UI prototypes from UML structural models (c.f. class diagrams). Similarly to SCARP, MODUS relies on the domain information, in order to make several assumptions, and automatically generate meaningful solutions. In practice, the models resulting from the Architectural Solution step (Figure 3.1, IV), were used as input for MODUS. As a result, MODUS was able to automatically generate an interface, as depicted in Figure 4.27.
Figure 4.27: Usage of SCARP outputs in order to support the generation of presentation code. For this example, an Ecore representation (instead of XMI) was generated, and used as input for MODUS. MODUS supports the automatic generation of user interface for an eCommerce application. It is possible to explicitly see in Figure 4.28 the elements contained in the diagram shown on Figure 4.26. For instance, it is possible to see that pages for user (profile) and shopping cart (My cart) exist. Furthermore, the user is represented by its username, name, email and password.
4.9. SUMMARY 111
Figure 4.28: Example of MODUS web page, generated from an output of SCARP.
4.9
Summary
This chapter presented the decisions made in order to support the several steps of SCARP. For each step, a concrete implementation in terms of technologies, inputs and outputs was presented. Also, examples of inputs, which lead to the production of a software architecture were presented. Such architecture can be serialized into several formats, as is the case of XMI. The decisions were required to support the implementation of uCat, the tool that implements the processes described in each step of SCARP. Furthermore, uCat has the objective of operationalizing and automating some of the steps, in order to generate the architectural outputs (c.f. XMI and Ecore).
The suitability of SCARP to support Model Based User Interface Development is illustrated by the UI prototypes produced by MODUS. The interoperability and integration of SCARP with different tools and approaches (c.f. Visual Paradigm, ArgoUML [19], MODUS, etc.), is only possible resorting to standards. Indeed, SCARP supports exporting the generated data to XMI, the OMG standard for model interchange, it also supports representing the produced models in ECORE, which are useful to support a large set of model based tools (c.f. Eclipse EMF [107]), and which is the input format for the MODUS approach.
Chapter 5
Validation
This chapter is presents the validation of SCARP regarding the three following dimensions. • Viability of the specification process, through assessment of both RUS and RUST; • Acceptance of both the approach and tool by the users;
• Viability of the pattern inference process.
Two studies were carried out in order to perform the validation. The first study assessed both the first and second topics. The users were requested to create and interpret RUS specifications, while using the uCat tool. Their feedback regarding the experience with the tool/language was collected. The second study addressed the last topic, by requesting different users to write the same specifications in RUS, and perform pattern inference on those specifications.
The performed studies resulted in publications regarding the achieved results [26, 24, 28].
5.1
Study 1 Description
In the first study, which addressed the expressiveness and overall acceptance of the language, a set of questions about RUS (which provide also feedback for RUST) and uCat was defined (c.f. Table 5.1 and 5.2). From the questions a set of tasks for users to perform was extracted. A task consists in an exercise the user should perform (e.g. create or interpret a specification). By analyzing the result of the tasks, it was possible to answer the proposed questions. Data was collected during and at the end of the modeling tasks.
At the end, a questionnaire composed of two parts, and described in Table 5.1 and Table 5.2, was applied. Note that questions 1 to 3 and question 16 are open (although a numerical answer was expected), while the remaining questions, up to number 24, were answered in a 7-point Likert scale (0 meaning low and 7 meaning high). Questions 25 to 30 were answered with text.
Table 5.1: Questionnaire - part a).
Question
1 Number of statements which required major changes in order to be mapped into RUS 2 Number of statements which lost their meaning 3 Number of unsupported statements
16 Minutes spent in adjustments (to match RUS)
Table 5.2: Questionnaire - part b).
Question (low to high)
4 How much sense does the user interface makes 5 How familiar was the terminology
6 How much the tool helps in the specification 7 How easy to use is the RUS
8 How easy to understand is the RUS
9 How much easier is RUS to understand than NL 10 How easy is it to manipulate RUST
11 Is NL easier to use than RUS 12 Is NL easier to understand than RUS 13 Likelihood to adopt RUS
14 How easy is it to understand RUST 15 How clear is the language
17 How close to NL is RUS
18 How easy was it to understand the tool 19 How this tool is preferred over VP 20 How useful and adequate was the output 21 How acceptable are the tools’ limitations 22 How easy to use is the tool
23 How much the user liked the language 24 How much the user liked the tool
The tool evaluation concerns usability aspects. Quesenbery [95] addresses five usability dimen- sions, as follows.
1. Effective corresponds to how complete and accurately the work is completed;
2. Efficient Corresponds to how quickly the work can be performed;
3. Engaging Corresponds to how well the interface captures the user attention, and how satisfying is it to use;
4. Error Tolerant Corresponds to how well the application prevents and helps the user recover from errors;
5. Easy to Learn to how well the application supports the learning process through usage.
These dimmensions are address in this study, in the following manner: 1. is addressed by questions 1, 19 and 21; 2. by question 17; 3. by questions 4, 13, 23 and 24; 4. by questions 2, 3 and 20; 5. questions 5-12, 14-18 and 22.
5.1. STUDY 1 DESCRIPTION 115