Presentation is loading. Please wait.

Presentation is loading. Please wait.

Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.

Similar presentations


Presentation on theme: "Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition."— Presentation transcript:

1 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition 8 C H A P T E R PROCESS MODELING

2 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Chapter EightProcess Modeling Define systems modeling and differentiate between logical and physical system models (again). Define process modeling and explain its benefits. Recognize and understand the basic concepts and constructs of a process model. Read and interpret a data flow diagram. Construct a context diagram to illustrate a system’s interfaces with its work environment. Identify use cases, external and temporal business events for a system. 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.

3 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Chapter Map

4 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Models: Logical and Physical Logical models show what a system is or does. They are implementation independent; that is, they depict the system independent of any technical implementation. (Sometimes called ‘conceptual or essential model) 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. (Sometimes called ‘technical’ or ‘implementation’) A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial representations of reality.

5 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition “Logical” Logical in the world of systems analysis is NOT equivalent to the term logical in the world of database. –In the database world, a “logical schema” is already constrained by the choice of a database technology –Contrary to the systems analysis expectation that a logical model is technology-independent. Again, nearly always multiple technical solutions for any given set of business requirements. In most projects, there is one logical model that represents the mandatory and desirable business requirements, regardless of how those requirements might be implemented. Given that one logical model, there are multiple candidate physical models that could represent alternative, technical implementations that could fulfill the business requirements

6 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Why Logical System Models Logical models remove biases that are the result of the way the system is currently implemented, or the way that any one person thinks the system might be implemented. Logical models reduce the risk of missing business requirements because we are too preoccupied with technical results. Logical models allow us to communicate with end- users in nontechnical or less technical languages. Here, we will focus on logical process modeling…

7 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Process Modeling and DFDs Process 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. The ‘context diagram’ (level-0 DFD) shows the interface from the perspective of the system owners and users. While data models can be captured by reverse engineering data base schema, the similar process of doing so ‘for process’ is not so mature. Other kinds of process models: structure charts (hierarchy charts) (functional decomposition) program flow charts (logic flowcharts) decision tables (decision logic tables – DLTs) data flow diagrams (DFDs) – a systems analysis process model.

8 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Process Modeling and DFDs 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. DFDs have become a popular tool for business process redesign (BPR). Planning for DFDs, use a planning tool: decomposition diagrams. Will also look at context diagrams – illustrates the system interfaces to business, and the outside world. Let’s consider a sample DFD:

9 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Simple Data Flow Diagram Very easy to read. Try to read it…. Three symbols and one connection Symbols: Rounded Rectangle – a ‘process’or work to be done. The Square – for external entities..are considered on the boundary but outside the system. The Data Store – can correspond to all instances of a single entity in a data model; file or database. Flow lines – data flows – inputs and/or outputs to/from processes. Walk through it…..

10 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition 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 and other considerations…. –Processes on flowcharts are part of a single program with consistent timing

11 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Systems Thinking “Systems Thinking” is the application of formal systems theory and concepts to systems problem solving. Systems theory and concepts help us to understand the way systems are organized and how they are used… DFDs are a tool that supports systems thinking. Problems in college are much smaller and simpler than those encoutered in the real world. Systems thinking is a technique that will pay off as problem size and complexity grow…. Used throughout this course….

12 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Process Concepts A process is work performed on, or in response to, incoming data flows or conditions. In logical modeling, we focus on ‘what’ work/action is being done and not on who/what is doing the actual work. A System is a Process The most fundamental building block is a Process. All information systems have processes that represent business needs that transform data into useful information. Entity Like my level 0 DFD I added the “entity” to the book’s drawing….Entities are producers/consumers/triggers of system’s data / information facilities Entity Feedback and control is included to monitor the system and adapt to change.

13 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition System Decomposition Decomposition Decomposition is the act of breaking a system into its component subsystems, processes, and sub-processes. Each level of abstraction becomes more concrete and less abstract; Going down the hierarchy, we find less and less ‘control’ and more and more ‘computation.’ Here is one way to show levels of abstraction (decomposition) Sometimes this is called, ‘functional decomposition’ or ‘stepwise refinement.’ In program design, this is your architectural design (your building blocks).

14 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Decomposition Diagrams Drawn in a more familiar style: (really the same thing) A decomposition diagram or hierarchy chart shows the top- down, functional decomposition of a system. In Cobol, I had students number these modules: 0000-main, 1000-Initialization, 2000-xxxx, 3000-yyyy and then break down ‘each of those abstractions’ into 2100-xxxx, 2200-xxxx, etc. where xxxx is a meaningful descriptor. ‘parent’ and ‘child’ processes Parents have >= two children Child has at most one parent. No arrows – show structure and not flow; connections not named: ‘consists of.’ Sum of child processes = parent process.

