Chapter 1

What is Statistics?

1.         a.            Interval

b.                  Ratio

c.                  Interval

d.                  Nominal

e.                  Ordinal

f.                   Ratio


2.         a.            Ratio

b.                  Nominal

c.                  Ratio

d.                  Ratio


3.                   Answers will vary


4.         a.            Sample

b.                  Population

c.                  Population

d.                  Sample


5.                   Qualitative data is not numerical, whereas quantitative data is numerical.  Examples will vary by student.


6.                   A population is the entire group which you are studying.  A sample is a subset taken from a population.


7.                   Nominal, ordinal, interval, and ratio.  Examples will vary.


8.                   Classes are mutually exclusive if an object is included in only one class.


9.                   A classification is exhaustive if every object appears in some category.


10.               Answers will vary


11.               As a result of these sample findings, we can conclude that 120/300 or 40 percent of the white-collar workers would transfer outside the U.S.


12.               The obvious majority of consumers tested (400/500, or 80%) believe the policy is fair. On the strength of these findings, we can anticipate a similar proportion of all customers to feel the same.


13.               Discrete variables can assume only certain values, but continuous variables can assume any values within some range.  Examples will vary.


14.               Sales of manufactured homes doubled from 1990 to 1997. Then they retreated to 1990 levels by 2001.

15.            Answers will vary.


16.        a.            Township is qualitative variable, the others are quantitative.

b.                  Township is nominal level variable, the others are ratio level variables.


17.        a.            Grass or turf field is a qualitative variable, the others are quantitative.

b.                  Grass or turf field is a nominal level variable, the others are ratio level variables.


18.        a.         Wage, education, experience, and age are quantitative variables. The others are qualitative.

b.                  Wage, education, experience, and age are ratio level variables. The others are nominal.


19.        a.         G-20 and petroleum are qualitative variables. The others are quantitative.

b.                  G-20 and petroleum are nominal level. The other variables are ratio.


Chapter 2

  Describing Data:  Frequency Distributions and Graphic Presentation


1.         therefore 6 classes


2.         25 = 32, 26 = 64 suggests 6 classes.   Use interval of 5.


3.         27 = 128, 28 = 256 suggests 8 classes   Use interval of 45.


4.         a.         25 = 32, 26 = 64 suggests 6 classes.

b.                              Use interval of 15 and start first class at 40.


5.         a.         24 =16 suggests 5 classes

b.                      Use interval of 1.1

c.                   24

d.                                 f           Relative frequency

            24 up to 25.5     2                     0.125

            25.5 up to 27     4                     0.250

            27 up to 28.5     8                     0.500

            28.5 up to 30     0                     0.000

            30 up to 31.5     2                     0.125

            Total               16                     1.000

            e.         The largest concentration is in the 27 up to 28.5 class (8).


6.         a.         24 = 16, 25 = 32, suggest 5 classes

            b.           Use interval of 10.

c.         50

d.                                 f           Relative frequency

            50 up to 60        4                      0.20

            60 up to 70        5                      0.25

            70 up to 80        6                      0.30

            80 up to 90        2                      0.10

            90 up to 100      3                      0.15

            Total               20                      1.00

e.         The fewest number is about 50, the highest about 100.  The greatest concentration is in classes 60 up to 70 and 70 up to 80.

Visits                 f

7.         a.         0 up to 3             9

                        3 up to 6           21

                        6 up to 9           13

                        9 up to 12           4

                        12 up to 15         3

                        15 up to 18         1

                        Total                51

b.                   The largest group of shoppers (21) shop at BiLo 3, 4 or 5 times during a two month period.  Some customers visit the store only 1 time during the two months, but others shop as many as 15 times.

c.         Number of        Percent of

            Visits                Total

                        0 up to 3               17.65

                        3 up to 6               41.18

                        6 up to 9               25.49

                        9 up to 12               7.84

                        12 up to 15              5.88

                        15 up to 18              1.96

                        Total                   100.00


8.         a.         An interval of 10 is more convenient to work with.  The distribution using 10 is:


                        15 up to 25         1

                        25 up to 35         2

                        35 up to 45         5

                        45 up to 55       10

                        55 up to 65       15

                        65 up to 75         4

                        75 up to 85         3

                        Total                40

b.                   Data tends to cluster in classes 45 up to 55 and 55 up to 65.

c.                   Based on the distribution, the youngest person taking the Caribbean cruise is 15 years (actually 18 from the raw data).  The oldest person was less than 85 years.  The largest concentration of ages is between 45 up to 65 years.

            d.              Ages                                    Percent of


                        15 up to 25            2.5

                        25 up to 35            5.0

                        35 up to 45           12.5

                        45 up to 55           25.0

                        55 up to 65           37.5

                        65 up to 75           10.0

                        75 up to 85            7.5

                        Total                  100.0



9.         a.         Histogram

b.                   100

c.                   5

d.                   28

e.                   0.28

f.                    12.5

g.                   13


10.        a.         3

b.                   about 26

c.                   76

d.                   2

e.                   frequency polygon



11.        a.         50

b.                   1.5 days
















d.                   X = 1.5, Y = 5













f.          For the 50 employees about half earn between between 6 and 8 thousand frequent flier miles. Five earn less than 3 thousand frequent flier miles, and two earn more than 12 thousand frequent flier miles.

12.        a.         40

b.                   2.5


2.5, 6 assuming we plan to draw a frequency polygon using the midpoints















f.                    Based on the charts, the shortest lead time is 0 days, the longest 25 days.  The concentration of lead times is 10-15 days.


13.        a.         40

b.                   5

c.                   11 or 12

d.                   about $18 per hour

e.                   about $9 per hour

f.                    about 75%


14.        a.         200

                  b.         about 50 or $50,000

            c.         about $180,000

d.                   about $240,000

e.                   about 60 homes

f.                    about 130 homes

15.        a.         5

            b.         Miles                 f         CF

                        0 up to 3             5          5

                        3 up to 6           12         17

                        6 up to 9           23         40

                        9 up to 12           8         48

                        12 up to 15         2         50













b.                   about 8.7 miles


16.        a.         13, 25

            b.         Lead Time        f           CF

                        0 up to 5           6             6

                        5 up to 10         7            13

                        10 up to 15      12            25

                        15 up to 20        8            33

                        20 up to 25        7            40














d.         14


17.        Maxwell Heating & Air Conditioning far exceeds the other corporations in sales.  Mancell electric & Plumbing and Mizelle Roofing & Sheet Metal are the two corporations with the least amount of fourth quarter sales.
















            Sales increased from 1997 through 2000 and then leveled off between 2000 and 2002.














            Homicides decreased from a peak in 1993 with a slight upturn in the last three years.

20.        Tax Revenue 1964-1996































            The U.S. population has increased steadily (about 1.2% per year) throughout the period.


22.        Military & Civilian Expenditures


23.        and  suggest 7 classes

24.        27 = 128, 28 = 256 suggests 8 classes.   Use interval of 60.

25.        a.         5 because

b.                    use interval of 7.

c.                   15

d.         Class                      Frequency

            15 up to 22                     3

            22 up to 29                     8

            29 up to 36                     7

            36 up to 43                     5

            43 up to 50                     2


c.                   It is fairly symmetric with most of the values between 22 and 36.


26.        a.         6 because

b.                   100, found by

c.                   0

d.         Class              Frequency

0 up to 100               3

100 up to 200          12

200 up to 300          16

300 up to 400          10

400 up to 500            3

500 up to 600            1




27.        a.         56

b.                   10 (found by 60 – 50)

c.                   55

d.                   17


28.        a.         Cumulative frequency polygon

b.                   250

c.                   50 (found by 100 – 50)

d.                   $240,000

e.                   $230,000


29.        a.         $36.60, (found by 265 – 82)/5

b.                   $40

c.         $80 up to $120          8

            120 up to 160          19

            160 up to 200          10

            200 up to 240            6

            240 up to 280            1

            Total                      44

d.         The purchases ranged from a low of about $80 to a high of about $280.  The concentration is in the $120 up to $160 class.


30.        a.         Class interval is 19, found by (266 – 133)/7.  We selected 20.

                        Stockholders    Number of        Less than

                                (000)        companies              CF

                        130 up to 150             4                     4

                        150 up to 170             9                   13

                        170 up to 190             4                   17

                        190 up to 210             6                   23

                        210 up to 230             3                   26

                        230 up to 250             2                   28

                        250 up to 270             4                   32

                        Total                        32



d.         About 220 thousand, found by ¾ of 32 = 24.  The 24th company has about 220 thousand shareholders found by drawing a line to the curve from 24 and down to the X-axis.

e.         The largest number of companies (9) have 150 up to 170 thousand shareholders.  The smallest number is about 130 thousand, the largest number is about 270 thousand.




32.        a.         Balance                f           CF

                        0 up to 100            9            9

                        100 up to 200         6          15

                        200 up to 300         6          21

                        300 up to 400         6          27

                        400 up to 500         5          32

                        500 up to 600         2          34

                        600 up to 700         1          35

                        700 up to 800         3          38

                        800 up to 900         1          39

                        900 up to 1000       1          40

                        Total                   40

                        Probably a class interval of $200 would be better.



            c.         About 67% have less than a $400 balance.  Therefore, about 33% would be considered “preferred.”

            d.         Less than $50 would be a convenient cutoff point.

















            By far the largest part of income in South Caroline is earned income. Almost three-fourths of adjusted gross income comes from wages and salaries. Dividends and IRAs each contribute roughly another ten percent.



34.        a.         Since , 6 classes are recommended.  The interval should be at least (10.1 - 0.4)/6 = 1.6.  So we will use two as a convenient value.


The “typical” person used the computer about 5 hours per week and everyone is within about five hours of that amount.


35.        a.         Since , 7 classes are recommended.  The interval should be at least (1002.2 - 3.3)/7 = 142.7 use 150 as a convenient value.






























            In early 2003, Fox had almost equaled ABC, the weakest of the “big three” (ABC, CBS and         NBC) networks. These four networks collectively had 85% of the prime time audience.

















More than half of the expenses are concentrated in the categories Research and Public Health Education.




            Revenue increases from 1997 to 2000 and then declines in 2001 and 2002.



            Sales tax and income tax dominate the total revenues for the state of Georgia.


40.        Japan is the dominant trading partner with over 50% of all imports.



41.        There are 50 observations so the recommended number of classes is 6.  However, there are several states that have many more farms than the others, so it may be useful to have an open ended class. 

One possible frequency distribution is.

            Farms in USA  Frequency

            0 up to 20                 16

            20 up to 40               13

            40 up to 60                 8

            60 up to 80                 6

            80 up to 100               4

            100 or more               3

            Total                        50

            Twenty-nine of the 50 states, or 58 percent, have fewer than 40,000 farms.  There are three states that have more than 100,000 farms.




            Brown, yellow, and red make up almost 75 percent of the candies. The other 25 percent is composed of blue, orange, and green.


43.        In 1994 the price for a Toyota Camry and a Ford Taurus was about the same, a little more than $11,000 each.  Since that time the price of both cars has increased but the rate of increase of the Camry has been larger than the Taurus.  The difference in the selling price between the two cars was the largest in 2000, about $6500.  From 1994 to 2001 the selling price of the Camry decreased about $500, the only price decrease for either car during the 9 year period.


44.        Answers will vary.


45.        Wages paid by software companies grew from $0.4 billion to $1.65 billion per quarter between 1994 and 2002. Those paid by aerospace manufacturers remained fairly constant between $1 and $1.5 billion. Software surpassed aerospace in 1998.


46.        Pepsi-Cola has a 25% market share, found by 90/360.



47.        a.         Use interval of 35.

                        Selling Price          F        CF

                        110 up to 145          3            3

                        145 up to 180        19          22

                        180 up to 215        31          53  

                        215 up to 250        25          78

                        250 up to 285        14          92

                        285 up to 320        10        102

                        320 up to 355          3        105


                        1.         Most homes (53%) are in the 180 up to 250 range.

                        2.         The largest value is near 355; the smallest, near 110.
















1.         About 42 homes sold for less than 200.

                        2.         About 55% of the homes sold for less than 220.  So 45% sold for more.

                        3.         Less than 1% of the homes sold for less than 125.

c.         The selling price ranged from about $120,000 up to about $360,000.  A typical home sold for about $210,000.


48.        a.         Since , use 5 classes.  The interval should be at least (175.33 - 43.55)/5 = 26.356.  Use 30.  The resulting frequency distribution is:

                        Class                   f       

                        30 up to 60         6

                        60 up to 90       13

                        90 up to 120       8

                        120 up to 150      2

                        150 up to 180      1


                        1.         The typical team salary is 83.  It ranges from 43.55 to 175.33. 

                        2.         The distribution is positively skewed.  The higher salary teams are further from the center than the lower salary teams.  The Yankees appear to be quite unusual.







                        1.         Forty-percent of the teams have salaries less than $70,000,000.

                        2.         Twelve teams pay less than $80,000,000.

                        3.         The lowest five teams pay less than $58,500,000

c.         Use 5 classes here also.  The interval should be at least (62,411 – 33871)/5 = 5708.  Use 6000 for convenience.  The resulting frequency distribution is:

Class                                  f    

                        33,000 up to 39,000 3

                        39,000 up to 45,000            10

                        45,000 up to 51,000            10

                        51,000 up to 57,000              5

                        57,000 up to 63,000              2

                        1.         A typical stadium seats 45,000.  The sizes cluster between 39,000 and 51,000.

                        2.         The distribution is well balanced.  No stadium is out of line with the others.

d.         Use 5 classes here also.  The interval should be at least (2001 – 1912)/5 = 17.8.  Use 20 for convenience and to include extreme values.  The resulting frequency distribution is below.

                        Class                               f       

                        1910 up to 1930                3

                        1930 up to 1950                0

                        1950 up to 1970                6

                        1970 up to 1990                7

                        1990 up to 2010              14

                        1.   There are two clusters; 3 “old” stadiums built around 1915 and 27 “new” stadiums built around 1990.

                        2.   The distribution is bi-modal or has two peaks.  The 3 “old” stadiums are about 75 years older than the rest.




Occupational category 2 has fewer members (5 or 6) and all the others are around 19.


50.        Use 5 classes. The interval should be at least (36.4 – 0.95)/5 = 7.09. Use an interval of 8.

            GDP/cap                         f          

            0 up to 8                          11

            8 up to 16                        10

            16 up to 24                      13

            24 up to 32                      10

            32 up to 40                        2

            Total                               46


            Nearly half (21/46) of the countries have a GDP/cap less than 20.2. Only two have a rate larger   than 32.0.








Chapter 4

Determining System Requirements.


Key Terms Checkpoint Solutions


Answers for the Key Terms Checkpoint section are provided below.  The

number following each key term indicates its location in the key term




business process reengineering (BPR) (1)



key business processes (7)



scribe (9)



closed-ended questions (2)



disruptive technologies (3)



open-ended questions (8)



informal system (5)



JAD session leader (6)



formal system (4)







 Review Questions Solutions


  1.   Describe systems analysis and the major activities that occur during this phase of the systems development life cycle.

During systems analysis, you determine how the current information system functions and assess what users would like to see in a new system.  Requirements determination, requirements structuring, and alternative generation and selection are the three primary systems analysis activities.


  2.   What are some useful character traits for an analyst involved in requirements determination?

Requirements determination is a crucial part of the systems development life cycle; therefore impertinence, impartiality, relaxing constraints, attention to details, and reframing are important characteristics.


  3.   Describe three traditional techniques for collecting information during analysis.  When might one be better than another?

Traditional techniques for collecting requirements include interviewing and listening, observing users, and analyzing procedures and other documents.  Interviewing and listening involve talking with users individually or as a group to discover their views about the current and target systems; it also involves carefully preparing an interview outline and guide before conducting the interview.  Interviews are best done when only a few people are involved, when you need open-ended questions or the questions vary from individual to individual, or when a more personal method is needed. 


Directly observing users involves watching how people work in order to uncover information users may not be consciously aware of.  Direct observation is best when detailed or complicated procedures must be documented, when you do not want people to know they are giving you information you need, when only a few people are involved, and when observational data are representative of all situations.  Analyzing procedures and other documents involves identifying and collecting written procedures, forms, reports, and other relevant documents in order to better identify data and processes that would be part of the current and target systems.  Analyzing documents is the best technique when documents are complete and unbiased, when other forms of requirements determination are too obtrusive, and when history must be studied and people do not have first-hand data about history.


  4.   What are the general guidelines for conducting interviews?

