Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)

Slides:



Advertisements
Similar presentations
FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Advertisements

Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
Executable UML By Luca Pellicoro. Definitions Acronym: xtUML or xUML Technology where models (such as state diagrams and class diagrams) are automatically.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Systems Analysis and Design in a Changing World, 6th Edition
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
The Design Discipline.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
RUP Implementation and Testing
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
An Introduction to Software Architecture
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
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.
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.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Software Engineering 1 Object-oriented Analysis and Design Chap 22 UML Tools and UML as Blueprint.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Prof. Hany H. Ammar, CSEE, WVU, and
Summary from previous lectures
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
(Further analysis and Refactoring) Larman, chapters 23 and 24 Glenn D. Blank, CSE432.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
Object Oriented Analysis & Design By Rashid Mahmood.
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.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Chapter 5 – System Modeling
Elaboration popo.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 20 Object-Oriented Analysis and Design
CS310 Software Engineering Dr.Doaa Sami
Constructing MDA-based Application Using Rational XDE for .NET
Chapter 23 Iteration 2.
An Introduction to Software Architecture
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Executable Specifications
Other System Requirements
Presentation transcript:

Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)

CASE TOOLS Forward Engineering code from diagrams Reverse Engineering diagrams from code Round-Trip Engineering either way – synchronize between code and diagrams Static Diagrams are easy Dynamic Modeling is hard

How to implement the process Try the free tools first Use the free tools to identify what you really need to do, and what is missing. Give it to developers to use in real-life. Make sure it supports your IDE. Is the Reverse Engineering “good enough?”

Software as Abstraction “The history of software development is a history of raising the level of abstraction.” Mellor, Balcer, Executable UML. Machine code => assembler => languages (C, Pascal) => object structure for data and behavior Each step hides details, and required new tools for support

Executable UML Eliminates programming and data design. Execution derives from design diagrams.

Types of UML ConceptCalledModeled AsExpressed As The world of thingsDataClasses Attributes Associations Constraints UML class diagram Things have lifecycles ControlStates Events Transition procedures UML state-flow-chart diagram Things do things at each stage AlgorithmActionsAction language State procedures Methods From Mellor and Balcer, Executable UML

Download the Executable UML Models The case study models in Executable UML are currently available for the BridgePoint Development Suite. BridgePoint, available from Project Technology, provides a Model Builder for creating Executable UML models, a Model Verifier for executing these models, and a set of model compilers for generating complete system code from these models.Project Technology Step 1: Download the models Download Zip File Step 2: Download information on BridgePoint: Using BridgePoint for Executable UML (PDF) Running the Case Study Models in BridgePoint (PDF) Note that this information is also contained within the Zip file above. Step 3: Request an evaluation copy of the BridgePoint Suite Using BridgePoint for Executable UML Running the Case Study Models in BridgePoint Go to Request Form Note that this link takes you out of the Executable UML Book site. Go to Request Form

Model Driven Architecture Uses Model Compilers Is built on Platform Independent Model (PIM) Executable UML Still under definition

Separate the problem into multiple domains “Semantically autonomous” Build a model for the domain Based on use cases Find the classes Understand the life-cycle (state machine) etc. Does this sound familiar? The MDA Process (1)

The MDA Process (2) “Compile your Executable UML models into an implementation.” Choose a compiler, based on statistics and the desired end result. Language, performance, repositories Specialized “model compilers” for specific, well- structure domains (like telecom) have been around for more almost 20 years.

Object Constraint Language (OCL) Formal language of logic to describe what a program should do (not how it does it). Considered a subset of UML, to add details. Similar to Operation Contracts, but done with a formal language A type of pseudo-code as in the book.

Iteration 2 What is different in the second iteration? We have spent 8 weeks on iteration 1. In our fantasy project, what has been accomplished up to now?

All software has been tested! Unit Acceptance Load Usability Customer engagement Integrated system We have a partial solution that can be delivered. Results of iteration 1

Start of Iteration 2 - Not covered in text Iteration planning meetings Reverse engineering with UML tools UI work Databases Requirements workshop at start of iteration 2

Risk and Business value Tools to use in planning iterations! Agile must always go back to business values. Risk must be used to identify the most critical areas to implement first.

Iteration 2 Fix misses from iteration 1 Customer issues Better understanding Add some new requirements for iteration 2

Chapter 24 Quick Analysis Update on the POS and the MONOPOLY Game

NextGen POS NEW requirements added in Iteration 2

NextGen POS NEW INTERFACES added in Iteration 2 Access added to three new systems.

NextGen POS NEW Domain Rules added in Iteration 2 New rules come from the Business Domain for implementation.

Next Gen POS Uses cases ok Original “fully dressed” use cases were extensive, covering all scenarios including errors and access. SSD – needs some new external ops! Support external actors! Domain model is ok! All this stuff was included

Fig SSD

Monopoly additional requirements Add special square rules Player gets $1500 Bank is unlimited Passing go gives $200 Goto Jail : but get out next turn. Income Tax - pay min($200, 10% of net)

Monopoly Use cases ok No new SSD ops Domain model changes!

Fig New Domain Model

In both cases - add to functionality Change the required artifacts Go back to Domain Model, SSDs, Use Cases to see if updates are needed. Use a Reverse-Engineering tool to create UML diagrams from code. How does the R-E UML compare to the original? Keep testing! Summary