Title: Object Oriented Analyis
1C H A P T E R
9
PROCESS MODELING - part 2
2Data Structures
- Data flows can be defined by data structures.
- A data structure is a specific arrangement of
data attributes that defines the organization of
data contained in a data flow. - A data attribute is the smallest piece of data
that has meaning to the end-users of a business. - A data structure is not an entity it defines
the inputs / outputs for each processData
conservation providing only the data needed for
the process to complete its task
3Types of Data Structures
- Sequence -
- order-number
- order-date
- Selection one and only one
- personal customer number,
- corporate account number
- Repetition
- 1product-number
- product-description
n - Optional ( )
- (post office box number)
4A Data Structure for a Data Flow
- DATA STRUCTURE
- ORDER
- ORDER NUMBER
- ORDER DATE
- PERSONAL CUSTOMER NUMBER,
- CORPORATE ACCOUNT NUMBER
- SHIPPING ADDRESSADDRESS
- (BILLING ADDRESSADDRESS)
- 1 PRODUCT NUMBER
- PRODUCT DESCRIPTION
- QUANTITY ORDERED
- PRODUCT PRICE
- PRODUCT PRICE SOURCE
- EXTENDED PRICE N
- SUM OF EXTENDED PRICES
- PREPAID AMOUNT
- (CREDIT CARD NUMBEREXPIRATION DATE)
- (QUOTE NUMBER)
ENGLISH ENTERPRETATION An instance of ORDER
consists of ORDER NUMBER and ORDER DATE
and Either PERSONAL CUSTOMER NUMBER or
CORPORATE ACCOUNT NUMBER and SHIPPING ADDRESS
(which is equivalent to ADDRESS) and
optionally BILLING ADDRESS (which is equivalent
to ADDRESS) and one or more instances
of PRODUCT NUMBER and PRODUCT DESCRIPTION
and QUANTITY ORDERED and PRODUCT PRICE
and PRODUCT PRICE SOURCE and EXTENDED
PRICE and SUM OF EXTENDED PRICES and PREPAID
AMOUNT and optionally both CREDIT CARD NUMBER
and EXPIRATION DATE An instance of ADDRESS
consists of optionally POST OFFICE BOX NUMBER
and STREET ADDRESS and CITY and Either STATE
or MUNICIPALITY and optionally COUNTRY and
POSTAL CODE
5Data Structure Constructs
6Data Structure Constructs (concluded)
7Data Types and Domains
- Data attributes should be defined by
- data types
- Domains
- Data type defines the class of data
- character
- integers
- real numbers
- dates, etc.
- Domain defines values or range of values an
attribute can legitimately take on.
8Diverging 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 merging of multiple
data flows into a single packet. - Useful for illustrating data from multiple
sources that must come back together for some
subsequent processing
9Diverging and Converging Data Flows
10External 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. - Provides net inputs / Receives net outpus
- 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
- Named with singular nouns
11Data 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) - Named as plural of the entity
- It stores all the instances of the entity
12When 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)
13Modern 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.
14Structured Analysis Diagram Progression An
event drive process (1 of 3)
15Structured Analysis Diagram Progression (2 of 3)
16Structured Analysis Diagram Progression (3 of 3)
17CASE for DFDs (Sample Screen) from System
Architect 2001
18SoundStage Functional Decomposition Diagram
XOR_Cntr_1
19Events
- 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.
20Use 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). - Actor becomes external agents
- Event to be handled by process
- Input / Trigger becomes data flow
21Use 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
22Use Case List (continued)
Actor
Event (or Use Case)
Trigger
Responses
Generate
Marketing
Cancels a subscription plan
.
before its planned expiration
CHANGE CONFIRMATION
CANCELATION
Logically Delete (void)
in the database.
AGREEMENT
Generate
Member
Joins the club by subscribing.
MEMBER
NEW SUBSCRIPTION
(Take any 12
CDs for one
DIRECTORY UPDATE
.
penny and agree to buy 4
CONFIRMATION
more at regular prices within
Create
in the
MEMBER
two years.)
database.
Create first
MEMBER ORDER
MEMBER ORDERED
s in the database.
PRODUCT
Generate
Member
changes address
MEMBER
CHANGE OF ADDRESS
DIRECTORY UPDATE
(including email and privacy
.
CONFIRMATION
code)
Update
in the
MEMBER
database.
23Use Case List (continued)
Actor
Event (or Use Case)
Trigger
Responses
Generate
Changes members credit
Accounts
CREDIT
CHANGE OF CREDIT STA
TUS
status
Receivable
DIRECTORY UPDATE
.
C
ONFIRMATION
Update
in the
MEMBER
database.
Generate
90 days after a Marketing
(time)
(current date)
CATALOG CHANGE
.
decides to no longer sell a
CONFIRMATION
product.
Logically Delete
(deactivate)
in the
PRODUCT
database
.
Generate
Wants to pick products fo
r
Member
CATALOG
PRODUCT INQUIRY
.
possible purcase.
DESCRIPTION
(Logical requirement is driven
by vision of web
-
based access
24Event Decomposition Diagram (partial)
25External Event DFD
Updated
Club
Member
Member Change
Process
Member
Address
of Address
Member
Members
Address
Change
Member Updated Address Confirmation
26External Event DFD (more complex)
27Temporal Event DFD
28System DFD (see book for more readable copy)
29Primitive DFD (see book for more readable copy)
30Data Structure for a Primitive Data Flow
31Logic for a Primitive Process
32Data to Process CRUD Matrix
33Process to Location Association Matrix
34Questions?