The general guidelines for conducting interviews are summarized in Table 4-3.  These guidelines include planning the interview, being neutral, listening and taking notes, reviewing these notes within 48 hours, and seeking diverse views.


  5.   What are the general guidelines for collecting data through observing workers?

When observing workers, it is important that the analyst select typical and atypical people and sites; he/she should also observe during normal and abnormal conditions.


  6.   What are the general guidelines for collecting data through analyzing documents?

Document analysis is an effective way to learn about the current system and future system’s requirements.  It is important for the analyst to collect and review as many documents as he/she can.  He/she should collect organizational mission statements, business plans, organization charts, business policy manuals, job descriptions, internal and external correspondence, and reports from prior organizational studies.  Specifically, he/she should review business forms, reports, written work procedures, and existing system documentation.


  7.   Compare collecting information through observation and through document analysis.  Describe a hypothetical situation in which each of these methods would be an effective way to collect information system requirements.

Table 44 provides a comparison of the observation and document analysis methods.  The observation method is high in information richness; requires significant time, can be expensive, and provides the chance for follow-up and probing.  The observee is known to the analyst and the potential audience is small.   In contrast, the information richness of document analysis is old; the time required is low to moderate; its expense is low to moderate, and the chance for follow-up is limited.  The confidentiality of the document depends on the nature of the document; there is no clear commitment on the subject’s part, and there is potentially bias by which documents were retained.


  8.   What is JAD?  How is it better than traditional information-gathering techniques?  What are its weaknesses?

JAD is a structured process in which users, managers, and analysts work together for several days in a series of intensive meetings to specify or review system requirements.  It is better than traditional techniques because you have key personnel in one place at one time, saving everyone time and resulting in high levels of system ownership as more people have more of a role in the development process.  Weaknesses include the level of commitment necessary to make the JAD work, the high degree of required planning, and the typical lack of computer support.


  9.   How has computing been used to support requirements determination?

Computing supports requirements determination in the form of CASE tools, the administration of questionnaires, group support systems, and prototyping.  CASE tools, especially upper CASE tools, can be of assistance during JAD and prototyping. 


10.   Describe how prototyping can be used during requirements determination.  How is it better or worse than traditional methods?

Prototyping can be used during requirements determination to collect user requirements and present them in the form of a working system prototype.  Users can look at, play with, and compare the prototype to their system requirements.  Analysts can then adjust the prototype to better fit what the users have in mind. Prototyping is better than traditional methods where system requirements are not well understood, where few users that are stakeholders are involved, where designs may be complex, where there have been past communication problems, and where the necessary tools are readily available.  Prototyping may be worse than traditional methods where formal requirements are not documented, where prototypes become idiosyncratic to the initial user, where issues of data sharing and integration with other systems are ignored, and where SDLC checks are bypassed.


11.   When conducting a business process reengineering study, what should you look for when trying to identify business processes to change?  Why?

As part of the BPR effort, key business processes and important, changeable, or dysfunctional activities are identified.  Key business processes are the structured, measured set of activities designed to produce a specific output for a particular customer or market.  Benefits of BPR include radical improvements in speed, quality, and customer satisfaction.


12.   What are disruptive technologies and how do they enable organizations to change their business processes radically?

Disruptive technologies enable the breaking of long-held business rules that inhibit organizations from making radical business changes.  Disruptive technologies enable companies to apply information technology innovatively.  As a point of discussion, ask students to discuss the concept of a virtual university.  Is this an acceptable application of a disruptive technology?



Problems and Exercises Solutions


  1.   One of the potential problems mentioned in the chapter with gathering information requirements by observing potential system users is that people may change their behavior when observed.  What could you do to overcome this potential confounding factor in accurately determining information requirements?

The analyst could conduct the observations unobtrusively, so that the effect on the users’ behavior is minimized.  This could be done using a confederate or by a hidden camera.  The analyst could also brief the users on the observation so that the users will relax and behave naturally.  For example, you can make it clear to users that they are not being evaluated and that the observations collected will not be associated with anyone individually.  In addition, the analysts could perform multiple observations over time.  This would tend to minimize the effects of aberrant behaviors.  Alternatively, the analysts could supplement their requirements determination with additional data collection methods.


  2.   Summarize the problems with the reliability and usefulness of analyzing business documents as a method for gathering information requirements.  How could you cope with these problems to use business documents effectively as a source of insights on system requirements?

One of the primary problems with analyzing business documents is that they do not give the full picture of how work is done and why.  First, business documents are often incomplete, since people have selectively retained documentation.  Second, business documents often describe the formal system as opposed to the informal system, which is more often the way the work is actually completed.  Whether the business documents are accurate or not, they provide useful information.  If the business documents are accurate, then much of the work of gathering information requirements is nearly finished.  If the business documents are inaccurate, then the analyst can use these to understand how the work processes ought to be done, or are thought to be done, or, perhaps, should not be done.  In any event, analyzing business documents should be done in conjunction with other, supplemental data collection methods.  In addition, the analyst should speak to multiple people to gather their perceptions and uses of the documents.


  3.   Suppose you were asked to lead a JAD session.  List ten guidelines you would follow in playing the proper role of a JAD session leader.

Students might suggest the following for the JAD leader:  conduct the JAD sessions off-site, invite the proper people to the JAD sessions, establish clear ground rules for the sessions, set and follow a clear agenda, distribute the agenda to all participants before the sessions, remain neutral on issues, make sure that everyone has the opportunity to participate, encourage people to be creative and break free of traditional ways of doing things, manage time effectively, and follow- up with meeting notes.


  4.   Prepare a plan, similar to Figure 42, for an interview with your academic adviser to determine which courses you should take to develop the skills you need to be hired as a programmer/analyst.

The plan might include introductions, background, discussion of the courses already taken, discussion of course requirements not yet met, discussion of additional courses to take for preparation, plotting course schedules for successive semesters, summary of major points, questions from the advisor, and closing.  A meeting like this can last anywhere from 30 to 60 minutes, depending on the level of familiarity that the advisor has with the student’s case.


  5.   An interview lends itself easily to asking probing questions or asking different questions, depending on the answers provided by the interviewee.  It is possible to use probing and alternative questions in a questionnaire.  Discuss how you could include probing or alternative sets of questions in a questionnaire.

One way is to ask open-ended questions to let the individual write whatever is on his/her mind.  In this way, the questionnaire can be more probing than if it had only closed-ended questions.  Another method is to ask a multiple-choice question or a yes/no question, and then, depending on which answer the respondent chooses, branch off into a specified set of questions.  Alternatively, you might create different versions of a survey instrument, for example, one for users and one for managers of users.


  6.   Figure 42 shows part of a guide for an interview.  How might an interview guide differ when a group interview is to be conducted?

Because the group interview might be more difficult to conduct and more time consuming, the analyst might add to the interview guide “time certain” events or “time stamped” agenda items.  For example, if the meeting begins at 8:00 a.m., and the manager of the users will come in to the meeting to give a brief talk, this event might be scheduled for 8:15 a.m. until 8:30 a.m.  Other processes in the meeting will be postponed during this event.  With time stamping, the analyst writes definitive start times next to each of the agenda items and then uses this to keep the group on track.  Alternatively, the analyst might write specific questions that should be asked of specific members of the interview group.  If several analysts are involved in the group interview, the group could be broken into parallel sessions, each with its own agenda.  Finally, agenda activities should be allotted for discussion and interchange between the interviewees, so that consensus and synergy can occur.


  7.   JADs are very powerful ways to collect system requirements, but special problems arise during group requirements collection sessions.  Summarize these special interviewing and group problems, and suggest ways that you, as a group facilitator, might deal with them.

Some of the problems include difficulty in scheduling, enabling all group members to participate during the meeting, some people being afraid or not willing to speak in front of certain other people, conflicts existing among group members, keeping the group on track during the meeting, and accurately collecting all the information as multiple people speak at once.  Some of the ways to deal with these problems include training in team building, group dynamics, and managing conflict; having multiple interviewers work together; and using a technological aid such as CASE or GSS.



Discussion Questions Solutions


  1.   All of the methods of data collection discussed in this chapter take a lot of time.  What are some ways analysts can still collect the information they need for systems analysis but also save time?  What methods can you think of that would improve upon both traditional and newer techniques?

Although requirement determination methods take time, it is important to stress that this is time well spent.  Spending the necessary time to understand the current system and correctly identify a new system’s requirements will save much time down the road.  Perhaps the best way that an analyst can save time is by being prepared, organized, and knowledgeable. 


  2.   Some of the key problems with information systems that show up later in the systems development life cycle can be traced back to inadequate work during requirements determination.  How might this be avoided?

It is imperative that the analyst gathers as much information about the current and new system’s requirements as she can.  During requirements determination, impertinence, impartiality, relaxing constraints, attention to details, and reframing are good characteristics for an analyst to exhibit.  These characteristics will help the analyst better understand the existing system and the new system’s requirements.  Additionally following the effective guidelines for conducting interviews, performing observations, and analyzing documents are important.  It is important that the analyst not hurry through this step; he/she must take his/her time and gather all the necessary information.


  3.   Survey the literature on JAD in the academic and popular press and determine the “state of the art.”  How is JAD being used to help determine system requirements?  Is using JAD for this process beneficial?  Why or why not?  Present your analysis to the IS manager at your work or at your university.  Does your analysis of JAD fit with his or her perception?  Why or why not?  Is he or she currently using JAD, or a JAD-like method for determining system requirements?  Why or why not?

Information about JAD is readily available.  The textbook provides several JAD references, and your students may also find articles in IS journals, IS magazines, and on the Web.  Your students may also find information about JAD in the proceedings for the annual International Conference on Information Systems and the Hawaii International Conference on Systems Sciences.


  4.   Is business process reengineering a business fad or is there more to it?  Explain and justify your answer.

Business process reengineering enables companies to radically redesign existing processes, achieving breakthrough gains in performance.  Usage of disruptive technologies is key to this process.  As long as companies, like Ford Motor Company, are receiving tremendous payoffs by using this process, we will continue to see it used for the redesign of key business processes.  As a point of discussion, encourage your students to locate case studies of companies that have reengineered their key business processes. 



Case Problems Solutions


1.  Pine Valley Case Exercises Solutions


  a.   Because this is Pete Polovich’s first time organizing a JAD session, he would like to locate additional information about organizing and conducting a JAD session.  Visit one of the Web sites recommended in the textbook or locate a site on your own.  After visiting this site, provide Pete with several recommendations for conducting and organizing a JAD session.

