Professional Documents
Culture Documents
ABSTRACT
Graphical user interfaces (GUIs) are fundamental part of software systems now
days. This provides user with a facility to interact with the system. It is very
important to clearly specify and precisely analyze GUI requirements before
implementation of any system. Traditionally UML is considered as one of
successful languages to model software requirements and specifications. But
UML does not provide a considerable help for modeling GUI, hence a
requirement is there to come through ideas where UML can be used for GUI
analysis purpose as well. Many efforts have been put already in this direction,
and this paper also makes such an attempt. Notations for commonly used GUI
objects have been revised and interaction between different GUI objects has
also been explained in this paper.
INTRODUCTION
Software models help us in understanding the system by hiding complicated
details of the system. The selection of what to model has huge consequences on
the problem understanding and figuring out the solution. Major advantages that
models provide are simplifications and communication between problem,
design, and its implementation. Models give different viewpoint to the system.
The needs and types of business application decide the choice of modeling
language and notation. The Unified Modeling Language (UML) is a visual
language for modeling software applications. Unified Modeling Language
(UML) is used for the analysis and processing of requirements as well as for the
software specifications. UML has been standardized by Object Management
Group (OMG) in 1997. UML provides a number of views (diagrams), UML2
put forwards 13 diagrams [1]. Most popular of these diagrams are use case
diagrams, class/object diagram, sequence diagram, collaboration diagram,
activity diagram, state diagram, component diagram, and deployment diagram.
UML has many advantages over other modeling methods. It is de facto standard
2
in the context of objects oriented analysis and design. UML is frequently used at
software architecture and design stage and it is well specified and thorough and
helps to understand structure and supports the process. With the emergence of
model driven development (MDD), UML has gained more popularity as in such
environment, UML drives the entire design.
Almost every software application in use is providing some sort of
graphical interface for interaction, and in most cases they are the only part of the
system that is visible to the users and providing facility of interaction to users.
Hence GUIs becoming vital for users to interact with any software system. Also
GUIs have a big impact in terms of overall cost and productivity of software [2,
3]. GUIs are also important in terms of apprehension, as they make up about
50% of application code [3, 4]. Close coupling of GUI design and software
design is very helpful in creating a complete model of an application before
implementation. This complete model will help to avoid as many errors as
possible. Several developments have brought the UML to its current state.
Efforts have been made to model important aspects of software systems using
UML. These aspects are reflected in the diagrams provided by UML for
modeling. UML, despite being most popular modeling language today, does not
specify a diagram capable of creating a model of a GUI’s visual appearance. To
overcome this shortcoming of UML, graphics designers create non-UML
models of GUI [5], and layout is modeled using schematics or wireframes [5].
Although OMG declares UML as a “General purpose modeling language”
[1], but it is impossible to model GUI component layout with UML. Beside the
fact that UML does not present user-interface models, but UML is being used
for this purpose in some coercive ways through some extensions. UML offers
extensibility mechanisms that can be adopted to extend UML to new domains,
but it is quite evident that such extensions of UML with extra adornments are
consistently confusing rather than helpful. How can a model be completed if it
does not consider an aspect as important as graphical user interfaces?
The designer’s of UML acknowledged that UML is not always just right for
every aspect of modeling [6]. Hence they decided that there would be situations,
when the development process would be better served by capturing additional
information or by applying different semantics to certain modeling elements [6].
UML specification for version 2.1.2 describes this mechanism as “The Profiles
package contains mechanisms that allow metaclasses from existing metamodels
to be extended to adapt them for different purposes” [1, 8]. There are several
ways, how UML can be extended by using profiles. An extension may develop
when tailoring the UML Metamodel to new domains is required or metamodel
classes may be extended by using stereo types and additional semantics and
constrained syntax [1]. The extension mechanism allows the inclusion of new
attributes, tagged values, different semantics and additional constraints [7].
Previously stereotypes and tagged values were adopted in UML 1.1, as string-
based extensions that could be attached to UML model elements. In succeeding
versions of UML, the notion of a Profile was defined to facilitate more
formation and correctness to stereotypes and tagged values [9]. The UML2.0
infrastructure and superstructure specifications have defined it as a specific
meta-modeling technique. Stereotypes are specific metaclasses, tagged values
are standard metaattributes, and profiles are specific kinds of packages [9].
3
RELATED WORK
Different authors have proposed different techniques to design a GUI. But these
approaches are difficult to understand and design GUI. Mohammed Elkoutbi has
proposed a new approach for generation of UI prototypes from scenarios.
Scenarios are acquired as collaboration diagrams (CollDs) enriched with UI
information. These CollDs are transformed into dynamic specifications of the UI
objects involved in the system. Static and dynamic aspects of the UI are then
derived from the obtained dynamic specifications of the UI objects [10].
Kai Blankenhorn has presented a standard-conformant extension to UML 2.0 to
integrate GUI layout into software engineering. First, we have performed an in-
depth analysis of the situation both in software engineering and in GUI design
and found that modeling is a concept common to both of them. While software
engineers create rigid, geometrical models of software systems, GUI designers
do quick sketches of screen layouts using paper and pencil. We have found a
way to unify both approaches by creating geometrical abstractions of designers’
4
sketches of GUI elements and combining them into models of complex screen
layouts. Our selection of elements has proven powerful enough to mapping all
GUI elements that can be created by popular GUI technologies to a construct of
our model [11].
Many researchers have worked for extending UML for specific purposes. Boger
et al has purposed diagram interchange in 2002 [12]. In diagram interchange,
every UML element has been assigned a graph element and it makes UML
diagrams layout aware. Designer Scribbles can also be considered as an
extension, in which hand written abstractions of a GUI’s design has been
used[11]. Designer scribbles use commonly used symbols for widgets and
consider common practices among designers [11]. Interactive sketching has also
been used for modeling GUI. On the other hand DENIM creates a complete
model of user interface. DENIM also uses sketch recognition but this also has
not been connected to UML [13].
UML based web engineering (UWE) was proposed by Hennicker and Koch in
2001 [14]. UWE is based on UML 1.X version and proposes a design process
for hypermedia design [14]. UWE uses its own notations and can be considered
as a best substitute for sketching [14]. OMMMA-L is visual language for the
object-oriented modeling of multimedia applications proposed by Sauer and
Engels in 1999. It can be considered as a heavyweight extension of UML with
static and dynamic elements [15]. Layout information has not been set up in the
metamodel in OMMMA-L [15].
In [16], author thinks UML’s inattention towards user interface development as
a severe crisis considering that the user interface is the system to most users.
Author thus suggested approaches to user interface flow modeling
(storyboarding) using UML, same kind of suggestions have already presented by
Craig Larman, Jim Connalen, Geri Winters [16]. UMLi approach defines
different graphical representations for domain elements and interactive elements
[17]. It provides different modeling for interaction objects and for tasks. UMLi’s
user interface diagram consists of 6 different constructors. These constructors
are for freecontainers, containers, inputters, displayers, editors and action
invokers. For abstract presentation models, UMLi also provides specialized
visualization [17].
PROPOSED METHOD
A Profile is a kind of Package that extends a reference metamodel [9]. The
primary extension construct is the Stereotype, which is a trimming that helps us
in defining new semantic implications of a modeling element. A profile can be
considered as a limited outline of a metamodel that ought to be connected to a
reference metamodel, and a profile cannot be used without its reference
metamodel [9]. Key value couples, called tagged values are associated with a
modeling element which allows to "tag" any value onto a modeling element.
[18]. Constraints are rules and can be expressed as free form text or with the
more formal Object Constraint Language (OCL) [18]. Our diagrams can be used
5
Form
Form
1 Form
* Compon Contain
FUTURE WORK
In this paper, we have presented a new profile for GUI layout to support
modeling of GUIs in UML-based software development processes. We have
also introduced new notations for commonly used GUI and given diagrams to
show the interaction between these objects. But all this work needs a lot of
manual effort. In future, we are planning to develop a tool for direct interaction
with single components in composite components. Also we can generate code
from different diagrams like sequence diagrams and hierarchical representation
of different objects. Code generated from diagrams will include all properties,
methods and conditions applied at design time.
CONCLUSION
UML is very popular language, being used for analysis and requirements
specifications purposes. It is a standardized diagramming language by Object
Management Group. UML provides a number of diagrams to model proposed
software from different prospective but it is not as helpful while modeling GUI
interactions. On the other hand GUIs are vital to the users of any software
system, as they are the only part of the system that is visible to the users and
they provide facility of interaction to users. In this research paper, we have tried
to present some new notations for commonly used GUI objects and proposed a
method to interact with simple single components in complex composite objects.
Also an example has been given in diagrammatic representation of sequence and
class diagram to explain the idea presented in proposed method.
REFERENCES
[1] OMG 2003a: UML 2.0 Infrastructure Final Adopted Specification (ptc/03-09-15).
[2] Myers 1993: Why are Human-Computer Interfaces Difficult to Design and Implement? Carnegie
Mellon University Technical Report CMU-CS-93-183, July 1993.
[3] Galitz 2002: The Essential Guide to User Interface Design, Second Edition. New York: John
Wiley & Sons.
[4] van der Veer & van Vliet 2001: A Plea for a Poor Man's HCI Component in Software
Engineering and Computer Science Curricula. In: Computer Science Education, Vol. 13, no 3
(Special Issue on Human-Computer Interaction), pp. 207-226.
[5] Newman & Landay 2000: Sitemaps, Storyboards, and Specifications: A Sketch of Web Site
Design Practice. In: Boyarski, D.; Kellogg, W. A. (Eds.): Proceedings of the Conference on
Designing Interactive Systems: Processes, Practices, Methods, Techniques. New York: ACM
Press, pp. 263-274.
[6] Hamadou Zourmba. (1999). Automating Management tasks within a distributed Network
Computing environment, Diploma Thesis, Institut fuer Kommunikations- und Softwaretechnik
, Fachgebiet Offene Kommunikationssystem (OKS) Franklinstrasse 28-29 , [Berlin].
[7] Jim Conallen. " Modeling Web Application Design with UML" itemweb. 8 Oct. 2009 <
http://www.itmweb.com/essay546.htm>.
[8] OMG 2003b: Unified Modeling Language: Diagram Interchange, version 2.0. Final Adopted
Specification (ptc/03-09-01).
8
[9] UML 2.1.2 Superstructure Specification, Object Management Group, Nov. 2007;
www.omg.org/spec/UML/2.1.2.
[10] Mohammed Elkoutbi , Rudolf K. Keller, User Interface Prototyping based on UML Scenarios
and High-level Petri Nets, In Application and Theory of Petri Nets 2000 (Proc. of 21 st Intl.
Conf. on ATPN), Springer-Verlag LNCS 1825.
[11] Blankenhorn, K. (2004): A UML Profile for GUI Layout. Master’s Thesis, Department of
Digital Media,
University of Applied Sciences Furtwangen.
[12] Boger et al. 2002: Diagram Interchange for UML. In: Jézéquel, J.-M. ; Hussmann, H.; Cook, S.
(Eds.): UML 2002 – The Unified Modeling Language 5th International Conference, Dresden,
Germany, September 30–October 4, 2002, Springer LNCS vol. 2460.
[13] Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In:
CHI Letters: Human Factors in Computing Systems, CHI 2000, pp. 510-517.
[14] Hennicker & Koch 2001: Modeling the User Interface of Web Applications with UML. In:
Evans, A.; France, R.; Moreira, A. (eds.) (2001): Practical UML-Based Rigorous Development
Methods - Countering or Integrating the eXtremists, Workshop of the pUML-Group at the
UML 2001. Gesellschaft für Informatik, Köllen Druck+Verlag, October 2001, pp. 158-172.
[15] Sauer & Engels 1999: Extending UML for modeling of multimedia applications, Proc. IEEE
Symposium on Visual Languages, Tokyo, September 13-16, 1999.
[16] Scott Ambler, “What's New in UML 2” Dr. Doob’s Portal, Feb 01, 2004
http://www.ddj.com/architect/184415097
[17] da Silva, P. P. and Paton, N. W. 2003. User Interface Modeling in UMLi. IEEE Softw. 20, 4
(Jul. 2003), 62-69. DOI= http://dx.doi.org/10.1109/MS.2003.1207457
[18] Conallen, J. 1999. Modeling Web application architectures with UML. Commun. ACM 42, 10
(Oct. 1999), 63-70. DOI= http://doi.acm.org/10.1145/317665.317677
[19] K. Blankenhorn and W. Walter, “Extending UML to GUI Modeling,” Mensch & Computer, pp.
307–308, 2004.
[20] Paulo S. C. Alencar, Donald D. Cowan, Carlos José Pereira de Lucena: A Formal Approach to
Architectural Design Patterns. FME 1996: 576-594