Web Application Modeling

Slides:



Advertisements
Similar presentations
DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Introduction To System Analysis and Design
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Introduction To System Analysis and design
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
1 © Copyright 2015 Ioan Toma & Srdjan Komazec & Nelia Lassiera Web Engineering Web Application Modeling.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Web Engineering Web Application Modeling Dr. Mohammad Ahmad.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
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.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture MDA SE-548 Lale Doğan
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Introduction to OOAD and UML
© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Modeling Lecture III – 21 st October 2008 Federico M. Facca.
Building Enterprise Applications Using Visual Studio®
CompSci 280 S Introduction to Software Development
UML Diagrams By Daniel Damaris Novarianto S..
UNIT 1.
Web Engineering Web Application Modeling
Object-Oriented Analysis and Design
SysML v2 Formalism: Requirements & Benefits
Object-Oriented Techniques
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Mastering UML with Rational Rose 2002
Today in OOAD Today in Lab Review EU-Lease Assignment (Vision)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Modelling Clinical Information Using UML
Tools for Composing and Deploying Grid Middleware Web Services
Evaluating Compuware OptimalJ as an MDA tool
Chapter 20 Object-Oriented Analysis and Design
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
Appendix A Object-Oriented Analysis and Design
CS310 Software Engineering Dr.Doaa Sami
UML profiles.
Analysis models and design models
Software Design Lecture : 15.
Constructing MDA-based Application Using Rational XDE for .NET
Metadata Framework as the basis for Metadata-driven Architecture
An Introduction to Software Architecture
Copyright 2007 Oxford Consulting, Ltd
Software Analysis.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Model Driven Software Development
Uml diagrams In ooad.
From Use Cases to Implementation
UML Design for an Automated Registration System
Software Architecture & Design
Presentation transcript:

Web Application Modeling Web Engineering Web Application Modeling

Define an abstract view of a real-world entity Why Create Models? 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

Software Application Modeling Levels User interface Application Logic Phases Structure Analysis Design Implementation Behavior Aspects Levels – the “how” & “what” of an application Aspects – objects, attributes, and relationships; function & processes Phases – Development cycle Data Engineering (structure) E-R Chen 1976 UML covers structure, behavior, application logic and user interface Aspects=orthogonal dimension! They refer to the aspects of levels. E.g. application logic structure, application logic behavior. This is take from the book. As regards me, also content should be modeled for normal software applications….

Web Application Modeling Levels Presentation Hypertext Customization Content Phases Structure Analysis Design Implementation Behavior Aspects Levels – Information, node/link structure, UI & page layout separate. Aspects – Same as Software Applications Phases – Approach depends upon type of application Customization – Context information Methods adopted or the web are not new. They are derived from traditional SW. But… hyperlinks?! Why adding a new layer? Corresponds to the status of web applications Improve reuse Content, is the content as displayed in the web application=information structure Several pages access the same content…. If you model it you can reuse it. Presentation: structure: user interface elements and their composition behavior: reactions to input events, interaction and synchronization between user interface elements Hypertext: structure: page compositions and navigational relationships behavior: run-time behavior of hypertext Content structure: domain-dependent data behavior: domain-dependent application logic Phases: There are several approaches: Information based Presentation based Logic based

We focus on object-oriented analysis & design 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.

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

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 We saw something about “sharing” and “reusing” knowledge. Where? Can it help?

Model Driven Development From sketch models to code models Model Driven Development

Diagrams are, after all, just pretty pictures 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 Provision of an expressive modeling language … to allow the specification, construction, visualization, and documentation of different artifacts of a software system … to build different types of diagrams … to provide for the exchange of models Meaning of the term »Unified« Support of the whole development process Flexibility with respect to process models Independence from development tools/platforms and programming languages Employment for various application areas Genericity of language concepts defined in the metamodel Integration of »Best Practices« M. Fowler, ”UML Distilled”, 1st edition, Addison Wesley, 1997

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

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 Models as program Applications are automatically generated Essence: models become the source code degree of model-drivenness

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), Model Driven Architecture (MDA) Model Driven Web Engineering (MDWE)

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 Transform a platform-independent (PIM) system specification into a specific platform (PSM) Code generation The MDA is an innovative approach to constructing an enterprise architecture. It is an initiative created by the Object Management Group. OMG’s focus has always been, and still is, to help users solve integration problems, in a productive way, by supplying open, vendor-neutral interoperability specifications, which is being achieved by the widely adopted CORBA standard . The MDA is OMG’s next step in solving integration problems, which is upward from application implementation to the level of application design, which takes full advantage of the successful Unified Modeling Language(UML) standard, also developed by OMG.

Model-Driven Development (MDD) The Vision Should go far beyond the notion of CASE 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 multiple levels of abstractions, (e.g., OMG’s PIM, PSM and PDM) horizontal (M2M) and vertical (M2C) transformations Standards for uniform storage, exchange, and transformation of models, e.g., OMG’s MOF (Meta Object Facility) and Eclipse’s realization “Ecore” XMI (XML Metadata Interchange) and OCL (Object Constraint Language)

Developing in the MDA PIM PSM Code Model 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 Platform Independent Model Platform Specific Model Lets now look at how applications are developed using the MDA. Step 1. All MDA development projects start with the creation of a Platform Independent Model(PIM), which is expressed in UML. The PIM expresses only business functionality and behavior. Built by business and modeling experts working together, this model expresses business rules and functionality undistorted, as much as possible, by technology. The clarity of this modeling environment allows business experts to ascertain, much better than they could if working with a technological model or application, that the business functionality embodied in the PIM is complete and correct. Another benefit: Because of its technological independence, the PIM retains its full value over the years, requiring change only when business conditions mandate. Transition: MDA tool applies an standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written Step 2. Once the first iteration of the PIM is complete, it is stored in a MOF based Repository and input to the mapping step which will produce a Platform-Specific Model (PSM). To produce your PSM, you will have to select a target platform or platforms for the modules of your application. Such as J2EE, .NET etc. Transition: MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. Step 3. Once the PSM has been created/generated, the 3rd and final step is to generate the code/implementation model. This will create/generate all of the files the platform requires. When I talk about platforms, I’m referring to the application server(s) your application will run on and programming languages, such as Java, C++ or C# your application will be generated into. This will result in a first cut working application, which can be further enhanced through the MDA process or by hand-coding. Take note that the mapping standard between PIM, PSM and the Code Model has been defined by OMG but the implementation not. MDA compliant tool vendors have implemented portions of the MDA, but OptimalJ is one of the few tools that has implemented the MDA completely to automatically generate a complete application from a PIM to PSM and finally to the Code Model. Code Model