Curtis H.K. Tsang, Clarence S.W. Lau and Y.K. Leung

Slides:



Advertisements
Similar presentations
Week 2 The Object-Oriented Approach to Requirements
Advertisements

Requirements Diagrams With UML Models
Use Case Diagrams Damian Gordon.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Karolina Muszyńska Based on:
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
CS3773 Software Engineering Lecture 03 UML Use Cases.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Summary Class responsibility cards can be used to help allocate responsibilities between different classes. The use of stereotype classes, such as entity,
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 4 Class Responsibility Collaboration Cards
Documenting Requirements using Use Case Diagrams
1 Review.  Influences  Problem Domain  Ilities  Marketecture and Tarchitecture Collide  Technology Base  Human Influences on This  Results now.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Use Case Modeling.
Use Case Analysis – continued
Curtis H.K. Tsang, Clarence S.W. Lau and Y.K. Leung
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Continuation From Chapter From Chapter 1
2 Approaches to Requierements Engineering Reference: Systems Analysis and Design in a Changing World, 3 rd Edition, chapter 2 and chapter 6.
INFO415 Approaches to System Development: Part 2
Copyright by Dr. Clarence Lau, IVE(TY)
Chapter 4 System Models A description of the various models that can be used to specify software systems.
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
1 WXGC6102: Object-Oriented Techniques Modelling Concepts References: Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
1 Analysis Extracting from Use Cases to Create Diagrams.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Systems Analysis and Design in a Changing World, 3rd Edition
TCS2411 Software Engineering1 Data-Flow Oriented Design “From DFD to Structure Chart”
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.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
UML-1 4. Architecture. UML-2 Artifact: Analysis Class Abstraction of one or several classes or subsystems –Focuses on handling functional requirements.
Sequence Models.
WXGC6102: Object-Oriented Techniques Object Interaction – Interaction Overview Diagrams Timing Diagrams References: Chapter 9 of Bennett, McRobb and Farmer:
MODULE 13:. Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Visualizing Scenarios UML offers three diagrams.
Introduction to OOAD and the UML
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Agenda 0 Today 0 Assignment 2 Due 0 Sequence Diagrams- View & Data Layers 0 Message syntax 0 Cohesion & Coupling 0 Next Week 0 Review and wrap-up 0 Structure.
Design Concepts ch-8
Dynamic Modeling of Banking System Case Study - I
Object Oriented Approach
Unified Modeling Language
University of Houston-Clear Lake
Design Yaodong Bi.
UML Diagrams: StateCharts The Dynamic Analysis Model
Chapter 6: Architectural Design
Introduction to OOAD and the UML
Use cases Dr. X.
Presentation transcript:

Curtis H.K. Tsang, Clarence S.W. Lau and Y.K. Leung Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence S.W. Lau and Y.K. Leung McGraw-Hill Education (Asia), 2005 Dr. Hussein Al-Zoubi

Tricks and Tips Creating Cohesive and Self-sufficient Subsystems Subsystems may be considered as the next level of abstraction down from the entire system. Ideally, a subsystem should be a cohesive and independent part of the complex system, so as to bring out the benefits of portability, reusability and maintainability. A cohesive and independent subsystem is loosely coupled with other subsystems, and data coupling is the most loosely-coupled communication method between entities. Refining Class Diagrams Using MVC-level Scenario Analysis

Tricks and Tips (cont’d)

Tricks and Tips (cont’d)

Tricks and Tips (cont’d)

Tricks and Tips (cont’d) Understanding System Reusability for Different Types of Objects Type of Object Application Scope Reusability Object library General purpose Any application Entity Class Domain Specific Within the domain Control Class Application Specific Within the application Boundary Class

Tricks and Tips (cont’d) Do Not Create Giant Control Objects Because control objects are application specific, if they are given too much intelligence or logic, they will not be reusable for other applications. Responsibilities to be assigned to a control object: the control sequence of messages in the scenario; information about the sessions in relation to the use case scenario, e.g. session ID, session status, etc.; control logic of the run-time session, e.g. transaction management, error recovery, etc.

Tricks and Tips (cont’d) Checking Consistency between Use Case and Sequence Diagrams

Tricks and Tips (cont’d) Identifying Objects and Operations through Scenario Analysis Boundary and control objects can be identified by walking through the flow of events of a use case scenario Each entry of the flow of events involves three steps: The actor inputs some information into the system The system performs some actions The system responds to the actor’s input

Tricks and Tips (cont’d) The following guidelines can help quickly identify the boundary and entity objects in the use case scenario: Identify boundary objects by asking questions such as: “what input device(s) would be required for the actor(s) to enter the information?”, “what output device(s) would be required for the system to give a response to the actors?” Identify entity objects by asking questions such as: “ what information is required to respond to the actors input?”

View Alignment between Sequence Diagram and State Diagram

Developing Statechart Diagrams for Control Objects Statechart diagram of the Card Controller