• No results found

The typical steps in using iSketch consist of the following steps:

Step 1: An end user browses iSketch on the web to capture or express the re-quirements of a system under design. iSketch opens and displays to the user, a user in-terface showing a Sketch Canvas, a Sketch Annotator panel, Sketch Repositories, and a set of Tools as shown in Figure 6.1. Using the displayed user interface, the end user draws the Use Case diagram requirements model describing the set of actions (use cas-es) the system under design should perform in collaboration with one or more external users (actors) of the system. To start drawing the Use Case diagram, the user opens the Default Symbol Repository, selects, and drags and drops a use case symbol on the Sketch Canvas to start specifying the actions that system under design should perform (Figure 5.8).

Figure 5.8: A section of iSketch. It shows a dragged and dropped use case symbol The user makes use of the editor facility of the Sketch Annotator to change the name of the use case by typing the preferred name and clicking the rename button (Fig-ure 5.9). After giving a name to the use case, the user adds an actor that will be respon-sible for the use case. To add an actor, the user can either use the default actor symbol provided by iSketch or create a custom symbol. To create a custom symbol, the user opens the Customized Symbols repository of iSketch and clicks the New Symbol but-ton. iSketch displays a Sketch Canvas for the User to hand draw their symbol. After sketching the new symbol, the user annotates the name of the symbol and clicks Save.

Symbol button (Figure 6.10).

Figure 5.9: A section of iSketch. It shows the change of name from use case to “with-draw funds”.

Figure 5.10 A section of iSketch. It shows a Sketch Canvas for creating custom sym-bols.

On clicking the save button, iSketch validates the syntax and semantics of the symbol drawn to ensure that a similar symbol does not exist. If the symbol is valid, iSketch saves the user’s symbol to the Customized Symbols repository (Figure 5.11). If the symbol is not valid, iSketch prompts the user to rename the symbol if a symbol with the same name already exists. With the custom symbol now available, the user selects and drags and drops the symbol on the Sketch Canvas (Figure 5.12). Next, the user cre-ates an association between the actor (customer) and use case (withdraw funds) by se-lecting Association from the Relationship Type drop down on the Annotator’s editor and clicking on the withdraw funds use case symbol (Figure 5.13).

Figure 5.11: A section of iSketch. It shows the custom symbol “customer” newly creat-ed by the user

Figure 5.12: A section of iSketch. It shows the actor “customer” added to the Sketch Canvas

Figure 5.13: A section of iSketch. It shows the created association relationship between the actor (customer) and use case (withdraw funds)

The end user adds more actors and use cases of the system under design by going through a similar process explained so far. After creating the requirements model, the user iteratively elicits the details of the actors and use cases of the system under design.

To add details to the actor (customer), the user selects the customer symbol on the Sketch Canvas and clicks on details button on the Sketch Annotator’s editor. On the modal dialog that follows, the user adds and saves the attributes of the customer (Figure 5.14). Likewise, to add details to the use case (withdraw funds), the user selects the withdraw funds symbol on the Sketch Canvas and clicks the details button on the Anno-tator’s editor. The user supplies and saves the description, success scenarios, precondi-tions and success guarantee of the withdraw funds use case using natural language text (Figure 5.15).

Figure 5.14: A section of iSketch. It shows added attributes of the actor (customer).

After annotating the actors and use cases of the system under design with their re-spective details, the user saves the Use Case diagram requirements model by typing the name of the system on the Sketch Annotator and clicking save use case diagram button on iSketch’s tool panel. On clicking the save button, iSketch saves the user’s diagram into the Use Case repository for a later reuse (Figure 5.16).

Step 2: After creating the Use Case diagram requirements model, the end user ini-tiates a sketch to initial software model transformation process by clicking the Model Transformer button (marked D in Figure 5.1).

Step 3: iSketch uses its Sketch Model Transformer and the related components (described in Section 6.4) to generate and display to the user, the initial software models

represented by UML Sequence and Class diagrams shown in Figure 5.17 and Figure 5.18, respectively.

Figure 5.15: A section of iSketch. It shows adding of natural language text details to the use case (withdraw funds).

Figure 5.16: A section of iSketch. It shows the saved use case diagram (bank atm sys-tem).

Figure 5.17: It shows a Sequence diagram software model generated from the Use Case diagram in Figure 5.16

Figure 5.18: It shows a Class diagram conceptual model generated from the Use Case diagram in Figure 5.16

Evaluation

6.1 Introduction

The aim of this chapter is to provide answers to the research question RQ4 “How well can deep learning and AOMs support sketch recognition and model transfor-mation?” To answer this question, the aim of this chapter is decomposed into the fol-lowing objectives:

1. To evaluate iSketch Sketch-Based Recognition Method via the use of Stroke Labelling (SL). The choice of stroke labelling as the selected metric to evaluate the sketch recognition performance of iSketch Sketch-Based Recognition Meth-od stems from the outcome of the review of 20 sketch recognition approaches done in Chapter 2. The review revealed that 10 out of 20 of the approaches were evaluated using stroke labelling metric. This will help to provide answer to RQ4.

Further to evaluating

2. To evaluate iSketch Sketch-Based Model Transformation Method via the use of Precision and Recall. Transformation approaches are evaluated based on the qualities of their outputs. However, evaluating the transformation of re-quirements models is a challenging task. This is because there is no standard evaluation method in existence. Reason being that models obtained from the transformation of requirements models are not good or bad, rather, they are use-ful or less useuse-ful [124]. The thesis of this project is that it is feasible to automati-cally transform hand-drawn requirements models into initial software models us-ing the Sketch-Based Model Transformation method. Hence, to measure the classification accuracy of the UML class and sequence diagram elements created through the implementation of the method, this research project opted for preci-sion and recall metrics. This will help to provide answer to RQ4.

3. To compare iSketch with Related Work. This compares iSketch with related sketch recognition approaches, model transformation approaches and sketching

software tools that enable end users to express requirements models using hand-drawn diagrams. This will help to provide answer to RQ5.

Figure 6.1: Some examples of sketch images in iSketch dataset used to evaluate iSketch Sketch-Based Recognition method

6.2 Evaluation of iSketch Sketch-Based Recognition