1 © Copyright 2015 Ioan Toma & Srdjan Komazec & Nelia Lassiera Web Engineering Web Application Modeling.

Slides:



Advertisements
Similar presentations
Course: Web System Engineering
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Web Application Modeling
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Methodologies for Web Information System Design
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
© Copyright Eliyahu Brutman Programming Techniques Course.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Structured Vs. Object Oriented Analysis and Design SAD Vs. OOAD
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Introduction To System Analysis and design
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 © Copyright 2015 Ioan Toma, Srdjan Komazec, Nelia Lassiera Web Engineering Developing Applications with WebML.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Systems Analysis and Design in a Changing World, 3rd Edition
Modeling web applications
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Web Engineering Web Application Modeling Dr. Mohammad Ahmad.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML - Development Process 1 Software Development Process Using UML.
MODELLING A WEB APPLICATION Dr. Sohaib Ahmed. Modelling Web Applications  provides a better alternative to the ad-hoc development of Web applications.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
UML (Unified Modeling Language)
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Modeling Lecture III – 21 st October 2008 Federico M. Facca.
CompSci 280 S Introduction to Software Development
UML Diagrams By Daniel Damaris Novarianto S..
Web Engineering Web Application Modeling
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Web Application Modeling
UML Diagrams Jung Woo.
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Uml diagrams In ooad.
Presentation transcript:

1 © Copyright 2015 Ioan Toma & Srdjan Komazec & Nelia Lassiera Web Engineering Web Application Modeling

2 Where are we? #DateTitle 15 th MarchWeb Engineering Introduction and Overview 212 th MarchRequirements Engineering for Web Applications 319 th MarchWeb Application Modeling 426 th MarchTesting and Usability 516 th AprilDeveloping Applications with WebML 623 rd AprilWeb Application Architectures 730 th AprilWeb Technologies I 87 th MayWeb Technologies II 921 th MayWeb Application Development Process 1028 th MayProject Management for Web Applications 1111 th JuneWeb Application Security 1218 th JuneMobile Application Development 1325 th JuneFinal Exam

3 Overview Introduction Reference Scenario Content Modeling Hypertext Modeling Presentation Modeling Model Driven Development Overview of Other Modeling Methods Summary

4 Recap Web applications have 3 major building blocks: 1.Content –Document-centric, multimediality –Generating, updating, integrating, quality assurance 2.Hypertext (Navigation) –Non-linear nature of hypertextual documents –Hypertext models: links, nodes (URL), anchors –Disorientation 3.Presentation –User Interface –Self-explanatory –Aesthetics

5 INTRODUCTION Why do we need modeling?

6 Why models?

7 Define an abstract view of a real-world entity –Finding & discovering objects/concepts in a domain –Assigning responsibilities to objects Tool of thought –Reduce complexity –Document design decisions Means of communication in your development team

8 Software Application Modeling Levels – the “how” & “what” of an application Aspects –Structure: objects, attributes, and relationships –Behavior: function & processes Phases – Development cycle User interface Application Logic AnalysisDesignImplementation Structure Behavior Phases Levels Aspects

9 Web Application Modeling Levels – Information, node/link structure, UI & page layout separate. Aspects – Same as Software Applications Phases – Approach depends upon type of application Customization – Context information, personalization Content Presentation AnalysisDesignImplementation Structure Behavior Phases Levels Aspects Hypertext Customization

10 Modeling requirements Use cases for functional requirements (graphical representation) Navigational use cases  See example (conference system like easychair)! In Web Engineering, we are concerned with –Content modeling –Hypertext modeling –Presentation modeling

11 Web Modeling Modeling static & dynamic aspects of content, hypertext, and presentation We focus on object-oriented analysis & design –Analysis: Finding & discovering classes of objects/ concepts in a domain –Design: Defining software objects & how they interact to fulfill requirements.

12 Objects Software entities – like real-world entities - that consist of states and behaviors States: –Variables store the states of an object’s properties –Hidden from the outside world (data encapsulation) Behaviors: –Methods define the object’s behaviors –Used by objects to communicate with other objects Classes –blueprints for creating objects of a particular type

13 Discovering Objects in a Domain The way we represent a domain’s software model should resemble the physical model as closely as possible To find key classes of objects: –Reuse existing models, if they exist –Make a category list People, places, things Transactions Events –Identify noun phrases When naming classes, use terms that are commonly used in the domain –i.e., terms users would understand

14 Assigning Responsibilities Responsibilities are an object’s obligations, or behaviors related to its role in the system What does an object do? –Doing something (to) itself –Pass actions (messages) to other objects –Controlling & coordinating the activities in other objects What does an object know? –Private, encapsulated data –Its related objects –Items it can derive or calculate

