Professional Documents
Culture Documents
Chapter Overview
Chapter 8 introduces students to several process modeling techniques for representing business processes. Although this chapter focuses primarily on data flow diagramming, brief overviews of functional hierarchy modeling and Oracles process modeler are given. After a brief introduction to process modeling, data flow diagramming techniques are introduced in a section called ata !low iagramming "echanics.# $his section demonstrates the basic ! symbols, definitions, and rules. $he authors use the %ane and &arson symbol set throughout the boo', and these symbols are e(plained in this section. )oosier *urger, the food ordering system first mentioned in Chapter +, is used to illustrate basic data flow diagramming concepts. $his section also includes e(planations of decomposition and balancing. Chapter 8s third ma,or section introduces four different types of ! s- current physical, current logical, new logical, and new physical. )oosier *urgers inventory control system .which is manual/ is used to illustrate the first three types of ! s. Current practice in using ! s indicates that very little time should be spent on the current physical ! . $he fourth ma,or section in this chapter, 0sing ata !low iagramming in the Analysis 1rocess,# introduces guidelines for drawing and using ! s. $his is different from the mechanical rules presented earlier. $opics include completeness, consistency, timing, iterative development, primitive ! s, and analy2ing ! s for system inefficiencies and discrepancies among ! s that are supposed to be modeling the same system. A )oosier *urger e(ample helps illustrate these guidelines. $he Oracles 1rocess "odeler and !unctional )ierarchy iagrams# section introduces students to two other process modeling tools. $hese tools are Oracle esigners process modeler and functional hierarchy modeling, a tool found in several CA&3 products. 4n this section, the authors show how to prepare basic process models and functional hierarchy diagrams. Additionally, the authors compare and contrast Oracles process models to data flow diagramming. 4n the last section of this chapter, the authors overview process modeling for 4nternet5based electronic commerce applications. As they e(plain, process modeling for 4nternet5based electronic commerce applications does not differ from more traditional applications development pro,ects.
Instructional Ob ectives
&pecific student learning ob,ectives are included at the beginning of the chapter. From an instructors point of view, the objectives of this chapter are to 6. &how how to logically model processes with data flow diagrams.
87
nstructors Manual
+. $each students data flow diagram symbols and the mechanical rules necessary to create accurate, well5structured process models. 8. &how students how to decompose data flow diagrams into lower5level diagrams. 9. 4llustrate the concept of balanced ! s. :. 3(plain and demonstrate the differences among the four levels of ! s- current physical, current logical, new physical, and new logical. ;. 4llustrate how data flow diagrams are used as tools to support systems analysis. <. 3(plain and stress the importance of the ! guidelines- completeness, consistency, timing considerations, the iterative nature of drawing ! s, and drawing primitive ! s. 8. =. 67. iscuss and illustrate Oracle esigners process modeler. iscuss and illustrate functional hierarchical modeling. iscuss processing modeling for 4nternet5based electronic commerce applications.
Classroom Ideas
6. 0se !igures 85+ and 85; to illustrate the basic ! symbols and the correct and incorrect ways to draw data flow diagrams. 0se !igure 858 to demonstrate the problem with trying to include sources>sin's inside the system being modeled. +. Once you have covered the basics of drawing ! s, have students complete 1roblems and 3(ercises + through 9 and 67 as in5class e(ercises. Once the students have completed these problems, review the problems in class, reinforcing the points that you have made. 8. 0se !igures 859, 85:, 85<, 858, and 85= in class to teach decomposition. ?e(t, as' students to complete 1roblems and 3(ercises 9 and 67@ these e(ercises should be completed in class. 9. 0se !igure 8567 to illustrate unbalanced ! s. :. &upplement the chapter material on ! mechanics, decomposition, and balancing with your own e(amples, which you can wor' with your students in class. A good source of such e(amples is written organi2ational procedure statements. "odified procedure statements also ma'e good homewor' problems. &ee 1roblems and 3(ercises 66and 6+ for e(amples. 4t is best to devote at least one complete class period to wor'ing e(amples. &tudents can prepare these diagrams outside of class or try preparing them for the first time in class. "any issues arise that are best handled from e(amples. !or e(ample, students often encounter difficulties when identifying when to show a direct data flow between processes and when to decouple these with a data store .emphasi2e that data stores allow different processes to wor' at different rates and at different times/
86
!hapter "
deciding what activities to encompass with each process .emphasi2e the principle of cohesion and the goal of each process being of roughly equal si2e and comple(ity/ distinguishing processes from sin's and sources .emphasi2e factors such as audience and the ability to change or control in ma'ing such distinctions/ encountering logical inconsistencies or ambiguities in narrative descriptions .emphasi2e that this is the power of ! s and the typical interaction between requirements structuring and requirements determination necessary to resolve such ambiguities/
;. $he )oosier *urger inventory control system e(ample demonstrates the differences between current physical, current logical, and new logical ! s. Aor'ing through the entire e(ample in class is an effective way to illustrate the differences in these three types of ! s. Aor'ing through another e(ample from your own e(perience, or having students come up with their own e(amples, will supplement the )oosier *urger e(ample. <. 0se a CA&3 tool in class to demonstrate ways to model processes other than ! s. )ave students compare and contrast these alternative methods with ! s. 8. 0sing a CA&3 tool that supports ! s, show in class how the tool provides for decomposition and balancing and how ! s are lin'ed to the CA&3 repository. Bater, when teaching Chapter 67, you can show how the repository lin's ! s and entity5 relationship diagrams. =. 0se a CA&3 tool in class to show how the tool chec's for completeness, consistency, and other elements of analysis as discussed in the chapter. 67. 0sing Oracle esigners process modeler, show students how to prepare a process model. 66. 0sing Oracle esigner or another CA&3 tool, illustrate how functional hierarchy modeling is performed. 6+. )ave students identify an organi2ation that would benefit from an 4nternet5based electronic commerce application. 1lace your students into groups of three or four individuals. $hen, have the students prepare a set of data flow diagrams for the 4nternet5based electronic commerce application. 4f time permits, as' your students to also prepare process models and>or functional hierarchy diagrams.
8+
nstructors Manual
9. $he highest level ! is a conte(t diagram. 4t represents the system as a single process, with all the related entities and the data flows in and out of the system. $he ne(t level diagram, called a level57, decomposes the one process from the conte(t diagram into two to seven high5level processes. 3ach process in a level57 diagram can be decomposed if necessary. 3ach resulting diagram is a level56. &hould processes in a level56 diagram be decomposed, each resulting diagram is a level5+ diagram. 3ach one of these processes would be decomposed on a level58 diagram, and so on.
88
!hapter "
:. Current physical ! s often show the people and technology used within a system, illustrating who does what and the media on which data are stored. Current logical ! s attempt to show the essence of the system without regard to the actual physical implementation. ;. etailed ! s for the current physical system often ta'e a great deal of time to prepare and are often tossed aside as the focus shifts from the current to the new system. *y not drawing current physical ! s, or by drawing only cursory ones, analysts save themselves effort and focus from the beginning on what is really important, the new system. ! s can be used as analysis tools to help determine the completeness of a system model and a models internal consistency, as a way to focus on when system events occur through analy2ing timeliness, and, through iterative use, to develop and chec' models. Analysts can study ! s to find e(cessive information handling, thus identifying areas for possible efficiencies.
<.
8. Cou stop decomposing a ! when the following si( conditions are satisfied- .6/ each process is a single decision or calculation or a single database operation, such as retrieve, update, create, delete, or read@ .+/ each data store represents data about a single entity, such as a customer, employee, product, or order@ .8/ the system user does not care to see any more detail, or when you and other analysts have documented sufficient detail to do subsequent systems development tas's@ .9/ every data flow does not need to be split further to show that different data are handled in different ways@ .:/ you believe that you have shown each business form or transaction, computer screen, and report as a single data flow@ or .;/ you believe there is a separate process for each choice on all lowest5level menu options for the system. =. &ources and sin's are always outside of the system being considered. $hey are of interest to the system being considered only because they represent sources of data coming into the system and destinations for data leaving the system. 4f any data processing occurs inside a source or sin', it should be of no interest to the system being modeled. 4f the processing is of interest, however, or if the identified source>sin' has several inputs and outputs to and from the rest of the system, it may be better considered as an internal process. 67. Conte(t diagrams have only one process that represents the entire system being modeled and show only the data flows into and out of the system. $he conte(t diagram also includes sources and sin's, which represent the systems environmental boundaries. $here are usually no data stores in a conte(t diagram. 66. Although data flow diagrams are similar to Oracles process model diagrams, there are several differences. $able 859 contrasts these two process5modeling techniques. 6+. *oth functional hierarchy diagrams and data flow diagrams show a systems decomposition into finer and finer levels of detail. )owever a !) s decomposition is shown on the same diagram.
89
nstructors Manual
8:
!hapter "
Deceipt Customer
1ayment
%oods &old
4nventory ata
&ales ata
&ales $otals
&tore "anager
8;
nstructors Manual
+. &le conte(t and level57 data flow diagrams are provided below. As with the previous question, students can draw their data flow diagrams in several ways, depending on the level of detail they choose to capture. &tudents should reali2e that there is not necessarily one right# data flow diagram for this or most other business processes. 4t is important that the diagrams be balanced, have a clear and purposeful boundary, and obey the rules for drawing ! s.
Deceipt
6 Ealidate Order
+ !inali2e Order
4nventory ata
8<
!hapter "
8. 3ncourage your students to review the rules presented in $able 85+, $able 858, and !igure 85 ; and chec' each of their data flow diagrams. Alternatively, if the students use a CA&3 tool to create their data flow diagrams, the CA&3 tool can automatically chec' for errors in the diagrams. $here are no rule violations in the e(ample ! s, but we cannot verify that there are no logical problems until we decompose the diagrams to a primitive level. One obvious missing system capability is how to handle invalid orders@ typically, processes to handle abnormal conditions, li'e invalid orders, are shown on primitive or at least low5level diagrams. 9. Cour students may choose a variety of situations to use for the nth level data flow diagrams for this answer. *asically, students should continue the process of decomposition until they have reached the point where no subprocess can logically be bro'en down further .i.e., each process meets the definition of a primitive process/. &ee the level56 data flow diagram for this e(ercise, which shows a sample decomposition of the process titled !inali2e Order from the level57 data flow diagram provided for 1roblem and 3(ercise +. $he .italici2ed/ labels for processes and sources>sin's without borders represent the origin or destination of flows that pass between this subsystem and other system components. ?ote that the %oods &old !ile is a potential blac' hole, or possibly should be treated as a sin'.
Cap and +own (evel), 'iagram
'alidate (rder
Deceipt
Deceipt
+.8 %enerate 4nformation for &hipping 4nventory ata )pdate nventory File
:. &ome errors and peculiarities in these diagrams include- .6/ different names and numbers are used for apparently the same data store on the two diagrams@ .+/ in the level57 diagram, the data store, Class Doster, does not have the data flow, &cheduled Classes, flowing into it, rather this data flow connects processes + and 8, thus these ! s are not balanced@ .8/ 1rocess 6 appears to accomplish nothing since its inflow and outflow are identical@ such processes are uninteresting and probably unnecessary@ it is possible that this process will become interesting when it is decomposed, where validation and error handling processes might appear@ .9/ 1rocess + does not appear to need Course Dequest as input in order to perform its function, as implied by its name, and .:/ some students may also wonder if 1rocess 8 has input sufficient to produce its output. !or e(ample, where are prior class registrations 'ept so that 1rocess 8 can determine when a course is fullF
88
nstructors Manual
;. 1hysical data flow diagrams help you better understand the people and>or computer systems that are used in the overall systems processing. Bogical data flow diagrams help you better understand the essence of the system, the data and the processes that transform them, regardless of actual physical form. !urther, the new logical data flow diagrams can then show any additional functionality necessary in the new system, to indicate which, if any, obsolete components have been eliminated, and any changes in the logical flow of data between system components, including different data stores. $he data flow diagrams for the new physical system can then be constructed with the data flow diagrams for the new logical system as a guide. As discussed in the chapter, e(perts used to recommend that all four levels of data flow diagrams .current physical, new physical, current logical, and new logical/ be constructed because- .6/ analysts 'new little about the business of the user and needed to develop a detailed current physical data flow diagram in order to understand the business, .+/ users were not able to wor' with a new logical data flow diagram right away, and .8/ there is not much wor' in turning current logical data flow diagrams into new logical data flow diagrams. <. !or data flow diagrams to be complete, all the necessary components of a data flow diagram should be included in the diagram and fully described in a pro,ect repository. As described in the chapter, with most CA&3 tools, the CA&3 tools repository is lin'ed to the diagram. Ahenever you define .or redefine/ a process, data flow, source>sin', or data store on a data flow diagram, an entry is automatically created .or updated/ in the repository for that element. !igure 8568 shows a sample report of the contents of a CA&3 repository entry. 4t is this tight lin'age between diagrams and the CA&3 repository that creates much of the value of a CA&3 tool. !urther, you cannot have an entry in the repository that is not on some diagram. $he repository is also helpful for enforcing ! rules@ for e(ample, during decomposition, the repository remembers what were all of the inflows and outflows of an e(ploded process. $he repository also 'eeps trac' of any split or ,oined data flows. 8. $he various views .e.g., process, logic, data/ of an information system each have their own unique characteristics and provide the most relevant information to different information system specialists. $his variety is best understood, e(pressed, and managed by using diagrams and documentation that are specifically tailored for each view of the system. !or e(ample, data flow diagrams are useful for capturing the flow of data through business processes, but they are not useful for describing the forms and relationships among data. As information systems become larger and more comple(, it becomes even more important to use the right tool and technique to develop each component of an information system. One technique that captured all aspects of an information system model on one diagram or in one notation would li'ely be too comple( for systems professionals to handle. =. $hree ma,or errors in !igure 85+< are- .6/ 1rocess 6.7 .1+/ has only inputs, ma'ing it a blac' hole@ .+/ data flow !: should not move directly from source 36 to data store &6 without first going through a process@ .8/ data flow !6 should not move directly from source 36 to sin' 3+ without first going through a process. Other peculiarities .such as 1rocess 6.7 has label 1+ and the data store has only a label, not a number/ are only that, not errors. 67. $here is a general formatting issue with these ! s since there are no numbers on processes and data stores, but the student should be able to find logical errors as well. $hree particular logical errors in !igure 85+8 are- .6/ the data store &6, not &+, should be represented on the level56 diagram@ .+/ data flow !8 should be an outflow on the level56 diagram, and
8=
!hapter "
data flow !; should not be on the level56 diagram@ .8/ process 16.9.+ has no inputs and is thus a miracle process. 66. $he following conte(t and level57 data flow diagrams represent one way to model the hiring process described in this question. Eariations, based on different assumptions, are possible. !or e(ample, it is possible to include the processes performed by the 1ersonnel "anager outside the system as a source>sin'@ in our diagram, we assume the way the 1ersonnel "anager does her wor' might be studied in more detail, and the way this wor' is done is sub,ect to change. Also, some students might show Applicant and )ired 3mployee as separate sources since only )ired 3mployees provide the information on a nondisclosure agreement. Our e(ample assumes that there is always a successful hiring decision .that is, there is no loop between 1rocesses 9 and 8 in the level57 diagram/@ we also assume application and ,ob description data flows are accurate and complete, so there is no reason to e(plode associated processes to show error handling. Ae also assume that all )iring ecision Betters result in an accepted hiring offer. Cou may want to give your students our e(ample answer and as' them to identify additional assumptions we have made, which may be different than what they concluded. Our simplifications mean that it is unli'ely that our level57 diagram needs to be decomposed. Our e(ample solution also shows split data flows@ be sure to emphasi2e that a split flow means that the same data flow at the same time, but to multiple destinations. 4n our e(ample, we also show the 3mployee data store only on the level57 diagram, not on the conte(t diagram. $echnically, you could show it on the conte(t diagram, but we assume that this is a detail that is necessary to be 'nown only to those loo'ing at level57 and lower diagrams. ! -requent mista.e our students have made is to -orget to include the purge process /on level), or lower diagrams0 to get rid o- year)old applications . Delated to this, since applications are retained for a year and the system operates whenever new ,obs are posted .this timing cannot be seen on ! s/, there is a need to have an application data store inside the system .that is, on level56 and lower diagrams/@ some students will miss this essential element of the logical system description. &tudents can choose to further decompose the processes@ if they do, chec' that the decompositions are balanced and provide detail needed to show separate processing steps and unique data flows and stores. &ome students also ma'e mista'es by trying to use information in the 1roblem and 3(ercise that is meaningless for drawing ! s .for e(ample, there are :77 engineers of different types/@ this e(ercise is a good opportunity to emphasi2e with your students that any given system model, li'e a ! , does not model all aspects of an organi2ation, although these facts are relevant .the fact that there are :77 engineers is relevant for physical database design, for e(ample/.
=7
nstructors Manual
)iring &ystem
Application Applicant
4nterview &chedule
; Applications for 4nterview )iring ecision + Gob escriptions Delevant Gob escription 9 3valuate and )ire Create 3mployee Decord ?ew 3mployee ata
3ngineering "anager
3mployees
=6
!hapter "
6+. $he following conte(t and level57 data flow diagrams represent one way to model the help des' process described in this question. $his solution includes the processes performed by the consultants and operators as subsystems within the system rather than as sources>sin's@ this adds detail, but allows bottlenec's in these processes to be corrected. ?ote that data store 6 is repeated in the level57 diagram, to avoid e(cessive crossing of data flow lines. &everal processes can be e(ploded further, but the student will need to ma'e many assumptions to do so. $here are a number of ways that the students can improve this system. !or e(ample, with the current system a customer may have to e(plain their problem and>or question over and over to multiple people- an operator and possibly several consultants. $he customer may begin to believe that they are getting the run5around.# One way to avoid this potential problem is to let the initial operator have access to the customer problem database so that when the caller is handed off to a consultant the customers already opened problem file will go along with him. 4n addition, the operator could have sufficient information and the option to direct the call to the proper consultant. Alternatively, clients could call the assigned consultant directly on follow5up calls to an initial call for help. As' your students for characteristics of a ! that imply areas for improvement. 1ossible answers are- processes that simply collect and pass on information rather than transforming data, collecting the same information into several processes, placing untransformed data into data stores thus causing un'nown delays in processing this data, or cycles or loops that have no apparent termination.
?ature of Call Client Call Deport H or Other ata ?ew 1roblem ata 4nterim 1roblem &tatus !inal Call Desolution
=+
nstructors Manual
Call Jueue )elp es' Call 4nformation : 8 etermine if !irst Call !irst Call 4nformation 9 1revious Call 4nformation
+ 6
;
Other 0nit
Call Jueue
$ransfer Call
=8
!hapter "
1rescription
1atient !ile
+ Deview 1rescription Order by &tation Order 4nfo 8 !ill Order rug Babel 4nfo 9 %enerate Babel
1atient 4nfo
*illing ept
=9
nstructors Manual
4nvoice
6
Ealidated 1O H
Contract atabase
?ot5in5stoc' Deport 8
Ealidated 1O
+
&hipping *ill for 3(ception Deport 4tems
Contracts !ile
=:
!hapter "
Consultant
$ravel Confirmation I 4tinerary Availability, Cost, "tg &pace, I Bocation 4nfo Dequirements 1otential "eeting &ite Availability, Cost, "tg &pace, I Bocation 4nfo
$ravel Agency
=;
nstructors Manual
Deserve I &eating 4nfo 6 Arrange for "eeting !acilities ?egotiation 4nfo ?egotiation 4nfo Contract Agreement 4nfo Contract Agreement 4nfo "eeting !acility 4nfo + &ales "anager
&eminar "tg !acil Dequirements &eminar Bogistics atabase 6 Consultant $ravel 4nfo !light &chedules !light Deservation 4nfo Dequest for "aterials $ravel Agency
Consultant
"a'e Consultant Apprvd $ravel Arrgmts $ravel Arrangements $ravel Confirmation I 4tinerary 8 etermine I &end &eminar "aterials
&hipment ?otification
=<
!hapter "
6;. $his is an e(cellent question to demonstrate the integration capabilities among different diagramming tools. 4n order to prepare the process model, your students will need access to Oracles process modeler. Cour students diagrams will vary, since there is not any one correct answer. 0se 1roblem and 3(ercise 68s scenario to demonstrate the ease with which data flow diagrams, process models, and a functional hierarchy diagram can be built.
=8
nstructors Manual
that the drawing pac'age does not automatically move all the connected data flows while these ob,ects are moved around the screen. Aith a CA&3 tool, when an ob,ect is moved, its connecting data flows move with it. &imilarly, with a CA&3 tool you can often move to a different, related data flow diagram by clic'ing on a button or by double clic'ing on a particular process. Also, drawing pac'ages do not 'now ! rules, so no automatic error chec'ing can be done and decomposition is not a function of the pac'age. 4n addition, since a drawing pac'age has no repository, symbols on different diagrams probably cannot be lin'ed .e.g., when details on a higher5level diagram change, these are automatically reflected on nested diagrams/. :. &tudents might find that these people draw their business process using either a data flow diagram, a flow chart, a series of input>output models, or some combination of these techniques. 1eople will draw the diagram using the techniques with which they are familiar. 4f they are not familiar with any techniques for modeling processes, then they will probably draw pictures that represent physical reality .e.g., a piece of paper moving from one person to another person, or a piece of paper moving from one person to a file cabinet/. !or people who are not familiar with data flow diagrams, the students should find that it is relatively easy to show them that data flow diagrams are a better way to model processes. Chances are that this persons original picture already has many of the elements of a standard data flow diagram anyway. Desearch has found that process modeling is a very natural activity for most people, even when they are not formally trained in this technique.
==