Your students should easily locate Web sites that provide information on JAD.  Several sources include Bluebird Enterprises, Inc. (, Hathaway and Associates, Inc. (, Creative Data, Inc. (, and Carolla Development, Inc. (  The Carolla white paper discusses general JAD principles, identifies several JAD tasks, and provides additional references.


b.   When conducting your interviews, what guidelines should you follow?

Table 43 lists the interviewing guidelines.  These guidelines include planning the interview, being neutral, seeking diverse views, listening and taking notes, and reviewing these notes.


  c.   As part of the requirements determination process, what business documents should be reviewed?

The analyst should try to obtain access to a variety of business documents.  Types of documents include Pine Valley’s mission statement, business plans, an organization chart, business policy manuals, job descriptions, and internal and external correspondence.  Because the Customer Tracking System is a new system, reports from a prior organizational study may not be available.


d.   Is prototyping an appropriate requirements determination method for this project?

Prototyping is an appropriate requirements determination method.  When designing the new system’s forms and reports, prototyping will be of definite benefit.



2.  Hoosier Burger Case Exercises Solutions


  a.   Assume you are preparing the customer satisfaction questionnaire.  What types of questions would you include?  Prepare five questions that you would ask.

Students will identify a variety of questions to ask.  Questions will address visit frequency, food quality, the order-taking process, delivery speed, potential new services, and overall customer satisfaction.  Because the questionnaire will be distributed to a large customer base, most of the questions on the questionnaire should be closed-ended, although the questionnaire should enable the customer to provide additional comments.  Since Hoosier Burger attracts a wide range of customers (student, business, and family), a stratified sample is a possibility.


b.   What types of questions would you ask the waiters?  What types of questions would you ask the cooks?  Prepare five questions that you would ask each group.

Although the waiters could be interviewed individually, this situation may lend itself to a group interview.  Asking open-ended questions in a group interview setting would enable the analyst to explore and discover new system requirements.  The downside to this approach is the length of time the interview session could take.  The types of questions should address the order-taking process, delivery of the food to the customers, current information requirements, needed information not currently provided by the system, and suggested areas for improvement.


The cooks could also be asked open-ended questions in a group interview setting.  During the group interview, questions about the order-taking process, how the order is communicated to the cooks, information needed for food preparation, and areas for improvement should be asked.


  c.   What types of documents are you likely to obtain for further study?  What types of documents will most likely not be available?  Why? 

Management reports, supplier invoices, and cash register tapes are readily available.  Because Hoosier Burger has an automated food ordering system (mentioned in Chapter 5), current system documentation probably exists.  It is unlikely that Bob and Thelma have a written, formal mission statement, organization chart, business policy manual, or job descriptions.  However, Bob and Thelma may have a business plan.  The currency of this plan should be determined.


d.   What modern requirements determination methods are appropriate for this project?

Of the two modern methods discussed in the chapter, prototyping is the most likely method that will be used.  Prototyping forms and reports will aid in the design of the new system.  For this project, a JAD session is cost prohibitive.



3.  Clothing Shack Case Exercises Solutions


  a.   Whom would you interview?  Why?

The new marketing system will likely impact most, if not all, of the Clothing Shack’s functional areas.  Representatives from each of the functional areas should be asked to provide input.  Within the marketing area, Ms. O’Neil, order-takers, and middle and lower management should provide input.  Customers should also be contacted and asked for input.  Another valuable resource would be the order pickers.


b.   What requirements determinations methods are appropriate for this project?

This system is of definite importance to the company and will provide a strategic advantage.  It is important that each functional area have input into the development of the system.  A variety of fact-finding methods is appropriate.  The fact-finding methods include interviews, questionnaires, JAD sessions, prototyping, document analysis, and observations.


  c.   Based on the answers provided for part b, which requirements determination methods are appropriate for the individuals identified in part a?

A JAD session consisting of management representatives and potential end users should be conducted.  Interviewing Ms. O’Neil will provide insight into the system’s overall objectives.  Representatives from the various functional areas should be asked to provide input via questionnaires, group interviews, or individual interviews.  Questionnaires can sample customers.  Additionally, since customers are at the heart of this new system, perhaps arrangements can be made to observe or interview customers about the new system.


d.   Identify the requirements determination deliverables that will likely result from this project.

The types of deliverables include information collected from conversations with end users, existing documents and files, and computer-based information.  Table 41 provides a list of specific deliverables that may result from this project.



Broadway Entertainment Co., Inc. Case Questions Solutions


  1.   From what you know so far about the customer relationship management system project at BEC, whom do you consider to be the stakeholders in this system?  How would you suggest involving each stakeholder in the project in order to gain the greatest insights during requirements determination and to achieve success for the project?

The stakeholders in this project are Carrie Douglass, the members of the project team, other BEC store employees, and the customers who will use the system.  BEC information systems staff and corporate managers will eventually be stakeholders once the prototype system is presented to the corporation.  Carrie Douglass is the business manager who proposes and sets the direction for systems development.  Carrie, her employees, and BEC customers are end users who will provide the project team with their knowledge, expertise, and opinions about the system requirements.  The project team will act as the systems analysts and programmers for this project.


In order to involve all of these stakeholders in the project, the project team should interview all of them (a subset of employees and customers will suffice) during the requirements determination process and keep them involved throughout the project by including them (at least Carrie and select employees) in meetings and walkthroughs, where the team reports on the progress of the project.  Carrie should receive regular status reports.  Customers could be involved in focus groups.  An employee could be added to the project team.


  2.   Develop a detailed project schedule for the analysis phase and a general project schedule for subsequent phases of this project.  This schedule should follow from answers to questions in BEC cases from prior chapters and from any class project guidelines given to you by your instructor.  Be prepared to suggest a different overall schedule than the 18 workweeks indicated in the case if your available project time is different from this project length.  Also prepare a budget for the project as you would conduct it.  What resources do you anticipate the team will need to conduct the project as you outline it?  How might these resources be acquired?

See Figure BEC 42 for project schedules (details for the Analysis phase and a macro view of the whole project are included).  The resources are mostly people including the project team members, Carrie, other employees, and the customers.  Other resources include development tools, project dictionary, CASE tools, current or related system documentation, and computers.  The estimated budget for these resources include the following:


Software:    Development tools, project dictionary, CASE tools—$1,500 (may be less if the college has these tools in the lab)

Current or Related System Documentation—$0

Computers—$0 (using laptop provided for the class by the college)


Figure BEC 4–2a


Figure 4–2b


Figure 4–2c




  3.   Probably an early activity in the analysis phase you outlined in your answer to Question 2 is to distribute the project announcement to employees, as discussed in this case.  The BEC team offered to write a draft of this note.  What are the critical items to communicate in this letter?  Draft the letter for Carrie Douglass’s approval.

A suggested answer is provided below.


Dear BEC Employees:


The purpose of this letter is to announce the start of a project I have initiated to develop a prototype for a Web-based customer relationship management computer system.  This project will be conducted by four students from St. Claire Community College:  Tracey Wesley, John Whitman, Missi Davies, and Aaron Sharp.


The proposed system will allow customers to:  (1) submit comments about movies, music, and games they have bought or rented; (2) request new products for sale and rent; (3) check on due dates for their outstanding rentals; (4) extend rentals; (5) review the inventory of items carried in the store; (6) parents can view a list of items purchased and rented by their children; (7) and BEC store employees can post their favorite picks. 


The motivation for this system is to meet the needs of the customers by providing them with information services, which are not provided today.  I expect that this system will benefit the customers by making BEC aware of their likes and dislikes and offer products to satisfy their preferences.  This will increase customer satisfaction and revenue.


I would like to thank you in advance for your cooperation with the St. Claire students.  They will need your help.  Some or all employees will be interviewed, and you will get a chance to try out the system as it is developed.





Carrie Douglass



  4.   Your answer to Question 2 likely included review points with Carrie and other stakeholders.  These review points are part of the project’s overall communication plan.  Explain the overall communication activities you would suggest for this project.  How should team members communicate questions, findings, and results to one another?  How should the team communicate with stakeholders?

The communication activities will include the project team asking Carrie Douglass questions and Carrie responding to those questions.  This can be done through telephone calls and e-mail.  The results and findings should be communicated to Carrie in the form of written reports presented at periodic meetings held by the project team.  The reports include approximately bi-weekly status reports and more significant reports after each project phase.  The team members should communicate with each other at team meetings.  E-mail can be used in between team meetings.  A CASE tool repository or project dictionary can retain all meaningful documentation.


  5.   In this case the BEC student team asked for details on the in-store computing environment.  What other documents or documentation should the team collect during requirements determination?  Why?

They should request documentation on determining rental due dates, extensions, rental history, inventory of items carried in the store, and any other relevant store policies.  Employee training manuals would also be helpful.  The team could also use copies of any correspondence from customers who might have mentioned the desire for features similar to those proposed for the system.


  6.   The initial meeting with Carrie Douglass in this BEC case was not intended to be a formal interview as part of requirements determination.  Prepare a detailed interview plan for the first interview you would hold with Carrie to explore in depth the needs she sees for a customer relationship management system.  As part of this interview plan, consider any opportunities that might exist for reengineering current customer relationship business processes.

Suggested answers are provided below.


Interview Outline

Interviewee: Carrie Douglass

Interviewers:   Aaron Sharp and Missi Davies

Location/Medium: Carrie’s Office

     Appointment Date: 8/17/05

     Start Time: 1:00pm

     End Time: 1:45pm

Objectives:  First interview to determine the requirements for the customer relationship management system

Reminders: Carrie initiated this project

                 Agenda                                    Approximate Time

    Introduction                                                        1 minute
    Background on Project                                      2 minutes

   Overview of Interview                                                    1 minute

     Topics to be Covered

      Permission to Tape Record

    Questions                                                        30 minutes

    Summary of Major Points                               3 minutes

    Questions from Interviewee                             7 minutes

    Closing                                                              1 minute


1. How do you envision that customers will submit their comments about products that they have rented or purchased?  Will comments be open-ended or will they also include a rating?  Can all customers enter comments, or only members?  How long should the comment be retained in the system?


2. How will customers request new products for sale and rent?  What will be the best way for a customer to identify/designate the product they request?


3. What information will the customer have access to about their due dates, extending rentals, and rental/purchase history?  Is there a fee for extensions?


4. How will the user log into the system?  Username/password?  What about non-members?


5. How should customers review inventory items carried?  Search by title, category, actor, etc.?


6. What additional features, besides those identified in the system service request, would you like for the system?


7. Who else should we talk to in order to discover system requirements?


8. Are there any budget or other constraints that we should consider for the system or the development process?


9. In what form and how often would you like us to communicate with you about project status?




  7.   How would you propose involving BEC store customers (actual and potential) in requirements determination?  Do they need to be involved?  If not, why not?  If so, prepare a plan for questionnaires, interviews, focus group or JAD session, observation, or whatever means you suggest using to elicit their requirements for the system.

I would develop a questionnaire to distribute to a representative, yet diverse, set of customers and potential customers.  Maybe Carrie could offer a discount on rentals if a customer chooses to fill one out.  Customers need to be involved, because they will ultimately be the main users of the system and will determine if it is a success or not.


Questionnaire for BEC Customers


1.  Would you use a Web site to access information about your account at BEC?


Circle One:         Yes      No

2.  Would you use a Web site to renew your outstanding rentals for a small fee payable when you return the item?

Circle One:         Yes      No

3.  Which of the following kinds of information would you like to see on a Web site?


Check all that apply:


q       Available products for purchase

q       Available products for rent

q       Comments from other customers about movies, music, and video games

q       Other, please specify _____________________________________




  8.   How would you propose involving BEC store employees in requirements determination?  Do they need to be involved?  If not, why not?  If so, prepare a plan for questionnaires, interviews, a focus group or JAD session, an observation, or whatever means you suggest using to elicit their requirements for the system.

The BEC store employees should have some involvement, because they are familiar with the information the customers most often request.  Also, if they feel that they were consulted during the design of the system, they might be more supportive of it after it is implemented.


Questionnaire for BEC Employees



What questions do customers most frequently ask?  _____________________________________



Do they ask certain questions on the phone? ___________________________________________



Do customers in the store ask certain questions?________________________________________




What percentage of your work time is spent answering questions about:


When a rental item is due._______________________________________________________

If BEC has a certain item for rent or sale.___________________________________________

Extending a rental item._________________________________________________________

What items a customer’s child has rented or purchased._______________________________

Your opinion of movies, music, and games for sale or rent._____________________________



One or more employees could be included in walkthroughs of major system deliverables, and employees could be involved in early tests/use of the system prototype.


  9.   Visit the Web sites of at least three companies that sell or rent merchandise in physical stores.  From reviewing these Web sites, what features would you suggest for the BEC customer relationship management system?  How would you determine if BEC needs these features for its Web site?


After visiting the Web sites for three companies, your students should have many recommendations for the BEC Web site.  You should encourage your students to visit the Web sites for different types of companies.  For instance, students can visit the Web sites for a car dealership, movie rental business, and a furniture store.  Although BEC is in the entertainment business, visiting the Web sites for different types of companies may provide new, innovative ideas for the students.  For class discussion, the BEC Web site could provide rental recommendations; a top ten list of movies, games, and music; a method for contacting the store; perhaps bonus points; a method of reserving new releases; a shopping cart; an electronic newsletter; a viewing guide; and an explanation for BEC’s rating system. 


Chapter 5

Structuring System Requirements: 

Process Modeling 

Key Terms Checkpoint Solutions

 Answers for the Key Terms Checkpoint section are provided below.  The

number following each key term indicates its location in the key term



data-flow diagram (5)



DFD consistency (9)



balancing (2)



Structured English (19)



condition stubs (3)



level-n diagram (13)



level-0 diagram (12)



process (15)



source/sink (18)



rules (17)



indifferent condition (11)



data store (6)



context diagram (4)



process modeling (16)



primitive DFD (14)



gap analysis (10)



DFD completeness (8)



action stubs (1)



decision table (7)







Review Questions Solutions


  1.   What is a data-flow diagram?  Why do systems analysts use data-flow diagrams?

A data-flow diagram is a picture of the movement of data between external entities and the processes and data stores within a system.  Systems analysts use data-flow diagrams to help them model the processes internal to an information system as well as how data from the system’s environment enter the system, are used by the system, and are returned to the environment.  DFDs help analysts understand how the organization handles information and what its information needs are or might be.  Analysts also use DFDs to study alternative information handling procedures during the process of designing new information services.


  2.   Explain the rules for drawing good data-flow diagrams.

The rules for DFDs are listed in Table 52 and illustrated in Figure 56.  Processes cannot have only outputs, cannot have only inputs, and must have a verb phrase label.  Data can move to a data store from only a process, not from another data store or an outside source.  Similarly, data can be moved to only an outside sink or to another data store by a process.  Data to and from external sources and sinks can be moved by only processes.  Data flows move in one direction only.  Both branches of a forked or a joined data flow must represent the same data.  A data flow cannot return to the process from which it originated.


  3.   What is decomposition?  What is balancing?  How can you determine if DFDs are not balanced?

Decomposition is the iterative process by which a system description is broken down into finer and finer detail, creating a set of diagrams in which one process on a given diagram is explained in greater detail on a lower–level diagram.  Balancing is the conservation of inputs and outputs to a data-flow diagram process when that process is decomposed to a lower level.  You can determine if a set of DFDs are balanced or not by observing whether or not a process that appears in a level-n diagram has the same inputs and outputs when decomposed for a lower-level diagram.


  4.   Explain the convention for naming different levels of data-flow diagrams.

The highest level DFD is called a context diagram.  It represents the system as a single process, with all the related entities and the data flows in and out of the system.  The next level diagram, called a level-0, decomposes the one process from the context diagram into between two to nine high-level processes.  Each process in a level-0 diagram can be decomposed if necessary.   Each resulting diagram is called a level-1.  Should processes in a level-1 diagram be decomposed, each resulting diagram would be called a level-2 diagram.  Each of these processes would be decomposed on a level-3 diagram, and so on.


  5.   How can data-flow diagrams be used as analysis tools?

DFDs can be used as analysis tools to help determine the completeness of a system model and a model’s internal consistency, as a way to determine when system events occur through analyzing timeliness, and, through iterative use, to develop and check models.  Analysts can study DFDs to find excessive information handling, thus identifying areas for possible efficiencies.


  6.   Explain the guidelines for deciding when to stop decomposing DFDs.

You can stop decomposing a DFD when the following six conditions are satisfied: (1) each process is a single decision or calculation or a single database operation, such as retrieve, update, create, delete, or read; (2) each data store represents data about a single entity, such as a customer, employee, product, or order; (3) 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 tasks; (4) every data flow does not need to be split further to show that different data are handled in different ways; (5) you believe that you have shown each business form or transaction, computer screen, and report as a single data flow; and (6) you believe there is a separate process for each choice on all lowest–level menu options for the system.


  7.   How do you decide if a system component should be represented as a source/sink or as a process?

Sources and sinks are always outside of the system being considered.  They 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.  If any data processing occurs inside a source or sink, it should be of no interest to the system being modeled.  If the processing is of interest, however, or if the identified source/sink has several inputs and outputs to and from the rest of the system, it may be better considered as an internal process.


  8.   What unique rules apply to drawing context diagrams?

Context diagrams have only one process that represents the entire system being modeled and show only the data flows into and out of the system.  The diagram also includes sources and sinks, which represent the system’s environmental boundaries.  There are usually no data stores in a context diagram.


  9.   Explain what the term DFD consistency means and provide an example.

DFD consistency is the extent to which information contained on one level of a set of nested data-flow diagrams is also included on other levels.  Balancing errors are one type of consistency violation mentioned in the textbook.  For instance, a payment data flow that appears on a level-1 diagram, but not on the level-0 diagram, is a consistency violation.


10.   Explain what the term DFD completeness means and provide an example.

DFD completeness is the extent to which all necessary components of a data-flow diagram have been included and fully described.  A data store that does not have any data flows coming into or out of it is a completeness violation.


11.   How well do DFDs illustrate timing considerations for systems?  Explain your answer.

Timing considerations are not noted on DFDs.  For instance indications of whether a process occurs hourly, daily, weekly, monthly, or yearly are not made. 


12.   How can data-flow diagrams be used in business process redesign?

DFDs can graphically illustrate, at varying levels of detail, how a process or processes work.  Analysts can study DFDs of the current system and identify areas of inefficiency.  Analysts can prepare DFDs for the new system, identifying changes for the new system.  


13.   What is the purpose of logic modeling?  What techniques are used to model decision logic and what techniques are used to model temporal logic?

The purpose of logic modeling is to show the rules that govern the behavior of processes represented in data-flow diagrams.  Structured English and decision tables model decision logic.  State diagrams model temporal logic.


14.   What is Structured English?  How can Structured English be used to represent sequence, conditional statements, and repetition in an information systems process?

Structured English is a modified form of the English language used to specify the logic of information system processes.  Sequence is represented by listing statements at the same level of indentation.  Conditional statements are represented by BEGIN IF/END IF statements and by case statements.  Repetition is represented by DO ... UNTIL and DO…While statements.


15.   What are the steps in creating a decision table?  How do you reduce the size and complexity of a decision table?

The steps for creating a decision table are: (1) name the conditions and the values each condition can assume; (2) name all possible actions that can occur; (3) list all possible rules; (4) define the actions for each rule; and (5) simplify the decision table.  To reduce the size and complexity of a decision table, use separate, linked decision tables, or use numbers that indicate sequence rather than Xs where rules and action stubs intersect.  Also, the analyst should identify indifferent conditions and simplify the decision table.


16.   What verbs are used in Structured English?  What types of words are not used in Structured English?

Structured English uses action verbs, such as read, write, print, sort, move, merge, add, subtract, multiply, and divide.  Unlike regular English, Structured English does not use adjectives or adverbs.


17.   What formula is used to calculate the number of rules a decision table must cover?

To determine the number of rules a decision table must cover, simply determine the number of values each condition may have and multiply the number of values for each condition by the number of values for every other condition.



Problems and Exercises Solutions


  1.   Using the example of a retail clothing store in a mall, list relevant data flows, data stores, processes, and sources/sinks.  Observe several sales transactions.  Draw a context diagram and a level-0 diagram that represent the selling system at the store.  Explain why you chose certain elements as processes versus sources/sinks.

A suggested context diagram and level-0 diagram are provided below.



Text Box:





Level-0 Diagram



2.     Choose a transaction that you are likely to encounter, perhaps ordering a cap and gown for graduation, and develop a high-level DFD, or context diagram.  Decompose this to a level-0 diagram.

  A suggested context diagram and a level-0 diagram are provided below.



Context Diagram



Level-0 Diagram




  3.   Evaluate your level-0 DFD from Problem and Exercise 2 using the rules for drawing DFDs in this chapter.  Edit your DFD so that it does not break any of these rules. 

Students should go through the rules discussed in this chapter (and presented in Table 5–2 and Figure 5–6) one at a time and check each of their data-flow diagrams.  Alternatively, if the students are using a CASE tool to create their data-flow diagrams, the CASE tool may be used to automatically check for errors in the diagrams.  There are no rule violations in the example DFDs, 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, like invalid orders, are shown on primitive or at least low-level diagrams.


  4.   Choose an example like that in Problem and Exercise 2, and draw a context diagram.  Decompose this diagram until it doesn’t make sense to continue.  Be sure that your diagrams are balanced, as discussed in this chapter.




Level-1 Diagram

Students may choose a variety of situations to use for the nth level data-flow diagrams for this answer.  Basically, students should continue the process of decomposition until they have reached the point where no subprocess can logically be broken down further (i.e., each process meets the definition of a primitive process).  See the level-1 data-flow diagram for this exercise, which shows a sample decomposition of the process titled Finalize Order from the level-0 data-flow diagram provided for Problem and Exercise 3.  The (italicized) labels for processes and sources/sinks without borders represent the origin or destination of flows that pass between this subsystem and other system components.  Note that the Goods Sold File is a potential black hole or should possibly be treated as a sink.


  5.   Refer to Figure 5-22 A and B, which contains drafts of a context and a level-0 DFD for a university class registration system.  Identify and explain potential violations of rules and guidelines on these diagrams.

Some errors and peculiarities in these diagrams include:


·      In the level–0 diagram, the data store, Class Roster, does not have the data flow, Scheduled Classes, flowing into it, rather this data flow connects processes 2 and 3; thus, these DFDs are not balanced.

·      Process 1 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.

·      Process 2 does not appear to need Course Request as input in order to perform its function, as implied by its name.

·      Some students may also wonder if process 3 has input sufficient to produce its output; for example, where are prior class registrations kept so that process 3 can determine when a course is full?


  6.   Why should you develop both logical and physical DFDs for systems?  What advantage is there for drawing a logical DFD before a physical DFD for a new information system?

Physical data-flow diagrams help you better understand the people and/or computer systems that are used in the overall system’s processing.  Logical 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.  Further, 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.  The 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.


  7.   This chapter has shown you how to model, or structure, just one aspect, or view, of an information system, namely the process view.  Why do you think analysts have different types of diagrams and other documentation to depict different views (e.g. process, logic, and data) of an information system?

The 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.  This variety is best understood, expressed, and managed by using diagrams and documentation that are specifically tailored for each view of the system.  For example, 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 complex, 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 likely be too complex for systems professionals to handle.


  8.   Consider the DFD in Figure 5–23.  List three errors (rule violations) on this DFD.

Three major errors in Figure 5–23 are:


·      Process 1.0 (P2) has only inputs, making it a “black hole.”

·      Data flow DF5 should not move directly from source E1 to data store DS1 without first going through a process.

·      Data flow DF1 should not move directly from source E1 to sink E2 without first going through a process.

·      Other peculiarities (such as Process 1.0 has label P2 and the data store has only a label, not a number) are only that, not errors.


  9.   Consider the three DFDs in Figure 5–24.  List three errors (rule violations) on these DFDs.

These diagrams show the decomposition of process P1 on the level-0 diagram. Three particular logical errors in Figure 5–24 are:


·      The data store DS1, not DS2, should be represented on the level‑1 diagram.

·      Data flow DF3 should be an outflow on the level-1 diagram, and data flow DF6 should not be on the level-1 diagram.

·      Process P1.4.2 has no inputs and is thus a “miracle.”


10.   Starting with a context diagram, draw as many nested DFDs as you consider necessary to represent all the details of the employee hiring system described in the following narrative.  You must draw at least a context diagram and a level-0 diagram.  In drawing these diagrams, if you discover that the narrative is incomplete, make up reasonable explanations to complete the story.  Supply these extra explanations along with the diagrams.  (The Projects, Inc. narrative is provided in the textbook.)

A suggested context diagram and level-0 diagram are provided below.


Context-Level Diagram


























11.   a.   Starting with a context diagram, draw as many nested DFDs as you consider necessary to represent all the details of the system described in the following narrative.  In drawing these diagrams, if you discover that the narrative is incomplete, make up reasonable explanations to complete the story.  Supply these extra explanations along with the diagrams.  (The Maximum Software narrative is provided in the textbook.)

        b.   Analyze the DFDs you created in Part a.   What recommendations for improvements in the help desk system at Maximum can you make based upon this analysis?  Draw new logical DFDs that represent the requirements you would suggest for an improved help desk system.  Remember, these are to be logical DFDs, so consider improvements independent of technology that can be used to support the help desk.

The sample context and level-0 data-flow diagrams represent one possible way to model the help desk process described in this question.  In our solution, we have chosen to include the processes performed by the consultants and operators as subsystems within the system rather than as sources/sinks; this adds detail, but allows bottlenecks in these processes to be corrected.  Note that the data stores are repeated in the level-0 diagram, to avoid excessive crossing of data flow lines.  Several processes could be exploded further, but the student would probably have to make many assumptions to do so. 


There are a number of ways that the students could choose to improve this system.  For example, with the current system a customer may have to explain his problem and/or question over and over to multiple people:  an operator and possibly several consultants.  The customer may begin to believe that he is getting the “run‑around” characteristic of a large bureaucracy.  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 customer’s already opened problem file will go along with him.  In 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 follow-up calls to an initial call for help. 


Ask your students for characteristics of a DFD that imply areas for improvement.  Possible 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 unknown delays in processing this data, or cycles or loops that have no apparent termination.


A suggested context diagram and level-0 diagram are provided below.


Context-Level Diagram
























b.   Modify Hoosier Burger’s level-0 diagram (Figure 5–5) to reflect the changes mentioned in the case.

Although student answers will vary, a suggested answer is provided below.



Text Box: Level-0 Diagram


  c.   Prepare level-1 diagrams to reflect the changes mentioned in the case.

Student answers will vary; to facilitate discussion, a level-1 diagram is provided below.



Level-1 Diagram



d.   Exchange your diagrams with those of another class member.  Ask your classmate to review your diagrams for completeness and consistency.  What errors did he or she find?   Correct these errors.

Encourage students to review the data-flow diagramming rules presented in Table 5–2.  Using these rules as a guide, students should then evaluate their classmate’s diagrams.



3.  Evergreen Nurseries Case Exercises Solutions


  a.   Construct a context data-flow diagram, illustrating Evergreen Nurseries’ wholesale system.

Student interpretations will vary.  A suggested answer follows.

Context-Level Diagram



b.    Construct a level-0 diagram for Evergreen Nurseries’ wholesale system.


Student interpretations will vary; a suggested answer follows.



Level-0 Diagram


  c.         Using the level-0 diagram that you constructed in part b, select one of the level-0 processes, and prepare a level-1 diagram.


A suggested answer is provided below.

Level-1 Diagram



d.   Exchange your diagrams with those of another class member.  Ask your classmate to review your diagrams for completeness and consistency.  What errors did he or she find?   Correct these errors.

Encourage your students to review the data-flow diagramming rules presented in Table 5–2.  Using these rules as a guide, your students should then evaluate their classmates’ diagrams.



Broadway Entertainment Co., Inc. Case Questions Solutions


  1.   Does the context diagram in BEC Figure 5–1 represent an accurate and complete overview of the system as described in this case for requirements collected during the analysis phase?  If not, what is wrong or missing?  If necessary, draw a new context diagram in light of what is explained in this case.  Why might a context diagram initially drawn at the end of project initiation and planning need to be redrawn during the analysis phase?

Please refer to the updated context diagram in Figure BEC Answer 5–1 at the end of this section.  There should be a data flow from the system to the Entertainment Tracker that represents the request for a rental extension.  There also needs to be a data flow from the Entertainment Tracker to the system and one from the system to the customer to represent the acceptance or denial of a rental extension request.  There should also be a data flow from the employee to the system representing the request for the list of new products requested by customers.  A data flow from the system to the employee should be shown to represent the list of new products requested by the customers.  There should be a data flow from the Entertainment Tracker to the system representing the customer’s sales and rental history.  There should also be a data flow from the system to the customer that represents the employees’ favorite picks.  The context diagram might change during the analysis phase, because new data flows and sources/sinks could be discovered after more analysis of the requirements of the system is done. 


  2.   In the context diagram of BEC Figure 5-1, why is the Rental Extension Request data flow shown as an inflow to the system?  Why is the Rental Status data flow shown as an outflow from the system?  Do you agree with these designations of the two data flows?  Why or why not?

The Rental Extension Request data flow is an inflow into the system because the data are originating from an external source, the customer, and are input into the system.  The Rental Status data flow is an outflow from the system because the destination of that data is the Customer sink.  The student should agree with the designations of these data flows because they logically represent the data moving between the customer and the system.  The Rental Extension Request will cause the system to generate the Rental Extension Accept/Denial data flow.  Rental Status is generated by a customer request, which is assumed on this diagram, and would appear on some explosion diagram.  Students may recommend that a Rental Status Request data flow be added to the context diagram shown in BEC Figure 5–1.


  3.   The store manager is not shown in the context diagram in BEC Figure 5–1, except implicitly as an Employee who enters Favorite Picks.  Based on the descriptions in this case, does it make sense that “store manager” does not appear on the context diagram?  If not on the context diagram, where might store manager appear?  As an external entity on a lower-level diagram?  As a process or data store on a lower-level diagram?  Based on the description in this case, are there any external entities missing on the context diagram of BEC Figure 5–1?

The distinction between the store manager and the other employees is not important in describing this system and its interaction with external entities, so the store manager does not need to exist as a separate source/sink from the employee source/sink.  The store manager cannot be added as a source/sink in a lower-level diagram because that would unbalance the diagrams.  The store manager should not be represented as a data store or a process on a lower level diagram, because he/she does not store data or process data with the system.  There are no missing external entities on the context diagram that directly interact with the system.


  4.   Based on the descriptions in this case of each data flow from the context diagram, draw a level-0 data-flow diagram for MyBroadway using Microsoft Visio (begin by drawing the context diagram, then explode to level-0).  Be sure it is balanced with the context diagram you might have drawn in answer to Question 1.

Suggested answers are provided below.


























BEC Level–0



  5.   Write project dictionary entries (using standards given to you by your instructor) for all the data stores shown in the level-0 diagram in your answer for Question 4. Are there other data stores hidden inside processes for your level-0 diagram?  If so, what kinds of data do you anticipate are retained in these hidden data stores?  Why are these data stores hidden inside processes rather than appearing on the level-0 diagram?

We do not provide an entry for every data store since each instructor may have different expectations. Here is an example of a project dictionary entry for data store D1: Comment File, typical of dictionary contents:



Identifier: Comment

Name: Comment File

Remark: Stores the comments that customers make about products. Comments are qualitative statements that explain a customer's reactions to a product. Comments can be positive or negative, or may simply describe, in the customer's own words, what he or she considers to be the characteristics of the product, appropriateness for different audiences, or quality.


Entity: Comment         

Attributes: Comment ID, Comment, Date, Identifier of who made comment.


Another data store hidden inside a process is a New Product data store in the Process New Product Request process.


  6.   Write project dictionary entries (using standards given to you by your instructor) for all the data flows shown in the level-0 diagram in your answer to Question 4.  How detailed are these entries at this point?  How detailed must these entries be for primitive DFDs?

Again, here is an example of a project dictionary entry for data flow Rental Extension Request, typical of many project dictionary entries:


Name: Rental Extension Request

Definition: The data needed by Entertainment Tracker to process a request by a customer to extend the rental of a product.

Source Type: Function

Source Name: Process Rental Ext. Request

Destination Type: External      

Destination Name: Entertainment Tracker

Entity: Rental               

Attributes: Rental ID, Customer ID, Rental Date, Due Date, Number of days to extend.


  7.   Regarding your answer to Question 4, explain how you modeled the process that receives the New Product Request data flow.  Was this a difficult process to model on the DFD?  Did you consider several alternative ways to show this process?  If so, explain the alternatives and why you chose the representation you drew in the level-0 diagram for Question 4.

It was a challenge to model the process that receives the New Product Request data flow because it was necessary to decide on whether to include in that process the production of the list of new products requested for the manager.  The generation of that list should be included in that process because it is very simple and closely tied to the New Product Request data flow.  Since a DFD shows no timing, there can be a delay between entry of new requests and the production of the request list.


  8.   Look at your answer to Question 4 and focus attention on the process for the Rental Extension Request data flow.  Using Microsoft Visio, draw a level-1 diagram for this process based on the description of this data flow in the case and in the following explanation.  A customer provides his or her customer number or name and a product number or title and then MyBroadway finds in its records the rental information for this customer's outstanding rental of this product, including the due date.  Then the customer may decide that he or she can return the item by the due date, in which case no request for extension is made.  If the customer decides to extend the due date, the customer can request a one-day or two-day extension, each with a different fee, which will be due when the product is returned.  MyBroadway will then send a Rental Extension Request transaction to Entertainment Tracker as if it were a point-of-sale terminal from which the same request was being made.  Entertainment Tracker may reject the request if the customer has delinquent fees.  Once Entertainment Tracker makes its decision, it returns a code to MyBroadway indicating a yes or the reason for a no to the request.  If the decision is no, the customer is given a message to explain rejection.  If yes, MyBroadway rental data are updated to reflect the extension, and the user is given a confirmation message.

Please refer to the Level-1 DFD for the Process Rental Extension Request below.


BEC Level-1



  9.   Does your answer to Question 7 necessitate any changes to your answer to Question 4? If so, what are these changes?  Prepare a new level-0 diagram for MyBroadway.

The answer does not necessitate changes.


10.  Investigate the capabilities of Microsoft Visio to store and report project dictionary entries for objects on data-flow diagrams.  What capabilities of CASE tools does Visio not provide?

Student answers will vary.


Chapter 6

Matching Questions Solutions


Answers for the Key Terms Checkpoint section are provided below.  The number following each key term indicates its location in the key term list.



entity-relationship diagram (10)



identifier (12)



entity instance (9)



relationship (14)



multivalued attribute (13)



candidate key (4)



ternary relationship (16)



degree (7)



entity type (11)



unary relationship (17)



binary relationship (3)



conceptual data model (6)



associative entity (1)



repeating group (15)



attribute (2)



entity (8)



cardinality (5)







Review Questions Solutions


  1.   What characteristics of data are represented in an E-R diagram?

An E-R diagram shows many characteristics of data, including the definition, structure, and relationships within data.  Additionally, this diagram shows cardinalities, relationship degrees, and business rules. 


  2.   What elements of a data flow diagram should be analyzed as part of data modeling?

Data stores, data flows, and even processes all provide information for data modeling.  A data store often represents one or more data entities and their associated attributes.  All data in data flows must either be stored in some entity, be computed from data in entities, or in rare circumstances pass through the system.  The description of a process can shed light on business rules that must be represented in the data model.


  3.   Explain why a ternary relationship is not the same as three binary relationships.

A ternary relationship represents the simultaneous association of three entities (such as a selling relationship links a customer with a product and salesperson), not three binary relationships (between a sale entity/associative entity and customer, sale and product, and sale and salesperson). 


  4.   When must a many-to-many relationship be modeled as an associative entity?

A many-to-many relationship must be modeled as an associative entity when there are attributes associated with the relationship.


  5.   Which of the following types of relationships can have attributes associated with them:  one-to-one, one-to-many, many-to-many?

One-to-one and many-to-many relationships (associative entities) may have attributes.  For example, a one-to-one unary relationship between employees, Married to, may have a Date Married attribute, and a many-to-many binary relationship between students and courses, Takes, may have a Grade attribute.


  6.   What is the degree of a relationship?  Give an example of each of the relationship degrees illustrated in this chapter.

The degree of a relationship indicates the number of entity types participating in a relationship.  The three most common relationships are unary, binary, and ternary.  An employee working for a department is an example of a binary relationship.  A part composed of other parts is an example of a unary relationship.  A customer placing an order with a salesperson is an example of a ternary relationship. 


  7.   Give an example of a ternary relationship (different from any example in this chapter.)

An example of a ternary relationship might be that of a car service.  A particular driver and car might be assigned to a particular client.


  8.   List the deliverables from conceptual data modeling.

The primary deliverable for the conceptual modeling part of analysis is an E-R diagram, showing the major categories of data and the business relationships between them.  A full set of entries about data objects to be stored in the project repository is also produced.


  9.   Explain the relationship between minimum cardinality and optional and mandatory participation.

Minimum cardinality refers to the minimum number of instances of entity B that can be associated with entity A.  If the minimum cardinality of B is one, then entity B is a mandatory participant in the relationship.  However, if the minimum cardinality for entity B can be zero, then entity B can be thought of as an optional participant in the relationship.


10.   List the ideal characteristics of an entity identifier attribute.

An identifier that meets the criteria set forth in the chapter would be an ideal choice.  The criteria include:  (1) choosing an attribute that will not change its value over the life of each entity type;  (2) choosing an attribute that for each instance of the entity will have valid values and will not be null; (3) avoiding intelligent key usage; and (4) substituting surrogate keys for large composite keys.


11.   List the four types of E-R diagrams produced and analyzed during conceptual data modeling.

E-R diagrams are produced:  (1) to cover just the data needed in the project’s application; (2) for the application system being replaced; (3) to document the entire database from which the new application’s data are extracted; and (4) for the whole database from which data for the application being replaced are drawn.


12.   What notation is used on an E-R diagram to show a lower-bound or upper-bound limit on the "many" side of a one-to-many relationship?

A fixed number, such as the number 6, is placed above or below the crow’s foot notation next to the entity.


13.   Explain the difference between a candidate key and the identifier of an entity type.

A candidate key is an attribute(s) that uniquely identifies each instance of an entity type.  An identifier is a candidate key that has been chosen as the unique, identifying characteristic for that entity type.


14.   What distinguishes a repeating group from a simple multivalued attribute?

A multivalued attribute is a single attribute that may legitimately assume more than one value for each entity instance.  A repeating group is a set of two or more multivalued attributes that are logically related.

Problems and Exercises Solutions


  1.   Assume that at Pine Valley Furniture each product (described by Product No., Description, and Cost) is comprised of at least three components (described by Component No., Description, and Unit of Measure) and components are used to make one or many products (i.e., must be used in at least one product).  In addition, assume that components are used to make other components and that raw materials are also considered to be components.  In both cases of components being used to make other components, we need to keep track of how many components go into making something else.  Draw an E-R diagram for this situation and place minimum and maximum cardinalities on the diagram.

This is a version of a bill-of-materials structure in which components are different entities from products, but raw materials are considered components.  The exercise also indicates a minimum cardinality of three for the number of components composing a product, but no such restriction is placed on components as part of other components.  Microsoft Visio was used to prepared this answer.
















  2.   A software training program is divided into training modules, and each module is described by module name and the approximate practice time.  Each module sometimes has prerequisite modules.  Model this situation of training programs and modules with an E-R diagram.

This exercise defines two entities—TRAINING PROGRAM and TRAINING MODULE—with a one-to-many relationship (Composed of) between them, and a unary optional (because some modules do not have a prerequisite, and some modules are not a prerequisite to other modules) many-to-many relationship (Is Prerequisite for) on the TRAINING MODULE entity.


  3.   Each semester, each student must be assigned an adviser who counsels students about degree requirements and helps students register for classes.  Students must register for classes with the help of an adviser, but if their assigned adviser is not available, they may register with any adviser.  We must keep track of students, their assigned adviser, and with whom the student registered for the current term.  Represent this situation of students and advisers with an E-R diagram.

This exercise defines two entities—ADVISOR and STUDENT— and two relationships—Is Assigned Advisor and Registers—between ADVISOR and STUDENT.  An advisor is assigned to zero to many students, and a student is assigned to exactly one advisor; an advisor registers zero to many students, and a student is registered by exactly one advisor.  An important rule in the exercise is that the data model covers only “the current term,” so no historical records need to be kept.  As an alternative, it is also possible to create a data model with the above two entities and a ROLE associative entity in between, where ROLE has an attribute of ROLE PLAYED (which could take on values of “Advises,” “Advises and Registers,” and “Registers”).  Then, we would create a relationship between the entities through the associative entity such that an advisor is associated with zero to many students, and a student is associated with one or two advisors.  The problem with this alternative is clarifying on only the data model what combination of ROLE PLAYED values are permitted for a given student.


  4.   Consider the E-R diagram in Figure 6-7. 

        a.   What is the identifier for the CERTIFICATE associative entity?

        b.   Now, assume that the same employee may take the same course multiple times, on different dates.  Does this change your answer to part a?  Why or why not?

        c.   Now, assume we do know the instructor who issues each certificate to each employee for each course.  Include this new entity in Figure 6-7 and relate it to the other entities.  How did you choose to relate INSTRUCTOR to CERTIFICATE and why?

The identifier is a combination of Employee_ID and Course_Name.  If an employee is permitted to take the course multiple times, then the identifier is no longer unique.  Therefore, another identifier will need to be specified.  The new identifier could be a combination of Employee_ID, Course_Name, and Date.  Students will also specify other identifiers for this situation.  The inclusion of the INSTRUCTOR entity would make this a ternary relationship.  The INSTRUCTOR entity would have a mandatory one cardinality.  The identifier for the CERTIFICATE associative entity would be a combination of Employee_ID, Course_Name, InstructorID, and possibly Date.


  5.   Study the E-R diagram of Figure 6-14.  Based on this E-R diagram, answer the following questions:

        a.   How many PROJECTs can an employee work on?

        b.   What is the degree of the Includes relationship?

        c.   Are there any associative entities on this diagram?  If so, name them.

        d.   How else could the attribute Skill be modeled?

        e.   Is it possible to attach any attributes to the Includes relationship?

        f.    Could TASK be modeled as an associative entity?

An employee can work on one-to-many projects; the Includes relationship is a binary relationship.  No associative entities are directly shown by the associative entity symbol.  The only many-to-many relationship, Works On, has no attributes, so it does not need to be shown as an associative entity.  The SKILL attribute could also be modeled as an attributive or weak entity.  It is not possible for the Includes relationship to have attributes because it is a one-to-many relationship.  Only one-to-one and many-to-many relationships are allowed to have attributes.  TASK could be modeled as an associative entity because it falls at the intersection of mandatory binary relationships between PROJECT, TOOL, and CITY, depending on the meaning of task.  As currently modeled, TASK is something done on a project with a tool at a city, so it is not an independent concept.  TASK can be modeled as an entity because it has its own primary key independent of the keys of PROJECT, CITY, and TOOL.  Some semantic information would be lost if TASK were modeled as an associative entity (e.g., the minimum cardinalities related to task on the Includes, Done at, and Used on relationships).


  6.   An airline reservation is an association between a passenger, a flight, and a seat.  Select a few pertinent attributes for each of these entity types and represent a reservation in an E-R diagram.

This is actually a fairly complex situation.  For the exercise here, we take the statement literally that a reservation is a ternary relationship (an associative entity if it has associated data) between the three listed entities.  We assume that a flight means a flight on a particular day, hence flight has a composite primary key.  Thus, a seat on a flight may have a passenger.  A passenger must have some seat on one or many flights.  A passenger will have exactly one seat on a given flight.


  7.   Consider the E-R diagram in Figure 6-15.  Are all three relationships—Holds, Goes_on, and Transports—necessary (i.e., can one of these be deduced from the other two)?  Are there reasonable assumptions that make all three relationships necessary?  If so, what are these assumptions?

A vessel holds potentially many consignments, and a consignment is on at most one vessel, which probably means that Holds tracks the consignments currently held on a vessel (and the vessel, if any, which currently holds a consignment).  A vessel goes on potentially many voyages, but a voyage involves only one vessel.  The Transports relationship says that a consignment is transported on zero to many voyages (which may involve the same or different vessels), and a voyage transports zero to many consignments.  Given that a consignment might be on many voyages, and even though each voyage involves exactly one vessel, we do not know from just Transports and Goes_on which vessel a consignment is currently on (there are no attributes from which to infer this).  Thus, it would appear that we need all three relationships.


  8.   Draw an E-R diagram to represent the sample customer order in Figure 6-4.

A suggested answer is provided below.  The following E-R diagram was created with Microsoft Visio.



  9.   In a real estate database, there is an entity called PROPERTY, which is a property for sale by the agency.  Each time a potential property buyer makes a purchase offer on a property, the agency records the date, offering price, and name of the person making the offer.

        a.   Represent the PROPERTY entity and its purchase offer attributes using the notation for multivalued attributes.

        b.   Represent the PROPERTY entity and its purchase offer attributes using two entity types.

        c.   Finally, assume the agency decides to also keep data about buyers and potential buyers, including their name, address, and phone number.  Augment your answer to part b to accommodate this new entity type. 

Suggested answers are provided below.  Microsoft Visio was used to create the answers for this exercise.


Problem and Exercise 9, Part a




























10.   Consider the Is_married_to unary relationship in Figure 6-6. 

        a.   Draw minimum and maximum cardinalities for each end of this relationship.

        b.   Assume we wanted to know the date on which a marriage occurred.  Augment this E-R diagram to include a Date_married attribute.

        c.   Because persons sometimes remarry after the death of a spouse or divorce, redraw this E-R diagram to show the whole history of marriages (not just the current marriage) for persons.  Show the Date_married attribute on this diagram. 

Suggested answers are provided below.  Microsoft Visio was used to prepare the following answers.
























11.   Draw an E-R diagram for each of the following situations.  (The scenarios are provided in the textbook.)

Suggested answers are provided below.  The ERDs were prepared using Microsoft Visio.











Discussion Questions Solutions


  1.   Discuss why some systems developers believe that a data model is one of the most important parts of the statement of information system requirements.

Four reasons were provided in the textbook:  (1) the characteristics of data captured during data modeling are crucial in the design of databases, programs, computer screens, and printed reports; (2) data rather than processes are the most complex aspects of many modern information systems; (3) the characteristics about data are permanent; and (4) structural information about data is essential to generate programs automatically.


  2.   Using Table 6-1 as a guide, develop a script of at least ten questions you would ask during an interview of the customer order processing department manager at Pine Valley Furniture.  Assume the focus is on analyzing the requirements for a new order entry system.  The purpose of the interview is to develop a preliminary E-R diagram for this system.

Students should identify numerous questions to ask Pine Valley Furniture’s manager.  Students should design their questions to collect information about data entities, candidate keys, attributes and secondary keys, security controls, cardinalities and time dimensions of data, relationships, and integrity rules.  Possible questions include:  (1) What data are maintained by the customer ordering system?  (2) How do you distinguish each customer record from every other customer record?  (3) What information do you collect about each customer?  (4)  Does this information differ if the customer is new, as opposed to a repeat customer?  (5) What information do you keep about each order?  (6) Who has access to customer records?  (6) Is there a limit to the number of outstanding orders a customer can have at any one time?  (7) How long do you keep customer information?  (8) What are the return policies for products?  (9) What types of reports do you use?  (10) Who can modify the customer, order, and/or product data?


  3.   If possible, contact a systems analyst in a local organization.  Discuss with this systems analyst the role of conceptual data modeling in the overall systems analysis and design of information systems at his or her company.  How, and by whom, is conceptual data modeling performed?  What training in this technique is given?  At what point(s) is this done in the development process?  Why?

The answer to this question depends on the organization that the student chooses to contact.  Encourage students to investigate how the systems analyst’s conceptual modeling role in a small organization will vary as opposed to his role in a much larger organization.


  4.   Talk to MIS professionals at a variety of organizations and determine the extent to which CASE tools are used in the creation and editing of entity-relationship diagrams.  Try to determine whether or not they use CASE tools for this purpose; which CASE tools are used; and why, when, and how they are used.  In companies that do not use CASE tools for this purpose, determine why not and what would have to change in order to use them.

The answer to this question is dependent to a degree on the organization contacted.  The systems analysts who use CASE tools for conceptual modeling will probably mention the ease with which CASE tools facilitate the preparation of the model and modifications that are made to the model as it evolves.  Also, the ability to link the data objects stored in the project repository is of significant benefit.


  5.   Ask a systems analyst to give you a copy of the standard notation he or she uses to draw E-R diagrams.  In what ways is this notation different from notation in this text?  Which notation do you prefer and why?  What is the meaning of any additional notation?

Many articles discussing various data modeling notations are available on the Web.  As an alternative to contacting a systems analyst, you can ask students to locate one or more of these standard notations and then compare and contrast these notations.  If time permits, you may even have students present their findings to the class. 



Case Problems Solutions


Pine Valley Case Exercises Solutions


  a.   What entities are identified in the above scenario?   Can you think of additional entities?  What interrelationships exist between the entities?

Customers, orders (purchases), and inventory (items) are mentioned in the scenario.  Closely associated to purchase activity are sales promotions.  A customer may respond to zero or more promotions; a promotion is associated with one or more products; an inventory item (product) is contained on zero or more orders; a customer may have zero or more outstanding orders. 


b.   For each entity, identify its set of associated attributes.  Specify identifiers for each entity. 

Several suggested attributes for each entity are provided below.  Mention that this information will be normalized at some point during analysis, resulting in the creation of new entities and the identification of new attributes. 


CUSTOMER_PROFILE(CustomerID, Name, Primary Address, Alternative Address, Phone, Fax, BuyerName, E-mail Address, School Affiliation, DOB, Gender, FirstPurchaseDate, AnnualIncome, CustomerType, MaritalStatus, Occupation, Dependents, InitialContact)

INVENTORY(SKU, ProductName, Description, Material, Color, Price, Lead Time)

ORDER(OrderNumber, OrderDate, CustomerID, ShipDate)

PROMOTION(PromotionNumber, PromotionDescription, BeginningDate, EndingDate)


  c.   Based on the case scenario and your answers to parts a and b, prepare an entity relationship diagram.  Be sure to specify the cardinalities for each relationship.

A suggested answer is provided below.  The following diagram was prepared using Microsoft Visio.  The suggested answer includes three additional entities (SelectedPromotion, PromotedItem, and OrderDetails).  Discuss why these additional entities might be necessary with your students.


d.   How does this conceptual model differ from the WebStore’s conceptual model?

Both systems share data about customers, orders, and inventory.  However, these systems also require unique data (attributes) about each entity. 











Hoosier Burger Case Exercises Solutions


  a.   Based on the information provided in the case scenario, what entities will Hoosier Burger need to store information about?

As illustrated in Figure 6-10, Hoosier Burger currently stores information about its sales, item sales, products, recipes, inventory items, invoice items, and invoices.  The new delivery system will require information about charges, delivery customers, and order histories.


b.   For the entities identified in part a, identify a set of attributes for each entity.

A suggested answer is provided below.


SALE(ReceiptNumber, SaleDate, Delivery)

ITEMSALE(ProductID, ReceiptNumber, QuanitySold)

PRODUCT(ProductID, ProductDescription)

RECIPE(ItemNumber, ProductID, QuantityUsed)

INVENTORYITEM(ItemNumber, ItemDescription, QuantityinStock, TypeofItem, MinimumOrderQuantity)

INVOICE_ITEM(ItemNumber, VendorID, InvoiceNo, QuantityAdded)

INVOICE(VendorID, InvoiceNo, InvoiceDate, Paid?)

CHARGE(ReceiptNumber, CustomerID, Amount, Date)

CUSTOMER(CustomerID, BillingAddress, DeliveryAddress, PhoneNumber, FaxNumber)

ORDER_HISTORY(CustomerID, ReceiptNumber)


  c.   Specify an identifier for each entity.  What rules did you apply when selecting the identifier?

The identifiers are noted in the previous answer.  Four rules were mentioned in the chapter; these include:  (1) choosing a candidate key that will not change its value over the life of each instance of the entity type; (2) choosing a candidate key such that, for each instance of the entity, the attribute is guaranteed to have valid values and not be null; (3) avoiding the use of intelligent keys; and (4) considering the substitution of single-attribute surrogate keys for larger composite keys.


d.   Modify Figure 6-10 to reflect the addition of these new entities.  Be sure to specify the cardinalities for each relationship.

A suggested answer is provided below.  Microsoft Visio was used to prepare the E-R diagram.




Corporate Technology Centers Case Exercises Solutions


  a.   What entities are identified in the above scenario?  Can you identify additional entities?

The primary entities are course, staff, location, and student.  Reinforce to students that these entities will be normalized in a later chapter.


b.   For each entity identified in part a, specify a set of associated attributes.

A suggested answer is provided below.


COURSE(CourseID, CourseName, CourseDescription)

STAFF(StaffID, FirstName, LastName, EmploymentDate, HomePhone, StreetAddress, City, State, Zip, OfficeExtension)

LOCATION(LocationID, StreetAddress, City, State, Zip, BuildingNo, RoomNo, Comments)

STUDENT(SID, CorporateAffiliation, FirstName, LastName, Phone, StreetAddress, City, State, Zip)


CURRENTCOURSE(CourseID, SID, LocationID, StaffID, BeginningDate, EndingDate, StartTime, EndTime, Comments)

QUALIFIEDCOURSES(StaffID, QualifiedCourseID, Comments, TaughtClassBefore?)


  c.   Select an identifier for each entity.  What rules did you apply when selecting the identifier?

The identifiers are noted in the previous answer.  The rules discussed in the chapter are:  (1) choosing a candidate key that will not change its value over the life of each instance of the entity type; (2) choosing a candidate key such that, for each instance of the entity, the attribute is guaranteed to have valid values and not be null; (3) avoiding the use of intelligent keys; (4) considering the substitution of single-attribute surrogate keys for larger composite keys.


d.   Based on the case scenario and your answers to a, b, and c, prepare an entity relationship diagram.   Be sure to specify the cardinalities for each relationship.

Several students may identify a higher degree relationship for location, course, and staff.  Although students will need to make several assumptions, a simple, suggested entity relationship diagram is provided below.  Microsoft Visio was used to prepare the following E-R diagram.




Broadway Entertainment Co., Inc. Case Question Solutions


  1.   Review the data flow diagrams you developed for questions in the BEC case at the end of Chapter 5 (or diagrams given to you by your instructor.)  Study the data flows and data stores on these diagrams and decide if you agree with the team’s conclusion that there are only the six entity types listed in this case and in BEC Figure 6-1.  If you disagree, define additional entity types, explain why they are necessary, and modify BEC Figure 6-1.

The six entity types in BEC Figure 1 are the only ones needed to represent the MyBroadway system.  However, depending on what data about Customers and Employees are required, entities for these objects may also be required.


  2.   Again, review the DFDs you developed for the MyBroadway system (or those given to you by your instructor).  Use these DFDs to identify the attributes of each of the six entities listed in this case plus any additional entities identified in your answer to Question 1.  Write an unambiguous definition for each attribute.  Then, redraw BEC, Figure 6-1 by placing the six (and additional) entities in this case on the diagram along with their associated attributes.

The updated ERD appears in the BEC ERD at the end of this section.  Microsoft Visio was used to prepare the ERD.


The Comment entity has the attributes:


·         Comment ID – a number generated by the system to uniquely identify a comment.

·         Membership ID – the membership number of the customer who makes the comment.

·         Member Comment – the text that a customer states about a certain product.

·         Member Name – the name of the customer who makes the comment.

·         Comment Time Stamp – the date and time that the comment was entered into the system by a customer.

·         Parent/Child – a designation whether the customer entering the comment is a parent or a child.

·         Product ID – serves as a foreign key.


The Pick entity has the attributes:

·         Pick ID – a number generated by the system to uniquely identify an employee pick.

·         Employee Comment – the text that an employee states about a certain product.

·         Rating – a structured rating given to a certain product by an employee.

·         Employee ID – the ID number of the employee who submitted the pick.

·         Employee Name – the name of the employee who entered the pick into the system.

·         Pick Time Stamp – the date and time that the employee entered the pick into the system.

·         Product ID – serves as a foreign key.


The Product entity has the attributes:


·         Product ID – a number generated by the system to uniquely identify a product offered for sale or rent by BEC.

·         Title – the title of the product.

·         Artist – the name of the artist of the product (if applicable).

·         Type – an indication if the product is music, a game, or a movie.

·         Publisher – the name of the publisher of the product.

·         Category – the category that the product falls under (comedy, drama, etc.).

·         Media – the type of media that the product is on (CD, DVD, etc.).

·         Description – a description of the product.

·         Release Date – the date that the product was released.

·         Sale Price – the sales price of the product.

·         Rental Price – the rental price of the product.


The Request entity has the attributes:


·         Request ID – a number generated by the system to uniquely identify requests made by customers.

·         Request Time Stamp – the date and time that the request was made by a customer.

·         Membership ID – the membership ID number of the customer who made the request.

·         Member Name – the name of the customer who made the request.

·         Artist – the name of the artist (if applicable) of the product being requested.

·         Title – the title of the product being requested.

·         Type – an indication if the requested product is music, a game, or a movie.

·         Media – the type of media the customer would like the product on.

·         Product ID – serves as a foreign key.


The Rental entity has the attributes:


·         Rental ID – a number generated by the system to uniquely identify a rental of a specific product by a customer.

·         Membership ID – the membership ID number of the customer who rented the product.

·         Member Name – the name of the person who rented the product, which may be different than the cardholder’s name (child, spouse, etc.).

·         Rental Time Stamp – the date that a customer rented the product involved in this rental.

·         Due Date – the date that the rented product is due back.  This may be changed with a rental extension request.

·         Returned? – an indication if the rented item was returned or not.

·         Product ID – serves as a foreign key.


The Sale entity has the attributes:


·         Sale ID – a number generated by the system to uniquely identify a sale of a specific product to a customer.

·         Membership ID – the membership ID number of the customer who purchased the product.

·         Member Name – the name of the person who purchased the product, which may be different than the cardholder’s name (child, spouse, etc.)

·         Sale Time Stamp – the date and time that the product was purchased by the customer.

·         Product ID – serves as a foreign key.


  3.   Using your answer to Question 2, designate which attribute or attributes form the identifier for each entity type.  Explain why you chose each identifier.

Comment ID and Pick ID are the identifiers of the entities Comment and Pick, respectively, because it would be much simpler to use a number than a long string of text, even though the comments themselves will most likely be unique.  Product ID is the identifier of the entity Product because it is possible that more than one product could have the same title.  Request ID is the identifier of the entity Request because a customer could make more than one request for a product on a certain day.   Sale ID and Rental ID are the identifiers of the entities Sale and Rental, respectively, because a customer could buy or rent more than one product on a certain day.


  4.   Using your answer to Question 3, draw the relationships between entity types needed by the system.  Remember, a relationship is needed only if the system wants data about associated entity instances.  Give a meaningful name to each relationship.  Specify cardinalities for each relationship and explain how you decided on each minimum and maximum cardinality on each end of each relationship.  State any assumptions you made if the BEC cases you have read so far and the answers to questions in these cases do not provide the evidence to justify the cardinalities you choose.   Redraw your final E-R diagram in Microsoft Visio.

The relationships between Product and Comment, Pick, Request, Rental, and Sale are all one-to-many relationships.  A Product may have zero or many Comments, Picks, Rentals, and Sales associated with it.  Comments, Picks, Requests, Rentals, and Sales must have one and only one Product associated with them.  Requests may not have a Product associated with them (until the product goes into inventory).  A suggested ERD is provided at the end of this section.


  5.   Now that you have developed in your answer to Question 4 a complete E-R diagram for the MyBroadway database, what are the consequences of not having customer or employee entity types on this diagram?  Assuming only the attributes you show on the E-R diagram, would any attribute be moved from the entity it is currently associated with to a customer or employee entity type if such entity types were on the diagram?  Why or why not?

The consequence of not including the customer and employee entity types on this diagram is that names (and possibly other attributes) appear as an attribute on several of the other entities.  I would move the Member Name attribute from the Sale, Rental, Comment, and Request entities to the Customer entity and the Employee Name attribute from the Pick entity to the Employee entity if the Customer and Employee entities existed on this diagram.  This would eliminate the duplication of data.



  6.   Write project dictionary entries (using standards given to you by your instructor) for all the entities, attributes, and relationships shown in the E-R diagram in your answer to Question 4.  How detailed are these entries at this point?  What other details still must be filled in?  Are any of the entities on the E-R diagram in your answer to Question 4 weak entities?  Why?  In particular, is the REQUEST entity type a weak entity.  If so, why?  If not, why not? 

Answers to this question will vary due to specific instructor instructions.  Typical dictionary contents for entity, attribute, and relationship objects are listed below.


Entity: Short name, name, plural, volume (initial, maximum, average, growth rate), data warehouse type, list of attributes, description


Attributes: Primary UID, optional?, percentage used (initial, average), domain, type, maximum length, average length, decimal places, units, derivation, on condition, null value, default, sequence in sort, sort order       


Relationships: From entity name, from relationship name, from optionality and degree, to entity name, to relationship name, to optionality and degree, description


  7.   What date-related attributes did you identify in each of the entity types in your answer to Question 4?  Why are each of these needed?  Can you make some general observations about why date attributes must be kept in a database based on your analysis of this database?

The Sale, Rental, Comment, Pick, and Request entities all have date/time-related entities.  The date/time attributes are needed because the same customer could comment on, rent, buy, or request, the same product (on the same day), and an employee could enter a pick of the same product more than once (on the same day).  Also, to archive old, obsolete data, or to see temporal trends, dates are needed.



















Chapter 7


Key Terms Checkpoint Solutions



Web server (5)



request for proposal (RFP) (3)


design strategy (2)



application server (1)


scalable (4)




Review Questions Solutions


  1.   What are the deliverables from selecting the best alternative design strategy?

The deliverables from alternative generation and selection include:  (1) identifying at least three substantively different system design strategies for building the replacement information system; (2) choosing the design strategy judged most likely to lead to the most desirable information system; (3) preparing (updating) a Baseline Project Plan for turning the most likely design strategy into a working information system.


  2.   Why generate at least three alternatives?

Analysts generate three alternatives because three alternatives can neatly represent both ends and the middle of a continuum of potential solutions.


  3.   How do you decide among various off-the-shelf software options?  What criteria do you use?

To decide what off-the-shelf software to buy, compare products and vendors.  Use the following criteria (among others that may be more situation-specific): cost, functionality, vendor support, viability of vendor, flexibility, documentation, response time, and ease of installation.


  4.   What issues are considered when analysts try to determine whether new hardware or system software is necessary?

The issues focus on whether a particular design strategy can run on existing hardware and system software platforms.  Advantages of running the target system on existing platforms include lower costs, familiarity, ease of integration, and few or limited data conversion costs.  However, parts of the target system may require specific platforms, and new platforms allow for substantial upgrading.


  5.   What is an RFP and how do analysts use one to gather information on hardware and system software?

An RFP is a formal document that provides detailed specifications about a target information system and asks vendors for information on how they would develop the system.  Analysts use RFPs as a way to get vendors to perform the necessary research into specific design strategies and the hardware and system software vendors believe are necessary for developing the new system.


  6.   What issues other than hardware and software must analysts consider in preparing alternative system design strategies?

Other than hardware and software, analysts must consider implementation issues (such as changes in work relationships, training, and disruptions in work procedures) and organizational issues (such as cost of implementation, determining what management will support, and whether users will accept the new system).


  7.   How do analysts generate alternative solutions to information systems problems?

Analysts consider many issues in developing alternative solutions to information system problems.  Of particular interest are the system owner’s and users’ prioritized system objectives and system (and development) constraints.  Analysts consider which design strategies would minimally satisfy objectives and not violate constraints, on the one hand, as well as which design strategies would meet or exceed objectives with minimal violation of constraints on the other hand.  There are many possible design strategies between these two extreme positions.


  8.   How do managers decide which alternative design strategy to develop?

While alternative design strategies may be compared in many different objective ways, the actual design strategy chosen by management will depend on what management’s true objectives are for a particular development project.  Management may ignore constraints, or alternatively, choose the least expensive system to develop, regardless of which design strategy appeared to be the best in the objective comparison.


  9.   Which elements of a Baseline Project Plan might be updated during the alternative generation and selection step of the analysis phase of the SDLC?

Every section of the Baseline Project Plan is updated during the alternative generation and selection step of the analysis phase.


10.   What methods can a systems analyst employ to verify vendor claims about a software package?

To verify vendor claims about a software package, an analyst can ask for a software demonstration, use the software (and its documentation and training materials), personally talk with other users of the software, ask specific questions via a questionnaire, and consult independent software testing and abstracting services.


11.   What are enterprise resource planning systems?  What are the benefits and disadvantages of such systems as a design strategy?

Enterprise solutions consist of a series of integrated modules; these modules pertain to specific, traditional business functions.  However, these modules are integrated to focus on business processes rather than on business functional areas.  Enterprise solution advantages include a single repository of data for all aspects of a business process, flexible modules, less maintenance, more consistent and accurate data, and ease of adding and integrating new modules into the existing system.  Possible disadvantages of this approach include complexity, lengthy implementation, lack of in-house expertise, expense, and changing how the organization conducts its business.



Problems and Exercises Solutions


  1.   Research how to prepare a request for proposal.  Prepare an outline of an RFP for Hoosier Burger to use in collecting information on its new inventory system hardware.

The request for proposal (RFP) is used when the organization wants to solicit proposals from several competing vendors.  RFPs usually first give some background information on the company and the business units involved in the request, an explanation of the information system needs, a description of what is wanted from the vendors (i.e., what information they must provide or other actions they must take), and an explanation of any rules or procedures for the RFP and system development process.  The bulk of the document then describes the mandatory, essential, and desirable requirements in the areas of need (e.g., functionality, hardware, software, and service).  Students’ RFP outlines should include these key features.


  2.   Re-create the spreadsheet in Figure 7–8 in your spreadsheet package.  Change the weights and compare the outcome to Figure 7–8.  Change the rankings.  Add criteria.  What additional information does this “what if” analysis provide for you as a decision maker?  What insight do you gain into the decision-making process involved in choosing the best alternative system design?

In the first accompanying spreadsheet, the weights have been changed to reflect a weighting that represents systems development projects in governmental agencies.  In these settings, a great deal of weight is given to the costs and time frame of the system being proposed.  As often happens in governmental agencies, by weighting costs and timing more heavily in this example the outcome has changed.  Alternative A and Alternative C have traded places; Alternative A now has the highest score.  By changing the weighting, we may have just traded the more technically proficient solution for the more cost-effective solution (at least in terms of “short term” costs). 


The second accompanying spreadsheet reflects changes in the ratings of Alternative B.   With slight improvements in the ratings for this alternative, it now has the highest score.   This shows how important the ratings can be and how subtle changes and/or biases in ratings can have significant impacts on the final outcome.  


The third spreadsheet has the additional criteria of “references” and “in use.” “References” are written references from other organizations currently using the vendor’s systems.  “In use” means that the technology proposed must have been in use by a paying customer for six months.  These are very common criteria for organizations that value stability of the vendor, technology over performance, and having state‑of‑the‑art technology.  These additional criteria change the outcomes; Alternative B now has the highest score.  These changes appear to have caused the more stable vendor (i.e., the vendor with the better references and the track record for using the technology it has proposed) to be chosen over the vendor who scored higher on other performance indicators.

























  3.   Prepare a list for evaluating computer hardware and system software that is comparable to the list of criteria for selecting off-the-shelf application software presented earlier.

The list for evaluating computer hardware and system software would be very similar to that for selecting off‑the‑shelf application software.  In addition to cost, functionality, vendor support, viability of vendor, flexibility, documentation, response time (or other performance criteria, such as number of transactions per unit of time or other benchmark tests or raw processor speed), and ease of installation, we might include: the current staff’s familiarity with the new system, need for retraining, compatibility and connectivity with current systems, cost of converting old systems to the new platform, ease of future upgrades, and track record of the vendor in successfully implementing this new system in other organizations. 


  4.   The method for evaluating alternatives used in Figure 7–8 is called weighting and scoring.  This method implies that the total utility of an alternative is the product of the weights of each criterion times the weight of the criterion for the alternative.  What assumptions are characteristic of this method for evaluating alternatives?  That is, what conditions must be true for this to be a valid method of evaluation alternatives?

For this method of evaluation to be valid, one assumes that all relevant criteria are known and included and that the weights and ratings are accurate.  More important, this method assumes that the alternatives and criteria lend themselves to a quantitative analysis.  Some people argue that some parts of the analysis inherently cannot be quantified.  For example, it is difficult to truly rate and weight the amount of trust that you can place in a vendor and your belief that they will indeed follow through on their claims.  Further, this method assumes that the criteria are independent of each other, and thus scores are additive.


  5.   Weighting and scoring (see Problem and Exercise 4) is only one method for comparing alternative solutions to a problem.  Go to the library, find a book or articles on qualitative and quantitative decision making and voting methods, and outline two other methods for evaluating alternative solutions to a problem.  What are the pros and cons of these methods compared to the weighting and scoring method?  Under weighting and scoring and the other alternatives you find, how would you incorporate the opinions of multiple decision makers?

One other quantitative method for choosing between alternative systems is to choose almost exclusively based on cost. This may seem far-fetched, but in most state and federal agencies information systems are chosen this way.  People in these agencies are often forced by law to choose the least expensive system that meets some minimum level of adequacy for the relevant information system needs.  Indeed, many states and parts of the federal government are attempting to change this method of awarding governmental contracts.  One other more qualitative method often used is to choose the vendor that not only supplies the necessary system but also provides the best value-added services and components.  For example, many companies will choose a vendor that, in addition to the basic system, is willing to supply additional training, free components, less expensive maintenance, or has offered to enter into a strategic partnership that is of mutual benefit to both companies. 


When multiple decision makers collaborate and make the decision together, there are several methods for incorporating their interactive input.  For example, for a quantitative analysis such as that presented in Figure 7-8, each decision maker first enters her ratings for each alternative across each criterion.  The data are then summarized using a spreadsheet, and the average and/or summary rating across all decision makers is used to choose a vendor.  In addition, group support systems can tally the individual, anonymous ideas, comments, and/or votes of multiple, collaborating decision makers.  Because there are many multi-criteria decision-making methods (e.g., another popular one uses pairwise comparisons), students may come up with many alternatives for this question.


  6.   Prepare an agenda for a meeting at which you would present the findings of the analysis phase of the SDLC to Bob Mellankamp concerning his request for a new inventory control system.  Use information provided in Chapters 4 through 7 as background in preparing this agenda.  Concentrate on which topics to cover, not the content of each topic.

Basically, students should include in the meeting the deliverables from the three major subphases of analysis: requirements determination, requirements structuring, and alternative generation and selection.  Some other key issues that must be decided are who else to invite to the meeting, the level of detail to present to Bob Mellankamp, and, subsequently, how long the meeting should last.  The meeting should not only summarize the findings from analysis but also validate these findings by outlining the process followed.  An updated BPP should be covered.  Without more information, it may be difficult for the students to decide on these other key issues.  Have them identify the information that would be needed to decide on these issues.  For example, they may want to know more about Mellenkamp’s personality and preferences before deciding. 


  7.   Review the criteria for selecting off-the-shelf software presented in this chapter.  Use your experience and imagination and describe other criteria that are or might be used to select off-the-shelf software in the real world.  For each new criterion, explain how its use might be functional (i.e., it is useful to use this criterion), dysfunctional, or both.

In addition to cost, functionality, vendor support, viability of vendor, flexibility, documentation, response time, and ease of installation, there are a number of other real world criteria that might be included.  People often choose application packages, such as word processors and spreadsheets, based solely on their familiarity with the packages and/or their bias toward one hardware platform or operating system over another.  To a certain extent this can be functional.  However, this could also be dysfunctional.  For example, it would be useful to consider the current staff’s familiarity with the new application software and the resulting need for retraining.  However, it would be dysfunctional if a company did not ever choose new software because of the employees’ lack of familiarity with it.  Eventually, software will evolve and the market will change, and the employees (and the company) will be left behind using antiquated technology. 


Some other criteria include compatibility with currently used application software (so, for example, data can be shared), compatibility with existing hardware and system software, ability to support a range from novice to experienced (or power) users, and appeal of the user interface (ease of use).


  8.   The owner of two pizza parlors located in adjacent towns wants to computerize and integrate sales transactions and inventory management within and between both stores.  The point-of-sale component must be very easy to use and flexible enough to accommodate a variety of pricing strategies and coupons.  The inventory management, which will be linked to the point-of-sale component, must also be easy to use and fast.  The systems at each store need to be linked so that sales and inventory levels can be determined instantly for each store and for both stores combined.  The owner can allocate $40,000 for hardware and $20,000 for software and must have the new system operational in three months.  Training must be very short and easy.  Briefly describe three alternative systems for this situation and explain how each would meet the requirements and constraints.  Are the requirements and constraints realistic?  Why or why not?

Some basic system alternatives include:  (1) build the system in‑house using a programming language such as C or Microsoft Visual Basic; (2) purchase off‑the‑shelf packages, such as Microsoft Excel and Access, along with the necessary computer and telecommunications equipment, and use these to build the necessary systems in-house; (3) purchase custom software and a turn-key system from either a generic information systems consulting firm or from a specialized systems provider for the food retail or pizza retail industry; and (4) outsource the systems to an outside firm.


Each of these alternatives has unique advantages and disadvantages.  Given that the system needs to be stable, easy to use, and built relatively quickly, and given that this organization probably has little or no in-house systems personnel, the third and fourth alternatives are most realistic.


  9.   Compare the alternative systems from Problem and Exercise 8 using the weighted approach demonstrated in Figure 7–8.  Which system would you recommend?  Why?  Was the approach taken in this and Problem and Exercise 8 useful even for this relatively small system?  Why or why not?

It will be useful for students to create a spreadsheet like the one presented in Figure 7–8.  They should list in the criteria category each of the requirements and constraints described in the problem, plus any others that they believe are relevant.  As best they can, have them weight each of these criteria and use them to rank each of the four alternatives presented in the previous answer.  They may have to make some assumptions to complete each of the ratings.  This method of analysis should be useful even for this relatively small system.  The method will force the decision maker to flesh out relevant criteria and weighting and be as objective as possible in rating each alternative on each criterion.


10.   Suppose that an analysis team did not generate alternative design strategies for consideration by a project steering committee or client.  What might the consequences be of having only one design strategy?  What might happen during the oral presentation of project progress if only one design strategy is offered?

Having only one design strategy can be problematic in several ways.  First, there will be no guarantee that the best, the correct, or even an adequate system for the situation is being developed or purchased.  This is not obvious because it is unclear if other alternatives were considered, and if they were, those present cannot see why the one choice won out.  Second, if the one strategy is because only one vendor is used, there are no benefits from having multiple vendors compete for an RFP.  For example, the vendor has no incentive to keep its price as low as possible.  Third, without the detailed, public systems specifications that are part of a competitive bid process, there is not likely to be much in the way of written documentation to refer back to if the vendor does not fulfill its promises.  If the analysts present only one design strategy during the oral presentation to the project steering committee or client, the recommendations are likely to be (at worst) rejected, or (at best) accepted with great skepticism.  It is also possible that those present at the meeting will start to generate alternatives, each representing that person’s position.  The meeting will likely quickly deteriorate since a fair assessment of ad hoc alternatives cannot be done within the limits of a meeting.  In any event, this is not a good way to begin the development of an information system (or to build a career).


11.   In the section on choosing off-the-shelf software, eight criteria are proposed for evaluating alternative packages.  Suppose the choice was between alternative custom software developers rather than prewritten packages.  What criteria would be appropriate to select and compare among competing bidders for custom development of an application?  Define each of these criteria.

The list for evaluating alternative custom software developers would be very similar to that for selecting off‑the‑shelf application software or for computer hardware and system software.  In addition to cost, functionality, vendor support, viability of vendor, flexibility, documentation, response time, and ease of installation, we might include the current staff’s familiarity with the software, need for retraining, compatibility and connectivity with current systems, and the track record of the vendor in successfully implementing similar software in other organizations.  Such vendors should have an established track record of developing similar software in other organizations.  Their references should be checked thoroughly, including visits to these other sites.  If the developer’s role will end after the application is accepted, then the reputation of the vendor for handling this transition from external development to internal maintenance is important.  From a legal point of view, you may want to select a custom developer based on the willingness to sign a non-disclosure agreement, so that they are not allowed to develop a similar system for one of your competitors, at least for some amount of time.


12.   How might the project team recommending an enterprise resource planning design strategy justify its recommendation as compared to other types of design strategies?

The project team can use the advantages of the enterprise resource planning design as part of their strategy for selling this system.  The team can stress that this solution consists of a series of integrated modules, these modules are integrated to focus on business processes, and the firm can integrate all parts of a business process.  This approach includes a single repository of data, thus providing more consistent and accurate data and less maintenance.  These modules are flexible and new modules can be easily integrated into an existing system.  Also, an enterprise resource planning (ERP) system might be justified on the following grounds:  (1) it is a complete enterprise-wide solution that models all aspects of each transaction, supposedly seamlessly and within a single system; (2) an ERP system is based on a single repository of all corporate data, which implies consistency, accuracy and flexibility of the data; and (3) adding new modules should be relatively painless as all modules are specifically designed to work together.  But, some might counter that ERP systems are complex and require expensive outside expertise for implementation, and that the organization itself has to adjust to fit the softwares model of how organizations should operate rather than the reverse.



Discussion Questions Solutions


  1.   Consider the purchase of a new PC to be used by you at your work (or by you at a job that you would like to have).  Describe in detail three alternatives for this new PC that represent the low, middle, and high points of a continuum of potential solutions.  Be sure that the low-end PC meets at least your minimum requirements and the high-end PC is at least within a reasonable budget.  At this point, without quantitative analysis, which alternative would you choose?

Because pricing and capabilities change rapidly, ask students to visit the Web sites of several vendors, including Compaq, IBM, Gateway, and Dell.  For discussion purposes, three alternatives are presented below; however, please note that the information provided in this answer will need to be updated each semester.


Low-end alternative:  2.4GHz Intel Celeron processor, 256MB of RAM, 40GB hard drive, 17" monitor, Microsoft Windows XP Home Edition, Microsoft Office 2003 Standard Edition.  Cost is about $800.


Mid-range alternative:  2.8GHz Intel Pentium 4 processor, 256MB of RAM, 60GB hard drive, 17" flat panel monitor, Microsoft Windows XP Home Edition, Microsoft Office 2003 Professional Edition.  Cost is about $1,200.


High-end alternative:  3.2GHz Intel Pentium 4 processor, 512MB of RAM, 160GB hard drive, 21" flat panel, Microsoft Windows XP Professional, Microsoft Office 2003 Small Business Edition.  Cost is about $2,600.


  2.   For the new PC described, developed ranked lists of your requirements and constraints as displayed in Figure 7–8.  Display the requirements and constraints, along with the three alternatives, as done in Figure 7–8, and note how each alternative is rated on each requirement and constraint.  Calculate scores for each alternative on each criterion and compute total scores.  Which alternative has the highest score?  Why?  Does this choice fit with your selection in the previous question?  Why or why not?

The spreadsheet below presents the quantitative analysis for the three alternatives described in the previous answer.  Speed, storage, ease of use, reliability, costs, and time to operation were the criteria used.  The mid-range alternative has the highest score because it has acceptable rankings for the performance-oriented criteria and scores well on the highly weighted criteria of costs.  As is often the case, people often buy more technology than they really need.  The counter argument is that, for PCs, one should buy as much power as they can reasonably afford so the technological life of their equipment is longer, and they will be better able to take advantage of new software as it becomes available.















  3.   One of the most competitive software markets today is electronic spreadsheets.  Pick three packages (e.g., Microsoft Excel, Lotus 1-2-3, and Quattro Pro—any three spreadsheet packages will suffice).  Study how to use spreadsheet packages for school, work, and personal financial management.  Develop a list of criteria important to you on which to compare alternative packages.  Then contact each vendor and ask for the information you need to evaluate its package and company.  Request a demonstration copy or trial use of its software.  If the company cannot provide a sample copy, then try to find a computer software dealer or club where you can test the software and documentation.  Based on the information you receive and the software you use, rate each package using your chosen criteria.  Which package is best for you?  Why?  Talk to other students and find out which package they rated as best.  Why are there differences between what different students determined as best?

Students should be able to either find and use a copy of three different spreadsheets or find information about each package.  They might also try visiting a computer retailer or requesting a demonstration copy from the manufacturer.  Some of the criteria the students are likely to use include:  speed, ease of use, compatibility with other packages, price, and features.  It will be useful for students to compare their analyses to see the differences and similarities.  This will help them to understand how difficult it is for software vendors to be all things to all customers.


  4.   Obtain copies of actual requests for proposals used for information systems developments and/or purchases.  If possible, obtain RFPs from public and private organizations.  Find out how they are used.  What are the major components of these proposals?  Do these proposals seem to be useful?  Why or why not?  How and why are the RFPs different for the public versus the private organizations?

Obtaining RFPs may be difficult for your students.  It may be necessary for you to obtain copies of RFPs either from business contacts or from the university.  It is very useful for students to see real RFPs.  Students are amazed at how lengthy and detailed these are for larger, more complex systems.  Your students are likely to be amazed at how complicated RFPs can become for governmental agencies.



Case Problems Solutions


1.  Pine Valley Case Exercises Solutions


  a.   Generally speaking, what alternative design strategies were available to Pine Valley Furniture?

Table 7–6 identifies requirements, constraints, and three alternatives for the new system, but does not specify how the alternatives are sourced.  However, the case does suggest that in-house development is the best option.


Pine Valley Furniture has six potential sources of software; these include hardware manufacturers, packaged software producers, custom software producers, enterprise-wide solutions, application service providers, and in-house development.  The most likely candidates are custom software producers and in-house development.  Because of the marketing group’s unique information needs, the most likely alternative design strategy will probably involve in-house development and be designed to work with the company's existing platform.  If you have the class time, encourage your students to research different, specific design strategies that might be beneficial for Pine Valley.  Then ask your students to update the information provided in Tables 7–6 and 7–7.


b.   Of the alternative design strategies available to Pine Valley Furniture, which were the most viable?   Why?

As mentioned above, the most likely candidates are custom software producers and in-house development.  The marketing group’s unique information needs require custom software development, requirements unlikely provided by hardware manufacturers, packaged software developers, application service providers, or enterprise-wide solutions.  Additionally, the competitive nature of this new system may necessitate in-house development.  It appears from the weighted approach (prepared in Part c), that Alternative C is the best choice. 


  c.   Using the information provided in Table 7–7, calculate the scores for each alternative.

A suggested answer is provided below.



d.   Based on the information provided in Tables 7–6 and 7–7, which alternative do you recommend?

Based on the weighted factor approach, Alternative C appears to be the best choice.  However, this alternative requires $350,000 to develop, incurs $100,000 in hardware costs, and requires 9 months to operation.  Alternative B has a slightly lower rating, but requires only $200,000 to develop, incurs $80,000 in hardware costs, and requires 7 months to operation. 



2.  Hoosier Burger Case Exercises Solutions


  a.   Generally speaking, what alternative design strategies are available to Hoosier Burger?

Table 7–8 identifies the new requirements, constraints and three alternatives for Hoosier Burger.  As part of its design strategy, Hoosier Burger will likely acquire a new hardware platform and system software.  Also, Hoosier Burger has six potential sources of software; these include hardware manufacturers, packaged software producers, custom software producers, application service providers, enterprise-wide solutions, and in-house development.  However, the most likely candidates are custom software producers or packaged software producers.  If you have the class time, encourage your students to research different, specific design strategies that might be beneficial for Hoosier Burger.  Then ask your students to update the information provided in Tables 7–8 and 7–9 to reflect their findings.


b.   Is an enterprise resource planning system a viable option for Hoosier Burger?  Why or why not?

Due to Hoosier Burger’s size and its cost, an enterprise resource planning system is not the best choice for Hoosier Burger. 


  c.   Modify Figure 7–8 to incorporate the criteria mandated by the new delivery system.  Which alternative should be chosen?

Based on the analysis provided in the following spreadsheet, it appears that Alternative B should be chosen.


d.   Assuming that Alternative C is still chosen, update Hoosier Burger's economic feasibility analysis to reflect the changes mentioned in this scenario.

Although Alternative C has the lowest score, it may still be chosen because of its many benefits.  The students will need to make several assumptions, because the case does not specify how much of the development costs are already reflected in the one-time costs currently shown in Figure 7–8.



3.  Whistler Car Wash Case Exercises Solutions


  a.   Based on the systems development requests previously mentioned, what alternative design strategies are available?

Whistler has several major systems that need renovating.  These include its inventory tracking system, its order-entry system, and its accounts receivable and accounts payable systems.  Additionally, the methods by which information is exchanged among its processes need improvement.


Whistler Car Wash has six potential sources of software; these include hardware manufacturers, packaged software producers, custom software producers, enterprise-wide solutions, application service providers, and in-house development.  The most likely candidates are custom software producers, in-house development, and enterprise solutions software.  As part of its alternative design strategy generation process, Whistler's development team must determine whether a new hardware platform and system software is warranted or whether its existing hardware platform and system software can be used.  If you have the class time, ask your students to research and provide three specific alternative design strategies for Whistler's Car Wash.  Additionally, ask your students to present their findings to the class.


b.   Would enterprise resource solutions software be viable?  If so, for which systems development requests?


Based on the information provided in the case, enterprise solutions software is an attractive option for Whistler's Car Wash.  Since the three systems mentioned in the case share information, the development team should explore how enterprise solution software can satisfy and integrate the requirements for the three systems development requests.


  c.   It is likely that a request for proposal will be sent to several vendors.  Locate a Web site that provides information about requests for proposals.  Briefly summarize your findings.


Your students can use one of the popular search engines to locate a Web site that provides more information about request for proposals.  Alternatively, your students can research requests for proposals by visiting your university library.


d.   When shaping alternative design strategies, what processes are involved?


The textbook identifies three processes.  These include dividing requirements into different sets of capabilities, ranging from mandatory to desirable features, enumerating different potential implementation environments, and proposing different ways to source the various sets of capabilities for the different implementation environments.



Broadway Entertainment Co., Inc. Case Question Solutions


  1.   Was the St. Claire student team wise to not suggest several alternative sets of functional capabilities for MyBroadway?   What are the risks of considering only one starting point for prototyping?

The student team was most likely wise to not suggest several alternative sets of functional capabilities for MyBroadway because they will be using a prototyping technique.  An initial functional scope has been determined and any alternatives can be considered in an evolutionary fashion during design.  Minor changes in functional requirements can be made as the prototype is modified after receiving feedback from Carrie and the users who will be using the prototype.  The risk of considering only one starting point for prototyping is that a better alternative design strategy could be overlooked.  The team could have proposed alternative design strategies that involved different prototyping platforms or acquisition methods.


  2.   Although the St. Claire student team and Carrie could find no other entertainment media store that had a Web site, certainly companies in competition with BEC have Web sites.  Visit the Web sites for Blockbuster and at least one other BEC competitor.  From reviewing those sites, what other features would you anticipate might be suggested during customer and employee use of the initial MyBroadway prototype?  Given your answers to questions in previous BEC cases in this text, will the architecture of the prototype (including the database model and process flow models for acquiring and reporting data) be changed much by some of the Web site features you find?  Why or why not?  Is scalability an issue when using prototyping as the systems development methodology?

Based on Web sites for and,  one of the other features that the users might want to see on MyBroadway includes a personalized account where you can specify your preferences about movies and music to receive promotional material via email or regular mail.  Other possible requested features are a shopping cart, email newsletter, a message board/chat room, a wish list that others can access for buying gifts, and an address book for keeping names of family and friends for easy access when sending gifts.  These Web sites also offered a list of what was available in their stores now and what was coming soon along with a store locator.  Adding these features to MyBroadway will necessitate changes to DFDs and the ERD (e.g., the ERD will need a relationship to keep track of products a customer has on her wish list and a process to produce the newsletter).  Scalability is not a concern at this point, since the intent of the prototype is to prove the concept of the system and is not intended to be the final system.


  3.   What is your assessment of the recommendation to use Microsoft Access as the prototyping platform?  Would you suggest an alternative?  Why?  Under what circumstances would an alternative platform be better?

Microsoft Access with Visual Basic for Applications is a good prototyping tool because the database, screens, and reports can be generated easily.  The screens can be designed to look like browser screens.  Access can handle the size of the prototype in terms of database and usage volume.  With in-store use, an actual Web platform is not required.  The student team is familiar with Access so they will not need any training and there will be no cost of renting space from an ISP.  Alternatives are not suggested because the focus of the project is to design a prototype, not the actual Web-based system, so there is no need for the team to invest resources for learning a new Web development tool.  The alternative of using Web development software would be more appropriate if the project was supposed to deliver a working system or if the team was familiar with Web development tools and had access to the resources needed to develop and test the system on that platform.


  4.   Carrie is concerned with user expectation management as the project moves forward.  Given the additional information you know now about the system being developed, MyBroadway, what would you recommend the team do to limit user expectations or to handle frustrations if users are underwhelmed by what they see in the prototypes?

The users of the system should be informed (probably by Carrie) before using the prototype that it is only a prototype, so they do not think it is the final product.  This will prepare them for what they will experience with the prototype, so their expectations will not be too high or unreasonable.  Customers could be given a premium (e.g., free rental) for providing feedback.  Customers and employees should not be given premiums based on the number of ideas for changes they suggest.


  5.   This case states that the student team thought that including video and audio clips would be a problem, at least for the prototype.  Do you agree?  Why or why not?  One might also argue that because a BEC store carries over 4,000 different products, there is already a database problem even without including multimedia product clips data.  What prototype implementation issues does this large product inventory have on the development of the prototypes?  What suggestions would you make for changes (or refinements) to the design strategy to handle this extensive set of products?  Justify your suggestions. 

Including audio and video clips would be a problem for the prototype.  The cost would increase significantly because of the additional storage requirements and the server-side software.  It would also complicate the overall project and require significantly more effort from the project team to create the video and sound clips.  The size of the database will be very large if all of the products are included for the prototype.  The team might consider only using a subset of the products for testing.  For example, they could use only the action films and comedy films or only music CDs for user testing to make sure that the prototype was not too slow and that the laptop would have enough disk space to run the system.  The final Web-based system would most likely use a database management system, other than Microsoft Access, that is designed for that particular application and that can handle large amounts of data without speed problems.


  6.   The acceptance of a design strategy concludes the analysis phase of a project.  Hence, this is a natural time to reassess how to conduct the rest of the project.  The statement of how to progress is done by updating the Baseline Project Plan.  In several questions for the BEC case at the end of Chapter 3, you developed components of the BPP.  Given your answers to those questions and what you now know about the MyBroadway system, answer the following questions related to the components of a BPP.

a.  List tangible and intangible benefits and costs for this project.  Be sure to quantify tangible costs and benefits.

b. What are the remaining risks of the project?  How would you suggest the project team deal with these risks?

c.  How would you continue to use the concept of incremental commitment for the rest of the project?

d. What would be the next steps in the project?  If possible, develop a PERT or Gantt chart for the remaining steps of the project.  Is such a project schedule chart possible for the design strategy recommended by the student team?

e. What contact, if any, do you think the student team should have during the design phase with BEC corporate IT staff, especially those responsible for the Entertainment Tracker system?  Under what circumstance would such contact not be necessary?  Can the team organize design activities so that it does not need to know anything about the technical architecture of Entertainment Tracker?

The intangible benefits are increased customer satisfaction, flexibility, improved management planning, savings in employee time, increased sales/rentals due to improved customer service, and a better selection of products in stores.  Some of these intangible benefits have potential to be tangible once the team can estimate quantitative improvements (e.g., how much time employees will save in answering customer questions). The tangible costs are the purchase and maintenance of hardware (roughly $2000 for the prototype unless the team can borrow a PC from St. Claire CC), labor costs to develop and maintain the system (for the prototype, these will be zero, given student labor), cost of software tools to develop the system (again, zero if a college license can be used), cost of Internet connection (not relevant for the prototype), costs to promote the system to customers (roughly $200 should cover the cost of some free rentals and a poster in the store), and labor costs for training the users of the system (again, zero with the student labor).  An intangible cost is the disruption of the stores during installation.


A remaining risk is that the functional scope requirements of including audio and video clips in MyBroadway, that the team opted not to include in the prototype, will cause Carrie or the users to be dissatisfied.  Another risk is that Carrie wants the functional capabilities to be more easily changed than is possible with Microsoft Access.  It seems that Carrie foresees many changes being made to the prototype, which could put the project behind schedule.  Carrie and the customers could ask for too many new features because of their unfamiliarity with systems such as MyBroadway.  The other risks of the project revolve around the system being accepted by BEC corporate IS staff and the rest of the company, but if not accepted, Carrie loses very little money or reputation.


Since the project team is using prototyping, it should be easy to use an incremental commitment approach.  The functionality and design alternatives will be developed in an evolutionary fashion with every revision and review of the prototype.  During the reviews of the prototype, Carrie and the project team can decide if it is feasible to continue with the project or move on to the next phase.  Prototyping can be used to capture data to better estimate costs and benefits, so Carrie has more information to justify a recommendation to BEC corporate.  Prototype evaluation can be done in phases for different system modules, so commitment to different system components can be done incrementally.


The next phase is the design phase.  The next steps in the project are to start developing a prototype in Access.  This will involve turning the entity-relationship diagram into database tables and designing the interface and report layouts.  Sample data will be needed and the interface with Entertainment Tracker must be built before some parts of the system can be used.  Once a prototype is built, it can be tested with the employees and customers in the store.  The feedback they get will then be used to modify the design until it is satisfactory or until the school year ends.


It will be difficult to create a detailed schedule chart because it is unknown at this point how many revisions and subsequent meetings will be needed with Carrie before the team arrives at a final prototype system.  The schedule would most likely change frequently with new meetings and functionality to add or subtract.  The team could establish some review points with Carrie, and a schedule for when to begin prototyping each module.


If the document about the Entertainment Tracker system that Carrie gave the project team is sufficient for them to be able to extract the data they need for MyBroadway, they will not need to contact the BEC corporate IS staff.  Otherwise, in order to get a realistic view of how the working system would interact with Entertainment Tracker, the team will need to get more detailed information from the corporate IS staff.  The team needs to know data definitions and storage formats for data attributes in Entertainment Tracker (ET) that must be transferred to MyBroadway, how utilities that export data from ET work, and how ET will accept rental extension transactional data from MyBroadway.
























Instructions on how to use Visual C++6.0

a)      Click Start, which is located on the bottom left hand corner.  And then click Programs.

b)      Select Microsoft Visual C++6.0 from Visual Studio 6.0.

c)      After the program is begin loaded, click on File, which is located on the menu bar.

d)      Select New from the File pull down menu.

