Final Notes on the UML CS 123/231. UML Diagramming Techniques zClass Diagrams zUse Case Diagrams zInteraction 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
Use Cases and Object Interaction CS 123/CS 231. Depicting System Behavior zFirst, identify the use cases ÕUse case: typical interaction between a user.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
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.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Introduction to UML Part 2 Behavioral Modeling. Sequence (event) diagram Describes object interaction Typically captures behavior of a single use case.
Introduction to UML Visual modeling Models and its importance
Chapter 21 Object-Oriented Analysis
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Use Case Modeling.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Unified Modeling Language
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 7-- Software Engineering 7.5 Tools of the Trade 楊家愉 應數一
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
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.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Object-Oriented Design Notation CS 123/CS 231. References zMain Reference: UML Distilled, by Martin Fowler ÕChapters 3, 4, 6, and 8 zSupplementary References:
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
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.
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.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
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.
Software Design CS 123/CS 231. What is Design? zDesign is the activity of specifying a solution to a problem zContrast this against other software engineering.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
4+1 View Model of Software Architecture
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Introduction to UML.
Working out the Details
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Business System Development
UML dynamic Modeling (Behavior Diagram)
Other UML Diagramming Techniques
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Final Notes on the UML CS 123/231

UML Diagramming Techniques zClass Diagrams zUse Case Diagrams zInteraction Diagrams Õ Sequence diagrams ÕCollaboration diagrams zState Diagrams zOthers (e.g., Activity Diagrams, Packages)

Activity Diagram zRepresents sequence of activities zDepicts condition, iteration, and parallel activities zWhen to use: ÕAnalyzing use cases xAlternate way of describing a use case xDepicting use case sequences/workflow ÕDescribing method behavior

Activity Diagram Notation zOval - activity zStart and end buttons zLinks between ovals to depict sequence zDiamond – conditional branch and merge zBar – fork and join (concurrent activities)

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

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

CRC Cards, continued zTeam goes through each use case and role-play object interaction zResponsibilities (which end up being methods) are noted on the index card zUse 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 zRole-playing activity for each use case maps directly to interaction diagram construction zEach card provide class details (methods) for the class diagram

Package Diagrams zRecall: Architectural Design ÕDivide a system into subsystems ÕDepicted using a block diagram zOO alternative: Package Diagrams ÕPackage Subsystem zPackage: group of classes zDependencies between packages

Package Diagram Notation zFolder: Package zDotted arrow between folders: dependency link zTwo variations ÕAbbreviated: name in folder ÕDetailed: name on folder tab, rectangles representing classes in folder area

Using the UML zUse the UML as a communication tool across the different stages of software engineering zPrimarily a design tool but helpful in analysis as well zImportant to note what stage or perspective you are in

Perspectives zConceptual (analysis) ÕFocus on domain and requirements ÕUse case diagram, high-level class diagram, maybe some activity diagrams zSpecification (design) ÕFocus on solution/programming details zImplementation ÕFocus on code

Phases in the Rational Unified Process zInception ÕFeasibility Study ÕAnalysis zElaboration ÕAnalysis ÕDesign zConstruction ÕImplementation and Testing