Presentation is loading. Please wait.

Presentation is loading. Please wait.

Robert B. Jackson Brigham Young University John W. Satzinger

Similar presentations


Presentation on theme: "Robert B. Jackson Brigham Young University John W. Satzinger"— Presentation transcript:

1 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

2 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

3 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

4 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

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

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

7 Object-oriented approach to Requirements
OOA using UML Requirements Models

8 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

9 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

10 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

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

12 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

13 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

14 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

15 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

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

17 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

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

19 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

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

21 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

22 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

23 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

24 Object Oriented Approach to Design
OOD with UML Design Models

25 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

26 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

27 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

28 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

29 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

30 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

31 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

32 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

33 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

34 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

35 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

36 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

37 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

38 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

39 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

40 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

41 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

42 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


Download ppt "Robert B. Jackson Brigham Young University John W. Satzinger"

Similar presentations


Ads by Google