15 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Types of Logical Processes (Processes that must be done.) A function is set of related and ongoing activities of a business. –No start or end. –Named as nouns (at high levels) –Given identified inputs, the processes produce indicated outputs. –Often major subsystems or business components, such as Order Entry, Subscription Handling, Customer Relations… Now, at ‘high levels’ of DFDs, we can see specific inputs being fed into these major ‘functions.’ (These major functions are normally shown as a level 1 DFD…) In reality, these major functions have events that constitute the detailed functions. So, when we see inputs going into a high level function (and outputs produced), in reality, the inputs will be handled by an ‘event handler’ of the function and output will be produced by an ‘event handler’ of the function – and shown in a lower level. –(Implementation of Use Cases is really design and implementation of event handlers…)

16 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Example Example: (my example) input 1 input 2 output 1 1 Major Fct is decomposed to: input 1input 2 output 1 another input some intermediate output Event 1.1 Event 1.2 Event 1.3 Data Flows are preserved!! typically a ‘verb object’, as in Test Material Qty, Order New Materials Return Unused Junk… But ALL of these events comprise the major function of 1 (or 1.0) Often see this transaction- level DFD at a level 2 or 3…)

17 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Continuing…logical processes – second type Second logical process: an event (or transaction) is a logical unit of work that must be completed as a whole (as part of a function). (Think: path through a Use Case) –Specific input(s) initiate an event and the event continues until it produces the appropriate outputs. Events are often called ‘transactions’ in the DFD world (not in the Use Case world: called scenarios. (Will see a lot of these.) These events are often called ‘business events’ also. –As seen, these ‘events’ are normally verb-object and are of the form: Generate xxxxx or Process xxxxxx or Produce ZZZZZ or Maintain YYYYY.

18 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Continuing…logical processes – third type A Event Process can also be decomposed into an elementary process that provides the very low level detail about how the system will respond to an event. These are called Elementary Processes. 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. (We are breaking down the Event Process…) Very strong action word; object clauses…Validate Customer –ID, Perform Computations, Sort Stuff, …. Not concerned with boring data movement or events that do not change the data.

19 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Common Process Errors on DFDs Common Errors: Black hole (3.1.2) Processes that have only outputs and no inputs (3.1.3) Grey hole – inputs insufficient to produce the outputs. (3.1.1)

20 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Detailed Process Logic – Capturing the Software Procedure. DFDs and Structure Charts provide much information regarding data flow and functional decomposition (used for architectural design…). –Don’t not show software procedure in those functions. Specifically, we need to model the algorithms. Your author poo-poos program flow charts, pseudo code, and natural English. (I disagree) They advocate Structured English approach… Let’s see what they have to say. First they poo-poo Natural Language (I agree).

21 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition PROBLEMS WITH NATURAL ENGLISH 1 Source: Adapted from Matthies, Leslie, The New Playscript Procedure, (Stamford, CT: Office Publications, Inc. 1977) Problems with Natural English Many of us do not write well, and we also tend not to question our writing abilities. Many of us are too educated! It’s often difficult for a highly educated person to communicate with an audience that may not have had the same educational opportunities. For example, the average college graduate (including most analysts) has a working vocabulary of 10,000 to 20,000 words; on the other hand, the average non-college graduate has a working vocabulary of around 5,000 words. Some of us write everything like it was a program. If business procedures required such precision, we’d write everything in a programming language. Too often, we allow the jargon and acronyms of computing to dominate our language. English statements frequently have an excessive or confusing scope. How would you carry out this procedure: “If customers walk in the door and they do not want to withdraw money from their account or deposit money to their account or make a loan payment, send them to the trust department.” Does this mean that the only time you should not send the customer to the trust department is when he or she wishes to do all three of the transactions? Or does it mean that if a customer does not wish to perform at least one of the three transactions, that customer should not be sent to the trust department? We overuse compound sentences Consider the following procedure: “Remove the screws that hold the outlet cover to the wall. Remove the outlet cover. Disconnect each wire from the plug, but first make sure the power to the outlet has been turned off.” An unwary person might try to disconnect the wires prior to turning off the power! Too many words have multiple definitions. Too many statements use imprecise adjectives. For example, an loan officer asks a teacher to certify that a student is in good academic standing. What is good? Conditional instructions can be imprecise. For example, if we state that “all applicants under the age of 19 must secure parental permission,” do we mean less than 19, or less than or equal to 19? Compound conditions tend to show up in natural English. For example, if credit approval is a function of several conditions: credit rating, credit ceiling, annual dollar sales for the customer in question, then different combinations of these factors can result in different decisions. As the number of conditions and possible combinations increases, the procedure becomes more and more tedious and difficult to write.

22 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition 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 the ORIGINAL LOAN PRINCIPAL for 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. Detailed Processing Logic - Structured English Structured 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. I can live with the authors’ version of Structured English – if the numbers are tied to the modules or processes in the Structure Chart and/or DFD. It does marry some of the constructs of structured programming, indentation, and natural language. Still uses sequence, selection, and iteration. OK! Still very high level and shows some algorithmic detail…. Notice the STRUCTURE…

23 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Structured English Constructs (Part 1) Useful for simplifying very complex combinations of conditions. Replace complex, nested if-then-else selection structures…

24 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition More on Structured English Be sure to read these couple of pages carefully!!!! Note the ‘restrictions’ on Structured English like only names that have been defined in the project dictionary may be used. I would strictly adhere to the use of scope terminators Figures 8-7 – 8-9.  Please note: This is the ‘detailed design’ I have been speaking about. I referred to it as ‘software procedure.’ IT is. And ways you document this is by program flowcharts, pseudocode, natural English, and (your authors’ preference Structured English.

25 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Structured English Constructs (Part 2) complex logic in which rows represent conditions Here is a decision table. (Another example is found in your COBOL textbook)

26 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Structured English Constructs (Part 3) Know the difference between the Repeat … Until (will always do at least one time – prior to test… And the Do…While – do while something is true… These are great constructs for pseudocode…that is, detailed algorithmic logic.

27 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Policies and Decision Tables A 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).

28 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition A Simple Decision Table

29 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition 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). (CRUD) –All processes have at least one input and one output data flow. A composite data flow is a data flow that consists of other data flows. Usually seen on high-level DFDs to make the diagrams easier to read – See slides ahead… A control flow represents a condition or nondata event that triggers a process. (more later – on CFDs) –Used sparingly on DFDs. Data Flows & Control Flows

30 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data Flow Packet Concept Packets Packets represent data items that must be kept together. Treat these as a single unit – especially at higher levels of abstraction.

31 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Composite and Elementary Data Flows Note the composition of data flow all in Order Note: high-level DFD. Can clearly see the decomposition decomposition of the flows into separate named flows. Note the ‘junction.’ Means an order is only of one type.

32 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Control Flows Some texts in Software Development address “Control Flows.” –As suggested, a control flow acts like a trigger. –Not used much in Information Systems –Used a lot in computer science/computer engineering Triggering devices are very important to document as part of the requirements analysis activities. Often documented in State Transition Diagrams (STDs) vice Control Flow Diagrams (CFDs). In OOA/OOD we use Event Traces and Event Flows and Action Diagrams –A nice plus re: DFDs is, however, that this tool ‘can’ be used for documented almost any kind of system!

33 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data Flows to and from Data Stores Note: That data flows not ‘how’ it flows. Note: Should be singular, descriptive nouns. Note: Data Store names are ‘plural’ and actions to/from a store are normally not indicated. All data flows must begin and end at a process. All data flows must be named.

34 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Some DFD methodologies suggest that data flows to and from data stores not be named. –Confuses the end-users when they try to read the diagrams. –Name your data. Keep this as a consistent approach. Some DFD notations actually use the CRUD letters only to name flows to and from data stores. –Popular approach. –CRUD: a useful acronym from the database world to remember the basic data flows as they relate to data stores: Create, Read, Update (or change), and Delete.

35 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Illegal Data Flows

36 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data 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. (better than using ‘field’)

37 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition A Data Structure for a Data Flow 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

38 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data Structure Constructs Data Structure Sequence of Attributes - The sequence data structure indicates one or more attributes that may (or must) be included in a data flow. Selection of Attributes - The selection data structure allows you to show situations where different sets of attributes describe different instances of the data flow. Repetition of Attributes - The repetition data structure is used to set off a data attribute or group of data attributes that may (or must) repeat themselves a specific number of time for a single instance of the data flow. The minimum number of repetitions is usually zero or one. The maximum number of repetitions may be specified as “n” meaning “many” where the actual number of instances varies for each instance of the data flow. Format by Example (relevant portion is boldfaced) WAGE AND TAX STATEMENT= TAXPAYER IDENTIFICATION NUMBER+ TAXPAYER NAME+ TAXPAYER ADDRESS+ WAGES, TIPS, AND COMPENSATION+ FEDERAL TAX WITHHELD+… ORDER= (PERSONAL CUSTOMER NUMBER, CORPORATE ACCOUNT NUMBER)+ ORDER DATE+… CLAIM= POLICY NUMBER+ POLICYHOLDER NAME+ POLICY HOLDER ADDRESS+ 0 {DEPENDENT NAME+ DEPENDENT’S RELATIONSHIP} N+ 1 {EXPENSE DESCRIPTION+ SERVICE PROVIDER+ EXPENSE AMOUNT} N English Interpretation (relevant portion is boldfaced) An instance of WAGE AND TAX STATEMENTS consists of: TAXPAYER IDENTIFICATION NUMBER and TAXPAYER NAME and TAXPAYER ADDRESS and WAGES, TIPS AND COMPENSATION and FEDERAL TAX WITHHELD and… An instance or ORDER consists of: Either PERSONAL CUSTOMER NUMBER or CORPORATE ACCOUNT NUMBER; and ORDER DATE and… An instance of CLAIM consists of: POLICY NUMBER and POLICYHOLDER NAME and POLICYHOLDER ADDRESS and zero or more instance of: DEPENDENT NAME and DEPENDENT’S RELATIONSHIP and one or more instances of: EXPENSE DESCRIPTION and SERVICE PROVIDER and EXPENSE ACCOUNT Note: same basic structures (sequence, selection, iteration) are applied to procedures using Structured English are applied here to describe data structures… Have NEVER founds any form or file structure that could not be described in this notation.

39 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data Structure Constructs (concluded) Data Structure Optional Attributes - The optional notation indicates that an attribute, or group of attributes in a sequence or selection date structure may not be included in all instances of a data flow. Note: For the repetition data structure, a minimum of “zero” is the same as making the entire repeating group “optional.” Reusable Attributes - For groups of attributes that are contained in many data flows, it is desirable to create a separate data structure that can be reused in other data structures. Format by Example (relevant portion is boldfaced) CLAIM= POLICY NUMBER+ POLICYHOLDER NAME+ POLICYHOLDER ADDRESS+ ( SPOUSE NAME+ DATE OF BIRTH)+… DATE= MONTH+ DAY+ YEAR+ English Interpretation (relevant portion is boldfaced) An instance of CLAIM consists of: POLICY NUMBER and POLICYHOLDER NAME and POLICYHOLDER ADDRESS and optionally, SPOUSE NAME and DATE OF BIRTH and... Then, the reusable structures can be included in other data flow structures as follows: ORDER=ORDER NUMBER…+DATE INVOICE=INVOICE NUMBER…+DATE PAYMENT=CUSTOMER NUMBER…+DATE

40 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data 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.

41 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Diverging 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

42 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Diverging and Converging Data Flows Not always supported by CASE tools…

43 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition External Agents / External Entity / Actor (from OO world…) 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 system’s end-users or managers (not same as entity in database world…)

44 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data 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, Concepts, … –Data stores depicted on a DFD store all instances of data entities (depicted on an ERD) –Prefer the simplicity of representing each data entity from the data model as its own data store on process models.

45 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition When 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 system’s 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)

