55

Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain how the

Embed Size (px)

Citation preview

Page 1: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the
Page 2: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Explain how events can be used to identify use cases that define requirements

Identify and analyze events and resulting use cases

Explain how the concept of problem domain classes also defines requirements

Identify and analyze domain classes needed in the system

Object-Oriented Analysis and Design with the Unified Process 2

Page 3: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Read, interpret, and create a Unified Modeling Language (UML) domain model class diagram and design class diagram

Use a CRUD matrix to study the relationships between use cases and problem domain classes

Object-Oriented Analysis and Design with the Unified Process 3

Page 4: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Objective: refine information gathered

Identify use cases and problem domain classes

Model problem domain classes with UML notation

Introduce use case modeling

Object-Oriented Analysis and Design with the Unified Process 4

Page 5: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Use case ◦ Activity the system carries out

◦ Entry point into the modeling process

Event decomposition: help identify use cases Elementary business processes (EBPs)

◦ Basic unit of analysis

◦ Initiated by event occurring at specific time and place

◦ Discrete system response that adds business value

Object-Oriented Analysis and Design with the Unified Process 5

Page 6: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 6

Figure 5-1Identifying Use Cases by Focusing on Users and their Goals

Page 7: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Event decomposition ◦ Develops use cases based on system response to

events ◦ Perceives system as black box interfacing with

external environment◦ Keeps focus on EBPs and business requirements

Analysts delegated particular events to decompose

Result of the decomposition:◦ List of use cases triggered by business events ◦ Use cases at the right level of analysis

Object-Oriented Analysis and Design with the Unified Process 7

Page 8: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 8

Figure 5-2Events Affecting a Charge Account Processing System that Lead to Use Cases

Page 9: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

External Events◦ Occur outside the system

◦ Usually caused by external agent

Temporal Events◦ Occurs when system reaches a point (deadline) in

time

State Events◦ Asynchronous events responding to system trigger

Object-Oriented Analysis and Design with the Unified Process 9

Page 10: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 10

Figure 5-3External Event Checklist

Page 11: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 11

Figure 5-4Temporal Event Checklist

Page 12: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Three rules of thumb

Distinguish events from prior conditions

◦ Can the transaction complete without interruption?

◦ Is the system waiting for next transaction?

Trace sequence of events initiated by external agent

◦ Isolate events that actually touch the system

Object-Oriented Analysis and Design with the Unified Process 12

Page 13: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 13

Figure 5-5Temporal Event Checklist

Page 14: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 14

Figure 5-6The Sequence of “Transactions” for One Specific Customer

Resulting in Many Events

Page 15: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Identify technology dependent events◦ Example: logon depending on system controls

Defer specifying technology dependent events

Perfect technology assumption:◦ Separates technology dependent events from

functional requirements Unlimited processing and storage capacity Equipment does not malfunction Users have ideal skill sets

Object-Oriented Analysis and Design with the Unified Process 15

Page 16: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 16

Figure 5-7Events Deferred until Later Iterations

Page 17: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Developing list of external events

◦ Identify all people and organizational units that want something from the system

Developing list of temporal events

◦ Identify regular reports and statements that system must produce at certain times

Object-Oriented Analysis and Design with the Unified Process 17

Page 18: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 18

Figure 5-8External Events for the RMO Customer Support System

Page 19: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 19

Figure 5-9Temporal Events for the RMO Customer Support System

Page 20: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Enter use cases in an event table

Event table includes rows and columns

◦ Each row is a record linking an event to a use case

◦ Columns represent key information  

RMO event table anatomizes customer support system

Object-Oriented Analysis and Design with the Unified Process 20

Page 21: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 21

Figure 5-10Information about each Event and the Resulting Use Case in an Event Table

Page 22: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 22

Figure 5-11The Complete Event Table for the RMO Customer Support System

Page 23: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Problem domain◦ Set of work-related “things” in system component

Things have data representation within system

◦ Examples: products, orders, invoices, customers

OO approach to things in problem domain◦ Objects that interact in the system

Identify and understand things in problem domain◦ Key initial steps in defining requirements

Object-Oriented Analysis and Design with the Unified Process 23

Page 24: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Things can be identified with methodology

Separate the tangible from the intangible

Include information from all types of users

Ask important questions about nature of event

◦ “What actions upon things should be acknowledged and recorded by the system?”

Example case: customer placing an order

Object-Oriented Analysis and Design with the Unified Process 24

Page 25: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 25

Figure 5-12Types of Things

Page 26: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

List nouns users mention when discussing system

Event table as source of potential things

◦ Use cases, external agents, triggers, response  

Select nouns with questions concerning relevance

◦ Further research may be needed

Object-Oriented Analysis and Design with the Unified Process 26

Page 27: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 27

Figure 5-13aPartial List of “Things” Based on Nouns for RMO

Page 28: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 28

Figure 5-13bPartial List of “Things” Based on Nouns for RMO

Page 29: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 29

Figure 5-13cPartial List of “Things” Based on Nouns for RMO

Page 30: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Analyst document entity associations ( relationships)◦ Example: “Is placed by” and “works in”

Associations apply in two directions◦ Customer places an order ◦ An order is placed by a customer

Multiplicity: the number of associations ◦ One to one or one to many 

The associations between types of things◦ Unary (recursive), binary, n-ary

