Introduction to UML Todd Bacastow Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage.

Slides:



Advertisements
Similar presentations
1 Review Visual System Modeling Tools Todd Bacastow Penn State University Geospatial System Analysis & Design.
Advertisements

Introduction to UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis & Design.
Unified Modeling Language
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
UML – Class Diagrams.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Unified Modeling (Part I) Overview of UML & Modeling
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
SE 555 Software Requirements & Specification Requirements Analysis.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Introduction to Entity-Relationship Diagrams, Data Flow Diagrams, and UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis.
Training of master Trainers Workshop e-Services Design and Delivery
UML Overview. UML Diagrams to be Covered Class Diagrams Use Case Diagrams Collaboration Diagrams Sequence Diagrams Package Diagrams Component Diagrams.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
Unified Modeling Language, Version 2.0
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Spatial Databases: Building Spatial DB Spring, 2015 Ki-Joune Li.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
UML Class Diagrams 1 These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Databases : Database Building Procedures 2007, Fall Pusan National University Ki-Joune Li.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Prof. Hany H. Ammar, CSEE, WVU, and
Chapter 3: Introducing the UML
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 More About UML Todd Bacastow Penn State University Geospatial System Analysis & Design.
1 Documenting Solutions Todd Bacastow Penn State University Geog 468 GIS Analysis & Design.
Inf 43: Introduction to Software Engineering May 7, 2016.
Systems Analysis and Design in a Changing World, Fourth Edition
Introduction to UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis & Design.
Spatial Databases: Building Spatial DB
Object-Oriented Analysis and Design
Unified Modeling Language
UML: Unified modeling language
Object-Oriented Design of Spatial Entities Todd Bacastow
Rational Unified Process
Unified Modeling Language
Spatial Databases: Building Spatial DB
Spatial Databases: Building Spatial DB
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Introduction to UML Sources:
Software Development Process Using UML Recap
Presentation transcript:

Introduction to UML Todd Bacastow

Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage Requirements Use Component Architectures Develop Iteratively Verify Quality

Attack risks through progress measured in products - not documentation Continuous integration Frequent releases Continuous user involvement Attack risks through progress measured in products - not documentation Continuous integration Frequent releases Continuous user involvement Features of the Process

RUP is an Iterative Approach Initial Planning Requirements Capture Analysis & Design Implementation Test Deployment Evaluation Management Environment

Manage Requirements Elicit, organize, and document required functionality and constraints Track and document tradeoffs and decisions Business requirements are captured and communicated through use cases Use cases are important planning instruments Design Model Implementation Model Test Model verifies realizationinfluenced by Use-Case Model

Model Visually Capture the structure and behavior of architectures and components Show how the elements of the system fit together Maintain consistency between a design and its implementation Promote unambiguous communication Code Classes Sub Systems

What is the UML? Unified Modeling Language It is a modeling language, not a process In 1996, work on the UML was begun by Rational.

UML Diagrams 1.Class (and Object) Diagrams 2.Use Case Diagrams 3.Collaboration Diagrams 4.Sequence Diagrams 5.Package Diagrams 6.Component Diagrams 7.Deployment Diagrams 8.Activity Diagrams 9.State Diagrams

Class Diagrams Offspring of the Entity-Relationship Diagram Are the most fundamental UML Diagram Describe the classes in the system, and the static relationships between classes Class diagrams are used during Analysis, Design and Development

UML Class Diagram DVD MovieVHS MovieVideo Game Rental Item Rental Invoice 1..* 1 Customer Checkout Screen *

UML Class Diagram DVD MovieVHS MovieVideo Game Rental Item {abstract} Rental Invoice 1..* 1 Customer Checkout Screen Simple Association Class Abstract Class Simple Aggregation Generalization Composition (Dependency) Multiplicity 1..* 1

Associations, Aggregations, and Generalizations Association - describe the relationships between classes or objects Aggregation - each invoice is composed of one customer and one or more customers can be part of an invoice Composition – an invoice cannot exist without component rental items Generalization – DVD, VHS, and game are fully consistent with Rentable Item and may be used wherever Rentable Item is allowed

Parts of a Class Classes can have four parts –Name –Attributes –Operations –Responsibilities Classes can show visibility and types. All parts but the Name are optional Think of it as a table MyClassName +SomePublicAttribute : SomeType -SomePrivateAttribute : SomeType #SomeProtectedAttribute : SomeType +ClassMethodOne() +ClassMethodTwo() Responsibilities -- can optionally be described here.

Object Diagrams An Object is an instance of a class. Object names are underlined. Object diagrams are similar to class diagrams. Many of the same notations are used. Object diagrams capture instances of classes, and allow the dynamic relationships to be shown Think of it as a row in a table ThisOne : MyClassName +SomePublicAttribute : SomeType -SomePrivateAttribute : SomeType #SomeProtectedAttribute : SomeType +ClassMethodOne() +ClassMethodTwo()

Class and Object Diagrams * Customer Rental Item Rents +name:string +id:integer +released:date +id:integer Joe: CustomerCasablanca: Movie +name:Joe Smith +id:1667 +released:1942 +id:22340 Class Diagram Object Diagram Class Name Object Name Attributes Association Name

Use Cases Describe interactions between users and computer systems (both called actors). Capture user-visible functions. Achieve discrete measurable goals. Are typically used during Analysis and Design.

Use Case Diagram Telephone Customer In-Store Customer Clerk Identify Movie Open Account Return Movie Customer Review Account Status Actor Use Case

Use Case Report The Use Case Report provides documentation for the Use Case. A Use Case is not complete without the report. The elements of the Use Case Report are shown on the right. Brief description Precondition Flow of events –Main flow –Subflows –Alternate flows Postcondition Special Requirements Enclosures –Diagrams –Pictures of the UI Brief description Precondition Flow of events –Main flow –Subflows –Alternate flows Postcondition Special Requirements Enclosures –Diagrams –Pictures of the UI

UML Diagram Usage

Summary UML is a standardized notation that can express information gathered throughout a project’s lifecycle. UML can improve communication between clients and developers. UML can be used as an effective data modeling tool as well as an object modeling tool.