Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Karolina Muszyńska Based on:
Object-oriented modeling Class/Object Diagrams
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
UML – Class Diagrams.
CS 425/625 Software Engineering System Models
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Documenting Requirements using Use Case Diagrams
Software Engineering I Object-Oriented Design
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Chapter 13 (Online): Object-Oriented Databases
Systems Analysis and Design in a Changing World, Fifth Edition
UML Unified Modeling Language. What is UML? Unified Modeling Language (UML) is a standardized, general-purpose modeling language in the field of software.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
CIT241 Prerequisite Knowledge ◦ Variables ◦ Operators ◦ C++ Syntax ◦ Program Structure ◦ Classes  Basic Structure of a class  Concept of Data Hiding.
Object-Oriented Modeling
1. 2 Object-Oriented Concept Class & Object Object-Oriented Characteristics How does it work? Relationships Between Classes Development Tools Advantage.
Introduction To System Analysis and Design
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012.
Systems Analysis and Design in a Changing World, 3rd Edition
Real Time Systems Modeling Structure in UML (Part I)
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Copyright © Craig Larman All Rights Reserved The Domain Model.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
Introduction to OOAD and the UML
CSE 219 Computer Science III UML. UML Diagrams UML - Unified Modeling Language UML diagrams are used to design object-oriented software systems –represent.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
4-1 © Prentice Hall, 2007 Topic 4: Structuring Systems Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey.
UML (Unified Modeling Language)
Chapter 3: Introducing the UML
Dr. Awais Majeed Object Oriented Design and UML.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
1 Chapter 13: Class Diagram Chapter 19 in Applying UML and Patterns Book.
UML Diagrams: Class Diagrams The Static Analysis Model
UML(Unified Modeling Language)
The Movement To Objects
Systems Analysis and Design
The Object Oriented Approach to Design
Object Oriented Analysis and Design
ניתוח מערכות מידע א' הרצאה 3
Concepts, Specifications, and Diagrams
אפיון ועיצוב מערכות מוכוון עצמים
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Sucha Smanchat

 Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State Machine Diagram  Activity Diagram  Package Diagram  Component Diagram  Deployment Diagram

 UML is somewhat hard  One problem can be solved by different designs  No exact answer  UML Specification is continuously updated  And it’s hard to catch up  Different books say things differently  The steps in this presentation is but one common guideline

 Identify functional requirements of existing and/or new system  Identify stakeholders/users of the system  Draw system boundary  Draw each functional requirement as a use case  Less or more use cases? Why?  Represent users as actors

 Use the > and > relationships as needed  Usually, an extending use case is adding extra function to the extended use case  Usually, an included use case is a common function which is shared by many other use cases  Write use case description for each and every use case  Format varies - see

Name: Primary Actor: Stakeholders and Interests: Preconditions: Postconditions: Main Scenario: … Extensions: 1a. 2a. Adapted from Craig Larman, “Applying UML and Patterns: An Introduction to Object- Oriented Analysis and Design and the Unified Process”, 2nd Ed., Prentice Hall, 2002.

 Draw a ‘complete’ use case diagram (including use case description) for one of the following scenarios (at least 3 use cases)  Automatic Teller Machine (ATM)  An online game server  A customer support system for a product of your choice  Or a system being used in your work

 Based on the use case diagram, draw a sequence diagram (or communication/collaboration diagram) for each use case  There might be more than one sequence diagram to represent alternate routes  When drawing sequence diagram, think of the real world scenario (that you write in use case description) and select potential objects/classes

 Drawing sequence diagram helps identify classes and objects in the system along with the communications between them  The communications, in turn, identify the behavior of the classes and objects in the system  How do you tell what should be a class/object?  If it’s not a class, what should it be?

 Distinguish different types of communications (refer to UML slides)  Use them appropriately  Be careful about notation  Do you need to refer to a specific object of a class?

 Draw sequence diagrams for the use cases in your use case diagrams  Try to be as much detailed as possible

 Most of the objects/classes in the system are identified in sequence diagram  Additional classes may (likely) be required  Draw classes identified from step 2  Add necessary attributes  Specify data type of the attributes  Specify visibility of the attributes  Usually ‘private’ (encapsulation / data hiding)  ‘public’ or ‘protected’ may be used (e.g. static variable)

 Add behavior (methods) as identified by communications between objects in sequence diagrams  What can an object do?  What should an object do for other objects?  Specify method’s parameters  Parameter VS Argument?  Specify visibility  Usually ‘public’ or ‘protected’, but ‘private’ is possible for method used within the class

 Add relationships between classes  Association (uni-directional / bi-directional)  Generalization (inheritance)  Aggregation  Composition  Specify name of relationship and/or roles of the classes involved  Specify multiplicity (0..1, 1..1, 0..m, 1..m)

 It is possible to specify the type of classes by inscribing > with class name  GUI classes may be inscribed with >  Controller classes (classes that contain business rules and/or calculations) may be inscribed with >  Classes that model data (database) may be inscribed with >  Be careful as stereotype may cause confusion  Do not use > for GUI classes

 Draw a class diagram for your system using the objects/classes and their behavior obtained from the sequence diagrams  Again, try to be as much detailed as possible

 Software Development Methodology  SDLC ?  ERD & DFD  Object-Oriented Concept & UML  OOAD  Use Case Diagram  Sequence Diagram  Class Diagram