e)      A selection box will pop up.  You are allowed to choose the file type you want to create.

f)        Click on the File tab.

g)      Select C++ source file from the list of options.

h)      A blank page will be shown.  You can type your program on that blank page.

i)        After finish typing the program, choose Compile from the Build pull down menu.

j)        If this is the first time you compile your program, you will be asked to answer a series of questions.  For example, “This build command requires an active project workspace.  Would you like to create a default project workspace.”

Yes or No.

Then Save as box will appear.  Type a filename you want and click yes.

k)      Then click the Compile button, which is located on the first row of the Build pull down menu.  After pressing the Compile button, a small window will be shown at the bottom of the screen.  It will give the user the number of errors or warnings found while compiling the program.  If an error is found, you won’t be able to execute your program until you fix it.  You can click on the error message, it will take you to the place where the error is.

l)        After fixing all the errors, you can execute you program.  The Execute button is located under the Build pull down menu.

Instructions on Printing


How to Print the code out?

a)      Go to the File on the menu bar

b)      Then click Print from the File pull down menu

c)      After that, you will have a copy of your code.

How to Print the output of the program out?

a)      You have to execute your program.

b)      An execution window will pop up.  You can enter the input values if you are asked to.  After the execution of the program, the output will be displayed on the same window.

c)      You can right click the blue title bar on the execution window, there will be a list of functions you can choose from.

