This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
UML-Based Web EngineeringNora Koch
joint work with Gefei Zhang, Martin Wirsing, Andreas Kraus, Alexander Knapp, Rolf Hennicker and Hubert Baumeister
Web Engineering GroupLudwig-Maximilians-Universität München (LMU)
UWE: A Web Engineering ApproachModelling with UML and UWE (Notation)Modelling supported by UWE MethodMetamodel for UWETool support with ArgoUWEUWE Development ProcessFuture Work and Trends in Web Engineering
UWE is a an engineering approach for the development of web applicationsmain characteristic is the use of UML for all modelsfocuses on systematisation and automatic generationUWE comprises
a notation for the graphical representation of the model elementsa method (technique) supporting semi-automatic generation a metamodel for UWE modelling elementsa process supporting the development life-cycle of web applications
a case-tool ArgoUWE supporting the design of web applications
omnipresent due to the nature of the webglobal and permanent availabilitycomfortable and unified accessdistributed information / servicesproducible by “everybody“
dynamic developmentincremental number of web pages continuous improvement of existing web applications (content, links, layout)offer of new services
UML is a graphical language for specifying, constructing and documenting software artifactsUML is a de facto industry and a OMG standardUML includes
notationdiagram typesmetamodelObject Constraints Language (OCL) for invariants, pre- and post-conditionwell-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 elementsUML defines extension mechanisms UML profiles
goalto model problem domainto separate content from hypertext / navigation structure and presentation
Content Modelling in UWE
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
stereotypes for basic navigation elements«navigation class»
«navigation link»
basic navigation elementsnavigation 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
Navigation Structure Model (Third Step)Case Study: e-Shop
ShoppingCartItem OrderItem
BookRecommendation
1..*
AccountInfo
OrderList
CustomerOrders
0..*
0..*
MainMenu
?
SearchProducts
ShoppingCartItemsOrderItems
SelectedResults
0..* 0..*
0..11..*
Book
Customer
Homepage
Order
ShoppingCartProduct
Enhancement of the navigation structure model by menusUse of a set of diagrams (different views of the navigation space) if the number of nodes is large
goalsto model the process of a workflow driven web application
result definition of process classes (for non-navigation use cases)construction of a process structure modeldescription of the behaviour through a process flow and object flow with a UML activity diagramintegration of the process classes in the navigation structure model
«process class»models a class whose instances are needed by the user during execution of a process
«process link»models the association between a «navigation class» and a «process class» indicating entry points and exit points of processes within the navigation structure
goalrepresentation of the structure and the behaviour of the user interface
characteristics definition of pages as a hierarchical composition of presentation elementssupported by few methodsalternative: development of a prototype
resultsclass diagram for the structure of the presentation (in UML container notation)dynamic interaction diagram (sequence diagrams) for the behaviour
UWE Modelling Elements for PresentationCase Study: e-Shop
«page»Conference
«presentation class»ConferencePaper
«text»SubmissionDate
«text»PaperTitle
«anchor»Authors
«text»Abstract
«anchor»fullPaper (Pdf)
«button»ReviewForm
«text»PaperID
«page» is a presentation group that contains all elements that will be presented together to the user as response to one request «presentation class» groups a set of user interface elements representing a logic unit of presentationuser interface elements
build the use case modelfind the relevant actors for the applicationidentify the uses cases that define the functionality of the applicationestablish which actor will be involved in which use casedefine includes and extends relationships between use casesuse inheritance for actors and use casesdistinguish between navigation use cases and “normal” use cases (stereotype)
build an activity diagram for each non-navigational and non-trivial use caseidentify activitiesdefine transitions between activitiesassign objects related to those activities
automationassignment of activity diagram to each non-navigational use case.
build a class diagramfind classes for the objects identified in the activity diagramsidentify attributes and operations for these classesdetermine relationships between classes (associations, aggregations. compositions)define inheritance hierarchies, if appropriatedadd constraints
mark conceptual classes that are relevant for navigation structure
automationgeneration of classes based on objects of the activity diagrams
build a class diagram1. 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 links5. map attributes of navigation classes to attributes of content classes6. 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
refine the class diagram1. 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 tour3. (optional) add a query to select a subset of navigation objects4. add an additional navigation link from access primitive to target
navigation class5. move role names from the navigation class to the access primitive6. set multiplicities to one7. add constraints for invariants and pre-/post-conditions8. ….
OMG Standard MDA (model driven architecture)object-oriented modelsUML as modelling languagemodel transformation to convert a model of a system to another modelOMG terminology:
to provide a formal semantic of the modelling elementsfor tool support and code generation for model checkingas 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 processesuse of subsets of modeling elements (like UML)different notations (concrete syntax)model transformation from one methodology to another
definition of concepts and relationships among conceptscompatibility with the OMG metamodeling architecture MOF meta-metamodel
XMI interchange format → tool compatibility (theoretically)
conservative extension of the UML 1.5 metamodelstatic semantics given by OCL constraints(well-formedness rules)basis for the planned open tool suite OpenUWE
Web Engineering ApproachModelling with UML and UWE NotationModelling supported by UWE MethodMetamodel for UWETool support with ArgoUWEUWE Development ProcessFuture Work and Trends in Web Engineering
designed for the systematic construction of Web applicationsprovides specific notation for Web applicationsallows for separation of concerns: domain, navigation, presentation and business processessupports the UWE method performing semi-automatic model generationproduces XMI output as basis for code generationsupports model validationextends the NSUML library with the UWE metamodel
ArgoUML cognitive design critics background threadwarning mechanism for model inconsistencieswizard for design improvementuses critics pane for the critiques
displays wizards comments in detail pane
ArgoUWE design critics featuresinherits from ArgoUML (e.g. name collision)is extended by all wellformedness constraints of UWE (e.g. relationship between use case and process model)
improvement of the tool usabilitycode generationenhancement with modeling elements to build platform specific web modelsdefinition of transformations rules from PIMs to PSMs (based on the MDA principles)ArgoUWE extension for mobile and personalized web applicationsmigration to another tool supporting UML 2.0 notation?
Web Engineering ApproachModelling with UML and UWE NotationModelling supported by UWE MethodMetamodel for UWETool support with ArgoUWEUWE Development ProcessFuture Work and Trends in Web Engineering
short release cyclesdevelopment in 3 to 6 months on averageheterogeneous development teamstrong competitive market
separation of concernschange management
continuous update of the contentchanges in the hypertext structurefrequent improvement of the user interfaceadaptation to new technologies and standards
based on Unified Process (UP) was defined in 1999requires update with incorporation of elements of agile process (best practice)development is supported by a set of workflowsbased on concepts of role, activity, artifact, tool, etc. similar: Conallen's approach
by workflows (visual representation)by guidelines/checklists for the activities
e.g. elicit user navigation needsWhat 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 activitye.g. multimedia designer
knowledge of tools for creation and manipulation of images, videos, audios, …experience in design, integration and synchronisation of multimedia elementscreativity skills…
by description of artifactse.g. templates for risk list, iteration plan, use case description,…
Web Engineering ApproachModelling with UML and UWE NotationModelling supported by UWE MethodMetamodel for UWETool support with ArgoUWEUWE Development ProcessFuture Work and Trends in Web Engineering
Topicscomplete migration to UML 2.0emphasis on requirements engineering tool supported MDA processextension of tool support: e.g. plug in for eclipsefocus on generation and testing analysis of the power of aspect-oriented modelling for UWE
Resourcesfunding of the DFG German Research Office for 2005 -2007 two PhD Thesis students final work (e.g. extensions to ArgoUWE, eclipse plug-in)
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