15 REFERENCE SCENARIO A simple walkthrough case study

16 The Conference Review System With this case study it is aimed to compare different Web application modeling methods The purpose of the system is to support the process of submission, evaluation and selection of papers for a conference.

17 Actors I PC Chair –creating the conference –determining the conference topics (or tracks) and subjects –establishing the Program Committee –defining the final list of accepted and rejected papers –defining the conference deadlines: submission, review, and notification. PC Member –evaluating a set of papers assigned to him –indicating another person as a reviewer of a paper –advising the PC Chair for the final list of accepted papers

18 Actors II Reviewer –responsible for reviewing a paper Author –submitting a paper for acceptance at the conference –PC Members and Reviewers may also be Authors, they must have different Ids for each role

19 Functions I: Paper Submission Any registered author may submit a paper –The author must register: the title, the abstract, the conference track, and a set of subjects chosen from a list previously determined by the PC Chair, if there is one –The system, after checking the authors’ registrations, assigns a paper ID to the new paper, and allows the user to submit it by uploading a file –At any moment, an author is allowed to check the data about his submitted papers. Until the submission deadline, the author is also allowed to substitute the uploaded file by a new one, or to change any of the informed data about the paper

20 Functions II: Assignment of Papers to PC Members The PC Chair may indicate potential conflicts of interest between PC Members and submitted papers Once the submission deadline has been reached –PC Members may indicate their interest and also conflicts of interest with some papers –In case of conflict of interest, the PC Member will not see any information about the paper –The PC Chair assigns papers to PC Members for reviewing, an message with the list of papers, and a URL to a page where he can access these papers is sent

21 Functions III: Entering a Review A PC Member, or a Reviewer, may enter a review for a paper assigned to him The review is entered by accessing a form containing all the evaluation items A PC Member may see other reviews (entered by others) for any of the papers he is reviewing, but only after he has entered his own review The PC Chair has full access to all papers and all reviews

22 Function IV: Choosing Accepted and Rejected Papers Once the review deadline has been reached, the review process is closed The PC Chair, taking into account the recommendations of the PC Members and reviewers, chooses the papers that will be accepted and rejected Once the process is marked as finalized by the PC Chair, the system issues a notification message to paper authors, which includes the appropriate parts of the reviews submitted by the PC Members and reviewers

23 CONTENT MODELING How to model the data underlying a Web application

24 Introduction Purpose: To model the information requirements of a Web application –Diagramming the structural (i.e., information objects) & behavioral aspects of the information. –NOT concerned with navigation or presentation. Primary Models –Class diagrams – enough for static applications. –State machine diagrams – captures dynamic aspects

25 Content Structure Model Class name Class attributes Class operations Relation Invariant Derived attribute Composition

26 Content Behavior Model Initial State Condition Final State

27 HYPERTEXT MODELING How to model the hypertext of a Web application

28 Introduction Purpose: To model the navigation paths available to users UWE Artifacts* (UML-based Web Engineering) –Hypertext structure model (navigation model) –Access model Focuses on the structure of the hypertext & access elements Use “ >” annotation to distinguish from content classes Based on content models *

29 Different Models… Different Links… HDM (Hypertext Design Model) –Structural links connect elements of the same node (e.g. review summary to review details) –Perspective links put various views of a node in relation (e.g. PS and PDF of a paper) –Application links put different nodes in relation depending on application (e.g. link pointing to best paper) WebML (Web Modeling Language) –Contextual links carry context information (e.g. ID of reviewer) –Non-contextual links have no associated context information (e.g. link from single review to list of all reviews) –Intra-page links: source and destination are on the same page further down/up –Inter-page links: different pages UWE –Navigation links (navigate between nodes, e.g. Papers and authors) –Process links (start node of a process, e.g. Beginning of review submission) –External links (external page)...

30 Navigation Structure Model

31 Navigation Access Model Hypertext structure models describe navigation, but not orientation. Access models describe both through Navigation patterns, used to consistently describe conventional elements. – > (list of objects of the same type) – > (list of heterogeneous objects) – > (sequential links) – >

32 Navigation Access Model

33 PRESENTATION MODELING How to model the look&feel of a Web application

34 Presentation modeling Purpose: To model the look & feel of the Web application at the page level. The design should aim for simplicity and self-explanation. Describes presentation structure: –Composition & design of each page –Identify recurring elements (headers/footers) Describes presentation behavior: –Elements => Events

35 Levels of Presentation Models Presentation Page – “root” element; equivalent to a page container. Presentation Unit –A fragment of the page logically defined by grouping related elements. –Represents a hypertext model node Presentation Element –A unit’s (node’s) informational components –Text, images, buttons, fields

36 Presentation Structure Model

37 Presentation Behavior Model

