Robert B. Jackson Brigham Young University John W. Satzinger

Slides:



Advertisements
Similar presentations
Requirements Diagrams With UML Models
Advertisements

Karolina Muszyńska Based on:
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Object-Oriented Analysis and Design
Extending the Requirements Model - techniques for detailing use cases
Information System Engineering
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Systems Analysis and Design in a Changing World, Fourth Edition
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
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.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Detailed Object-Oriented Requirements Definitions
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
Object-Oriented Development Process Part I: Requirement Gathering Warsun Najib Department of Electrical Engineering Gadjah Mada University.
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, 6th Edition
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Objectives Detailed Object-Oriented Requirements Definitions
Systems Analysis and Design in a Changing World, Fifth Edition
Introduction To System Analysis and Design
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Systems Analysis and Design in a Changing World, 6th Edition 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH Chapter 11 SATZINGER.
Systems Analysis and Design in a Changing World, 6th Edition
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Chapter 9 Moving to Design
Systems Analysis and Design in a Changing World, 3rd Edition
2 Object-Oriented Analysis and Design and the Unified Process Objectives  Explain the purpose and objectives of object- oriented design  Develop design.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
UML - Development Process 1 Software Development Process Using UML.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
11. Chapter 11: The Object-Oriented Approach to Design: Use Case Realization Systems Analysis and Design in a Changing World, Fourth Edition.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Systems Analysis and Design in a Changing World, 6th Edition
11 Systems Analysis and Design in a Changing World, Fifth Edition.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
Elaboration popo.
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Driven Analysis
Dynamic Modeling of Banking System Case Study - I
Unified Modeling Language
Week 10: Object Modeling (1)Use Case Model
Object-Oriented Analysis Principles using UML
The Object Oriented Approach to Design
Introduction To System Analysis and Design PART 2
Systems Analysis and Design in a Changing World, 6th Edition
University of Houston-Clear Lake
Copyright 2007 Oxford Consulting, Ltd
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Use cases Dr. X.
Presentation transcript:

Teaching the Complete Object-oriented Development Cycle, Including OOA and OOD, with UML and the UP Robert B. Jackson Brigham Young University John W. Satzinger Southwest Missouri State University

Copyright © 2003 by R. B. Jackson and J. W. Satzinger We are teaching some OO Use case concepts UML class diagrams OO concepts OO programming languages Java VB .NET ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

But are we teaching OOA and OOD? Highly iterative development process? Emphasis on interacting objects? Three-layer architectures? Use case realization through design? Design principles and quality design? Design patterns? Models that directly support OOP? ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

OO Development using UML and the UP Model Driven Development Analysis Models drive discovery and understanding Design Models drive architecture and solution Use Case Driven Development Both Analysis and Design based on use cases ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

UP phases and iterations ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

UP disciplines and iterations ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Object-oriented approach to Requirements OOA using UML Requirements Models

Copyright © 2003 by R. B. Jackson and J. W. Satzinger What is OO Analysis? OOA is not a phase of an SDLC in the UP OOA per se is not used in the UP OOA is really business disciplines of Business Modeling Requirements Analysis OOA still implies “discovery” and “understanding” ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

UML Models for Business Modeling and Requirements Use Case Models Use Case Diagram Use Case Descriptions Activity Diagrams for Workflow System Sequence Diagrams for Inputs/Outputs Domain Model Class Diagrams Statecharts for Status Information ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Use Cases and Use Case Diagram Although not “Object-oriented” it forms the basis for all other analysis and design activities – i.e. building a system is “Use Case Driven.” Use Case Diagram contains “Actors” and “Use Cases” ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

