MODULE 13:. Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Visualizing Scenarios UML offers three diagrams.

Slides:



Advertisements
Similar presentations
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Advertisements

Object-Oriented Analysis and Design
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
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Introduction To System Analysis and design
Chapter 2: Approaches to System Development
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, Fifth Edition
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Introduction To System Analysis and Design
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Systems Analysis and Design in a Changing World, 3rd Edition
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UML-1 8. Capturing Requirements and Use Case Model.
IHE Profile – SOA Analysis: In Progress Update Brian McIndoe January 18, 2011.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Modelling Class T07 Conceptual Modelling – Behaviour References: –Conceptual Modeling of Information Systems (Chapters 11, 12, 13 and 14)
System sequence diagrams
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
1 LAB What is Collaboration diagram? 4 Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. 4.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Copyright (C), No Magic, Inc Welcome to No Magic!
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Basic Characteristics of Object-Oriented Systems
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
Object Oriented Analysis & Design By Rashid Mahmood.
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Basics of RSA Rational Software Architect. What is RSA? Comprehensive Modeling and Development environment that leverages the Unified Modeling Language.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
Systems Analysis and Design With UML 2
Presentation transcript:

MODULE 13:

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Visualizing Scenarios UML offers three diagrams for describing use cases and interactions in detail: ◦ activity diagram ◦ interaction diagrams:  sequence diagram  communication (collaboration) diagram Interaction diagrams focus on the objects and methods and are used in design. Activity diagrams are used to document the overall flow and are used in analysis. 13-2

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Sequence Diagrams A sequence diagram emphasizes the sequence of steps for a particular system transaction or use-case scenario. Sequence diagrams are frequently enhanced by scripts. The scripts are refinements of the scenario traces made during analysis. 13-3

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Using Sequence Diagrams Use sequence diagrams to: ◦ document designs of methods and use cases ◦ document existing code ◦ document debug traces 13-4

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Sequence Diagram Example 13-5

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Methods Two definitions: ◦ A method is a function or transformation that may be applied to objects. (Rumbaugh) ◦ A method is an action that one object performs upon another in order to elicit a response. (Booch) All objects of a class possess the same set of methods (interface). 13-6

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Alternative Terms Different methodologies use various terms to describe methods: ◦ service ◦ operation ◦ responsibility ◦ member function 13-7

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Method Examples Some simple examples of methods are: ◦ Scheduler: addEvent, removeEvent ◦ Account: payInterest, withdraw ◦ Investor: getName, changeAddress ◦ Portfolio: computeValue Methods that don't change the object are called accessors, whereas modifiers change the state of the object. 13-8

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Signature The signature of a method contains: ◦ the method name ◦ the type of its arguments The signature is part of a C++ or Java function’s prototype. The concept of signature is important to polymorphism. 13-9

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Polymorphism Two definitions: ◦ Polymorphism is the ability of two or more classes to respond to the same message, each in its own way. (Wirfs-Brock) ◦ Polymorphism means that the sender of a message does not need to know the receiving object’s type. (Jacobson) 13-10

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Defining Methods There are two approaches: ◦ look at each class and define the methods that the class could use ◦ look at how the class is used in specific use- case scenarios and assign each step to a method of a class; if no class can take on the responsibility, define a new class To understand what a class does, you must understand how it is being used

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Guidelines for Methods A well-designed method should: ◦ carry out a single activity ◦ have a meaningful name (e.g. getBalance, computeValue, addItem) ◦ avoid input flags ◦ take few or no parameters ◦ not switch on the value of an attribute 13-12

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Categories of Classes A software architecture contains several categories of classes: ◦ Business Entity Classes ◦ User Interface Classes ◦ Support and Data Structure Classes ◦ Device Encapsulation Classes ◦ Proxy and Wrapper Classes ◦ Controller Classes 13-13

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Encapsulating Use Cases Classes in a software architecture should be as independent as possible to increase the stability of the system. Use case flow is contained within Controller or Agent classes. Each use case is represented by one or more controller classes. Controllers encapsulate business process

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Controller Framework This is the well-known Model-View-Controller (MVC) framework for designing modern service- oriented applications, including web applications (e.g., JSF, Rails) 13-15

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Naming Controller Classes Use case controller classes should be named based on the use cases they represent: ◦ Use Case Names:  Record Sales  Generate Monthly Report ◦ Controller Names:  SalesRecorder  MonthlyReportGenerator Each time a particular use case must be carried out, a corresponding controller object is instantiated and a method of that controller object is invoked. The controller should delegate its work to the domain objects; it should regulate the flow of control, but not do any work

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Creating a Sequence Diagram Decide on the perspective: ◦ use case ◦ computational process ◦ operation Define the start of the sequence diagram: ◦ actor ◦ controller ◦ start activity 13-17

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Sequence Diagram for a Use Case or 13-18

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Sequence Diagram for a Method 13-19

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Showing Object Interactions 13-20

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Showing Loops 13-21

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Showing Alternate Flows 13-22

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Communication Diagrams A communication diagram emphasizes links between objects and data flow along those links. Communication diagrams do not have an associated script and have a more relaxed layout. Communication diagrams were called collaboration diagrams in UML

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Communication Diagram Example 13-24

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Data Flows Data Flow Tokens 13-25

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Iterations and Conditions Iterations and conditional operations can be visually indicated with '*' and '[…]' adornments

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Indicating Object Creation 13-27

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Message Icon Adornments The message icon can be adorned to indicate the synchronization mechanism: simple synchronous balking timeout asynchronous 13-28

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Examples of Message Semantics 13-29

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Sequence Diagram Example 13-30

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer Module Review In this module we learned that: ◦ sequence diagrams illustrate the detailed message passing between objects 13-31

Principles of Information Systems Analysis & DesignDesign © 2009 by Dr. Martin Schedlbauer References Kratochvil, M., & McGibbon, B. (2003). UML xtra-light: How to Specify Your Software Requirements. Cambridge University Press. ◦ A short book on UML that keeps to the essentials. Explains how to get from use cases to requirements and how to model the requirements with use case, activity, class, and state diagrams. Fowler, M. (2004). UML Distilled, 3rd Edition. Addison-Wesley Pearson. ◦ A great reference book on UML that’s just detailed enough and not too confusing. Contains an explanation of all UML diagrams and is more geared towards developers. Object Management Group (2007). UML Specification with UML Activity Diagrams