SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
The Expressive Power of
UML-based Web Engineering
                (UWE)

   Nora Koch and Andreas Kraus
    Ludwig-Maximilians University of Munich
                   Germany
           IWWOST´2002, Málaga
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
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
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
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
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
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
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
UML for Conceptual Design

UML class diagrams                          Library
                                       name: String
                                                                                 rolename
                                       deletePublication
                                                library


                                             ..
                                            1 * publications
multiplicity                                Publication            1..*
                                                                                 Keyword
                                      title: String         keywords
                                      date: Date                             word: String
                             ..
                             1*

                    * authors                               articles      1..*
                    Author                                     Article
               name: String       *                  ..
                                                    1*
                                                        title: String
               e-mail: String     authors      articles abstract: String
                                                        complete: URL

                                                                                            IWWOST´2002
                                                                                               9 /19
UML for Navigation Design (1)
                                Library                                     UML stereotyped
                                                                            class diagrams
                                                «navigation class»            •   select classes rele-
                                                                                  vant for navigation
                    publications     1..*                                    •    define derived
        authors                                    1..*                           attributes
                           Publication                       Keyword
                    *                       1..*
                          /keyword                                            •   keep associations
                                                                                  as direct navigability
 1..*    1..*   authors

         Author
                                                                              •   add additional
                                                      1..*
                                                                                  associations
           *                                                  articles
                                                                              •   add constraints
                                     articles 1..*             Article

                                     visited       1..*
inv: /keyword =                      articles
self.ConceptualModel::
                                                                                          IWWOST´2002
publication.keyword.word                                  «direct navigability»
                                                                                             10 /19
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
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
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
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
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
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
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
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
Thanks for your attention!!


                            Questions?


         For further comments...

              kochn@informatik.uni-muenchen.de
              krausa@informatik.uni-muenchen.de


                                                  IWWOST´2002
                                                     19 /19

Weitere ähnliche Inhalte

Was ist angesagt?

[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigmsIvano Malavolta
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfEd Seidewitz
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010MD DAY
 
OSCOM 4: Managing Beautiful Websites with Cocoon
OSCOM 4: Managing Beautiful Websites with CocoonOSCOM 4: Managing Beautiful Websites with Cocoon
OSCOM 4: Managing Beautiful Websites with Cocoonnobby
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)Philip Langer
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UMLJürgen Mutschall
 
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...EclipseDayParis
 
Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)XPERT INFOTECH
 
Single API for library services (poster)
Single API for library services (poster)Single API for library services (poster)
Single API for library services (poster)Milan Janíček
 

Was ist angesagt? (13)

[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and Alf
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010
 
OSCOM 4: Managing Beautiful Websites with Cocoon
OSCOM 4: Managing Beautiful Websites with CocoonOSCOM 4: Managing Beautiful Websites with Cocoon
OSCOM 4: Managing Beautiful Websites with Cocoon
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UML
 
Eugenia
EugeniaEugenia
Eugenia
 
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
 
UML 2.5_PDF
UML 2.5_PDFUML 2.5_PDF
UML 2.5_PDF
 
Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)
 
Single API for library services (poster)
Single API for library services (poster)Single API for library services (poster)
Single API for library services (poster)
 

Ähnlich wie The Expressive Power of UML-based Web Engineering (UWE)

Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Marco Brambilla
 
LibX 2.0
LibX 2.0LibX 2.0
LibX 2.0eby
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel Alliance
 
Eclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayEclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayLars Vogel
 
WORKS 11 Presentation
WORKS 11 PresentationWORKS 11 Presentation
WORKS 11 Presentationdgarijo
 
Object Oriented Programming with COBOL
Object Oriented Programming with COBOLObject Oriented Programming with COBOL
Object Oriented Programming with COBOLMicro Focus
 
LibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresentedLibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresentedtutorialsruby
 
LibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresentedLibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresentedtutorialsruby
 
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyasrsnarayanan
 
ArchGenXML / UML and Plone
ArchGenXML / UML and PloneArchGenXML / UML and Plone
ArchGenXML / UML and PloneJazkarta, Inc.
 
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX ModelCarles Farré
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...gdigugli
 
iOS overview
iOS overviewiOS overview
iOS overviewgupta25
 
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)lennartkats
 
EclipseCon 08 - Agile RCP
EclipseCon 08 - Agile RCPEclipseCon 08 - Agile RCP
EclipseCon 08 - Agile RCPHeiko Seeberger
 

Ähnlich wie The Expressive Power of UML-based Web Engineering (UWE) (20)

Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
LibX 2.0
LibX 2.0LibX 2.0
LibX 2.0
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component Model
 
Eclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayEclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse Day
 
WORKS 11 Presentation
WORKS 11 PresentationWORKS 11 Presentation
WORKS 11 Presentation
 
Object Oriented Programming with COBOL
Object Oriented Programming with COBOLObject Oriented Programming with COBOL
Object Oriented Programming with COBOL
 
LibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresentedLibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresented
 
LibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresentedLibX2.0-Code4Lib-2009AsPresented
LibX2.0-Code4Lib-2009AsPresented
 
Eclipse e4
Eclipse e4Eclipse e4
Eclipse e4
 
Eclipse meets e4
Eclipse meets e4Eclipse meets e4
Eclipse meets e4
 
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyas
 
ArchGenXML / UML and Plone
ArchGenXML / UML and PloneArchGenXML / UML and Plone
ArchGenXML / UML and Plone
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
 
iOS overview
iOS overviewiOS overview
iOS overview
 
Unit 04: From Requirements to the UX Model
Unit 04: From Requirements to the UX ModelUnit 04: From Requirements to the UX Model
Unit 04: From Requirements to the UX Model
 
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
 
EclipseCon 08 - Agile RCP
EclipseCon 08 - Agile RCPEclipseCon 08 - Agile RCP
EclipseCon 08 - Agile RCP
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
 

Mehr von elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript 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!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 talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.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 makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop 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 StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Kürzlich hochgeladen

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
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
  • 9. UML for Conceptual Design UML class diagrams Library name: String rolename deletePublication library .. 1 * publications multiplicity Publication 1..* Keyword title: String keywords date: Date word: String .. 1* * authors articles 1..* Author Article name: String * .. 1* title: String e-mail: String authors articles abstract: String complete: URL IWWOST´2002 9 /19
  • 10. UML for Navigation Design (1) Library UML stereotyped class diagrams «navigation class» • select classes rele- vant for navigation publications 1..* • define derived authors 1..* attributes Publication Keyword * 1..* /keyword • keep associations as direct navigability 1..* 1..* authors Author • add additional 1..* associations * articles • add constraints articles 1..* Article visited 1..* inv: /keyword = articles self.ConceptualModel:: IWWOST´2002 publication.keyword.word «direct navigability» 10 /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