A Partial Use Case Diagram ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Detail Descriptions of Use Cases Fully developed description (textual) Activity Diagram (graphical) ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Fully Developed Use Case Description Use Case Name: Checkout Movies Scenario: Checkout movies at counter Triggering Event: Customer brings movies to checkout counter Brief Description: When customer brings movies to counter, clerk checks membership ID, clerk scans in each movie identifier, takes payment, and notifies customer of return due date and time. Actors: Video clerk Related Use Cases: Add new member Stakeholders: Clerk, Store manager Preconditions: Movie titles must exist Movie copy must exist Customer must exist (or Add new member must be invoked) Postconditions: Video Rental and rental line items must be created Payment transaction must be created Status of movie copy must be updated Video Rental must be connected to customer family member ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Fully Developed Use Case Description (cont) Flow of Events Actor System 1. Customer brings movies to checkout counter and presents membership card. 2. Video clerk scans card 3. Clerk scans each movie 4. Clerk indicates end of transaction 5. If coupon or special, clerk enters coupon information 6. Enter payment 7. Give movies, receipt, change to customer. 2.1 Checks membership ID. 2.2 Checks for any outstanding fines or late return fees. 2.3 Displays appropriate information 2.4 Creates new Video Rental 3.1 Creates Rental line item 3.2 Updates movie copy status 4.1 Display Total amount due, including tax and late fees. 5.1 Recalculate amount due 6.1 Process payment 6.2 Print receipt Exception Conditions: 1.1 Customer is not a valid customer – invoke create new customer use case, or reject customer status. 6.1 If payment is by credit card and credit card transaction is not authorized, (a) cancel transaction or (b) pay by cash. ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Activity Diagram Diagram showing workflows Used to capture user procedures Used to describe sequence of steps for Use Case description (similar to Fully Developed Description) Easy for users to read and understand ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Activity Diagram for Add New Movie ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

System Sequence Diagram Use case driven (one SSD for each use case) Identifies the inputs to and outputs from the system Analysis oriented – focuses on the business processes not on the internal system interactions An easy introduction to Interaction Diagrams ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

System Sequence Diagram for Add New Movie ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Problem Domain Class Diagram Coordinate with Database Course? Identifies problem domain objects and relationships between those objects Analysis focuses only on problem domain objects – discovery and understanding of business objects ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Problem Domain Class Diagram ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Statechart Diagrams Optional diagram – many developers do not use Can be complex, therefore initially only introduce simple cases Use for discovery and understanding of the behavior of business objects Use to document “Status” conditions that the system must track ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Statechart Diagram ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Recap of OOA We have a complete set of models that describe many (all) aspects of the problem domain and business requirements Problem oriented – discovery and understanding Focuses on the business requirements and not on design issues of the system ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Object Oriented Approach to Design OOD with UML Design Models

Copyright © 2003 by R. B. Jackson and J. W. Satzinger What is OOD? OOD is not a phase in the UP SDLC OOD is a business disciplines in the UP OOD is the bridge between Requirements and Programming OOD is a “developer” activity, not a user activity Few programs teach OOD – mostly we teach analysis and programming ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger UML Models for OOD Design Class Diagrams Problem domain classes View layer classes Data Access layer classes Detail Interaction Diagrams Sequence Diagrams Collaboration Diagrams Advanced Statechart Diagrams (optional) ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Making OOD an “Engineering Discipline” Engineering disciplines have principles, standards, techniques, practices, and body of knowledge OOD is still developing, but we now are beginning to see design principles and practices ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Making OOD an “Engineering Discipline” Principles of “good” design Cohesion Coupling Object Responsibility Protection from variations Object visibility Design Patterns for standard solutions Gang of four (GoF) design patterns Enterprise level design patterns (J2EE) Microsoft Application design patterns ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Multi-layer Design Class Diagrams Includes problem domain classes Includes service and utility classes Includes view layer classes Includes data access layer classes Advanced concepts Advanced design can get complex for enterprise level systems Teach only the basics in SA&D – prepares students for advanced concepts when they get into industry ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Detailed Interaction Diagrams Two types Sequence Diagrams Collaboration Diagrams Use Case Driven (for each use case) Show internal software objects that “collaborate” to execute a use case Objects “collaborate” by sending messages to each other Messages become method calls in OOP ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Sequence Diagrams Same components as SSD :System is exploded into internal objects Activation Lifeline is a rectangular box on the object lifeline showing active “execution” ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger The Design Process Micro-level iterations (within a UP iteration) First cut at Design Class Diagram Type cast attributes Determine preliminary navigation visibility Micro Iteration 1 With problem domain classes, develop sequence diagram Micro iteration 2 (or more) Add view layer classes Add data access layer classes Add other service classes ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Micro Iteration 1 First – design with the problem domain classes ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Micro Iteration 2 Second – Add view layer (<<boundary>>) classes ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Micro Iteration 2 or 3 Third – Add data access layer classes ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved

Copyright © 2003 by R. B. Jackson and J. W. Satzinger Advance Topics Design patterns Statecharts for design Method logic on transitions action expressions System wide states, menu design, system modes Enterprise level design (multilayer, and many service components) ISECON 2003 San Diego Copyright © 2003 by R. B. Jackson and J. W. Satzinger All Rights Reserved