Figure 4 - uploaded by Luis Iribarne
Content may be subject to copyright.
The applet windows of the Customer side 

The applet windows of the Customer side 

Source publication
Conference Paper
Full-text available
In this paper we present how to develop graphical user interfaces from two UML models: use case and activity diagrams. Our method obtains from them a UML class diagram for representing GUI components, and it is suitable for generating code fragments, which can be considered as GUI prototypes.

Contexts in source publication

Context 1
... refined a formal use case diagram and obtained a set of activity diagram, now we generate class diagrams from this diagram information. The class diagrams are built from Java swing classes. In the method, each use case corresponds with an applet class. Use cases are translated into classes with the same name as these use cases. The translated classes specialize in a Java Applet class. The components of the applet (use case) are described in activity diagrams. A terminal state is translated into that Java swing class represented by the stereotype of the state. The Java swing class is connected from the container class (i.e., that class working as an applet window in the use case diagram) and uses an association relationship whose role’s name is the one on the terminal state. For example, those terminal states stereotyped as <<JTextArea>> are translated into a JTextArea class in the class diagram. Some- thing similar happens to the rest of stereotyped states and transitions. The non-terminal states of an activity diagram may correspond to some other use cases (applets) or activity subdiagrams. In the last case, the non- terminal states can be considered an abstract class in the class diagram. Then, it can be described in another class diagram with the same name as that abstract class. Figure 3 shows the resultant class diagram of the customer side. The class diagram contains six classes of the applet type, four of which directly specialize in the Applet class: the NotifyShoppingCartEmpty class, the Customer class, the ConfirmRemoveArti- cle class and the ShoppingCart class. The other classes inherit the Applet class through their super classes. For example, the Purchase class inherits the applet class from the QueryCatalogue class. These six classes —which (direct or indirectly) inherit the applet class— correspond to those five use cases at the customer side in the use case diagram together with the customer actor. Furthermore, note how the stereotyped states and transitions in the activity diagrams are translated into Java classes in the class diagram. The stereotype name of a transition or state is translated into the appropriate Java swing class. The name of the stereotyped state (transition) is translated into an association between the swing class and the applet class that contains it. For example, the <<JButton>> stereotype of the Proceed transition that appears in the Manage shopping cart activity diagram (see Figure 2) is translated into a JButton class. The transition name ( Proceed ) is interpreted as an association —labeled with the same name— between the JButton class and the class containing it (i.e., the Purchase ). Due to the extension of the resultant class diagram, some classes have not been included in the figure. Finally, rapid GUI prototypes could be obtained from the class diagram. Figure 4 shows a first visual result of the Purchase applet, but without functionality. Note how the Purchase window (applet) is very similar to the Query Catalogue window, except that the second one includes three buttons more than the first window. This similarity between applets was reflected in the original use case diagram as a generalization relationship between use cases (applets), here, between the use cases Query catalogue and Purchase . Since the Internet Shopping project was designed, the customer will always work on a Purchase applet ...
Context 2
... the Customer applet, and never on a Query Catalogue applet, though the first one inherits the behaviour of the second (i.e., by the relation of generalization). The Shopping Cart window ( Figure 4, c) appears when the Show Cart button is pressed on the Purchase window (Figure 4, b). Note in the original use case diagram, shown in Figure 1, how the button is associated with the window by means of an << include >> relation between use cases. On the other hand, the two information applet windows (Figure 4, d) are also associated with two buttons: the Remove article button in the Shopping Cart window and the Proceed button in the Purchase window. Note again how these windows are also described as include relations between use cases. Also observe the activity diagrams shown in Figure 2 to track better the behaviour of the example. To develop the case study we have used the Ratio- nal Rose for Java tool. For space reasons, we have included here just a part of the GUI project developed for the case study. A complete version of the project is available at ̃liribarn/ Investigacion/usecases.html . In this section we will formalize the described method, and provide a formal definition for use case diagrams and use cases. In particular, we will define the use case relationships << include >> and generalization. We will also define well-formed use case diagram which follows some restrictions. In addition, we will provide an abstract definition of GUI, and we will define two relationships between GUI: inclusion and generalization. This will allow us to define a generic transformation technique for use case diagrams into a set of GUI. Finally, we will establish some properties of this transformation technique. Now, let us define a use case diagram as follows: Now, we formally define a use case being specified by means of an activity diagram as ...
Context 3
... the Customer applet, and never on a Query Catalogue applet, though the first one inherits the behaviour of the second (i.e., by the relation of generalization). The Shopping Cart window ( Figure 4, c) appears when the Show Cart button is pressed on the Purchase window (Figure 4, b). Note in the original use case diagram, shown in Figure 1, how the button is associated with the window by means of an << include >> relation between use cases. On the other hand, the two information applet windows (Figure 4, d) are also associated with two buttons: the Remove article button in the Shopping Cart window and the Proceed button in the Purchase window. Note again how these windows are also described as include relations between use cases. Also observe the activity diagrams shown in Figure 2 to track better the behaviour of the example. To develop the case study we have used the Ratio- nal Rose for Java tool. For space reasons, we have included here just a part of the GUI project developed for the case study. A complete version of the project is available at ̃liribarn/ Investigacion/usecases.html . In this section we will formalize the described method, and provide a formal definition for use case diagrams and use cases. In particular, we will define the use case relationships << include >> and generalization. We will also define well-formed use case diagram which follows some restrictions. In addition, we will provide an abstract definition of GUI, and we will define two relationships between GUI: inclusion and generalization. This will allow us to define a generic transformation technique for use case diagrams into a set of GUI. Finally, we will establish some properties of this transformation technique. Now, let us define a use case diagram as follows: Now, we formally define a use case being specified by means of an activity diagram as ...
Context 4
... the Customer applet, and never on a Query Catalogue applet, though the first one inherits the behaviour of the second (i.e., by the relation of generalization). The Shopping Cart window ( Figure 4, c) appears when the Show Cart button is pressed on the Purchase window (Figure 4, b). Note in the original use case diagram, shown in Figure 1, how the button is associated with the window by means of an << include >> relation between use cases. On the other hand, the two information applet windows (Figure 4, d) are also associated with two buttons: the Remove article button in the Shopping Cart window and the Proceed button in the Purchase window. Note again how these windows are also described as include relations between use cases. Also observe the activity diagrams shown in Figure 2 to track better the behaviour of the example. To develop the case study we have used the Ratio- nal Rose for Java tool. For space reasons, we have included here just a part of the GUI project developed for the case study. A complete version of the project is available at ̃liribarn/ Investigacion/usecases.html . In this section we will formalize the described method, and provide a formal definition for use case diagrams and use cases. In particular, we will define the use case relationships << include >> and generalization. We will also define well-formed use case diagram which follows some restrictions. In addition, we will provide an abstract definition of GUI, and we will define two relationships between GUI: inclusion and generalization. This will allow us to define a generic transformation technique for use case diagrams into a set of GUI. Finally, we will establish some properties of this transformation technique. Now, let us define a use case diagram as follows: Now, we formally define a use case being specified by means of an activity diagram as ...