46 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Classical Structured Analysis 1.Draw top-down physical DFDs that represent the current physical implementation of the system including its limitations. 2.Convert the physical DFDs to their logical equivalents. 3.Draw top-down logical DFDs that represent an improved system. 4.Describe all data flows, data stores, policies, and procedures in a data dictionary or encyclopedia. 5.Optionally, mark up copies of the logical DFDs to represent alternative physical solutions. 6.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.

47 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Differences between original structured analysis and contemporary structured analysis -shown on the next slide). This approach to systems analysis is rarely practiced and is no longer recommended even by its original evangelists, Tom DeMarco and Ed Yourdon. Yourdon officially updated the methodology based on the seminal work, Essential Systems Analysis, by McMenamin and Palmer. The revised approach is shown on the next slide.

48 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Modern Structured Analysis 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.

49 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Although this process may not be as familiar to some as the top-down, fully leveled, classical “physical- logical-logical-physical” approach in the 1976 DeMarco methodology, this is the more contemporary approach. The original approach is rarely, if ever, practiced because it is so labor intensive and time consuming.

50 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Structured Analysis Diagram Progression (1 of 3)

51 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Structured Analysis Diagram Progression (2 of 3)

52 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Structured Analysis Diagram Progression (3 of 3)

53 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition CASE for DFDs (Sample Screen) from System Architect 2001

