A tool for presentation of Architecture

Slides:



Advertisements
Similar presentations
7M701 1 Information Systems Modelling and Design with.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
UML: An Introduction.
UML: Unified Modeling Language
Quiz 1. Who is the guru of Extreme Programming?
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Unified Modeling Language, Version 2.0
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
UML Diagrams A tool for presentation of Architecture.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
An Introduction to the Unified Modeling Language
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
UML (Unified Modeling Language)
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction to UML.
Use Cases -Use Case Diagram
Business Process and Functional Modeling
CHAPTER
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Unified Modeling Language Tutorial
Evolution of UML.
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language—UML A Very Brief Introduction
Systems Analysis and Design With UML 2
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Dynamic Modeling of Banking System Case Study - II
Introduction to Unified Modeling Language (UML)
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
OO Domain Modeling With UML Class Diagrams and CRC Cards
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
A short introduction to UML Eivind J. Nordby Karlstad University
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
A tool for presentation of Architecture
Introduction to Unified Modeling Language (UML)
ניתוח מערכות מידע א' הרצאה 3
The Unified Modeling Language
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Use Cases & Use Case Diagrams
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
CIS 375 Bruce R. Maxim UM-Dearborn
Real-time (OO) Systems Design Using UML
Analysis models and design models
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Copyright 2007 Oxford Consulting, Ltd
Introduction to UML Sources:
Chapter 22 Object-Oriented Systems Analysis and Design and UML
ITEC324 Principle of CS III
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
ITEC324 Principle of CS III
Presentation transcript:

A tool for presentation of Architecture UML Diagrams A tool for presentation of Architecture

UML origins 80’s and early 90’s – explosion of modeling methods and notations Not to mention competition among methods people The “three amigos” (Booch, Jacobson, Rumbaugh) were working on the UML by 1996 OMG issued UML 1.3 in March, 2000 OMG issued UML 2.0 in July 2005

UML is Language NOT method Good for communication Standardization is essential Mostly graphical Example: used everywhere in Fowler NOT method You can use any design method you like to create UML diagrams Standardization can be helpful, but is not so important

More precise, less precise … UML Natural language Usefulness in design Code Precision

UML diagram types (1.x) Static diagrams Dynamic diagrams Use case Class Dynamic diagrams Object State Activity Collaboration (Called Communication in UML 2.0) Sequence Implementation diagrams Component Deployment

UML 2.0 New Diagrams Composite Structure – runtime decomposition of a class Interaction Overview – mixed sequence and activity Timing – interaction between object with timing Composite Structure – Runtime decomposition of class

Ron’s Belief: (Applied to UML) Use what makes sense Don’t be subservient to the tool You don’t always need electronic forms and editors – use paper and a pencil!

Use Case Diagram Elements Order Merchandise Order Book <<include>> Enter Credit Card consumer Check Order Status Remember: the ovals are use cases, NOT use case steps Use case names should be: Action-verb + object-phrase

Use Case Diagram

O-O Diagrams Class – static relationships Object – dynamic snapshot Inheritance, composition, association,dependency Object – dynamic snapshot Object relationships at runtime, processes,threads

Classes Class name Attributes Interface Operations

Relationships dependency association generalization realization

Class Diagram

<<interface>> <<transfer object>> Stereotypes Text in << >> are stereotypes Stereotypes should be defined in the project’s glossary. Examples: <<interface>> Runnable + run( ) : void <<transfer object>> BankMessage + balance : Money + account : long

Behavioral Diagrams Sequence Collaboration State Chart Activity Interaction (for one use case) viewed by time Collaboration Interaction (for one use case) viewed by structure State Chart Internal state of an object (or class) across multiple use cases Activity Interaction of multiple objects across multiple use cases (includes concurrent activity)

Sequence diagram

System Sequence diagram (a way to draw use case steps) :Customer :Amazon.com :creditCardSvc Add book to cart Confirm cart contents Request checkout Request authentication Provide credentials Present options Credit card service is a supporting actor This is a case where return arrows are often helpful Don’t try to include the whole GUI spec! These diagrams may not work with business people, but IT people may find them helpful for clarification, design input Third edition of Larman may have different chapter numbers (I have 2nd edition) Provide credit card info, shipping options Validate card Confirm order See Larman, Chpt 9 (2nd edition)

Summing up UML is responsibility-oriented UML diagrams are a means to an end OOAD allows many benefits, but does not guarantee them

UML Usage Guide Use the diagrams to communicate Don’t become a slave to the diagrams What you leave out is as important as what you put into the diagram! Highlight important details; leave the rest out Rule of thumb: when in doubt, leave it out.

Review question Why are there so many types of diagrams?

Bonus material

Three levels of class diagrams Conceptual view Boxes are concepts, associations are associations :-) Concepts may or may not correspond to classes Specification view Boxes are interfaces Associations imply responsibilities Implementation view Boxes are classes Associations imply navigability Following Fowler, UML Distilled

Behavioral Things state message object Alice:Employee asynch message

Components and Nodes component node

System Packaging Component Diagrams Deployment Modules and Packaging of software Deployment Physical Layout Hardware