Modelling of Web Applications
Modelling of Web Applications
Tool support
Project
Management
Development
Process
Requirements
Engineering
Analysis and Design
Design & Quality
Product
SW Architecture Assurance
Implementation
(Web) software
development implies also
much effort in other Maintenance
activities rather than
implementation
Concepts
1993 HDM
1994
1995 RMM
HDM-Lite OOHDM
1996
1997 WSDM
1998
WAE
1999
WebML W2000
2000 UWE
2001 OOWS WAE2
Hera
2002
OO-H
2003
2004 Data-oriented
Hypertext-oriented
WebSA
2005 Object-oriented
Software-oriented
2006 ?
2007
Web Engineering – SS07 (4) – Knapp, Koch 5
Names of Methods
W2000
WAE / WAE2 Web Application Extension
WebML Web Modeling Language
WebSA Web Software Architecture
WSDM Web Site Design Method
Analysis Phase
specification of requirements
Analysis
Design Phase model
representation of the software to be built
technology/platform independent Design
technology/platform dependent model
Modelling
is a technique used in analysis and design
A model is a pattern, plan, uses
representation, or description
notation (syntax)
designed to show the structure or
graphical representation
workings of an object, system, or
language
concept.
process for building models
rules
guidelines
graphical editors
Web Engineering – SS07 (4) – Knapp, Koch 8
Dimensions of Web Modelling
levels
presentation
hypertext adaptivity
content
phases
structure requirements analysis design implementation
analysis
behaviour
aspects
Modelling process
information-driven ("content first")
presentation-driven ("layout first")
functionality-driven ("test first") agile process
Expressiveness
real-life cases should be expressible
frequently used design patterns should be captured
Ease of use
intuitive notation
clear semantics
consistency checks
Implementability
efficient mapping to physical data structures
effective generation of Web pages
flexible code generation from behavioural specifications
UWE comprises
a notation for the graphical representation of the model elements
a method (technique) supporting semi-automatic generation
a metamodel for UWE modelling elements
a process supporting the development life-cycle of Web applications
a case-tool supporting the development of Web applications
ArgoUWE editor for the design
set of transformations for model-to-model and model-to-code transformations
Inspired by www.mp3.com
offers albums for downloading
contains information about albums, songs, singer, composer, and publisher
this information is available for free
registered users can search albums and download them
for downloading they need to have enough credit on their prepaid account
accounts are rechargeable
provides a guided tour through the Web application
Use cases are the most appropriate/used technique for modelling requirements
Graphical visualization by UML use case diagram
to model required functionality
distinguishes between navigation and process use cases
Modeling constructs
«navigation»
«web process»
(in ArgoUWE normal use case)
RE UML Icon
Element Metaclass
Goals
to represent nodes and links of the hypertext structure
to design navigation paths
to avoid disorientation and cognitive overload
Result: navigation model
represented by a UML class diagram
uses specific modelling elements for Web concepts
Modelling elements
basic elements
access primitives
Other methodologies
own notation for hypertext elements
different diagram types: UML state diagram or own diagram type
Additional elements for the selection of one target navigation element from
a set of instances of a navigation element
index
guidedTour
query
Shortcuts for more complex constructs (if represented in UML without
extension)
Index specifies the direct access to all instances of the target by providing a
list of all elements from which one can be selected to continue navigating in
the Web application
contains an arbitrary number of
index items
each index item is an object which
has a name and owns a link to an
instance of a navigation class
UML stereotype: «index»
Query represents the possibility to search for instances of the target node
where instances are selected based on the property FilterExpression
UML stereotype: «query»
Process class represents the process through which the user will be guided in
the Web application
for complex process that require more than a single class, an additional process model
is built
UML stereotype: «process class»
Process link is used to model the association between a «navigation class» and
a «process class»
indicates entry points and exit points of processes within the navigation structure
UML stereotype: «process link»
Adaptation for
user properties: knowledge, tasks, preferences, interests
context properties: location (place and time) & platform (hw, sw, network)
Update of a user model / context model
observation of the user behaviour or environment by the system
Techniques for adaptation
content adaptation
inserting and removing text/multimedia features
content variants
navigation adaptation
link ordering
link annotation
link hiding
link generation
presentation adaptation
modality adaptation (audio or text)
language selection
layout variants (resizing of fonts, images, changing colours)
Specification of
pointcuts (including conditions) and
advices
Weaving the result into the web
application based on
current state of the user model
information provided by link traversal
Example: links only visible for
registered users to
download album
recharge
Advantages
no need to specify complete semantic of
new modelling elements
use of all UML CASE tools supporting
UML profiles for modelling Web
applications
where client and supplier denote the ends of the Dependency relationship