The document discusses the expressive power of UML for web engineering (UWE). [1] UWE uses UML for requirements analysis, conceptual modeling, navigation design, presentation design, web scenarios, task modeling, and deployment design. [2] UWE defines a UML profile for navigation and presentation design with stereotypes. [3] The authors aim to improve UWE through better tool support in ArgoUWE and semi-automatic code generation with UWEXML based on UML design models.
Axa Assurance Maroc - Insurer Innovation Award 2024
The Expressive Power of UML-based Web Engineering (UWE)
1. The Expressive Power of
UML-based Web Engineering
(UWE)
Nora Koch and Andreas Kraus
Ludwig-Maximilians University of Munich
Germany
IWWOST´2002, Málaga
2. Motivation
• UML is a graphical language for
specifying, constructing and documenting
software artifacts
• UML is a de facto industry and a OMG standard
• UML description includes: notation, metamodel,
OCL and semantics
How expressive is UML for
the development of Web applications?
IWWOST´2002
2 /19
3. Overview
• UWE Methodology
• UML “pure” vs. UML Profile
• UML for
4 Requirements Specification
4 Conceptual, Navigation & Presentation Design
4 Web Scenarios
4 Task Modeling
4 Web Application’s Deployment
• Conclusions & Future Work
IWWOST´2002
3 /19
4. UWE Methodology
UWE (UML-based Web Engineering) focuses on
4Systematization
4Personalization
4Semi-automatic generation of Web applications
UWE is an object-oriented, iterative and incremental
approach based on the Unified Process
[Jacobson, Booch & Rumbaugh, 1999]
UWE extends our UHDM [Baumeister, Hennicker, Koch
& Mandel, 1998-2000]
IWWOST´2002
4 /19
5. UWEXML Process Overview
• Semi-automatic generation using
an XML Publishing Framework
Analysis/Design Editor
• Analysis/Design editing with the
«trace»
extended UML modeling tool
ArgoUML
UWEXML Generator
• Processing of the XML design
model descriptions by the
UWEXML Generator
«refine» «refine»/
«import» • Deployment of
4 Presentation XML components
Application XML Publishing
Server Framework 4 RunTime Layer classes
4 EJBs templates & presentation
stylesheets IWWOST´2002
5 /19
6. UML “pure” vs. UML Profile
tool support &
• “pure” UML interchange
format
• “lightweight” extensions
• “heavyweight” extensions
4 Stereotypes
4 Tagged values «index»
article.date
NewArticles > user.lastVisit
4 Constraints {adaptation=annotated}
should be
• “heavyweight” extensions avoided
IWWOST´2002
6 /19
7. Object Constraint Language (OCL)
• OCL is used for specifying
4 Invariants
4 Pre & post-conditions
• OCL boolean expression language
4 Basic types & collection types integer, ... set, bag, ...
4 Access to attributes, roles, .. article.keyword
4 Operators +, =, >, implies
4 Quantifiers publication → forAll (...)
4 Pre-defined variables self
IWWOST´2002
7 /19
8. UML for Requirements Specification
• UML use cases & UML activity diagrams
• Example: Adaptive Online Library
Enter
article title user
Find activity
article Produce
article list
Find [count=1] [count=0]
Reader Display
publication
error
[count>1]
Find Select
author article
system
Display activity
Look at article
new articles
Registered
Reader IWWOST´2002
8 /19
11. UML for Navigation Design (2)
Library
UML stereotyped
query class diagrams
authors
Library • add index if
authors publications multiplicity > 1
Library
? Menu • move rolename
publications
authors
• add queries
menu
{annotated} • add menu (composition)
publications 1..* to navigation class if
authors Publication #outgoing associations
*
/keywords
>1
1..* authors
• menu items name =
rolenames
1..* Author
• add tagged values
authors index IWWOST´2002
11 /19
12. UML for Presentation Design
UML class diagrams
«presentation class»
Publication
4UML composition notation
to sketch the user interface
Title Date
4Modeling elements are the
stereotyped classes .
.
.
• «text» Complete Authors
• «button» Publication
• «image» .
.
• «anchor» .
• «anchored collection» Keywords Articles
• ...
4Sketches can be linked to
produce storyboards IWWOST´2002
12 /19
13. UML for Web Scenarios
UML statecharts diagrams
Library + LibraryMenu • To detail parts of
displayed
name submitted navigation &
[searchResult = 0]
menu item 2 selected presentation
SearchAuthorByName • To show control of
displayed synchronisation by
back to home
name submitted multi-windows
[searchResult > 1]
name submitted
AuthorByName [searchResult = 1]
displayed / present author
guard condition
author action
selected Author + AuthorMenu
displayed
transition = state =
IWWOST´2002
user‘s behavior page displayed 13 /19
14. UML for Task Modeling (1)
• Task modeling stems from the HCI field
• A task is composed by subtasks and/or actions that the user
performs to achieve a goal
UML activity = task
«refine» dependency Delete
used for task publication task input/output
decomposition as object flows
«refine»
[p <> null] «presentation class»
Search DoDelete :Delete
publication [ p = null] publication Publication_OK
temporal order (with branches) IWWOST´2002
between tasks
14 /19
15. UML for Task Modeling (2)
UML activity diagrams as
Delete
„Roadmaps“ of user publication
interaction with the system
«refine»
[p <> null]
Search DoDelete
publication [p = null] publication
«refine» «presentation class»
«presentation class»
:Delete :Delete
Publication_Error Publication_OK
Enter Select publication
publication name from list
p:Publication
«presentation class» «presentation class»
IWWOST´2002
pn:PublicationName pl:PublicationList 15 /19
16. UML for Web Application’s Deployment
UML deployment diagram used
to document distribution of : Web Browser
Web application components physical node
«client page»
UML dependency Publication
«use»
: Application : Web Server
Server
«use»
UML
«EJB» «JSP»
component
Publication Publication
«realize» «realize» design class
«trace» «presentation class»
IWWOST´2002
Publication Publication
16 /19
17. Conclusions
• UWE supports UML-based design for
Web applications
• UWE uses UML “pure” for
4 requirements analysis
4 conceptual model
4 deployment design
4 Web scenarios
4 task modeling
• UWE defines a UML Profile for
4 navigation design
4 presentation design
IWWOST´2002
17 /19
18. Future Work
We focus on the improvement of UWE
• Case-tool support ArgoUML → ArgoUWE
• UWEXML for the semi-automatic generation
based on design models
IWWOST´2002
18 /19
19. Thanks for your attention!!
Questions?
For further comments...
kochn@informatik.uni-muenchen.de
krausa@informatik.uni-muenchen.de
IWWOST´2002
19 /19