Project
7
Systems Analysis and Design in a Changing World, Fifth Edition
*
7
Learning Objectives
- Understand the models and processes of defining object-oriented requirements
- Develop use case diagrams and activity diagrams
- Develop system sequence diagrams
- Develop state machine diagrams to model object behavior
- Explain how UML diagrams work together to define functional requirements for the object-oriented approach
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Overview
- The objective of requirements definition is understanding – understanding the users’ needs, the business processes, and the systems to support business processes
- Understand and define requirements for a new system using object-oriented analysis models and techniques
- Line between object-oriented analysis and object-oriented design is somewhat fuzzy
- Iterative approach to development
- Models built in analysis are refined during design
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Object-Oriented Requirements
- Object-oriented modeling notation is Unified Modeling Language (UML 2.0)
- UML was accepted by Object Management Group (OMG) as standard modeling technique
- Purpose of Object Management Group
- Promote theory and practice of object-oriented technology for development of distributed systems
- Provide common architectural framework for OO
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Object-Oriented Requirements (continued)
- Object-oriented system requirements are specified and documented through process of building models
- Modeling process starts with identification of use cases and problem domain classes (things in users’ work environment)
- Business events trigger elementary business processes (EBP) that new system must address as use cases
- Use cases define functional requirements
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Object-Oriented Requirements Models
- Use case model – a collection of models to capture system requirements
- Use case diagram – identify actors and their roles and how the actor roles utilize the system
- Systems sequence diagrams (SSDs) – define inputs and outputs and sequence of interactions between user and system for a use case
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Object-Oriented Requirements Models (continued)
- Message – the communication between objects within a use case
- Domain model – describes the classes of objects and their states
- State machine diagrams – describe states of each object
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Requirements Models—Traditional vs OO
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-1
Systems Analysis and Design in a Changing World, 5th Edition
*
7
The System Activities—
A Use Case/Scenario View
- Use case analysis used to identify and define all business processes that system must support
- Use case – an activity a system carried out, usually in response to a user request
- Actor
- Role played by user
- Outside automation boundary
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Techniques for Identifying Use Cases (Review from Chapter 5)
- Identify user goals
- Each goal at the elementary business process (EBP) level is a use case
- EBP – task performed by one user in one place and in response to business event that adds measurable business value, and leaves system and data in consistent state
- Event decomposition technique (event table)
- CRUD analysis technique (create, read/report, update, delete) to ensure coverage
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Use Case Diagram
- Graphical UML diagram that summarizes information about actors and use cases
- Simple diagram shows overview of functional requirements
- Can have multiple use case diagrams
- By subsystem
- By actor
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Simple Use Case with an Actor
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-2
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Use Case Diagram with Automation Boundary and Alternate Actor Notation
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-3
Systems Analysis and Design in a Changing World, 5th Edition
*
7
All Use Cases Involving Customer as Actor
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-4
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Use Cases of RMO Order Entry Subsystem
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-5 (partial figure)
Systems Analysis and Design in a Changing World, 5th Edition
*
7
<<Includes>> Relationship
- Documents situation in which one use case requires the services of a common subroutine
- Another use case is developed for this common subroutine
- A common use case can be reused by multiple use cases
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Example of Order-Entry Subsystem with <<Includes>> Use Cases
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-6
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Developing a Use Case Diagram
- Underlying conditions for describing use cases
- Based on automated system, e.g. users “touch” the system
- Assume perfect technology condition
- Iterate through these two steps
- Identify actors as roles
- List goals, e.g. use cases, for each actor. A goal is a unit of work.
- Finalize with a CRUD analysis to ensure completeness
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Activity Diagrams
- Used to document workflow of business process activities for each use case or scenario
- Standard UML 2.0 diagram as seen in Chapter 4
- Can support any level of use case description; a supplement to use case descriptions
- Helpful in developing system sequence diagrams
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Activity Diagram— Telephone Order Scenario
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-8
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Activity Diagram—
Web Order Scenario
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-9
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Identifying Inputs and Outputs—
The System Sequence Diagram
- Interaction diagram – a communication diagram or a sequence diagram
- System sequence diagram (SSD) is type of UML 2.0 interaction diagram
- Used to model input and output messaging requirements for a use case or scenario
- Shows sequence of interactions as messages during flow of activities
- System is shown as one object: a “black box”
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
SSD Notation
- Lifeline or object lifeline is a vertical line under object or actor to show passage of time for object
- Message is labeled on arrows to show messages sent to or received by actor or system
- Actor is role interacting with the system with messages
- Object is the component that interacts with actors and other objects
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
System Sequence Diagram (SSD) Notation
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-10
Systems Analysis and Design in a Changing World, 5th Edition
*
7
SSD Lifelines
- Vertical line under object or actor
- Shows passage of time
- If vertical line dashed
- Creation and destruction of thing is not important for scenario
- Long narrow rectangles
- Activation lifelines emphasize that object is active only during part of scenario
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
SSD Messages
- Internal events identified by the flow of objects in a scenario
- Requests from one actor or object to another to do some action
- Invoke a particular method
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Repeating Message
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-11
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Developing a System Sequence Diagram
- Begin with detailed description of use case from fully developed form or activity diagram
- Identify input messages
- Describe message from external actor to system using message notation
- Identify and add any special conditions on input message, including iteration and true/false conditions
- Identify and add output return messages
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Activity Diagram of the Telephone Order Scenario
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-12
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Resulting SSD for the Telephone Order Scenario
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-13
Systems Analysis and Design in a Changing World, 5th Edition
*
7
SSD of the Web Order Scenario for the Create New Order Use case
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-14
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Identifying Object Behavior—
The State Machine Diagram
- State machine diagram is UML 2.0 diagram that models object states and transitions
- Complex problem domain classes can be modeled
- State of an object
- A condition that occurs during its life when it satisfies some criterion, performs some action, or waits for an event
- Each state has unique name and is a semipermanent condition or status
- Transition
- The movement of an object from one state to another state
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Simple State Machine Diagram for a Printer
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-15
Systems Analysis and Design in a Changing World, 5th Edition
*
7
State Machine Terminology
- Pseudostate – the starting point of a state machine, indicated by a black dot
- Origin state – the original state of an object from which the transition occurs
- Destination state – the state to which an object moves after the completion of a transition
- Message event – the trigger for a transition, which causes the object to leave the origin state
- Guard condition – a true/false test to see whether a transition can fire
- Action expression – a description of the activities performed as part of a transition
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Composite States and Concurrency—States within a State
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-16
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Concurrent Paths for Printer in the On State
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-17
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Rules for Developing State Machine Diagram
- Review domain class diagram, select important ones, and list all state and exit conditions
- Begin building state machine diagram fragments for each class
- Sequence fragments in correct order and review for independent and concurrent paths
- Expand each transition with message event, guard-condition, and action-expression
- Review and test each state machine diagram
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
States and Exit Transitions for OrderItem
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-18
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Partial State Machine for OrderItem
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-19
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Final State Machine for OrderItem
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-20
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Order Domain Class for RMO—
States and Exit Transitions
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-21
Systems Analysis and Design in a Changing World, 5th Edition
*
7
First-Cut State Machine Diagram for Order
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-22
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Second-Cut State Machine Diagram for Order
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-23
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Integrating Object-Oriented Models
- Complete use case diagram is needed to understand total scope of new system
- Domain model class diagrams should also be as complete as possible for entire system
- With iterative approach, only construct use case descriptions, activity diagrams, and system sequence diagrams for use cases in iteration
- Development of a new diagram often helps refine and correct previous diagrams
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Relationships Between OO
Requirements Models
Systems Analysis and Design in a Changing World, 5th Edition
*
Figure 7-24
Systems Analysis and Design in a Changing World, 5th Edition
*
7
Summary
- Object-oriented approach has complete set of diagrams that define system requirements
- Requirements specified using following models
- Domain model class diagram (Chapter 5)
- Use case diagrams (Chapters 7)
- Use case detailed models, either descriptive formats or activity diagrams (Chapter 5 & 7)
- System sequence diagrams (Chapter 7)
- State machine diagrams (Chapter 7)
Systems Analysis and Design in a Changing World, 5th Edition
*
Systems Analysis and Design in a Changing World, 5th Edition
*