d)      Click on Edit from that pull down menu and then select option Mark.

e)      You will be able to highlight anything you want in the execution window.

f)        After highlighting the things you want, hit the enter key.  The things you have highlighted have been copied to the pasta board.  You can paste the output results in any editor, for example, Microsoft Word, notepad…

g)      You can print your output results out from the editor.












Different Ways to Debug your Program


The first way to debug the program:


When you compile your program, Visual C++ will check for syntax error.  If it finds any syntax error in your program, you won’t be able to compile it until you fix it.  At the bottom of the screen, you will see a small window telling what your errors are and some explanations of your errors.  You can click on the messages, and then the program will lead you to where the error is found.  Then you can think about what is wrong with that statement.


The second way to debug the program:


Sometimes when you execute your program, the output may not be what you expected.  Most probably you have made some logic error when you designed you program.  The following steps will help you spot the logic error:

1.      Click Build on the menu bar.

2.      Select Start Debug from the Build pull down menu

3.      Click Step into or press F1 (short cut key)

4.      You will notice two more small windows will be at the bottom of the screen after step 3.  The one on the right hand side is called the watch window.  You can type in the variable you want to watch in that table.  Every time, when you change the value of the variable, it will show on the table.

5.      You can press F10 to run every line of the program.

6.      When you encounter a function and you want to trace that function to find out what is happening there, you need to press F11 in order to step into it.






