Enviar búsqueda
Cargar
UML-based Web Engineering (UWE)
•
10 recomendaciones
•
6,868 vistas
elliando dias
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 82
Descargar ahora
Descargar para leer sin conexión
Recomendados
IaaS, SaaS, PasS : Cloud Computing
IaaS, SaaS, PasS : Cloud Computing
Software Park Thailand
Hyper Media
Hyper Media
Vahideh Zarea Gavgani
Custom Controls in ASP.net
Custom Controls in ASP.net
kunj desai
Unified Modeling Language
Unified Modeling Language
Debajyoti Biswas
Uml diagrams
Uml diagrams
barney92
UML
UML
Ashish Jha
Object Oriented Design
Object Oriented Design
Pramod Parajuli
Documenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
Recomendados
IaaS, SaaS, PasS : Cloud Computing
IaaS, SaaS, PasS : Cloud Computing
Software Park Thailand
Hyper Media
Hyper Media
Vahideh Zarea Gavgani
Custom Controls in ASP.net
Custom Controls in ASP.net
kunj desai
Unified Modeling Language
Unified Modeling Language
Debajyoti Biswas
Uml diagrams
Uml diagrams
barney92
UML
UML
Ashish Jha
Object Oriented Design
Object Oriented Design
Pramod Parajuli
Documenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
Activity diagram-UML diagram
Activity diagram-UML diagram
Ramakant Soni
Class diagrams
Class diagrams
Nadia_Nazeer
Eucalyptus, Nimbus & OpenNebula
Eucalyptus, Nimbus & OpenNebula
Amar Myana
Uml
Uml
Vishwa Mohan
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
sundas Shabbir
Sequence diagram- UML diagram
Sequence diagram- UML diagram
Ramakant Soni
Software Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
Ooad lab manual
Ooad lab manual
Praseela R
Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine
camunda services GmbH
3 tier architecture
3 tier architecture
baabtra.com - No. 1 supplier of quality freshers
4+1 view model
4+1 view model
Shobana Chokkalingam
Aneka platform
Aneka platform
Shyam Krishna Khadka
Domain specific Software Architecture
Domain specific Software Architecture
DIPEN SAINI
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
azida3
1.1 The nature of software.ppt
1.1 The nature of software.ppt
JAYAPRIYAR7
Uml Presentation
Uml Presentation
mewaseem
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
Raval Chirag
Introduction to UML
Introduction to UML
Emertxe Information Technologies Pvt Ltd
software engineering
software engineering
Tayfun Çelik
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
UML-Based Web Engineering
UML-Based Web Engineering
elliando dias
Batch 21(14,64,66)
Batch 21(14,64,66)
swethadln
Más contenido relacionado
La actualidad más candente
Activity diagram-UML diagram
Activity diagram-UML diagram
Ramakant Soni
Class diagrams
Class diagrams
Nadia_Nazeer
Eucalyptus, Nimbus & OpenNebula
Eucalyptus, Nimbus & OpenNebula
Amar Myana
Uml
Uml
Vishwa Mohan
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
sundas Shabbir
Sequence diagram- UML diagram
Sequence diagram- UML diagram
Ramakant Soni
Software Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
Ooad lab manual
Ooad lab manual
Praseela R
Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine
camunda services GmbH
3 tier architecture
3 tier architecture
baabtra.com - No. 1 supplier of quality freshers
4+1 view model
4+1 view model
Shobana Chokkalingam
Aneka platform
Aneka platform
Shyam Krishna Khadka
Domain specific Software Architecture
Domain specific Software Architecture
DIPEN SAINI
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
azida3
1.1 The nature of software.ppt
1.1 The nature of software.ppt
JAYAPRIYAR7
Uml Presentation
Uml Presentation
mewaseem
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
Raval Chirag
Introduction to UML
Introduction to UML
Emertxe Information Technologies Pvt Ltd
software engineering
software engineering
Tayfun Çelik
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
La actualidad más candente
(20)
Activity diagram-UML diagram
Activity diagram-UML diagram
Class diagrams
Class diagrams
Eucalyptus, Nimbus & OpenNebula
Eucalyptus, Nimbus & OpenNebula
Uml
Uml
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
Sequence diagram- UML diagram
Sequence diagram- UML diagram
Software Architecture: views and viewpoints
Software Architecture: views and viewpoints
Ooad lab manual
Ooad lab manual
Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine
3 tier architecture
3 tier architecture
4+1 view model
4+1 view model
Aneka platform
Aneka platform
Domain specific Software Architecture
Domain specific Software Architecture
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
1.1 The nature of software.ppt
1.1 The nature of software.ppt
Uml Presentation
Uml Presentation
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
Introduction to UML
Introduction to UML
software engineering
software engineering
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
Similar a UML-based Web Engineering (UWE)
UML-Based Web Engineering
UML-Based Web Engineering
elliando dias
Batch 21(14,64,66)
Batch 21(14,64,66)
swethadln
Towards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web Applications
elliando dias
Chapter9
Chapter9
Dang Tuan
Uml basics
Uml basics
Naga Muruga
Mule ESB
Mule ESB
Khasim Cise
3.UML Diagrams.pptx
3.UML Diagrams.pptx
MuhammadIrfan713783
Model-Driven Development of Web Applications
Model-Driven Development of Web Applications
idescitation
Metamodels evaluation of web engineering methodologies to develop web applica...
Metamodels evaluation of web engineering methodologies to develop web applica...
IJCSEA Journal
MDD and modeling tools research
MDD and modeling tools research
Roger Xia
Esb Overview
Esb Overview
mdfkhan625
Axel uhl sap@md-day2011
Axel uhl sap@md-day2011
MDDAY11
Esb
Esb
Rajkattamuri
Fundamentals of Mule Esb
Fundamentals of Mule Esb
Praneethchampion
UML - Unified Modelling Language
UML - Unified Modelling Language
Anoop VJ
l1_introuml.pdf
l1_introuml.pdf
KalsoomTahir2
Introduction to the Unified Modeling Language (UML)
Introduction to the Unified Modeling Language (UML)
Marwa Ali Eissa
Web technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
Introduction To Uml
Introduction To Uml
guest514814
2. uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000
eudal
Similar a UML-based Web Engineering (UWE)
(20)
UML-Based Web Engineering
UML-Based Web Engineering
Batch 21(14,64,66)
Batch 21(14,64,66)
Towards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web Applications
Chapter9
Chapter9
Uml basics
Uml basics
Mule ESB
Mule ESB
3.UML Diagrams.pptx
3.UML Diagrams.pptx
Model-Driven Development of Web Applications
Model-Driven Development of Web Applications
Metamodels evaluation of web engineering methodologies to develop web applica...
Metamodels evaluation of web engineering methodologies to develop web applica...
MDD and modeling tools research
MDD and modeling tools research
Esb Overview
Esb Overview
Axel uhl sap@md-day2011
Axel uhl sap@md-day2011
Esb
Esb
Fundamentals of Mule Esb
Fundamentals of Mule Esb
UML - Unified Modelling Language
UML - Unified Modelling Language
l1_introuml.pdf
l1_introuml.pdf
Introduction to the Unified Modeling Language (UML)
Introduction to the Unified Modeling Language (UML)
Web technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Introduction To Uml
Introduction To Uml
2. uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000
Más de elliando dias
Clojurescript slides
Clojurescript slides
elliando dias
Why you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
elliando dias
Nomenclatura e peças de container
Nomenclatura e peças de container
elliando dias
Geometria Projetiva
Geometria Projetiva
elliando dias
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
Javascript Libraries
Javascript Libraries
elliando dias
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
Ragel talk
Ragel talk
elliando dias
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
Introdução ao Arduino
Introdução ao Arduino
elliando dias
Minicurso arduino
Minicurso arduino
elliando dias
Incanter Data Sorcery
Incanter Data Sorcery
elliando dias
Rango
Rango
elliando dias
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
elliando dias
Hadoop + Clojure
Hadoop + Clojure
elliando dias
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
Más de elliando dias
(20)
Clojurescript slides
Clojurescript slides
Why you should be excited about ClojureScript
Why you should be excited about ClojureScript
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
Nomenclatura e peças de container
Nomenclatura e peças de container
Geometria Projetiva
Geometria Projetiva
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
Javascript Libraries
Javascript Libraries
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
Ragel talk
Ragel talk
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
Introdução ao Arduino
Introdução ao Arduino
Minicurso arduino
Minicurso arduino
Incanter Data Sorcery
Incanter Data Sorcery
Rango
Rango
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
Hadoop + Clojure
Hadoop + Clojure
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
Último
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
AndikSusilo4
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Neo4j
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Último
(20)
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Slack Application Development 101 Slides
Slack Application Development 101 Slides
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
UML-based Web Engineering (UWE)
1.
UML-based Web Engineering
(UWE) Software engineering approach for Web domain Based on OMG standards, such as UML, MDA, OCL, XMI, … Domain specific modeling language (DSL) MOF-based metamodel, OCL constraints Open source CASE tool support Sevilla – June 2007 – Nora Koch © 15
2.
UWE in a
Nutshell UWE is a an engineering approach for the development of Web applications Main characteristic is the use of UML for all models “pure” UML whenever possible UML extension for Web specific features UML profile Focuses on systematisation and automatic generation UWE comprises a modelling language for the graphical representation of models of Web applications 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 Sevilla – June 2007 – Nora Koch © 16
3.
Modelling Language UWE Sevilla
– June 2007 – Nora Koch © 17
4.
Why UML?
UML is a graphical language for specifying, constructing and documenting software artifacts UML is a de facto industry standard and an OMG standard UML includes notation diagram types Object Constraints Language (OCL) metamodel well-formedness rules UML does not provide a development process How expressive is UML for the development of Web applications? UML does not include specific Web model elements UML defines extension mechanisms UML profiles Sevilla – June 2007 – Nora Koch © 18
5.
“Pure” UML for
Modelling Web Applications Use of UML (without extension) whenever possible Example: UML deployment diagram used to : Web Browser document physical nodes Client distribution of web components ShoppingCart physical node UML dependency «use» : Application : Web Server Server «use» DB JSP ShoppingCart ShoppingCart UML component «realize» «realize» design class «trace» «presentation class» ShoppingCart ShoppingCart Sevilla – June 2007 – Nora Koch © 19
6.
UML Profiles
UML extension is called a UML profile if based on extension mechanisms provided by UML stereotypes for new metaclasses domain specific: EJB «bean», «session», «entity», … defined in the UML: «metaclass», «trace», «file», … tagged values for metaattributes OCL constraints for invariants, pre- and postconditions eases UML profile = light weight extension tool support Heavy weight extension uses other diagram types not defined in the UML uses different notation Sevilla – June 2007 – Nora Koch © 20
7.
Analysis and Design
Models in UWE Analysis models of a Web application functional requirements are specified by use case model workflows data (content) requirements are specified by domain model Design models of a Web application information aspects content model hypertext structure and navigation functionality navigation model layout schema presentation model functionality process model adaptivity model Sevilla – June 2007 – Nora Koch © 21
8.
Example: Simple Music
Portal 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 Sevilla – June 2007 – Nora Koch © 22
9.
Modelling Requirements with
UWE 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) Sevilla – June 2007 – Nora Koch © 23
10.
Modelling Business Processes
Business process can be modelled as workflows Workflows are visualized by UML activity diagram set of actions control flow elements as decisions, merges, forks, joins, etc. object flows including relevant objects (instance of classes) Example: Download Album RE UML Icon Element Metaclass ? Sevilla – June 2007 – Nora Koch © 24
11.
Content Modelling
Representation with “pure” UML is sufficient no additional semantics required UML class diagram UML class diagrams used at analysis-level and design-level domain concepts represented by classes units of information users of the system (user model) relationship between concepts represented by associations whole/part relationship shown by aggregations and composition hierarchical dependencies depicted by generalization/specialization (inheritance) multiplicities … Sevilla – June 2007 – Nora Koch © 25
12.
Navigation Modelling
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 Sevilla – June 2007 – Nora Koch © 26
13.
Basic Navigation Elements
Navigation elements used to model the core hypertext structure navigation class specifies a hypertext node visited by a user through browsing (related to a content class) navigation link specifies a hyperlink used to access the target navigation object from the source navigation object Stereotypes for basic navigation elements «navigation class» «navigation link» Sevilla – June 2007 – Nora Koch © 27
14.
Navigation Model: Hypertext
Structure Sevilla – June 2007 – Nora Koch © 28
15.
Access Primitives
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) Sevilla – June 2007 – Nora Koch © 29
16.
Access Primitive: Index
Index specifies 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» Sevilla – June 2007 – Nora Koch © 30
17.
Access Primitives: Query
and Guided Tour Query represents the possibility to search for instances of the target node where instances are selected based on the property FilterExpression UML stereotype: «query» GuidedTour provides sequential access to instances of the target node order in the sequential access is given by a property SortExpression different options may be specified circular access to the instances access is triggered by a user-interaction UML stereotype: «guidedTour» Sevilla – June 2007 – Nora Koch © 31
18.
Navigation Model Elements:
Menu and External Links Menus are used to structure the outgoing links from a node associated to a navigation class by composition consists of a set of links to heterogeneous elements, such as indexes, guided tours, queries, instances instances of navigation classes or other menus UML stereotype: «menu» External Links are links pointing to nodes that do not belong to the Web application UML stereotype:«external link» Sevilla – June 2007 – Nora Koch © 32
19.
Navigation Model: Hypertext
Structure Sevilla – June 2007 – Nora Koch © 33
20.
Modelling Navigation
Systematic enhancement of the navigation structure model by indexes for all navigation links which have multiplicity > 1 at the directed association end menus for all navigation classes with more than 1 outgoing association Design decision to include guided tour instead of index queries tagged value home to indicate starting point of the application (node without ingoing links) tagged value landmark to indicate that a node is reachable from everywhere (all other nodes include a link to the landmark node) Construction of views of the navigation space partial views if the number of nodes is large different views for different users different views for different environments Sevilla – June 2007 – Nora Koch © 34
21.
Modelling Processes in
UWE Navigation model of a Web application represents the static information structure accessible to a user of the system specifies browsing (navigation) functionality Process model represent the dynamic aspects of a Web application specifies functionality, such as transactions and complex workflows of activities Process modelling consists of definition of process classes (for non-navigation use cases) integration of these process classes in the navigation model description of the behaviour through a process flow represented as UML activity diagram Sevilla – June 2007 – Nora Koch © 35
22.
Process Elements
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» Sevilla – June 2007 – Nora Koch © 36
23.
Navigation Model: Including
Web Processes Sevilla – June 2007 – Nora Koch © 37
24.
Modelling the Process
Flow The behavior of a Web process is defined by the process flow model represented by an UML activity diagram result of the refinement of the activity diagram drawn for requirements specification no need of use of stereotypes Process flow consists of flow of execution represented by activity nodes connected by activity edges control nodes that provide flow-of-control constructs, such as decisions and synchronization object nodes that represent data flowing along object flow edges or pins associated to the actions semantic of activities is based on control and data token flows, similar to Petri nets Sevilla – June 2007 – Nora Koch © 38
25.
Requirements: UML Activity
Diagrams for Login Sevilla – June 2007 – Nora Koch © 39
26.
Process Model: UML
Activity Diagram: Login Sevilla – June 2007 – Nora Koch © 40
27.
Modelling Presentation
Representation of layout for the underlying navigation and process models is an abstract presentation concrete presentation requires specification of additional physical properties of the layout colour position Presentation classes represent Web pages or part of pages composition of user interface elements hierarchical composition of presentation elements UML class diagram for the structure of the presentation using UML container notation UML interaction diagram (sequence diagrams) used for modelling behaviour of presentation classes (classical UML) Alternative: development of a prototype Sevilla – June 2007 – Nora Koch © 41
28.
Presentation Model Elements
«presentation class» groups a set of user interface elements representing a logic unit of presentation «page» is a presentation class that contains all elements that will be presented together to the user as response to one request user interface elements «anchor» «text» «image» «form» «anchored collection» … Sevilla – June 2007 – Nora Koch © 42
29.
Modelling Adaptivity
UWE uses a technique called Aspect-Oriented Modelling (AOM) for the construction of models to specify adaptive Web applications What are adaptive Web applications? What is AOM? Sevilla – June 2007 – Nora Koch © 43
30.
Adaptive Web Applications
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) Sevilla – June 2007 – Nora Koch © 44
31.
Aspect-Oriented Modelling (AOM)
in a Nutshell AOM identifies and defines join point: well-defined place in a model / program where additional features can be attached pointcut: set of join points advices: feature to add/execute at a join point AOM specifies a weaving process (composition) of core functional modules (elements of a pointcut) aspects (defined by an advice) Sevilla – June 2007 – Nora Koch © 45
32.
Modelling Adaptivity
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 Sevilla – June 2007 – Nora Koch © 46
33.
Outline
Web Engineering Methodologies Modelling of Web Applications UWE Approach Modelling Language CASE Tool Metamodel Development Process Sevilla – June 2007 – Nora Koch © 47
34.
CASE Tool ArgoUWE Sevilla
– June 2007 – Nora Koch © 48
35.
Tool Support for
UWE Goal support of UWE notation for design of Web applications separation of concerns (navigation, process, presentation,…) implementation of UWE development process allowing for semi-automatic model generation support of model validation checking models consistency code generation Sevilla – June 2007 – Nora Koch © 49
36.
ArgoUWE
Extension of ArgoUML advantages open source UML CASE tool design critics for checking model consistency XMI output as basis for code generation disadvantages still based on UML 1.x inherited usability problems Implemented as a plugin for ArgoUML 0.16 extends the NSUML library with the UWE metamodel developed within the scope of a couple of diploma theses Main difficulty lack of ArgoUML evolution towards UML 2.0 Currently we are developing plugins for other CASE tools Sevilla – June 2007 – Nora Koch © 50
37.
Model Validation
Consistency checks for model correctness ArgoUML offers cognitive design critics background thread warning mechanism for model inconsistencies wizard for design improvement uses critics pane for the critiques displays wizards comments in detail pane ArgoUWE extends the design critics features inherits from ArgoUML (e.g. name collision) is extended by wellformedness constraints of UWE (e.g. relationship between use case and process model) Sevilla – June 2007 – Nora Koch © 51
38.
Modelling with UWE
Stereotypes Sevilla – June 2007 – Nora Koch © 52
39.
Modelling Navigation with
ArgoUWE Sevilla – June 2007 – Nora Koch © 53
40.
Metamodel for UWE Sevilla
– June 2007 – Nora Koch © 54
41.
UWE Metamodel
UWE Metamodel is defined as a conservative extension of UML 2.0 model elements of the UML metamodel are not modified all new elements are related by inheritance to at least one model element of the UML use of OCL to specify additional semantics of the new elements UWE extension Core Adaptivity Sevilla – June 2007 – Nora Koch © 55
42.
UWE Metamodel Characteristics
UWE metamodel reflects separation of concerns in the structure of Core shows cross-cutting aspect of adaptation UWE metamodel is profileable mapping to a UML profile is possible UWE metamodel is MOF compatible uses XML metadata interchange format (XMI) Sevilla – June 2007 – Nora Koch © 56
43.
UWE Metamodel: Requirements
Model Model elements grouped in packages WebRE Behaviour WebRE Structure Defines relationships among elements inheritance (e.g. search defined as an extended browse) associations (e.g. a browse requires a source and a target node) Defines invariants (OCL constraints) context Search inv: self.parameters -> forAll (p | p.location -> includes (self.source)) (see stereotypes used in the example) Sevilla – June 2007 – Nora Koch © 57
44.
UWE Profile: Requirements
UML stereotype for each concept of the requirements package of the UWE metamodel Extends relationship UML metaclass Advantages no need to specify complete semantic of new modelling elements use of all UML CASE tools supporting UML profiles for modelling Web applications Sevilla – June 2007 – Nora Koch © 58
45.
UWE Metamodel: Navigation
(see stereotypes used in the example) Sevilla – June 2007 – Nora Koch © 59
46.
UWE Profile: Navigation
UML stereotypes for Web specific concepts used for the specification of the hypertext structure Extends relationships UML metaclasses Sevilla – June 2007 – Nora Koch © 60
47.
Meta-associations of the
Metamodel Representation using associations derived from the UML metamodel association {subsets target} for association between NavigationLink and NavigationClass association {subsets ownedProperty} for composition between NavigationClass and NavigationProperty Representation stereotyping UML metaclass Dependency aggregation between NavigationClass and Menu association between AccessPrimitive and NavigationProperty, leading to the following constraint context Dependency inv: self.stereotypes-> includes(quot;Primitive2Propertyquot;) implies (self.client.stereotypes-> includes(quot;AccessPrimitivequot;) and self.supplier.stereotypes-> includes(quot;NavigationPropertyquot;)) where client and supplier denote the ends of the Dependency relationship Sevilla – June 2007 – Nora Koch © 61
48.
UWE Metamodel: Presentation
(see stereotypes used in the example) Sevilla – June 2007 – Nora Koch © 62
49.
UWE Profile: Presentation Sevilla
– June 2007 – Nora Koch © 63
50.
UML Extension for
Aspects Lightweight extension of UML An Aspect stereotype as an extension of UML metaclass Package composing Pointcut package that references to all model elements on which Advice package is applied Pointcut and Advice packages may contain OCL constraints detailing conditions for the application of the aspect effects of the aspect Sevilla – June 2007 – Nora Koch © 64
51.
UWE Metamodel: Adaptivity
NavigationAnnotation stereotype to model link adaptation related to Link navigation annotations are attached to navigation links Sevilla – June 2007 – Nora Koch © 65
52.
UWE Development Process Sevilla
– June 2007 – Nora Koch © 66
53.
Evolution
1999 - 2003 based on the Unified Process (UP) development is supported by a set of workflows based on concepts of role, activity, artifact, tool, ... 2003 – 2004 incorporation of elements of agile process since 2005 based on the model-driven development (MDD) principles Model-Driven Architecture (MDA) standard of the OMG Sevilla – June 2007 – Nora Koch © 67
54.
Model-Driven Development Approaches
MDD approaches based on models and model transformations MDD approaches require languages for specification of models MDD description of metamodels definition of model transformations Model transformations MDD in the Web Domain Meta models Models several methods propose modelling OOHDM, OO-H, UWE, WebML, Hera,… separation of concerns similar Web specific modeling elements different notations some methods define metamodels for modelling languages OO-H, UWE, W2000, WebML, … few approaches address model transformations OOWS, UWE, WebSA, … Sevilla – June 2007 – Nora Koch © 68
55.
MDD Principles: Models
and Metamodels Models computational independent model (CIM) «metamodel» M3 platform independent model (PIM) MOF platform specific model (PSM) Metamodels «instantiate» definition of concepts and relationships among concepts «metamodel» UML compatibility with the OMG metamodelling architecture M2 MOF meta-metamodel «metamodel» XMI interchange format → tool compatibility UWE (theoretically) static semantics given by OCL constraints (well-formedness rules) «instantiate» basis for tool support UWE Application M1 Model Sevilla – June 2007 – Nora Koch © 69
56.
MDD Principles: Model
Transformations Model transformations CIM PIM, PIM PIM, PIM PSM Model transformation languages general programming languages Java graph transformation languages Attribute Graph Grammar (AGG) query/view/transformation languages QVT ATL OMG standards MOF, UML, OCL, XMI, QVT Sevilla – June 2007 – Nora Koch © 70
57.
Model Transformations
Translate between source and target models instances of same or different metamodel Translation performed by a transformation engine Transformation engine executes rules Transformation rules are defined at metamodel level applied at model level Set of rules seen as a model with a metamodel Metamodels are based on a metametamodel Model transformation pattern (J. Bézivin, 2004) Sevilla – June 2007 – Nora Koch © 71
58.
Model Transformations
Translate between source and target models Instances of same or different metamodel Translation performed by a transformation engine Transformation engine executes rules Transformation rules are defined at metamodel level applied at model level Set of rules seen as a model with a metamodel Metamodels are based on a metametamodel Model transformation pattern (J. Bézivin, 2004) Sevilla – June 2007 – Nora Koch © 72
59.
Model-Driven Process of
UWE Graphical representation of the process process as UML activity diagram model transformations as stereotyped UML actions models as UML object flow states implicit initial and final state Types of models in UWE requirements model (CIM) functional models (PIM) content model navigation model … architecture models (PIM) integration models (PIM) models for J2EE, .Struts (PSM) Sevilla – June 2007 – Nora Koch © 73
60.
UWE Development Process Requirements
to Functional Models Sevilla – June 2007 – Nora Koch © 74
61.
Music Portal Example
(excerpt) Requirements model UML use case diagrams UML activity diagrams Web requirements engineering profile (WebRE) WebUser, navigation, WebProcess browse, search, … content, node, … Sevilla – June 2007 – Nora Koch © 75
62.
Transformation Requirements to
Content (1) Source: requirements model (UML activity diagram) objects input for Web actions objects result of Web actions Target: content model classes of the content model Profile-based transformation Sevilla – June 2007 – Nora Koch © 76
63.
Transformation Requirements to
Content (2) Model transformation language Query View Transformation (QVT) textual notation Transformation rule transformation ReqContent2ContentClass (webre:WebRE,uwe:UWE) { top relation R1 { checkonly domain webre c: Content {name = n}; enforce domain uwe cc: Class {name = n}; } top relation R2 {cn: String; checkonly domain webre p: Property {namespace=c: Content{}, name = cn}; enforce domain uwe p1: Property {namespace = cc: Class{}; name = cn } when {R1 (c,cc);} } } Sevilla – June 2007 – Nora Koch © 77
64.
Transformation Requirements to
Navigation Elements (1) Source: requirements model (UML activity diagram) search action content and node object flow states Target: navigation model query and index class navigation class navigation link Pattern-based transformation Sevilla – June 2007 – Nora Koch © 78
65.
Transformation Requirements to
Navigation Elements (2) Model transformation language QVT graphical notation Transformation rule Sevilla – June 2007 – Nora Koch © 79
66.
Construction of Functional
Models UWE metamodel and UWE profile navigation elements: navigation class, navigation link, index, … presentation elements: presentation class, anchor, image, … Case tool ArgoUWE extension of ArgoUML provides stereotypes supports (semi-)automatic execution of transformations Sevilla – June 2007 – Nora Koch © 80
67.
Transformation Content to
Navigation (1) Content2Navigation generates navigation classes from content classes adds a navigation links based on associations of the content model Marking elements identification of classes of the content model that are relevant for the navigation view task performed by designer Semi-automatic transformation Sevilla – June 2007 – Nora Koch © 81
68.
Transformation Content to
Navigation (2) Implementation Java within CASE tool ArgoUWE ATL (ATLAS Transformation Language) ATL transformation rule rule Class2NavigationClass { from c : UWE!Class ( c.oclIsTypeOf( UWE!Class ) ) to nc : UWE!NavigationClass ( name <- c.name, ownedAttribute <- c.ownedAttribute->select( p | p.association.oclIsUndefined() ) ) } Sevilla – June 2007 – Nora Koch © 82
69.
Refinement of Navigation
Model Improvement based on patterns index for associations with multiplicity greater than one at the directed association end menu for navigation classes with multiple outgoing associations Implementation Java in ArgoUWE ATL Sevilla – June 2007 – Nora Koch © 83
70.
Integration with Architecture
Models Web Software Architecture (WebSA) approach* domain specific language for modelling architectural views of Web applications subsystem model Web Functional Viewpoint Web Architectural Viewpoint configuration model integration model Functional Subsystem Configuration Models Model Model (OO-H,UWE) UML profile of architectural modelling elements Analysis T1 Web component Merge Models to Model Web port Transformation Web connector Platform Integration Model server page, Independent Design etc. QVT-like transformations T2 T2' T2'’ Implementation J2EE models .NET models Other models *Santiago Melía, University of Alicante, PhD Thesis (2007) Sevilla – June 2007 – Nora Koch © 84
71.
Generating “Big Picture”
Model Generation of an integrated functional model (“big picture” ) transformation target UML state machine for integration of content, navigation and process models graph transformation language tool: Attributed Graph Grammar System (AGG) validation of correctness by model checking Sevilla – June 2007 – Nora Koch © 85
72.
Big Picture: Transformation
of Navigation Model capture navigation nodes as states (with parameters for data) Example: music portal: transformation for navigation node “song” Sevilla – June 2007 – Nora Koch © 86
73.
Big Picture: Transformation
of Business Process Sevilla – June 2007 – Nora Koch © 87
74.
Big Picture: Example
Transformation of Business Process Sevilla – June 2007 – Nora Koch © 88
75.
Model Validation
Model transformations for Web applications based on UWE and its UML-based metamodel Graph transformations into integrating UML state machine Model validation by model checking using Hugo/RT (http://www.pst.ifi.lmu.de/projekte/hugo) Automation of transformation process using Attribute Graph Grammars (AGG) Sevilla – June 2007 – Nora Koch © 89
76.
Generation of Web
Applications UWE uses a transformational approach to generate data model and presentation layer based on content, navigation structure and presentation models transformation rules from UWE content model to Java beans transformation rules from UWE presentation model to Java Server Pages (JSPs) UWE uses an interpretational approach using a virtual machine to interpret the process model (activity diagrams) configuration data for the virtual machine is generated from process and navigation model Implemented so far using the Spring framework transformations defined in ATLAS Transformation Language (ATL) Sevilla – June 2007 – Nora Koch © 90
77.
Features of Model
Transformations MDD Type CIM to PIM, PIM to PIM, PIM to PSM Complexity simple, merge Use of marks types, stereotypes, patterns, explicit marks Execution type automatic, semi-automatic, manual Implementation technique general programming language graph transformation model transformation language Sevilla – June 2007 – Nora Koch © 91
78.
Classification of UWE
Model Transformations Characteristics Type Complexity Marks Execution Techniques Transformation Req2Content CIM to PIM simple WebRE profile automatic QVT Req2Architecture CIM to PIM simple - manual - Content2Navigation PIM to PIM simple navigation semi- Java, ATL relevance automatic NavigationRefinement PIM to PIM simple UWE profile & automatic Java patterns Req2Navigation CIM to PIM merge WebRE profile automatic QVT Navigation2Presentation PIM to PIM simple UWE profile automatic Java, ATL StyleAdjustment PIM to PIM merge style guide automatic Java Functional2BigPicture PIM to PIM merge patterns automatic graph trans- formations Functional&Architecture2 PIM to PIM merge UWE & WebSA automatic QVT-P Integration profile Integration2J2EE PIM to PSM merge patterns automatic QVT-P, ATL Sevilla – June 2007 – Nora Koch © 92
79.
UWE: Current State
and Future Work Focus on systematisation and automatic generation Following the model-driven approach Use of UML notation for graphical representation Ongoing work Main focus on case-tool support Final objective to cover all relevant aspects in the development life- cycle of Web applications Sevilla – June 2007 – Nora Koch © 93
80.
Summary
Web engineering methodologies since 1993 many methods data-oriented, hypertext-oriented, object-oriented, software-oriented WebML, WSDM, OOHDM, UWE, WAE,… Modelling of Web applications four dimensions by modelling Web applications UWE is a modelling language UML Profile for modelling navigation, presentation, process, adaptivity, … UWE has a metamodel conservative and profileable UWE defines a model-driven development process based on model transformations focus on the use of model transformation languages such as ATL and QVT Sevilla – June 2007 – Nora Koch © 94
81.
Literature
Web Engineering: Systematic Development of Web Applications Gerti Kappel, Birgid Pröll, Siegfried Reich, Werner Retschitzegger (eds.) dpunkt-verlag (German version), 2003, John Wiley & Sons (English version), 2006. Web Engineering: Modelling and Implementing Web Applications G. Rossi, O. Pastor, D. Schwabe, L. Olsina (eds.), Springer (2007), to appear. Metamodelling the Requirements of Web Systems María José Escalona and Nora Koch 2nd International Conference on Web Information Systems and Technologies (WebIST'06), Setubal, Portugal, pages 310-317. INSTICC, 2006. Modelling Adaptivity with Aspects Hubert Baumeister, Alexander Knapp, Nora Koch and Gefei Zhang 5th International Conference on Web Engineering (ICWE 2005), Sydney, Australia, LNCS 3579, 406- 416, 2005. Modelling Business Processes in Web Applications with ArgoUWE Alexander Knapp, Nora Koch and Hanns-Martin Hassler 7th International Conference on the Unified Modeling Language (UML 2004), Lisboa, Portugal, LNCS 3273, 69-83, 2004. Model-Driven Generation of Web Applications in UWE Andreas Kraus, Alexander Knapp and Nora Koch 3rd International Workshop on Model-Driven Web Engineering (MDWE 2006), Como, Italy, to appear Sevilla – June 2007 – Nora Koch © 95
82.
Muchas gracias!
Nora Koch nora.koch (at) pst.ifi.lmu.de www.pst.ifi.lmu.de/~kochn/ uwe (at) pst.ifi.lmu.de Sevilla – June 2007 – Nora Koch © 96
Descargar ahora