54 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition SoundStage Context DFD A context DFD does not have to show every net data flow. For most systems, this would overwhelm the reader. Trivial or less common flows can be omitted until later diagrams, and composite data flows can be created to combine multiple flows. As a result, and in the strictest sense, not all primitive data flows may “balance’ up to the context DFD, but we sacrifice that balancing to improve readability and validation. All data flows on the context DFD WILL balance down to the lower-level DFDs (although composite data flows will be replaced by their separate component data flows).

55 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition SoundStage Functional Decomposition Diagram XOR_Cntr_1

56 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Events 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. Events are very similar to Use Cases in OO Design.

57 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Use 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). Use Cases are very similar to Yourdan’s event- response structured analysis paradigm in the past…

58 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition membership subscription plan AGREEMENT Logically Delete (void) in the database. Use Case List Actor Event (or Use Case) Trigger Responses Marketing Establishes a new to entice new members. NEW MEMBER SUBSCRIPTION PROGRAM Generate SUBSCRIPTION PLAN CONFIRMATION. Create AGREEMENT in the database. Marketing Establishesa new membership resubscription plan to lure back former members. PAST MEMBER RESUBSCRIPTION PROGRAM Generate SUBSCRIPTION PLAN CONFIRMATION. Create AGREEMENT in the database. Marketing Changes a subscription plan for current members (e.g., extending the fulfillment period) SUBSCRIPTION PLAN CHANGE. Generate AGREEMENT CHANGE CONFIRMATION. Update AGREEMENT in the database. (time) A subscription plan expires.(current date) Generate AGREEMENT CHANGE CONFIRMATION.