Similar publications

Conference Paper
Full-text available
In this work we investigate the feasibility of prototyping industrial requirements engineering experiments within an educational environment, i.e. conducting a prestudy with students before performing the experiments in industry. We identify a set of constraints on the experimental design intended to make research participation more rewarding for o...
Article
Full-text available
The use of bus in traveling is a large growing business in Iraq and other countries. Hence, bus ticketing system deals with maintenance records of each passenger who had reserved a seat for a journey. Moreover, the ticketing system includes maintenance of schedule, fare and details of each bus traveling. However, there are many bus operations, whic...
Article
Full-text available
Previous research on the development of learning objects has targeted either learners, as consumers of these objects, or instructors, as designers who reuse these objects in building new online courses. There is currently an urgent need for the sharing and reuse of both theoretical knowledge (literature reviews) and practical knowledge (best practi...

Citations

... It cannot be developed a universal interface that would suite both the younger and the older audience at the same time. The work of Almendros-Jimenez and Iribarne (2005) suggests that use case model can help a GUI designer identify the needs for a user interface for a specific application. Solutions design were proposed by Samp and Decker (2010), as an optimization for decreasing the time needed for selection in displayed menus. ...
Article
Full-text available
Intuitive user interfaces have been of great concern for GUI developers. The current research, who deals with their designing, faces the term intuitive constantly. The main question is how can the Interface be intuitive? For the moment, the researchers try to provide a very intuitive generic user interface that can be used in a variety of applications. In this paper we provide a solution that can model any applied ontology into a honeycomb menu. The hexagonal shape of the honeycomb has attracted the attention of humans for centuries. As a relevant consequence, the final user can browse any knowledge base very easily with the aid of this interface. Another useful feature is that programmers can take full advantage of semantic web technologies which can tailor results based on any knowledge base that is feed as input, without any need for code change, thus leading towards a panacea system.
... Several papers have discussed different methods for generating UI prototypes from Unified Modeling Language (UML) diagrams [4,5,10,11,12]. However, in these studies the UIs were generated for a particular language (e.g., Java, eXtensable Markup Language (XML), HTML and C++) and a particular platform (e.g., Windows or Linux). ...
... Nichols has suggested a new system (personal universal controller) for automatic generation of two types of UIs, graphical and speech interfaces for Personal Digital Assistants (PDAs) or mobile phones using the abstract specification [19,20]. Almendros and Iribarne [5] have proposed a new method for mapping use case models into graphical UI design and they used the use case model to identify the requirements of the system and used the activity diagrams to describe use cases. In another study, Almendros and Iribarne [4] described how they modeled UIs by using specialized UML diagrams. ...
Article
Full-text available
The cost of the software development is high and there is a need to automate parts or all activities of the software development to reduce the development costs. In this work, the User Interface (UI) design is automated and UIs are generated for language-independent code from Unified Modeling Language (UML) diagrams. These diagrams are used to generate both the content of the UIs and the navigation through the use interfaces. Based on end-user feedback, the UML diagrams and the UI prototype can be iteratively refined. To demonstrate this work, a tool that automates the generation of UI prototype is built. The tool generates a prototype that is coded using an eXtensable Markup Language (XML) called the User Interface Markup Language (UIML). The proposed approach is validated and user interfaces are generated for two case studies.
... The required behavior of the system is specified by one or more use cases, which are defined according to the needs of the actors. Each use case specifies some behavior, possibly including variants, that the system can perform in collaboration with one or more actors (ALMENDROS-JIMÉNEZ; IRIBARNE, 2005). ...
Article
Full-text available
Supply chain traceability and visibility are key concerns for many companies. Radio-Frequency Identification (RFID) is an enabling technology that allows identification of objects in a fully automated manner via radio waves. Nevertheless, this technology has limited acceptance and high costs. This paper presents a research effort undertaken to design a track and trace solution in supply chains, using quick response code (or QR Code for short) as a less complex and cost-effective alternative for RFID in supply chain management (SCM). A first architecture proposal using open source software will be presented as a proof of concept. The system architecture is presented in order to achieve tag generation, the image acquisition and pre-processing, product inventory and tracking. A prototype system for the tag identification is developed and discussed at the end of the paper to demonstrate its feasibility.
... The required behavior of the system is specified by one or more use cases, which are defined according to the needs of the actors. Each use case specifies some behavior, possibly including variants, that the system can perform in collaboration with one or more actors (ALMENDROS-JIMÉNEZ; IRIBARNE, 2005). ...
Article
Supply chain traceability and visibility are key concerns for many companies. Radio-Frequency Identification (RFID) is an enabling technology that allows identification of objects in a fully automated manner via radio waves. Nevertheless, this technology has limited acceptance and high costs. This paper presents a research effort undertaken to design a track and trace solution in supply chains, using quick response code (or QR Code for short) as a less complex and cost-effective alternative for RFID in supply chain management (SCM). A first architecture proposal using open source software will be presented as a proof of concept. The system architecture is presented in order to achieve tag generation, the image acquisition and pre-processing, product inventory and tracking. A prototype system for the tag identification is developed and discussed at the end of the paper to demonstrate its feasibility.
... In the Unified Modeling Language (UML), one of the key tools for behavior modeling is the Use Case Model, originated from the Object-Oriented Software Engineering (OOSE) (Almendros-Jimenez & Iribarne, 2005). In this research we just use the Use case Diagram and Class Diagram. ...
... Event is to send and receive messages. [120] A sequence diagram describes a series of ordered messages which indicate the operations and data flow between objects. Apparently, a sequence diagram is more for humans rather than for computers to understand. ...
... GUI prototypes can be hyperlinked on activity actions for illustrating GUI invocation in a particular use case scenario. Activity and GUI Elements relation is analyzed in [2], [23], [34]. Theoretically, it is possible to implement a model to text transformation, which transforms the model into executable prototype realization by generating UIML [35], XUL [37] or another user interface specification language scripts. ...
... For completeness of use case coverage in GUI prototypes, it is easy to set up an automated relationship matrix, which is a standard feature of modern UML tools like MagicDraw. The analysis of use case and GUI prototype relationships is very common in practice and research [2], [3], [18]. One of the first tasks for shifting from requirements analysis to design is identifying the major components in all system layers. ...
Conference Paper
Full-text available
This paper introduces an extension of UML for modeling GUI prototypes. It presents the UML profile for GUI modeling, its implementation in MagicDraw, and its application to an experimental system. The profile contains stereotypes for the major GUI components that can be found in classic GUI libraries like Java Swing and several helper stereotypes and enumerations. While UML only allows defining an icon for a stereotype, the proper implementation of this profile requires rendering the symbols of the stereotyped elements as GUI components. This functionality was implemented as a plug-in to MagicDraw tool. The resulting solution enables storyboarding with GUI prototypes and linking their components with the other UML model elements like use cases, data class attributes, and states in GUI navigation state machines. These capabilities are demonstrated with examples from a test assessment system MagicTest, which is used for an experimental approval of linking the proposed profile with familiar software modeling artifacts.
... This work presents a significant extension of our previous works by considering (and completing) the user interface view with a database view, in which user interface components interact with database/user interface container components. In our previous papers [13] we were more concerned with the identification of user interface components and modeling of user interactions. However we omitted how the user interface and database components are consulted/updated and how the database interactions are modeled. ...
Article
Full-text available
In this paper, we will present a design technique for user and database interaction based on UML. User interaction will be modeled by means of UML state diagrams, and database interaction by means of UML sequence diagrams. The proposed design technique establishes how to integrate both diagrams in order to describe the user interface and database interaction of a business software system. A case study of an Internet Book Shopping system will be shown to illustrate the proposal.
... Specification of user interfaces by the means of UML is described by Pinheiro da Silva et al. in "UML for interactive applications" (UMLi) in [24]. Almendros-Jimenez and Iribarne explore in [25], [26] the possibilities of native UML use case and activity diagrams. They use an extension to action elements in order to be able to parts typical for Java applets, therefore these models may only be used to generate GUIs working within Java applet. ...
Book
Full-text available
Approaches for MDSE (Model-Driven Software Engineering) like OMG's Model Driven Architecture (MDA) focus on the separation of the specification of the system from its implementation on a particular platform. The MDA pattern with its platform-independent model (PIM) and the transformation to one or more platform-specific models (PSMs) is well known. However, in practice many different methodologies and tools are used to take advantage of model driven software development. Some tools are using MOF-compliant languages such as UML for modeling and a subset of MOF-QVT implementation for transformations while others are using proprietary languages. The goal of this workshop is to bring together people working on MDSE techniques and tools, and applying them on web applications, enterprise information systems or embedded systems, so that they can exchange their experience, create new ideas, evaluate and improve MDSE and spread its use. This year, we take a closer look at transformations, e.g. model-to-model and model-to-text transformations, transformation languages and transformation specification. We also focus on the human factor, e.g. qualification of software engineers for MDA. Roland Petrasch, Florian Fieber, Mirjana Ivanovic, Zoran Budimac, Dragan Macos, Nils Mitoussis Berlin, December 2008
... In [22] a language called "UML for interactive applications" (UMLi) is introduced to reflect missing capabilities for designing user interfaces with UML. In contrast to extending UML with new notational symbols, Almendros-Jimenez and Iribarne explore in [23], [24] the possibilities of UML use case and activity diagrams. They use specific action elements to reflect units that are typical for Java applets. ...
... While Almendros-Jimenez and Iribarne suggest specializing the model notation to reflect details of their target platform (Java applets) [24], Lorenz [25] and Petrasch [8] propose more abstract notations to cover a more general approach. Yet both use one direct transformation to their target platform J2EE/Struts and do not consider the diversity of today's platforms. ...
Conference Paper
Full-text available
To meet fast changing demands on modern software architectures the ambition to shorten and improve software development processes has increased. The approach of model-driven software development focuses models as specification of software and on transformations of those models to finally get source code. The advantage of the model-driven approach still has to be proven because a continuous tool- supported transformation process from model to source code with regard to all aspects of a software system is not yet possible. This paper concentrates on the aspect of user interaction by presenting an easy to apply approach allowing for a tool- supported, model-driven software development of graphical user interfaces for any kind of platform. A case study demonstrates the usage and benefit of our model-driven approach applied to a common software development process.