Descriptions of the commands


Brief descriptions of the menu bar:


  1. You can start debugging under the Build menu.  There is Start Debug command under Build menu; it is a subset of commands on the full debug menu.  The debug menu appears in the menu bar while the debugger is running.  The user can then control program execution, access the quick watch, etc

  2. When the debugger is not running, the Build Menu replaces Debug menu.

  3. View menu contains commands that display various debugger windows, for example call stack windows.

  4. Edit menu allows you to access breakpoints dialog box.


Brief descriptions of the command located under the menu bar:


  1. Commands under the Build menu;

a)      Go- it starts to run the program from the current statement, it will stop until it reaches the end or the breakpoint or the statement, which requires user to enter an input.

b)     Step into – it executes your program including your functions statements by statement

  1. Commands under the Debug menu:

a)      Go-Same as the one in build menu

b)     Restart – it resets the whole program, which means it reloads the program into memory, discard all the values of the variable from the previous compiling of the program.  It stops at main () or winmain ().

c)      Stop debugging – it quits the debugging process and returns to the editing session.

d)     Break – it stops running the program at the current position.

e)      Step into – same as the one in build menu.

f)       Step over – it does the same thing as step into, but when the command reaches the function, it will not go through the function step by step, it will skip the function statements and continue with the rest of the program statements in the main function.

