Simple UML 7-Dec-18.

Slides:



Advertisements
Similar presentations
Georgia Institute of Technology Object-Oriented Analysis Barb Ericson June 2006.
Advertisements

UML Class and Sequence Diagrams Violet Slides adapted from Marty Stepp, CSE 403, Winter 2012 CSE 403 Spring 2012 Anton Osobov.
Design Patterns in Java Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
What is UML? A modeling language standardized by the OMG (Object Management Group), and widely used in OO analysis and design A modeling language is a.
UML a crash course Alex Lo Brian Kiefer. Overview Classes Class Relationships Interfaces Objects States Worksheet.
13-Jul-15 Refactoring II. Books Design Patterns is the classic book by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides Basically a catalog.
SE-565 Software System Requirements More UML Diagrams.
1 CSE 403 Design and UML Class Diagrams Reading: UML Distilled Ch. 3, by M. Fowler These lecture slides are copyright (C) Marty Stepp, They may not.
1 TCSS 360, Spring 2005 Lecture Notes Design Phase and UML Class Diagrams Relevant Reading: UML Distilled, Third Edition M. Fowler.
UML January 24, 2011 CSE 403, Winter 2011, Brun Design and UML Class Diagrams.
Unified Modeling Language
Introduction to UML Lian Yu Department of Computer Science and Engineering Arizona State University Tempe, AZ
Introduction to Object Oriented Design. Topics Designing Your Own Classes Attributes and Behaviors Class Diagrams.
31-Oct-15 Simple UML IB Computer Science. 2 What is UML? UML stands for Unified Modeling Language UML is a diagramming language designed for Object- Oriented.
UML Class Diagrams 1 These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission.
An Introduction to the Unified Modeling Language
1 Introduction to Classes and Objects Chapter 3 Introduction to Classes and Objects Chapter 3.
Object Oriented Software Development
CSE 403, Spring 2008, Alverson Using UML to express Software Architecture.
ArgoUML—Free and Easy Rui Wu. What is ArgoUML UML diagramming application First implemented by Jason E. Robbins for his Ph. D. degree Now, free and open.
Chapter 16 UML Class Diagrams.
Copyright © 2012 Pearson Education, Inc. Chapter 13: Introduction to Classes.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Unified Modeling Language (UML)
A means of graphically displaying a complicated programs 18-Mar-16 UML Thanks to Dave Matuczek, UPenn.
Object Oriented Analysis & Design By Rashid Mahmood.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Unified Modeling Language
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
COP 3330 Notes 4/13. Today’s Topics UML Class Diagrams.
TCSS 305 (Stepp) OO Design with UML Class Diagrams
Testing Tools & Standards
UML(Unified Modeling Language)
Unified Modeling Language
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Objects as a programming concept
Object-Oriented Analysis and Design
Chapter 16 UML Class Diagrams.
Unified Modeling Language—UML A Very Brief Introduction
Interface, Subclass, and Abstract Class Review
Chapter 11 Object-Oriented Design
Unified Modeling Language
Lecture on Design Phase and UML Class Diagrams
Introduction to UML Tutorial 1.
Design Class Diagrams
Object-Oriented Analysis
CompSci 230 Software Construction
Refactoring II 21-Sep-18.
Procedural Abstraction Object-Oriented Code
Simple UML 11-Nov-18.
The Basics of Class Diagrams for a single class
Corresponds with Chapter 7
Intro to UML Edited from presentation found at:
Unified Modeling Language
CIS 375 Bruce R. Maxim UM-Dearborn
Object Oriented Programming
Object Oriented Analysis and Design
Refactoring II 5-Feb-19.
Simple UML 13 Nov 2018.
Copyright 2007 Oxford Consulting, Ltd
Which best describes the relationship between classes and objects?
Class Diagrams Class diagram is basically a graphical representation of the static view of the system and represents different aspects of the application.
Introduction to UML Sources:
CIS 375 Bruce R. Maxim UM-Dearborn
The generalization of class
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Object Oriented Programming
Presentation transcript:

Simple UML 7-Dec-18

What is UML? UML stands for Unified Modeling Language UML is a diagramming language designed for Object-Oriented programming UML can be used to describe: the organization of a program how a program executes how a program is used how a program is deployed over a network …and more

Design Patterns Design Patterns describe the higher-level organization of solutions to common problems Design Patterns are a current hot topic in O-O design UML is always used for Design Patterns Design Patterns are used to describe refactorings We may discuss some Design Patterns later on in this course

UML is complex UML is a big, complicated diagramming language UML comprises at least seven or eight different kinds of diagrams This talk will cover just a tiny bit of one kind of diagram, the class diagram A class diagram is often all that is needed to describe a particular Design Pattern

Class diagrams A class diagram shows classes, interfaces, and their relationships We’ll cover most of classes and interfaces, and a few of the most important relationships

Classes A class is drawn as a rectangle with two or three compartments: Name of the class Variables [optional] Methods

Variables I A variable is written as: visibility name : type where: + means public visibility # means protected visibility - means private visibility <blank> means default (package) visibility Example: +length:int

Variables II Static variables are underlined An initial value can be shown with =value Example: -numberOfEmployees:int=10 means numberOfEmployees is: private static integer and has 10 as its initial value

Methods Methods are written as: visibility name (parameters) : returnType where visibility uses the same syntax variables (+, -, #, blank) parameters are given as name:type if the returnType is void, it is omitted constructors are preceded by «constructor» interfaces are preceded by «interface» an ellipsis (…) indicates omitted methods

Example of a class Card cardId:int -copy:boolean=false «constructor» Card(int id) +isKind(desiredKind:int) +isSharable():boolean +toString():String

Types of relationships B C D 1..4 Factory Product creates Class B extends class A Class C contains 1 to 4 objects of class D Other kinds of relations

Example: Secret Code program

UML tools Rational Rose is the “real world” standard; full round-trip code generation Recently acquired by IBM (right under Microsoft’s nose!) Together (from Borland) is a lot like Rational Rose I haven’t used it in about five years (since before Borland bought it from TogetherSoft) ArgoUML looks interesting (and is open source) BlueJ, of course, displays simple UML diagrams Drawing programs with UML support Visio is a Microsoft tool Dia is a freeware clone of Visio

Tool links Rational Rose Together ArgoUML Visio Dia http://www-3.ibm.com/software/awdtools/developer/rosexde/ Together http://www.borland.com/together/ ArgoUML http://argouml.tigris.org Visio Hard to find info on Microsoft’s site! http://msdn.microsoft.com/office/understanding/visio/ Dia hhttp://www.gnome.org/projects/dia/ OmniGraffle 3 (Mac OS X) http://www.omnigroup.com/applications/omnigraffle/

The End