Logic Modeling Logic and timing are not represented on data flow diagrams or entity-relationship diagrams Processes contain logic - what happens under what conditions Logic is modeled per process Types of logic: sequence, conditions, iteration
Structured English Uses a subset of English Uses indentation similar to programming Uses process-type verbs like READ, WRITE, GENERATE, CHECK, PRINT Verbs and control words in CAPS Refers to the data coming in and out of the process No specific syntax rules
Structured English Examples READ Inventory records WHILE NOT End-of-file DO BEGIN IF IF Quantity-in-stock is less than Minimum-order-quantity THEN GENERATE new order ELSE DO nothing END IF END DO READ next prescription SELECT CASE CASE (prescription for formulated drug) DO send to lab station CASE (prescription for off-the-shelf drug) DO send to shelving station CASE (prescription for narcotic drug) DO send to secure station END CASE
Decision Tables
Decision Trees Pay base salary Salaried Calculate hourly wage; Produce absence report 1 Hourly <40 40 Calculate hourly wage 2 >40 Calculate hourly wage; Calculate overtime wage Legend 1) Type of employee 2) Hours worked
Network Models Network Decomposition Diagram Hub Connectivity Diagrams hubs - places where data is stored or processing is done for users at some other location workstations - places where a user physically sits and can access the system remotely Hub Connectivity Diagrams simply says what hubs and external networks have to exchange data
Network Decomposition Diagram System External Network Hub Hub Hub Workstation Workstation Workstation Workstation Set of Workstations Workstation
Hub Connectivity Diagram 50 feet 35 miles Hub Hub 3000 miles External Network
Simple Example 200 miles Server Server Order Takers Customer Ordering System Credit Verification Service 200 miles Credit Verification Service Server Server System Administrator Order Takers
Data Dictionary Includes: Purposes descriptions of all pieces of data relationships between pieces of data Purposes eliminate ambiguities identify links between DFDs and ERD clarify how different pieces of data are related serves as a standard reference throughout the project specify what is contained in data stores and flows
What needs to be defined Data flows Entities Data stores Relationships are collections of are collections of Data elements correspond to Attributes
Basic parts of a definition Name (that appears on the diagram) Type (data flow, data store, entity, etc.) Description (text) Synonyms (other names used for same thing) What it contains What it is contained in Constraints/data type
Data Flow Definition Name (that appears on the diagram) Type = data flow Description (text) Synonyms What it contains - list of data elements; lower-level data flows What it is contained in - data flow in higher-level diagram Constraints - source and destination
Example Data Flow Definition Name: Customer Record Type: data flow Description: The customer information that needs to be stored in the customer DB Synonyms: none What it contains: data elements: customer ID customer name customer address customer phone lower-level data flows: none What it is contained in: none Constraints: Source: Process 5, Create Customer Record Destination: Data Store D3, Customer Master
Data Store Definition Name (that appears on the diagram, including ID) Type = data store Description (text) Synonyms What it contains - list of data elements What it is contained in - n/a Constraints - physical form, if known
Example Data Store Definition Name: Customer Master Type: data store Description: Information on all customers who have provided this information when placing an order Synonyms: none What it contains: data elements: customer ID customer name customer address customer phone What it is contained in: n/a Constraints: form is a database table
Data Element Definition Name (does not appear on the diagram) Type = data element Description (text) Synonyms (other data elements and attributes) What it contains - n/a What it is contained in (data stores and data flows) Constraints (format, length, valid values)
Example Data Element Definition Name: customer name Type: data element Description: The last name of a customer who has at one time placed an order Synonyms: attribute Customer.name What it contains: n/a What it is contained in: data flow Customer Record; data store Customer Master Constraints: must be a character string with maximum length 15
Entity Definition Name (that appears on the diagram) Type = entity Description (text) Synonyms What it contains (attributes) What it is contained in - n/a Constraints (identifier)
Example Entity Definition Name: Customer Type: entity Description: Any individual who has at one time placed an order and purchased goods Synonyms: none What it contains: attributes Customer_ID, Name, Address, Phone What it is contained in: n/a Constraints: Customer_ID must be unique
Relationship Definition Name (that appears on the diagram) Type = relationship Description (text) Synonyms What it contains (attributes, including key attributes of participating entities) What it is contained in - n/a Constraints (cardinality, degree, operational constraints)
Example Relationship ERD DFD 8 Customer_ID Phone Charge Customer Purchase Customer Information Address Name CUSTOMER Account Information Purchase Information owner type Has account number D5 Customer Accounts ACCOUNT balance
Example Relationship Definition Name: Has Type: relationship Description: Associates individual customers with the credit accounts they have with this business, that they can use to purchase goods Synonyms: data store D5, Customer Accounts What it contains: attributes Customer.Customer_ID, Account.account_number, owner_type What it is contained in: n/a Constraints: binary; many-to-one; mandatory for accounts, but not customers
Attribute Definition Name (that appears on the diagram) Type = attribute Description (text) Synonyms (other attributes and data elements ) What it contains - n/a What it is contained in (entities and relationships) Constraints (format, length, valid values)
Example Attribute Definition Name: Name Type: attribute Description: The last name of a customer who has at one time placed an order Synonyms: data element customer_name What it contains: none What it is contained in: entity Customer Constraints: must be a character string with maximum length 15