Title: Chapter 5: Modeling System Requirements
1Chapter 5 Modeling System Requirements
2Learning Objectives
- Understanding why identifying use cases is the
key to defining functional requirements - Use three techniques for identifying use cases
- Write brief, intermediate, and fully developed
use case description - Identify and analyze data entities and domain
classes needed in the system - Read, interpret, and create an entity-relationship
diagram
3Overview
- Models are created as part of activity of
defining system requirements. - Two concepts help identify functional
requirements in the traditional approach and
object-oriented approach - Use cases
- Things in the users work domain
4Analysis Phase Activities
- Gather information
- Define system requirements
- Prioritize requirements
- Prototype for feasibility and discovery
- Generate and evaluate alternatives
- Review recommendation with management
5Use Case
- Use case is an activity that system performs in
response to a request by a user. - Examples
- Search available flight
- Make reservation
- Check flight status
- A use cases name is its goal
- The name must be active, concise, and decisive
6Techniques for Identifying Use Cases
- Identify user goals
- Users goal in using the information system.
- CRUD analysis technique (create, read, update,
delete) - Event decomposition technique
- Focus on elementary business processes (EBPs)
7Identifying Use Cases Based on User Goals
8Use Case Based on CRUD Technique
9Event Decomposition
- What events occur that will require the system to
respond? - Business events trigger elementary business
processes (EBPs) - EBPs are at correct level of analysis for use
cases - Identify business events to decompose system into
activities/use cases
10Events Affecting a Charge Account Processing
System that Lead to Use Cases
11Types of Events
- External
- Outside system
- Initiated by external agent or actor
- Temporal
- Occur as result of reaching a point in time
- Based on system deadlines
- State
- Something inside system triggers processing need
12External Event Checklist
13Temporal Event Checklist
14Identifying Events
- Can be difficult to determine
- Often confused with conditions and responses
- May be useful to trace a transactions life cycle
- Certain events left to design phase
- System controls to protect system integrity
- Perfect technology assumption defers events
15Sequence of Actions that Lead Up to Only One
Event Affecting the System
16Sequence of Transactions for One Specific
Customer Resulting in Many Events
17Events Deferred Until the Design Phase
18Quick Quizzes
- What is an event?
- What are the three types of events?
19Events in the RMO case
- Important external events involve customers
- Customer checks item availability, customer
places order, customer changes or cancels order - Other external events involve departments
- Shipping fulfills order, marketing sends
promotion to customer, merchandising updates
catalog - Temporal events include periodic reports
- Time to produce order summary reports, Time to
produce fulfillment summary reports
20Information about Each Event in an Event Table
21RMO Event Table
22Use Case Description
- Use case description provides details of
preconditions, postconditions, sequence of
activities, and exception conditions in use case - Describes actor interacting with computer system
step-by-step to carry out business activity - May have several scenarios for a use case, each a
specific use case instance
23Use Case Description Level of Detail
- Brief Description
- Intermediate Description
- Fully Developed Description
24Brief Description of Create New Order Use Case
25Intermediate Description of the Telephone Order
Scenario for Create New Order Use Case
26Fully Developed Description of Telephone Order
Scenario for Create New Order Use Case
27Use Case Description Components
- Use case name/scenario name
- Actors/stakeholders
- Related use cases
- Preconditions set of criteria that must be true
prior to initiation of the use case - Postconditions set of criteria that must be
true upon completion of the use case - Flow of activities (steps in one column or two)
- Exception conditions
28Top Detail from Fully Developed Use Case
Description
29Middle Detail from Fully Developed Use Case
Description
30Bottom Detail from Fully Developed Use Case
Description
31Quick Quizzes
- What does an actor represent in a use case?
- What is the difference between a fully developed
description and an intermediate description? - What are preconditions? What are postconditions?
32Things in the Problem Domain
- Define system requirements by understanding
system information that needs to be stored - Store information about things in the problem
domain that people deal with when they do their
work - Analysts identify these types of things by
considering each use case in the event table - What things does the system need to know about
and store information about?
33Types of Things
34Procedure for Developing an Initial List of
Things
- Step 1 Using the event table and information
about each use case, identify all nouns - Step 2 Using other information from existing
systems, current procedures, and current reports
or forms, add items or categories of information
needed - Step 3 Refine list and record assumptions or
issues to explore
35RMO Example Things
36Relationships Among Things
- Naturally occurring association among specific
things - Occur in two directions
- Number of associations is cardinality or
multiplicity - Binary, unary, ternary, n-ary
37Attributes of Things
- Attribute refers to one specific piece of
information about a thing. - Identifier (or Key) is an attribute that uniquely
identifies a thing. - Compound attribute is an attribute that contains
a collection of related attributes.
38Relationships Naturally Occur Between Things
39Cardinality/Multiplicity of Relationships
40Attributes and Values
41Data Entities
- Data entities are things system needs to store
data about in traditional IS approach - Modeled with entity-relationship diagram (ERD)
- Requirements model used to create the database
design model for relational database
42The Entity-Relationship Diagram (ERD)
43Cardinality Symbols of Relationships for ERD
44Expanded ERD with Attributes Shown
45Customers, Orders, and Order Items
46ERD with Many-to-Many Relationship
47Many-to-Many Relationship Converted to
Associative Entity to Store Grade Attribute
48RMO Customer Support System ERD
49Where You Are Headed (Figure 5-39)