View
224
Download
1
Tags:
Embed Size (px)
Citation preview
A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial representations of reality.
Logical models show what a system is or does. They are implementation independent; that is, they depict the system independent of any technical implementation.
Physical models show not only what a system is or does, but also how the system is (to be) physically and technically implemented. They are implementation dependent because they reflect technology choices.
Process Modeling and DFDsProcess modeling is a technique for organizing and documenting the structure and flow of data through a system’s processes, and/or the logic, policies, and procedures to be implemented by a system’s processes.
A data flow diagram (DFD) is a tool (and type of process model) that depicts the flow of data through a system and the work or processing performed by that system.
Differences Between DFDs and Flowcharts
• Processes on DFDs can operate in parallel (at-the-same-time)– Processes on flowcharts execute one at a time
• DFDs show the flow of data through a system– Flowcharts show the flow of control (sequence and
transfer of control)
• Processes on one DFD can have dramatically different timing– Processes on flowcharts are part of a single
program with consistent timing
Process Concepts
A process or Transform is work performed on, or in response to, incoming data flows or conditions.
A System is a Process
TheSystem
is aProcess
input output
input
input output
output
Feedack andControl Loop
The System's Environment(constantly changing)
Decomposition of transforms in DFD
Decomposition is the act of breaking a system into its component subsystems, processes, and subprocesses. Each level of abstraction reveals more or less detail.
Types of Logical Processes• A function is set of related and ongoing
activities of a business.
•An event (or transaction) is a logical unit of work that must be completed as a whole (as part of a function).
• An elementary process (or primitive process) is a discrete, detailed activity or task required to respond to an event. Usually, several such tasks must be completed to respond to an event.
Structured EnglishStructured English is a language and syntax, based on the relative strengths of structured programming and natural English, for specifying the underlying logic of elementary processes on DFDs.
1. For each CUSTOMER NUMBER in the data store CUSTOMERS: a. For each LOAN in the data store LOANS that matches the above CUSTOMER NUMBER: 1) Keep a running total of NUMBER OF LOANS for the CUSTOMER NUMBER. 2) Keep a running total of thw ORIGINAL LOAN PRINCIPALfor the CUSTOMER NUMBER. 3) Keep a running total of CURRENT LOAN BALANCE for the CUSTOMER NUMBER. 4) Keep a running total of AMOUNTS PAST DUE for the CUSTOMER NUMBER. b. If the TOTAL AMOUNTS PAST DUE for the CUSTOMER NUMBER is greater than $100.00 then: 1) Write the CUSTOMER NUMBER and all their data attributes as described in the data flow LOANS AT RISK. Else 1) Exclude the CUSTOMER NUMBER and data from the data flow LOANS AT RISK.
Policies and Decision TablesA policy is a set of rules that governs some process of the business.
A decision table is a tabular form of presentation that specifies a set of conditions and their corresponding actions (as required to implement a policy).
•A data flow represents an input of data to a process, or the output of data from a process.
–A data flow may also be used to represent the creation, reading, deletion, or updating of data in a file or database (called a data store).
–A composite data flow is a data flow that consists of other data flows.
•A control flow represents a condition or nondata event that triggers a process.
–Used sparingly on DFDs.
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.
DATA STRUCTURE
ORDER=
ORDER NUMBER +
ORDER DATE+
[ PERSONAL CUSTOMER NUMBER,
CORPORATE ACCOUNT NUMBER]+
SHIPPING ADDRESS=ADDRESS+
(BILLING ADDRESS=ADDRESS)+
1 {PRODUCT NUMBER+
PRODUCT DESCRIPTION+
QUANTITY ORDERED+
PRODUCT PRICE+
PRODUCT PRICE SOURCE+
EXTENDED PRICE } N+
SUM OF EXTENDED PRICES+
PREPAID AMOUNT+
(CREDIT CARD NUMBER+EXPIRATION DATE)
(QUOTE NUMBER)
ADDRESS=
(POST OFFICE BOX NUMBER)+
STREET ADDRESS+
CITY+
[STATE, MUNICIPALITY]+
(COUNTRY)+
POSTAL CODE
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
Data Flow defined as data structure
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.
•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)
1. Draw a context DFD to establish initial project scope.
2. Draw a functional decomposition diagram to partition the system into subsystems.
3. Create an event-response or use-case list for the system to define events for which the system must have a response.
4. Draw an event DFD (or event handler) for each event.
5. Merge event DFDs into a system diagram (or, for larger systems, subsystem diagrams).
6. Draw detailed, primitive DFDs for the more complex event handlers.
7. Document data flows and processes in the data dictionary.
THE ABOVE METHODOLOGY, BASED ON EVENT PARTITIONING, IS MORE COMMONLY PRACTICED.
Modern Structured Analysis
•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 system’s change from one state to another.
•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).