• No results found

3.2 Web Engineering Approaches

3.2.1 UML-Based Web Engineering (UWE)

UML-Based web engineering [Hennicker01Modeling] is a web engineering solution which uses the Unified Modeling Language (UML) as the graphical notation for its models. It is also influ- enced by other concepts developed by the consortium which is responsible for the UML standard, the Object Management Group (OMG). They include: [Koch06Transformations]

Model-Driven Architecture approach, MDA [OMG03MDA]: A system is first specified

using models which are independent of the platform, then the platform (e.g. “web appli- cation”) is specified, and finally a transformation is performed to convert the platform- independent model (PIM) into the platform-specific model (PSM).

XMI (XML Metadata Interchange): An XML dialect for the representation of modelsOCL (Object Constraint Language, [OMG06OCL]): A character-based language for the

specification of conditions that apply to a model

QVT (Queries/Views/Transformations): A standardized procedure for the transformation

of one type of model into another

UWE Development Method

The UWE development process is based on the Unified Process [Jacobson99UnifiedProcess]. In addition to its four phases inception, elaboration, construction and transition, UWE has a fifth phase, the maintenance phase [Koch00Adaptive, chapter 7]. During each phase, attention is paid to the peculiarities of web applications. For example, in the construction phase, the developer needs to concern himself with issues such as dynamic page generation possibilities, user behaviour observation and usability. The additional maintenance phase is necessary due to the fast technological development of the web and the role of websites as sources of up-to-date information – the application needs to be adapted to changes in the environment, and the content of the web pages needs to be updated.

The use of models plays a central role in the development of applications with UWE. Fig- ure 3.1 depicts the different models and the transformations between them. This stereotyped UML activity diagram shows models as object flow states and transformations as circle sym- bols. The more specific models are later generated from the more abstract ones. However, some of the more concrete models are also created directly by the developer, or are generated semi- automatically, i.e. they are based on an abstract model and then refined manually.

Development begins with the creation of requirements models [Koch02Expressive]. Use cases and task models are added to describe interactive aspects of the application. Later, a con- ceptual design as well as navigation and presentation models follow.

The UWE process does not prevent steps like rapid user interface prototyping or user tests from taking place. However, in the available literature on UWE, discussion of usability issues

:Requirements Model «CIM to PIM» Req2Functional CIM «CIM to PIM» Req2Architecture «PIM to PIM» FunctionalModel Transformations :Functional

Models :ArchitectureModels

«PIM to PIM» Functional2BigPicture :BigPicture Model «PIM to PIM» ArchitectureIntegration :Integration Model PIM PSM «PIM to PSM»

Integration2J2EE «PIM to PSM» Integration2.NET«PIM to PSM» :Model for

J2EE :... :Model for.NET

Figure 3.1: With UWE, a series of model transformations is used to turn abstract models into more concrete ones, e.g. for a technology like J2EE. [Koch06Transformations]

only plays a minor role. This may be deliberate because the original work on the Unified Process already touches on many usability-related aspects – however, obviously without a look at the domain of web applications.

UWE Models

UWE uses lightweight UML profiles to define its models. With stereotypes, meanings are as- signed to the different aspects that are modelled. Stereotype icons are provided to make it easier for the developer to distinguish between stereotypes. Where appropriate, the standard UML modelling facilities are used instead of specialized solutions. For example, the implementation is modelled using normal class diagrams. Moreover, the standard UML use case diagrams are available, and modelling of processes or tasks is achieved with activity diagrams. At the more concrete level of modelling, i.e. that of the platform-independent models which describe the web application, three major different kinds of models exist:

Conceptual model: This model is used to describe the data structures of the application from the programmer’s point of view. A normal UML class model without UWE-specific extensions is employed for this task.

visited articles ? ArticleByTitle ByPublication AuthorByName ByPublication Search ArticleByTitle publications authors AuthorByName Publication by Title searchArticles 1..* 1..* 1..* 1..* 1..* searchAuthors Search AuthorByName ? SearchVisited ArticleByTitle searchVisitedArticles ? articles Article ByTitle news NewArticle ByTitle 1..* Library Menu articles authors PublicationMenu VisitedArticle ByTitle Library Article «navigation class» Author ArticleByTitleByAuthor ByPublication 1..* articles AuthorMenu Publication {sorted} {sorted} «navigation class» «navigation class» «navigation class»