g)      Exception – it tells the computer how to handle your program exceptions.


  1. View menu contains certain debugger windows, which help the debugging job easier.

Here are few types of debugger windows:

    1. Watch window

-   It displays specific variables and expression, which will be displayed in spreadsheet field, specified by the user.

-   It helps user while debugging the program.  It allows the user to monitor the values stored inside the variables.  If the value of the variable has been changed, it will appear in red (only the last update will appear in red).

-   There are four tabs on the Watch window, the user can organize the variables he/she wants and add them on different tabs.

-   The Watch window will have an addition function or arrangement if the variables when the user is monitoring objects, reference, C++ pointers.

    1. Variable windows

-   It provides quick access to important variables in the program.

-   The main difference between variable windows and watch windows are that the user is not allowed to add variables or expression to spreadsheet field inside the variable window tab.  The debugger will automatically fill the spreadsheet fields for the user while the debugger is running.

-   There are three tabs on the variable windows:

a.       Auto tab – it displays variables in the current and previous and also the return values of the function.

b.      Local Tab – it displays variables that are local to the function (which means variables used by the function itself only.  They are not shared with the main program or other functions.)

c.       This tab – it displays the object pointed to by “This”

    1. Memory windows

-   It displays the content of the memory cell in a format better than those in the watch window or variable window

    1.  Call Stack Window

