UML - The Dynamic View: Sequence and Collaboration Diagrams

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Session 18 Modeling the Dynamic View: The Collaboration Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 20, 2011 Presented.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Chapter Extension 7 How the Internet Works © 2008 Prentice Hall, Experiencing MIS, David Kroenke.
Jacob Boston Josh Pfeifer. Definition of HyperText Transfer Protocol How HTTP works How Websites work GoDaddy.com OSI Model Networking.
Introduction 2: Internet, Intranet, and Extranet J394 – Perancangan Situs Web Program Sudi Manajemen Universitas Bina Nusantara.
Understanding Networked Applications: A First Course Chapter 11 by David G. Messerschmitt.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
The chapter will address the following questions:
A global, public network of computer networks. The largest computer network in the world. Computer Network A collection of computing devices connected.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
IT 210 The Internet & World Wide Web introduction.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Server-side Scripting Powering the webs favourite services.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
Chapter 4 Networking and the Internet. © 2005 Pearson Addison-Wesley. All rights reserved 4-2 Chapter 4: Networking and the Internet 4.1 Network Fundamentals.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
1 Welcome to CSC 301 Web Programming Charles Frank.
CSC480 Software Engineering Lecture 11 September 30, 2002.
Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 3-1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
The Intranet.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Lecture 18: Object-Oriented Design
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
1 Lecture 3 Major Architectural Models View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern.
XP 1 Charles Edeki AIU Live Chat for Unit 2 ITC0381.
4.01 How Web Pages Work.
Chapter Objectives In this chapter, you will learn:
Understanding Web Server Programming
IS1500: Introduction to Web Development
The Intranet.
UML Diagrams By Daniel Damaris Novarianto S..
The Client-Server Model
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Systems Analysis and Design
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Internet and Intranet.
Object-Oriented Analysis and Design
Introduction To Web Design
Unified Modeling Language
E-commerce | WWW World Wide Web - Concepts
Introduction to Unified Modeling Language (UML)
Copyright © 2006 Pearson Addison-Wesley. All rights reserved.
Prepared By Sidra Noureen
E-commerce | WWW World Wide Web - Concepts
Distributed web based systems
UML Diagrams Jung Woo.
Object-Orientated Analysis, Design and Programming
Internet and Intranet.
Object-Oriented Analysis
Copyright © 2006 Pearson Addison-Wesley. All rights reserved.
Application layer Lecture 7.
Introduction To System Analysis and Design PART 2
Web Design & Development
Copyright © 2006 Pearson Addison-Wesley. All rights reserved.
CRC Modeling (class-relationship-collaborator)
Internet and Intranet.
Web Page Concept and Design :
Analysis models and design models
4.01 How Web Pages Work.
Q/ Compare between HTTP & HTTPS? HTTP HTTPS
Internet and Intranet.
Presentation transcript:

UML - The Dynamic View: Sequence and Collaboration Diagrams

The Dynamic View Sequence Diagram Collaboration Diagram State Chart Diagram

Sequence Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 169. Wiley, New York , NY.

Collaboration Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 188. Wiley, New York , NY.

Sequence Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 170. Wiley, New York , NY.

Sequence Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 172. Wiley, New York , NY.