Figure 3.2: Example for a UWE navigation structure model. Stereotype icons are used instead of the names «index», «guided tour», «query» and «menu». [Koch02Expressive]

Navigation model: Hyperlinks are a feature which sets the web apart from other types of ap- plications. With UWE, two different types of models specify navigation of users between different parts of the application: Thenavigation space modelcontains details on the differ- ent types of objects that can be visited. The classes used by the model are typically a subset of those given in the conceptual model from the “implementor’s point of view”. However, there is a restriction to those classes that will be displayed to the user, and associations in the model represent navigation possibilities rather than data references. Thenavigation structure model(figure3.2) is a refinement of the navigation space model. It describes in greater detail how the user can reach objects, including information on patterns (such as “guided tour”) which characterize the way navigation should take place.

Presentation model: This model (figure3.3) is a UML composition diagram. For each type of web page (e.g. homepage, article view), stereotypes in the model illustrate the different types of data which should appear on the page. A special extension of the UWE presen- tation model is that the exact positions and sizes of diagram elements have meaning: The model determines not only which parts make up the page, but also the page composition, i.e. where to place the page elements.

There are provisions for adapting content to properties of the user (e.g. tasks, knowledge, background, interests) and to the context of use (e.g. location of the user, hardware platform,

Title Date Publication Complete Publication Authors ... Articles ... Keywords «presentation class»

Figure 3.3: The UWE presentation model for a certain type of web page describes the parts

that make up its content. [Koch02Expressive]

type of network access) [Baumeister05Adaptivity]. Consequently, a context model and a user model exist.

In the context model, the developer specifies the characteristics of the circumstances under which an application is used. This includes time and place of use and aspects of the rendering device and technologies that are used. There are no further details about the context model, for example no description of the exact properties that are modelled.

The user model is explained in [Koch00Adaptive, chapter 3] from the perspective of the primary domain of earlier UWE work, hypermedia e-learning applications. As a consequence, the user model concentrates on the representation of a learner’s knowledge about the topic that the system teaches. Modelling of other user properties is not mentioned, for example their age or literacy. As UML is the basis of all models, it would be possible to add such information to the models if the need arises.

UWE Tool Support

As all UWE models are fully integrated into UML, including the respective meta-models, lower- level models or code can be generated from the models by employing standard modelling tool solutions such as MagicDraw UML (http://www.magicdraw.com). Earlier UWE work, which predates the availability of today’s powerful commercial UML tools, also included prototypes for other tool concepts:

A tool named SmexWeb [Albrecht00SmexWeb] is provided as an example for an e-learning application, which was developed using the described method with the aim of adapting content depending on the user or context. It adapts web pages by changing the order of links, annotating them, deleting existent links or introducing new ones [Baumeister05Adaptivity]. At the time of writing (July 2007), the version found on http://smexweb.pst.ifi.lmu.de is not fully functional.

In the form of ArgoUWE [Knapp04ArgoUWE], the prototype of a modelling application is available – see figure 3.4 for a screenshot. It is based on the open-source ArgoUML editor and features special support for the creation of UWE models, using activity models to describe workflow-driven web applications, and an automated design critic for UWE models which can

Figure 3.4: ArgoUWE allows the user to create models for UWE. It also features a critique functionality which highlights potential problems in the models. [Knapp04ArgoUWE]

alert the user to inconsistencies or deficiencies in the models. A wizard can help the user to correct mistakes that he has made.

Finally, the generation of web applications from UWE models is also possible using an XML- based framework called UWEXML [Kraus02Generation].

The current UWE tools do not have features designed to help the developer to improve the usability of the website. ArgoUWE’s design critic could be used for this purpose, but the im- plemented critique algorithms concentrate on other aspects, e.g. well-formedness constraints of UWE models.