38 MODEL DRIVEN DEVELOPMENT From sketch models to code models

39 Why Models at All? When it comes down to it, the real point of software development is cutting code Diagrams are, after all, just pretty pictures No user is going to thank you for pretty pictures; what a user wants is software that executes M. Fowler, ”UML Distilled”, 1 st edition, Addison Wesley, 1997

40 Unified Modeling Language (UML) “The Unified Modeling Language is a visual language for specifying and documenting the artifacts of systems.” Language of choice (and ISO standard) for diagramming notation in OO development –Structural – Class diagrams (domain models) –Behavioral – Use Cases, Sequence diagrams Currently at version 2.5, although many analysts and designers still use 1.x

41 The Role of Model in the Development Models as sketch –For communicating ideas and alternatives –Essence: Selectivity –“Sketchers” don’t have to care much about Models as blueprint –All design decisions (maybe of a particular area) are laid out –Essence: Completeness – programming should be pretty straightforward –Issue of reverse engineering Models as program –Applications are automatically generated –Essence: models become the source code degree of model-drivenness

42 Model - Code Interplay Model Code Model Code Code only Code Visualization Roundtrip Engineering Model-centric / Model-driven Model only "Models as Code"

43 Model-Driven... Systematic development on basis of models Models become the first hand artifacts in the software development cycle Key concepts –abstraction from implementation detail –systematic transformations Related Terminology –Model Driven [Software] Engineering (MDE), –Model Driven [Software] Development (MDD/MDSD), –Model Driven Architecture (MDA) –Model Driven Web Engineering (MDWE)

44 What is Model Driven Architecture? MDA is defined and developed by the Object Management Group (OMG) since March 2001 MDA is: –"Model-Driven …"-framework for software development, defined by the OMG –open, vendor-neutral approach to interoperability using OMG's modeling specifications: Unified Modelling Language (UML), Meta-Object Facility (MOF) and Common Warehouse Model (CWM) Main ideas: –Addresses the complete system development life cycle –Separate specification from implementation –Specify a system that is independent of a platform –Code generation

45 Model-Driven Development (MDD) The Vision Should go far beyond the notion of CASE (Computer Aided Software Engineering) tools of the 80’s Reduced gap between problem and realization domain –models as primary artefact throughout the lifecycle instead of code –models as program instead of models as sketch/blueprint Systematic transformations of abstract models to concrete implementations Standards for uniform storage, exchange, and transformation of models

46 Developing in the MDA PIM –Platform Independent Model(PIM) represents business functionality and behavior without technology details PSM –Applies a standard mapping to create or generate a Platform Specific Model (PSM) from the PIM Code Model –Create or generate the code for PSM Platform Independent Model Code Model Platform Specific Model

47 Modeling Methods (not all are MDA) ER OMT UML RMM HERA WEBML HDM HDM-lite W2000 WSDM OOHDM UWE OO-H OOWS WebSA WAE WAE2 Data- oriented Hypertext -oriented Object- oriented SW-oriented 2001 MDA

48 UML for Web Engineering UML Web Engineering (UWE) notation –UML-compliant –Comprehensive modeling tool –Download it here: –Requires MagicDraw UML (the free edition is enough)

49 OVERVIEW OF OTHER MODELING METHODS

50 WebML WebML (Web Modeling Language) is a visual notation and a methodology for designing complex data-intensive Web applications In 2013 WebML has been extended to cover a wider spectrum of front- end interfaces, thus resulting in the Interaction Flow Modeling Language (IFML), adopted as a standard by the Object Management Group (OMG). Official webpage: Tools support:

51 WebML

52 HERA

53 OOHDM

54 WRAP-UP That’s almost all for day…

55 Things to keep in mind (or summary) Modeling is fundamental –Helps development –Supports communication Model Driven Design and Development –Automatic code generation of Web applications One model for each layer –Content –Navigation –Presentation Different methods have different expressive power

56 Bibliography Mandatory reading –Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Wiley & Sons. 3 nd Chapter Suggested –UML-based Web Engineering

57 Next Lecture #DateTitle 15 th MarchWeb Engineering Introduction and Overview 212 th MarchRequirements Engineering for Web Applications 319 th MarchWeb Application Modeling 49 th AprilWeb Application Architectures 516 th AprilDeveloping Applications with WebML 623 rd AprilTesting and Usability of Web Applications 730 th AprilMaintenance and Performance of Web Applications 87 th MayWeb Technologies I 914 th MayWeb Technologies II 1021 st MayWeb Application Development Process 1128 th MayProject Management for Web Applications 124 th JuneWeb Application Security 1311 th JuneMobile Application Development I 1418 th JuneMobile Application Development II 1425 th JuneFinal Exam

58 Questions?