UML-Based Web Engineering

4,861 views
4,773 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,861
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
295
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

UML-Based Web Engineering

  1. 1. UML-Based Web Engineering Nora Koch joint work with Gefei Zhang, Martin Wirsing, Andreas Kraus, Alexander Knapp, Rolf Hennicker and Hubert Baumeister Web Engineering Group Ludwig-Maximilians-Universität München (LMU) Sevilla, 21.4.2005 Web Projects main problems business goals are not fulfilled delays in relation to project plan project exceeds budget system delivered does not have required functionality deliverables are of poor quality current situation (similar to software development around 1960) individual, quick & dirty implementations reuse based on copy & paste missing documentation incremental complexity of web applications and web services UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 2 1
  2. 2. Methodologies for Web Development Data- Hypertext- Process- Implementation- OO-oriented oriented oriented oriented oriented 1993 HDM 1994 EORM 1995 RMM 1996 HDM-Lite OOHDM 1997 WSDM OO-Method Web Composition 1998 SOHDM RNA HFPM 1999 WAE 2000 WebML W2000 UWE eW3DT 2001 Hera 2002 2003 OOWS OOH NDT M. J. Escalona,2004 2004 WebSA UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 3 Methodologies for Web Development EORM Enhanced Object Relationship Model eW3DT Extended World Wide Web Design Technique HDM Hypertext Design Model Hera HFPM Hypertext Flexible Process Modeling NDT Navigational Development Technique OO-H Object-Oriented Hypermedia Method OO-Method Object-Oriented Method OOHDM Object-Oriented Hypermedia Design Method OOWS Object-Oriented Web Solution RMM Relationship Management Methodology RNA Relationship-Navigation Analysis SOHDM Scenario-based Hypermedia Design Method UWE UML-based Web Engineering W2000 WAE Web Application Extension Web Composition WebML Web Modeling Language WebSA Web Software Architecture WSDM Web Site Design Method UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 4 2
  3. 3. Contents UWE: A Web Engineering Approach Modelling with UML and UWE (Notation) Modelling supported by UWE Method Metamodel for UWE Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 5 What is UWE? UWE is a an engineering approach for the development of web applications main characteristic is the use of UML for all models focuses on systematisation and automatic generation UWE comprises a notation for the graphical representation of the model elements a method (technique) supporting semi-automatic generation a metamodel for UWE modelling elements a process supporting the development life-cycle of web applications a case-tool ArgoUWE supporting the design of web applications (UWE is also a German male name) UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 6 3
  4. 4. Web-based Systems / Web Applications characteristics based on the hypermedia paradigm nodes & links text & multimedia omnipresent due to the nature of the web global and permanent availability comfortable and unified access distributed information / services producible by “everybody“ dynamic development incremental number of web pages continuous improvement of existing web applications (content, links, layout) offer of new services UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 7 Categories of Web Applications complexity semantic web personalized portal-oriented * collaborative workflow-based transactional Source: Web Engineering, Kappel et al. d-punkt Verlag (October 2003) interactive informative time UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 8 4
  5. 5. Why UML? UML is a graphical language for specifying, constructing and documenting software artifacts UML is a de facto industry and a OMG standard UML includes notation diagram types metamodel Object Constraints Language (OCL) for invariants, pre- and post-condition well-formedness rules UML is neither a method nor a process How expressive is UML for the development of web applications? UML does not include specific web modelling elements UML defines extension mechanisms UML profiles UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 9 UML Profiles UML extension is a UML profile if it only uses the extension mechanisms provided by the UML stereotypes eases tagged values tool support OCL constraints UML profile = light weight extension «index» article.date NewArticles > user.lastVisit {adaptation=annotated} heavy weight extension uses other diagram types not defined in the UML uses different notation UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 10 5
  6. 6. Contents Web Engineering Approach Modelling with UML and UWE Notation Requirement of Web Applications Content, Hypertext Structure and Presentation Workflow-based Web Applications Adaptivity with Aspects Web Architecture Modelling supported by UWE Method Metamodel for UWE Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 11 Dimensions of Web Modelling levels presentation hypertext adaptivity content phases structure requirements analysis design implementation analysis behaviour aspects modelling process information-driven (quot;content firstquot;) presentation-driven (quot;layout firstquot;) functionality-driven (quot;test firstquot;) agile process Source: Kappel et al. Web Engineering, d-punkt (2003) UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 12 6
  7. 7. Modelling Requirements of Web Applications Case Study: e-Shop UML use case diagrams are used to describe web application functionality UWE extension distinction between Select <<extend>> AddTo ProductItems ShoppingCart “normal”/standard <<navigation>> use cases and navigation use Search ViewCart cases ProductItems UWE Stereotype <<navigation>> NonRegisteredUser <<navigation>> W2000 makes the LogIn distinction at diagram level: two <<extend>> Customer use case diagrams PrintInvoice Checkout <<include>> UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 13 Refining the Requirements Specification Case Study: e-Shop – checkout process use cases complemented with textual specification LogIn activity diagrams [ error ] [ newCustomer ] UML activity diagrams for [ error ] visual representation of [ returningCustomer ] AddNewCustomer workflows to model the SetOptions [ change ] business logic of newCustomer : the application Customer newOrder : Order PlaceOrder UML call states exit/ delete Items ShoppingCart and sub-activities sub-activities can PrintInvoice further be refined UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 14 7
  8. 8. Content Modelling in UWE goal to model problem domain to separate content from hypertext / navigation structure and presentation UML class diagrams for the structure UML sequence diagrams or UML state charts for the behaviour sequence diagrams are used to visualize messages between objects showing how they collaborate (messages between user and web application) state diagrams capture states of objects and show actions that lead to state transitions UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 15 Content Modelling: Structure Case Study: e-Shop UML class diagrams at analysis-level and design-level classes to represent ShoppingCart Customer add() name units of textual checkout() 1..* 0..1 creditCard information Book 1 * multimedia Product ShoppingCart elements DVD name Item price 1 * quantity associations, * * aggregations to CD OrderItem Address +deliveryAddress street show quantity zip-code 1 0..1 country relationships * between classes Order +invoiceAddress 1 orderID inheritance to invoiceNumber 1 show hierarchies sendInvoice() between classes UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 16 8
  9. 9. Navigation Modelling in UWE goals to represent nodes and links of the hypertext structure to design of navigation paths to avoid disorientation and cognitive overload result: navigation structure model UML class diagram specific modelling elements other methodologies own notation for hypertext elements different diagrammatic representation of hypertext models UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 17 Navigation Modelling Elements (1) basic navigation elements navigation class specifies the hypertext nodes is visited by a user through browsing (a navigation class will be given the same name of the domain class which it maps) navigation link specifies that the target navigation object is accessed by navigation from the source navigation object stereotypes for basic navigation elements «navigation class» «navigation link» «navigation class» Class Name «navigation link» attributes operations UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 18 9
  10. 10. Navigation Structure Model (First Step) Case Study: e-Shop «navigation link» «navigation class» Homepage «navigation link» «navigation link» «navigation link» +shoppingCart 0..1 1 +customer «navigation class» «navigation class» ShoppingCart Customer «navigation link» «navigation link» 1..* +products +shoppingCartItems 0..* +orders 0..* «navigation class» «navigation class» Product ShoppingCartItem «navigation class» Order +product +books 1..* +orderItems 1..* «navigation link» «navigation class» Book «navigation link» «navigation class» OrderItem «navigation link» UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 19 UWE Access Primitives additional navigation elements for the selection of one navigation target from a set of navigation elements «index» «guidedTour» «query» «menu» ? MyIndex MyGuidedTour MyQuery MyMenu UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 20 10
  11. 11. Navigation Modelling Elements (3) modelling element: index specifies a class of composite «index» objects MyIndex contains an arbitrary number of MyIndexItem * 1 «navigation class» index items name: String MyNavigationClass each index item is an object which has a name and owns a link to an instance of a * «navigation class» navigation class MyNavigationClass UML stereotype: «index» MyIndex UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 21 Navigation Structure Model (Second Step) Case Study: e-Shop Enhancement Homepage of the navigation ? structure model Book SearchProducts by access Recommendation structures: SelectedResults Customer OrderList indexes 1..* 1..* 0..1 guided tours 0..* queries Book Product ShoppingCart 0..* Customer Orders Order ShoppingCartItems OrderItems 0..* 0..* ShoppingCartItem OrderItem UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 22 11
  12. 12. Navigation Structure Model (Third Step) Case Study: e-Shop Homepage Enhancement of the navigation MainMenu structure model ? AccountInfo by menus Book SearchProducts Recommendation Use of a set of diagrams SelectedResults 1..* 1..* 0..1 OrderList (different views Customer of the navigation 0..* space) if the Book Product ShoppingCart 0..* number of nodes Customer Order Orders is large ShoppingCartItems OrderItems 0..* 0..* ShoppingCartItem OrderItem UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 23 Process Modelling in UWE goals to model the process of a workflow driven web application result definition of process classes (for non-navigation use cases) construction of a process structure model description of the behaviour through a process flow and object flow with a UML activity diagram integration of the process classes in the navigation structure model UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 24 12
  13. 13. Process Modelling Elements «process class» models a class whose instances are needed by «process class» Class Name the user during execution of a process attributes operations «process link» models the association between a «navigation «process link» class» and a «process class» indicating entry points and exit points of processes within the navigation structure UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 25 Process Structure Model Case Study: e-Shop «process class» «process class» PaymentOptions Checkout 0..1 - creditCardNumber - state:CheckoutActivityState - creditCardExpire - payment :PaymentType + changeState() + checkCreditCard() : Boolean 0..1 0..1 «process class» «process class» ShoppingCart Customer 1 1 setPaymentOptions() «enumeration» «enumeration» + placeOrder():Order CheckoutActivityState PaymentType 0..1 -welcome «process class» -items -moneyOrder Order -shipping -creditCard 0..1 -…. + sendInvoice() Structural view is partially derived from the content model Process state is defined explicitly and implicitly by associations Includes user input data UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 26 13
  14. 14. Process Flow and Object Flow Case Study: e-Shop Refinement of the process model of the SignIn analysis phase [ customer->notEmpty() ] [ customer->isEmpty() ] Distinction between «transactional» «process class» subactivity state and AddNewCustomer : Customer call state Call states used for «process class» SetOptions new : Customer change operations «process class» data validation setPaymentOptions (Customer) : PaymentOptions Object flow states of process classes [ newCustomer ] used for modelling [ returningCustomer ] user «process class» «transactional» «transactional» input/output placeOrder SetPassword : ShoppingCart (ShoppingCart) «transactional» «process class» sendInvoice Transactions modelled by : Order (Order) stereotypes («transactional») UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 27 Process Modelling (1) Case Study: e-Shop including process classes and process links before enhancing with access structures «navigation class» «process class» Homepage SignIn «process link» «process link» +shoppingCart 0..1 1 +customer «process class» «navigation class» «navigation class» Checkout ShoppingCart Customer «process link» «process link» +shoppingCart +products 1..* Items 0..* +orders 0..* «navigation class» «navigation class» Product «navigation class» ShoppingCartItem Order «process link» 1..* +product +orderItems 1..* «navigation class» «process class» Book «navigation class» AddToCart OrderItem UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 28 14
  15. 15. Presentation Modelling in UWE goal representation of the structure and the behaviour of the user interface characteristics definition of pages as a hierarchical composition of presentation elements supported by few methods alternative: development of a prototype results class diagram for the structure of the presentation (in UML container notation) dynamic interaction diagram (sequence diagrams) for the behaviour UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 29 UWE Modelling Elements for Presentation Case Study: e-Shop «page» «page» is a presentation group that Conference contains all elements that will be «presentation class» presented together to the user as ConferencePaper response to one request «text» «text» «presentation class» groups a set of PaperID SubmissionDate user interface elements representing «text» a logic unit of presentation PaperTitle user interface elements «text» «anchor» Abstract «text» «image» «anchor» «button» fullPaper (Pdf) ReviewForm «button» «anchor» Authors UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 30 15
  16. 16. Aspect Oriented Modelling (AOM) in UWE access control modelled by aspects «aspect» advice Access Control «navigation class» «process class» ShoppingCart Checkout pointcut navigation adaptivity modelled by aspects link annotation link ordering link hiding link generation weaving the result into the web application UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 31 Contents Web Engineering Approach Modelling with UML and UWE Notation Modelling supported by UWE Method From Requirements to Analysis Models Generation of Navigation Model Generation of Presentation Model Applying MDA Principles Transformation of Models Metamodel for UWE Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 32 16
  17. 17. UWE Method guidelines for the construction of the models set of steps for each model relationship between models model construction is Requirements <<trace>> systematic Model semi-automatic <<trace>> tool-supported <<trace>> <<trace>> <<trace>> Content Navigation Presentation <<trace>> <<trace>> <<trace>> <<trace>> <<trace>> <<trace>> <<trace>> Process Adaptation <<trace>> UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 33 Building Requirements Models build the use case model find the relevant actors for the application identify the uses cases that define the functionality of the application establish which actor will be involved in which use case define includes and extends relationships between use cases use inheritance for actors and use cases distinguish between navigation use cases and “normal” use cases (stereotype) build an activity diagram for each non-navigational and non-trivial use case identify activities define transitions between activities assign objects related to those activities automation assignment of activity diagram to each non-navigational use case. UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 34 17
  18. 18. Modelling Requirements of Web Applications Case Study: Online Library UML use case diagram UML activity diagrams Enter article title Find article Produce <<navigation>> article list Find Reader [count=1] [count=0] publication No results <<navigation>> [count>1] Modify Select preferences article Look at Display new articles article Registered Reader <<navigation>> UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 35 Building the Domain/Content Model build a class diagram find classes for the objects identified in the activity diagrams identify attributes and operations for these classes determine relationships between classes (associations, aggregations. compositions) define inheritance hierarchies, if appropriated add constraints mark conceptual classes that are relevant for navigation structure automation generation of classes based on objects of the activity diagrams UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 36 18
  19. 19. Content Model Case Study: Online Library 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 UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 37 Building the Navigation Model (First Step) build a class diagram 1. create a navigation class for each navigation relevant content class (navigation classes map to content classes) 2. add attributes of omitted classes (if required) to navigation classes (attributes of a navigation class maps to a attributes of other content class) 3. map navigation links of navigation model to associations of content model 4. transform aggregations and compositions into navigation links 5. map attributes of navigation classes to attributes of content classes 6. transfer multiplicities and role names of associations, aggregations and compositions of content model to corresponding modelling elements of the navigation model 7. add navigation links based on the scenarios of the use case model 8. add shortcuts, i.e. additional navigation links to reduce length of navigation path automation steps 1, 3, 4, 5, 6 UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 38 19
  20. 20. Navigation Structure Model (First Step) Case Study: Online Library UML stereotyped class Library diagrams select classes relevant for navigation keep associations as publications 1..* navigation links authors 1..* Publication Keyword * 1..* add additional /keyword associations 1..* 1..* authors define derived attributes Author * 1..* articles add constraints articles 1..* Article visited 1..* inv: /keyword = articles self.ContentModel:: publication.keyword «navigation link» UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 39 Building the Navigation Model (Second Step) refine the class diagram 1. add an index to all navigation links, which have multiplicity > 1 at the directed association end (one index item for each navigation object) 2. (optional) replace index by guided tour 3. (optional) add a query to select a subset of navigation objects 4. add an additional navigation link from access primitive to target navigation class 5. move role names from the navigation class to the access primitive 6. set multiplicities to one 7. add constraints for invariants and pre-/post-conditions 8. …. automation steps 1, 5, 6 UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 40 20
  21. 21. Navigation Structure Model (Second Step) Case Study: Online Library Library query ? publications index allAuthors publications 1..* Publication * authors 1..* 1..* authors allAuthors Author UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 41 Navigation Structure Model (Second Step) Case Study: Online Library Library LibraryM menu ? publications allAuthors publications 1..* Publication * authors 1..* 1..* authors allAuthors Author UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 42 21
  22. 22. Model Driven Development (MDD) OMG Standard MDA (model driven architecture) object-oriented models UML as modelling language model transformation to convert a model of a system to another model OMG terminology: CIM: computation independent model PIM : platform independent model PSM: platform specific model UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 43 Web Software Architecture (WebSA) a domain specific language to model the architectural views of a web application: subsystem model configuration model «WebComponent » A integration model «WebComponent » UML profile with architectural modelling elements B [4] :B[1{4}] web component web port web connector «WebComponent» server page A WebPort Provided WebInterface etc. Required WebInterface UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 44 22
  23. 23. WebSA: MDA-based Development Process types of models Web Functional Viewpoint Web Architectural Viewpoint analysis: functional Functional Subsystem Configuration and architectural Models Model Model (OO-H,UWE) design implementation Analysis T1 Merge Models to Model transformations for Transformation mapping & merging Platform Integration Model Independent Design models transformation T2 T2' T2'’ Implementation language QVT-P J2EE models .NET models Other models *Melía, University of Alicante (2004) UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 45 Contents Web Engineering Approach Modelling with UML and UWE Notation Modelling supported by UWE Method Metamodel for UWE Extension of UML Metamodel UML Profile Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 46 23
  24. 24. Need of a Metamodel to provide a formal semantic of the modelling elements for tool support and code generation for model checking as instrument to compare and integrate different web methodologies to go towards a common metamodel for web methodologies unification at high level of abstraction for each methodology different development processes use of subsets of modeling elements (like UML) different notations (concrete syntax) model transformation from one methodology to another UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 47 UWE Metamodel definition of concepts and relationships «metamodel» M3 MOF among concepts compatibility with the OMG metamodeling «instanceOf» architecture MOF meta-metamodel «metamodel» UML XMI interchange format → tool compatibility (theoretically) M2 conservative extension of the UML 1.5 «metamodel» metamodel UWE static semantics given by OCL constraints (well-formedness rules) «instanceOf» basis for the planned open tool suite Application M1 OpenUWE Model UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 48 24
  25. 25. Package Structure UWE Behavioral Behavioral Model Model Elements Elements Behavioral Management Model Management Elements Management Foundation Foundation Foundation = UML Metamodel = UWE Metamodel UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 49 Package Structure UWE Behavioral Behavioral Elements Model Model Elements Adaptation Process Management Management Foundation Core Conceptual Navigation Presentation Process Context User Environment Foundation UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 50 25
  26. 26. UWE Navigation Package Class Association +source +outLinks NavigationNode 1 {derived} * Link +target +inLinks isLandmark: Boolean isAutomatic: Boolean 1..* 1..* {derived} * Navigation Class Menu ExternalNode ExternalLink NavigationalLink ProcessLink url: String 0..1 * * UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 51 Metamodelling UWE Method NavigationNode ConceptualClass +derivedFrom NavigationClass (UWE.Foundation.Core.Conceptual) 1 * * <<implicit>> ConceptualAttribute +derivedFromAttributes NavigationAttribute Attribute (UWE.Foundation.Core.Conceptual) * * (Foundation.Core) exampleconstraint: as OCL of a well-formedness rule: “Navigation attributes are derived from from conceptual attributes. context NavigationClass inv: self.feature->select( oclIsKindOf(NavigationAttribute) ).derivedFromAttributes-> forAll( f | self.derivedFrom.transitiveClosure->exists(feature=f) ) UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 52 26
  27. 27. UML Profile systematic rules for mapping a metamodel to a UML profile: classes → elements with stereotype attributes → tagged values inheritance → inheritance among stereotypes repeated mapping of attributes and associations associations → tagged values or associations (for classifiers) NavigationNode «navigation node» isLandmark : Boolean <<navigation class>> <<navigation class>> MyNavigationClass <<navigation class>> MyNavigationClass {isLandmark, MyNavigationClass {isLandmark} derivedFrom=MyCClass} NavigationClass «navigation class» abstract syntax notation UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 53 Contents Web Engineering Approach Modelling with UML and UWE Notation Modelling supported by UWE Method Metamodel for UWE Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 54 27
  28. 28. ArgoUWE designed for the systematic construction of Web applications provides specific notation for Web applications allows for separation of concerns: domain, navigation, presentation and business processes supports the UWE method performing semi-automatic model generation produces XMI output as basis for code generation supports model validation extends the NSUML library with the UWE metamodel implemented as a plugin for ArgoUML UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 55 ArgoUWE* supports notation of UWE and method of UWE ArgoUWE extension of open source ArgoUML model checker based on OCL constraints generates XMI *www.pst.ifi.lmu.de/ projekte/argouwe UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 56 28
  29. 29. Modeling with ArgoUWE: Use Cases e-shop Search AddTo ProductItems ShoppingCart Select ProductItems SignIn ViewCart Checkout UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 57 Modeling with ArgoUWE: Conceptual Model manual marking of conceptual classes as navigation relevant automatic generation of navigation classes different navigation views for same domain model UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 58 29
  30. 30. Semi-automatic Navigation Model Generation manual adding of navigation classes and navigation links automatic generation of indexes automatic generation of manual integration of menus process features UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 59 Consistency Check & Design Critics ArgoUML 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 design critics features inherits from ArgoUML (e.g. name collision) is extended by all wellformedness constraints of UWE (e.g. relationship between use case and process model) UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 60 30
  31. 31. Consistency Check & Design Critics UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 61 ArgoUWE: Plugin Architecture ArgoUML Novosoft UML library (NSUML) UWE Diagram graph editing ArgoUWE plugin Graph Model framework (GEF) FigNode Property open-source Critic FigEdge Panel ArgoUML Java Plugin Model Facade & Factories XML/XMI generator UML / UWE model UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 62 31
  32. 32. Future Steps in the Development of ArgoUWE improvement of the tool usability code generation enhancement with modeling elements to build platform specific web models definition of transformations rules from PIMs to PSMs (based on the MDA principles) ArgoUWE extension for mobile and personalized web applications migration to another tool supporting UML 2.0 notation? UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 63 Contents Web Engineering Approach Modelling with UML and UWE Notation Modelling supported by UWE Method Metamodel for UWE Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 64 32
  33. 33. Process Tailoring process to domain to company to area to project „Tailoring“ of general processes to specific development, such as for the development of web applications UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 65 Requirements for a Web Process short release cycles development in 3 to 6 months on average heterogeneous development team strong competitive market separation of concerns change management continuous update of the content changes in the hypertext structure frequent improvement of the user interface adaptation to new technologies and standards UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 66 33
  34. 34. UWE Development Process based on Unified Process (UP) was defined in 1999 requires update with incorporation of elements of agile process (best practice) development is supported by a set of workflows based on concepts of role, activity, artifact, tool, etc. similar: Conallen's approach WAE: Web Application Extension RUP-based UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 67 Visual Representation of the Process Iteration Workflow Project Risk Iteration Iteration Management Management Planing Evaluation Requirements Capture Development Analysis Process & Design Implemen- tation Quality Validation Management Verification Testing UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 68 34
  35. 35. UWE: Risk Management Project Manager Identify Risks Evaluate Analyse Risks Risk Impact Risk List Prioritise Risks Define Actions for Risk Strategy ActionList for risk strategy UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 69 How is the UWE process defined? by workflows (visual representation) by guidelines/checklists for the activities e.g. elicit user navigation needs What information do users want to see at first glance? What kind of searches will they perform? How can the length of navigation paths be optimised? … by skill lists for experts (workers) needed for each activity e.g. multimedia designer knowledge of tools for creation and manipulation of images, videos, audios, … experience in design, integration and synchronisation of multimedia elements creativity skills … by description of artifacts e.g. templates for risk list, iteration plan, use case description,… UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 70 35
  36. 36. Contents Web Engineering Approach Modelling with UML and UWE Notation Modelling supported by UWE Method Metamodel for UWE Tool support with ArgoUWE UWE Development Process Future Work and Trends in Web Engineering UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 71 Future Work: UML-based Web Engineering Topics complete migration to UML 2.0 emphasis on requirements engineering tool supported MDA process extension of tool support: e.g. plug in for eclipse focus on generation and testing analysis of the power of aspect-oriented modelling for UWE Resources funding of the DFG German Research Office for 2005 -2007 two PhD Thesis students final work (e.g. extensions to ArgoUWE, eclipse plug-in) UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 72 36
  37. 37. Trends in Web Engineering focus on requirements engineering model driven vs. agile development emphasis on tool support domain specific language (DSL) based on UML from overhelming diversity of methodologies towards a „Unified Web Modeling Language“ ? UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 73 Vision for Web Application Development Data- Hypertext- Process- Implementation- OO-oriented oriented oriented oriented oriented 1993 HDM 1994 EORM 1995 RMM 1996 HDM-Lite OOHDM 1997 WSDM OO-Method Web Composition 1998 SOHDM RNA HFPM 1999 WAE 2000 WebML W2000 UWE eW3DT 2001 Hera 2002 2003 OOWS OOH NDT 2004 WebSA UML-Based Web Engineering © Nora Koch ? Sevilla, 21.04.2005, 74 37
  38. 38. References UWE: http://www.pst.ifi.lmu.de/projekte/uwe ArgoUWE: http//www.pst.ifi.lmu.de/projekte/argouwe www.pst.informatik.uni-muenchen.de/~kochn/ OMG UML Specification v. 1.5 - OMG document formal [03-03-01] OMG UML 2.0 Superstructure RfP - OMG [ad/09-09-02] Hypermedia & the Web – An Engineering Approach, David Lowe & Wendy Hall John Wiley & Sohn (1999) Designing Data-Intensive Web Applications. Stefano Ceri, Piero Fraternali, Aldo Bongio, Marco Brambilla, Sara Comai, Maristella Matera. Morgan-Kaufmann (2003) Building Web Applications with UML. Jim Conallen. Addison-Wesley (2003) Web Engineering: Systematic Development of Web Applications. Gerti Kappel, Birgid Pröll, Siegfried Reich, Werner Retschitzeger (Eds.) dpunkt-verlag (German Version, 2003), English version to appear October 2005 UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 75 Muchas gracias! ☺ Nora Koch nora.koch (at) pst.ifi.lmu.de www.pst.informatik.uni-muenchen.de/~kochn uwe (at) pst.ifi.lmu.de UML-Based Web Engineering © Nora Koch Sevilla, 21.04.2005, 76 38

×