Other UML Diagramming Techniques

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

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.
© 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.
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.
© Copyright Eliyahu Brutman Programming Techniques Course.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
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
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
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.
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.
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.
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.
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.
Activity Diagramming by Andrzej Rosolski Stanisław Gliniewicz.
Chapter 5 – System Modeling
Introduction to UML.
Business Process and Functional Modeling
Appendix 3 Object-Oriented Analysis and Design
Analysis Classes Unit 5.
UML Diagrams By Daniel Damaris Novarianto S..
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)
Unified Modeling Language—UML A Very Brief Introduction
Unified Modeling Language
Sequence and Collaboration Diagrams
Activity and State Transition Diagram
UML Diagrams Practical Tutorial
UML Diagrams Jung Woo.
System Modeling Chapter 4
Abstract descriptions of systems whose requirements are being analysed
UML PPt by: Hong Qing Yu.
Software Design AITI GP John Paul Vergara.
Business System Development
UML Activity Diagrams.
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Introduction to UML Introduction to UML Shiyuan Jin September,23,2002
Object-Oriented Analysis
Systems Analysis and Design With UML 2
Week 12: Activity & Sequence Diagrams
Activity Diagrams.
Software Design Lecture : 15.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 4 System Modeling.
Appendix 3 Object-Oriented Analysis and Design
Chapter 14. Activity Modeling for Transformational Systems
On to Object Design c. 14.
Chapter 4 Sequence Diagrams
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 start Reserved release New reserve Borrowed borrow activate return Available

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

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 Package diagrams depict 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