Title: Identify use cases, external and temporal business events for a system.
1Lesson-22 Process Modeling(2)
- Identify use cases, external and temporal
business events for a system. - Perform event partitioning and organize events in
a functional decomposition diagram. - Draw event diagrams and merge those events into a
system diagram. - Draw primitive data flow diagrams and describe
the elementary data flows and processes in terms
of data structures and procedural logic
(Structured English and decision tables),
respectively. - Document the distribution of processes to
locations. - Synchronize data and process models using a CRUD
matrix.
2Data Types and Domains
- Data attributes should be defined by data types
and domains. - A data type defines what class of data can be
stored in an attribute (e.g., character,
integers, real numbers, dates, pictures, etc.). - A domain defines what values or range of values
an attribute can legitimately take on.
3Diverging and Converging Data Flows
- A diverging data flow is one that splits into
multiple data flows. - Useful for illustrating data that starts out
naturally as one flow, but needs to be routed to
parallel processes. - Also useful for illustrating multiple copies of
the same output going to different destinations. - A converging data flow is the merger of multiple
data flows into a single packet. - Useful for illustrating data from multiple
sources that must come back together for some
subsequent processing
4Diverging and Converging Data Flows
5External Agents
- An external agent defines a person, organization
unit, or other organization that lies outside of
the scope of the project but that interacts with
the system being studied. - External agents define the boundary or scope of
a system being modeled. - As scope changes, external agents can become
processes, and vice versa. - Almost always one of the following
- Office, department, division inside the business
but outside the system scope. - An external organization or agency.
- Another business or another information system.
- One of your systems end-users or managers
6Data Stores
- A data store is an inventory of data.
- Frequently implemented as a file or database.
- A data store is data at rest compared to a data
flow that is data in motion. - Almost always one of the following
- Persons (or groups of persons)
- Places
- Objects
- Events (about which data is captured)
- Concepts (about which data is important)
- Data stores depicted on a DFD store all instances
of data entities (depicted on an ERD)
7When to Draw Process Models
- Strategic systems planning
- Enterprise process models illustrate important
business functions. - Business process redesign
- As is process models facilitate critical
analysis. - To be process models facilitate improvement.
- Systems analysis (primary focus of this course)
- Model the existing system including its
limitations - Model the target systems logical requirements
(meaning processes and data flows needed
regardless of how the system will be implemented) - Model candidate technical solutions (physical
DFDs only) - Model the target technical solution (physical
DFDs only)
8Classical Structured Analysis
- Draw top-down physical DFDs that represent the
current physical implementation of the system
including its limitations. - Convert the physical DFDs to their logical
equivalents. - Draw top-down logical DFDs that represent an
improved system. - Describe all data flows, data stores, policies,
and procedures in a data dictionary or
encyclopedia. - Optionally, mark up copies of the logical DFDs to
represent alternative physical solutions. - Draw top-down physical DFDs that represent the
target solution. - THE ABOVE METHODOLOGY IS RARELY PRACTICED
ANYMORE BECAUSE IT IS VERY CUMBERSOME AND
TIME-CONSUMING.
9Modern Structured Analysis
- Draw a context DFD to establish initial project
scope. - Draw a functional decomposition diagram to
partition the system into subsystems. - Create an event-response or use-case list for the
system to define events for which the system must
have a response. - Draw an event DFD (or event handler) for each
event. - Merge event DFDs into a system diagram (or, for
larger systems, subsystem diagrams). - Draw detailed, primitive DFDs for the more
complex event handlers. - Document data flows and processes in the data
dictionary. - THE ABOVE METHODOLOGY, BASED ON EVENT
PARTITIONING, IS MORE COMMONLY PRACTICED.
10Structured Analysis Diagram Progression
11CASE for DFDs (Sample Screen)
12Events
- Events define processes needed to respond to
those events. - External events are those initiated by external
agents. They result in an input transaction or
data flow. - Temporal events are those that are triggered by
the passage of time. They simply happen and
are indicated by a control flow. - State events are those based on a systems change
from one state to another.
13Use Cases
- Use cases are based upon object-oriented concepts
that are essentially the same as events. - Use case analysis is the process of identifying
and modeling business events and how the system
responds to them. - An actor is anything that needs to interact with
the system (essentially, a synonym for external
agent).
14Use Case List
Actor
Event (or Use Case)
Trigger
Responses
NEW MEMBER SUBSCRIPT
ION
Marketing
Establishes a new
Generate
SUBSCRIPTION
PROGRAM
membership subscription plan
.
PLAN CONFIRMATION
to entice new members.
Create
in the
AGREEMENT
database.
Marketing
Establishes
a new
Generate
PAST MEMBER
SUBSCRIPTION
membership resubscription
.
RESUBSCRIPTION PROGR
AM
PLAN CONFIRMATION
plan to lure back former
Create
in the
AGREEMENT
members.
database.
Marketing
Changes a subscription plan
Generate
SUBSCRIPTION PLAN
AGREEMENT
for current members (e.g.,
.
.
CHANGE
CHANGE CONFIRMATION
extending the
fulfillment
Update
in the
AGREEMENT
period)
database.
(time)
A subscription plan expires.
(current date)
Generate
AGREEMENT
.
CHANGE CONFIRMATION
Logically Delete (void)
in the da
tabase.
AGREEMENT
15System DFD (see book for more readable copy)
16 Data to Process CRUD Matrix
17Process to Location Association Matrix