Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Solutions to Review Questions
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Interaction Diagrams CS 124. Object collaboration A use case carried out involves objects and interaction or collaboration between these objects Method.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Software Design Deriving a solution which satisfies software requirements.
Chapter 15: System Modeling with UML
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
SE 555 Software Requirements & Specification 1 Activity Diagrams.
Introduction to UML Part 2 Behavioral Modeling. Sequence (event) diagram Describes object interaction Typically captures behavior of a single use case.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Chapter 21 Object-Oriented Analysis
© Copyright Eliyahu Brutman Programming Techniques Course.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Unified Modeling Language
Systems Analysis and Design in a Changing World, Fifth Edition
Object-Oriented Systems Analysis and Design Using UML
CS 325: Software Engineering March 3, 2015 Activity Modeling for Transformational Systems Trtansformational Systems UML Activity Diagrams.
Chapter 7 Structuring System Process Requirements
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
Chapter 14. Activity Modeling for Transformational Systems
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
UML -Part 3. Dynamic Diagram Types Interaction Diagrams - Set of objects or roles and the messages that can be passed among them. – Sequence Diagrams.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Final Notes on the UML CS 123/231. UML Diagramming Techniques zClass Diagrams zUse Case Diagrams zInteraction Diagrams Õ Sequence diagrams ÕCollaboration.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
9-1 © Prentice Hall, 2004 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
OOP Review CS 124.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Chapter 3: Introducing the UML
Interaction Diagrams CS 124. Object collaboration A use case carried out involves objects and interaction or collaboration between these objects Method.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
UML CSE 470 : Software Engineering. Unified Modeling Language UML is a modeling language to express and design documents, software –Particularly useful.
Analysis Classes Unit 5.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language—UML A Very Brief Introduction
Unified Modeling Language
Activity and State Transition Diagram
Business System Development
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Object-Oriented Analysis
Week 12: Activity & Sequence Diagrams
Activity Diagrams.
Other UML Diagramming Techniques
Appendix 3 Object-Oriented Analysis and Design
Chapter 14. Activity Modeling for Transformational Systems
Presentation transcript:

Other UML Diagramming Techniques CS 124

UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration diagrams State Diagrams Others (e.g., Activity Diagrams, Package Diagrams)

State Diagrams Depicts object behavior across use cases State: collection of values of attributes State-behavior relationship state is updated by some behavior carried out Notation States: rounded rectangles Arrows: state transitions Labels on Arrows: event/action/use case

Example 1: Book in a Library System New Available Reserved Borrowed start activate return borrow reserve release

Example 2: Claim in an Insurance System Pending Approved Rejected Closed start Officer confirms that premium payments made and claim is legitimate Customer disputes evaluation

When to Draw State Diagrams State diagrams are good at describing the behavior of an object across several use cases Use state diagrams only for those classes that exhibit interesting behavior, often the main classes of the system

State Diagrams Help Complete System Design State diagrams often reveal use cases overlooked in earlier analyses of the system State diagrams provide hints on which attributes are necessary for a given class

Activity Diagram Represents sequence of activities Depicts condition, iteration, and parallel activities When to use: Analyzing use cases Alternate way of describing a use case Depicting use case sequences/workflow Describing method behavior

Activity Diagram Notation Oval - activity Start and end buttons Links between ovals to depict sequence Diamond – conditional branch and merge Bar – fork and join (concurrent activities)

About Activity Diagrams Helps in understanding system behavior, but … it does not provide an object-oriented perspective! Suggestion: just use as a tool to clarify complex sequential/parallel relationships between behavioral components

CRC Cards Not really part of the UML But helps in construction of Class Diagrams and Interaction Diagrams CRC: Class-Responsibility-Collaboration Role-playing: Team members represent classes Each member/class holds an index card

CRC Cards, continued Team goes through each use case and role-play object interaction Responsibilities (which end up being methods) are noted on the index card Use of an index card is deliberate Responsibilities ought to be evenly distributed across the classes that interact Overloaded classes become immediately apparent

CRC Cards and UML Diagrams Role-playing activity for each use case maps directly to interaction diagram construction Each card provide class details (methods) for the class diagram

Package Diagrams Systems are often large Can be divided into subsystems In object-oriented contexts, subsystems are packages; packages are groups of classes Package diagrams depict grouping dependencies between packages

Package Diagram Notation Folder: Package Dotted arrow between folders: dependency link Two variations Abbreviated: name in folder Detailed: name on folder tab, rectangles representing classes in folder area

Summary Use the UML as a communication tool across the different stages of software engineering Diagramming techniques are primarily a design tool but helpful in analysis as well Important to note what stage or perspective (conceptual, specification, implementation) you are in There are correspondences between diagrams with actual code