Object-Oriented Analysis and Design with the Unified Process 30

Page 31: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 31

Figure 5-14Associations Naturally Occur between Things

Page 32: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 32

Figure 5-15Multiplicity of Relationships

Page 33: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Specific details of things are called attributes

Analyst should identify attributes of things

Identifier (key): attribute uniquely identifying thing

◦ Examples: Social Security number, vehicle ID number, or product ID number

Compound attribute is a set of related attributes

◦ Example: multiple names for the same customer

Object-Oriented Analysis and Design with the Unified Process 33

Page 34: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 34

Figure 5-16Attributes and Values

Page 35: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Domain model class diagram as UML class◦ OOA applies domain model class diagram to things

Problem domain objects have attributes Software objects encapsulate attributes and

behaviors ◦ Behavior: action that the object processes itself

Software objects communicate with messages Information system is a set of interacting

objects

Object-Oriented Analysis and Design with the Unified Process 35

Page 36: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 36

Figure 5-17Objects Encapsulate Attributes and Methods

Page 37: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Class diagram key◦ General class symbol: rectangle with three

sections◦ Sections convey name, attributes, and

behaviors ◦ Methods (behaviors) not shown in domain

model class diagram◦ Lines connecting rectangles show associations◦ Multiplicity reflected above connecting lines

Domain class objects reflect business concern, policies, and constraints

Object-Oriented Analysis and Design with the Unified Process 37

Page 38: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 38

Figure 5-21An Expanded Domain Model Class Diagram Showing Attributes

Page 39: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 39

Figure 5-24A Refined University Course Enrollment Domain Model Class

Diagram With an Association Class

Page 40: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Generalization/specialization notation

◦ Inheritance hierarchy

◦ Rank things the more general to the more special

Motor vehicle class includes trucks, cars, buses

Classification: means of defining classes of things

◦ Superclass: generalization of a class

◦ Subclass: specialization of a class

Object-Oriented Analysis and Design with the Unified Process 40

Page 41: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 41

Figure 5-25A Generalization/Specialization Hierarchy Notation for Motor Vehicles

Page 42: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Whole-part Hierarchy Notation◦ “The whole is equal to the sum of the parts”

Two types of whole-part hierarchies◦ Aggregation: association with independent parts

Example: keyboard is part of computer system◦ Composition: association with dependent part

Example: CRT and monitor Multiplicity applies to whole-part

relationships

Object-Oriented Analysis and Design with the Unified Process 42

Page 43: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 43

Figure 5-27Whole-part (Aggregation) Associations Between a Computer and Its Parts

Page 44: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Design Class Diagrams◦ Models classes into precise software analogs◦ Includes domain class information plus methods◦ Triangle symbol between classes indicates

inheritance◦ Properties of attributes are shown with curly braces

Class fundamentals◦ Instances of a class (objects) manage their own

data◦ Abstract classes are not instantiated (created) ◦ Subclasses inherit attributes/behaviors from

superclass

Object-Oriented Analysis and Design with the Unified Process 44

Page 45: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 45

Figure 5-29University Course Enrollment Design Class Diagram (With Methods)

Page 46: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Derives from noun list developed in Figure 5-13

RMO domain class diagram shows attribute

Models do not show methods

Problem domain classes reflect high-level view of RMO use cases

Object-Oriented Analysis and Design with the Unified Process 46

Page 47: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 47

Figure 5-31Rocky Mountain Outfitters Domain Model Class Diagram

Page 48: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Location diagrams store data for future reference◦ Shows need for network connections ◦ Creates awareness of geographic reach

Use case–location matrix: shows where use cases are performed

Use case–domain class matrix: highlights access requirements ◦ Example: The RMO CRUD (create, read,

update, and delete)

Object-Oriented Analysis and Design with the Unified Process 48

Page 49: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 49

Figure 5-32Rocky Mountain Outfitters Location Diagram

Page 50: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 50

Figure 5-33aUse Case–location Matrix for the Rocky Mountain Outfitters

Customer Support System

Page 51: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 51

Figure 5-33bUse Case–location Matrix for the Rocky Mountain Outfitters

Customer Support System

Page 52: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Select use cases for further development◦ Identify risks to determine priority

◦ Core architecture typically selected/implemented first

Transition into elaboration phase◦ Converting use cases into software

◦ Iteratively integrate software components into more complex systems

◦ Begin testing of software

Object-Oriented Analysis and Design with the Unified Process 52

Page 53: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 53

Requirements discipline defines business functions

Key concepts: use cases and problem domain classes

Use cases derive from elementary business processes (EBPs)

Three event types: external, temporal, and state

Problem domain class: category based on OOA

Page 54: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 54

Multiple associations among classes

Attributes: specific information about a thing

Actual software classes include behaviors (methods) and attributes

UML class diagrams show classes, attributes, methods, and associations

Domain model class diagram show domain classes in the users’ work environment

Page 55: Explain how events can be used to identify use cases that define requirements  Identify and analyze events and resulting use cases  Explain how the

Object-Oriented Analysis and Design with the Unified Process 55

Design class diagram models software classes  

Generalization/specialization hierarchies allow inheritance from a superclass to a subclass

Whole-part hierarchies allow a collection of objects to be associated as a whole and its parts

Requirements are also defined with location diagrams, and matrices