Object Creation [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 173. Wiley, New York , NY.

Collaboration Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 190. Wiley, New York , NY.

Collaboration Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 191. Wiley, New York , NY.

Sequence Diagram Example [1] Use the Scenarios from the Activity Diagram 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 180. Wiley, New York , NY.

Sequence Diagram Example [1] Define the Objects Participating in the given scenario 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 181. Wiley, New York , NY.

Sequence Diagram Example [1] … add messages 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 181. Wiley, New York , NY.

Sequence Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 182. Wiley, New York , NY.

Sequence Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 182. Wiley, New York , NY.

Sequence Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 183. Wiley, New York , NY.

Sequence Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 184. Wiley, New York , NY.

Sequence Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 184. Wiley, New York , NY.

Sequence Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 185. Wiley, New York , NY.

Collaboration Diagram Example [1] Use the Scenarios from the Activity Diagram 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 194. Wiley, New York , NY.

Collaboration Diagram Example [1] Define the Objects Participating in the given scenario 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 195. Wiley, New York , NY.

Collaboration Diagram Example [1] Link the Objects and … 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 195. Wiley, New York , NY.

Collaboration Diagram Example [1] … add collaborations 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 198. Wiley, New York , NY.

Collaboration Diagram Example [1] Or add links one by one as you add collaborations 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 196. Wiley, New York , NY.

Collaboration Diagram Example [1] Or add links one by one as you add collaborations 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 196. Wiley, New York , NY.

Collaboration Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 197. Wiley, New York , NY.

Collaboration Diagram Example [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 198. Wiley, New York , NY.

Mapping to the Class Diagram [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. pp. 200. Wiley, New York , NY.

Support Relationships [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

UML Views and Diagrams [1] 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

CRC Methodology

CRC Methodology “Classes, Responsibilities, Collaborations” methodology… … is not UML … is not a part of UML … does not use UML … , but can be used in support of UML

A Sample CRC Card[1] 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

The CRC Process[1] Before the Scenario Execution During the Scenario Execution After the Scenario Execution 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

Before the Scenario Execution[1] Define the problem Brainstorm for classes Define and filter classes Assign cards to members 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

During the Scenario Execution[1] “Simulate” scenarios to discover responsibilities Assign each responsibility to the proper class Identify similar classes, and group the cards Review the scenario list for completeness Draw collaborations between classes 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

After the Scenario Execution[1] Review the model Plan the implementation 1) Pender, T.A. 2002. UML Weekend Crash Course. Wiley, New York , NY.

Algorithms and Protocols

Algorithm Specified sequence of steps that Representation: accomplish a designated task in a finite number of steps Representation: simple algorithm: flowchart complicated algorithm: program

Example: One Turn at Monopoly Move token number of squares indicated on dice Start turn Throw dice Land on “go to jail”? Move to “jail” square Yes No Do not move; follow policies for square (like “pay rent”) Finish turn

Algorithm Building Blocks Start Start Start Programming languages support these three building blocks Action Action Decision Test Action Action Action Action Finish Finish Finish Loop Sequence Selection

Protocol Distributed algorithm realized by two or more modules to coordinate their actions or accomplish some shared task Module interoperability requires a protocol Prescribed order of method invocations Part of interface documentation

Monopoly Players Protocol One-turn algorithm This is a protocol interaction diagram Time

Application and infrastructure The application defines its own application-level protocols Internally, the network uses protocols to implement the services it provides

Three simple protocols One-way message: send-receive Two-way interaction: request-response Push: publish-subscribe

Client Server send receive request response subscribe responses Time

Example: HTTP  User activates URL  HTTP request  HTTP response HTTP client (browser) HTTP server  HTTP response (embedded document)  Browser displays document (if HTML) or invokes “helper application” HTML documents

Example: Stock trading Customer wants to purchase 10 shares of MSFT if price is below $90 Customer StockTrader What is application protocol?

Locating Things

Three ways of locating things Name “John Doe” Address “1299 Rockville Pike, Rockville, MD” Reference “Postmaster of Rockville MD”

Name Symbolic (character string) representation Easy for people to remember or guess Identifies but does not locate directly Distinction important for mobile entities Not unique: entities can have more than one name (called aliases)

Hierarchical names Hierarchy makes names easier to remember or guess Host domain names: “info.sims.berkeley.edu” designates administrative hierarchy File names: “c:\My Documents\Docs\Resume.doc” designates folder hierarchy

Address Route or path to entity is directly specified, or can be inferred Independent of who or what is locating entity Topological specification

Example 4 3 1 2 Path from to is (1,2,2,2,1,1,1,1) Not an address, because it depends on starting point

Example (1,1) (1,2) (1,3) (1,4) (1,4) (2,1) (2,2) (2,3) (2,4) (2,5) Address of is (2,5) Route from can be inferred

Reference Abstract representation of an entity Interaction is with representation infrastructure arranges redirection to actual entity especially appropriate for things that move

Reference Client Server address

Name services 3. interaction 1. name 2. address or reference Name