-   It displays the stack of function calls that are currently active.

-   It makes use of the POP and PUSH method.  It pushes the current executing function onto the top of the stack without affecting the remaining of the stack, after executing that function; it will pop that function off the stack.

    1. Registers windows

-   It displays the contents of the CPU registers, flags. Floating-point stacks.

How to make your debugging process easier?


  1. Always break your program down into functions.  Before running the whole program try all the functions you have individually and make sure they all work.  You will save lots of time while debugging the program.

  2. If you have already checked your functions, the remaining job is to make sure the whole program works.  You can use the sep over command while debugging, it will step running the functions step by step.

  3. While debugging, always use the watch window; it helps a lot when dealing with logic error, since you will be able to watch the changes of the variables step by step.




Instructions on how to run a java program


  1.  You need to pen the software (Visual J++, which will be located under Programs.

  2. After you open the software, click on New Project, which is under the File Menu.

  3. There are three major applications under the Visual J++ project

a.       Applications

b.      Components

c.       Web Page

  1. We will be using web page.  Under the web page, there are two more sub options:

I.       Applet HTML

II.     Code-behind HTML

  1. Let’s pick Applet HTML

  2. You can change the name of this project simply by typing in the name you want at the bottom of the window.

  3. After setting everything up, click ok.  You will jump to a different environment.  There will be a lot of small windows around, you have options to lose them or open some more.  On your left hand side, there is a small window called project explorer, under that title, you will see there are two documents, click the applet code.  You will be able to type your code here.

  4. After you finish typing the code, you can run the program by clicking Compile under Build.  If your program is error free, Internet Explorer will be loaded automatically to show you the results of your program.