59 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Generate CHANGE CONFIRMATION. Logically Delete (void) AGREEMENT Generate MEMBER DIRECTORY UPDATE CONFIRMATION. Create MEMBER in the database. Create first MEMBER ORDERED PRODUCT s in the database. Generate MEMBER DIRECTORY UPDATE CONFIRMATION. Update MEMBER in the database. Use Case List (continued) Marketing Cancels a subscription plan before its planned expiration CANCELATION in the database. Member Joins the club by subscribing. (“Take any 12 CDs for one penny and agree to buy 4 more at regular prices within two years.”) NEW SUBSCRIPTION MEMBER ORDER Member hanges address (including email and privacy code) CHANGE OF ADDRESS ActorEvent (or Use Case)TriggerResponses

60 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Generate CREDIT DIRECTORY UPDATE CONFIRMATION. Update MEMBER in the database. Generate CONFIRMATION. Logically Delete (deactivate) PRODUCT database. Generate CATALOG DESCRIPTION. Changes member’s credit status 90 days after a Marketing decides to no longer sell a product. Wants to pick products for possible purcase. (Logical requirement is driven by vision of web-based access Use Case List (continued) Accounts Receivable CHANGE OF CREDIT STATUS (time) (current date) CATALOG CHANGE in the Member PRODUCT INQUIRY ActorEvent (or Use Case)TriggerResponses

61 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Event Decomposition Diagram (partial)

62 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition External Event DFD

63 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition External Event DFD (more complex)

64 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Temporal Event DFD Identify Agree- ments Near Default Calendar Agreements Manager Agreements Members Agreement Fulfillment Progress Agreement Default Exception Report End of Month

65 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition System DFD (see book for more readable copy) Most DFDs won’t fit on one or two pages – too many event processes. Instead they must be illustrated in a series of system diagrams that correspond to the structure originally depicted in the functional decomposition diagram.

66 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Primitive DFD (see book for more readable copy) Important to recognize that NOT all events require a primitive DFD to be drawn. This is especially true for the most report- writing and inquiry response event processes. Drawing detailed DFDs for such processes is usually little more than “busy work.”

67 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Data Structure for a Primitive Data Flow Data Structure Data Flow The screen capture demonstrates the dialogue box used to insert the data structure for a data flow on a DFD. Each data flow would require a similar data structure to be specified.

68 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition Logic for a Primitive Process Logic Process The screen capture demonstrates the dialogue box used to insert the logic structure for a process on a DFD. Only those processes for which the logic is not intuitive would require a similar logic structure to be specified.

69 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition 8.30 Data to Process CRUD Matrix

70 Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition 8.31 Process to Location Association Matrix


Download ppt "Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition."

Similar presentations


Ads by Google