SYSTEMS ANALYSIS AND DESIGN 8TH EDITION BY ALAN DENNIS, BARBARA WIXOM, ROBERT M ROTH SOLUTIONS MANUA

Page 1

SOLUTIONS MANUAL

SOLUTIONS MANUAL


Solution Manual for Dennis,Wixom, RothSystemsAnalysis and Design, 8th Edition Chapter 1-13

Chapter 1: The Systems Analyst and Information Systems Development Answer to Your Turn 1-1: Being an Analyst Student answers will vary, depending on their preferences regarding being a: 1) systems analyst, 2) business analyst, 3) requirements analyst, 4) infrastructure analyst, or 5) change management analyst. Verify that the student has correctly associated the skills needed with the type of analyst for which they aspire and that the student has created a plan to acquire those skills. The roles and the names used to describe them may vary from organization to organization.

Answer to Your Turn 1-2: Implementing a Satellite Data Network While answers may vary, answers might include the following: 1. A cost-benefit analysis, along with other financial processes (ROI, etc.) would certainly reveal that a just-in-time (JIT) inventory can reduce inventory costs and increase revenue. A standard communication line, encrypted or not, would not be able to handle the high bandwidth needed for data, voice and video transmissions. 2. A competitor would be able to narrow the gap by adopting the JIT type of inventory management. Voice and video are not necessary to keep the inventory up to date on a timely basis, data transmissions alone would work well.

1-1


Answer to Your Turn 1-3: Too Much Paper, Part 1 System Request Element Sponsor Business Need Business Requirements Business Value

Special Issues

Description Document Manager. Increase efficiency in storing, updating, and retrieving information on employee injury claims. Automated system which allows for electronic submission of reports via a secure web site. Reduce response time for employee inquiries, increase effectiveness of storing, updating, and retrieving employee injury claims. Reduce storage costs of paper files. Must have someone who understands how to create and maintain a secure web site. Must have resources to migrate paper files to data storage. Must work within HIPAA guidelines to ensure that medical documents are treated according to regulations.

Answer to Your Turn 1-4: Too Much Paper, Part 2 1. Issues arising from digital signatures and electronic documents typically focus on establishing validity for signatures and originators. As these issues can be overcome using certificates and encryption, they don‘t necessarily affect the project feasibility. However, they do need to be addressed. 2. Answers will vary. The project champion, organizational management, and perhaps most importantly a subset of the stakeholders must believe in and show support for the project. One solution would be to plan and provide for sufficient training that demonstrates how their jobs might be easier to accomplish with the automated system.

Answer to Concepts in Action 1-A: An Array of IT Failures Qantas provides for an ―ice-breaker‖ discussion topic for the first class. Perhaps group the students and have them discuss this company and then provide for class discussion about the importance of IT project success.

Answer to Concepts in Action 1-B: BPI on the Farm Efficiency gains are mentioned in this Concept in Action. What are the drawbacks to this scenario? Is it as easy as it seems? Issues such as Wi-Fi coverage on a farm, perhaps even cellular coverage can come into play as can weather, dust, and other issues inherent with a farming enterprise.

1-2


Answer to Concepts in Action 1-C: Interview with Don Hallacy, President, Technology Services, Sprint Corporation This is an opportune time to identify the responsibilities of the differing roles that an analyst serves.

Answer to Concepts in Action 1-D: Intangible Value at Carlson Hospitality Carlson Hospitality can use the information from the survey to determine whether the one-point increase in market share revenue ($20 million per point) will offset costs associated with increasing the level of services to high-quality customers which would result in a 10% increase in customer satisfaction.

Answer to Concepts in Action 1-E: Return on Investment 1. One method for determining a return on investment is to complete a Cost-Benefit Analysis using the Present Value Method. Many of the costs for server virtualization are associated with the initial construction: physical manipulation of the servers and software licensing. The ongoing costs of labor in updating and accessing tables would be relatively small. Using this type of analysis would allow the project sponsors to show how the benefits of the virtualization would be realized on a long term basis. 2. Implementing a major change to a system should certainly include a systems analyst. Systems analysts typically have a broad view of the system, and would be able to ascertain how virtualizing the servers will affect the whole system.

Answers to End of Chapter Questions 1. List and describe the six general skills all project team members should have. [1] Technical skills (knowledge of how to employ technology in development system solutions). [2] Business skills (knowledge of how to apply IT to business problems to achieve a valuable solution). [3] Analytical skills (ability to solve complex problems). [4] Interpersonal skills (oral and written communication skills with both technical and non-technical audiences). [5] Management skills (ability to manage others and cope with an uncertain environment). [6] Ethical skills (ability to deal with others honestly and ethically). 2. What are the major roles on a project team?

1-3


Business analyst – emphasis on the business issues addressed by the system: value of new system; identification of problems and opportunities; revision of business processes and policies. Systems analyst – emphasis on IS issues of the system: how IT can be used to support business processes; design of new business process and IS; and enforcement of IS standards. Infrastructure analyst – technical issues associated with integrating new system components to existing technical infrastructure. Requirements analyst – eliciting the requirements of the new system from all stakeholders. They understand the business well, are excellent communicators, and are highly skilled in obtaining system requirements. Change management analyst – emphasis on facilitating organizational adaptation to new system. Helping to identify and overcome resistance to change and assuring adequate training and documentation of new system. Project manager – ensuring that progress is made on the project; time schedules and budgets are met; supervision of project team; and manage relations with project sponsor and users. 3. Compare and contrast the role of a systems analyst, business analyst, and infrastructure analyst. These three roles emphasize different perspectives on the system. The business analyst represents the sponsor/users interests, while the systems analyst knows how to apply IS to support business needs. Together, the systems analyst and the business analyst can design a system that conforms to the IS standards while adding value to the business. The infrastructure analyst has more technical knowledge and provides the team with technical constraints, or identifies infrastructure changes that the new system will require. 4. Compare and contrast the role of requirements analyst, change management analyst, and project manager. These three roles also emphasize different perspectives on the system. The requirements analyst focuses on eliciting the requirements from the system stakeholders. The change management analyst focuses on people and managing issues surrounding the installation of the system. The project manager ensures that the project is completed on time and within budget and that the system delivers the expected value to the organization. 5. Describe the major phases in the systems development life cycle (SDLC). The planning phase focuses on determining if there is justification to build an information system and developing a plan to accomplish the development project. The analysis phase is focused on understanding the existing situation and determining the needs and requirements expected from the new system. The design phase refines the system requirements (from analysis) and develops specifications for how the new

1-4


system will fulfill those requirements. The implementation phase involves constructing (or installing) the new system, testing, converting, training, and providing support for the new system. 6. Describe the principal steps in the planning phase. What are some major deliverables? Step 1 – Project Initiation: the project sponsor works with the IS department to develop a preliminary assessment of the project‘s feasibility. It is important to make an initial evaluation of the project‘s value (is it worth doing; is it technically possible for us; will it be used?). The system request and the results of the feasibility analysis are usually presented to management for approval. If the project is accepted, we move to: Step 2 – Project Management: the project work plan is created, project staffing is determined, and project management controls and procedures are established. These elements comprise the project plan. The deliverables in the planning phase include the feasibility analysis and the project plan.

7. Describe the principal steps in the analysis phase. What are some major deliverables? Step 1 – Analysis Strategy: based on the nature of the project, the project team will formulate the approach that will be used to develop the requirements for the new system. The strategy usually includes the following steps: Step 2 – Analyze the current system: gather information from the project sponsor and users of the current system regarding its strengths and weaknesses. Use the problems identified to formulate objectives for the new system. Step 3 – Create new system concept: based on the gathered information, develop a general concept of the new system, including functions and capabilities it will have. Step 4 – Modeling activities: express ideas for the new system‘s processing and data requirements with process models and data models. Step 5: Prepare and present system proposal: assemble the analysis results, system concept, process model and data model into a proposal for the new system. Project sponsor and/or approval committee will determine if system has enough merit to continue development.

1-5


The primary deliverable for the analysis phase is the system proposal, which combines the information generated during this phase into a document that expresses the initial conceptual design for the new system and the basis for the design decisions. 8. Describe the principal steps in the design phase. What are some major deliverables? Step 1 – Design Strategy: based on the nature of the project, the project team will determine the appropriate means of developing the system (in-house custom development, purchase of pre-written software, or outsourcing development to a 3rd party. Following this, the steps below outline the various design tasks that must be performed: Step 2 – Design the system architecture: describe the basic hardware, software, and networking that will be used in the new system. Step 3 – Design the user interface: the overall structure of the system, the user‘s navigation through the system; the inputs and outputs of the system, and the appearance of the screens are designed. Step 4 – Design the database and/or files: develop specifications for the data storage structures that will be implemented for the new system. Step 5: Design the programs: develop plans and outlines for each program that will be written to implement the functions and capabilities of the new system. The primary deliverable for the design phase is the system specification, which combines all the design specifications mentioned above. The system specification is the basis for the construction work that will be performed by the programmers. 9. Describe the principal steps in the implementation phase. What are the major deliverables? Step 1 – Build the system: programs are written and tested, and various infrastructure components are installed. Testing is conducted to verify system performance. Step 2 – Train the users: develop and conduct training programs so that end users are thoroughly familiar with the new system‘s functions and work procedures. Step 3 – Convert to the new system: transition from the old system and procedures to the new system and procedures. Step 4 – Support the new system: evaluate the development process for lessons learned from this project, and establish methods for identifying and implementing change to the new system as needed.

1-6


The primary deliverables for the Implementation phase includes the completed and documented programs, users manuals and procedures manuals, training materials, and plans for system support. 10. Which phase in the SDLC is most important? While each phase is important to the overall systems analysis, special attention must be given to the planning and analysis phase. The planning phase is intended to determine the feasibility of a project and to create a project plan. If the feasibility analysis is poorly done or misunderstood or the project is ill-planned, then the chance of success is extremely low. Similarly, if the analysis phase is shortened or omitted altogether, then the requirements of the system will not be fully defined and may result in either a system that does not address business needs or one that does not get completed due to continuous rework. 11. What does gradual refinement mean in the context of SDLC? Generally, the clarity of understanding and the depth of detail of the new system are gradually refined during the phases of the SDLC. Initially, the requirements are only vaguely understood. This understanding is improved during the Analysis phase. Further detail is developed during Design, and then is fully expressed during Implementation.

1-7


12. Describe the four steps of business process management (BPM). Why do companies adopt BPM as a management strategy? BPM is a methodology used by organizations to continuously improve end-to-end business processes. It follows a cycle of systematically creating, assessing, and altering said processes. The four steps of BPM are: Step 1: defining and mapping the steps in a business process, Step 2: creating ways to improve on steps in the process that add value, Step 3: finding ways to eliminate or consolidate steps in the process that don‘t add value, and Step 4: creating or adjusting electronic workflows to match the improved process maps. By studying and improving their underlying business processes, organizations can achieve several important benefits, including: enhanced process agility, improved process alignment, and increased process efficiencies. 13. Compare and contrast BPA, BPI, and BPR. Which is most risky? Which has the greatest potential value? The three techniques applied within BPM for business processes are that of Automation (BPA), Improvement (BPI), and Reengineering (BPR). It is entirely possible that all three of these techniques could be used on the same project depending on the scope and impact the planned change will have on the steps of BPM. As a rule, when technology is applied to a process to enhance agility and provide more ability for change the project would be a BPA. When a process incorporates industry ―best practices‖ or perhaps finds ways to eliminate or consolidate steps in the process it would be termed BPI. The BPR technique changes the fundamental way in which the organization operates. In effect, BPR makes major changes to take advantage of new ideas and new technology. BPR is considered to contain the most amount of risk of the three techniques due to the significant organizational and operational changes that result. The answers can certainly vary with regard to greatest potential. In many cases it will be a ―hybrid‖ blend of all three that could hold the most potential for the organization.

1-8


14. Give three examples of business needs for a system.   

To maintain or improve the competitive position. To perform a business function more efficiently. To take advantage of a new business opportunity.

15. Describe the roles of the project sponsor and the approval committee. The project sponsor is the individual or department responsible for initiating a systems request. Typically during the Planning phase the project sponsor works with the IT department to conduct a feasibility analysis. The approval committee (or steering committee) then evaluates the systems request along with the results of the feasibility study to determine whether or not to approve the request. 16. What is the purpose of an approval committee? Who is usually on this committee? The approval committee generally serves as the decision making body regarding investments in information systems projects. This committee generally has a broad organizational representation and therefore can avoid allocating resources that will serve only narrow organizational interests. The approval committee commonly has project oversight responsibilities as well; monitoring project performance after the project has been accepted. The composition of the approval committee will vary from organization to organization, but generally consists of high-level managers from throughout the organization. The committee is often chaired by the CIO. 17. Why should the system request be created by a businessperson as opposed to an IS professional? Usually, the system request originates with a businessperson because the need for the system or system improvement is recognized in the business unit. It is unlikely the IS professionals in the organization will be able to recognize all the business needs and opportunities for systems and improvements in the business units since they are not involved directly in those areas. Also, the businessperson will have a much better idea of the value of the proposed system or improvement, and therefore is in a better position to create a meaningful system request. 18. What is the difference between intangible value and tangible value? Give three examples of each. Tangible value represents the system benefits that are quantifiable and measurable. Intangible value represents benefits that are real, but are difficult to quantify and measure. Examples of tangible benefits might be increased sales, reduced operating costs, and reduced interest costs. Examples of intangible value might include increased customer satisfaction, improved decision making, improved problem recognition.

1-9


19. What are the purposes of the system request and the feasibility analysis? How are they used in the project selection process? The purpose of the system request is to initiate a systems project. The system request pulls together preliminary ideas on the reason for the system and its expected value to the organization. The feasibility analysis represents a more detailed investigation into the proposed system outlined in the system request. The system analyst and the project sponsor work together to more fully develop the objectives of the system and to understand its potential costs and benefits to the organization. The system request and the feasibility analysis are the key inputs used by the approval committee in determining if the proposed system has enough merit to move into the analysis phase. 20. Describe two special issues that may be important to list on a system request. Any special circumstances that could affect the outcome of the project must be clearly identified. Examples of special issues that may be important to include are: environmental factors that should be considered (e.g., new governmental reporting requirements); competitive factors (e.g., IS-enabled systems introduced or anticipated by competitors); externally imposed deadlines that cannot be altered (e.g., completion by the start of the next fiscal year); mandated technologies. 21. Describe the three dimensions of feasibility analysis. Technical feasibility looks at the capability of the organization to successfully develop the proposed system. Included in this assessment are the project size, the types of technologies to be used in the project, and the amount of prior experience with that technology and the business application. Economic feasibility addresses the economic justification of the project. Here, we attempt to determine if the value of the project‘s benefits justifies investing in the project‘s estimated costs. Organizational feasibility evaluates whether the system is likely to be accepted and used by the organization. Included in this assessment will be the strength of the sponsor‘s and management‘s support for the project and the enthusiasm or resistance of the users for the project. 22. What factors are used to determine project size? Some factors that can be used to determine project size include: the number of people on the project team, the expected time to complete the project, the breadth/scope of the project, the number of distinct features to be included in the system, the degree of integration required between the system and existing systems.

1-10


23. Describe a “risky” project in terms of technical feasibility. Describe a project that would NOT be considered “risky.” A project that would be technically risky would be one that is large in scale, utilizes technology that we have little or no experience with, and is for a business area that is new and unfamiliar to the organization. A project that would not be considered technically risky would be one that is small in scale, uses technology that is wellunderstood, and is for a business area that is very familiar to the users and developers. 24. What are the steps for assessing economic feasibility? Describe each step. To assess economic feasibility, one should: 1. Identify costs and benefits of the proposed system. List tangible costs and benefits, including one-time and recurring costs. 2. Assign values to the costs and benefits. Work with business users and IT professionals to quantify each of the costs and benefits. Try to estimate intangible costs and benefits as well. 3. Determine the cash flow of the project over the analysis period. Project the costs and benefit annually over the analysis period, usually 3-5 years. 4. Determine the project‘s net present value. Calculate the present value of each year's costs and benefits, using the appropriate required rate of return for the project. Subtract the cumulative PV of costs from the cumulative PV of benefits to determine the project's net present value. If it is a positive number, the project is considered acceptable. 5. Determine the project‘s return on investment. Use the ROI formula to calculate the return the organization will get on its investment in the project. ROI = (Total benefits - Total costs) / Total costs. 6. Calculate break-even point. Determine the point in time when the project has generated enough cash flow to recapture its cost. 7. Graph break-even point. Plot the yearly costs and benefits on a line graph. The point of intersection is the break-even point. 25. List two intangible benefits. Describe how these benefits can be quantified. One example of an intangible benefit is reduced response time to address customer requests. Estimating the increase in the number of customers that could be served and the average revenue gained per customer could approximate the value of this benefit. So, if we currently have 1000 customers, the average revenue per customer is $100, and by reducing our response time we can increase the number of customers served by 30%, then our benefit will be $30,000 (300 add‘l customers @ $100). A second example of an intangible benefit is improved customer satisfaction. Determining how much repeat business we lose from dissatisfied customers could approximate the value of this benefit. The amount of repeat business lost could be determined through customer satisfaction surveys or marketing research. Assume we currently have 1000 customers, each customer brings in average revenue of $100, and

1-11


we currently lose the repeat business of 10% of our customers due to dissatisfaction. If an improvement in customer satisfaction resulted in losing only 5% of repeat business, then the value of that benefit would be $5,000 (50 customers retained @$100). 26. List two tangible benefits and two operational costs for a system. How would you determine the values that should be assigned to each item? Two tangible benefits are: an increase in sales and a decrease in uncollectible accounts receivable. The best way to measure these benefits is to go to the business people who understand these areas and ask them for reasonable estimates. The sales and marketing managers and the accounts receivable managers will be in the best position to determine these values. Operational costs are the ongoing costs associated with the new system, and are fairly easy to determine objectively. One common operational cost is that of maintenance agreements for new hardware, which can be determined by contacting hardware vendors about the costs of their maintenance contracts. Another common operations cost is that of new employees that will be needed to run the new system. Salaries and benefits for new employees can be determined by checking local and regional salary and wage surveys for the type of employee needed. 27. Explain how an expected value can be calculated for a cost or benefit. When would this be done? An expected value consists of a combining set of possible outcomes along with the associated probability of each outcome. For example, the Production department may estimate possible increases in costs for parts based on economic indicators. They estimate that there is a 40% chance the costs will increase to $300,000, a 25% chance the costs will increase to $400,000 and a 35% chance the costs will increase to $350,000. Overall the expected value of the rise in costs would be estimated to be $342,500 = ($300,000 * .40) + ($400,000 * .25) + ($350,000 * .35). Estimating the expected value of a cost or benefit would be done when assigning costs and benefits when determining economic feasibility.

1-12


28. Explain the net present value and return on investment for a cost-benefit analysis. Why would these calculations be used? The net present value (NPV) method compares the present values of the project‘s cash inflows and outflows. If the present value of the benefits (inflows) is equal to or greater than the present value of the costs (outflows), then the project is considered economically justifiable. NPV has the advantage of including a required rate of return in the calculation, so the NPV figure captures the costs associated with tying up money in the project. NPV also explicitly considers the timing of the cash flows throughout the system life. The return on investment (ROI) method simply compares the total net cash flows from the project with the total outflows in aggregate. While this ROI number gives some sense of how much money the project generates in comparison to its total cost, it omits any consideration of the timing of the cash flows and the time value of money. The ROI method, while simple to compute, is flawed in many ways and should not be used as the only economic indicator of a project‘s merit. 29. What is the break-even point for the project? How is it calculated? The break-even point is the point in time when the project has generated enough cash flow to recapture its cost. The year in which the project breaks even is the first year in which the cumulative NPV is a positive number. The exact point during that year at which break even occurs is calculated by: (Yearly NPV (for first positive year) Cumulative NPV at that year) / Yearly NPV (for the first positive year) 30. What is stakeholder analysis? Discuss three stakeholders that would be relevant for most projects. Stakeholder analysis is a systematic process that identifies all parties that will be affected by a new information system, and attempts to estimate the consequences of the project for each stakeholder group. A major goal of stakeholder analysis is to ensure that the consequences of a new system are considered for all parties that will be affected by the system. The most common stakeholders to consider for most systems projects are the system champion, the system users, and the organization‘s management. The system champion is the person or group who initiates the project and provides support for it. The users are the individuals who will work with the system once it is implemented. The organization management commits resources to the project and has an interest in seeing those resources be used to improve the functioning of the organization.

1-13


Solutions to End of Chapter Exercises A. Go to www.bls.gov and perform a search for “systems analyst.” What is the employment outlook for this career? Compare and contrast the skills listed with the skills that were presented in this chapter. Student answers will vary. The search returned more than 8,500 responses from the bls website. This is an eye opening exercise for all students to complete. These skills are consistent with those presented in this chapter. B. Think about your ideal analyst position. Write a job posting to hire someone for that position. What requirements would the job have? What skills and experience would be required? How would the applicants demonstrate that they have the appropriate skills and experience? Student answers will vary, depending on their preferences regarding being a systems analyst, business analyst, infrastructure analyst, or change management analyst. Try to verify that the student has correctly associated the skills needed with the type of analyst position for which they aspire. Demonstration of skills and experience should come from prior actual positions held, responsibilities and accomplishments in those positions, and references. C. Locate a news article in an IT trade web site (e.g., Computerworld.com, InformationWeek.com) about an organization that is implementing a new computer system. Describe the tangible and intangible value that the organization seeks from the new system. Students' answers will vary. Verify that the tangible examples are easy to quantify and measure. Verify that the intangible value examples represent those benefits that are more difficult to quantify (e.g., customer goodwill or repeat business).

1-14


D. Car dealers have realized how profitable it can be to sell automobiles by using the Web. Pretend that you work for a local car dealership that is part of a large chain such as CarMax. Create a system request you might use to develop a Web-based sales system. Remember to list special issues that are relevant to the project. System Request Sponsor Business Need Business Requirements

Business Value

Special Issues

Sales Manager. Increase sales, increase market share, broaden geographic reach to potential customers. Web-based access to vehicle inventory including pictures. Search capabilities. Ability to process requests for more information about a vehicle. Increase sales by 4%; increase market share by 1.5%; broaden reach to customers within 250 mile radius of dealership. Must have someone who will keep Web-site content up to date constantly. Who will handle customer inquiries? How will this person be compensated? Will the compensation of our current sales force be affected? How will the sales force feel about this new system? Will having our own Web-based sales system affect our participation in the CarMax chain?

E. Think about your own university or college and choose an idea that could improve student satisfaction with the course enrollment process. Currently, can students enroll for classes from anywhere? How long does it take? Are directions simple to follow? In online help available? Next, think about how technology can help support your idea. Would you need completely new technology? Can the current system be changed? Student answers will vary. F. For exercise E, create a system request that you could give to the administration that explains the sponsor, business need, business requirements, and potential value of the project. Include any constraints or issues that should be considered. On most campuses this is a ―hot topic‖ which would make this an excellent exercise to complete on the classroom whiteboard as a way of introducing the system request form and how to complete it.

1-15


G. Think about the idea that you developed in Exercise E to improve your university or college course enrollment process. List three things that influence the technical feasibility of the system, the economic feasibility of the system, and the organizational feasibility of the system. How can you learn more about the issues that affect the three kinds of feasibility? Technical Feasibility Economic Feasibility

Organizational Feasibility

Student responses will vary The cost associated with such a system will be a large unknown for the students. They might not realize that the existing system is probably a part of a much larger and very expensive enterprise system. Understanding the organizational makeup is paramount. Is the current system free standing within the college or university, or is it a part of a system-wide (multi-campus operation?)

H. Amazon.com was successful when it decided to extend its offerings beyond books to many other products. Amazon.com was unable to compete successfully with eBay.com‟s auction site, however, and eventually abandoned its own auction site. What feasibility factors probably had the most significance in this failure? Explain. Most certainly it was economic. The company lost vast sums of money annually. Technically it was not a challenge to compete, Organizationally, Amazon did not want to lose, but finally Economically it had to be abandoned. I. Interview someone who works in a large organization and ask him or her to describe the approval process that exists for approving new development projects. What do they think about the process? What are the problems? What are the benefits? Students' answers will vary. J. Reread the “Your Turn 1-2” box (Implementing a Satellite Data Network). Create a list of the stakeholders that should be considered in a stakeholder analysis of this project. A list of stakeholders would include the project sponsor (also known as project champion), managers in the organization (particularly inventory), and users at the regional and national headquarters.

1-16


Answers to Textbook Minicases 1. The purpose of this minicase is to encourage students to recognize the value of the structure of the four phases of the SDLC to smaller projects, even end-user computing projects such as this. This minicase provides an opportunity for the class to be divided into small groups, each responsible for one of the main sections of the minicase, and then have the small groups present and discuss their answers. A. Planning: i. What is the purpose of the Planning Phase for a project such as this? In a smaller, end-user computing situation, the Planning phase ensures that the project scope is understood prior to ―diving in‖ to the project work. A system request may not be formally prepared, but the business purpose of the project and the value to the business should be articulated. Feasibility should be considered for any project. Technical feasibility evaluation should encourage the developer to identify places where he/she might need assistance from the IS professionals. Economic issues and organizational feasibility concerns should help determine if the project has enough value to justify the time and costs, and organizational feasibility assessment should help alert the developer to organizational acceptance issues. While a formal project plan may not be required, it is important to organize the project and lay out the timetable for work on the project. If additional help will be needed, the individuals who can provide that help must be lined up at the appropriate time.

ii.

What are the typical outcomes of the Planning Phase? Typically, the Planning phase produces a System Request, preliminary Feasibility Assessment, and Project Plan, including workplan and staffing plan. The main point of the planning phase is to more thoroughly understand the project, verify that it has value and is worth doing, and be prepared to tackle the project.

iii.

How did not doing this step affect Megan‟s project outcome? Megan did not adequately appreciate the scale of the project she was taking on. Her approach, ―…set up the basics for the system and then tweak it around until I got what I wanted…‖ demonstrates that a haphazard attitude toward such a project results in a poor outcome. She also did not adequately understand the interests and reactions of her assistant and the members of her sales staff.

B. Analysis: i. What is the purpose of the Analysis Phase? The purpose of the Analysis Phase is to develop a thorough understand of the functional requirements of the new system. In other words, we should clearly know what things the new system needs to provide to its users.

ii.

What is the key outcome produced during the Analysis Phase? The Analysis Phase produces the System Proposal, which is documents the functional requirements of the system in clear, unambiguous terms.

iii.

In what ways do you think this project was hurt by not going through a typical Analysis Phase? Megan had a list of things she thought would be useful in the new system, but she did not take the time and effort to understand the details of the features she had identified. She also did not apparently talk to any of the ultimate users of the system: her assistant and the members of her sales staff. If she had taken the time to involve these individuals, she could have gotten a much better grasp of the features and functions that they really need, and they would have had the benefit of contributing their ideas to the system‘s requirements.

1-17


C. Design: i. What is the purpose of the Design Phase? The Design Phase allows the developer a chance to consider options for implementing the system. The make versus buy decision is considered along with a detailed assessment of the alternatives. If any custom development is undertaken, the work that will be done is carefully laid out using various design tools.

ii.

How do you think this project could have been improved by going through a typical Design Phase? Megan was given some advice on the development environment to use (WordPress). This may or may not have been good advice. If a more careful Design process had been followed, Megan could have done an assessment of all her options. For example, there may be a software product that she could have purchased that would have been suitable for her purposes that would have been far easier for her, rather than the setup involved with a WordPress site. If she chose to move ahead with the WordPress platform, she could have been better prepared if she had worked on the design of each of the site features prior to implementation in Word Press.

iii.

Do you think Megan‟s assistant and sales force members could have helped at all during the design phase? If so, how? At the very least, Megan could have met with her assistant and sales force members and discussed the design for the main system features. Their ideas and reactions probably would have led to a much better outcome for the project.

D. Implementation: i. What type of work is done in the Implementation Phase for a project like this? Implementation involves the construction of the system, testing of the system, training of the users, developing documentation, putting the system into production, and maintaining the system.

ii.

What is usually done during the Implementation Phase to ensure that the users of the system are satisfied with it? Training and final testing are activities that enable the users to be able to use the system and to be satisfied that the system performs as it should.

iii.

Megan‟s approach to “construction” was to throw something together and “tweak it around.” How do you think that approach contributed to the problems she is now experiencing with her project? As the answers to the previous sections make clear, Megan‘s haphazard approach to the project was a significant factor in the poor outcome of this project. Even projects that seem simple and small in scope benefit from an orderly, well-thought-out approach. Many end-user computing projects like this end up wasting a lot of time and resources. Knowing and following an orderly development project that is based on the SDLC should greatly enhance the chances of a successful project that provides value to the business and provides useful features for the users.

2. Student answers may vary; A sample answer is provided below:  What is your specific objective for this Internet system? (There is a big difference between a web site that advertises and promotes products versus one that enables order entry).  What specific things do you want customers to be able to do via the web site? (Review products; see store locations; search for products; place orders; process credit card payments; track order status; track shipment).

1-18


 How were the revenue estimates you gave developed? How accurate do you feel your estimates are?  What budget are you considering for this project?  What outside help will we be able to utilize in this project?  Do you foresee an adverse response by the store owners, perhaps a feeling that this will take sales away from them?  Are there any other adverse consequences we should anticipate from this system? 3. Students‟ spreadsheets may differ; the following sample suggests an appropriate format: Decker Company Revenue Estimates

New Response Time 2 hours 3 hours 4 hours

Service Calls per Increase Average Truck per in Service Revenue 'Week Calls per Call 20 18 16

8 6 4

Revenue Increase Annual per Truck Revenue per Week Increase

150 150 150

1200 900 600

600,000 450,000 300,000

Total Expected Value:

Expected Likelihood Annual Estimate Revenue 20% 30% 50%

120,000 135,000 150,000 405,000

4. As the numbers indicate, this would not be an economically feasible project for a number of reasons. It would take more than the projected 4- year life span to breakeven on the initial investment, the return on investment is a very low number (-1), and the net present value is currently projected as a number less than zero.

1-19


Client Server System Year 1

Year 2

Year 3

Year 4

Total

39,930 15,000 54,930 38,914

199,230 160,212

Benefits Increased Sales Reduced Inventory Total Benefits Present Value Total Benefits Development Costs Systems Analysts Programmer Analysts GUI Designer Telecommunications Specialist System Architect Database Specialist System Librarian Development Training Hardware Software Total Development Costs Operational Costs Labor: Programmer Analysts Labor: System Librarian Hardware Maintenance Software Maintenance Preprinted Forms Total Operational Costs Total Costs Total Benefits - Total Costs Cumulative Cash Flow Present Value Total Costs NPV (PV Total Benefits - PV Total Costs ROI Breakeven Point = not realized within this schedule

30,000 15,000 45,000 41,284

33,000 15,000 48,000 40,401

36,300 15,000 51,300 39,613

40,000 35,000 8,000 2,500 5,000 675 3,750 14,000 18,700 15,650 143,275 8,750 300 995 525 3,300 143,275 (143,275) (143,275) 143,275

13,870 13,870 31,130 (112,145) 12,725

9,100 312 995 525 3,300 14,232 14,232 33,768 (78,377) 11,979

9,643 325 995 525 3,300 14,788 14,788 36,512 (41,865) 11,419

9,843 337 995 525 3,300 15,000 15,000 39,930 (1,935) 10,626

57,890 201,165 (1,935) 190,024 (29,812)

-1%

(-1,935/201,165)

1-20


Supplemental Minicase 1. Refer to Minicase 2 in Chapter 1 of the textbook. Harry has met with Bill and determined that Bill would like a system that allows customers to browse through products on-line, find store locations nearest them, and also place orders for products with credit card payments. Based on this scope, Harry is preparing an assessment of the feasibility of this system to present to the Board of Directors. He is working on the technical feasibility issues currently. Prepare a summary of the technical risks that appear to be associated with this proposed system. Answer:  This business application is new to the organization. No one has experience or understands Internet-based commerce. Many businesses are doing this, so we are not breaking new ground; we just don‟t have any in-house expertise in this type of business venture.  We do not have any in-house experience with the technologies associated with Internetbased commerce. No one on staff has done anything like this before. Given the short time frame, it will be difficult for the existing staff to get up to speed on the needed technology and determine how to use it effectively for this project.  We have a very small IS staff who are currently kept busy maintaining our existing systems. Given this small staff, this is a sizeable project for us to undertake. This project represents a very high technical risk for this IS department. Point out that this is an ideal situation to outsource or hire consultants to do. Technically, our current staff is probably incapable of developing this system in a timely manner. 2. Jay Martin, the director of Marketing at Pier Systems, Inc., requested a new system be developed to assist his sales staff in more effectively managing their customer contacts. As a side benefit of this system, Jay will receive detailed information about each salesperson‘s daily productivity, including number of customer contacts, time spent per contact, orders placed per contact, and revenues generated per contact. This detailed information about sales staff productivity has not been previously available to Jay. Jay has been a strong and vocal advocate of this new system, although he has heard some grumbling in the sales staff ranks about it. The sales staff has enjoyed considerable autonomy in the way they conduct their work day, and this system will provide a much clearer picture of how each salesperson spends his/her time. Other top managers have expressed interest in the system, although much managerial attention has been focused recently on the implementation of a major new computer-based manufacturing and production system, which has been far behind schedule and plagued with problems. Based on his discussions with his IS contact, Jay feels certain this system is technically and economically viable. How would you assess the Organizational Feasibility of this system? Answer: The project has an enthusiastic and committed project champion. Organizational management is supportive, but their attention is on another project that has not gone well. It does not seem likely that organizational management will provide more that modest support and enthusiasm for this project, as their energy is diverted toward the other implementation under way. The end user support is very questionable. The material provided does not really reveal the benefits that the sales staff will gain directly. The end users will have to be handled very carefully to gain their support and diminish their fears about this new system. All in all, the organizational feasibility risk of this system seems quite high at this time.

1-21


1-22


Experiential Exercises 1. Purpose: To help students gain an appreciation of the terms phase, step, technique, and deliverable, and how those terms relate to understanding a process of significant length and complexity. Divide class into groups of 3. Each group will address the same task. The task is to discuss the experience of being a student at your institution, from pre-admission to graduation, in terms of phases, steps, techniques, and deliverables. Precede the group work with a general discussion of these terms. Although answers will vary, phases may include pre-admission to the institution, enrollment as student, pre-professional study, admission to professional program, professional study, and graduation. Steps may be courses of study to follow, course sequences and prerequisites, general education requirements, professional program requirements, etc. Techniques may include such things as study habits, research methods, speed reading classes, study groups, etc. Deliverables will be course requirements (papers, projects, exams), course grades, transcripts, certificates, and diplomas. After each group has developed its ideas, class discussion should focus on comparing results and clarifying the meaning of each term through the examples presented. 2. Purpose: To help students understand and appreciate the role of the project sponsor in an IS development project. Assign students to identify a person in an organization who has initiated and sponsored the development of an information system application. This person will generally be a business-oriented manager rather than an IS staff member. Either singly or with a partner, the students should arrange an interview with this person to discuss their experiences as a project sponsor. [As an alternative, the instructor may arrange for a person who has served as a project sponsor to visit a class session and be interviewed by the entire class about his/her experiences in the project sponsor role.] It may be helpful to ‗force‘ students to develop a list of interview topics before undertaking the interview. Have the students prepare an interview agenda for your approval prior to the interview. Questions should be targeted toward understanding the project, the circumstances that motivated the project, and the involvement the sponsor had throughout the development process. Students should prepare a written summary of their interview, and/or make a class presentation of their interview results. If class presentations are made, class discussion should focus on identifying common themes or similarities between the interviewees, and also identifying significant areas of difference.

1-23


3. Purpose: to help students understand the difference between tangible and intangible values. The following 2 exercises come from CIO Magazine. The purpose is to show that everything can be measured - even intangibles. Exercise 1: Is it logical to say that more X (an intangible) is better than less, but it is in no way different or observable? Then in what way is X "better?" If you believe X is a good thing, then you must also believe that it is somehow different from not having X. And if it is different in a way that is relevant, then it must be observable. So ask what the observable consequence is. Once you have identified an observable consequence, thinking of a way to measure it is pretty easy. Exercise 2: Create a thought experiment in which you imagine you have cloned an entire organization into twin organizations, A and B. The two are identical in every way except for one thing: Organization A has more of intangible X than organization B. Now, imagine that you are an objective observer standing outside these organizations looking in. What do you imagine you observe to be different between A and B? If X is such a desirable thing, then there has to be some difference. What is it? Are certain things getting done cheaper or faster? Are the customers of A likely to come back for more business than the customers of B? Is employee turnover lower? Are mistakes of some type less frequent? Just think it through-and be specific.

4. Purpose: to help students understand the different roles played on a systems development project team. Have students undertake a Web search for job descriptions similar to Business Analyst, Systems Analyst, Project Manager, Technical Specialist (equivalent to Infrastructure Analyst). Have students develop a summary list of job responsibilities, qualifications, and experience required for each job category. Class discussion focuses on developing a ―master list‖ for each job category, and comparing and contrasting the positions.

Chapter 2: Project Selection and Management Answer to Your Turn 2-1: To Select or Not to Select Student answers will vary based on knowledge and experience. The response will more than likely describe a project that, though it would seem to be a perfect choice, did not fit into the organizational portfolio of projects. This is an appropriate time to discuss the topic of budgets which organizations must live within.

1-24


Answer to Your Turn 2-2: Selecting a Methodology Throwaway prototyping would be a good choice for this scenario for a number of reasons. First, this is a brand new idea, so there may be some ambiguity or confusion as to the functionality of the system. Second, there are technical issues associated with integrating existing hardware and software due to the diversity at different locations around the world. Third, the time frame to delivery is one year. The time frame would allow for an in-depth analysis to gather information and develop ideas for the system before the design phase. Once the initial requirements were documented, a series of design prototypes can be created, distributed and tested to determine whether issues dealing with functionality or technical problems have been addressed. Once the issues have been resolved, the project can move into design and implementation. Direct students to FIGURE 2-9 as it allows students to compare and contrast the methodologies with the selection criteria discussed in the chapter.

Answer to Your Turn 2-3: Communication Complexity 1. For a six member team, there are 15 communication channels.

For an eight member team, there are 28 channels. A good formula for figuring out how many channels there are is: [N * (N-1)] / 2, where N is the number of team members. 2. Answers will vary, but the larger the team the larger number of communication channels and the more complex communications will be.

Answer to Your Turn 2-4: Computer-Aided Software Engineering Tool Analysis Student responses will vary based on the CASE tool selected. As a rule, CASE tools used during the analysis phase for creating integrated diagrams of the system and to store information regarding system components are referred to as upper CASE, whereas

1-25


CASE tools used during the design phase to create diagrams and associated code for system functionality and databases are referred to as lower CASE.

Answer to Concepts in Action 2-A: Project Portfolio Management Just a note that it is an excellent idea to discuss the sheer size of the number of proposals and funded projects that a large organization fields on an annual basis. This stresses the importance of quality work with the System Request Form and that analysts must be adequately prepared in such a competitive area.

Answer to Concepts in Action 2-B, 2-C: Interview with CIO Having your university or college CIO be a guest in class to answer questions from the students would be a great idea. Putting a name and a face on this very important position is an excellent thing to do.

Answer to Concepts in Action 2-D: Agile Development at Travelers 1. The projects certainly could be done with JAD sessions or with having the users review the project on a weekly basis. However, the success of an agile development depends upon the cohesiveness of the team, typically accomplished by having users meet and devote all their time to the project so that they are able to communicate ideas, comments, suggestions, and providing feedback immediately. 2. In order to work on an agile development project, an analyst needs to be highly motivated, dedicated to the project, able to communicate effectively, and work well in a high-paced team environment.

1-26


Answer to Concepts in Action 2-E: Where Agile Works and Does Not Work Chances are the agile methodology discussion is growing rapidly on your university or college. You may already have curriculum dedicated to Agile. Changing corporate culture of system development is difficult. This would be an opportune time to discuss how these changes will affect the development teams.

Answer to Concepts in Action 2-F: Trade-Offs 1. In considering the trade-offs among the factors of functionality, time and money, it‘s important to realize that a change in one of these factors affects the other two. Increasing functionality will most certainly increase the time and money needed to complete the project. Decreasing time or money will most certainly affect either the level or quality of the functionality in the finished project. 2. The project was considered successful from a ‗product‘ standpoint, in that it met the business needs for which it was meant. However, once the time frame had been established, the project manager might have gone back to the clients and reworked the requirements, or the scope of the project. This would have provided the development team with realistic goals and perhaps would have produced a product that could have been used more than once.

Answer to Concepts in Action 2- G: Poor Naming Standards Student answers will vary depending upon their programming experience, syntax language, and code comments. This is a great time to reinforce the concept of standards.

1-27


Solutions to End of Chapter Questions 1. Describe how projects are selected in organizations. An organization will base the selection of a project on an evaluation not only of the project‘s costs and expected benefits, but also the technical and organizational risks that have been identified for the project. Both the systems request and feasibility analysis can provide that type of information. 2. Describe how project portfolio management is used by IT departments. Portfolio management is the process of determining the mix of project types that will maximize benefit to the organization, while minimizing risks and costs to the organization. Included in portfolio management is the process by which an organization assesses how potential projects fit into the existing projects currently underway. Ideally, the organizational project portfolio consists of both high and low risk projects, large and small projects, etc. 3. Describe the major elements and issues with waterfall development. Waterfall development follows the phases of the life cycle in sequence (planning, analysis, design, and implementation). Each phase is thoroughly documented and approval is required before proceeding to the subsequent phase. It is difficult, though not impossible, to go backwards in the SDLC under waterfall development. Waterfall development methodologies have several advantages: requirements are identified long before programming begins, and requirement changes are limited as the project progresses. The key disadvantages are that the design must be completely specified before programming begins, a long time elapses between the completion of the system proposal in the analysis phase and the delivery of system, and testing may be treated almost as an afterthought in the implementation phase. In addition, the deliverables are often a poor communication mechanism, so important requirements may be overlooked in the volumes of documentation. If the project team misses an important requirement, expensive post-implementation programming may be needed. Users may forget the original purpose of the system, since so much time has elapsed between the original idea and actual implementation.

1-28


4. Describe the major elements and issues with parallel development. Parallel development modifies the SDLC by altering the design and implementation phases. In parallel development, general design of the whole system is created; then, the project is divided into subprojects, each of which is designed in detail and implemented. Work on the subprojects occurs simultaneously in an effort to reduce the time between analysis and delivery of the system. After all subprojects are complete, the pieces are integrated into the final delivered system. The total time to deliver the system can be reduced using parallel development as compared to waterfall development. However, there can be significant challenges in integrating the subprojects since design decisions made in one subproject may affect other subprojects if they are not completely independent. 5. Describe the major elements and issues with the V-model. The V-Model of development follows a waterfall approach in that each phase is completed before the next is begun. The V-Model differs in that during each phase of development not only are requirements specified and components designed, but the testing of those components is also defined. This allows for a well-defined testing plan which can improve the overall quality of the system. As with waterfall development, the V-Model of development is rigid, and may not be a good choice for a project that is dynamic in nature. 6. Describe the major elements and issues with iterative development. Iterative development is characterized by multiple versions of the overall project. The initial version contains the most important and fundamental requirements. This version can be accomplished with a mini-waterfall process. Once the version is complete, feedback is solicited as to the appropriateness of the system. The project then goes into the next version of the project, incorporating feedback that was received. The benefit to this is that an abbreviated version is quickly available for review. The chief disadvantage of iterative development is that users begin to work with a system that is intentionally incomplete. Users must accept that only the most critical requirements of the system will be available in the early versions and must be patient with the repeated introduction of new system versions.

1-29


7. Describe the major elements and issues with system prototyping. Prototyping performs analysis, design, and implementation into one phase, and this phase is cycled through several times until the system meets user needs. A ―quick and dirty‖ version of the system is developed early and rapidly, and user feedback is solicited. Based on user comments, the system is modified and refined repeatedly. Ultimately, the system will be refined to the point where the users accept it and it can be put into production. Prototyping does provide rapid delivery of a system to the users. A disadvantage, however, is the lack of careful, methodical analysis before making designs and implementation decisions. System prototypes may have some fundamental design limitations that are a direct result of an inadequate understanding of the system‘s true requirements early in the project. 8. Describe the major elements and issues with throwaway prototyping. Throwaway prototyping includes the development of prototypes, but uses the prototypes primarily to explore design alternatives rather than as the actual new system. Once complete, any ambiguous features or challenging design issues may be addressed using a design prototype. A design prototype is created to enable users to understand the issues under consideration. Many design prototypes may be built to minimize the risk associated with the system by confirming that important issues are understood before the actual system is built. Throwaway prototyping can result in a longer time frame to delivery due to the fact that the prototypes are not necessarily used for the final design. However, this methodology creates an opportunity to address and resolve key issues that arise before getting to the development stage. 9. Describe the major elements and issues with agile development. Agile development is a methodology in which the SDLC is streamlined. Much of the modeling and documentation is eliminated and the emphasis is placed on simple, iterative development in which each iteration is a small project on its own, complete with planning, requirements analysis, design, coding, testing, and documentation. Agile development is dependent upon a team that is highly motivated, cohesive, stable, and experienced. This type of development works best with small projects. If the project is not small, or the teams do not work well, then the likelihood of success is reduced.

1-30


10. Compare and contrast structured design methodologies in general to rapid application design (RAD) methodologies in general. Structured design methodologies are usually fairly formal, step-by-step approaches to systems development. The project moves through the phases in a systematic way. The emphasis in most of these methodologies is development of specifications for the new system prior to implementation. RAD methodologies, on the other hand, incorporates special techniques and computer tools to speed up the analysis, design, and implementation phases in order to get some portion of the system developed quickly and into the hands of the users for evaluation and feedback. 11. Compare and contrast extreme programming and throwaway prototyping. Extreme programming uses continuous testing, simple coding performed by teams of developers, and close interactions with end users. System functionality grows over time iteratively after a very superficial planning phase. Code is thoroughly tested as it is added to the system. By practicing discipline and keeping the development team small and focused, extreme programming can create good results very quickly. Throwaway prototyping focuses more on experimentation during the design phase. The prototypes are intended to clarify technical issues before the 'real' system is built. The prototypes will be discarded and do not become the final system. 12. What are the key factors in selecting a methodology? How well are user requirements understood? How familiar are the systems developers with the technology being employed? How complex is the system? How essential is system reliability? How demanding is the time frame/project schedule? How visible is the project schedule? (See Figure 2-9) 13. Why do many projects end up having unreasonable deadlines? How should a project manager react to unreasonable demands? Although training and software are available to help project managers, unreasonable demands set by project sponsors and business managers can make project management very difficult. Too often, the approach of the holiday season, the chance at winning a proposal with a low bid, or a funding opportunity pressures project managers to promise systems long before they are realistically able to deliver them. These overly optimistic timetables are thought to be one of the biggest problems that projects face; instead of pushing a project forward faster, they result in delays. Thus, a critical success factor for project management is to start with a realistic assessment of the work that needs to be accomplished and then manage the project

1-31


according to the plan. This can be accomplished by carefully following the basic steps of project management as outlined in this chapter. 14. Describe two ways methodologies contribute to a project. A methodology is a formalized approach to implementing the SDLC. Choosing the right (or best) methodology can help the project manager get the best out of teams assigned to the project. It can also improve the chances the project will be completed on time and within budget. 15. Some companies hire consulting firms to develop the initial project plans and manage the project, but use their own analysts and programmers to develop the system. Why do you think some companies do this? It is possible that a company does not have skilled project managers available on its in-house staff. Project management requires a unique set of skills, and consulting firms may develop project management capabilities because of the many projects undertaken In some cases, methodologies are obtained from consulting firms for their clients to follow; provided by the vendor of the software to be installed; or mandated as a part of projects involving government agencies. 16. Describe the differences between a technical lead and a functional lead? How are they similar? Typically, a project will have one project manager who oversees the overall progress of the development effort, with the core of the team composed of the various types of analysts. A functional lead usually is assigned to manage a group of analysts, and a technical lead oversees the progress of a group of programmers and more technical staff members. 17. Describe three technical skills and three interpersonal skills that would be very important to have on any project. Specific answers will vary. Desirable technical skills might include programming experience in the chosen programming language, experience in configuring the hardware and communications technology platform correctly, and experience in utilizing the file/database environment effectively. There are many interpersonal and communication skills needed on a project. A number of desirable interpersonal skills might be listed by the student, including interviewing skills, negotiation skills, and conflict resolution skills. 18. What are the best ways to motivate a team? What are the worst ways? Research has shown that technically-oriented people are motivated by recognition, achievement, the work itself, responsibility, advancement, and the chance to learn new skills. The worst ways to motivate technical staff include setting unrealistic 1-32


deadlines, failing to recognize good effort, accepting low quality output, rewarding all team members monetarily regardless of work quality, failing to include team members in important project decisions, and providing poor working conditions. 19. List three techniques to reduce conflict. Clearly define the roles on the project, hold team members accountable for their assigned tasks, develop detailed operating procedures and make sure the team members understand them, have each team member commit to the project charter. 20. What is the difference between upper CASE and lower CASE? Some CASE software packages are primarily used during the analysis phase to create integrated diagrams of the system and to store information regarding the system components (often called upper CASE ), whereas others are design-phase tools that create the diagrams and then generate code for database tables and system functionality (often called lower CASE ). 21. Describe three types of standards, and provide examples of each. Coding standards include a header that lists the programmer, last date of update, and a short description of the purpose of the code. An example might be that all programs are to be written following structured programming outlines. Procedural standards define processes that are to be followed by all team members. An example would be that all changes to a requirements document must be approved by the project manager. . User interface design standards create a common understanding of the appearance and functioning of the screens the end users see. An example would be to create a standard group of icons that are used consistently on all screens. 22. What belongs in the electronic project binder? How is the electronic project binder organized? All project deliverables, all internal communication, and all project documentation should be placed in the electronic project binder (binder). A simple way to set up your documentation is to create a folder hierarchy and use subfolders to separate content according to the major phases of the project. 23. What are the trade-offs that project managers must manage? The project manager must trade off system size, development time, and project cost. A larger project will require more time and money; while a short time frame may require more money or reduced project size. Since most projects have time and/or money constraints, the project manager must strike a balance between size, time, and cost in order to define an achievable project.

1-33


24. What is scope creep, and how can it be managed? The most common reason for schedule and cost overruns occurs after the project is underway is scope creep. Scope creep happens when new requirements are added to the project after the original project scope was defined. It can happen for many reasons. The project manager must actively work to keep the project tight and focused. The key is to identify the requirements as well as possible in the beginning of the project and to apply analysis techniques effectively.

25. What is timeboxing, and why is it used? Timeboxing is a technique that is used to organize a project when time is a critical issue. With timeboxing, a fixed deadline is established, and the project team prioritizes the functionality of the system so that the essential features are delivered within the set deadline. If some features must be omitted given that time frame, they are postponed to a later version of the system. With this technique, the users are assured of getting a system with essential functionality by the project deadline, and other, less essential features and refinements are added in later system versions. 26. Create a list of potential risks that could affect the outcome of a project. Weak personnel, scope creep, poor design decisions, overly optimistic project estimates. 27. Describe the factors a project manager must evaluate when a project falls behind schedule. Typically a project falls behind schedule when one of the risk factors listed above are realized. At that point the manger should determine which of those risk factors, or which combination of those risk factors, is responsible for the project falling behind. Once identified, the issue can be addressed.

1-34


Solutions to End of Chapter Exercises K. Suppose you are a project manager using the waterfall development methodology on a large and complex project. Your manager has just read the latest article in Computerworld that advocates replacing the waterfall methodology with Scrum and comes to your office requesting you to switch. What do you say? Assuming I have the ability to stand up to my boss, I would try to encourage him to see that a methodology switch may not be appropriate during a large and complex project development. The waterfall methodology is quite valuable in complex projects, and that is probably why it is being employed. Scrum, on the other hand, is not suitable for complex projects because much of the modeling and documentation overhead is eliminated and this may prove to be inappropriate. I would try to dissuade the boss from mandating this change in the project, especially during mid-stream development. L. Suppose that you are an analyst developing a new information system to automate the sales transactions and manage inventory for each retail store in a large chain. The system would be installed at each store and exchange data with a mainframe computer at the company's head office. What methodology would you use? Why? Throwaway prototyping should work well in this situation. The careful analysis at the beginning of the project should be valuable in determining the requirements. The biggest question is likely to be the unfamiliarity of getting the new system at the stores to communicate correctly with the existing mainframe system. Throwaway prototypes can be used to clarify the technical concerns of this situation so that the 'real' system works correctly when implemented. M. Suppose that you are an analyst developing a new executive information system (EIS) intended to provide key strategic information from existing corporate databases to senior executives to help in their decision making. What methodology would you use? Why? In this situation, requirements are likely to be unclear at the outset. The technology being used is probably familiar, and the system is probably not too complex since we are just reporting from existing corporate databases. Prototyping is an ideal approach to use in this situation. The biggest concern would be the time commitment on the part of the executives, since in prototyping their involvement and feedback is critical.

1-35


N. Suppose that you are an analyst working for a small company to develop an accounting system. What methodology would you use? Why? This situation has a well-understood problem domain that is not too complex but must be reliable. A structured methodology would be suitable since the business environment will not be too dynamic during the development process. Parallel development would work well since the parts of the system could be relatively independent of each other (accounts receivable, accounts payable, etc.) and could be successfully addressed as subprojects. As long as the final integration of subprojects is considered carefully, parallel development should work fine. O. Visit a project management web site, such as the Project Management Institute (www.pmi.org). Most have links to project management software products, white papers, and research. Examine some of the links for project management to better understand a variety of Internet sites that contain information related to this chapter. Students' answers will vary. P. Select a specific project management topic like computer-aided software engineering (CASE), project management software, or timeboxing, and use the Web search for information on that topic. The URL listed in exercise E or any search engine (e.g., Yahoo!, Google) can provide a starting point for your efforts. Students' answers will vary. Q. Pretend that the Career Services office at your university wants to develop a system that collects student resumes and makes them available to students and recruiters over the Web. Students should be able to input their resume information into a standard resume template. The information then is presented in a resume format, and it also is placed in a database that can be queried using an online search form. You have been placed in charge of that project. Develop a plan for estimating the project. How long do you think it would take for you and three other students to complete the project? Provide support for the schedule that you propose. Search for other schools that are using this type of system in the Career Services department and contact them to find out how long it took to develop such a system. Finding out some actual experiences with such a project would be one way to estimate this project. Another option is to use the function point estimation technique. Assume that in the process of contacting other universities, it was found that projects like this typically required a team of three people about twelve weeks to complete. Applying standard percentages, this suggests that planning would take 2 weeks, analysis would take 2.5 weeks, design would take 4 weeks, and implementation would take 3.5 weeks. Since we have four people on our team, we might be able to shorten the project time to 9 weeks. Our schedule would be: planning - 1.3 weeks, analysis - 1.8 weeks, design - 3.2 weeks, and implementation - 2.7 weeks.

1-36


R. Refer to the situation in exercise G. You have been told that recruiting season begins a month from today and that the new system must be used. How would you approach this situation? Describe what you can do as the project manager to make sure that your team does not burn out from unreasonable deadlines and commitments. With a short deadline like this, the team will be under great pressure. One strategy I would investigate is the purchase of a software package that would meet the requirements of this project so that we would not have to code and test the system ourselves. If this is not feasible, I would employ timeboxing so that the team focuses on developing the bare-bones fundamentals of the system in the month we have available. Other 'nice-to-have' aspects of the system will be deferred to a later version of the system. We do not want to spend time working on frills, just the basics in order to meet this deadline. S. Pretend that your instructor has asked you and two friends to create a Web page to describe the course to potential students and provide current class information (e.g., syllabus, assignments, readings) to current students. You have been assigned the role of leader, so you will need to coordinate your activities and those of your classmates until the project is completed. Describe how you would apply the project management techniques that you have learned in this chapter in this situation. Include descriptions of how you would create a work plan, staff the project, and coordinate all activities yours and those of your classmates. First, discuss with the instructor the requirements of the project. Then, create a work plan with project tasks clearly specified. Brainstorming with classmates might help here. Next, find two classmates who have prior experience in web page development to participate in the project. Develop a team charter that specifies the standards the team will use in terms of communication, documentation, and meeting times. Assign tasks to team members. Monitor performance. Reassign tasks as needed during project duration.

1-37


T. A health insurance company had a computer problem that caused the company to overestimate revenues and underestimate medical costs. Problems were caused by the migration of its claims processing system from an older operating system to a UNIXbased system that uses Oracle database software and hardware. As a result, the company‟s stock price plummeted, and fixing the system became the number-one priority for the company. Pretend that you have been placed in charge of managing the repair of the claims processing system. Obviously, the project team will not be in good spirits. How will you motivate team members to meet the project's objectives? Since the team's morale may be very low, it is important to help them gain some early successes. First, make sure the team has a good working environment and that everyone understands the team's performance standards. Identify small, achievable goals at the start so that the team gets its confidence back. Make sure that deadlines are realistic; a team with low morale will be completely demoralized if they feel that deadlines are unachievable. Recognize and reward good performance at every opportunity, even if it's with small things such as gift certificates or tickets to a ballgame. Build team cohesiveness with little extras, like pizza for lunch on Fridays. Establish an environment of open, honest communication so that problems are identified and dealt with, rather than hidden until they become insurmountable.

1-38


Answers to Textbook Minicases 1. There are a number of things that may be helpful. Key among them are:  develop a project charter that clarifies the rules and group norms that Emily expects to follow  establish clear responsibilities for each team member  emphasize accountability for assigned tasks; don‘t let team members deflect responsibility to others  establish clear lines of communication, and emphasize shared responsibility for project success  get top management to commit to some type of recognition for the team to reward success 2. Student answers will vary depending upon which they feel is more important; organizational communication skills, or existing knowledge about the proposed system. If Marcus hires Barry, there will be no one on the project with an understanding of expert systems. Can Barry acquire that knowledge in a reasonable amount of time? Is training available? Does Marcus feel that a shallow level of knowledge about the system is enough for Barry to make a contribution? If Marcus hires Kim, there will be no one on the project with organizational communication skills. Again, can Kim acquire those skills in a reasonable amount of time? Or will her lack of organizational communication skills have a detrimental affect the outcome of the project? 3. This minicase provides students with an opportunity to play the role of the IS Steering committee when faced with selecting projects. Tradeoffs must be considered, and the existing project portfolio also must be factored in to the final selections. There is not a single right answer for this minicase. It provides a great opportunity for students to work in small groups, develop their selection decisions, then present and defend them to the rest of the class.

1-39


Supplemental Minicases 1. Cal Strong is a project manager for a systems development project involving a new database application for his organization‘s human resources department. Despite Cal‘s best efforts at estimating the time requirements for the project, the team has missed the deadline for completing the Analysis Phase and producing the System Proposal. Cal had estimated during his 6-week Planning Phase that Analysis would require 2 months, but the team finished the System Proposal 2 weeks behind their planned target date. Based on his discussions with the team members, Cal believes that the system is more complex than he originally thought. Should Cal adjust his timeline, or can he try to make up the lost two weeks? Cal needs your advice. Answer: Based on standard percentages, Cal planned for 1.5 months in planning (15%), 2 months in Analysis (20%), 3.5 months in Design (35%), and 3 months in Implementation (30%), for a total project length of 10 months. The team missed their target in the Analysis phase by 25% (2 weeks/8 weeks). Since the remaining work is more complex than Cal originally thought, he cannot hope for the team to make up that time. It would be best for Cal to acknowledge his underestimate of project complexity right now, and extend the remaining phases by an additional 25%. This will push the completion date back 6.5 weeks. If this is unacceptable to the project sponsor, Cal should negotiate a reduction in project scope in order to give the team a reasonable chance to complete the project on time. 2. Mark Foster has recently been hired by a mid-sized machine shop that supplies various machine parts on contract to a large manufacturer. Mark has several years of systems development experience, including programming, analysis, and design. He has been hired with the express purpose of developing the EDI system that has been mandated by the firm‘s large business partner. Mark has not been in the position of project manager before, and he is not sure what to do or where to begin. Based on this chapter‘s materials, what are three initial tasks that Mark should undertake? Answer:  Identify project size  Develop a project workplan  Arrange to fulfill staff requirements  Establish ground rules for project team and coordinate activities.

1-40


Chapter 3: Requirements Determination Teaching Tips and Strategies (from Alan Dennis) I usually spend two to three classes on this chapter. The idea for this chapter came from my consulting work but was driven by my bad experiences in teaching SA&D. Years ago, when I was first teaching SA&D, I used to teach the section on analysis by starting with the information gathering techniques, such as interviewing, questionnaires, JAD, etc. One year, a student floored me by stating, ―I understand how to structure interviews, write questions, etc., but I don‘t know what to ask.‖ It was then that I realized that by blindly following the SA&D textbook I was using that I had neglected to help the students understand the big picture: how to link the information gathering (e.g., interviews) to the analysis of the information gathered to the business value the new information system would create (and perhaps more importantly from the students viewpoint, how to figure what to ask about). Obviously, the chain goes the other way: set the business goal first, define the analysis strategy, then figure out what information to gather. First, this chapter defines functional and non-functional business requirements. I have found that when students are told to gather requirements, they don't really know what that means. Their first instinct is to equate requirements to what the system should look like or how it technically needs to be built, rather than the basic business needs that the system needs to meet. So, I find that this content needs to be introduced with a solid understanding of "business requirements." It is important to understand that the business need drives the IS project, not the other way around. The business sponsor first sets the project goal and the project gets its marching orders. This chapter presents three different analysis strategies that can flow from the project goal: BPA, BPI, and BPR. Yes, we know the term BPR is passe at this point, but the concept still remains. Information systems implement change, and that change can be minor automation (leaving the business intact but changing how it is done), moderate improvement (in the business), or radical change. It is also important for the students to understand the overall process of analysis is somewhat consistent (as-is modeling, identifying improvements, to-be modeling), but the emphasis changes depending upon whether the goal is minor or major change. One of the most contentious issues in industry – at least in my experience – has to do with as-is modeling. Many experts and firms don‘t do as-is modeling. They simply regard it as a waste of time. When I teach, I talk about as-is modeling, but I do not require the students to turn in an as-is model for their projects. I do not do this because of philosophical reasons, but because of time constraints; I don't think they have time to develop "gradingquality" as-is process and data models as well as a "grading-quality" to-be process and data models.

1-41


The various analysis techniques in this section came out of my consulting practice. Some I've invented, some I've adapted from other techniques, some I've "borrowed." I've used them and they all "work" when used appropriately. In my opinion, the three most powerful techniques, and the ones I use most often and the ones I encourage my students to use are root cause analysis (for just about every project), informal benchmarking (when you can find some organization that is doing something similar to the project you're working on) and activity elimination (for stimulating radical change). I often lecture about the techniques and then ask the students to take 10 minutes to use each of the techniques to generate improvement ideas for a problem (e.g., campus parking, course registration, finding a place to live). I break the group into small teams and have each of them use a different technique. Then when we reconvene and start presenting the ideas, the class can see how the different techniques lead to rather different ideas for improvement. I usually spend one to two classes on information gathering. I focus on interviewing, because that is what most of my students end up using, but I do cover the other techniques as well, but not with as much emphasis. The technique that I use the most often in my consulting work -- and I believe is the most commonly used by consultants in industry -- is the JAD session. I probably should have my students learn more about JAD and actually practice some, but I've been reluctant to encourage them to use JAD in their projects because it is more challenging than the other techniques (but I suppose it is possible to screw up an interview as badly as a JAD session). Much of the material in this section can be dull, because it seems to be common sense. Unfortunately, common sense is less common than we would like. I try to spice up my lectures with short breaks for the students to practice interviewing or writing questionnaires, so they can see that it is not as easy as it sounds as they sit there and take notes (the Your Turn exercises are a good start). Finally, it is important for the students to understand the trade-offs among the different techniques and to realize that most projects use a variety of different techniques to gather different information. You start with the analysis plan, and then identify the best set of techniques to gather the information you need for each analysis.

War Stories (from Alan Dennis) A Failure Down Under Several years ago, I was the lead consultant on a BPR project for the Australian Army. The goal was to reengineer the processes and organizational structure of the Army headquarters in Sydney responsible for the command of all land forces. There were two major problems facing the headquarters. First, many processes were inter-functional, requiring the involvement of several areas within the headquarters, so there was considerable inefficiency and frustration to accomplish even the simplest of tasks. Second, each of the areas had the ability to issue orders to units under the headquarters‘ 1-42


command, so it was not uncommon for units to receive conflicting orders unknowingly issued by the different areas in the headquarters, which was not only embarrassing but potentially costly. The project was directed by a major (promoted to lieutenant colonel during the project) and began under the sponsorship of the headquarters chief-of-staff (a one-star general). The project began with a very quick development of an as-is process model for the headquarters. The model was built by nine small teams of middle managers (5-8 majors and lt. colonels) who spent one day building their part of the overall model. There was considerable resistance among the middle managers to becoming involved in the BPR process, and when the sponsor was transferred soon after the project began, it languished for six months. Then the commanding general of the headquarters (a two-star general) became interested in the project as the fundamental problems within the command became clear after several highly noticeable incidents. The project was restarted with a concentrated push over a two-month period in which the management team worked almost full time on the project. The general made it clear to the management team and all members of the headquarters staff that he wanted radical change and that the improvement plan should come from the middle managers in the headquarters who were most familiar with the processes and structure. The management team created ten teams of middle managers, this time organized around ten crossfunctional processes (e.g., ensure preparedness, manage resources, conduct operations), rather than on functional lines as for the as-is model. Both BPI and BPR analyses were used. There was still some initial reluctance among the middle managers, but this gradually changed into strong support as the scope and nature of the changes developed by the teams began to emerge. The proposed changes eliminated three functions and reorganized the headquarters structure around five major processes. Once the scope of the change became clear to the commanding general, he issued orders that prevented any radical change. The project died. My mistake was in assuming that the general wanted what he said: radical change. The general had been expecting "radical change" in the form of the group simply recommending a system very similar to that used in the U.S. Army. It turns out that the colonel who was supposed to be keeping the general informed as the project proceeded didn't keep him informed. If some of the initial improvement ideas had been communicated to the general before the to-be models were developed, then the general might have bought into the change, or simply redirected it at that point before the time and effort was wasted on the to-be models.

1-43


BPR in the Hotel Industry Many years ago I worked on a BPR project for a major hotel chain (you'd recognize the name if I told you). One of the techniques we used was proxy benchmarking. The hotel industry is one which has a high cost to develop an inventory (i.e., the hotel rooms) but a very low marginal cost to sell them (i.e., how much does it cost to clean your room?). It also has a time dependent inventory; if a room is not rented today, you can't sell it twice tomorrow. After a brief discussion, the group of hotel executives picked several industries with similar structures: airlines, professional baseball, rock concerts, newspapers, plus a few others just for fun. After a 30-minute brainstorming session (using a group support system) they had generated several pages of ideas, including some mentioned in the textbook: variable pricing by how full the hotel is, a frequent stayer program, a "season ticket" concept for selling to corporations. Many of these ideas are now standard in the hotel industry. They also used the breaking assumptions technique. We spent 10 minutes identifying several obvious assumptions for how to run a good hotel and then 30 minutes brainstorming on how to break them. For example: Assumption: Guests want clean rooms. Breaks: Have the guests clean their own rooms -- i.e., a condo-style hotel Sell dirty rooms -- i.e., start a cheap "fleabag" hotel (well, not really, but the idea ultimately led to a new no-frills cheaper hotel concept. Assumption: Guests must pay for their room Breaks: Give away rooms -- i.e., since empty rooms cost virtually nothing, give them away in a frequent stayer program The Importance of Understanding the Client's Jargon In the mid 1980's, small businesses had begun to embrace PC's at an ever more rapid pace and I saw an opportunity to earn a few dollars on the side as a PC consultant. One particular customer was a Mining consultancy with main offices in the U.K. They had hired me to help establish e-mail connectivity with their main office using the AT&T EasyLink service. There was some sort of compatibility issue between the e-mail software that they wanted to use and their CPM-based PC. After digging into the software spec, I determined that the executable code needed to be patched to point to the correct comm port for their particular model. After making the changes, I asked the clients to come in so that we could run a test. After entering the account information, I saw the PC begin to act strangely. Seeing that something was wrong, I muttered: "Uh, oh... The program is about to blow up." The two people with me immediately zoomed out of the room. When I remained in my seat, they motioned frantically from the door for me to join them and so I walked over. "What's wrong?" I asked. "Well, you said that it was going to blow up!" one of them replied. It suddenly dawned on me that someone in the mining business would be very familiar with "explosive" situations and would take them very seriously. I might as well have yelled: "Fire the hole!"

1-44


Collecting Information, Maybe I was doing my first Information System Plan for a major consulting company. Naturally, the first task was to interview the key users. Well, I had the task of interviewing the Vice President that was most interested in the project. When I arrived for the interview she had already prepared a several page document that summarized her thoughts on what the new system should include. So, for an hour, we discussed her requirements and I added a few questions that were not answered by her materials. After the interview, I wrote a summary of the interview. Since she had already documented most of her requirements, I focused my interview summary on the other topics we discussed. Proud of my work, I then sent the document to all the other VP's. Well, a day later, Peggy was furious and met with me and threatened to cancel the project. She was angry because none of her materials were included in the summary and she felt that my summary made it look like she barely had any original thoughts about the system. She was also ticked because she didn't see the summary before it went out. Everything would have been ok, if I had just attached her notes to my summary and run it by her first. After a very tense 90 minute meeting, things calmed down. The project went on to be successful and Peggy and I are friends to this day. Interviewing: Gauntlet or Sales Job? There's definitely an art to locating and bringing in good people. Many managers don't realize that it's a two-way street and that they should be selling the job just as hard as the applicant is selling themselves. One common mistake is the way in which the technical interview is structured. I once had this incredibly sharp guy named Don working for me who was very nice personally, but fairly opinionated when it came to the proper way of implementing a particular solution. Technically, he rated a 9 on a scale of 10 and I thought it a good idea to let him screen candidates and separate the wheat from the chaff. One day, Don walked into a conference room with this fellow to conduct an interview. Ten minutes later, the fellow was seen literally running through the office at about 10 mph, making a beeline for the elevator. When I asked Don what had happened, he pointed out that the fellow seemed to have a very fuzzy grasp of object-oriented concepts. After a couple minutes of grilling and being corrected several times, he had jumped out of his seat, exclaimed: "Obviously, I'm not smart enough to work here!" and bolted out of the room. Regardless of whether this candidate's final self-assessment was actually true, the manager needs to ensure a comfortable experience for candidates if they want to be successful in attracting the best. No one wants to be interviewed in a setting like an old cop movie, with bright lights shining in their face while they are hammered with questions.

1-45


While this applies to a job interview, I've seen junior analysts take the same mentality in interviewing users. They see their role as one of extracting information from a "user," not a person and go about in the same way you would extract cat food from a can with an impatient pet waiting. Remember, part of the goal in the interview process is to sell the system you're building. Gathering Requirements in JAD Sessions: The Magic Moment In every JAD session, there is a magic moment when the participants start working as a team, when they realize that they are on a common mission and have a common goal. They begin to feel secure enough with each other to passionately disagree, have fun, confront each other, and sometimes even agree on issues they once considered quitting over. We facilitated one session for a client where it was common for people to have worked for 30 years or more. The customer service representatives were referred to as the girls on the help line, and not a single male worked in the customer service department. Behind the scenes, the girls (really women in their 40s and 50s that I insisted be called women) were the only ones who dealt with merchants, installers, salespeople, and three levels of management, not to mention customers, every day. At first, these women were reluctant to speak. They were shy, not very sure of themselves, not sure what would happen if they spoke out. So, I wasn't surprised when they started whispering to each other. Even though one of the rules of the session is no side-bar conversations, I sensed that the women were building a voice through their whispers, so I ignored it. Instead, I walked over to a woman named Sarah and asked her what really goes on in the customer service department. By the end of the week, these women were pounding their fists on the desks, saying, ―This is not the way it happens!‖ They were role playing, showing the rest of the group what really happens, and telling us how they thought things should work. Finally, management woke up and said, ―Hey, these women really do know what goes on out there.‖

War Stories (from Barbara Wixom) One of my favorite BPR stories is Southwest Airlines... Years ago, Southwest realized that a lot of money is wasted in the airline industry from flights being on the ground. Basically, the more time in the air, the more money an airline can make. But, everyone in the industry was doing a bad job with turning around aircrafts. Instead of looking at best practices in their own industry (there were none), Southwest thought of other industries where turnaround time was important - and they came up with 1-46


auto racing. At the Indy 500, a car can enter and leave a pit stop in a matter of seconds. So, Southwest used the auto racing industry as a benchmark and tried to see how their own processes could be improved by auto racing processes. The result: Southwest can now turn a plane around in an average of 15 minutes. This is the best practice now for airlines - and it blows all of the competitors away...

Answer to Your Turn 3-1: Identifying Requirements 1. Functional business requirements: 2, 4, 6, 8. Student responses may include any example that represents a request for system information or business process. 2. Nonfunctional business requirements: 1, 3, 5, 7, 9, 10. Student responses may include any example that represents a behavioral property that the system must have (e.g., operational, performance, security, cultural, and political).

Answer to Your Turn 3-2: Interview Practice Student responses will vary depending upon how the interviews are conducted, and what was observed. This exercise can be a great ice breaker for group work assigned throughout the semester. It makes the students interact with each other.

Answer to Your Turn 3-3: JAD Practice Student responses will vary depending upon how the JAD session was conducted, and what was observed. Utilize the same groups from Your Turn 3-2. Observe the differences in interaction between student groups.

Answer to Your Turn 3-4: Questionnaire Practice Student responses will vary depending upon how their experience with both the questionnaire completed and the questionnaire created.

Answer to Your Turn 3-5: Observation Practice Student responses will vary depending upon the results of their observations.

Concepts in Action 3-A: What Can Happen if you Ignore Nonfunctional Requirements Nonfunctional requirements are important. Often, to the client they may be more important than the functional ones. Not taking these requirements into account can be construed by the client as not listening to what they really desire.

1-47


Concepts in Action 3-B: Selecting the Wrong People Interview schedule: First and second line managers – determine how processes are managed People the managers supervise – determine how processes work Actual users of the system – determine what work is actually done, how they feel about the system, how it might be improved, etc.

Concepts in Action 3-C: The Reluctant Interviewee 1. Being the single person who understands the system is a powerful position to be in. The interviewee might be reluctant to share that information as that may diminish their importance to the organization. It might also have been an instance of where the interviewee just did not feel comfortable with the interviewer. 2. After the first interview, the interviewer may already have felt that the interview did not ‗go well‘. At that point, there were a couple of options; the interviewer could have submitted a list of questions for the interviewee to answer and send back, or the interviewer could have provided an alternate interviewer in the hopes that he or she might have been able to build a rapport with the interviewee.

Concepts in Action 3-D: Publix Credit Card Forms 1. The credit card form, while containing all pertinent information, is not being used as designed. In this case employees are constantly modifying the form to accommodate the flow of information among employees, often with errors being introduced. 2. The form should be modified so that the text which displays the total is larger.

Concepts in Action 3-E: A Process in Need of Improvement The discussion of time and money spent having meetings is interesting. The instructor could discuss issues right on their own campus that would highlight the reason why companies tend to not measure or want to know what the real cost of a meeting(s) is.

Concepts in Action 3-F: IBM Credit Students might list Activity-Based Costing, Informal Benchmarking and Duration Analysis. Conducting a duration analysis would illustrate problem areas in this process, and a process integration analysis would certainly help in reducing the number of steps required to complete the process. One of the major problems in this scenario is that too many departments are involved. Any student response that includes reducing the number of departments, or the number of steps required, which would decrease the time involved, would be right on track.

1-48


Solutions to End of Chapter Questions 1. What is the meaning of analysis? What is the purpose of the analysis phase of the SDLC? The term analysis can be defined as: breaking a whole into its parts with the intent of understanding the parts‘ nature, function, and interrelationships. In the context of the SDLC, the outputs of the planning phase (the system request, feasibility study, and project plan), outline the business goals for the new system, define the project‘s scope, assess project feasibility, and provide the initial work plan. These planning phase deliverables are the key inputs into the analysis phase. 2. What are the key elements of a system proposal? Key elements of a System Proposal include: detailed requirements definition statement, use cases, process models, data models, a revised feasibility analysis and a work plan. 3. A system development project may be approached in one of two ways: as a single, monolithic project in which all requirements are considered at once or as a series of smaller projects focusing on smaller sets of requirements. Which approach seems to be more successful? Why do you suppose this is true? One of the challenges in using the traditional Waterfall approach to a project is the need to consider all of the project requirements at once (a monolithic project). This can be very difficult to identify and manage an enormous set of requirements up front and is one of the reasons why Waterfall is not used much in its traditional form. Typically, breaking a large project into smaller manageable projects has a higher rate of success. Breaking it down into smaller component projects allows for ease of understanding of functionality and processes. 4. Distinguish between business, user, and functional requirements. During a systems development project, requirements will be created that describe what the business needs; these are referred to as business requirements. Requirements that are created that describe what the user needs are called user requirements, and those requirements that describe what the software should do are functional requirements. 5. Explain what is meant by a functional requirement. What are two types of functional requirements? Give two examples of each. The system‘s functional requirements evolve from understanding how the new system can support user needs. A functional requirement relates directly to a process the system should perform as a part of supporting a user task and/or information it should provide as the user is performing a task. Student examples will vary.

1-49


6. Explain what is meant by a nonfunctional requirement. What are the primary types of nonfunctional requirements? Give two examples of each. What role do nonfunctional requirements play in the project overall? A nonfunctional requirement refers to behavioral properties that the system must exhibit. Types of nonfunctional requirements include: Operational, Performance, Security, and Cultural and Political. The IIBA defines this group of requirements as ―the quality attributes, design, and implementation constraints, and external interfaces which a product must have.‖ Student examples will vary. 7. What is the value of producing a requirements definition and having the project sponsor and key users review and approve it? A requirements definition effectively describes the scope of the project. Project sponsors and key users need to review the requirements definition to ensure that it encompasses the key features of the new system. At this point, any discrepancies and misunderstandings can be addressed. 8. What are the three basic steps of the analysis process? Is each step performed in every project? Why or why not? [1] Understand the as-is system - study the existing system and processes and understand the strengths and weaknesses. [2] Identify improvement opportunities - look for the specific things that need to change. [3] Define requirements for the new system (the to-be system) – create one or more target conceptualizations for the to-be system, including an outline of features and models of its basic design. The first step is sometimes skipped or done in a limited manner. This happens when no current system exists, if the existing system and processes are irrelevant to the future system, or if the project team is using a RAD or agile development methodology in which the as-is system is not emphasized. 9. Discuss the appropriate way to set up and conduct interviews to elicit requirements. The most commonly used requirement elicitation technique is interviews. People at different levels of the organization will have different viewpoints on the system, so it is important to include both management and staff to gain high-level and low-level perspectives. When the interview process is conducted the first goal is to build rapport with the interviewee so that he or she trusts you and is willing to tell you the whole truth. The interviewer needs to be unbiased and independent seeker of information. The interview should start with an explanation of why the interviewee and interviewer are there and why they were chosen.

1-50


It is critical that all information be accurately recorded. The best approach is to take careful notes, write down everything the interviewee says, regardless of relevancy. The information may prove to be relevant at a later time, remember, be unbiased. As the interview draws to a close make sure that there is time available for the interviewee to ask questions or provide information that they think is important but perhaps had not been covered in the interview. The five major steps to conducting interviews are:  Selecting interviewees - determine who should be interviewed, why they should be interviewed (what contribution will they make to the project?), and develop a schedule for conducting the interviews.  Design the interview questions - depending on who is being interviewed and the type of information desired, the analyst needs to design the interview session with the appropriate structure and question type.  Prepare for the interview - review related material; review interview plan; review interview questions and plan for any anticipated problem areas; inform interviewee about interview agenda.  Conduct the interview - establish rapport with the interviewee; explain purpose of interview; ask interview questions; record information from interviewee.  Prepare post-interview follow-up report - summarize the interview in an interview report. 10. Give an example of a closed-ended question, an open-ended question, and a probing question. When would each type question be used? Student examples will vary. Closed-ended questions are used when the interviewer is looking for specific, precise information. Open-ended questions are used to gather a broader, rich information set. Open-ended questions can help the interviewer learn why things are the way they are, and also give the interviewee the chance to add ideas or issues that the interviewer did not anticipate. Probing questions are used whenever the interviewer is not satisfied with his/her understanding of the interviewee‘s answer, and needs more explanation before moving on to another topic.

1-51


11. “Interviews should always be conducted as structured interviews.” Do you agree with this statement? Why or why not? No one interview type will be appropriate for every interview and each type of interview has a purpose. Structured interviews are interviews that are planned to gather very specific, detailed information. These interviews use more closed-ended questions that zero in on specific information and facts. These interviews will be conducted later in the information eliciting process, when the analyst has learned enough about the business process in order to formulate more specific, detailed questions. Unstructured interviews are interviews that are planned to include broad, far-ranging questions. Often open-ended questions are used to elicit information. These interviews are most likely to be used early in the information eliciting process, when few details are known, and the analyst is trying to understand the basic business process and the As-Is system. 12. Discuss the considerations that should be made when determining who to include in interviews and/or JAD sessions. First, identify the information that is needed, and then identify the people who can provide that information. Second, consider the political ramifications of including or excluding people. All key stakeholders must be included in the information gathering process. 13. Is the primary purpose of requirements determination to discover facts or to discover opinions? Explain your answer. Both are valuable. An opinion is a statement about an issue or situation that may or may not be supported by fact. If it is stated ―Most of our collections are on-time,‖ this is an opinion that can be confirmed or denied by doing an actual measurement of ontime collections. This information is factual, and may provide the basis for the opinion expressed. Alternatively, the opinion may be a misstatement of actual fact, and may suggest an area where there is misunderstanding of the true situation.

1-52


14. Describe the five major steps in conducting JAD sessions. The five major steps to conducting JAD sessions are: 1. Selecting participants - determine who should be included and why they should be included (what contribution will they make to the project?). 2. Design the JAD session - plan the activities and techniques that will be incorporated into the JAD session in order to accomplish the session goals. 3. Prepare for the JAD session - review related material; review JAD plan; inform participants about the process and the contributions they’ll be expected to make. 4. Conduct the JAD session - establish rapport with the participants; define session ground rules; follow session plan and have facilitator conduct various activities and techniques; record information. 5. Prepare post-JAD follow-up report - summarize the session in a post-JAD report. 15. Describe the primary roles involved in JAD sessions. What is the major contribution made by the person(s) fulfilling each role? The facilitator is responsible for conducting the session. He/she is generally knowledgeable about IS issues, JAD facilitation, and group behavior management. The facilitator is responsible for guiding the group through the planned activities on the JAD agenda. The facilitator must keep the group on track and try to prevent it from digressing in unproductive directions. The facilitator also helps foster communication among the group members and assists them through the analysis techniques that are being used. Finally, the facilitator records the group‘s ideas on a public display area, organizes the information, and assists the group in working with the information. One or two scribes assist the facilitator by recording notes, making copies, and so on. Often, the scribes will use computers and CASE tools to record information as the JAD session proceeds. . 16. Discuss the reasons why question design for questionnaires is so difficult. Questions on questionnaires need to be very carefully stated in order to avoid misunderstanding by the recipient. If a question during an interview or a JAD session is misunderstood, the misunderstanding can be immediately detected and the question clarified. A poorly worded question on a questionnaire may confuse the recipient, causing him/her to answer with incorrect information, or may antagonize the recipient, causing him/her to forego completing the questionnaire.

1-53


17. Why is document analysis useful? What insights into the organization can it provide? Document analysis focuses on existing documentation of the current system, forms and reports that are a part of the current system, plus any personal forms, reports, or files that have been developed informally by the end users. By studying this material the analysts can gain insight into the existing system, how it is used, and possibly also aspects of the system that are not being used. 18. Outline suggestions to make observation a useful, reliable requirements elicitation technique. 1. 2. 3. 4. 5.

Keep a low profile Do not interrupt employees at work Do not influence those being observed Keep in mind that what you observe may not be normal day-to-day behavior Gather clues from working environment

19. Describe a strategy for using the various requirements elicitation techniques is a project. The different requirements elicitation techniques all have strengths and weaknesses, and the astute analyst will use a combination of techniques in any project. The analyst should select the techniques based on the type of requirements being sought, the breadth and depth of information needed, the degree to information needs to be integrated, the need for user involvement, and the cost of the technique. Interviews and JAD sessions are the most productive information gathering methods; however, these techniques require the most skilled analysts to conduct. 20. Discuss problem analysis as an analysis strategy. What are the strengths and limitations of this technique? The most straightforward (and possibly most used) strategy for analysis is problem analysis. The biggest strength of problem analysis is that the users and managers are personally involved in the process of identifying problems with the as-is system and then to offer suggestions on how to solve the problems for the to-be system. A common limitation of this strategy is that it tends to solve problems rather than capitalize on opportunities. Improvements tend to be small but do increase system efficiencies. On the negative side they seldom increase business value.

1-54


21. Discuss root cause analysis as an analysis strategy. What are the strengths and limitations of this technique? Root cause analysis focuses on problems first rather than solutions. A list of problems with the current system is generated. The list is prioritized and then rather than look for solutions the analyst generates a list of all possible root causes for the problem. Ultimately the process reveals the true root cause or causes of the problem and the right solution can be designed. Root cause analysis allows the analysts to not jump to conclusions about a solution to a problem without gaining a deep understanding of what the root problem is. A limitation of this strategy is that the organization has to allow sufficient time for the process to work well. 22. Compare and contrast duration analysis and activity-based costing. What role do these activities play as analysis strategies? Duration analysis requires a detailed examination of the amount of time it takes to perform each process in the as-is system, while activity-based analysis examines the cost of each major process or step in the as-is system. The analysts identify the costs associated with each of the basic functional steps or processes, identify the most costly processes, and focus their improvement eff orts on them. 23. How can informal benchmarking contribute to requirements determination? Benchmarking in general refers to studying how other organizations perform a business process in order to learn how your organization can do something better. Informal benchmarking consists of managers and analysts observing other organizations by taking a customer perspective with the business processes. In many cases, the business studied may be a known leader in the industry or simply a related firm. 24. Compare and contrast outcome analysis, technology analysis, and activity elimination. What general contribution do these strategies play in determining requirements? Outcome analysis focuses on understanding the fundamental outcomes that provide value to customers. Technology analysis starts by having the analysts and managers develop a list of important and interesting technologies. Activity elimination is just that, the analysts and managers work together to identify how the organization could eliminate each and every activity in the business process. There is common ground among these strategies, as a new technology could eliminate an activity and increase business value to the customer. These strategies focus on users (outcome analysis), functional needs (technology analysis), and what the business needs (activity elimination).

1-55


Solutions to End of Chapter Exercises A. Go to a web site of your choice that sells products (a retail site). Develop a list of functional and nonfunctional requirements that the web site provides. Now, go to a news-oriented site and develop a similar list. How do your two lists compare? What are the key differences between requirements for the two sites? Answers will vary by student and by sites selected, but some of the normal functional requirements would be: Examples of Functional Requirements include: 1. Search - enable user to find item(s) based on variety of item characteristics 2. Browse - enable user to look through items 3. Shop - enable user to select and purchase items 4. Comment - enable user to submit his/her comments on items and read other users' comments on items 5. Personalize - enable site to remember user's preferences based on previous use of the site and orders placed 6. Registries - enable user to participate in registry (e.g., wedding, baby); enable users to search registries 7. Wish Lists - enable user to create and maintain a wish list of desired items; enable users to search a person's wish list for gift ideas. And, examples of Nonfunctional Requirements may include: 1. 2. 3. 4.

Operational - the system should work on any web browser Performance - the system should be available 24/7/365. Security - the system enables registered customers to review their own accounts Cultural - the system exists in versions tailored to global users, e.g., French, Japanese, German, etc.

Comparing and contrasting the two types of web sites with the two types of requirements will provide a visual learning experience to the student.

1-56


B. Pretend that you are going to build a new system that automates or improves the interview process for the career services department of your school. Develop a requirements definition for the new system. Include both functional and nonfunctional system requirements. Pretend you will release the system in three different versions. Prioritize the requirements accordingly. Functional Requirements Version 1: 1. Career Services personnel post each company's interview schedule on the system. 2. Students may reserve one and only one interview slot per company. 3. Students may change their interview reservation until the day before the interview. 4. Confirmation of interview reservation is sent to student by email 24 hours prior to interview. Version 2: 1. If an interview schedule is full, student may register on a waiting list. 2. If openings appear on an interview schedule, students on waiting list are notified by email. Version 3: 1. Students may register their specific qualifications and when a company seeking those qualifications opens an interview schedule, the student is notified by email. Nonfunctional Requirements (applied to all three versions) Performance: 1. System is accessible via a web browser 2. System integrates with the resume-posting system and the job listings system Operational: 1. System is real-time; interview reservations are immediately reflected in the interview schedules 2. System is available 24 hours a day whenever university is in session. Security: 1. Only students registered with Career Services have access to system 2. Students can choose to be identified by name on the schedule or by some other identifier Cultural and Political: 1. Students can make only two changes to their interview reservation per company 2. If a student fails to appear for a scheduled interview, he/she will be dropped from any other scheduled interviews they may have.

1-57


C. Describe in very general terms the as-is business process for registering for classes at your university. Collaborate with another student in your class and evaluate the process using problem analysis and root cause analysis. Based on your work, list some example improvements that you identified. Current Process:  Student logs on to registration system  Student submits request for course number and section number  If seat is available, student is registered for that course.  If seat is not available, message displays that that section of the course is full.  Student displays current schedule  Student confirms current schedule  Student prints current schedule  Student logs off the registration system Improvements will differ by student. Problem analysis will be easier for the student (consumer) to enumerate than the root cause of such problems will be. This would make for an interesting class discussion where bringing the online class registration manager could be quite insightful for all. D. Describe in very general terms the as-is business process for applying for admission at your university. Collaborate with another student in your class and evaluate the process using informal benchmarking. Based on your work, list some example improvements that you identified. Current Process:  Student visits university web site  Student submits completed online application for admission  Email feedback is sent by the university acknowledging application  The application process is completed by admissions and student is notified of result This technique involves studying how other universities' admission process works in order to learn how our system might be improved. The analysts on the team or the representatives from the Admission‘s Office who are on the team could perform this technique. An example of an improvement that might be suggested is to have the system automatically ask the student if he/she would like to register for classes rather than travel to the campus.

1-58


E. Describe in very general terms the as-is business process for registering for classes at your university. Collaborate with another student in your class and evaluate the process using activity elimination. Based on your work, list examples that you identified. Current Process:  Student logs on to registration system  Student submits request for course number and section number  If seat is available, student is registered for that course.  If seat is not available, message displays that that section of the course is full.  Student displays current schedule  Student confirms current schedule  Student prints current schedule  Student logs off the registration system This technique involves studying how we could eliminate activities from the registration process. The representatives from the Registrar's Office and representatives from the academic units who are on the team should perform this technique during a JAD session. An example of a radical change that could be explored is the elimination of prerequisite checking for a course. Everyone assumes this is a necessary activity, but if prerequisites are truly meaningful, then students should know not to enroll in courses for which they are not qualified. F. Suppose that your university is having a dramatic increase in enrollment and is having difficulty finding enough seats in courses for students so they can take courses required for graduation. Perform a technology analysis to identify new ways to help students complete their studies and graduate. Technology analysis involves considering a set of technologies and identifying ways each one could be used in the business process. Some technologies that might be considered here are:  Development of online classes – many universities now offer complete degrees using an online environment.  Web-based video streaming - students could attend lectures without being physically in the classroom.  Extranets - develop an extranet with other higher education institutions in the area that links registration systems. If a student cannot obtain a seat in a required course at their home institution, the system searches the other registration systems to find a seat in a comparable course at another institution. Tuition credits and transfer credits are automatically arranged by the system.

1-59


G. Suppose you are the analyst charged with developing a new system for the university bookstore with which students can order books online and have them delivered to their dorms and off-campus housing. What requirements-gathering techniques will you use? Describe in detail how you would apply the techniques. This situation seems ideal for a JAD session. It will be important to have managers from the bookstore and students together on the team so that each can listen to the others' point of view. Student expectations will need to be moderated with constraints faced by the bookstore managers. A JAD session will help build compromise and consensus and will help create a viable set of business requirements. Since there is no existing system to study in this case, the BPR technique of outcome analysis could be used to direct the group's focus on the outcomes that provide value to the bookstore and its customers. H. Suppose you are the analyst charged with developing a new system to help senior managers make better strategic decisions. What requirements-gathering techniques will you use? Describe in detail how you would apply the techniques. It would be useful to get the senior managers together in a JAD session to identify ways in which they require support from the new system for strategic decisionmaking. However, given that most senior managers are very busy and are often out of the office, scheduling a JAD session may be impractical. Consequently, one-on-one interviews are probably the most useful technique to employ. The interviews should focus on gathering facts about the types of decision made and the information required for these decisions. I. Find a partner and interview each other about what tasks you/they did in the last job held (full-time, part-time, past or current). If you haven't worked before, then assume your job is being a student. Before you do this, develop a brief interview plan. After your partner interviews you, identify the type of interview, interview approach, and types of questions used. Student responses will vary. J. Find a group of students and run a 60-minute JAD session on improving alumni relations at your university. Develop a brief JAD plan, select two techniques that will help identify improvements, and then develop an agenda. Conduct the session using the agenda, and write your post-session report. Student responses will vary.

1-60


K. Find a questionnaire on the Web that has been created to capture customer information. Describe the purpose of the survey, the way questions are worded, and how the questions have been organized. How can it be improved? How will the responses be analyzed? Student responses will vary. L. Develop a questionnaire that will help gather information regarding processes at a popular restaurant, or the college cafeteria (e.g., ordering, customer service). Give the questionnaire to 10 - 15 students, analyze the responses, and write a brief report that describes the results. Student responses will vary. M. Contact the career services department at your university and find all the pertinent documents designed to help students find permanent and/or part-time jobs. Analyze the documents and write a brief report. Student responses will vary.

1-61


Answers to Textbook Minicases 1. Problem analysis and benchmarking would be feasible strategies to employ in this situation. This is a problem with a rather narrow scope…the As-Is system needs to be improved, but there is no broadening of the information that needs to be integrated into this system. Problem analysis would permit the analyst to identify potential solutions that the users can identify, then identify the problems those solutions are addressing, and investigate the root causes of the problems. Analysts could also employ informal benchmarking, and investigate systems used by other similar organizations for ideas for this system‘s requirements. 2. If Brian has done a quality job in his initial time estimates, he should not submit to pressure from his project sponsor to reduce the time frame. It is common for project sponsors and users to not understand the reason for the time allocated to analysis. When talking to Joe, emphasize how important it is to perform the analysis phase so that requirements are understood and that no important requirements are missed. Also stress how much more costly it will be to add missed requirements at a later time compared to including them from the very beginning. If Joe is adamant and he has a real need to accelerate the project schedule, suggest that time boxing be used to narrow the initial project scope, and postpone some features to a later version of the system. 3. Barry has made so many mistakes that it‘s hard to know where to begin. Note, however, that these mistakes are very common to the novice, and so should be emphasized to the class. Some of the problem areas include:  Did not arrange for his visit in advance. The store manager was surprised and obviously needed to verify who he was. Wasted time and got off on the wrong foot with the store manager.  Did not consider the timing of his visit. Observation should include not only normal operation periods, but also peak periods. Scope should also encompass all special routines such as store opening and closing.  Was obtrusive and interfered with the staff performing their functions.  Scope of analysis was too limited. Only looked at the creation of sandwiches. Many other managerial tasks in support of delivering the product were omitted from his scope. Barry didn‘t learn much about store management from his visit.  Barry‘s has inadvertently undermined his own position on the project team. The store manager has no confidence in him after this experience, and he is going to inform the project sponsor of Barry‘s ineptitude. Rather than being praised, Barry may find himself back on a programming team after this.

1-62


4. The following set of questions were developed to administer to the customers of a food catering business. Put yourself in the position of a customer who has ordered food from this catering business at least one time in the past. You have just received this survey in an e-mail from the catering company. The e-mail contains a link that takes you to a Web-based survey process (such as Google Forms or SurveyMonkey).  Three questions use a 0-10 scale without stating that 10 is good. Plus, a 1-5 scale is much more common.  Survey asks for company name which may reduce the response rate.  Catering for 10 people should take much less time than for 100 people so without additional information, this questions would not provide any useful information.  Biggest problem question is open-ended and that would make analyzing that question more difficult than would be a list of items to rate.  Features for the new system is also open ended and would be hard to analyze.  The question about convenience/speed/accuracy is a double-barrowed question. Most likely, customers would value all of these.  How often does not specify over what time period. 5. Anne did a couple of things right: she pre-tested the questionnaire and she gave the participants a definite due date. These steps are important in conducting questionnaires. Since they obviously weren‘t sufficient, there may have been some other things she could have tried.  A note of explanation about the purpose of the questionnaire and how the information will be used could have been valuable. Since the questionnaire was seeking both positive and negative comments on the current system, Anne needed to assure the clerks of their anonymity (this was not mentioned in the case).  Stating that the questionnaire was being sent to all clerks could have both helped and hindered the response rate. If a clerk knows that the questionnaire was sent to everyone, then they may not feel ‗singled out,‘ and may be more willing to participate. On the other hand, knowing that everyone got a questionnaire may be interpreted to mean that any particular individual‘s lack of response will not be noticed.  A reward or inducement for responding can help. Perhaps Anne could have provided an award to the sales location with the highest response rate (a picnic lunch or pizza party for everyone is popular). This has the advantage of adding a little competitive spirit and can improve overall participation. Individual inducements such as coupons or gift certificates can also be useful.  It might have been possible for the sales supervisors at each location to administer the questionnaires to all of their clerks simultaneously at a regular staff meeting. Anne could have attended and been available to answer all their questions about how the information will be used. The clerks would have the visible support of their supervisors as well to motivate their cooperation.

1-63


The sales supervisors at each location could have required completion of the questionnaires and monitored compliance by the clerks. Managerial coercion may be needed in some situations. However, Anne would have to be cautious in interpreting the survey results in this case, because the questionnaires are not necessarily being completed anonymously (limiting the truthfulness of the responses), or the respondents may just put down anything in order to be done with the requirement. 6. Central City Community College recently authorized a system development project focused on the college‘s Career Center. A job posting capability is in the existing system, but there is no way for students to upload resumes or schedule interviews with recruiters. The Career Center director wants to add several new features to make the system more useful and valuable to both students and recruiters. The following Business Needs were drawn from the System Request document.  Business requirements include the ability to upload resumes and perhaps cover letters along with students being able to schedule recruiting interviews.  User requirements include recruiters searching resumes and posting interview schedules.  Functional requirements include a place to upload resumes and interview schedules, a process for scheduling interviews, and a way of notifying students of upcoming interviews.

1-64


Supplemental Minicases 1. Tom and Jerry are systems analysts who have been assigned to a new systems development project. They are meeting to plan the requirements analysis phase of the project. Tom believes that problem analysis is the best strategy for the project, while Jerry supports using duration analysis. A. Under what circumstances is problem analysis the most preferred analysis strategy? Answer: Problem analysis is an appropriate strategy to use when the goal of the project is primarily to enhance the efficiency of the As-Is system. Projects that have a limited need to integrate information from throughout the organization also may be addressed with the problem analysis strategy. If this project‟s scope is rather narrowly defined (primarily, the As-Is system), then problem analysis may be selected. If financial resources are limited, problem analysis may be chosen because it is a low cost strategy. B. Under what circumstances is duration analysis the most preferred analysis strategy? Answer: Duration analysis is an appropriate strategy to use when the goal of the project is to make moderate improvements to the As-Is system. When the team perceives that one or more of the business processes needs substantial improvement, duration analysis can be useful in identifying the areas that should be targeted. C. Do these two techniques complement each other in any way? Could be both be used in a project? Explain. Answer: It is certainly possible to employ both strategies in a project. Duration analysis should be useful in identifying those business processes that are in need of substantial modification. Those processes can then be targeted by the team as needing significant rework. Other business processes may be identified that just need to be made more efficient. Problem analysis can be used for those processes to generate users‟ ideas for improvements. Tom and Jerry should carefully evaluate the Systems Request and talk with the project sponsor to determine the primary objectives of the project. Based on this information, they can recommend one or more analysis strategies to the project sponsor.

1-65


2. The Randall Company is a mid-sized trucking and distribution business that has been experiencing problems with its sales entry and customer support system. The system uses rather old technology, plus it incorporates a number of complex procedures that are cumbersome for the users to complete. Management has been aware of the need for this system renovation for some time, and has finally committed to investigate a new system. The IS department head has designated Jenny Mills as project manager for the project. After several conversations with the key managers and users in the sales and support department, Jenny feels some concern about the direction of the project. On the one hand, she has heard numerous strong user complaints that the system should ―just be thrown out!‖, suggesting a BPR type of project. On the other hand, the managers have repeatedly expressed concern about getting the new system developed quickly without too much expense. Jenny has also been told by management not to ―shake things up too much.‖ In short, management seems to be taking a very cautious approach to this project. Jenny‘s own opinion is that this situation is crying out for a BPR project. The system is antiquated and awkward, and a fresh approach with up-to-date technology could really transform the business. Do you think Jenny should move ahead with her analysis planning using a BPR strategy? Develop a persuasive argument to support your position. Answer: It is tempting in a situation like this to go for the BPR analysis strategy. The business value that could be achieved with a successful BPR project is extremely alluring. Unfortunately, the high failure rate associated with these projects (estimated by some to be as high as 70%) suggests that all factors must be in place to achieve a successful result. Since BPR projects involve high cost, radical change, and high risk, this situation does NOT appear to be good BPR candidate. It does not appear that there is sufficient organizational support for this type of project (especially by management). Jenny should not stick her neck out and try to accomplish too much for this project. She cannot be successful unless she can identify a vocal project champion who can pave a political path to overall management support and enthusiasm for a BPR project.

1-66


3. Mark Van Dorn, president of Van Dorn Sub-Oceanic Exploration, Inc., has authorized his Director of Information Services to begin a major project that will redesign the engineering support workstations used by his staff of design engineers. Mark has been concerned for a number of months that his firm was losing market competitiveness because of inadequate computer support for his engineering staff. Richard, his IS Director, is eager to begin the project. He and his staff have many ideas on how new hardware, software, and networking technologies can support the work of the design engineers. He is very concerned, however, that the engineers participate in defining their needs for this new system, so that the system will truly be valuable to them and so that they are more likely to use its capabilities. Richard and Mark have discussed the process for including the engineers in the analysis process, and Richard has recommended a technique called Joint Application Development (JAD). One of his IS staff members used JAD in a previous job, and is an experienced JAD facilitator. Richard explained how JAD involves the users and managers in a series of intensive group workshops that will guide the group through the process of identifying needs for the new system, and formulating the design of the new system. Mark was impressed with the JAD concept, and realized it would certainly help accomplish his objective of involving his engineers in the development process. After reflecting on his conversation with Richard, Mark has identified a couple of concerns, however. One is the amount of time his engineers would have to commit to the JAD sessions. Can his firm withstand the lost productivity of the core of his engineering staff for a number of days? A second, and perhaps more important concern, is the fact that Mark knows the personalities of his engineers better than Richard. The engineering staff tends to break down into two groups. One group consists of seasoned ‗old-timers‘ who are accustomed to traditional ways of doing engineering. Several of this group are tough, irascible, ex-nuclear submariner types who have domineering personalities. The other group is younger, right out of college, who are eager to utilize computer tools and technologies they were exposed to during their college training. A few of this group are outspoken, but most defer to the older engineers who have far more experience and seniority. Mark has serious concerns about getting these engineers to work together on a JAD project team. One evening, shortly after his discussion with Richard, Mark called his daughter, Julia, who is a IS consultant in another city. Mark laid out for her the need for the project, his goal of heavily involving the engineering staff, and his concerns about the strong personalities clashing and the shy personalities getting ignored during the JAD sessions. Julia‘s response was immediate. ―You need to use a new way of performing JAD, called e-JAD. This will take care of most of your specific concerns. My firm has already performed several e-JAD consulting engagements, and we‘re pleased with it. I think it will work for you.‖

1-67


Explain what Julia means by e-JAD. Why does she think it may be a solution to this problem? Are there any disadvantages in using e-JAD? Answer: Despite the presence of a trained facilitator, JAD groups are still subject to some of the problems common to decision making groups. Dominant personalities may overshadow or intimidate others in the group. Differences in status may make participants reluctant to speak up with controversial ideas. Shy individuals may find it difficult to contribute. These problems can reduce the effectiveness of the JAD processes. e-JAD (electronic JAD) uses groupware tools to mitigate some of these group problems. Specifically, in the idea-generation activities of the group, the participants use groupware software to enter their ideas anonymously and share them with the entire group. The anonymity encourages everyone to share their thoughts without fear, and enables shy people to „speak up.‟ Tools are used to enable the group to rank and vote on priorities, enabling everyone to have an equal voice in decisions. Typically, discussion is tightly controlled during e-JAD so that the influence of domineering individuals is minimized. e-JAD can substantially reduce the time involved in JAD sessions. However, there will be the additional expense associated with obtaining the groupware needed for the e-JAD sessions. An experienced e-JAD facilitator will also be necessary. This is probably a good time to bring in a consulting firm like Julia‟s to lead this process. The additional cost will most likely be justified by a far more productive JAD, better information gained from the engineers, and a more satisfying experience by all who are involved.

1-68


4. Angela is a systems analyst for the Fair Grain Baking and Confectionery Company. Angela was thrilled to be assigned to a new project that will develop a new production and operations control system for the company‘s four production facilities. Angela was brought on the project team just as the information gathering process was beginning. Her first assignment was to conduct several interviews with key personnel from the production areas of two of the facilities. Larry is a production supervisor at the Lakeland plant. Larry has been in his position for sixteen years. He is a short, burly man with a no-nonsense attitude. Angela is a little intimidated by him before she even begins the interview but she vows not to let her nervousness show. Larry arrives at the conference room for the interview right on time. He sits opposite from Angela, leans back in his chair, and crosses his arms across his chest. As Angela works through the interview agenda, she finds that his every answer is brief, gruff, and to the point. Try as she may, Angela cannot get him to loosen up or elaborate on any of his answers. After only ten minutes, Angela has exhausted her list of questions and cannot think of anything else to say. Awkwardly, she thanks Larry for his time and concludes the interview. The next morning, Angela is scheduled to meet with Mary, a production crew chief. Mary has been with the company for eight years, and worked her way up from assistant line operator to her present crew chief position. As Mary enters the conference room (ten minutes early), Angela notices that she seems quite nervous and has trouble making eye contact. Mary perches on the edge of her chair throughout the interview. Inwardly, Angela smiles with relief. Mary will be nowhere near as difficult to handle as Larry was. As the interview begins, Mary anxiously answers every question. Gradually, Angela notices that Mary is straining to give her whatever answer she appears to be asking for. If Angela asks about a potential problem, Mary assures her there is a problem. If Angela asks for a process description, Mary provides a detailed description until Angela seems satisfied. It slowly dawns on Angela that, in a sincere effort to please, Mary will tell her whatever Mary thinks she wants to hear. Angela has encountered two different but equally problematic behaviors in these two interviews. Larry has responded to her questions with the barest minimum of answers. Mary has attempted to anticipate what Angela wants to hear, and strove to please with her every answer. In both cases, Angela has far less information than she needs to fulfill her objectives. How should she have handled Larry? How should she have handled Mary? Answer: Larry‟s behavior may suggest resentment or antagonism toward the project. His early behavior of arriving right on time suggests he doesn‟t want to spend any more time on this than he must. His body language of leaning back and crossing his arms suggests a defensive attitude. His terse answers may just be his way of communicating, but could also indicate his unwillingness to contribute to the project. If Angela had recognized these signs early, she could have taken steps to set him at ease. Perhaps she could try to build a little rapport at the outset of the interview

1-69


(sports, weather, hobbies, etc.) to break the ice. If his answers are still very terse, she could try to explain how important his ideas are to the success of the project. Maybe she could get him to cooperate if he realized the value of his experience and ideas. If she still is encountering resistance, Angela could try to confront it head on, and just ask Larry what his concerns and reservations are about the project. Perhaps he is concerned about being able to understand the new system, or about potential job loss in his plant due to the new system. If Angela understands the source of his resentment, she may be able to allay his fears and get him on her side. If she can‟t, she will have to look for an alternative source to elaborate on the interview topics. Mary‟s behavior reflects her uncertainly about what is expected of her in the project. Although she is trying to cooperate, the value of her information is low because its accuracy is questionable. Angela needs to know how things really are. Once Angela began to sense that Mary was creating answers designed to please her, she should have taken steps to help Mary better understand her role in the project. Angela should have explained the reason why she needs to talk to people who have Mary‟s perspective, and emphasize the valuable insights that people on the front lines can provide to the project team. This may help Mary become more confident in the role she is in. However, if Angela feels that Mary is continuing to provide answers primarily to please her, she should be prepared to verify everything she learned from Mary using alternate sources.

1-70


Experiential Exercises 1. Purpose: to experience a group process using the root cause analysis technique. Form the class into groups of four or five students. Have each student group react to the following question: What would you like to see in a new student registration process here at the university? Each group develops a list of the features they would like to have in a revised registration process. Have the groups exchange lists so that every group is working on another group‘s list of student registration process features. Work backwards from the list, and identify the problem(s) that is being solved by each feature that is requested on the list. Prioritize these problems in the order of their importance and urgency. Prepare a new list of the prioritized problems that are being addressed by the listed features. Have the groups exchange lists again. Using the list of problems, generate a list of possible root causes of the two most significant problems. Identify the assumptions that underlie each of the potential root causes of the problem. As a class, have each group identify and discuss the highest priority problem on their list, and present and explain their list of possible root causes of that problem. Have the class discuss whether the group correctly identified the true root cause of the problem. 2. Purpose: to experience the analysis technique of informal benchmarking. It is fairly easy to enable students to gain an appreciation for the analysis technique of informal benchmarking. Most colleges and universities use their web-sites as a significant aspect of new student recruiting. Have students assume the role of a prospective college student evaluating potential schools to attend for an IS degree. Visit the web sites of several schools, including a peer institution to your school, perhaps an in-state rival institution, and a premier institution. Have the students compile a list of the strengths and weaknesses of each site visited. Have them compare the sites visited with your own institution‘s web site. What ideas can the students generate to improve/enhance your institution‘s web site?

1-71


3. Purpose: to learn about the BPR strategy directly from a project participant. Many universities have joined the BPR bandwagon. It is possible that there have been on-campus BPR projects at your own institution. If this is the case, it is an ideal opportunity to bring one or more visitors to class to discuss their BPR experiences with the students. Since the user perspective is valuable here, it is well to try and get a user as well as an IS participant to visit class. The purpose of the visit is to learn more about the disruptions that occur as a part of BPR projects, and the amount of uncertainty and risk associated with these projects. No one can really communicate this as well as someone who has been in the trenches. Have the students prepared to try and identify the analysis techniques that were employed by the team and how successful those techniques were. How successful was the project overall? What factors can be identified that contributed to the project‘s success (or failure). 4. Purpose: to experience the analysis technique of duration analysis. Purchasing textbooks from the university bookstore is a process that at most institutions is filled with inefficiencies. Because it is a process that every student has experienced, it is ideal to use as a subject of a duration analysis. Have students outline the activities performed during the process of buying their textbooks for a semester. Require them to get very specific and detailed in their determination of the process steps and activities. Then, determine an overall class average time that it takes to purchase textbooks at your bookstore at the start of a semester (each student‘s experience will be different, so a class average may be the best way to determine a total time for the process figure). Working in pairs, have the students measure the expected time requirements to perform each of the activities in the book buying process. Of course, time spent waiting for service, waiting in lines, etc., is omitted. Tally up the time spent in each activity. Have each student team share their results with the class. Measurement differences should be discussed, because students may have defined the activities differently and therefore computed different times (an important lesson to learn about developing common understanding of terms and definitions!). Comparing the total time of the overall process with the sum of the process activity times should reveal dramatic inefficiencies in the book buying process. Discuss with the class some alternatives to traditional book buying (advance ordering of books, web-based booksellers, web-based course materials, etc.).

1-72


5. Purpose: to experience the activity of developing good interview agendas. Have students assume that they are on the project team that will be developing a new student registration system for your institution. Form the class into groups of four students. Within each team, two students will work together to develop an interview agenda to be used when interviewing the Registrar regarding the new system. The other two students will work together to develop an interview agenda to be used when interviewing students regarding the new system. The two subgroups within each team should not consult with each other during the development of their interview agendas. The content of the students‘ interview agenda should include:  goals for the interview  outline of the information that the interviewee should be able to provide  questions to be asked during in the interview in the specific sequence that will be followed After the subgroups have completed their agendas, the team should meet together. The subgroups should exchange interview agendas, and then discuss the agenda with each other. The focus of their discussions should be on how successful the interview plans were and how effective the interview questions were at eliciting the desired information. Teams should help each other work on developing effective questions that are phrased appropriately for the interviewee. Differences between interview structures and questions that are appropriate for students versus those that are appropriate for the Registrar should be stressed so that students begin to appreciate the need to consider their audience in the interview preparations. 6. Purpose: to practice interviewing through role playing. This exercise is modification of Experiential Exercise #1 above. In this version, rather than having the students exchange and discuss their interview agendas with their team members, they will actually practice the interview through role playing. After the subgroups have completed their agendas, the team should meet together. Each student will perform a mock interview with one of the students from the other subgroup. The interviewer should follow the planned agenda, and the observing students should critique how successful the interview structure and the interview questions were. Following the mock interviews, the student team should discuss together the results of the mock interview process. The focus of their discussions should be on how successful the interview plans were and how effective the interview questions were at eliciting the desired information. Were the interviewers prepared for everything that happened during the interview? Did the interviewee try to take the interview in an unexpected direction? Was the interviewer satisfied with what was learned through the interview? Why or why not?

1-73


7. Purpose: to experience the activity of designing questionnaires. Have students assume that they are on the project team that will be developing a new student registration system for your institution. Form the class into groups of four students. Students will pair up within the teams of four. Each pair of students will develop a questionnaire that will be distributed throughout campus to collect students‘ ideas for the new registration system. Each pair of students will work independently from the other. When the questionnaires are complete, the subgroups will meet together and exchange questionnaires. Each pair of students will evaluate the other pair‘s questionnaire regarding these issues:  What were the apparent goals of the questionnaire designers (based on the questions themselves)?  Assess the quality of the questions - were they understandable or misleading; was there any confusion; did the questions elicit the response the designer was looking for?  Will the questions and answers provide the content needed to fulfill the designer‘s apparent goals?  After administering this questionnaire to its intended audience, what will be learned by the project team? This feedback and discussion with fellow students should help students gain an appreciation for the difficulty of developing good questionnaires that provide meaningful information. 8. Purpose: to practice the information gathering technique of observation. Students will be required to find two different types of processes to observe. One process should be primarily a physical task or process, such as making lunch, tying a tie, washing the car, or working out at the gym. The other process should be primarily mental (performed at a desk), such as studying, writing a program, paying bills, or balancing a checkbook. The student should get permission to observe, and then unobtrusively observe the process. There should not be any discussion between the observer and the observed party. The student should then prepare a written description of the observed process. Any steps that are unclear or not understood should be noted. After the student has written up the description, s/he should meet with the observed party and discuss the areas that were unclear. Chances are good that there will be some parts of the physical activity that were not clear and need explanation. Chances are very good that there will be much of the ‗mental‘ activity that was not obvious through observation. This should demonstrate situations where observation is not very effective. The observer and observed party should also discuss how the presence of an observer influenced the observed party‘s behavior.

1-74


Chapter 4: Understanding Processes with Use Cases and Process Models Teaching Tips and Strategies (from Alan Dennis) We have developed this book so that the focus is first on use cases, not DFDs, because in my consulting work, I've found it easier to start with the use cases, rather than jumping immediately into the DFDs. Use cases have fewer rules and are very close to how users think (and inexperienced analysts). There are no standards for the structure of a use case, so the form we developed is not "standard." Nonetheless, we have found it useful because it provides structure in helping the students to understand what questions to ask about processes and how to move from the big picture to the lower levels of detail. Following the form and the method described in the "building use cases" section also makes it very difficult for students to make common mistakes such as forgetting to having data go into data stores without a process moving them. The process for building use cases (also not a standard) is a "breadth-first-search" technique; that is, the students gradually build each use case end-to-end, by repeatedly going through the use case gradually adding more and more detail to each element of it (rather than getting each part perfect before more on to the next part of the use case). I've found this to be the most effective approach for in my consulting practices when I've had users with little prior SA&D experience build use cases and I've simply pulled it over for use in the classroom. The key part in using this approach is to make students focus on each step as they do it, rather than jumping ahead. There is a temptation to try and do it all in one pass, but the problem is that everybody (myself included) makes mistakes in doing use cases, and the more times you iterate through the use case, the more likely you are to catch the mistakes and fix them before the project gets out of hand.

1-75


Answer to Your Turn 4-1: Campus Housing Student responses will vary. One example of a set of use cases: ID: _1_ Importance Level: High Use Case Name: Apt. Owner adds or deletes apartment Primary Actor: Apt. Owner Short Description: This use case describes how an apt. owner adds or deletes an apartment from the database of available apartments.

Trigger: Apt. owner has an apartment available or an apartment becomes unavailable Type: External / Temporal Major Inputs:

Major Outputs:

Description Apartment owner name Apartment address Number of bedrooms Number of bathrooms Apt. Owner Restrictions

Source

Description

Apt. Owner Apt. Owner Apt. Owner Apt. Owner Monthly rent Apt. Owner

Apartment owner name Apartment address Number of bedrooms Number of bathrooms Monthly rent Apt.DataStore

Destination Apt.DataStore Apt.DataStore Apt.DataStore Apt.DataStore Apt.DataStore Restrictions

Major Steps Performed

Information for Steps

1.

Apartment owner contacts service

Apartment information

1.1. When apartment become available, 1.1.1. Apt. Owner fills out form with appropriate information. 1.1.2. Apartment Information is entered into database.

Completed Form Apt info (datastore)

1.2. When apartment becomes unavailable: 1.2.1. Service deletes apartment

Request to delete apartment

Use Case Name: Student Database Search ID: _2_ Importance Level: High Primary Actor: Student Short Description: This use case describes how a student searches the database for an apartment Trigger: Student decides to search for an apartment Type: External / Temporal

1-76


Major Inputs:

Major Outputs:

Description Number of bedrooms Number of bathrooms Monthly rent Restrictions

Source

Description

Student Student Student Student

Apartment Found Apartment address Number of bedrooms Number of bathrooms Monthly rent Restrictions Address Owner Contact Info

Major Steps Performed

Destination Student Student Student Student Student Student Student Student

Information for Steps

1.

Student browses to Apartment Search website.

Website address

2.

Student enters search criteria.

Student search criteria (bedrooms, bathrooms, rent, restrictions) Search results

3.

Student contacts Apartment Owner(s) for selected apartments.

1-77

Search results Apartment Owner contact information


Answer to Your Turn 4-2: Functional Requirements for DrōnTeq Create a Parts Request Student responses will vary. The functional requirement of 2.1, Create a Parts Request, in figure 3-3 of the DrōnTeq Customization Shop Management are recorded in the initial functional requirements. The student should be able to expand each of these requirements and provide an expanded revised list of functional requirements based on the UC-3 provided in Figure 4-10.

Initial Functional Requirement 2.1, Create a Parts Request, for DrōnTeq (from Figure 3-3) 

The system will send a Parts Request for needed drone components on an order to Drone Inventory department. (2.1).

Revised Functional Requirement 2.1 for DrōnTeq (based on UC-3, Figure 4-10) 

The shop manager initiates the creation of a Parts Request

For all needed components for the custom drone: o

The shop manager specifies the requirement component and quantity needed

o

The system checks the quantity available for the part in the Inventory System and indicates that the needed component is in stock or out of stock with an expected availability date.

o

The component is added to the Parts Request along with the availability info.

The shop manager specifies that all components have been entered into the Parts Request.

The system stores the new Parts Request

The system transmits the Parts Request to the Inventory Department

1-78


Answer to Your Turn 4-3: Functional Requirements for DrōnTeq Obtain Component Parts Student responses will vary. The functional requirements of 2.3, Obtain Component Parts, in figure 3-3 of the DrōnTeq Customization Shop Management are recorded in the initial functional requirements. The student should be able to expand each of these requirements and provide an expanded revised list of functional requirements based on UC-4 and UC-5 provided in Figure 410.

Initial Functional Requirements for (from Figure 3-3) 

The system records the arrival of component parts as they arrive in the shop parts room. (2.3)

Revises Functional Requirements for DrōnTeq Obtain Component Part (based on UC-4, Figure 4-10) 

The Parts Room clerk retrieves the Parts Request using the Parts Request number.

The system requests that the salesperson confirms that the part is correct and is undamaged. o

If the part is not correct, the Part Request is closed; exit the use case

o

If the part is damaged, the Part Request is closed; exit the use case

o

If the part is correct and undamaged, the date/time of receipt is recorded

The Parts Room clerk enters the Parts Room location where the part is stored

The system stores the updated Parts Request datastore.

The system checks to see if all needed components on the Parts Request have been received from Inventory. o

If all parts have been received, the system begins the Finalize Parts Request process

o

If not all parts have been received, the process ends.

1-79


Answer to Concepts in Action 4-A: Building a Bad System? 1. One reason the problems were missed is that customers were not considered as a source of inputs to the system. The agents were certainly documented, but no one realized that the customers might bypass the agents and directly use the system. 2. The analysts or agents might have researched similar sites to determine that customers could indeed use the system directly. The team might have conducted a walk-though with personnel other than agents and analysts, which may have brought the activity to light. 3. Instead of abandoning a system that worked fairly well, the company might have optimized it instead. Recognizing that customers use these types of sites, they might have made this so useful to the customer that the site, and the company name, became known as the best of place to go when searching for a home.

Answer to Your Turn 4-4: Campus Housing Student responses will vary depending on their answer to Your Turn 4-1.

1-80


Solutions to End of Chapter Questions 1. What is the purpose of developing use cases during systems analysis? A use case represents how a system interacts with its environment by illustrating the activities that are performed by the users of the system and the system‘s responses, and is often thought of as an external or functional view of a business process. Use cases are developed during systems analysis activities to help the analysts better understand the situation and simplify later modeling steps in the analysis phase. 2. How do use cases relate to the requirements stated in the requirements determination? A use case describes in more detail the key elements of the requirements definition. Use cases will provide more detail on the processes by which the system is to meet those requirements and the data the system needs to capture and store. 3. Describe the elements of the use case‟s basic information section. The basic information section includes use case name, number, a brief description, and the trigger for the use case. 4. What is the purpose of the input and outputs section of the use case? The purpose of the inputs and outputs section is to list all inputs and associated sources, and outputs and associated destinations for the proposed system. 5. What is the purpose of stating the primary actor for the use case? The purpose of stating the primary actor is to identify the external entity that initiates the event to which the system responds. The actor refers a person, another software system, or a hardware device that interacts with the system to achieve a useful goal. 6. Why is it important to state the priority level for a use case? The priority level of a use case identifies the relative significance of the use case in the overall system. Use cases are classified as high, medium, or low. This classification allows for immediate identification of essential use cases. 7. What is the distinction between an external trigger and a temporal trigger? Give two examples for each. A temporal trigger is based upon the passage of time. Examples are time to pay a bill; library book is due. External triggers are things outside the system to which the system must respond. Examples are a customer placing an order; customer payment is received.

1-81


8. Why do we outline the major steps performed in the use case? Steps are outlined in order to determine the sequence of events that must occur to complete the use case. An outline of the sequence of events aids in ensuring that all steps are included. 9. What is the purpose of an event-response list in the process of developing use cases? The purpose of an event-response list is to provide a step between the requirements definition and use cases and helps to clarify the number and scope of the use cases. Building an event-response list allows for a review of the requirements definition and associated actions. 10. Should a use case be prepared for every item on the event-response list? Why or why not? Initially, every event on the event-list should be translated into a use case. The information in the functional requirements definition sometimes just flows into the use cases, but it usually requires some thought as to how to structure the use cases. Use case development can be viewed as an iterative process, and further analysis may allow the developer to discard or add use cases to the set. 11. Describe two ways to handle a situation in which there are a large number of use cases. One possibility for the large number is that the use cases are not defined at the right level of detail. If the use cases are too ‗small‘ we do not need to bother to create a use case, but simply use the information in the requirements definition itself to build the process and data models. If there really are more than eight or nine major use cases, the use cases are grouped together into packages of related use cases. These packages are then treated as the major processes for the top level of the process model with the use cases appearing on lower levels. The packages could also be treated as separate systems and modeled as separate systems. 12. What role does iteration play in developing use cases? It is best to develop the major use cases and their basic information first so that no major events are forgotten. Then, the inputs and outputs are added and the detailed steps are outlined. As the inputs and outputs associated with each step are identified, more details may be identified. It is not practical to try and get every detail right the first time through the use case, so we cycle through the steps iteratively until the use case is complete.

1-82


13. Describe the best way to validate the content of use cases. Role-playing can be useful in confirming the validity of the use case. If the users execute the steps of the use cases using the written steps of the use cases as a ―script‖ for actions to take, they will be able to find errors or confirm the correctness of the use cases. 14. What is a process model? What is a data flow diagram (DFD)? Are the two related? If so, how? Process models are used to document the information obtained during the analysis phase of a systems development project. DFD is a common technique used in processing modeling. They document the business processes and the data that passes between these business processes. 15. Distinguish between logical process models and physical process models. Logical process models simply describe the process. They do not have any hint of how those processes are constructed. On the other hand, physical process models provide the information that the developer will need to build the system. 16. Define what is meant by a process in a process model. How should a process be named? What information about a process should be stored in the CASE repository? A process is an activity or a function that is performed for some specific business reason. Every process should be named starting with a verb and ending with a noun. The information stored in the CASE repository should include the following:     

Number Name (verb phase) Description At least one output data flow At least one input data flow

1-83


17. Define what is meant by a data flow in a process model. How should a data flow be named? What information about a data flow should be stored in the CASE repository? A data flow shows a single data or set of logically-related data items that move into or out of processes. It should be named using a now. The information stored in the CASE repository should include the following:      

Label (name) Type (Flow) Description Alias Composition (descriptions of the data elements) Any notes

18. Define what is meant by a data store in a process model. How should a data store be named? What information about a data store should be stored in the CASE repository? A data store is a set of data that is stored all together. The data store is what actually contains or stores the data. As with a data flow, it should be named using a noun. The information regarding a data store that should be stored in the CASE repository includes the following:      

Label (name) Type (store) Description Alias Composition (a description of the data elements) Any notes

1-84


19. Define what is meant by an external entity in a process model. How should an external entity be named? What information about an external entity should be stored in the CASE repository? An external entity is something outside the scope of the system but which interacts with the system. It could be a person, organization, or another system that supplies information to the system and/or receives information from the system. It should be named using a noun. The information regarding a data store that should be stored in the CASE repository includes the following:     

Label (name) Type (entity) Description Alias Any notes

20. Why is a process model typically composed of a set of DFDs? What is meant by decomposition of a business process? Most business processes are simply too complex to be depicted using one single diagram. As a result, business processes are usually depicted with a set of DFFD. The first diagram is the Context Level and will show a summary of the system. Subsequent DFDs will show processes within that system. Decomposition means breaking down a business process into smaller, logical processes. 21. Explain the relationship between a DFD context diagram and the DFD level 0 diagram. The first diagram is the Context Level and will show a summary of the system so it is a high-level overview of the entire system being represented by one process symbol. The only other things shown are data flowing into and out of the system along with the external entities that interact with the system. A level 0 diagram is a high-level view of the internal process of the business system. Since they are at a high level, subsequent diagrams depict increasing levels of detail. 22. Explain the relationship between a DFD level 0 diagram and DFD level 1 diagram(s). The DFD level 0 diagram only shows the major high-level processes of the system. Each process is then decomposed into a more detailed DFD level 1 diagram. Generally, there will be at least one DFD level 1 diagram for each process shown in the context level diagram.

1-85


23. Discuss how the analyst knows how to stop decomposing the process model into more and more levels of detail. The complexity of the overall system being modeled drives this so it will be different for each system. Processes are usually decomposed when this additional decomposition helps to understand the process so this is driven by complexity. You should typically have at least three but not more than nine processes per DFD page. 24. Suppose that a process on a DFD is numbered 4.3.2. What level diagram contains this process? What is this process’s parent process? Level 2 diagram contains the process numbered 4.3.2. Parent process is 4.3 25. Explain the use of structured English in process descriptions. Structured English is one method of describing a process. Typically, short sentences are used to describe the elements or steps in the process. 26. Why would one use a decision tree and/or decision table in a process description? Alternate methods of describing a process are a decision tree and a decision table. A decision tree is useful in that it aids in understanding decision logic pertaining to nodes (questions) and branches (answers). A decision table aids in understanding the actions (business policies) that based on a condition or a set of conditions. 27. Explain the process of balancing a set of DFDs. Alternate methods of describing a process are a decision tree and a decision table. A decision tree is useful in that it aids in understanding decision logic pertaining to nodes (questions) and branches (answers). A decision table aids in understanding the actions (business policies) that based on a condition or a set of conditions. Balancing means ensuring that all information presented in a DFD at one level is accurately represented in the next-level DFD. This does not mean that the information is identical, but that it is shown appropriately. 28. How are mutually exclusive data flows (i.e., alternative paths through a process) depicted in DFDs? Mutually exclusive data flows (alternatives) are all shown on the data flow diagram. Nothing is shown on the diagram to indicate these are alternatives. The information in the written process description will document the fact that the data flows are mutually exclusive.

1-86


29. Discuss several ways to verify the correctness of a process model. Model correctness can be verified by having the users validate it in a walk-through, or through role-playing. Analysts should also check that the decomposition of diagrams goes to the same level of detail (not necessarily the same number of levels). Analysts should also check for consistency in terminology throughout the model. 30. Identify three typical syntax errors commonly found in DFDs. Students may list any of the syntax errors found in Figure 4-25. 31. What is meant by a DFD semantic error? Provide an example. ―Semantics‖ refers to the meaning of the DFDs and whether they accurately describe the business process being modeled. Semantics errors can be thought of as misunderstandings by the analyst in collecting, analyzing, and reporting information about the system. One example of a semantic error is one in which the data inputs to a process do not correspond to the type of information in the output data flow (see following DFD excerpt).

32. Creating use cases when working with users is a recent development in systems analysis practice. Why is the trend today to employ use cases in user interviews or JAD sessions? Users may be confused or intimidated by the symbols used in drawing DFDs. Most users can verbalize the content of a use case more easily than they can grasp drawing DFDs. Use cases are easier to start with than DFDs for most users.

1-87


33. How can you make a DFD easier to understand? (Think first about how to make one difficult to understand.) Try to ensure that the processes are clearly named. It is confusing if some processes on a diagram are significantly more complex than others on the same diagram. Try to structure the flow through the processes from top to bottom, left to right, since that is the natural way most Western cultures read diagrams. 34. Suppose that your goal is to create a set of DFDs. How would you begin an interview with a knowledgeable user? How would you begin a JAD session? Although my goal is to create a set of DFDs, it is best to begin by creating a set of use cases. Therefore, I would begin my interviews or the JAD session by working with the users to identify the major events that are handled by the system and to complete the use cases for those events. After I had a complete and verified set of use cases, then I could work on structuring the information from them into a set of DFDs for the system.

1-88


Solutions to End of Chapter Exercises A. Create a set of use cases for the process of buying glasses from the viewpoint of the patient. Use Case Description Use Case Name: See eye doctor ID: _1_ Importance Level: High Primary Actor: Patient Short Description: This describes how a patient obtains a prescription for new eyeglasses. Trigger: Patient requires new eyeglasses. Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Major Outputs: Source

Description

___________ ___________ ___________ ___________ ___________ ___________

Destination

_______________________ _______________________ _______________________ _______________________ _______________________

Major Steps Performed

____________ ____________ ____________ ____________ ____________

Information for Steps

1-89


Use Case Description Use Case Name: Select and order eyeglasses ID: _2_ Primary Actor: Patient Short Description: This describes how a patient chooses and orders new eyeglasses.

Importance Level: High

Trigger: Patient has new eyeglass prescription and visits eyeglass store. Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Major Outputs: Source

Description

___________ ___________ ___________ ___________ ___________ ___________

Destination

_______________________ _______________________ _______________________ _______________________ _______________________

Major Steps Performed

____________ ____________ ____________ ____________ ____________

Information for Steps

1-90


Use Case Description Use Case Name: Purchase glasses Primary Actor: Patient Short Description: This describes how a patient purchases new eyeglasses.

ID: _3_

Importance Level: High

Trigger: New eyeglasses are ready and patient picks them up and pays for them. Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Major Outputs: Source

Description

___________ ___________ ___________ ___________ ___________ ___________

Destination

_______________________ _______________________ _______________________ _______________________ _______________________

Major Steps Performed

____________ ____________ ____________ ____________ ____________

Information for Steps

1-91


B. Draw a level 0 data flow diagram (DFD) for the process of buying glasses in Exercise A.

1-92


C. Create a set of use cases for the following dentist office system… Use Case Description Use Case Name: Patient makes or changes an appointment ID: _1_ Importance Level: High Primary Actor: Patient Short Description: This describes how a new appointment is made or an existing appointment is changed. Trigger: Patient calls to schedule new appointment or change an existing appointment. Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Major Outputs: Source

Description

___________ ___________ ___________ ___________ ___________ ___________

Destination

_______________________ _______________________ _______________________ _______________________ _______________________

Major Steps Performed

____________ ____________ ____________ ____________ ____________

Information for Steps

1-93


Use Case Description Use Case Name: Collect new patient information ID: _2_ Importance Level: High Primary Actor: Patient Short Description: This describes how new patient information is collected when a new patient arrives for appointment. Trigger: New Patient arrives for appointment. Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Major Outputs: Source

Description

___________ ___________ ___________ ___________ ___________ ___________

Destination

_______________________ _______________________ _______________________ _______________________ _______________________

Major Steps Performed

____________ ____________ ____________ ____________ ____________

Information for Steps

1-94


Use Case Description Use Case Name: Send appointment reminder card ID: _3_ Importance Level: Medium Primary Actor: System Short Description: This describes how reminder cards are sent to patients two weeks prior to appointment. Trigger: Time to send reminders two weeks before scheduled appointments. Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Major Outputs: Source

Description

___________ ___________ ___________ ___________ ___________ ___________

Destination

_______________________ _______________________ _______________________ _______________________ _______________________

Major Steps Performed

____________ ____________ ____________ ____________ ____________

Information for Steps

1-95


D. Draw a level 0 DFD for the dentist office system in Exercise C.

1-96


E. Complete the use cases for the dentist office system in exercise B by identifying the steps and the data flows within the use cases. Use Case Description Use Case Name: Patient makes or changes an appointment ID: _1_ Importance Level: High Primary Actor: Patient Short Description: This describes how a new appointment is made or an existing appointment is changed. Trigger: Patient calls to schedule new appointment or change an existing appointment. Type: External / Temporal Major Inputs: Description

Major Outputs: Source

Description

Destination

Patient name Patient Desired appointment Patient Appointment to change Patient Available appointments Appointment file Existing Patients____ Patient file ___________________________ ___________

Scheduled appointment Patient Scheduled appt Appt file Available appts Patient Check Patient name Patient file

Major Steps Performed

Information for Steps

________________ ________________

1.

Get patient‘s name. Check patient name with Patient file.

Patient name Patient File

2.

If new patient, get address and phone number and enter in new patient file entry.

Address Phone number

New Patient information 3.

If this is an appointment change, find current appointment in appointment file, and cancel it.

4.

Get desired appointment time and match with available appointments in Appointment file. When a suitable time is found, enter scheduled appointment in Appointment file and confirm with patient.

1-97

Appointment to change Existing Appointments Desired appointment Available appointments Scheduled appointments

_________ _________


Use Case Description Use Case Name: Collect new patient information ID: _2_ Importance Level: High Primary Actor: New Patient Short Description: This describes how new patient information is collected when a new patient arrives for appointment. Trigger: New Patient arrives for appointment. Type: External / Temporal Major Inputs: Description New Patient information (Includes name, address, Phone number and medical History)

________________________

Major Outputs: Source

Description

Patient

Destination

Patient Information

___________

Patient file

_______________________

____________

Major Steps Performed

Information for Steps

1.

When the patient arrives, determine if he/she has been seen before in this office. If they have not, have them fill out a patient information form.

Patient status

2.

Use the information on the patient information form to update and complete the patient‘s entry in the patient file.

Patient name Address Phone number Medical history

1-98


Use Case Description Use Case Name: Send appointment reminder card ID: _3_ Importance Level: Medium Primary Actor: System Short Description: This describes how reminder cards are sent to patients two weeks prior to appointment. Trigger: Time to send reminders two weeks before scheduled appointments. Type: External / Temporal Major Inputs: Description Current date Scheduled appts Patient Contact Info___

Major Outputs: Source Calendar Appt file Patient file_

________________________ ___________ ________________________ ___________ ________________________ ___________

Description

Destination

Appt notification card

Patient

_______________________ _______________________ _______________________ _______________________ _______________________

____________ ____________ ____________ ____________ ____________

Major Steps Performed

Information for Steps

1.

Current date Scheduled appointments

Each day, find the appointments in the Appointment file for the day two weeks ahead.

2. Prepare and mail appointment notification card to all patients having appointments. Name Address Appointment Appt notification card

1-99


F. Create a set of use cases for an online university registration system… Use Case Description Use Case Name: Maintain department course offerings ID: _1_ Importance Level: High Primary Actor: Department/Staff Short Description: This describes how department staff reviews course offerings, adds new courses, deletes existing courses or changes existing course information.

Trigger: Departments must prepare upcoming course offerings. Type: External / Temporal Major Inputs:

Major Outputs:

Description

Source

Course offering changes Course offerings

Description

Department Staff Course offering file

___________________________ ___________________________ ___________________________ ___________________________

___________ ___________ ___________ ___________

Major Steps Performed

Updated course offerings Course offering file Course offering list Dept staff

________________ ________________

Information for Steps

1. Department staff requests course offering list for the department. List of course offerings is generated.

Course offering list request Department identifier Course offering list

2.

New course information is entered.

New course information Course offering update

3.

Courses to delete are entered.

Course number to delete Course offering update

4.

Course modifications are entered.

Course number to modify Course changes Course offering update

1-100

Destination

_________ _________


Use Case Description Use Case Name: Maintain student enrollments ID: _2_ Importance Level: High Primary Actor: Student Short Description: This describes how students review the listing of courses available for enrollment, add and remove courses from their schedules, and review their schedules.

Trigger: Student needs to enroll in courses. Type: External / Temporal Major Inputs:

Major Outputs:

Description

Source

Available course request Available courses Course enrollment request Fee payment status

Student Available course file Student Fees file

___________________________ ___________________________

___________ ___________

Major Steps Performed

Description Avail course list Stdt enrlmt Student schedule

Destination Student Enrlmt file Student

________________ ________________ ________________ ________________

_________ _________ _________ _________

Information for Steps

1. Student requests list of available courses. List of available courses is generated.

Available course request Available course list

2.

Student adds course to current schedule. Fee payment status is checked and ―total hours enrolled‖ is checked. If OK, course is added to student schedule.

Course ID, Enrollment request Stdt enrlmt Fee payment history Available courses Student Schedule

3.

Student removes course from schedule.

Course ID Enrollment request

4.

Student reviews current scheduled courses.

Student ID Student schedule

1-101


Use Case Description Use Case Name: Course enrollment reports ID: _3_ Importance Level: High Primary Actor: Staff Short Description: This describes how department staff prints various reports on courses and enrollments. Trigger: Department staff needs information on courses and course enrollments. Type: External / Temporal Major Inputs:

Major Outputs:

Description Report request Course information Enrollment information

Source

Description

Staff Course offerings File Enrollment File

___________________________ ___________________________ ___________________________

Report requested

___________ ___________ ___________

Destination Staff

________________ ________________ ________________ ________________

_________ _________ _________ _________

________________

_________

Major Steps Performed

Information for Steps

1. Staff enters report request.

Report request

2.

Course offerings information Enrollment information Report requested

Requested report is generated.

1-102


G. Draw a level 0 DFD for the university system in Exercise F.

1-103


H. Create a set of use cases for A Real Estate, Inc…. Use Case Description Use Case Name: Maintain house seller information ID: _1_ Importance Level: High Primary Actor: Seller Short Description: This describes how house sellers enter into a contract to sell and provide information on a house to sell. Trigger: House seller wishes to sell house. Type: External / Temporal Major Inputs:

Major Outputs:

Description Sales Contract House information

Source

Description

Seller Seller

___________________________ ___________________________ ___________________________ ___________________________

___________ ___________ ___________ ___________

Destination

NewSales Contract New_House New_House_MLS

Contract file Offered Houses file Multiple listings file

________________ ________________ ________________

_________ _________ _________

Major Steps Performed

Information for Steps

1. Seller signs contract and provides house information.

Sales contract House information (seller)

2.

Offered House database is updated with new listing information.

3.

Data on new listing is transmitted to Multiple Listings file.

1-104

House information (seller) House information (new AREI listing) House information (AREI Offered Houses) House information (new MLS listing)


Use Case Description Use Case Name: Generate Buyer‘s Request ID: _2_ Importance Level: High Primary Actor: Buyer Short Description: This describes how buyers request and receive information on offered houses. Trigger: Buyers request information on available houses. Type: External / Temporal Major Inputs:

Major Outputs:

Description

Source

Buyer information form House information request CurrentHouse information MLS_House information

Description

Buyer Buyer Offered houses file Multiple listings file

___________________________ ___________________________

AvailableHouse info Buyer info

___________ ___________

Major Steps Performed

Buyer Buyer file

________________ ________________ ________________

_________ _________ _________

________________

_________

Information for Steps

1. If buyer requests information on a specific house, retrieve that information from the offered house file.

2.

Destination

If buyer wants to search for several prospective houses, obtain a buyer information form from buyer. Search offered houses file and Multiple Listing file for houses matching buyers specifications and provide house information to buyer.

1-105

Buyer specific house search request House request search results

Buyer information form Buyer multiple house search request House information search results


I. Draw a level 0 DFD for the real estate system in Exercise H.

1-106


J. Create a set of use cases for a Video Store… Use Case Description Use Case Name: Maintain Video inventory ID: _1_ Primary Actor: Video Supplier Short Description: This describes how to add and remove videos from video database.

Importance Level: High

Trigger: New video arrives or damaged videos are returned by customer. Type: External / Temporal Major Inputs:

Major Outputs:

Description

Source

Video descriptive information Damaged video information

Description

Video Supplier Manager

___________________________ ___________________________ ___________________________

Video removed from stock New video to rent

___________ ___________ ___________

________________ ________________ ________________

Major Steps Performed

Video file Video file

_________ _________ _________

Information for Steps

1. When new videos are received, enter video descriptive information into video file.

2.

Destination

When damaged videos are returned, the video entry should be removed from the video file.

1-107

New video descriptive information AVS video code & descriptive info Damaged video information AVS video code and delete request


Use Case Description Use Case Name: Maintain customer data ID: _2_ Importance Level: High Primary Actor: Customer Short Description: This describes how customer information is established and overdue fine status is eliminated. Trigger: Customer wants to rent a video. Type: External / Temporal Major Inputs: Description Customer information Overdue/damaged video fee Overdue/damaged fee payment

________________________ ________________________

Major Outputs: Source

Description

Customer Customers file Customer

Customer record AVS Customer card Fee payment

___________ ___________

Destination Customers file Customer Customers file

_______________________ _______________________

____________ ____________

Major Steps Performed

Information for Steps

1.

When a new customer wants to rent a video, he/she provides customer information. A record is entered into the customer file and the customer is given an AVS customer card.

Customer information AVS Customer card

2.

Customer removes overdue/damaged video fee by paying overdue fine.

Customer information Overdue video fee Overdue fee payment

1-108


Use Case Description Use Case Name: Maintain video rental data ID: _3_ Importance Level: High Primary Actor: Customer Short Description: This describes how video rentals are entered and returns and overdue videos are recorded. Trigger: Videos are rented and returned and become overdue. Type: External / Temporal Major Inputs:

Major Outputs:

Description Video to rent AVS card Video to return Overdue video Video information Customer data

Source

Description

Customer Customer Customer Customer file Video file Customer file

Rented video Overdue fee assessment Returned video Overdue video notice

___________________

Destination Rentals file Customer file Rentals file Customers

____________

Major Steps Performed

Information for Steps

1.

Customer selects video to rent and provides AVS customer card. If there are no overdue videos and no unpaid overdue fees, the rental is entered in the rental file.

AVS Customer Card Video to rent Rented video Overdue video fee

2.

Customer returns rented video. Returned video Current Video rentals

3.

Video becomes overdue. An overdue fee is assessed and added to customer file. Current date Video due date Overdue fee assessment Overdue video notice

4.

Manager produces report and contacts customers with videos that are two or more days overdue. Current Date Rented and overdue videos Customer information for overdue rentals

1-109


K. Draw a level 0 DFD for the video store system in Exercise J.

1-110


L. Create a set of use cases for the following health club membership system… Use Case Description Use Case Name: Maintain members ID: _1_ Importance Level: High Primary Actor: Member Short Description: This describes how club records new member information, makes member changes to member information, and removes members.

Trigger: Need to add, modify, or delete members. Type: External / Temporal Major Inputs: Description Member information Member information updates Member to delete

___________________________ ___________________________ ___________________________

Major Outputs: Source

Description

Member Member Management

New member record Member updates Member to delete

___________ ___________ ___________

Destination Members file Members file Members file

________________ ________________

Major Steps Performed

Information for Steps

1. New member joins club and provides descriptive member

New member information Current membership information

information.

2.

Existing member provides updates to member information.

Member information changes Member information updates Current membership information

3.

Members whose memberships have expired and who will not renew plus members who have died or moved away are removed from member file.

Member to delete Current membership information

1-111

_________ _________


Use Case Description Use Case Name: Maintain memberships ID: _2_ Importance Level: High Primary Actor: Manager Short Description: This describes how to record new memberships and process membership renewals. Trigger: Need to record memberships and renewals. Type: External / Temporal Major Inputs: Description New membership details Renewal request Member record Current Membership record Member renewal

Major Outputs: Source

Description

Manager Manager Members file Membership file Member

Destination

Updated Membership record Renewal offer Renewal details

Membership file Member Manager

_______________________ _______________________

____________ ____________

Major Steps Performed

Information for Steps

1.

When new membership is established, manager provides details of agreement (length and fee).

Membership details Membership record

2.

Contact members one month prior to membership expiration and offer renewal terms.

Current Date Current membership details Renewal details Renewal offer

3.

Current member renews membership. Member information Renewal information Membership details

1-112


Use Case Description Use Case Name: Maintain club usage records ID: _3_ Primary Actor: Member Short Description: This describes how to record and report on member usage of the club.

Importance Level: High

Trigger: Need to record member visit to club and produce manager's reports. Type: External / Temporal Major Inputs: Description Member ID Current date Current time Membership record Usage detail update

Major Outputs: Source

Description

Member Calendar Calendar Membership file Club Usage File

Member visit Usage report

___________________ ___________________ ___________________

Destination Club usage file Manager

____________ ____________ ____________

Major Steps Performed

Information for Steps

1.

Member checks in when using club. Member ID, time, and date of visit are recorded.

Current Date Current Time Member ID Visit date Visit time

2.

Manager wants report of heavy users and report of inactive members. Report request Member visit records Member information

1-113


M. Draw a level 0 DFD for the health club system in Exercise L.

1-114


N. Create a set of use cases for the Picnics-R-Us catering system… Use Case Description Use Case Name: Establish picnic contracts ID: _1_ Primary Actor: Customer Short Description: This describes how customers receive information and book picnics.

Importance Level: High

Trigger: Customer needs to establish picnic contract. Type: External / Temporal Major Inputs:

Major Outputs:

Description

Source

Picnic request Standard Menu Special Requests Special pricing details Customer Details

Description

Customer Menu file Customer Owner Customer

Destination

Standard menus Customer Special requests Owner Special pricing info Customer Initial picnic Contract file contract Customer information Customer file

Major Steps Performed

Information for Steps

1. Customer calls with picnic request and receives standard menu.

2.

Customer has special request and received owner's cost estimate.

3.

Customer decides to book picnic and an unconfirmed picnic contract is recorded in contract file.

1-115

Picnic request Standard menus Special request Special pricing

Customer details Unconfirmed picnic contract


Use Case Description Use Case Name: Maintain picnic contracts ID: _2_ Importance Level: High Primary Actor: Contracts Short Description: This describes how customer receives contract information and may confirm contract. Trigger: Picnic contracts must be communicated to and confirmed by customers. Type: External / Temporal Major Inputs:

Major Outputs:

Description Potential contract Signed contract Contract deposit Report request Customer information

Source

Description

Contract file Customer Customer Owner Customer file

Destination

Confirmed/Unconfirmed contracts Deposit details Contracts/customer report

Contract file Contract file Owner

_______________________ _______________________

____________ ____________

Major Steps Performed

Information for Steps

1.

Customer is sent contract details.

Unconfirmed picnic contract

2.

Customer returns signed contract with deposit information.

Signed contract Contract deposit information Confirmed picnic contract

3.

Owner requests reports for marketing purposes

Report request Picnic Contracts information Customer information Requested reports

1-116


Use Case Description Use Case Name: Order supplies ID: _3_ Importance Level: Medium Primary Actor: System Short Description: This describes how owner reviews upcoming picnics and orders required supplies. Trigger: Time to prepare for next weekend's picnics (weekly). Type: External / Temporal Major Inputs: Description

Major Outputs: Source

Scheduled picnics Menu food/supply needs

Contracts file Standard menu file

___________________

____________

Description Food/supply requirements

___________________ ___________________ ___________________

Destination Owner

____________ ____________ ____________

Major Steps Performed

Information for Steps

1.

Identify picnics for upcoming weekend.

Current Date Scheduled Picnics Weekend Picnics

2.

Determine food and supply requirements by reviewing upcoming weekend‘s picnics, picnic menus, and food/supply inventory.

Weekend Picnics Standard menus Standard menu food and supply needs Food qty-on-hand Supply qty-on-hand

1-117


O. Draw a level 0 DFD for the Picnics R Us system in Exercise N.

1-118


P. Create a set of use cases for the Of-the-Month-Club… Use Case Description Use Case Name: Maintain club memberships ID: _1_ Primary Actor: Customer Short Description: This describes how to create, change, and delete members.

Importance Level: High

Trigger: Customer wants to enroll in one or more club memberships. Type: External / Temporal Major Inputs: Description Member information Member updates Member to delete

Major Outputs: Source

Description

Member Member Management

Member details Updated member Deleted member

Destination Members file Members file Members file

Major Steps Performed

Information for Steps

1. Customer calls and wishes to establish club membership. Member details are recorded.

New member request Member details

2.

Customer needs to change member details (such as address).

Member information changes Member updates

3.

Remove expired member from the club records.

Member to delete

1-119


Use Case Description Use Case Name: Maintain memberships Primary Actor: Member Short Description: This describes how to add, renew, or delete memberships.

ID: _2_

Importance Level: High

Trigger: Customer enrolls in one or more clubs. Type: External / Temporal Major Inputs: Description Club request Club details Club renewal Club term expiration Club cancellation Membership details

Major Outputs: Source

Description

Member Club file Member Calendar Member Membership file

Membership record Renewal notice Renewal membership Membership to delete Inactive status___

Destination Membership file Member Membership file Membership file Membership file_

_______________________

____________

Major Steps Performed

Information for Steps

1.

Member selects one or more clubs to join and membership in the club(s) is established.

Club request Club details Membership record

2.

Member is sent renewal notice when end of club term nears. Current Date Membership details Club term expiration Renewal notice

3.

Member renews or cancels membership. Club renewal or cancellation Club details Membership details Renewal membership Membership to delete

4.

Membership expires without being renewed. Membership details Current Date Inactive membership status

1-120


Use Case Description Use Case Name: Maintain club Primary Actor: Management Short Description: This describes how clubs are added, changed. or deleted.

ID: _3_

Importance Level: Medium

Trigger: Management wants to establish, change, or eliminate clubs. Type: External / Temporal Major Inputs:

Major Outputs:

Description

Source

Club details Club changes Club to delete

Management Management Management

__________________ ___________________

Description

____________ ____________

Destination

New club details Updated club details Deleted club details

Clubs file Clubs file Clubs file

___________________ ___________________

____________ ____________

Major Steps Performed

Information for Steps

1.

Management establishes new club.

Club details

2.

Management wishes to change features of a club.

Club updates

3.

Management wishes to eliminate a club.

Club to delete

1-121


Q. Draw a level 0 DFD for the Of-the-Month Club system in Exercise P.

1-122


R. Create a set of use cases for a university library borrowing system… Use Case Description Use Case Name: Maintain books ID: _1_ Importance Level: Medium Primary Actor: Management Short Description: This describes how to record owned books and books that are lost or removed due to damage. Trigger: Books are to be added or removed from holdings. Type: External / Temporal Major Inputs:

Major Outputs:

Description Book details Books to remove

Source

Description

Manager Manager

___________________________ ___________________________ ___________________________

New book entry Book to delete

___________ ___________ ___________

________________ ________________ ________________

Major Steps Performed 1.

Information for Steps

New books are added to book holdings.

Book details New book entry

Book(s) to remove Book to delete 2.

Lost or damaged books are removed from book holdings.

1-123

Destination Book holdings Book holdings

_________ _________ _________


Use Case Description Use Case Name: Process borrowed book Primary Actor: Borrower Short Description: This describes how to check out and return books.

ID: _2_

Importance Level: High

Trigger: Borrower wishes to check out or return book. Type: External / Temporal Major Inputs: Description Book to check out Borrower ID Validation information Overdue book info Fine due info Returned book Borrowed book info

Major Outputs: Source

Description

Borrower Borrower Valid Borrower file Overdue file Fines file Borrower Borrowed book file

Destination

Borrowed book info change Borrowed book file Returned book info change Book holdings Overdue status Overdue file

_______________________ _______________________ _______________________ _______________________

____________ ____________ ____________ ____________

Major Steps Performed

Information for Steps

1.

Borrower presents book(s) to check out. ID is checked for validity against valid borrower file. Overdue books and fines are checked. If OK book is lent to borrower.

Book to check out Borrower ID Validation information Overdue books info Fines due info Borrowed book info

2.

Borrower returns book. Book is removed from borrowed file and returned to holdings. If overdue, book is removed from overdue file.

1-124

Returned book Borrowed book info Borrowed book info change Returned book info change Overdue file status


Use Case Description Use Case Name: Process overdue books. ID: _3_ Importance Level: High Primary Actor: System Short Description: This describes how to identify overdue books, notify borrower, assess fines. Trigger: Book lending term expires. Type: External / Temporal Major Inputs: Description Lending term Borrowing details Fine assessment

___________________ ___________________

Major Outputs: Source

Description

Borrowed book file Borrowed book file Manager

Overdue entry Overdue notice Fine entry

____________ ____________

___________________ ___________________

Destination Overdue file Borrower Fines file

____________ ____________

Major Steps Performed

Information for Steps

1.

Borrowed book lending term expires. Entry is made in overdue file.

Current date Book lending term Overdue status change

2.

Borrowed book is more than two weeks overdue. Fine is assessed.

Borrowing details Fine entry

3.

Every week, overdue book notices are sent to borrowers.

Borrowing details Overdue book notice

4.

Manager specifies fine for lost or damaged book.

Book damage entry Fine entry

1-125


S. Draw a level 0 DFD for the university library system in Exercise R.

1-126


Answers to Textbook Minicases 1. a.

The Analysis phase of systems development has three primary goals: (1) to understand the current system (called the As-Is system); (2) to identify ways to improve the situation; and (3) to develop a conceptual design for the new system (called the To-Be system). To achieve these goals, we will be spending time talking to each of you to learn about how the current system works, the problems you experience, the improvements you‟d like to see in the new system, and your ideas for what the new system should be like.

b. To help us understand your business processes, we utilize a tool called a use case. The use case represents the activities that are performed by users of your system and the information needed to accomplish these activities. The use case is prepared from the perspective of the client, and we will be working closely with you and your staff to understand the essential activities of your system. We will meet with you and your staff several times to refine our use cases and to add appropriate details as our understanding of necessary activities and information grows richer. Our use cases will form the foundation of our next steps in analyzing your current system and designing the new system. Use cases are used to assist the users to represent the business processes in an informal, verbal way rather than with the formality of data flow diagrams. This technique can be used to help develop process models of both the As-Is and the To-Be systems. Use cases use a three-stage process that develops the information needed to create data flow diagrams. First, the users identify the major activities that the users perform (referred to as use cases). Then the team works through several steps to develop a more detailed outline of the activities performed within each use case and the inputs and outputs needed to perform each step.

2. There are multiple semantic and syntactic errors in the level 1 DFD for the Hatcher Company inventory. Errors include: a) b) c) d) e) f)

Processes with input, but no output = 5.3 Reconcile Shipment Processes with output, but no input = 5.4 Notify Accounts Payable Entity to entity dataflow = Warehouse Manager to Supplier Same data flow name on two separate dataflows = New inventory Data flow sent directly to external entity from data store = Inventory received from D2 Inventory on Hand to Warehouse manager Physical tasks were depicted = unpacking inventory and stocking shelves.

One possible solution is to remove the Warehouse entity, remove processes 5.1 and 5.2 and revamp the processes.

1-127


Inventory Discrepancies

Supplier

Order Details

5.1 Shipment Validation

Invalid Inventory Details

Accounts Payable Update Update Record Recorded

Valid Inventory Details

5.2 Inventory DataStore

Warehouse Manager

Update Accounts Payable Received Shipment

Inventory Report

1-128


3. A potential level 1 diagram for this problem is found here:

1-129


4. Use cases: Use Case Name: Validate Re quest for Staffing Primary Actor: Client Short Description: This describes how a client staffing request is validated Trigger: Request for staff arrives from client

ID: _1_

Importance Level: High

Type: External / Temporal Major Inputs: Description Staffing request Contract terms

Major Outputs: Source Client Client contracts file

Description Contract No. Denial letter Denial letter copy Valid staffing request Open staffing request

Destination Client contracts file Client Denial Letter File Find Staff Staffing requests file

Major Steps Performed

Information for Steps

1.

Obtain the contract number from the staffing request.

Staffing request

2.

Use the contract number to find the client contract in contract file.

Contract number

3.

Determine if contract is still valid and covers the type of staff requested.

Contract terms Staffing request

4.

If Request is valid, place request info in open staffing requests and route staffing request to Find Staff process.

Staffing request

Otherwise, prepare denial letter to send to client along with original staffing request. File denial letter.

Denial letter.

5.

1-130


Use Case Name: Find Staff ID: _2_ Primary Actor: Staffing Request Approval Short Description: Qualified staff are identified and reserved for a staffing request

Importance Level: Medium

Trigger: Valid Staffing request is received. Type: External / Temporal Major Inputs: Description Valid Staffing Request Qualified Staff

Major Outputs: Source Validate Staffing Staff File

Description Reserved Staff Unable to fill memo Valid Request

Destination Staff File Complete Placement Complete Placement

Major Steps Performed 1.

Information for Steps

Use staffing request details to identify potential qualified staff.

2. If one or more qualified staff are identified, mark them reserved in the Staff file. 3. If no qualified staff are found, prepare an Unable to fill memo. 4. Send staffing request (and unable to fill memo, if any) to Complete Placement.

1-131

Staff file details Staff file Staffing request details

Staff request, unable to fill memo


Supplemental Minicases 1. Refer to Minicase #1 from Chapter 4 of the textbook. Following your introductory comments and your attempts to explain the work that will be performed during the analysis phase of this project, you can feel a sense of uneasiness beginning to creep into the staff‘s demeanor. One staff member was heard to comment to another during the break, ―I came in to this meeting this morning all excited about this project and the new system we‘ll be getting. Now I feel scared about it. I don‘t know how I can help develop all those complicated models and diagrams. Sure I know how things work around here, but trying to draw pictures of our processes just confuses me.‖ After overhearing this comment, you quickly decide that you will want to employ use cases in this situation to assist the staff in developing the system‘s process models. In clear, non-technical terms, explain the process of developing use cases and how they will be used by the team in the development of logical process models for this system. Answer: Use cases are used to assist the users to represent the business processes in an informal, verbal way rather than with the formality of data flow diagrams. This technique can be used to help develop process models of both the As-Is and the To-Be systems. Use cases use a three-stage process that develops the information needed to create data flow diagrams. First, the users identify the major activities that the users perform (referred to as use cases). Then the team works through several steps to develop a more detailed outline of the activities performed within each use case and the inputs and outputs needed to perform each step.

Experiential Exercises 1. Purpose: To experience the benefits of validating use cases. Divide the class into groups of four students. Within each group, have the students work in pairs. Have each pair of students work on developing the solution to one of the end-of-chapter exercises in the textbook. When they have completed these use cases, have the pairs within each group exchange use cases. Have each pair try to walk through the description developed by the other pair. Anything that is unclear or that was omitted should be discussed among the group to identify problems and weaknesses in their use cases.

1-132


Chapter 5: Data Modeling Teaching Tips and Strategies (from Barbara Wixom) The way to present this chapter to students really depends on the way in which data management is taught in the curriculum at your school. The programs within which I have taught have all offered a Data Management course that precedes SAD. Given this, I use Chapter 7 as a review chapter and spend two sessions or less on the topic. I have the students read the chapter as review and then, instead of presenting material lecture-style, I have them do an in-class modeling exercise (many of the chapter‘s end of chapter questions or mini-case would serve well). Then, I go over the exercise, keeping an eye out for concepts that seem to have been forgotten from earlier courses. I then do a bit of lecturing on the fly depending on what areas the students seem weakest. After I feel comfortable that the students have the basics down, I will cover normalization as a way of ―validating‖ a data model. You can actually make this a fun review day by putting students in groups to work on modeling problems that you assign from the end of the chapter. Then ask tough questions that get at some of the more difficult concepts in the chapter to see if students can work out the answers as a group. (For example, see if they understand the difference between cardinality and modality, or the difference between identifying and non-identifying entities.) Finally, have them normalize their data model to see if they created it correctly. I always make time to lecture about balance between data modeling and process modeling. At this point, I like to communicate how closely integrated the entire development process really is. It can be a good exercise to show an existing data model and then come up with a list of ―client changes‖ that a pretend client has just asked for. Talk about how both the process and data models will need to change based on the list. One thing I have tried that works nicely is to actually give students the data management chapters from the SAD textbook in the data management course. This provides for nice supplemental reading and creates a bridge for consistency between the two classes. During the SAD course, you can spend more time reviewing through hands-on exercises rather than a lecture presentation. If your curriculum does not have a data management course that precedes SAD, I would spend much more time on this chapter. I would present the straightforward topics first (the first half of the chapter) and then assign some simple data models for students to do in groups and individually for homework. Then, I would spend a day doing hands-on class exercises. I would allow at least one more session for covering advanced concepts. I would present normalization as a way of validating the data models that that the students create.

1-133


I make the data model an important deliverable for the student‘s semester projects, so I can usually get a good feel for how well they have absorbed the data management concepts.

War Stories (from Barbara Wixom) Examples of real data models The following examples come from real companies to give students an idea of the scope of some data models and databases …  

  

At Western Digital Corporation (maker of hard drives), one hard drive is associated with 1,000 attributes. 3M had to track in their data warehouse: 500,000 finished goods, 300,000 order related items per day, and over 1 million customer account numbers. The logical data model contains more than 1,000 tables that are pulled in from hundreds of source systems. The data warehouse has 3,000 data elements. The IRS has an accounts receivable table with 1 billion rows. Blue Cross and Blue Shield of North Carolina has a data warehouse. The database is 500GB. There are 200 tables and 1000 fields. Medicaid in New York State answers more than 200 million medical claims each year. A database is set up in the Office of the Attorney General that has 850 million claims taking up 4 Terabytes on the server.

Modeling Doesn’t Always Start from Scratch A friend of mine, Bob, works for a consulting firm and told me about how many times logical data models are not created from scratch. In fact, many times when he works on a project, the developers need to work and adapt a model that already exists – even if it‘s wrong! One of Bob‘s clients was an energy company that had created a logical data model that resided in Microsoft Access – and the model existed across 80 different Access files! When Bob arrived on the project, the project was already too far along to change the model too drastically because several applications were built using data already in Access. But, the model was terrible. For example, monthly data existed such that each month of data was a new column in the database. Next year, the developers were going to have to add twelve more columns for the new year‘s months. Also, financial drivers were pre-calculated and stored in columns – so if formulas or needs changed, the company couldn‘t get the new information. Part 2 – Normalization Bob relied on normalization to first figure out where the model was weak, and he had the project team put the model into third normal form using Oracle‘s modeling tool. He

1-134


convinced the company to migrate the data in Access to Oracle into 3rd normal form structures, and eventually the existing applications grabbed data from Oracle instead of Access. He had convinced the company that the time spent migrating the model to third-normal form, moving from Access to Oracle, and moving applications away from Access would save money in the long term. He was right.

Answer to Your Turn 5-1: Applying the Concepts of Cardinality and Modality 1. Custom Drone [Order] and Ordered Drone Component:  A custom drone order includes at least one (modality) and may include many (cardinality drone components  An ordered drone component must be included in one custom drone order (modality) and may only be included in one custom drone order (cardinality). These statements tell us that every custom drone order includes at least one drone component and may include more than one. An ordered drone component belongs to exactly on custom drone order. 2. Ordered Drone Component and Drone Component  A drone component may be included in many ordered drone component instances (cardinality) but is not required to appear in any order drone component instances (modality)  An ordered Drone Component includes one and only one drone component (modality and cardinality) These statements tell us that an ordered drone component instance specifies exactly one drone component. A drone component may appear in many instances of ordered drone components, but is not required to appear in an ordered drone component instances.

1-135


Answer to Your Turn 5-2: Evaluate Your CASE Tool Student answers will vary depending upon the CASE tool selected. The images in the text illustrate Visible Analyst, but your images will vary based on the tool.

Answer to Your Turn 5-3: Understanding the Elements of an ERD PAINTING

RESERVATION

*ptg_PaintingID ptg_ArtistID ptg_PaintingTitle ptg_PaintingDate ptg_PaintingDesc

reserved by

*res_ReservationID res_PaintingID res_ReservationMuseumID res_ReservationDateOut res_ ReservationDateIn

creates

requests

ARTIST

MUSEUM

*art_ArtistID art_ArtistLName art_ArtistFName art_ArtistAddress art_ArtistPhone art_ArtistEmail

*mus_MuseumID mus_MuseumName mus_MuseumAddress mus_MuseumPOCName mus_MuseumPOCPhone mus_MuseumPOCEmail

Examples of business rules include: One Museum may reserve none, one, or many paintings at a time, one Artist may create none, one, or many paintings.

1-136


Answer to Your Turn 5-4: Campus Housing System Student answers will vary depending upon previous models. An example would be:

Answer to Your Turn 5-5: Independent Entities Independent entities include: Client, Flight Request, Flight Request Notification, Pricing Guideline, Drone, and Pilot. An independent entity on the diagram has its own unique identifier; this is in contrast to the dependent entity Flight Bid that has a concatenated identifier made up of the FRN_ID and PIL_ID from surrounding independent entities.

Answer to Your Turn 5-6: Dependent Entities Dependent entity is Flight Bid, which uses the primary keys of its parent entities to form a concatenated primary key.

Answer to Your Turn 5-7: Intersection Entities A Pilot owns at least one drone and may own many drones. A drone instance is owned by exactly one pilot. A Pilot submits possibly many flight requests, but an instance of a pilot is not required to have an instance of a flight request. A flight request instance is submitted by exactly one pilot.

1-137


A Drone maybe included in many flight bids, but a drone instance is not required to have a related flight bid instance. A flight bid instance in includes exactly one drone.

Answer to Your Turn 5-8: Boat Charter Company Student responses will vary, one example of the Boat Charter Company:

All entities are independent. The model is in third normal form (3NF) in that all repeating groups are removed (1NF), no concatenating identifiers are present (2NF), and all attributes for each entity depend on the identifying attribute, that is, no nonkey attribute depends upon any other non-key attribute.

Answer to Concepts in Action 5-A: The User’s Role in Data Modeling 1. From these two stories, students can make the observation that the user‘s role in data modeling can often depend upon the user. In the first story, the user kept herself well-informed about her system, and in the second, the users kept their distance from the modeling, either not needing or not wanting to become involved in that aspect of the project. 2. Users should be involved in data modeling early on in the process. Once an initial ERD has been developed, it can be presented to users for comments, suggestions, or simply confirmation. 3. While developers often have an in-depth understanding of the modeling process, they may not have an in-depth understanding of the business processes they are

1-138


modeling. That is where users are needed. Having users in on a discussion of the model and the processes depicted will allow for either confirmation of the model or where the model is deficient.

Answer to Concepts in Action 5-B: Implementing an Enterprise Information Management System 1. There are multiple issues to be addressed in this scenario, the foremost being that there is no centralized management of the data nor standards applied to data definitions. Student answers may vary, but the most important step would be to standardize data definitions among departments. Once that step has been taken, then a comprehensive model of the data should be created. That would allow identification of duplicate data. 2. A model of the existing processes is essential to determine the current state of data in the enterprise. The model would allow the developers to identify where data is duplicated, where data is missing, who needs what data, and when. Without a model in place to use as a reference, it would take significantly more time and effort to develop a centralized management system for the data.

1-139


Solutions to End of Chapter Questions 1. Provide three different options that are available for selecting an identifier for a student entity. What are the pros and cons of each choice? The three options available for selecting an entity identifier: (1) Put together a combination of attributes to serve as the identifier (such as first_name and last_name). (2) Sometimes, a single attribute is available that can serve as the identifier (such as social security number) (3) A new attribute can be created to serve as the identifier (such as student_id). Any of these ways of selecting an identifier is acceptable. The important point is to ensure that the chosen identifier uniquely identifies each instance of the entity. 2. What is the purpose of developing an identifier for an entity? One of the aspects of the definition of an entity is the fact that there are multiple occurrences of the entity. If there are not multiple instances of something that is a potential entity, that something is not an entity in the system. Consequently, there must be a way of identifying each individual occurrence of an entity so that it can be picked out from amongst all the other instances of the entity. That is the purpose of having identifiers with unique values. 3. What type of high-level business rule can be stated by an ERD? Give two examples. A business rule is a constraint or guideline to follow during operation of the system. Examples of business rules are: an order belongs to just one customer; a customer cannot cancel an order that has been shipped; a backorder can be created for an out of stock product. Business rules are expressed on ERDs by the kinds of relationships that the entities share. 4. Define what is meant by an entity in a data model. How should an entity be named? What information about an entity should be stored in the CASE repository? The entity is the basic building block for a data model. It is a person, place, event, or thing about which data is collected—for example, an employee, an order, or a product. Entities names are nouns. Information stored in a CASE repository regarding an entity includes:  Name  Definition  Special Notes  User Contact

1-140


5. Define what is meant by an attribute in a data model. How should an attribute be named? What information about an attribute should be stored in the CASE repository? An attribute is a characteristic that describes an entity. Attribute names are nouns. Information stored in a CASE repository regarding an attribute includes:  Name  Definition  Alias  Sample Values  Acceptable Values  Format  Type  Special Notes 6. Define what is meant by a relationship in a data model. How should a relationship be named? What information about a relationship should be stored in the CASE repository? A relationship describes the association between entities. Relationship names are labeled as active verbs. Information stored in a CASE repository regarding a relationship includes:  Verb Phrase  Parent Entity  Child Entity  Definition  Cardinality  Modality  Special Notes 7. A team of developers is considering including „warehouse‟ as an entity in their data model. The company for whom they are developing the system has just one warehouse location. Should “warehouse” be included? Why or why not? Entities represent something for which there exist multiple instances or occurrences. If there is only one instance of a warehouse, then it would not be best represented by an entity. However, if multiple warehouses were planned in the future, then a warehouse entity should be included. 8. What is meant by a concatenated identifier? A concatenated identifier is one in which a combination of attributes serves to uniquely identify an entity. For instance, an appointment entity may have multiple instances for a single date identifier, but the combination of date and time will uniquely identify each instance.

1-141


1-142


9. Describe, in terms a businessperson could understand, what are meant by the cardinality and modality of a relationship between two entities. These two terms are used to refer to the ‗numerical‘ relationship between two entities in a data model. The term, cardinality, refers to the maximum number of times an instance of one entity can be related to instances of the other entity. If the cardinality is one -to-one, then we can infer that one instance of the parent entity can be related to just one instance of the child entity. If the cardinality is more than one, then we know that one instance of the parent entity can be related to more than one instance of the child entity. The determination of cardinality is based upon whatever is appropriate for the business situation being described. The term, modality, refers to whether or not an instance of a child entity can exist without a related instance in the parent entity. Modality values are either null or not null. Using more formal data modeling terminology, modality indicates whether the relationship between an entity instance and an instance of the related entity is ―null‖ (optional) or ―not null‖ (required). If the modality is null, then we can infer that no instances of the child entity are required for an instance of the parent entity. If the modality value is not null, then there must be one instance of the child entity for an instance of the parent entity. Just as in the case of cardinality, the determination of modality is based upon whatever is appropriate for the business situation being described. 10. What are metadata? Why are they t important to system developers? Metadata is quite simply, data about data. Metadata is anything that describes an entity, attribute, or relationship, such as entity names, attribute descriptions, and relationship cardinality, and it is captured to help designers better understand the system that they are building and to help users better understand the system that they will use. Since there are typically several members of the project team, specifying metadata helps ensure that each team member has a consistent understanding of the data model components. Metadata is usually stored in the data dictionary. The metadata information can be used to integrate the different pieces of the analysis phase and can lead to a much better design. 11. What is an independent entity? What is a dependent entity? How are the two types of entities differentiated on the data model? Independent entities are entities that can exist without the presence of another entity. The independent entity does not rely on any other entity in order to exist. On the other hand, dependent entities require the presence of another entity in order to exist. These entities rely on attributes from the parent entity to uniquely identify an instance, and therefore depend on another entity. For example, when an order is placed for a product, an entity that represents a specific product on a specific order is usually created. This entity would not exist without the order and product entities, and in fact gets its identifiers from those entities. So, this ordered_product entity is a dependent entity. Independent entities are represented by rectangles with a single border line,

1-143


while dependent entities are usually represented as rectangles with double-border lines.

1-144


12. Explain the distinction between identifying and nonidentifying relationships. When relationships have an independent child entity, they are called nonidentifying relationships. When relationships have a dependent child entity, they are called identifying relationships.

13. What is the purpose of an intersection entity? How do you know whether one is needed in an ERD? An intersection entity is created when we need to capture more information about the relationship between two entities. This often occurs when two entities have a manyto-many relationship. One instance of entity A may be related to many instances of entity B, and one instance of entity B can be related to many instances of entity A. The intersection entity is inserted between entities A and B, and is used to capture information about a specific instance of entity A related to a specific instance of entity B. 14. Describe the three-step process of creating an intersection entity. 1. Remove the M:N relationship line and insert a new entity between the two existing ones. 2. Add two 1:N relationships to the model. 3. Name the intersection entity. 15. Is an intersection entity dependent or independent? Explain your answer. If the intersection entity has a logical identifier that can uniquely identify instances within, then it would be considered an independent entity. If, however, the intersection entity requires the identifiers from its parent entities to be uniquely identified, then it is a dependent entity. 16. What is the purpose of normalization? Normalization is a process whereby a series of rules are applied to a logical data model or a file to determine how well formed it is. Normalization helps analysts identify entities that are not represented correctly in a logical data model, or entities that can be broken out from a file. The rules of normalization help assure that the data is stored as efficiently as possible. 17. Describe the analysis that is applied to a data model in order to place it in first normal form (1NF). A logical data model is in first normal form (1NF) if it does not contain attributes that have repeating values for a single instance of an entity.

1-145


18. Describe the analysis that is applied to a data model in order to place it in second normal form (2NF). Second normal form requires that the data model be in 1NF, and that all partial dependencies have been removed.

19. Describe the analysis that is applied to a data model in order to place it in third normal form (3NF). Third normal form (3NF) occurs when a model is in both 1NF and 2NF and when, in the resulting entities, none of the attributes is dependent on a nonidentifier attribute (i.e., transitive dependency). 20. Describe how the data model and process model should be balanced against each other. The key to balancing DFDs and ERDs is to recognize that all system data must be accounted for on each type of diagram. The DFD data components need to correspond with the ERD‘s data stores (i.e., entities) and the data elements that comprise the data fl ows (i.e., attributes) depicted on the data model. That is one aspect of balancing. In addition, the attributes that are a part of the data model should be used somewhere in the flows and stores of the process models. 21. What is a CRUD matrix? How does it relate to process models and data models? The CRUD (create, read, update, delete) matrix shows is a table that depicts how the system‘s processes use the data within the system. It is helpful to develop the CRUD matrix on the basis of the logical process and data models and then revise it later in the design phase. The matrix also provides important information for program specifications, because it shows exactly how data are created and used by the major processes in the system.

1-146


Solutions to End of Chapter Exercises A. Draw data models for the following entities: Note: Primary Keys are shown at top of entity. Movie (title, producer, length, director, genre)

Ticket (price, adult or child, showtime, movie)

Patron (name, adult or child, age)

1-147


B. Draw a data model for the following entities, considering the entities as representing a system for a patient billing system and including only the attributes that would be appropriate for this context:  Patient (age, name, hobbies, blood type, occupation, insurance carrier, address, phone)  Insurance carrier (name, number of patients on plan, address, contact name, phone)  Doctor (specialty, provider identification number, golf handicap, age, phone, name)

C. Draw an entity relationship diagram (ERD) for the following situations. Would the relationships be identifying or nonidentifying? Why? 1. Doctor's office - as the Doctor entity is an independent entity, (can exist without the Patient entity), this is a non-identifying relationship.

2. Phone - as the Phone Extension entity is an independent entity, (can exist without the Employee entity), this is a non-identifying relationship.

3. Movie theatre - as the Movie entity is an independent entity, (can exist without the Theatre entity), this is a non-identifying relationship.

1-148


1-149


D. Draw an entity relationship diagram (ERD) for the following situations: 1. Doctor's office

2. Researcher database

1-150


3. Bridal registry Registered Product

Customer cus_Customer ID registered for cus_Bride name cus_Groom name cus_Phone cus_Wedding date

Rpd_Customer ID Rpd_Product ID

Products includes

Is part of

registered by

Prd_Product ID

Prd_Description Prd_Price

4. Car dealership

E. Examine the data models that you created for Exercise D. How would the respective models change (if at all) on the basis of these corresponding new assumptions? 1. Two patients have the same first and last names. No change. The Patient ID takes care of uniquely identifying instances of patient. 2. Researchers can be associated with more than one institution. Would need a new intersection entity whose attributes link a specific researcher to a specific institution. This would be a dependent entity. 3. The store would like to keep track of purchased items Would need a new entity to describe purchased items for members of the registry. 4. Many buyers have purchased multiple cars from Jim over time because he is such a good dealer. Need to add the Sales Date to the primary key of the Sold Vehicle.

1-151


F. Visit a Web site that allows customers to order a product over the Web… Student answers will vary. G. Create metadata entries for the following data model components… Entity: Entity Name: Definition:

Product The product entity refers to the items that are produced by the company

Attribute: Attribute Name: Aliases: Entity: Description:

Data Type: Identifier Notes:

Product Number Product ID; Product Num Product A seven-digit code that uniquely identifies the product. The code consist of three alpha characters and four numeric digits Text Yes

Attribute: Attribute Name: Aliases: Entity: Description: Data Type: Identifier Notes:

Product Type Type Product A three-digit code that categorizes the product. Text No The coding scheme for the product type categories should be entered here when it is determined

Relationship: Parent Entity: Child Entity: Relationship: Cardinality: Modality: Notes:

Company Product Makes / made by 1:N Not null

1-152


H. Describe the assumptions that are implied from the data model shown.   

A cinema contains many theatres; a theatre belongs to just one cinema. A theatre offers many showings; a showing is offered by just one theatre. A movie may be viewed at zero or more showings; a showing is for just one movie.

I. Create a data model for one of the processes in the end-of-chapter Exercises for Chapter 4. Explain how you would balance the data model and process model. Data model for Exercise 4-F, Video Store System:

Generally, all of the data entities shown on the ERDs will correspond to data stores on the DFDs. That is one aspect of balancing. In addition, the attributes that are a part of the data model should be used somewhere in the flows and stores of the process models. J. Apply the steps of normalization to validate the models you drew in Exercise D. Problem 1 is in 3rd normal form Problem 2: the many-to-many relationship between researcher and research interest should be resolved:

Problem 3 is in 3rd normal form

1-153


Problem 4 is in 3rd normal form K. Create a logical data model in third normal form for the CD information given:

1-154


Answers to Textbook Minicases 1. a. Data modeling is another tool that is used by systems developers to help represent the key elements of a system. While process models help us understand how data is created and used in the system, we also need a way to model and represent just the data component of the system. b. The only way we can possibly create a valuable new system is to understand clearly the data component of that system. Data models help us focus strictly on the data, and so are necessary parts of the work performed by the project team. c. We develop data models of the current system for several reasons. First, it is easiest for the users to discuss the data that is currently being used in the existing system, and to understand the business rules that apply to this data. We will learn specialized terminology and jargon by talking to the users about the existing data, and that will enhance our understanding of the overall system. Second, the data component of a system tends to be pretty stable. In many projects, the data component of the new system is not very different than the data component of the existing system. The changes made in the data model when going from the existing system to the new system are not nearly as extensive as the changes that are made to the process model. Therefore, it is valuable to develop an As-Is data model, since it will probably represent the data foundation of the new system. d. Developing the process model of the existing system is helpful in developing the data model of the As-Is system. Review of the scenarios that were developed, data flow diagrams, and the process descriptions that were written will help the team identify data entities and the entity attributes that are required by the business system. This will enable the team to get a good start on the As-Is system data model.

1-155


2. a. The rule for first normal form is to remove any attributes or groups of attributes that occur more than once for a single occurrence of the entity. The repeating group of attributes that describe each item included in the order is separated out into the Ordered Item entity.

2. b. The rule for second normal form is to evaluate all entities with concatenated keys to verify that all non-key attributes depend on the full concatenated key, not just part of the key. The Ordered Item entity has a concatenated key, and so must be placed in second normal form. Note that a new attribute has been added to serve as primary key for the Item entity. The attributes Item Name, and Item Unit depend only on the Item Number, not on the full key of Item Number and Order Number. Therefore, they have been separated out into the Item entity.

1-156


2. c. To place an entity in third normal for, the analyst must verify that the values of any non-key attribute do not depend on any other non-key attributes. For the Inventory Order entity, the Address, City, State, Zip, Customer Type, District Number, and Region Number all depend upon the Customer Name. These attributes should be moved to an entity that just describes the customer. Note that a Customer ID has been added as the primary key of that entity. Within the customer‟s address information, the State attribute depends on the Zip attribute. A separate Zip entity has been created. Also, in the Ordered Item entity, the Item Out attribute is a field that simply flags a situation when the Quantity Ordered and Quantity Shipped are different. Therefore, Item Out can be determined through comparing Quantity Ordered and Quantity Shipped, and should not be stored. It has been removed from the Ordered Item entity.

2. d. One should balance the DFDs and ERDs to ensure that all system data is accounted for on each type of diagram. If the data in the data model is not created, stored and used in the process model, then the analyst should check to see if the data is really needed, or if it has been inadvertently omitted from the process model. Similarly, the data created, stored and used in the process model should be associated with an appropriate entity in the data model. The analyst should investigate any discrepancies.

1-157


Answer to Your Turn 5A-1: Normalizing a Student Activity File The rule for first normal form is to remove any attributes or groups of attributes that occur more than once for a single occurrence of the entity. The repeating group of attributes that describe each item included in the activity is separated out into the Activity entity.

The rule for second normal form is to evaluate all entities with concatenated keys to verify that all non-key attributes depend on the full concatenated key, not just part of the key. In this case there are no concatenated keys, so the model is considered to be in 2NF. To place an entity in third normal for, the analyst must verify that the values of any non-key attribute do not depend on any other non-key attributes. For the Student entity, the Advisor Phone depends upon the Advisor Name. These attributes should be moved to an entity that just describes the advisor.

1-158


Supplemental Minicases 1. The project team at Williams Specialty Company (see Chapter 5 Minicases) reached the point of completing the process model and data model for the to-be system. The four staff members who are most familiar with the business have been heavily involved in defining needed improvements in the system and sharing their ideas for the way they‘d like to see things work in the new system. The users role played the new logical process model and were pleased with the way the new system‘s processes were outlined. As project manager, you are anxious to keep the project moving into the design phase. You know, however, that your team should be sure and check to see that the process model and data model are balanced before proceeding with the design phase work. Your newest team member did a good job in balancing the data flow diagrams. You believe it would be a valuable learning experience for him to work through balancing the process and data models now. Explain to your new team member why balancing the DFDs and ERDs is important. Explain exactly what he should be looking for as he reviews the diagrams. Answer: The key to balancing DFDs and ERDs is to recognize that all system data must be accounted for on each type of diagram. The ERD shows the system data „at rest,‟ while the DFD shows the flow and use of data in the system. Generally, all of the data entities shown on the ERDs will correspond to data stores on the DFDs. This is the first issue that the analyst should check out when reviewing the diagrams. Another aspect to be investigated is the attributes that are a part of the data model. These attributes should be used somewhere in the process models. If the data in the data model is not created, stored and used in the process model, then the analyst should check to see if the data is really needed, or if it has been inadvertently omitted from the process model. Similarly, the data created, stored and used in the process model should be associated with an appropriate entity in the data model. The analyst should investigate any discrepancies. The analyst should work with the metadata that documents the data entities and data attributes in the data models and the data flow and data store entries in the process model, to verify that the data component of system has been correctly represented in the DFDs and ERDs.

1-159


2. Thomas is a systems analyst for Top Flight Systems Consulting Co., Inc. Thomas has been with Top Flight Systems for three years and has so far worked primarily as a programmer on several large implementation engagements. At long last, Thomas has been assigned to a project team as a systems analyst, and he has worked hard to apply the concepts he learned in college to his work. Thomas‘ manager, Jeff, is a hard-driving perfectionist who has Thomas more than a little intimidated. Jeff‘s demanding standards and blunt criticisms did a lot to motivate Thomas to do well on the development of the process model for their current project. Thomas spent long hours carefully balancing the data flow diagrams, making sure that the terminology was consistent, and decomposing the diagrams down to the same level of detail. Thomas was relieved when Jeff‘s review of his work resulted in only a few minor changes to the models. Now it‘s time to begin development of the system‘s data model, and Thomas is more nervous about this task. Data modeling was never his strength in college. It always seemed so mysterious. Thomas began his first draft of the data model by going through the process model descriptions and identifying data entities and attributes that seemed important to the business system. He then sketched in some relationships between entities, and tried to determine the relationships‘ cardinality and modality. He always got confused about those two concepts. He knew he‘d need to review some of his college textbooks at home tonight to try and make sure he‘d done things right. Suddenly, Jeff appeared at his desk and snatched up the ERDs he‘d just drafted. After glancing through them, Jeff threw them down on Thomas‘ desk with disgust. ―Thomas,‖ said Jeff, ―is this the best you can do? In just two minutes I can see at least three relationships where you‘ve messed up the cardinality and modality. Plus, I‘ve never seen such a bunch of Many-to-Many relationships on one diagram. Haven‘t you ever heard of an intersection entity? This kind of work won‘t cut it here at Top Flight, Thomas. I expect to see a data model that makes sense tomorrow!‖ As Jeff turned on his heel and walked away, Thomas felt about two inches tall. Help Thomas out. Prepare a concise review of cardinality and modality that will help him understand the concepts and apply them correctly to his model. Also, develop an explanation of intersection entities and how they can be used to remove many-tomany relationships from a data model. Answer: The term, cardinality, refers to the maximum number of times an instance in one entity can be related to instances of the other entity. If the cardinality is one, then we can infer that one instance of the entity can be related to just one instance of the other entity. If the cardinality is more than one, then we know that one instance of the entity can be related to more than one instance of the other entity. The determination of cardinality is based upon whatever is appropriate for the business situation being described. The term, modality, refers to the minimum number of times that an instance of one entity can be related to instances of the other entity. Modality values

1-160


are either zero or one. If the modality is zero, then we can infer that no instances of the other entity are required for an instance of the entity (i.e., an instance of the related entity is not required). If the modality value is one, then there must be one instance of the related entity for an instance of the entity (i.e., an instance of the related entity is required.). Just as in the case of cardinality, the determination of modality is based upon whatever is appropriate for the business situation being described. An intersection entity is created when there is a need to capture more information about the relationship between two entities. This often occurs when two entities have a many-to-many relationship. In this case, one instance of entity A may be related to many instances of entity B, and one instance of entity B can be related to many instances of entity A. The intersection entity is inserted between entities A and B, and is used to capture information about a specific instance of entity A as it relates to a specific instance of entity B. After discovering a many-to-many relationship, it is common for the analyst to recognize that the entity relationship itself needs to be described with data. In this case, the intersection entity should be used to enable the data model to show this information.

1-161


3. Jeff, a project manager at Top Flight Systems Consulting Co., Inc., has frequently encountered junior systems analysts on his project teams who had great difficulty developing correct data models (see Supplemental Minicase #2). Frankly, Jeff was a little tired of always finding glaring errors in his team‘s data models, then trying to be patient as the team member struggled to get things right. The time pressure on the consulting engagements always weighed heavily on Jeff‘s shoulders. Since data models seemed to be a particular sticking point for the junior analysts, Jeff decided to develop a set of rules and guidelines for his junior analysts to use in developing data models. Jeff hoped that by providing a concise summary of data modeling tips, he can improve the junior analysts‘ performance on this important systems development technique. Develop Jeff‘s list of data modeling tips and suggestions. Include all recommendations that you would find helpful as a junior systems analyst just starting out as a data modeler. Answer: Guidelines that may be helpful to a junior systems analyst regarding data modeling:  An entity is a person, place, thing, object, or event about which we wish to capture data in our system.  It is helpful to remember that there must be more than one occurrence of an entity. If there is just one occurrence of the entity in the system, we will not capture data about it.  Attributes should be identified for all characteristics of the entity that are important to the business system. If an attribute is not relevant to the business system, omit it. On the other hand, if the attribute is relevant to the business system, be sure and include it.  Include attributes that have been expressed at the appropriate level of detail. For example, if we want to identify a customer by first name, middle initial, and last name, then include all three as attributes.  Label all components of the data model. Use the correct business terminology for the labels.  Data models should reflect the business rules as expressed by the users. The users have the most knowledge about how data entities are related to each other. Assumptions that are made about the business relationships should be explicitly stated.  Define relationship cardinality and modality correctly.  When many-to-many relationships occur, determine if an intersection entity is appropriate. These entities are generally called for when specific data needs to be captured to relate a specific entity instance to another specific entity instance.

1-162


Experiential Exercises 1. Purpose: To discover the importance of making assumptions explicit when developing entity relationship diagrams. Working in pairs, have students develop an entity relationship diagram that represents the student registration system at your university. When the diagrams are finished, have the class discuss and compare the entities that were chosen, the attributes that were identified, and the relationships that were formulated. Focus the discussion on the different results that were obtained by each group. Did the students make their assumptions explicit? Who would they need to talk to in order to validate their assumptions? 2. Purpose: To learn how entity relationship diagrams are used in actual practice. Invite a systems analyst or database administrator as a class guest. Ask the guest to bring samples of entity relationship diagrams that have been prepared for a system in his/her organization. Some interesting topics to have the guest discuss include: the diagramming standards of his/her organization; the use of CASE tools in his/her organization (or not); the role of iteration in developing entity relationship diagrams; how successful the entity relationship diagrams are in conveying the meaning of the system data to the end users. 3. Purpose: To improve understanding of entity relationships. Working in pairs, have students generate a list of entities that are likely to be associated with information systems in hospitals. Then have the students formulate relationships between the entities and assign the cardinality and modality of the relationship. Have the students discuss the factors that would cause them to change the relationships and/or the cardinality/modality of the relationships. 4. Purpose: To understand the need to balance ERDs and DFDs. Working with the Patient Registration system example in later chapters of the textbook, have the students trace the common data elements between the two models. Have the students identify the data entities/data stores in both models. Discuss the potential problems of not balancing the two models.

Chapter 6: Moving into Design Teaching Tips and Strategies (from Barbara Wixom) I introduce the design phase with this chapter, putting emphasis on teaching students the difference between what and how. Students sometimes have a hard time transitioning from analysis to design (i.e., understanding the differences), and I find the building a

1-163


house analogy very effective. For example, by asking students to describe how a house is built – talking to people about their needs for a home, developing a rough sketch, and then creating an architectural blueprint – seems to be a good way to get them to understand the phases for developing a system. A great quote to use: ―If I had 6 hours to chop down a tree, I‘d take 4 hours to sharpen the saw.‖ -- Abraham Lincoln I spend one class session talking about the three design strategies of custom, packaged, and outsourcing. Before my class, students seem to believe that all systems are built from scratch, so I make my goal for the lecture to get them to understand two main points: 1) that packaged systems and outsourcing are viable alternatives and 2) that the organizational environment has a huge influence on any design decisions that are made. Students sometimes have a hard time grasping that the ―ideal‖ solution may not be the most apparent because of the influence of existing technology, technical standards, politics, in-house skills, etc. During this lecture, I also present the alternative matrix. I find a good way to go over the three design strategies is to have the students create an alternative matrix that compares the three different strategies in class. For example, I may choose a recent article in Computerworld that describes a company that is building a system. The students have to come up with three ways in which the system could be built (one for each design strategy). Then, in groups the students can brainstorm what would go in an alternative matrix. You could also use minicase 1 at the end of the chapter as an in-class exercise. As a devil‘s advocate, I‘ll ask them how they can create an alternative matrix having so little knowledge of the alternatives. This is a good segue into the request for information and request for proposal. I spend the second class session explaining physical modeling. Depending on my time, I may have a class session for each type of model (i.e., data and process). I make the physical modeling sessions very applied. For example, after a short lecture introducing the different characteristics of the physical model, I do in-class examples where groups have to transition a model from logical to physical. Then, after they present the physical model, I change the ―rules‖ and create business scenarios or assumptions that would force the students to rethink the physical models. I usually can drum up some good discussion regarding why it‘s necessary to have both logical and physical models. We discuss how companies manage both models when changes occur. As we go through the physical models, I constantly point out the integration between process and data modeling.

1-164


War Stories (from Barbara Wixom) Technical Limitations I was on a project at M&M/Mars as a consultant, and we were building a system using Paradox for Windows back in the early 1990‘s. At that time, Paradox had a major limitation – its screens only supported 1:M relationships. Thus, if you had customers and products, and the screen was showing the products that customers had purchased, there was no way to show both the customer names and the product names on the same screen. To resolve this, we had to place the customer name and product name fields into the purchased products table so that the screen would appear with the right information. This redundancy of fields was depicted on the physical data model. Because of the concern for data integrity, we had to write programs that regularly checked to make sure that the names within the customer and product tables were in sync with the names in the purchased products table. Choosing to Outsource My friend George was a client at a large non-profit organization, the Nature Conservancy, and the organization needed a computer system to handle their needs in accounting, membership, fund raising, etc. George first investigated the option of buying a packaged system to meet the client‘s needs. The packaged solutions ranged around $250,000 in cost; however, the packaged applications available in the marketplace were geared towards much smaller companies. George determined that the packages did not have large-organization functionality and could not be used for the client. Next, George investigated the option of building a custom system for the client. Unfortunately, he determined that building from scratch would cost over $10 million – much more expensive than the packages. The non-profit organization was not able to justify such a large expense. Finally, George turned to outsourcing. It turned out that there was a very small development company (about $20 million in revenue) that was started by a couple of guys who saw a need in the large non-profit market and were creating software for a number of large non-profits, including organizations like PBS. The company was developing a standard system that it then customized to each specific non-profit‘s needs. The cost of this option was $500,000 to $1 million, depending on the amount of customization that needed to be done. George‘s only doubts involved the financial stability of the small company. If anything happened to the outsourcer, the non-profit would be left with no support and an unfinished system. But, the non-profit decided to take that risk and go with the outsourced solution.

1-165


Answer to Your Turn 6-1: Select a Design Strategy The university needs to consider the criteria associated with the strategy of selecting a system acquisition selection. The criteria include the following:  Understanding the business need; is it unique? Are there business needs that cannot be addressed using standardized software?  In house experience; does development team have the functional and/or technical experience to develop in house?  Project management; what is the level of experience of the current project manager?  Time frame; is the time frame flexible?

Answer to Your Turn 6-2: Weighted Alternative Matrix Student answers will vary based on their findings and the development of their matrix.

1-166


Answer to Concepts in Action 6-A: Out of the Box…? Often, companies will turn to a shrink wrap solution for software needs thinking that it will be less costly, timelier, and that if it was good enough for company X it will certainly address our needs. This is a great time to discuss when it is good to buy a package and when it is not.

Answer to Concepts in Action 6-B: Bucking Conventional Wisdom with Custom Development If you have the skillsets in-house to create the custom applications needed it normally makes sense to utilize that talent. Nobody will understand the needs of your company more than the development staff and the analysts of the company.

Answer to Concepts in Action 6-C: Finding Just the Right Blend Utilizing a commercially available software package and having it modified to meet the needs of your company can be a very successful endeavor. There are two issues that the company must have, 1: An excellent working relationship with the vendor, and 2: very strong project management skills.

Answer to Concepts in Action 6-D: Building a Custom System - with Some Help 1. The risks associated with building a custom system without having the right technical skills available within the organization include: a. Time needed for developers to acquire skills could delay the project b. Developers may already be overcommitted, may not have the time to devote to project which could delay the project c. Technical obstacles could cause unexpected delays d. Business users may become impatient with growing timeline 2. Choosing an in-house manager allows the company to maintain tight control of the project, particularly given the number of outsourced consultants. This was a large, complex project which might easily have gotten out of control had not the in-house manager clearly set expectations, defined responsibilities, etc. 3. Student answers may vary. In this case it would seem that the decision to maintain control of the project through an in-house project manager was the best choice. Since the project manager was an employee of the company there was an inherent understanding of the business and of the needs of the project which certainly would have influenced the outcome of the project. Using an outside project manager would have meant time needed for them to gain an understanding of the complexity of the project, forging relationships with the employees, etc.

1-167


Answer to Concepts in Action 6-E: Electronic Data System’s Value Added Contract Student answers will vary depending upon whether they believe the end result was beneficial to the city. Points to consider include: 1. Number and cost of unresolved tickets prior to implementation. 2. Cost of the new system. 3. The projected loss to the city if the new system was not implemented. 4. Number and cost of unresolved tickets after implementation. 5. Although EDS took in well over $50 million on the deal, they spent an estimated $25 million on developing the system, so their net was only $25 million.

1-168


Solutions to End of Chapter Questions 1. Summarize the distinctions between the analysis phase and the design phase of the SDLC. The difference between the two phases is that analysis focuses on determining what the business needs are, whereas the design phase takes those business needs and determines how they will be met through a specific system implementation. The analysis phase includes activities designed to discover and document the features and functions the system must have. In the design phase, those features and functions should not change (much). The focus in design is to figure out how to create a system technically that will provide all those needed features and functions. 2. Describe the primary activities of the design phase of the SDLC. There are many activities that are performed during the design phase, but the specific ones that are necessary are determined once the team has decided upon the best design strategy for the project. The design strategy options are: build the system inhouse; purchase a pre-written software package, or hire an outside firm to do the development. Assuming the design strategy is to build the system in-house, then the team will have a myriad of design activities to perform Their primary goal is to develop physical models of the new system that document how it will perform the functions outlined in the Analysis phase. These physical models will represent the new system‘s design before the system builders start constructing it. Included in this work will be converting the logical DFDs and ERDs to physical diagrams, planning the integration of the new system with existing systems, making technology architecture decisions, and designing all system components (user interface, input, output, programs, files and databases). 3. List and describe the content of the system specification. This document includes the physical process models, physical data model, architecture report, hardware and software specification, interface design, data storage design, and program design. The system specification conveys exactly what the project team will implement. 4. Describe the three primary strategies that are available to obtain a new system. The three primary strategies for obtaining a new system are custom development (the company develops the system in house using corporate resources), packaged systems (purchasing a system off the shelf), and outsourcing (hiring an external developer, vendor or application service provider to create or supply the system).

1-169


5. What circumstances favor the custom design strategy? The custom development strategy is appropriate when several conditions are met. First and foremost, there should be a unique business need which is unable to be fulfilled by a purchased, pre-written solution. Second, there should be functional, technical, and project management skills available in-house, and there should be a desire to build and enhance these skills. The organization should have a proven track record of development, and should have an established systems development methodology. Finally, the project timeframe should be flexible enough to accommodate the uncertainty of a custom development project. 6. What circumstances favor the use of packaged software? Packaged software is an excellent design strategy when the organizational business functions are fairly common and/or the time to implement requirement is short. Accounting practices, inventory control, customer record keeping are all examples of common business functions. If the organization has no specialized business needs, the packaged software option should be the first consideration. The organization still has need of personnel with functional experience and project manager experience to facilitate the integration; however, highly technical developers are not required with the integration of packaged software. Additionally, the time frame to acquire this type of software can be extremely short as vendors can acquire the software with little or no delay. 7. What circumstances favor using outsourcing to obtain the new system? Outsourcing is a good design strategy when the organization does not have the experience or resources itself to do the development in-house, or when it wishes to focus its own resources on other more strategic efforts, and wishes to let an outsourcer handle a less strategic project. It is not a good idea to outsource projects of high strategic value to the organization because the organization does not enhance its own capabilities if the work is outsourced. A very capable project manager is needed to help ensure the success of an outsourcing arrangement. 8. What are some problems associated with using packaged software? How can these problems be minimized? There are two primary problems associated with purchasing pre-written software. First, the software is generally written to appeal to the widest possible market. Its features are likely to be quite generic, and may not fit the procedures of the purchasing company very well. The purchasing company will have to adapt to the software‘s features, however. Second, the software has to be integrated into the organization‘s existing systems environment. Often, data formats are quite different between the new package and existing legacy systems. To handle these problems to some degree, the purchasing organization can do some customization on the package, or develop workarounds.

1-170


9. What is meant by customizing a software package? Customizing a software package means that the organization takes advantage of customizable features built into the software package they have acquired. This can include adding corporate logos, or changing default behavior. The amount of customizable features is application specific, so the developers should have an understanding of what features will be customizable during the acquisition decision process. 10. What is meant by creating a workaround for a software package? What are the disadvantages of workarounds (if any)? A workaround is a custom-built add-on program that interfaces with thee packaged application to handle special needs. It can be a nice way to create needed functionality that does not exist in the software package. Workarounds can be useful in adding a few special features to a pre-written software package, making it more suited to the organization‘s particular needs. The two disadvantages of workarounds are: (1) it will not be supported by the software vendor, and upgrades to the package by the vendor may cause problems with the workaround; and (2) the vendor may point to the workaround if any problems occur with their product. 11. What is involved with systems integration? When is it necessary? Systems integration refers to the process of building new systems by combining packaged software, existing legacy systems, and new software written to integrate these. The key challenge in systems integration is finding ways to integrate the data produced by the different packages and legacy systems. Integration often hinges on taking data produced by one package or system and reformatting it for use in another package or system. 12. Describe the role of application service providers (ASPs) in obtaining new systems. What are their advantages and disadvantages? Outsourcing firms called application service providers (ASPs) supply software applications and/or software-related services over wide area networks or the Internet. In this approach to obtaining software, the ASP hosts and manages a software application, and owns, operates, and maintains the servers that run the application. The ASP also employs the people needed to maintain the application. The customer is billed by the ASP for the application either on a per-use basis or on a monthly or annual fee basis. . Advantages to outsourcing to an ASP include a short set up time for getting the software in use, a low initial outlay, no software maintenance costs, no infrastructure changes to be made. Disadvantages are similar to those for purchasing a software package; specific business needs by not be met by the generic software, customization is minimal, and in this case, workarounds would not be available as the software is not on site.

1-171


13. Distinguish between a traditional ASP and a provider of software as a service. What are the pros and cons of each solution approach? The traditional ASP model of obtaining software from a third party vendor is basically an approach where the ASP hosts software applications and owns, operates, and maintains the servers that run the application. In the newer software as a service (SaaS) model the vendors host and service their own software rather than managing and hosting third-party independent software. The ASP model has a relatively low cost of entry and typically a short set-up time. Personnel costs can be lowered and investments in specialized IT infrastructure often can be avoided. On the other hand, with the SaaS model, if the company already has made the investment into staff and infrastructure, these costs can be leveraged and SaaS delivered software can be modified easily to fit the specific task. 14. Explain the distinctions between time and arrangements, fixed-price, and valueadded outsourcing contracts. What are the pros and cons of each? A time and arrangements deal is very flexible because you agree to pay for whatever time and expenses are needed to get the job done. The actual final cost of the project will not be known until it is over. You will pay no more than expected with a fixedprice contract because if the outsourcer exceeds the agreed-on price, he or she will have to absorb the costs. The value-added contract is when outsourcer reaps some percentage of the completed system‘s benefits. You have very little risk in this case, but expect to share the wealth once the system is in place. 15. What is the purpose of a request for proposal (RFP)? How does it differ from the RFI? A request for proposal (RFP) is a document that solicits a formal proposal from a potential vendor, developer, or service provider. RFPs describe in detail the system or service that is needed, and vendors respond by describing in detail how they could supply those needs. For smaller projects with smaller budgets, the request for information (RFI) may be sufficient. An RFI is a shorter, less detailed request that is sent to potential vendors to obtain general information about their products and services. 16. What information is typically conveyed in an RFP? The RFP expresses in detail the needs and requirements of the organization, and specifies the process it will use to evaluate potential vendors. The vendor can then create a proposal that details how it would be able to fulfill the stated requirements, and what its fees would be.

1-172


17. What is the purpose of the weighted alternative matrix? Describe its typical content. The alternative matrix communicates the project‘s most important criteria and the alternatives that best address them. . Adding weights and scores to the matrix allow the decision maker to prioritize the criteria. Typically, analysts take 100 points and distribute the points to the various criteria depending upon how important the criterion is deemed to be. The assignment of points is entirely subjective. Once the points have been assigned, the analyst then awards a score (1-5), of how well each alternative meets that criterion. The weighted score is the weighted points assigned multiplied by the score received. Each criterion‘s weighted score is calculated, and the weighted scores summed. The alternative with the highest score would indicate the best match for the criteria.

18. Should the analysis phase be eliminated or reduced when we intend to use a software package instead of custom development or outsourcing? The analysis phase is very important, even if the design strategy chosen is packaged software. It is critical to understand the business requirements for the problem domain so that the various packaged solution options can be accurately evaluated. The business requirements should drive the evaluation of the packaged software options. We do not want the features of available software packages to determine what is needed to solve the business problems.

1-173


Solutions to End of Chapter Exercises A. Assume you are developing a new system for a local real estate agency. The agency wants to keep a database of its own property listings and also wants to have access to the citywide multiple listings service used by all real estate agents. Which design strategy would you recommend for the construction of this system? Why? There may well be good packages available for real estate offices. The needs described here would be common among all real estate offices. If a package cannot be found, then this development should be outsourced. I would not expect the real estate office to have in-house development capabilities. B. Assume you are developing a new system for a multistate chain of gaming stores. Each store will run a fairly standardized set of game store processes (cataloging game inventory, customer registration, game rentals, game returns, overdue fees, etc.). In addition, each store‟s system will be networked to the corporate offices for sales and expense reporting. Which design strategy would you recommend for the construction of this system? Why? This system should be outsourced. It is important that this system be well designed and tested since it is essential to the operations of each of the video stores. It is an operational system that is not really strategic, therefore, outsourcing would be an acceptable approach. C. Assume you are part of a development team that is working on a new warehouse management system. You have the task of investigating software packages that are available through ASPs. Using the World Wide Web, identify at least two potential sources of such software. What are the pros and cons of this approach to obtaining a software package? Student answers will vary based on their findings. D. Assume you are leading a project that will implement a new course registration system for your university. You are thinking about using either a packaged course enrollment course registration application or outsourcing the job to an external consultant. Create a request for proposal (RFP) to which interested vendors and consultants could respond. Student answers will vary.

1-174


E. Assume that you are your friends are starting a small business painting houses in the summertime. You need to buy a software package that handles the financial transactions of the business. Create an alternatives matrix that compares three packaged systems (e.g., Quicken, Microsoft Money, Quickbooks). Which alternative appears to be the best choice? Student answers will vary.

1-175


Answers to Textbook Minicases 1. a.

Several things need to be in place before deciding to do a project in-house. The primary consideration should be the business needs identified for the new system. If these business needs are very unique and cannot be readily fulfilled by a prewritten software package, then the firm will have to undertake the development of a custom software application (either in-house or through outsourcing). Also, the more strategic the application is to the business, the more weight that should be given to in-house development. Other issues that should be considered regarding in-house development include the availability of staff with the necessary functional and technical skills, and the organizational commitment and desire to develop/enhance the in-house systems development capability. The firm should also have a skilled project manager available for the project, and should have a proven systems development methodology in place. Finally, since there are many unknowns in the development of a custom software application, the time frame should be flexible, and the budget should be adequate to support the uncertainty of this undertaking.

1. b.

Purchased, pre-written software packages are suitable when the business need for the system is fairly standard and is shared by many other firms. In these situations, it is likely that there will be a commercial product developed by a software vendor to support the business needs. There should be in-house functional skills available to understand the business needs and perform an appropriate assessment of candidate packages. The firm probably does not place a high priority on developing the system development skills of its in-house staff. A project manager will be needed to work with the software vendor and coordinate the integration of the product into the organization. Another factor to consider is the available time; purchasing packages is one of the quickest ways to obtain needed software capability, and so may be appropriate when the time pressure is great.

1. c.

Although the project sponsor (in this case, Susan) may have some ideas about which approach should be used, it is not generally advisable to make that decision too early in the project. Often, there will be information discovered during system analysis that will affect the decision. Regardless of whether the application is developed in-house or purchased, there should still be a thorough analysis phase performed to understand the existing situation, define needed improvements, and develop a concept for the new system. Only after the system needs and requirements are thoroughly understood should the decision of ‗make versus buy‘ be made. At this point, enough information will be known to determine if the needs are unique enough and we have sufficient commitment and capability to undertake the project in-house. Alternatively, we will also know enough after this investigation to determine if there are pre-written software packages that are viable candidate solutions for this situation. (Although the issue of outsourcing is not the focus of this question, it may also be considered at this point.)

1-176


2.

Student answers will vary to this minicase, depending on the web builder packages selected by students and the selection criteria used. This problem is a great opportunity for students to set up a small software selection evaluation and actually perform and apply research to find the package that is most suitable. There are many website builder options available; many are free or available as a free trial, so students could apply a real assessment of the options.

1-177


Supplemental Minicases 1. Birdie Masters is a chain of golf schools that operates throughout the southwestern United States and California. Using a combination of innovative teaching techniques and a staff of effective teaching pros, Birdie Masters has become quite successful and has expanded rapidly in recent years. An exciting prospect on the horizon now is an opportunity to establish locations in Japan to serve the needs of the golf-crazy Japanese market. Janet, president of Birdie Masters, authorized a systems development project six months ago to begin development of a new golf school operations system. This networked system will link all school locations together, and enables each school location to collect basic school transaction data and maintain detailed records of lessons, classes, and student progress. The development project has proceeded smoothly through planning and analysis up to this point. The project team held several JAD sessions that included school location managers, teaching pros, and school students. The team has developed a new system concept that has the enthusiastic support of its end users. Not only will the system provide the school location managers and teaching pros convenient data entry and retrieval, but it will also permit current and prospective golf students to view course offerings and schedule classes and lessons via the Internet. Right now, on a golf course in Tucson, a heated debate is taking place. The current issue under consideration is the appropriate design strategy to use for the remainder of this project. Jack, the director of Information Systems at Birdie Masters, and Arnold, the project manager assigned to this project, have differing views on whether this system should be developed in house or whether the development should be outsourced. Let‘s listen in on the discussion. JANET: Now, let me make sure I understand the situation here. First, the option of purchasing the software is out of the question, since our system needs are unusual and unique to our business. Is that right? JACK: That‘s correct. There‘s no disagreement on this issue. Buying the software is not an option. JANET: So, the other options are to make the software ourselves, or to hire another company to develop it for us. ARNOLD: Yes, those are the basic choices we have. However, I see this as a clear situation where we should make the software ourselves. My project team is excited about this project, and we are anxious to move ahead on the design and implementation of our ideas for the new system. JACK: Now, not so fast, Arnold. Your team has done a fine job during analysis and you‘ve come up with some real innovative ideas for this system. The users are thrilled, and that‘s great! I‘m just not sure it‘s in the best interests of our IS shop to undertake the rest of this project ourselves. ARNOLD: But Jack, this project gives us the chance to develop some skills we really need to have. We‘re going to have a tough time hanging on to our newer IS staff if

1-178


we don‘t give them the chance to do something innovative like this web-based system, and develop some up to date skills like Java. You know that keeping staff is a major headache for us. JACK: Yes, I sure know that. I‘m just not sure a major project like this is a good time for us to be learning new things. We could hire an outsourcer that already has the skills needed for the project on staff, and they wouldn‘t have to go through the training our staff would. Besides, we already have a backlog of work to keep the staff busy for months without taking this on ourselves. JANET: Will using an outsourcing firm be expensive? JACK: We‘ll get bids from several firms in order to find a good contract. Of course, we‘ll be paying for the fact that the outsourcing firm has the skills that we need for this project. But, they‘ll be able to come in and get it done for us faster than we could ourselves. Considering the fact that we‘ve never taken on a project like this ourselves, I think an outsourcing firm will be cheaper in the long run. ARNOLD: I still think you‘re being shortsighted in this, Jack. We have good, talented people on staff that we want to keep. How can we keep them unless we give them new and exciting technologies and projects to work on? It might take a little longer for us to complete this project than it would an outsourcing firm, but think of the payoff in terms of higher retention and staff morale! You know we‘ll have to maintain this system once it‘s installed. If we hire an outsourcer, all the skills and knowledge that went into creating the system just walk out the door when the project‘s over! JANET: OK, guys. I think we need to table this discussion for later. Jack, I think you‘re up. a. Can you identify any other issues that are relevant to the decision of outsourcing versus in house development that have not been raised in this discussion? Answer: There are several other issues that should be discussed. One is the degree of strategic value of the system. Generally, the more strategically important the system is to the organization, the more important it is to develop the system in house (assuming they have the capability to do so). Another issue is the strategic value of the outsourcing decision itself. If we outsource this project, will we gain strategic value by allowing us to work on other key tasks? An additional, subtle issue is the global aspect of the project. There are plans to expand internationally for the first time, and we assume this system will have to support the new international locations. Is the organization capable of handling the additional challenges of global systems, or will the expertise of an outsourcing firm be required to assist with this venture? b. What would you recommend Janet do? Justify your answer. Answer: There is no clear answer to this question, and students will be able to debate both sides of the issue. Students who support the in-house development option will cite the need to provide challenging opportunities and new technologies in order to retain IS staff. There is also merit in being very familiar

1-179


with a system that is strategically important to the organization. Investing in needed training and then doing this development ourselves will strengthen our IS department significantly. Students who support the outsourcing option will cite the expense and uncertainty associated with training our own staff and then undertaking a project more significant than any done before in house. The risks and uncertainties of this are high. There is always the risk that you will invest in staff training, only to have them take their new skills and leave anyway. If this project is of high strategic value, then there is some question that we can „gamble‟ in its development by doing it in house. The question of what other work remains to be done in house needs to be answered, as does the issue of handling the international aspects of this system. The overall decision probably leans toward outsourcing, but there should be enough fodder for a good debate. 2. Martin is project leader of a new distribution system project for the Wall-Stone Company. Today, Martin is preparing for a meeting with the key end users who have been involved in the development project so far. Overall, Martin has been very pleased with the contributions made by these end users during the Analysis phase. The team performed one JAD session involving a number of stakeholders that went very well. Other information has been gained through observation, document analysis, and interviews. Although the end users have not had any experience with this type of systems development work before, they have been open to learning about the analysis tasks that were used, and have been forthcoming with good ideas and suggestions for the new system. At the end of last week, the new system concept was presented to the approval committee in a walkthrough session. Reaction was favorable all around, and the team was authorized to proceed with design work. Now, Martin wants to explain to the end users exactly what the team will be doing during this next project phase. In particular, the end users had become quite adept at interpreting the logical process and data models that had been developed in the analysis phase. Now, Martin wants to prepare them for the transition of those models to physical process and data models. Develop an outline that Martin can use that concisely explains the changes that are made as logical process and data models are converted into physical process and data models. Answer: The steps involved in creating a physical DFD from the logical DFD include:  Add information to the data flows, data stores, and processes that identifies how each will be implemented.  Draw a line on the diagram that establishes the human-machine boundary.  Identify and add any system-related data stores, data flows, and processes that will be required for audit, control, etc. purposes.  Add any system-related data elements to the data flows.  Update the metadata in the project repository.

1-180


The steps involved in creating a physical ERD from the logical ERD include:  Change the logical data entities to physical tables or files and update the metadata.  Change all element attributes to fields and add field property documentation to the metadata.  Assign primary keys to all entities (if not already done).  Add foreign keys to entities to establish required entity relationships.  Add system-related tables and fields (see physical DFDs to identify new systemrelated data stores and data elements that may have been added). 3. Mary is Executive Director of the Helping Hand Assistance Agency, a non-profit organization that provides support and services for adult caregivers. The Helping Hand Assistance Agency has been operating for eight years, and has seen growth in the number of clients served and the range of services provided. Mary has been in the executive director position for the last two years. A factor that is critical to the agency‘s success is its fundraising. Every year, Helping Hand has seen its donor list grow as word of its quality services spread throughout the region. Four years ago, the person who was then serving as executive director authorized the purchase of a PC-based system to manage all the data associated with fundraising and donations. The software that was purchased had an interesting history. The author of the software developed it in his spare time to assist a charitable organization with which he was involved manage its fundraising efforts. After developing the system, the author decided to market the system to other not-for-profit agencies. The price for the software was quite low, and the software did well in terms of initial sales. The author of the software promised little in the way of support for his product, however, and many of the agencies soon found that they could not adapt to some of the quirks in the software‘s design. There was little that could be done to customize the software, and the author was either very slow to respond or was nonresponsive to requests for modifications to the product. Eventually, the author notified all purchasers of the product that he was moving on to other ventures, and would no longer be providing support of any kind to the purchasers of his software. The staff at Helping Hand Assistance Agency struggled to adapt to this software, and eventually got several of its routines to function correctly. They were unable to use all of the software features, however, and today, their fundraising system is a cobbled together blend of automated and manual processes. Sometimes Mary considers their fundraising success a miracle, considering the tangle of processes used. The time seems right for the Helping Hand Assistance Agency to obtain another software package that will support their fundraising and donation activities. Mary wants to do a good job this time in finding an appropriate package. There is no question that software must be purchased; the agency has little IS expertise on its staff. Prepare a set of guidelines that Mary can follow that will assist her in selecting a suitable software package for the organization.

1-181


Answer: It would be ideal if Mary could obtain some IS expertise to assist in this software selection process. Since funds are probably tight, she may be able to find an IS professional who would be willing to donate some time to help. Having a college class take this task on as a project is a possibility, or perhaps internships could be offered to IS students to work on this project. The project team should follow these steps:  Perform an analysis of the agency and identify the needs and requirements for this system. Even though the software will be purchased, the agency needs to have defined what it is looking for before it begins evaluating candidate packages.  Identify candidate vendors. Use personal contacts, trade publications, and other methods such as Internet searches to find companies who offer software packages that may be suitable. Try to find at least three sources of software for comparison.  Develop a statement of need that outlines the features and requirements the agency needs. This may be viewed as a Request for Proposal, although the less formal Request for Information may also be used. Send this information to the vendors and ask for a response by a specific date. If the vendor‟s product fulfills the agency‟s requirements, have them send documentation and prepare a demonstration.  Evaluate each vendor‟s product based on the materials provided, a demonstration, and the vendor history and support capabilities. Use an Alternative Matrix to concisely compare each option using the feasibility techniques of technical, economic, and organizational feasibility. The key here is to identify the product that comes closest to fulfilling the agency‟s needs, with appropriate vendor support behind it.

Experiential Exercises 1. Purpose: to enhance student understanding of a Request for Information. Develop a scenario involving the acquisition of some technology that has meaning to the students. This will vary from place to place. On my campus, for example, there is a project underway to convert the student ID cards into „smart cards‟ that will have many uses around campus. Clearly, new technology will need to be acquired to utilize these cards. Some other technology may be more appropriate for your campus. Once a technology has been selected, have the students do some Web research for potential sources of the technology, just to gain a background. Then, working in groups, have the students prepare a Request for Information to be sent to one of the potential vendors. Emphasize the need to ask for specific information. Have the groups discuss in class their RFIs, and compare and contrast the content of each group‘s work.

1-182


2. Purpose: to enhance student understanding of an Alternatives Matrix. Assign the students a task such as selecting the hardware, software and networking technology for a computerized classroom. Working in groups, have them develop two distinct alternatives for accomplishing this task. (Simply using different vendors for the hardware could be a way of creating two alternatives. Encourage them to consider other options as well.) Once two alternatives have been chosen, have each group develop an alternatives matrix for their options. Each group should then present and explain their alternatives to the class, using the matrix as a basis for the discussion. 3. Purpose: to develop an appreciation for the positive and negative aspects of packaged software applications. Invite a businessperson to class whose organization has acquired a packaged software solution for a significant business function (i.e., not word processing). There may be someone on your campus in an administrative office that would also be a suitable guest. Try to find someone with a business perspective, however, not a technical perspective. Have the guest discuss the process that was used (if any) to decide that purchased software was the best design strategy. Also discuss the evaluation and selection process that was used to choose the software package that was implemented. Ask the guest to discuss the organizational reaction to the software package, and how the adjusted to the new software. 4. Purpose: to develop an appreciation for the complexity of systems integration. Invite an IS professional from your campus or a local business to class. Identify someone who has been involved in the selection and installation of a software package that had to interface with other existing systems. Ask the guest to discuss the issues that had to be confronted when integrating the software. In particular, ask about data translation programs that had to be written or other middleware that was needed to enable the new and existing systems to work together.

Chapter 7: Architecture Design Teaching Tips and Strategies (from Barbara Wixom) I find these topics to be important for students to appreciate, especially because of the way in which each topic influences the design of the system. By covering the many issues of architecture design, it adds to the students‘ appreciation for the complexity involved in systems development. Depending on your curriculum, the topics (e.g., client-server) may be covered in other classes. I find that I gloss over some topics when this is the case, and spend more time on topics that are new to students. However, I have students address all

1-183


the topics in their semester project by either writing a memo to the project manager or actually producing the architecture design deliverables. Our students have a good knowledge of architectures by the time they get to this class, so I do not spend much time lecturing about this material. Instead, I spend the first class session of architecture design teaching how nonfunctional business requirements are refined and used to select the architecture design. I then have a technical person from our University IS department come in and verbally describe how a university system (e.g., the career services application that we have in place) is set up. After the guest leaves, the students get into groups and "work backwards" to define the nonfunctional requirements that produced the system described by our guest. It works really well. Usually, the students compile questions about additional information that they need, and we either make assumptions about the answers, or ask the technical person via email. A fun exercise is to assign groups a component of the system our guest described and have each group come up with a hardware/software specification for the component. It makes for a great homework assignment and you can post all of the group answers on a Web site, or on a listserv for all to see. The students can get the technical information from the Web, or by visiting a local computer store. I find that having them do a specification is much more interesting than spending a lot of time lecturing about it. I spend another class on architecture design handling the security requirements and cultural/political requirements. I start off with a lecture to present the key issues, and have students provide examples. Usually I also come prepared with some current events or system examples from Computerworld that exemplify each issue in the lecture. I finish class with an exercise that drives home the importance of security. Before class, I come up with a list of 10 security threats. I tell the students that their rival school is hoping that their system crashes. In groups, they must come up with a list of 10 potential threats to their system and assess the risk of each one happening. Then, they need to create controls for the top 5 most risky threats. When they are finished, I unveil my list of threats, and we pretend that they actually transpired. To win as a class, they must show that they have warded off my threats. If any of my threats is not addressed, the rival school ―wins.‖ I give high praise to groups who address the greatest number of my threats. We then discuss threats that they had as risky but did not occur.

War Stories (from Barbara Wixom) Secure packaged systems? My friend Graig works with a lot of packaged financial systems, and he was telling me how difficult it is to secure the human resource module for a packaged system like a PeopleSoft or SAP. The reason is that the security is controlled by password at the application-level. But, that does not keep IT people (like the DBA) from having access to data by going directly through the tables.

1-184


For example, if the DBA wanted to find out her boss‘ salary, she could not access it through the human resource module of Peoplesoft. However, she could access the salary by going into the table using her database password. On the one hand, you want your IT people to know system passwords so that they can maintain the system. On the other hand, you may not want them to have a password because the data in the tables is sensitive… Graig says that many companies leave this security hole unpatched. They go ahead and give the system password to the DBA and trust that he or she won‘t abuse the privilege. Other companies have tried some other approaches. For example, one implementation had the human resource manager be the keeper of the password. Whenever the DBA needed to make changes to the system, she would have to get the password from the human resource manager. The manager had to start wearing a beeper – in case the system went down and the DBA had to make emergency changes!

1-185


Web security Owens & Minor (OM) is a medical supplies company based in Richmond, Virginia, and they won the 1999 Best Practices Leadership Award from the Data Warehousing Institute for their Web-based data warehouse. The warehouse called VISION allows suppliers and customers to access their orders via the Web. Of course, this information can be highly sensitive – OM had to make sure that suppliers could not see other suppliers‘ information or what individual customers are buying. OM gives users passwords that change monthly to differentiate each user of the system. This password and login is affiliated with a customer or supplier ID that resides in a security table. Whenever the customer or supplier runs a query or report, their ID is appended as a WHERE clause in the SQL query generated, thus restricting the output to data pertinent to their own account only. You can check out the warehouse using a virtual tour off of the OM web site – www.owens-minor.com

1-186


Answer to Your Turn 7-1: University Course Registration System Student answers will vary, but should include a consideration of the operational, performance, security, and cultural/political requirements as follows: Operational: Technical Environment, System Integration, Portability, and Maintenance requirements. Performance: Speed, Capacity, Availability and Reliability requirements. Security: System Value Estimates, Access Control, Encryption and Authentication, and Virus Control requirements. Cultural/Political: Multilingual, Customization, Making Unstated Norms Explicit, and Legal requirements. Architectural design will vary based on the requirements the students have identified.

Answer to Your Turn 7-2: Global e-Learning System Student answers will vary, but should include a consideration of the operational, performance, security, and cultural/political requirements as follows: Operational: Technical Environment, System Integration, Portability, and Maintenance requirements. Performance: Speed, Capacity, Availability and Reliability requirements. Security: System Value Estimates, Access Control, Encryption and Authentication, and Virus Control requirements. Cultural/Political: Multilingual, Customization, Making Unstated Norms Explicit, and Legal requirements. Architectural design will vary based on the requirements the students have identified.

Answer to Your Turn 7-3: University Course Registration System Student answers will vary depending upon the architectural design developed for Your Turn 7-1. Responses should include operating system software, hardware, software and network specification. Additionally, the students should ensure that the hardware and network specifications support the needs of the software specifications. For example if a specialized software specification requires a UNIX platform, that operating system should be included in the list.

1-187


Answer to Your Turn 7-4: Global e-Learning System Student answers will vary depending upon the architectural design developed for Your Turn 7-2. Responses should include operating system software, hardware, software and network specification. Additionally, the students should ensure that the hardware and network specifications support the needs of the software specifications. For example, if an Oracle Database is specified, students should ensure that there will be a large enough server to support the proposed data needs.

1-188


Answer to Concepts in Action 7-A: When Performance Counts There were no questions.

Answer to Concepts in Action 7-B: Importance of Capacity Planning Things to consider when conducting capacity planning include not only the number of proposed users, but the support of those users in their activities. In this case, the developers should have considered that an increased number of members interacting with the system will slow down response time. Additionally, an increased number of members also means an increase in the number of member records, which results in an increase in time to process those records.

Answer to Concepts in Action 7-C: Securing the Environment 1. Student answers will vary, depending upon their experience with a campus network. However, typically students rely heavily on a campus network to communicate, conduct research and complete homework assignments. Staff and faculty rely on the network to interact with campus systems. 2. Tangible costs might include loss of productive time for staff and faculty and an increase in costs for staff to update records when the system comes back up. Intangible costs might include loss of student satisfaction with the system and a loss of reputation in the community. 3. Having an intrusion prevention system decreases the number of potential threats to the system. As depicted in the scenario, having the IPS in place resulted in no outages when the students came back from break. The end result was that there was no interruption in service to students, faculty, and staff.

Answer to Concepts in Action 7-D: Power Outage Costs a Million Dollars One way to ensure that the situation does not occur again is for the company to invest in a backup power system to support the business systems associated with sales. Conducting a cost analysis should prove that the one-time investment will certainly pay off when applied against the potential loss of revenue in sales.

1-189


Answer to Concepts in Action 7-E: Developing Multilingual Systems 1. The decision to support non-English speaking users would depend upon a number of factors. The first of these is to determine how many users are in question. If only a small percentage do not speak English, it may not be cost effective to provide additional resources to support them. A second factor is to determine how many languages would be needed to support the users. If the majority of the nonspeaking users speak German, then it may be cost-effective to support them in order not to lose their business. 2. Again, it would depend upon how many users were in question. Additionally, it might also depend upon the delivery of the application. If it is a standalone application, it is possible to develop languages models for the users to acquire. If it is a web-based application, it is possible to have multilingual web pages available and allow the user to choose which language is presented.

1-190


Solutions to End of Chapter Questions 1. List and describe the four primary functional components of a software application. The four general functions of any application are (1) data storage - storage of the system‘s data; (2) data access logic - providing access to the system‘s data; (3) application logic - the system‘s processing functions; and (4) presentation logic - the appearance of the system to the user and the method used to give the system commands. 2. List and describe the three primary hardware components of a system. The three main hardware components of an application architecture are client computers, servers, and networks. Client computers are the input–output devices employed by the user and are usually desktop or laptop computers, but can also be handheld devices, smartphones, tablet devices, special-purpose terminals, and so on. Servers typically are larger multi-user computers used to store software and data that can be accessed by anyone who has permission. The network that connects the computers can vary in speed from slow cell phones or modem connections that must be dialed, to medium-speed always-on frame relay networks, to fast always-on broadband connections such as cable modem, DSL, or T1 circuits, to high-speed always-on Ethernet, T3, or ATM circuits. 3. Explain the client-server architecture. In a client-server based architecture the responsibility for the applications functions are shared. The client is responsible for the presentation logic, whereas the server is responsible for the data access and data storage. The application logic may be split between the client and server, or may reside on the client or the server. 4. Explain the server-based architecture. The very first computing architectures were server-based, with the server (usually, a central mainframe computer) performing all four application functions. The clients enabled users to send and receive messages to and from the server computer. The clients merely captured keystrokes and sent them to the server for processing, and accepted instructions from the server on what to display.

5. Explain the mobile application architecture. In a mobile application architecture, the system architect must decide how much of the presentation logic, business logic, and data access logic will reside on the mobile device, and how much will reside on server devices.

1-191


6. Distinguish between the two-tier, three-tier, and n-tier client-server architectures. The differences in these client-server architectures have to do with the allocation of the various components of the total application between the client and the server(s). In a two-tiered architecture, the server is responsible for the data and the client is responsible for the application and presentation. This is called a two-tiered architecture because it uses only two sets of computers—clients and servers. A threetiered architecture uses three sets of computers. In this case, the software on the client computer is responsible for presentation logic, an application server(s) is responsible for the application logic, and a separate database server(s) is responsible for the data access logic and data storage. An n-tiered architecture distributes the work of the application (the middle tier) among multiple layers of more specialized server computers. . 7. Compare and contrast server-based architectures, and client-server based architectures. In a server-based architecture, the server (generally a large mainframe) performs all four application functions. In a client-server architecture, the clients handle the presentation logic, while the server is responsible for data access logic and data storage. The application logic may be allocated entirely to the clients, entirely to the server, or split between the clients and server.

8. What is meant by the term scalable? What is its importance in architecture selection? Scalability means it is easy to increase or decrease the storage and processing capabilities of the servers. If one server becomes overloaded, you simply add another server so that many servers are used to perform the application logic, data access logic, or data storage. The cost to upgrade is gradual, and you can upgrade in small increments. 9. Explain the term virtualization. Virtualization refers to the creation of a virtual device or resource, such as a server or storage device. You may be familiar with this concept if you have partitioned your computer‘s hard drive into more than one separate hard drive. While you only have one physical hard drive in your system, you treat each partitioned, ―virtual‖ drive as if it is a distinct physical hard drive.

1-192


10. Describe cloud computing and how it is impacting architecture choices. It is no longer necessary for organizations to own, manage, and administer their own computing infrastructure. We are in the midst of the rise of cloud computing, wherein everything, from computing power to computing infrastructure, applications, business processes to personal collaboration—can be delivered as a service wherever and whenever needed. The ―cloud‖ in cloud computing can be defined as the set of hardware, networks, storage, services, and interfaces that combine to deliver aspects of computing as a service. Cloud services include the delivery of software, infrastructure, and storage over the Internet (either as separate components or a complete platform) based on user demand. Cloud computing can be implemented in three ways: private cloud, public cloud, and hybrid clouds. . 11. Describe the types of operational requirements and how they influence architecture design. Operational requirements specify the operating environment(s) in which the system must perform and how those may change over time. This usually refers to operating systems, system software, and information systems with which the system must interact, but will on occasion also include the physical environment if the environment is important to the application. Four key operational requirements are technical environment, system integration, portability, and maintainability. ( .

12. Describe the types of performance requirements and how they may influence architecture design. Performance requirements include: Speed – response time (how long does it take for the system to respond to a user request?), and transaction delay (how long does it take for an event on one part of the system to be reflected in another part of the system?) Capacity – how many users does the system support? The number of both internal (employees) and external users (customers) should be factored in. Availability and Reliability – When does the system need to be available? 24x7? During the 40-hour work week only? Is it absolutely imperative that the system be up and running with no downtime? For medical and military operations, this may be the case.

1-193


13. Describe the types of security requirements and how they may influence architecture design. Security requirements include: System Value – estimated business value of the system and its data. Access Control – determining who is authorized to access which resource Encryption and Authentication – determining what data will be encrypted and whether or no authentication will be required for user access Virus Control – controlling viral spread 14. What is meant by system value? Explain how various systems can have a different value to the organization. System value is an assessment of the costs to the organization that might be incurred if the system were unavailable or if the data was compromised. These costs are not the costs associated with replacing hardware and/or software, but are the costs associated with loss of business; potential lawsuits, decreased customer satisfaction, cost of rebuilding the organizational data structure, etc. 15. Explain the difference between a symmetric encryption algorithm and an asymmetric encryption algorithm A symmetric encryption algorithm is one in which the same key is used to both encrypt the data and decrypt the data. An asymmetric encryption algorithm is one in which separate key are established; one to encrypt the data, and another to decrypt the data. 16. What is meant by authentication? What is its role in securing transactions? Public key encryption permits authentication (or digital signatures). When one user sends a message to another, it is difficult to legally prove who actually sent the message. Legal proof is important in many communications, such as bank transfers and buy/sell orders in currency and stock trading, which normally require legal signatures. Public key encryption algorithms are invertible, meaning that text encrypted with either key can be decrypted by the other.

1-194


17. Describe the usefulness of the Internet‟s public key infrastructure (PKI). The PKI is a set of hardware, software, organizations, and policies designed to make public key encryption work on the Internet. PKI is useful in that it can act as an uninterested, third party in the encryption and authentication process. PKI uses certificates that each organization or individual applies for with a certificate authority (CA). The CA is responsible for authenticating the individual or organization before issuing the digital certificates, and then holds those certificates in trust. The organization or individual then uses those digital certificates to authenticate identity. 18. Describe the types of cultural and political requirements and how they influence the architecture design. Cultural and Political requirements include: Multilingual – Does the environment require the system to operate in more than one language? Customization – Are there features that can be customized according to different national cultures? Making Unstated Norms Explicit – Are there assumptions that may be ambiguous in different national cultures? If so, they need to be explicitly stated. Legal – Are there national and/or international legal issues that need to be addressed? 19. Explain the difference between concurrent multilingual systems and discrete multilingual systems. A concurrent multilingual system is one in which several languages are available simultaneously. Users can choose to use many languages at any time. A discrete multilingual system is one in which one of many languages is chosen at installation. Reinstallation is required for the system to operate in a different language. 20. Why is it useful to define the nonfunctional requirements in more detail even if the technical environment requirements dictate the specific architecture? In the event that the technical environment requirements do not require the choice of a specific architecture, then the other nonfunctional requirements become important. Even in cases when the business requirements drive the architecture, it is still important to work through and refine the remaining nonfunctional requirements, because they are important in later stages of the design and implementation phases.

1-195


21. What is the purpose of the hardware and software specification? The hardware and software specification is a document that describes what hardware and software are needed to support the application. 22. What do you think are three common mistakes that novice analysts make in architecture design and hardware/ software specification? Architecture design is a difficult process, so it is easy for a novice analyst to make mistakes. Some likely mistakes include:  not considering the future of the system; selecting a design based only on its current needs.  Not considering all aspects of system security that need to be factored into the architecture design.  Failing to include cultural, political, and legal requirements that may be important for the system The hardware and software specification is also subject to some mistakes. For example:  Omitting a key piece of software needed in the overall system  Omitting some associated software issues (and costs) such as training, maintenance, and licensing agreements.  Providing incomplete hardware specifications 23. Are some nonfunctional requirements more important than others in influencing the architecture design and hardware and software specification? The technical environment requirements have the most influence on the architecture design and the hardware/software specification. These requirements follow directly from the business requirements for the system and generally dominate all other considerations. 24. What do you think are the more important security issues for a system? It is difficult to rank security issues since all are important. In today‘s environment, however, there are some issues that must be addressed. For example, protection from external access is increasingly important in our networked world. Since more and more business transactions are conducted over networked systems and the Internet, encryption and authentication controls are essential. Viruses are the most common security problems, so systems need to prevent the spread of viruses.

1-196


Solutions to End of Chapter Exercises A. Using the Web (or past issues of computer industry magazines, such as Computerworld), locate a system that runs in a server-based environment. On the basis of your reading, why do you think the company chose that computing environment? Sample response: NHS Fife Rolls out Citrix Server-Based Computing Architecture (http://pressbox.co.uk/Detailed/5859.html) This article discusses the rollout of a 900-user server-based computing architecture for Fife Acute Hospitals NHS Trust in Scotland. Benefits of this system stated in the article include replacement of an obsolete, unwieldy IT infrastructure, considerable reduction in total cost of ownership, faster software roll outs, reduced hardware and software maintenance and support costs. B. Using the Web (or past issues of computer industry magazines, such as Computerworld), locate a system that runs in a client-server environment. On the basis of your reading, why do you think the company chose that computing environment? Student answers will vary. Look for benefits of client-server that include the fact that clients can access information and services anywhere on the network. Flexibility and scalability are also key reasons to employ the client server architecture. C. Using the Web, investigate the term, virtual desktop infrastructure (VDI). Write a short memo explaining the concept to your boss. Student answers will probably contain items such as these: Virtual Desktop Infrastructure (VDI) is a centralized desktop delivery solution. The concept of VDI is to store and run desktop workloads including the operating system, applications, and data in a server-based virtual machine (VM) in a data center; and allow a user to interact with the desktop presented onto a user device via Remote Desktop Protocol (RDP). VDI is not an isolated architecture, but one of the many technologies available to optimize enterprise desktops. Users can get to their desktops from any authorized connected device, improving the ability to be productive even in the case of a disaster. VDI can provide remote users a rich, local-like experience on their virtual desktops from a broad range of services. VDI empowers enterprises with unified management of centralized desktops and it can extend existing management tools and processes to the virtual desktop environment as well, thereby reducing management overhead while still enabling rapid deployment and patching by managing images centrally.

1-197


D. You have been selected to find the best client-server computing architecture for a Web-based order entry system that is being developed for L.L. Bean. Write a short memo that describes to the project manager your reason for selecting an n-tiered architecture over a two-tiered architecture. In the memo, give some idea as to what different components of the architecture you would include. In this situation, look for student answers that discuss the need for performance and scalability. It is likely that the system would need web-server(s) separate from database servers in order to provide satisfactory information and performance to the users. As load on the system grows, the ease of adding capability to the system would be a big advantage for the client-server architecture. E. Think about the system that your university currently uses for career services and pretend that you are in charge of developing a mobile app for students to use to access the system. Describe how you would decide on the architecture and development approach for the new app using the criteria presented in this chapter. What information will you need to find out before you can make an educated comparison of the alternatives? Student answers will vary. If the system in place is not web-based, any new system probably will be web-based. This suggests the client-server architecture. The expected volume of stored information and volume of transactions will be needed in order to select the 2-tier architecture or the 3-tier architecture. F. Locate a consumer products company on the Web and read its company description (so that you get a good understanding of the geographic locations of the company). Pretend that the company is about to create a new application to support retail sales over the Web. Create an architecture design that would support this application. This is likely to be some form of client-server architecture. The three-tier architecture is likely since web servers and database servers will be needed to handle the transaction volume expected for a large business.

1-198


G. Pretend that your mother is a real estate agent and that she has decided to automate her daily tasks using a laptop computer. Consider her potential hardware and software needs and create a hardware and software specification that describes them. The specification should be developed to help your mother buy her hardware and software on her own. Software: Windows OS, appointment calendar program, word processor, financial calculator software, photo editing software, desktop publishing software, web browser, virus protection software, firewall. Hardware: Laptop with 15" display, 8 GB memory, Wireless modem, 500GB hard drive, CD-RW drive, digital camera card port. Good quality color printer. H. Pretend that the admissions office in your university has a Web-based application so that students can apply for admission online. Recently, there has been a push to admit more international students into the university. What do you recommend that the application include to ensure that it supports this global requirement? Multilingual capability may help. Although prospective students will probably have some English capability, they might be impressed and enthused about a university that provides them with information in their native language.

1-199


Answers to Textbook Minicases 1. Operational Requirements All locations should have access to an always-on network. Web-based portion of the system should be compatible with all major browsers and conform to future browser standards. Since mobile devices are much more popular in Japan than in the US, the system must be able to operate with handheld devices such and cell phones, PDAs, etc. Performance Requirements The design team needs to consider the volume of communication that will take place between the Japanese locations and corporate headquarters, so that an appropriate communication capability is created. The primary need in this case seems to be periodic transfer of information from the Japanese locations to headquarters. Networking specialists should be consulted to be sure that the best communication channels are established for the expected transmissions. Response time must be acceptable to users (no more than 7 seconds). Reservations in classes and lessons must be updated in the database real-time. Confirmation of class and lesson reservations must be sent to student via email within 30 minutes of making the reservation. System must be available 24x7. Security Requirements This system is critical to the success of Birdie Masters. Data transmissions must be secure. Only registered students should be able to reserve classes and schedule lessons. Only instructors can update a student's confidential progress profile. A student can view his/her progress profile only. Cultural and Political Requirements The business expansion into Japan will raise several challenges associated with globalization. A primary issue here is the language difference. In this situation, when we know we will have locations in both the US and Japan, the best option seems to be developing a discrete multilingual system for the school locations. This way, the English version is installed and used in US locations, and the Japanese version is installed and used in the Japanese locations. System designers should work with someone who knows Japanese so that the user interface screens, inputs, and outputs are designed in parallel, using correct terminology for each culture. The Internet part of the system is a little different story, since there could be English and Japanese speakers accessing the Internet at any time. In this case, the Internet part of the system should be developed as a concurrent multilingual system, enabling

1-200


both languages to be supported simultaneously. Users of the Web pages will be able to select the language they wish the pages to present. Again, designers should develop the English and Japanese versions so that they are consistent with each other, but accommodate different cultural norms. It is not clear in the case how much autonomy will be given to each school location, but some thought needs to be given to the issue of local versus centralized control. Given the great difference in the environment between Japan and the US, it may be necessary to design considerable customization into the Japanese version of the school location system to allow it to be adapted to local conditions. 2. With regard to the architecture design, Jerry should look to the standards already in place for this organization. It is likely that the existing technical environment will strongly influence the choice of architecture design. Since Jerry has not tackled this type of situation before, he should seek the help of experienced designers. With regard to the hardware and software specification, Jerry should develop a list of the hardware components that will be needed. Review the description of the system to identify the type and quantity of components that will be used. Then, develop a required configuration for the various hardware elements. Next, list the software that will run on each hardware component. Finally, identify any additional costs that will be necessary. 3. Operational Requirements This Web-based system should be compatible with all major browsers and conform to future browser standards. Methods should be incorporated so that companies and contractors can remain anonymous if desired. Performance Requirements Response to job search queries and contractor search queries should be fast: no more than 10 seconds. New job listings posted by companies should be posted within two hours of submission. New resumes submitted by contractors should be posted within two hours of submission. System should be available 24x7. Security Requirements Access to the system should be restricted to registered companies and contractors only. Security of submitted resumes and job listings must be assured. Cultural and Political Requirements It is conceivable that this system could draw the interest of global companies and contractors. If that is the case, multilingual versions of the system may be appropriate. Architecture design

1-201


This is clearly a system requiring the client-server architecture. Depending on the volume of users, it could be a two-tier system, with a browser-based client and a web server that also stores the database. If the volume of users and data is large, a threetier system that separates out the database server from the web server could be used.

Supplemental Minicases 1. The system development project team at Birdie Masters golf schools (see Supplemental Minicase #1, Chapter 7) has been working on defining the architecture design for the system. The major focus of the project is a networked school location operations system, allowing each school location to easily record and retrieve all school location transaction data. Another system element is the use of the Internet to enable current and prospective students to view class offerings at any of the Birdie Masters locations, schedule lessons and enroll in classes at any Birdie Master location, and maintain a student progress profile - a confidential analysis of the student‘s golf skill development. Assume that you are a member of the project team. You have been given the assignment of developing a memo for the Project Binder that addresses the major security requirements that should be factored into the architecture design. Develop this memo, discussing each security threat that you feel is relevant for the Birdie Masters project. Also, recommend controls that you feel will be important to include in the architecture design. Answer: The student‟s memo should discuss the fact that the system being developed at Birdie Masters is subject to a number of threats. Every operating location faces the risk that some type of disaster could disrupt operations. The networking that links the school locations could fail, resulting in a loss of communication capability. The use of networks and the Internet in the system raises the issue of unauthorized access to system data. The system feature of maintaining confidential student profiles accessible from the Web also suggests the need to protect against unauthorized access to system data. Students may suggest a number of controls for this system. Corporate headquarters and each school location should perform daily backups of operational data. Each location may want to maintain some redundancy in equipment in case of failure, or at least have a prompt service agreement arranged with a local vendor. Fault tolerant servers will be desirable at corporate headquarters. Corporate headquarters and each school location should develop and periodically rehearse a disaster recovery plan. All computers should be outfitted with virus detection programs, which should be frequently updated. This system will also require a significant component to protect against authorized access. Firewalls should be used to protect internal systems from access via the Internet. Encryption should be used to protect the data that is transferred from each location to corporate headquarters. Passwords should be implemented so that only authorized personnel can access the system at the school

1-202


locations. Also, secure Internet access to student profiles will have to be established through user accounts and passwords. 2. ComputerBuddies is a group that was formed in the Chicago metro area as an information exchange and social outlet for people with interests in computers. Members of ComputerBuddies range from veteran, big-system computer programmers and operators to young Web-heads. Over the years, members have come to rely on each other for honest, practical advice on a wide range of computer issues. People with a passion for computers in the Chicago area know that ComputerBuddies is the source of reliable answers for just about any type of computer question. Membership has grown, and the group sponsors an Internet information exchange forum as well as frequent social gatherings. At a recent social event, a guest speaker was on the agenda. The speaker was a long time member of ComputerBuddies, and he asked to be given the chance to speak at a meeting in order to share a recent experience. The speaker is an IS project manager at a major Chicago area manufacturer, and was in charge of the firm‘s first client-server implementation project. The project involved the development of a three-tiered clientserver architecture for a major manufacturing application. As the speaker made his remarks, his disillusionment with client-server was obvious. ―This project has been a nightmare for me and my project team. We went way past our target date on the project. No one anticipated how difficult it would be to get all the pieces of this system to work together correctly. We chose this architecture in part because it seemed to be the least expensive option, but we‘ve really blown whatever cost advantage we thought we‘d have from the cheap hardware on labor costs. Now that we‘ve got the system up and running, the users are constantly complaining about how slow it is. Right now, I wish we‘d gone with our tried and true server-based architecture.‖ Upon hearing this, some of the younger audience members looked shocked. Other veteran systems people nodded in agreement with the speaker's words. What has happened here? Why has the speaker experienced problems with the clientserver architecture? Should the speaker‘s organization have anticipated the problems they did experience? Answer: The client-server architecture has many advantages associated with it, and has become a very popular way of implementing new systems. The difficulty and complexity of making such systems work, however, is often underestimated because the technology in the systems seems straightforward. The challenge that is often unrecognized is the partitioning of the system functions to the various components. In this case, a three-tiered architecture implies that the presentation logic is stored on the clients, the application logic is stored on a server, and the data access logic and data are stored on another server. It is much more complicated to get this situation correctly set up than it was when every system component was found on the server. The speaker‟s company used this project as its first experience with client-server, and

1-203


probably found that its programmers had to be retrained, plus the systems analysts needed to learn to design an entirely new approach to the system. Consequently, there were many new skills that had to be used to make this a successful project. The team should have allowed for the necessary learning and experimentation in the project plan. It may have been a strategic error to have such a significant system be the „learning‟ project for the organization. The current performance problems are probably a result of needing to reallocate some of the system logic to different servers or to increase the capacity of some of the system components.

1-204


Experiential Exercises 1. Purpose: to recognize and understand the role of various system architectures in a complex IS environment. Have students brainstorm a list of all the computer applications they can identify on campus (e.g., registration, placement, financial aid, etc.). Divide students into small groups and assign each group to research one of these systems. Have the students identify the system‟s underlying architecture (client-based, server-based, clientserver-based). When each group reports its results to the class, try to identify similarities among the various systems in each category. 2. Purpose: to recognize various configurations of the client-server architecture. For the client-server-based systems identified in Exercise 2 above, determine if the system uses two-tier, three-tier, or n-tier architecture. Try to discover the reasons underlying the choice of configuration. 3. Purpose: to review and evaluate a Disaster Recovery Plan. Contact your campus‟ head of IT and obtain a copy of the campus Disaster Recovery Plan (hopefully, there will be one!). Have the class discuss the document. What threats were considered significant? What controls were established for those threats? Can the students identify any omissions that seem significant?

Chapter 8: User Interface Design Teaching Tips and Strategies (from Alan Dennis) This chapter probably presents the design of user interfaces somewhat differently than other textbooks you might have used. The first part of the chapter focuses on the overall design process, while the last half focuses on the detailed elements of the design. We have chosen to present interface design in this way, because in our opinion, it is critical to design the input, output and navigation elements as one integrated, coherent whole. We approach this using the traditional top-down approach commonly used in industry, but less commonly seen in the classroom. I usually spend two classes on this chapter. In this chapter, we focus on the user interfaces, but it is important to remember that system interfaces must also be designed (e.g., between two or more systems that exchange data). I start by presenting the six fundamental principles for user interface design. I walk through them and remind students that these should be used a priori in the design of the system, as well as post-hoc after the interface design is finished as checklist to go back over the design. Many of these principles should be common sense, but I've found that before I explicitly mentioned them (and encouraged students to use them

1-205


as an evaluation checklist), they were violated as often as they were followed. I sometimes present examples of screens that seem reasonable at first glance, but are really quite bad designs, and then ask students to assess them using the six principles. This helps drive home the fact that user interface design is not simple. The design process is fairly straightforward, but once again, before I started presenting the process as a series of five steps, students often developed poor designs. The idea of developing a design and thinking about how the users will actually use it in the use scenarios before sitting down and writing programs is an extremely powerful concept that has greatly improved the quality of the designs produced by my students. While they used to design them on paper, it just never was the same as thinking about them in action. The CD Selections case is particularly useful in showing how the use scenarios can be used to improve the design. I usually try to spend one class session on the second half of the chapter, but sometimes it takes more like a class and a half. There are lots of details here that can get tedious and dull, but nonetheless are important. We have tried to put most of the details in the tables so if you prefer you can focus on the principles and concepts, and leave the details to the students to read and use as they design the interface for the their project. Some of the Your Turn boxes (8.7, 8.8, 8.8) can be used to stimulate class discussion by using them as assignments that students do in class or bring to class for discussion and critique by other students using the principles in each section. This may change the need to cover many minor details into a discussion of how to apply the details in the context of a user interface design.

War Stories (from Alan Dennis) User Interface Evaluation Getting widespread evaluation of a user interface can be difficult. One of the consulting projects I worked on brought a set of twenty users into an e-JAD meeting room. The analysts demonstrated the initial interface design prototype (a series of mock-up screens). After each screen, the analysts paused while users typed their comments into the e-JAD system. Since the e-JAD system was anonymous, the users felt more comfortable complaining. And since everyone could type at the same time, no small set of users dominated the evaluation process. Once the users were finished, the analysts continued with the next screen, while another group of analysts read the users' comments to make sure they understood them. If they did not understand, they made sure to ask questions at the next break. Navigation Design in SAS One of the programs I love to hate is SAS, the statistical analysis system I use in my research. SAS has one of the worst user interfaces of any widely used commercial system I have used. The biggest problem is that SAS does not follow many of the Windows standards. For example, in SAS Control/F means add a footnote, not Find as it does in virtually every other Windows program (now how many times do you add a footnote to a SAS printout and why in the world would you want a hot-key for it, let alone a very commonly used one that means something else everywhere else). SAS does, of course, have a find command, but it has no hot key, meaning you have to use two mouse clicks to bring up the find menu. Once you do a find (or a replace), the find window disappears so if you want to find (or replace) the next occurrence, you have you again use two mouse clicks to bring up the box. And how many times do you want to repeat a find or replace?

1-206


Answer to Your Turn 8-1: Web Page Critique Student answers will vary, however, they should address each of the six principles of user interface design:  Layout  Content Awareness  Aesthetics  User Level  Consistency  Minimizing User Effort

Answer to Your Turn 8-2: Personas and USD for the Web Student answers will vary depending upon the university web site. However, student responses should include an outline of the steps a user would perform to accomplish a task; finding a course description, registering for a course, etc.

Answer to Your Turn 8-3: Personas and USD for an ATM Student answers will vary depending upon their choice of activity. Examples of use scenarios for an ATM are as follows: Use Scenario: Authentication 1. User inserts card into card reader 2. Upon prompt, user taps numeric keys for PIN input 3. User is granted access to account(s), or user is denied access. Use Scenario: Withdrawing Cash from ATM 1. User is granted access to account 2. User will choose withdraw from a menu of available transaction types 3. User will choose account from which to withdraw 4. User will key in monetary amount to withdraw 5. User will remove card, money, and receipt

1-207


Answer to Your Turn 8-4: Interface Structure Design The following is an example, with DFD notations omitted.

1-208


Answer to Your Turn 8-5: Interface Standards Development Student answers will vary. The following is an example of an Interface Standard for an ATM. Interface Standards – ATM Interface Metaphor: Banking Account Access Interface Objects: Accounts Customer Monetary Amounts Interface actions: Screen – present options Customer choice – withdraw, deposit, transfer, check balance Verification of account status Interface icons: Bank logo Account icon – ledger sheet Customer icon – person Monetary icon – dollar bill

Answer to Your Turn 8-6: Prototyping and Evaluation Student answers will vary, however, as most ATMs do not employ a browser interface, the HTML prototype would not apply. As the system will primarily be used by customers, either a walkthrough evaluation or an interactive evaluation would provide the most feedback from a user standpoint regarding the functionality of the new design.

1-209


Answer to Your Turn 8-7: Design a Navigation System Student answers will vary depending upon their familiarity with drawing software. Typically answers will include a menu based system with associated forms, one each for customer, product, and order with the ability to change, delete or search for a record. Customer Information Customer

Product

Order

Last Name First Name Address Phone Email

Change

Delete

Search

Answer to Your Turn 8-8: Career Services Student answers will vary. Typically answers will include online processing to ensure that each resume will be available to recruiters as soon as possible. Input format could be an online form that is basically a resume template, allowing the student to fill in text boxes for name, education, experience, etc. To minimize keystrokes, all dates might have a drop down list containing the numbers 1-31 for the day fields, a drop down list with 1-12 for the month fields, and a drop down list of a range of years for the year fields.

1-210


Answer to Your Turn 8-9: Career Services Student answers will vary. An example of an input form follows:

Validation checks should be identified for month/day combinations as well as recognizing leap years.

Answer to Your Turn 8-10: Finding Bias Student answers will vary depending upon the publications and graphs found.

1-211


Answer to Concepts in Action 8-A: Interface Design Prototypes for a DSS Application 1.

The team probably decided on a language prototype because it allows the user to see detailed examples of the interfaces to the system. The user does not have to use his imagination to determine what the interfaces will look like as they might with a story board or an html approach.

2.

The trade-offs to using a language prototype is that it can be expensive and may take longer to develop.

Answer to Concepts in Action 8-B: Public Safety Depends on a Good User Interface Student answers will vary. However, steps should include: 

Involving the user in the decision-making process for selecting the system.

Testing the new system under the conditions in which it will be used.

Offering in-depth training for the end users.

Offering training that simulates real-time conditions.

Answer to Concepts in Action 8-C: Selecting the Wrong Students Since the faculty assumed that the final report was in a rank order, they may have assumed that the order in which the students‘ names appeared for evaluation was in rank order of grade point average or standardized test scores. It would seem that the faculty was not familiar with the system enough to use it accurately, thus errors may have been made in the input of their evaluations.

Answer to Concepts in Action 8-D: Cutting Paper to Save Money Reports that are most suited to an electronic format include: ad hoc reports, customized reports, reports that the user might interact with (search, delete, correct, etc.). Reports that are most suited to a paper format are those for which a permanent record are needed, reports that need signatures and reports that need to be portable (used in meetings).

1-212


Solutions to End of Chapter Questions 1.

Explain three important user interface design principles. The authors list six principles of user interface design:  Layout - the interface should be a series of areas on the screen that are used consistently for different purposes.  Content Awareness - the user is always aware of where they are in the system and what information is being displayed.  Aesthetics - interfaces should look inviting and should be easy to use.  User Level - experiences users prefer ease of use, while inexperienced users prefer ease of learning.  Consistency - users can predict what will happen before a function is performed.  Minimize Effort - interface should be simple to use.

2.

What are three fundamental parts of most user interfaces?   

3.

Navigation mechanism - the way the user gives instructions to the system and tells it what to do. Input mechanism - the way in which the system captures information Output mechanism - the way the system provides information to the user or to other systems.

Why is content awareness important? Content awareness means that the interface makes the user aware of the information delivered through the interface with the least amount of user effort. This is important because if the user is constantly aware of where he is and what he is seeing, he will find the system much easier to use and his satisfaction will be high.

4.

What is white space, and why is it important? White space refers to areas on an interface that are intentionally left blank. The more white space on an interface, the less dense the information content. Designers need to try and strike a balance between information content and white space. Some white space is necessary to help the users find things on the interface. Generally, more experienced users need less white space than novice users.

5.

Under what circumstances should densities be low? High? Low densities are preferred by infrequent or novice users of an interface. These users will be unfamiliar with the interface and will be helped by having a balance of information and white space on the interface. High densities can be acceptable to experienced users of the interface, because they are highly familiar with the information on the interface and do not need as much white space to help them find what they are looking for.

6.

How can a system be designed to be used by both experienced and first time users? Experienced users prefer systems that focus on ease of use, while novice users prefer systems that are easy to learn. These two goals are not necessarily mutually exclusive. Generally, systems should be set up so that the commonly used functions can be accessed quickly, pleasing the experienced users. To assist the novice users, guidance should be readily available, perhaps through the ―show me‖ functions that demonstrate menus and buttons.

7.

Why is consistency in design important? Why can too much consistency cause problems? Consistency means that all parts of the same system work in the same way. This enables the users to predict what will happen because a function in one part of the system works the same way in other

1-213


parts of the system. Users will be confident as they work with different parts of the system if they can predict the behavior of functions throughout the system. The problem with too much consistency is that sometimes the users don‘t differentiate forms or reports that look very similar to each other, and inadvertently use the wrong one. So, in these cases, there should be enough unique characteristics to distinguish each form and report from the others. 8.

How can different parts of the interface be consistent? The navigation controls can be consistent, using the same icon or command to trigger an action throughout the system. Terminology can be consistent throughout the interface. The content portion of the screen that contains forms and reports should also present consistently designed reports and forms. Messages and information in the status area should be specified consistently throughout the system.

9.

Describe the basic process of user interface design. First, identify ‗use cases‘ that describe commonly used patterns of actions that users will perform. These use cases will be valuable in ensuring that the interface permits the users to enact these use cases quickly and smoothly. Next, develop the interface structure diagram, defining the basic structure of the interface (screens, forms, and reports) and how the interface components connect. Third, develop interface standards, the basic design elements that will be used throughout the interface. Fourth, create prototypes of the various interface components (navigation controls, input screens, output screens, forms, and reports). Finally, evaluate the prototypes and make changes as needed.

1-214


10. What are personas and use case scenarios, and why are they important? Use cases describe commonly used patterns of actions that users will perform. Use cases describe how users will interact with the system. Use cases are developed for the most common ways of working through the system. These use cases will be valuable in ensuring that the interface permits the users to enact these use cases quickly and smoothly. Identified user groups can be represented with personas. The most common usage patterns of the system are depicted with use scenarios so that the interface can enable users to quickly and smoothly perform these scenarios. 11. What is a site map and an interface structure diagram (ISD), and why are they used? A site map helps analysts clarify how all the information on the site fits together and helps establish the hierarchy of information on the site. An interface structure diagram shows all the screens, forms, and reports in the system, how they are related, and how the user moves from one to another. The diagram helps depict the basic components of the interface and how they work together to provide users the needed functionality. The structure of the interface depicted in the ISD can be examined using the use cases to see how well the use cases can be performed. This is an important early step in developing simple paths through the most common activities performed in the system. 12. Why are interface standards important? Interface standards are the basic design elements on which interfaces in the system are based. These standards help ensure consistency throughout the system. 13. Explain the purpose and contents of interface metaphors, interface objects, and interface actions, interface icons, and interface templates. 

   

The interface metaphor provides a concept from the real world that helps the user understand the system and how it works. If the user understands the metaphor being used, he will probably be able to predict where to find things and how things will work even without actually using the system. Interface objects are the fundamental building blocks of the system. Object names should be based on the most understandable terms. Interface actions specify the navigation and command language style and the grammar of the system. Action terminology is also defined. Interface icons are pictures that are used to represent objects and actions in the system, often shortcuts, that are available throughout the system. The interface template defines the general appearance of all screens in the information system and all forms and reports that are used. The template consolidates all the other major interface design elements - metaphors, objects, actions, and icons.

1-215


14. Why do we prototype the user interface design? An interface design prototype is a mock-up or a simulation of a computer screen, form, or report. Prototyping helps the users and programmers understand how the system will perform. Prototypes can be very useful in helping the users conceptualize how they will actually work with the system, and prototypes can help identify problems or misconceptions in the interface before it is actually implemented. 15. Compare and contrast the three types of interface design prototypes. Storyboards are really just pictures or drawings of the interface and how the system flows from one interface to another. HTML prototypes are Web pages that show the fundamental parts of the system. Users can interact with the system by clicking buttons and entering data, moving from page to page to simulate navigating through the system. Language prototypes create models of the interface in the actual language that will be used to implement the system. These will show the user exactly what the interface will look like, which is not possible with the other two methods. 16. Why is it important to perform an interface evaluation before the system is built? An interface assessment is important before the system is built because we need to do as much as we can to improve the interface design prior to implementation. Ideally, interface evaluation should be performed while the system is being designed—before it is built—so that any major design problems can be identified and corrected before the time and cost of programming have been spent on a weak design. 17. Compare and contrast the four types of interface evaluation.

These techniques vary in terms of the degree of formality and the amount of user involvement. Heuristic evaluation involves assessing the interface based on a checklist of design principles. This assessment is usually performed by team members, who independently assess the interface and then compare their assessments. Weaknesses that are common in all the evaluations then point to areas that need modification. Users are not involved in this process. In a walk-through evaluation, the users see the interface at a meeting presentation, and they are ―walked-through‖ the parts of the interface. The interactive evaluation can be used when the prototype as been created as an HTML or language prototype. The users can actually interact with the interface as if they were using the system, and can give direct comments and feedback based on their experience. Problems or areas of confusion can be noted and corrected by the team. Formal usability testing has the users interacting with the interface without guidance from the project team. Every move made by the user is recorded and then analyzed later in order to improve the interface.

1-216


18. Under what conditions is heuristic evaluation justified?

Heuristic evaluation is probably justified in situations where the interface is well understood. When there is little uncertainly about how the interface should function, then it is probably sufficient to just assess it internally by comparison to a checklist of design principles. It would be dangerous to use this technique (which does not involve users) if there was uncertainty about what should appear in the interface or how it should function. 19. What type of interface evaluation did you perform in the “Your Turn 8-1”?

This is an example of heuristic evaluation, since the interface is being compared to a set of design principles. 20. Describe three basic principles of navigation design.   

Prevent Mistakes - this principle is directed toward developing the navigation controls to help the user avoid making mistakes. Simplify Recovery from Mistakes - this principle recognizes that mistakes will happen, and so is directed toward making it as easy as possible to recover from those mistakes. Use Consistent Grammar Order - This principle states that the order of commands should be consistent throughout the system.

21. How can you prevent mistakes? While it is impossible to completely prevent mistakes, there are some things that will help the user avoid mistakes. First, make sure all commands and actions are clearly labeled. Limit the number of choices that are presented to the user at one time to help reduce confusion. Never display a command or action that cannot be used. Also, give users a chance to confirm potentially destructive actions (such as deleting a record). 22. Explain the differences between object-action order and action-object order. Commands given to the system usually follow a sequence of ‗specify the object, then specify the action‘ or ‗specify the action, then specify the object.‘ This is referred to as the grammar order of the commands. The designers should select the grammar order desired for the system and use it consistently.

1-217


23. Describe four types of navigation controls. The text does not specifically list four types of navigation controls. The most common four are described here. Command languages are not common in modern systems but do exist. Menus are the most common. Direct manipulation and natural language voice recognition are becoming very common and improved greatly.  Languages - most often this navigation control refers to a command language, or a set of specials instructions that are used to instruct the system. In order to perform a task the user must know the correct command to give the system. Natural language interfaces free the user to give instructions in everyday terminology, but these types of systems are not common.  Menus - this navigation control presents the user with a list of options that can be performed as needed. Menu structures present the user with an organized set of commands to apply  Direct manipulation - this type of navigation control involves working directly with interface objects, such as dragging a file from one location to another.  Voice recognition - this navigation control involves giving instructions to the computer verbally. Some of the systems only recognize certain commands, while others recognize more natural speech. Progress is being made in this technology, but it is not yet common in systems. 24. Why are menus the most commonly used navigation control? Menus are the most commonly used navigation control because they are much easier to learn than a language, and they are very simple to work with, enhancing the ease of use of the system. 25. Compare and contrast four types of menus. Some of the more common types of menus include menu bars, drop-down menus, popup menus, tab menus, icon tool bars, and image maps. The menu bar is usually the main menu of the system. It consists of a list of commands across the top of the screen that is always displayed. The commands on the menu bar represent the main objects and/or actions of the system, and lead to other menus. Dropdown menus appear immediately below another menu. A series of commands are listed, and these lead to direct actions or other menus. The drop-down menu disappears after one use. Pop-up menus appear to ‗float‘ on the screen, usually triggered by a right-click on the mouse. A series of commands that pertain to the work the users was doing are listed. Pop-up menus are often used to present an experienced user with shortcuts to common commands. Pop-up menus disappear after one use. A tab menu is a multi-page menu, each page represented by a tab on the menu. Each tab represents a set of related actions or settings. The tab menu will remain on the screen until the user closes it.

1-218


26. Under what circumstances would you use a drop-down menu versus a tab menu? A drop-down menu is commonly used as the second-level menu, triggered when one of the main menu options is selected. The drop-down menu lists another set of more specific commands that will either lead directly to an action or to another, more detailed menu. The tab menu is chosen whenever the user needs to make multiple choices (such as specifying several settings) or perform several related commands. The tab menu stays open until the user has completed making the choices and closes the menu. Use a tab menu whenever the user needs to do several related tasks at one time. 27. Describe five types of messages. Error messages are displayed when the user has done something that is not permitted or cannot be carried out. An error message should inform the user why the attempted action is illegal or incorrect. Confirmation messages are displayed whenever the user has entered a command that has major significance and may be destructive (such as shutting down the system or deleting a record.). The confirmation message is used to force the user to verify that the action is the correct one. Acknowledgment messages signify that an action or task is complete. These messages can be used to ensure that the user knows what the system is doing, but they can become very annoying if encountered frequently. Delay messages indicate that the system is performing a task and that the user should wait until the task is completed. These messages keep the user informed about the system status, and can be very helpful, especially to novice users who may not appreciate the time certain tasks require. Help messages provide the user with additional information, and are an important means of giving users instructions and guidance when needed. Even experienced users will need access to help for rarely used system functions. 28. What are the key factors in designing an error message? An error message should first identify the error. Some additional explanation of the problem is also usually provided. Then, the message should inform the user how to correct the problem. Finally, a button for user response is usually included that clears the message off the screen and enables the user to take the corrective action. 29. What is context-sensitive help? Does your word processor have context-sensitive help? Context-sensitive help provides information that is dependent on what the user was doing when help was requested.

1-219


30. Explain three principles in the design of inputs. The most significant input design principle is to capture data as close to its point of origin as possible. By electronically collecting the data at its point of origin, time delays are minimized and errors can be reduced. A second important input design principle is to minimize user keystrokes. Use source data automation techniques whenever possible. Only ask the user to enter new data into the system; use reference tables and lookups whenever possible. When the inputs have known values, use default values check boxes, radio buttons, or drop-down lists. Finally, use the appropriate mode of processing (online versus batch) for the application. Batch applications are generally simpler than online applications, but have the disadvantage of not updating the databases or files immediately. Online applications are more complex than batch, but are used when it is necessary to have immediate update of the databases or files. 31. Compare and contrast batch processing and online processing. Describe one application that would use batch processing and one that would use online processing. There are two general approaches for entering inputs into a computer system: online processing and batch processing. With online processing (sometimes called online transaction processing), each input transaction is entered and processed at the time the event occurs. With batch processing, all the input transactions collected over some period are gathered together and processed at one time in a batch. An airline reservation system is a classic example of an online system, since the flight reservation is immediately reflected in the system database. Payroll systems are commonly batch applications, with payroll transactions accumulated over the pay period and processed as a batch at one time.

32. Why is capturing data at the source important? Capturing data at the source has three advantages. First, it can reduce costs because work does not have to be duplicated. Second, it reduces delays in processing. Third, it reduces the likelihood of error. 33. Describe four devices that can be used for source data automation. Bar code readers scan bar codes found on products to enter data directly into the system. Optical character readers can read and enter printed numbers and text. Magnetic stripe readers enter information from a stripe of magnetic material. Smart cards contain microprocessors, memory chips, and batteries to maintain information which then can be read by smart card readers.

1-220


34. Describe five types of inputs. When it is necessary to enter text from the keyboard, a text box control is used. . Up-down numeric control is used when the user must enter numeric data. Check boxes are used whenever the user can choose one or more items from a known list. Radio buttons are used when the user needs to select one choice from a known set of options. 35. Compare and contrast check boxes and radio buttons. When would you use one versus the other? Physically, check boxes are usually represented as small squares, and radio buttons are small circles. Operationally, they are used very differently. Check boxes are used when the user can select one or more choices from a list of options. Radio buttons are mutually exclusive. Only one button can be chosen at a time. Selecting one radio button removes the selection from any button previously selected. Use radio buttons when you want to force the user to make one choice. Use check boxes when the user can select multiple items from the list. 36. Compare and contrast on-screen list boxes and drop-down list boxes. When would you use one versus the other? On-screen list boxes present the user with a list of choices that are always displayed. A drop-down list box displays the list of choices as needed. Generally, there is not enough screen space to use on-screen list boxes unless the list is quite short. Therefore, the drop-down list box is used to display longer lists temporarily and then disappear from the screen after the choice is made. The amount of available screen space dictates which type of list box will be used. 37. Why is input validation important? Input is validated in order to try and reduce the amount of erroneous data that is entered into the system. Clearly, the quality of the information that comes out of a system is dependent on the quality of the input data. Therefore, we must do as much as is reasonable to assure high quality data is input in the system. The various techniques of data validation help us do that.

1-221


38. Describe five types of input validation methods. Completeness checks are performed to verify that all required data items have been entered. However, when specific data is required, a completeness check will ensure that something is entered in every required field. Format checks ensures that data are of the right type (e.g., numeric) and in the right format (e.g., month, day, year). Range checks are commonly used when a numeric item falls within some expected range of values. A check digit check is used to validate numeric code fields. In these situations, an algorithm establishes a check digit for each occurrence of the numeric code. Whenever a numeric code is re-entered into the system its check digit is recalculated. If the calculated check digit does not match the expected check digit, there has probably been a data entry error in the code, and it needs to be re-entered. Consistency checks are performed when there is a relationship between field values that is known and can be checked. Database checks are used to compare an entry against a value stored in a file or database to ensure it is a valid value. 39. Explain three principles in the design of outputs. First, it is important to understand how the report will be used. It is not enough just to know what data should appear on the report. The report designer needs to know how the user will utilize the report; what sequence or sorting arrangement is needed, what subtotals are needed, when the information is needed, etc. Second, the report design needs to manage the information load presented in the report. A report that dumps in ‗everything but the kitchen sink‘ will probably not be useful to the recipient. Have the user specify the question(s) he wants to answer by using the report, and then provide just the information needed to answer those questions. Third, avoid presenting the information in a biased way. Bias can be unintentional, so carefully assess choices made on information sorting or structuring graphical outputs. 40. Describe five types of outputs. Detail reports are reports that lists detailed information about all the items requested. Summary reports list summarized information about a large number of items. Exception reports list information only about items that meet some predefined criterion. (This definition was not included in Figure 8-22). Turnaround documents provide information about some system output (e.g., a bill), but also include a section that will re-enter the system as an input (e.g., a payment coupon). A graph is a depiction of numerical relationships and help users compare two or more items or understand how one has changed over time.

1-222


41. When would you use electronic reports rather than paper reports and vice versa? Paper reports have the advantage of being permanent, easy to use, and portable (if they are small). Paper reports do not require the presence of a computer in order to be used. A report should be printed on paper if its content is fairly static and if it needs to be taken from place to place to be used, and computers are not readily available. Electronic reports store the reports on servers so that they can be readily viewed from any computer. Electronic reports are inexpensive that often many variations of the reports are created. Users can refer to the reports online or print them locally as needed. It is generally advantageous and less costly for users to print reports locally as needed rather than printing all reports centrally. 42. What do you think are three common mistakes that novice analysts make in interface design?    

Failing to focus on the most common paths through the interface Making the interface too crowded Failing to think about whether the primary users of the system are casual, occasional users or frequent, experienced users Being inconsistent from one place in the interface to another in terms of standard design features and terminology

43. How would you improve the form in Figure 8-4? A user who has not seen this form before and does not know how it is used will find it difficult to make suggestions for improvement. The form is very dense, however, and so it might be useful to segment it into two pages that are logical subsets of the form content. Each page could be much less dense and therefore easier to use.

44. Discuss three issues unique to developing touch screen user interfaces.   

Place navigation elements at the bottom of the screen with results at the top so that fingers do not obscure the content on the screen. Size the screen elements correctly for “fat fingers” Use standardized gesture interactions to enhance user ease of learning and ease of use.

1-223


Solutions to End of Chapter Exercises A. Develop two personas and two use scenarios for a web site that sells some retail products (e.g., books, music, and clothes). Use scenario 1: Shopper looks for a specific item 1. User searches for specific item 2. User looks at price and description to ensure the item is the one wanted 3. User places the item in shopping cart 4. User will want to complete the purchase by checking out; or will go on to look for other specific items Use scenario 2: Shopper looks for an item on sale 1. User goes to the sale area on the web site 2. User looks browses through sale items, reading descriptions of many 3. User may place item(s) in shopping cart or may just leave the sale area of the site 4. User will want to complete the purchase by checking out; or will go on to look for other items

B. Draw a site map and an ISD for a web site that sells some retail products (e.g., books, music, clothes).

1-224


C. Describe the primary components of the interface standards for a web site that sells some retail products (metaphors, objects, actions, icons, and templates). Metaphor – store with shopping cart Objects – shopping cart; major classes of goods that are sold such as books Actions – browse, select, purchase, modify, and check out Icons – small image of shopping cart used for the shopping cart Template – navigation area and status area at top of screen; shopping cart in upper right corner; body of screen is the work area. D. Develop two use scenarios for the DFD in Exercise C in chapter 5. Use Scenario: Maintain department course offerings 1. User requests course offering list. (1.1) 2. User obtains new course information and creates new course record. (1.2) 3. User obtains course number for course to be deleted. (1.3) 4. User obtains course number for course to be modified. (1.4) Use Scenario: Maintain student enrollments 1. Student requests list of available courses. List of available courses is generated. (2.1) 2. Student adds course to current schedule. Fee payment status is checked and total hours enrolled is checked. If ok, course is added to student schedule. (2.2) 3. Student removes course from schedule. (2.3) 4. Student reviews current scheduled courses. (2.4)

1-225


E. Draw an ISD for the DFD in Exercise F in Chapter 4.

1-226


F. Develop the interface standards (omitting the interface template) for the DFD in Exercise F in Chapter 4. Interface Standards - University Registration System Interface metaphor: offerings

Any university system requirement maintenance of student records, course

Interface objects:

Students - anyone who wants to register for a course Staff - anyone who wants to add/delete/modify a course - anyone who wants to view course report Interface actions: Find - displays existing student schedule Find – displays current course listing Retrieve - displays current course availability Schedule - confirms course registration G. Develop two use scenarios for the DFD in Exercise J in Chapter 4. Use Scenario: New customer rents video 1) New customer present video to rent 2) User obtains customer information and enters in system. AVS card is issued to customer (2.1) 3) Video rental is processed (3.1) Use Scenario: Customer rents video 1) Customer presents video to rent and AVS card 2) User enters customer ID from AVS card in system. Customer has unpaid fine. User collects fine from customer and enters payment in system (2.2) 3) User checks to be sure all overdue videos rented to customer are returned (3.1) 4) User processes video rental (3.1)

1-227


H. Develop the interface standards (omitting the interface template) for the DFD in Exercise J in Chapter 4. Interface Standards - A Video Store System Interface metaphor: Video Rental Store Interface objects: Customers - people who rent videos Videos - videos available to rent Rented video - video rented to a customer Overdue video - video that was not returned within its rental period Fine - charge assessed for late, damaged, or lost videos Interface actions: Rent - process a video rental Interface icon: Use AVS logo on screen; buttons should look like VCR tapes I.

Design an interface template for Exercise J in Chapter 4.

The above template shows the title area at the top of the screen. Navigation is done through the menu bar under the title. Work area is the main body of the screen.

1-228


J.

Draw an ISD for the DFD in Exercise J in chapter 4.

1-229


K. Design a storyboard for Exercise J in Chapter 4.

L.

Develop an HTML prototype for Exercise E in this chapter.

Student answers will vary depending upon their ideas of webpage design and their expertise in developing web pages.

1-230


M. Develop an HTML prototype for Exercise F in this chapter. Student answers will vary depending upon their ideas of webpage design and their expertise in developing web pages. N. Develop the interface standards (omitting the interface template) for the DFD in Exercise L in Chapter 4. Interface Standards – University Library System Interface metaphor:

Library lending System – checking out and returning books.

Interface objects: Books – titles held by library Borrowers – persons who borrow books from library Borrowed books – title checked by borrower Fine – charge assessed for book not returned within lending period Special fine – charge assessed for damaging or losing book Interface actions: Screen – verify that borrower has no outstanding fines before checking out new books Check out – borrower takes book for the lending period Mark overdue – record expiration of lending term for book Assess fine – fine is added to borrower‘s record for overdue book Collect fine – fine is collected from borrower and removed from borrower‘s record Interface icons:

Use University logo on screen; buttons should look like books

1-231


O. Draw an ISD for the DFD in Exercise L in Chapter 4.

P. Design a storyboard for Exercise L in Chapter 4.

1-232


Q. Develop two use scenarios for the DFD in Exercise L in Chapter 4. Use Scenario: Check out a book 1) Borrower presents book to check out (2.1) 2) Borrower ID is checked for validity 3) Borrower record is checked for overdue books and fines 4) Book is checked out to customer Use Scenario: Book is returned 1) Book is returned by borrower 2) Overdue file is checked. If book was overdue, it is removed from overdue file R. Ask (www.ask.com) is an Internet search engine that uses natural language. Experiment with it and compare it with search engines that use key words. On the Ask site, the user can phrase the request in any format: a sentence, a phrase, or a question. If the user is unsure of the key words that will produce the needed results, a natural language site may be beneficial. On the other hand, if the user knows the key words that are needed, a key word site may give the best results.

1-233


S.

Draw an ISD for “Your Turn 8-7” using the opposite grammar order from your original design (if you didn‟t do it, draw two IDSs, one in each grammar order). Which is “best”? Why?

0 Main Menu

1

2

3

Customers

Products

Orders

1.1

2.1

3.1

Find a customer

Find a product

Find an order

1.2

2.2

3.2

Change a customer

Change a product

Change an order

1.3

2.3

3.3

Delete a customer

Delete a product

Delete an order

1.4

2.4

3.4

List all customers

List all products

List all orders

1-234


0 Main Menu

1

2

3

4

Search

Change

Delete

List

1.1

2.1

3.1

4.1

Find a customer

Change a customer

Delete a customer

List all customers

1.2

2.2

3.2

4.2

Find a product

Change a product

Delete a product

List all products

1.3

2.3

3.3

4.3

Find an order

Change an order

Delete an order

List all orders

The first ISD uses an ―object-action‖ grammar order. The first level of the hierarchy lists the three main system objects, customers, products, and orders. The second ISD uses an ―action-object‖ grammar order. The first level of this hierarchy lists the four major system actions, search, change, delete, and list. Neither grammar order is inherently best; whatever seems most natural to the users is the preferred structure to use.

1-235


T.

Search the Internet for information on “Responsive Design.” Briefly summarize the meaning of this term and how it affects user interface design.

A method of building websites that are highly functional on wide range of desktops and provide ―app-like‖ experiences on mobile devises including smartphones, tablets, and e-readers.

1-236


Answers to Textbook Minicases 1. a. Experienced users take the position that once the system is learned, they should be able to use it quickly to complete the needed tasks. These users prefer a design that emphasizes the most commonly used functions with fewer options on menus. To maximize efficiency, these users like high information density, preferring a high ratio of information to white space on each page or form. For less frequently used functions, the users need guidance through unfamiliar parts of the system through “show me” or help functions. 1. b. Novice users will benefit from an interface that has high content awareness, so that they can easily identify the information on the screen and have a good sense of where they are in the system at all times. A key need for novice users is ease of learning the system, therefore, they like to see all available functions listed on menus. Novice users also benefit from low information density on the interface, preferring a balance between information and white space on the interface. These users will enjoy having guidance through all parts of the system through “show me” or help functions. 2. Several factors should be considered in making this decision. Among the factors are speed, cost, the uncertainty the team has about the interface design, and how widespread the use of the system will be. If the team has very little uncertainty about the interface design, then heuristic evaluation is probably acceptable. This process will check the interface design against the important design principles, and the team should be assured of a consistent interface. This method is the quickest and cheapest evaluation technique. If the team has little uncertainty about the interface design, but still wants to get user reaction in a quick and convenient forum, then the walkthrough evaluation is recommended. Whenever there is a situation in which the team has some uncertainty about the interface design, then it is essential to get the user‟s response. The most convenient way to get this response is to use interactive evaluation. This enables the users to actually sit down and work with the system. Analysts can observe their interaction, look for trouble spots, and get the users‟ immediate comment and feedback. Although this takes more time and cost, it is important whenever there might be questions about some of the design decisions. Usability testing is a very formal evaluation technique that is most commonly used by commercial software vendors. It is so time consuming and expensive that it is not generally warranted unless the software will be a commercial product, or it will be have widespread use throughout the organization.

1-237


3.

Student designs will vary. The student‟s interface design should reflect an attempt to prevent errors and make it easy to correct errors when they occur. Also, a consistent grammar order should be apparent in the design. Messages should be complete, informative, polite, and helpful.

1-238


4.

Student designs will vary. The key elements to check for include use of radio buttons to indicate whether the new vehicle was an RV or trailer; also to indicate if the trade-in was an RV or trailer. The new vehicle names, models and manufacturer could be indicated with drop-down list boxes because of the known values for these fields. Salesperson name, plus option codes, descriptions, and prices may also be listed in drop-down list boxes (ten choices is probably too many to use check boxes).

5.

Student designs will vary. The key element to check for is that lists are used for all of the information to be entered.

1-239


Supplemental Minicases 1.

Charlie is a project manager for a new system under development for a national mortgage processing company. A common experience for IS managers today is to lose experienced IS staff members, who leave companies in search of more money and more interesting projects. This is exactly the situation Charlie finds himself in today. Two experienced members of his team have departed the organization within the last month. Now, Charlie must prepare for the arrival of his new team members, who are scheduled to join the team next week. Unfortunately for Charlie, the team members he lost had nine years of systems development experience between them, while his new staff members only have three years of experience between them. Charlie is very concerned about the lack of experience of the new team members. To bring the new team members up to speed as quickly as possible, Charlie plans to have them spend several days reviewing the Project Binder, which summarizes all pertinent project information. He also needs to get the team moving ahead on the project as quickly as he can. The next task in the project workplan is the development of the user interface design. This is a good area to involve the new team members. In anticipation of their arrival, Charlie plans to develop a document that outlines the process that is followed in developing a user interface. This will help the new team members understand the steps that will be followed for the work they will be performing. Prepare this document outlining the five-step process that is used in user interface design. Remember that this document will be used by the new team members to help them understand what is expected in each step of the user interface design process. Answer: Student answers should list and explain in clear terms the following five steps:  Identify „use cases‟ that describe commonly used patterns of actions that users will perform. These use cases will be valuable in ensuring that the interface permits the users to enact these use cases quickly and smoothly.  Develop the interface structure diagram, defining the basic structure of the interface (screens, forms, and reports) and how the interface components connect.  Develop interface standards, the basic design elements that will be used throughout the interface.  Create prototypes of the various interface components (navigation controls, input screens, output screens, forms, and reports).  Evaluate the prototypes and make changes as needed.

1-240


2.

John is a systems analyst on the Holiday Travel Vehicle project team (see Minicase 4, this chapter). The team is currently developing the system‘s user interface design. John has been given the task of developing a plan for prototyping the user interface, and he is struggling to determine the best method of prototyping to use. All of John‘s prior experience with user interface prototyping has used the storyboard technique. John‘s project manager specifically requested that he consider all types of prototyping (storyboarding, HTML prototypes, and language prototypes) before developing his prototyping plan. The system under development will be a significant departure from the interface that the users are accustomed to, and the manager wants to be sure that the interface design is clear and acceptable to the users before it is implemented. Prepare a summary of the three major types of prototyping that can be used in a project. Identify the strengths and weaknesses of each method. Discuss the criteria that John should use to select a prototyping approach to use in the project. Answer: Storyboards are paper-based representations of the screens and the flow of control from one screen to another in the system. Storyboards are simple and inexpensive to create, but do not give an accurate picture of what the screens will actually look like. HTML prototypes develop the interface as a series of web pages. The web pages can be linked so that the users can navigate throughout the system, and space can be set aside for simulated data entry as well. HTML prototypes can be developed fairly quickly, but do not represent the actual appearance of the user interface (unless the system will be a web-based implementation). Language prototypes build the prototype screens using the actual language that will be used to implement the system. Therefore, these prototypes accurately represent the actual user interface users will see. These prototypes can also be set up to allow data entry and navigation between screens, so the users understand the interaction that will take place with the interface. These prototypes take the most time to develop and are therefore the most expensive, but have the advantage of depicting the system exactly as it will look upon implementation. John‟s decision criteria should be based on three factors: speed, cost, and the degree of uncertainty the team has about the interface. If the user interface is well understood, then storyboarding is suggested because of its speed and low cost. If all or part of the interface is not well understood, HTML or language prototypes should be used. The more uncertainty there is about the interface, the more the use of language prototypes is justified. In these cases, the extra time and expense associated with language prototypes is warranted because of the accurate detail these prototypes will present to the users.

1-241


3.

Prepare a written summary of the input design principles that you implemented in your prototyped input design in the textbook Minicase #4. Also, discuss the validation that you will implement in your input processing. Answer: The principle of on-line versus batch processing was not addressed in this scenario, but it seems likely that the data entry form the students design will be used to gather transaction data that will be processed as a batch at a later time. The need for real-time inventory records seems minimal in this setting. The scenario does reflect the principle of capturing the data at the source. Since the „data entry‟ mechanism will now be the salespeople themselves, the need to minimize keystrokes is critical. It is important that the student‟s design reflect an attempt to reduce keystrokes and increase accuracy through the use of radio buttons, check boxes, and drop-down lists. Invoice numbers should be automatically assigned by the system, and the current date should be automatically inserted. There are also several situations where references to database tables can be used to complete some information. For example, if the customer has purchased from Holiday Travel Vehicles in the past, the customer information should be able to be pulled up through the entry of the customer number or customer name. The entry of the new vehicle serial number should be sufficient to pull up the name, model, manufacturer, year, and base cost. Selection of an option code from a list should bring up the description and price. There should be automatic totaling performed for the options selected and automatic calculation of taxes. The final price of the purchase should be automatically calculated as well. If the students use the above design principles, the need for additional validation will be limited. Text and numeric field format checks should be performed where appropriate. Also, a completeness check should be performed for all required fields. Since much of the data can be supplied through database checks, there will not be a need for additional validation.

4.

Prepare the design and prototype of the printed Sales Invoice that will be printed upon completion of the sales transaction at Holiday Travel Vehicles. This will be the document that the customer takes with him/her summarizing the sale. Also, design and prototype an output report from the system that provides the owner of Holiday Travel Vehicles information about the prior week‘s sales activity. This report should be available in two forms: one that groups the sales by vehicle manufacturer, and the other that groups the sales by salesperson. The owner wants to use the reports to quickly assess the sales performance of the various vehicles offered for sale and the performance of the various salespeople on staff. Answer: Student report designs will vary. Look for report designs that are organized thoughtfully with consideration to how the user will want the information presented.

1-242


5.

MER‘s Fine Timepieces is a thriving business that specializes in sales and service of fine watches and clocks. Although the market for timepieces has changed as many people purchase inexpensive, ‗throwaway‘ clocks and watches, there are still a large number of people who prefer quality timepieces, and they remain popular as gifts. A unique aspect of the business is the repair service that is available. MER‘s Fine Timepieces employs skilled watchmakers and clockmakers who can repair all varieties of watches and clocks, including heirloom pieces. To facilitate the maintenance of watch and clock repair records for the business, a new tracking system is under development. This system will enable the clerks at MER‘s Fine Timepieces to record complete information on the repair item when it is brought into the store. When a watch- or clockmaker begins work on the item, he/she can update the repair record as work is performed. When the repair is complete, all work performed and labor hours are recorded on the repair record. When the customer returns for the item, the repair record is closed. The following specification has been prepared for the system‘s user interface. Main Menu: From this screen, the user can: enter a new service record, update a service record, close a service record, and check the status of an item being repaired. Enter a New Service Record: When an item is brought in for repair, the clerk will record as much information about the item as possible. The system will assign a service ticket ID to the item. Complete customer information is recorded, including name, address, and home and business phone numbers. The date the item was received is entered, along with a date promised (if any). The type of item should be specified. If the item is a clock, it can be categorized as one of the following clock types: wall-chime, wall-no chime, grandfather/grandmother, mantel-chime, mantel-no chime, 400-day, cuckoo, or other. The most common clock manufacturers are Ansonia and Sliegh, but there can be many other clock manufacturers. The actual manufacturer‘s name should be recorded if known. If the item is a watch, it can be categorized as one of the following watch types: pocket, man‘s standard wrist, woman‘s standard wrist, man‘s quartz wrist, woman‘s quartz wrist, and chronograph/chronometer. The most common watch manufacturers are Bulova, Citizen, Hamilton, Wittnauer, and Rolex, but there can be other watch manufacturers. If the item is an antique or heirloom, it should be designated as such on the repair record. In some cases, an estimate of the repair cost is made and entered into the system. The problem being experienced is generally that the clock or watch runs fast, runs slow, or won‘t run at all. If the item runs fast or slow, the clerk will ask for an estimate of the number of minutes a day it runs fast or slow. If the item is a clock, another problem can be that it won‘t chime. Details on the problem should be entered into the system by the clerk. When the new service record is complete, an internal status of ‗in queue‘ is assigned to the item. This designates that the item has been received but is not yet being worked on by a clock- or watch-maker. Update a Service Record: When a clock- or watch-maker is ready to work on an item, he/she brings up the item‘s service record to review the problem description using the service ticket ID. The item‘s status is changed to ‗under repair.‘ When the repair procedures have been performed, the clock or watch is moved to a special holding area and the item‘s status is changed to ‗timing.‘ The item will monitored for proper performance for at least three days. At this time, the watch- or clock-maker will record the services performed on the item (there may be more than one). The categories of services performed are: clean, overhaul, adjust timing, and other. An area for comments should be available to record other information about the repair. The number of labor hours should be recorded, along with the watch- or clock-maker‘s initials and the completion date. When the clock or watch has passed the timing tests, its status is changed to ‗complete.‘

1-243


Close a Service Record: When the customer comes in to pick up an item (or the item is delivered in the case of grandfather/grandmother clocks), a clerk will close the service record. This involves collecting payment for the item, marking the service record as paid, and recording the date the item was returned to the customer. Check Status: At any time, a customer may call to inquire about the status of a watch or clock being repaired. The clerk should be able to enter either the service ticket ID (if available) or the customer name to retrieve status information on the item. The clerk should be able to inform the customer if the item is in queue, under repair, timing, or complete. Develop prototypes of the screens that will be needed for this scenario. You will need screens for the main menu plus screens for each of the menu options. Make use of GUI screen features as much as possible. Answer: Student designs will vary. There are several key features to watch for in this problem. First, the service record information on clocks and watches is similar, but each has some unique features. This is a good opportunity to use a tab menu (one for clocks, one for watches) as a way of simplifying data entry. There are ample opportunities to use drop-down lists or combo boxes (e.g., clock manufacturer, watch manufacturer, clock type, watch type). Radio buttons would be a good choice to indicate the item‟s repair status, and also to designate the item as antique or heirloom if appropriate. A spinner could be used to indicate the number of minutes an item runs fast or slow per day. Check boxes would be appropriate for the services performed since there may be more than one. A large text box with scroll bars should also be provided for additional free-form comments about the repair.

Experiential Exercises 1.

Purpose: to become familiar with the principles of user interface design. Divide your class into small groups. Have each group evaluate a system that students use on campus, using the principles for user interface design as their guidelines. Systems with which the students are familiar would be best, such as the registration system or the placement system. In class, have each group share their assessment of the user interface. Probe for suggestions for improvement that are based on the principles of user interface design.

2.

Purpose: to become familiar with the principles of user interface design. Divide your class into small groups. Have each group evaluate two web sites that are used to transact business. As a class, select one site that all groups will evaluate (such as Dell Computers), and then let each group select the other site. Use the principles for user interface design as the evaluation guidelines. In class, have each group share their assessment of the user interfaces. Do the groups seem to share the same opinion of the site that all evaluated? If not, where do the differences come from? Can the class identify any common strengths or weaknesses observed on the web sites?

3.

Purpose: to become familiar with evaluating user interface design. Have students work in small groups. Each group should identify two web sites for companies that are competitors (e.g., two sites that sell books; two sites that sell computers, etc). First, have the students develop two use scenarios that would be common for visitors to those sites. Then, have the students draw an interface structure diagram for each site. Have the students work through the use scenarios on each site. Based on their experience and on the structures of the sites, have the students evaluate the sites‘ user interface and report their findings to the class.

4.

Purpose: to become familiar with usability testing.

1-244


Have students design a usability testing session for an on-campus system. Develop a set of tasks to be performed using the system. In a lab setting, bring in a several students who have not used the computer system. Give them a general orientation to the software, and then give them their tasks to perform. Since you will probably not have the means to capture every keystroke, videotape the session so that the students can review the user‘s interaction with the system. It would be helpful to debrief the student on tape following the session so that they can discuss their success or frustration with the tasks.

1-245


5.

Purpose: to evaluate navigation methods. Have students work with a partner in the exercise. Each pair of students should evaluate your university's Web site and two other, commercial web sites with respect to the navigation methods that are employed. Have students use the principles of navigation design to assist in their evaluations. In class, discuss the consensus of opinion regarding your university's web site. The other sites the student's visit may suggest particularly confusing or difficult navigation controls. If the students identify any such examples, discuss how the principles of navigation design could be used to correct the situation.

6.

Purpose: to understand the linkage between source document design and input form design. Have students work in groups of four and generate a list of all the information that is needed to complete the registration process as your university. Then, have each group split into pairs. Have one pair design a source document that could be used to capture that information. Have the other pair prototype an input form that could be used to enter the data into a computer system. Do not allow the pairs to communicate with each other during this step. When they are finished, have the group compare the source document design with the input form design. Chances are good that the pairs of students will have made some different assumptions, and that it would be difficult to enter the data from the source document into input form without some skipping around. This should trigger some good discussion of the need to coordinate these activities.

7.

Purpose: to understand the various input validation method that can be employed in an input process. Have the student groups from Exercise 2 above develop a written summary of how each field in their student registration input form will be validated. Establish a requirement that every field must have at least one validation method applied to it. For those fields for which multiple validation methods are possible, have the students list every one that could be used. Have the students develop error messages for each validation technique applied. This exercise will help the students appreciate the care that must be taken in developing an input process that conforms to the principles of good input design.

1-246


8.

Purpose: to practice the principles of good output design. A report with which your students should be familiar is the Degree Audit report (another name may be used at your institution). This report is suggested because it is notorious at many schools for being cumbersome and confusing. It can serve as a good example of a report that is designed for multiple, conflicting purposes and therefore is practically unusable. Have the students bring in a copy of their reports. Have them generate a list of the questions that can be answered by referring to the report. This will help them appreciate the multiple purposes for which the report is designed. Second, for each question that can be asked, have them identify the information presentation that they would find most useful to answer just that question. Finally, have the class consider how many different, more specialized reports could be produced that would be more helpful and less confusing to students. Discuss why the university chose to create the Degree Audit in its current form.

Chapter 9: Program Design Teaching Tips and Strategies (from Barbara Wixom) The main point of this chapter is to understand the importance of using good program design (and what good design means). I spend a lot of up-front time driving home the importance of creating a maintainable design… and how tough this can be when teams are under the gun to get the system designed and coded ASAP. I spend two class sessions on this chapter. During the first session, I introduce the structure chart. You can use the applying concepts at CD Selections section to step through one as a class, after first presenting the components in a short lecture. Then, I recommend using Minicase 1 to have the students get hands-on experience. I usually combine this session with teaching students how to build a structure chart using the CASE tool. I let students get some hands-on experience with design guidelines before I present it in the classroom next session. I have them do some end of chapter questions on cohesion, coupling, fan-in, and fan-out before the next class. During the second class session, I start off by talking about good design. We go over student answers to the design guideline questions that were assigned. Next, I present the program specification, and we talk about how the structure chart integrates with program specifications (e.g., one spec for each module, couples matching to program inputs and outputs, etc.). I also try to communicate how good design in the structure chart has to also exist in the program specification. I use the peanut butter and jelly example from below to communicate the importance of good program specifications. It works every time! I explain how large projects could have people rolling on and off the project (especially if staffed with consultants), so good, detailed specifications are vital. I also make sure students understand that even if they never create a structure chart or write a program specification, they need to understand the underlying design strategies that these techniques uphold.

1-247


War Stories (from Barbara Wixom) Peanut Butter and Jelly Professor Mark Huber uses a fantastic exercise in his SAD class to demonstrate the importance of writing clear program specifications… Bring to class the makings of a peanut butter and jelly sandwich: loaf of bread in package, peanut butter, jelly, knife, and napkin. Then, ask the students at the beginning of class to write out explicit instructions telling someone how to make a peanut butter and jelly sandwich. During a break, go through the instructions and pick out several directions that are easy to misinterpret. Then, when the students are back in the room, tell the students that you have never made PB&J before and will do so using the directions that they created. Perform the directions literally. For instance, if they say ―put peanut butter on bread‖, then you can take the entire unopened jar of peanut butter and put it on top the wrapped loaf of bread, etc. It becomes very funny – and a visual example of how easy it is to misinterpret someone else‘s directions. Morale: developing good programming specifications is tough. Many times programmers and designers never meet – and it is up to the person writing the specification to make sure that the programmers know what needs to be done. Often people are moved onto new projects, so a programmer may not have the luxury of being able to clear up ambiguity easily.

Answer to Your Turn 9-1: Structure Chart

Student answers will vary. The additions to the structure chart include: 2.1 Notify Pilots of New Flight Request and its submodules, and 2.2 Pilot Submits Bid and its submodules. Most of the modules that students include will be transform structures.

1-248


Answer to Your Turn 9-2: Program Specification Student answers will vary. One solution:

Program Specification Module 2.3.3 Name: Assess Pilot Drone Purpose: Verify that drone has the capabilities to provide all requirements of the flight Programmer: Joe College Date Due: 2/1/19 C PowerScript HTML/PHP VISUAL BASIC Events Bid window has closed for flight and flight is being assigned to specific pilot

Input Name: Flight Request Flight Bid Drone

Type: Record Record Record

Used by: Program 2.3 Program 2.3 Program 2.3

Notes:

Output Name: Drone_OK_Flag

Type: Boolean

Used by: Program 2.3

Notes:

Pseudocode (Assess_pilot_drone module) Drone_OK_flag = true (drone is acceptable) Retrieve drone details for drone listed in Flight Bid record For each flight requirement in Flight Request Verify drone has feature needed for specific flight requirement IF drone feature not sufficient for flight requirement, THEN Drone_OK_Flag = false Next Flight Requirement Return Drone_OK_Flag

1-249


Answer to Concepts in Action 9-A: Winning by Design The main reason that E&Y won is that they spent the time to plan and design the system before any programming was done. Typically, more time spent on planning and design results in a detailed understanding of what needs to be developed. Therefore the finished product closely matches the specifications. Less time spent in the planning and design typically results in greater time spent in programming. Without a detailed specification, errors and/or deficiencies tend to occur that need to be dealt with, thus more programming time is needed.

1-250


Solutions to End of Chapter Questions 1.

What is the purpose of creating a logical process model and then a physical process model? During the analysis phase, the logical process models are used to depict the processes and data flows that are needed to support the functional requirements of the new system. However, logical process models do not include implementation details, or show how the final system will work. Physical process models include that information, in terms of technology, format of information moving through processes, and the human interaction that is involved.

2.

What information is found on the physical DFD that is not included on the logical DFD? The physical DFD includes all elements on the logical DFD plus: implementation references for data stores (e.g. type of database), processes (e.g. programs) and data flows (e.g. paper reports, input screens, etc.), human-machine boundaries, any additional system-related data stores, processes, and data flows.

3.

What are some of the system-related data elements and data stores that may be needed on the physical DFD that were not a part of the logical DFD? Student answers will vary, however additions are typically related to technical limitations or to the need for audits, controls, or exception handling.

4.

What is a human-machine boundary? A human-machine boundary line is drawn in each instance where a human will interact with the system. The boundary can represent a web page, an application. Designing placement of humanmachine boundaries includes addressing issues of cost, efficiency, and integrity.

5.

Why is using a top-down modular approach useful in program design? Analysts should first take time in the design phase to create a maintainable system. In other words, analysts should create a design that is modular and flexible. To do this, analysts can design programs in a top-down modular approach, using a variety of program design techniques. With the top-down approach, the program design is specified broadly, or at a high-level, and then more details are added that show the components of the program and how they work together. Developing program designs with this approach helps to ensure that efficient programs are written, that the programs work together effectively in the system, and that the system performs as it is supposed to perform.

6.

Describe the primary deliverable produced during program design. What does it include and how is it used? At the end of program design, the project team compiles the program design document, including all of the structure charts and program specifications that will be used to implement the system. The program design is used by programmers to write code.

7.

What is the purpose of the structure chart in program design? The structure chart shows all the components of code that must be included in a program at a high level, arranged in a hierarchical format that implies sequence (in what order components are invoked), selection (under what condition a module is invoked), and iteration (how often a component is repeated).

8.

Where does the analyst find the information needed to create a structure chart?

1-251


One recommendation for creating a structure chart is to begin with the processes depicted on the logical DFD. Each process on a DFD tends to represent one module on the structure chart, and if leveled DFDs are used, then each DFD level tends to correspond to a different level of the structure chart hierarchy. A structure chart is composed of modules (lines of program code that perform a single function) that work together to form a program. 9.

Distinguish between a control module, subordinate module, and library module on a structure chart. Can a particular module be all three? Why or why not? A control module contains the logic for performing other modules that are subordinate to it. Subordinate modules are ‗underneath‘ a higher-level module in the hierarchy. Library modules are modules that perform tasks in several places in the system; they are reused. It is certainly possible for a module to be both a control module (meaning it controls modules beneath it in the hierarchy) and a subordinate module (meaning it is ―underneath‖ a higher level module). It is also feasible that such a module is also used several places within the overall system and therefore is set up as a library module, although this is rare.

10. What does a data couple depict on a structure chart? A control couple? Data couples represent the movement of data elements or structures between modules. Control couples represent parameters, messages, or status flags that are moved between modules.

1-252


11. It is preferable for a control couple to flow in one particular direction on the structure chart. Which direction is preferred and why? It is highly preferable for a control couple to be passed from a subordinate module to a control module. This implies that the subordinate module has found a condition that is passed to the control module to use in determining how the program will operate. If the control module passes a control couple to a subordinate, it implies that the subordinate module has control over the higher-level module. 12. What is the difference between a transaction structure and a transform structure? Can a module be a part of both types of structures? Why or why not? A transaction structure contains a control module that calls subordinate modules, each of which handles a particular transaction. Transaction structures often occur where the actual system contains menus or submenus, and they are usually found higher up in the levels of a structure chart. A transform structure, has a control module that calls several subordinate modules in some sequence, after which something ―happens.‖ These modules are related because together they form a process that transforms some input into an output. Often, each module accepts an input from the module preceding it, works on the input, then passes it to the next module for more processing. In a leveled DFD, the lowest levels usually represent transform structures. 13. What is meant by the characteristic of module cohesion? What is its role in structure chart quality? Module cohesion refers to how well the lines of code within each structure relate to each other. Ideally, a module should perform only one task, making it highly cohesive. Cohesive modules are easy to understand and build because their code performs one function, and they are built to perform that function very efficiently. Typically, you can detect modules that are not cohesive from titles that have an and in them, signaling that the module performs multiple tasks. 14. List the seven types of cohesion. Why do the various types of cohesion range from good to bad? Give an example of good cohesion and one example of bad cohesion. Functional cohesion occurs when all elements of the module contribute to performing a single task, and this form of cohesion is highly desirable. By contrast, temporal cohesion takes place when functions within a module may not have much in common other than being invoked at the same time, and coincidental cohesion occurs when there is no apparent relationship among a module‘s functions (definitely something to avoid). In sequential cohesion output from one task is used by the next. In communicational cohesion elements contribute to activities that use the same inputs and outputs. In procedural cohesion elements are performed in sequence but do not share data. In logical cohesion list of activities, which one to perform is chosen outside of module. 15. What is meant by the characteristic of module coupling? What is its role in structure chart quality? Coupling involves how closely modules are interrelated, and the second guideline for good structure chart design states that modules should be loosely coupled. In this way, modules are independent from each other, which keeps code changes in one module from rippling throughout the program. The numbers and kinds of couples on the structure chart reveal the presence of coupling between modules. Basically, the fewer the arrows on the diagrams, the easier it will be to make future alterations to the program. 16. List the seven types of coupling. Why to the various types of coupling range from good to bad? Give an example of good coupling and an example of bad coupling. [Correction: This question should ask for only five types of coupling. There are seven types of cohesion.] There are five types of coupling, each falling on different parts of a good-to-bad continuum. Data coupling occurs when modules pass parameters or specific pieces of data to each other, and this is a form of coupling that you want to see on your structure chart. A bad coupling type is content

1-253


coupling, whereby one module actually refers to the inside of another module. Stamp coupling occurs when modules pass record structures. Control coupling occurs when a module passes a piece of information that intends to control logic. Common coupling occurs when a module refers to the inside of another module. 17. What is meant by the characteristics of fan-in and fan-out? What are their roles in structure chart quality? Both fan-in and fan-out refer to the number of subordinate modules a control module communicates with. Fan-in describes the number of control modules that communicate with a subordinate; a module with high fan-in has many different control modules that call it. Structures with high fan-in promote the reusability of modules and make it easier for programmers to recode when changes are made or mistakes are uncovered, because a change can be made in one place. In a fan-out structure, one control module communicates with multiple subordinate modules. As the number of subordinate module increases, the level of complexity of communication increases. Ideally, the fan-out structure is more efficient and effective than the fan-out module. When assessing structure chart quality, attention should be paid to a fan-out module to determine whether or not it can be redesigned. The rule of thumb is that one control module should communicate with a maximum of seven subordinate modules.

1-254


18. List and discuss three ways to ensure the overall quality of a structure chart. Following structure chart design guidelines produces programs that are modular, reusable, and easy to implement. First, modules should be built with high cohesion. This means that the lines of code within each module relate to each other, and the module performs one and only one task. This makes the modules easy to build, efficient, and easy to understand. Second, modules should be loosely coupled. This means that the modules are independent from each other, so that code changes in one module have minimal impact on other modules. Third, design the structure to create high fan-in and avoid high fan-out. High fan-in implies that a module is called from several places within the structure, meaning that it is reused. Avoiding high fan-out means that we want to minimize the number of subordinate modules associated with a control module. Generally, a control module should have no more than seven subordinate modules. 19. Describe the purpose of program specifications. Program specifications include explicit instructions on how to program pieces of program code. During the preparation of the program specifications, the analyst may discover design problems in the structure chart, or may find better ways to arrange the modules. 20. What is the difference between structured programming and event-driven programming? Structured programming involves writing programs and procedures that are executed in a strict order by the computer system, and users have no ability to deviate from that order. Event-driven programs include procedures that are executed in response to an event initiated by the user, system, or program code. After initialization, the program waits for some kind of event to happen, and when it does, the program carries out the appropriate task, then waits once again. . 21. Is program design more or less important when using event-driven languages such as Visual Basic?

Program specifications may be used when programming in event-driven languages. There are other tools that may be useful in designing these circumstances, such as the statetransition diagram that is associated with UML (Unified Modeling Language) diagrams.

1-255


Solutions to End of Chapter Exercises A. Draw a physical level 0 data flow diagram for the following dentist office system…

B. Create a physical level 0 data flow diagram for the following AREI system…

1-256


C. Draw a physical level 0 data flow diagram for the following AVS system…

1-257


D. What symbols would you use to depict the following situations on a structure chart? 

A function occurs multiple times before the next module is invoked. A curved arrow around the module branch

A function continued on the bottom of the page of the structure chart.

An on-page connector (a circle) 

A customer record is passed from one part of the program to another

A data couple is used (arrow with an open-ended circle at the end) 

The program will print a record either on screen or on a printer, depending on user‟s preference. The branches to the two modules starts from a diamond symbol

A customer‟s ID is passed from one part of the program to another

A data couple is used (arrow with an open-ended circle at the end) 

A function cannot fit on a current page of the structure chart Use an off-page connector to link to the function on a separate page.

E. Describe the differences in the meanings between the following two structure charts below. How have the symbols changed the meanings? Structure chart (a) indicates that first a book is found by its author, then a report is printed (header, detail, footer). Structure chart (b) shows that the module to print the report header may be called, then a series of repetitive calls will be made to find a book by author and print the report detail, until an out of stock condition is reached. The module to print the report footer may then be called. The arc in chart (b) indicates a repetitive process, and the diamond symbol indicates that one or the other module will be called.

1-258


F. Create a structure chart based on the DFDs that you created for the following exercises in Chapter 4: 

Question D

Question E

Question F

1-259


Question G

Question H

1-260


G. Critique the structure chart shown, which depicts a guest making a hotel reservation. Describe the chart in terms of fan-in, fan-out, coupling, and cohesion. Redraw the chart to improve the design.

H. Identify the kinds of coupling that are represented in the following situations: (a) stamp coupling (modules pass record structures) (b) stamp coupling (modules pass record structures) (c) stamp coupling (modules pass record structures) (d) data coupling (modules pass fields of data or messages) I.

Identify the kinds of cohesion that are represented in the following situations: Communicational; procedural; coincidental

1-261


J.

Identify whether the following structures are transaction or transform and explain the reasoning behind your answers. (a) transaction – the control module calls one of the subordinate modules, each of which handles a particular transaction. (b) transform – each subordinate module is called in sequence by the controlling module to complete the transformation of some input into an output. (c) upper half of diagram is transaction; the controlling module calls one of the subordinates to perform a particular transaction. The lower half is transform; the modules are called in sequence to complete a transaction.

1-262


K. Create a program specification for module 1.1.3.1 on the structure chart in Figure 9-12.

Program Specification Module 1.1.3.1 Name: Listen to Tune Sample Purpose: Provide Tune Sample for Download Programmer: Joe College Date Due: 2/1/09 C PowerScript HTML/PHP

VISUAL BASIC

Events Listen to Tune button is clicked Input Name: Tune Sample

Type: String(50)

Used by: Program 1.1.3

Notes:

Output Name: New Favorite Buy Tune

Type:

Used by: Program 1.1.3 Program 1.1.3

Notes:

Record Record

Pseudocode (Tune_Sample module) Listen_to Sample If Sample_Favorite New_favorite Record End if If New_purchase New_Purchase Record End if Return Other

1-263


L.

Create a program specification for module 1.2.3.4 on the structure chart in Figure 9.12.

Program Specification Module 1.2.3.4 Name: Get Payment Authorization Purpose: Authorize Charge Card Payment Programmer: Joe College Date Due: 2/15/09 C PowerScript HTML/PHP

VISUAL BASIC

Events User has entered Charge Card Information Input Name: CC Charge

Type:

Notes:

Record

Used by: Program 1.2.3

Output Name: CC Charge Auth.

Type: Boolean

Used by: Program 1.2.3

Notes:

Pseudocode (Authorize_charge) IF CC_charge verified Set CC_charge_auth True Else Set CC_charge_auth False End IF Return Other This module interacts with the Credit Card Clearing House entity, verify format needed.

1-264


M. Create pseudocode for the program specification that you wrote in Exercise K. See Pseudocode section of Exercise K above N. Create pseudocode for the program specification that you wrote in Exercise L. See Pseudocode section of Exercise L above O. Create pseudocode that explains how to start the computer at your computer lab and open a file in the word processor. Exchange your pseudocode with a classmate and follow the instructions exactly as they appear. Discuss the results with your classmate. At what points were each set of instructions vague or unclear? How would you improve the pseudocode that you created originally? Student responses will vary depending upon the login procedures at their local lab and the word processing software available.

1-265


Answers to Textbook Minicases 1.a. Develop a structure chart for this segment of the Holiday Travel Vehicles system. Completed New Vehicle Record

4.2 Finalize New Vehicle Record Dealer Cost

New Vehicle Serial # 4.2.1 Get Serial # from User

New Vehicle Serial #

New Vehicle Record

Freight Charges Base Cost

New Vehicle Serial # Invalid Serial #

Option Cost

4.2.2 Get Vehicle Record Option Records

End of Options Flag

Total Option Cost 4.2.5 Calculate Dealer Cost

Total Option Cost 4.2.4 Calculate Total Option Cost

4.2.3 Get Option Records

1.b.

This is a transform structure chart. All of the modules shown are called in a sequence in order to produce the desired output. This is at a very low level in the system hierarchy, which is typical of transform structures.

1-266


2. Develop a program specification for Module 4.2.5 (Calculate Dealer Cost) in Minicase 1.

Program Specification 4.2.5 for Holiday Travel Vehicles System Module Name: Calculate Dealer Cost Purpose: Compute the dealer cost for purchased vehicle Programmer: John Doe Date Due: 2/28/2000 Language: Visual Basic Events Module is called by control module 4.2 Finalize New Vehicle Record Input Name Type Provided by Base Cost Numeric 4.2 Total Option Cost Numeric 4.2 Freight Charges Numeric 4.2

Notes

Output Name Dealer Cost

Notes

Type Used by Numeric 4.2

Pseudocode Dealer Cost = Total Option Cost + Base Cost + Freight Charges

1-267


Supplemental Minicases 1.

Assume you are the project manager on a large systems development project team. Your team has been working on a major new system for your company. The project has progressed very well, and your team is about to begin program design activities. Because of the project scale, you are managing a large team, and you have organized the staff into four programming teams with four team leaders. Your team leaders are experienced analysts, and you will be relying upon them to prepare the program designs for the parts of the system that you assign them. One of your concerns is that despite their experience, your programming team leaders have not worked together before, nor have any of them worked for you on any previous projects. To prepare for the program design work, you have decided that it will be important that you establish some guidelines for the development of the program structure charts. Develop a set of guidelines that will be helpful to the team in assuring consistency in their structure charts. Answer:  Design the modules so that each module performs one and only one function or task.  Modules will be passed only the information that is actually needed in the module.  Limit the amount of information shared by modules; make them as independent as possible.  Develop and use library modules whenever feasible to maximize reusability. Design the structure charts with high fan-in.  Limit the complexity of control modules by having them control no more than seven subordinates.  Always pass control couples from low to high; avoid passing control couples from high to low.  Strive for reasonable size in the modules, neither too large nor too small.

1-268


2.

As lead analyst on a new system development project, you have been hard at work developing the program designs for the new system. Much of your time over the last three weeks has been devoted to this task, and you are nearing your target deadline. You have been so immersed in this work that you have decided to ask a team member to spend some time reviewing the structure charts that you have prepared. Although you have tried to be very careful in your work, you know that it is easy to overlook some design problems, and you want to avoid as many nasty surprises later as you can. The team member you want to help you has had quite a bit of experience reading and implementing systems from structure charts, but she has not been responsible for their development yet in her career. a.

Describe what your team member should look for with regard to cohesion. What will signify good cohesion in the design? What should she look for that might signify poor cohesion in the design? Answer: The key to evaluating the structure charts regarding cohesion is to look at the work that is performed in each module. Ideally, each module should perform one and only one problemrelated task. As you check the modules in the structure chart, look for situations where more than one thing is done in the module. Pay particular attention to modules that might do several things that are unrelated. That is the worst type of problem, and should be corrected right away.

b.

Describe what your team member should look for with regard to coupling. What will signify good coupling in the design? What should she look for that might signify poor coupling in the design? Answer: The key to evaluating structure charts with regard to coupling is to study the data and control couples that have been specified on the chart. The best design will pass only the specific data or control messages that are needed by the receiving module. If more information has been passed than the module needs, we should correct that. Also, make sure that control information primarily goes from „low to high‟ in the charts. If control couples are passed from high to low, there should be some modifications made. Finally, try to make sure that the module have a minimal amount of interaction with each other.

c.

Describe what your team member should look for with regard to fan-in and fan-out. What will signify high fan-in in the design? What should she look for that might signify low fan-in in the design? What will signify low fan-out in the design? What should she look for that might signify high fan-out in the design? Answer: High fan-in is good, and implies that modules that do the same thing have been identified and set up as library modules. If you see any places where the same function is performed by several different modules, we may be able to set that up as a library module and achieve higher fan-in. Fan-out refers to the number of subordinates that have been set up under a control module. If you find a situation where there are more than seven subordinates under a control module, then that should be reorganized to reduce the amount of fan-out.

Experiential Exercises 1.

Purpose: to increase understanding of structure charts. Have students develop an outline of a transaction system such as their favorite ATM system. Based on their notes, have them ‗work backwards‘ from the menus of the ATM and develop a structure chart for the upper levels of the system. Point out the transaction structure at the top levels of the system. If the students look at different ATM terminals, have them compare the different structures that have been implemented in each. Discussion: Can the students develop ideas as to why the different structures were chosen?

2.

Purpose: to increase understanding of structure charts.

1-269


Divide the class into small groups. Have students develop an outline of a transaction system such as their favorite ATM system. Based on their notes, have them ‗work backwards‘ from the menus of the ATM and develop a structure chart for the lower levels of the system. Have each group develop a structure chart for one of the transactions. Point out that these are (probably) transform structures. 3.

Purpose: to become more familiar with structure charts. Bring an example of a structure chart from an actual system. It may be possible that the IS staff on campus will be willing to share. Distribute the structure charts to the class, and discuss the structure used in the system. Although it may be difficult to tell, how well does the example conform to the ideal of high cohesion, loose coupling, and high fan-in?

4.

Purpose: to become more familiar with program specifications. Bring an example of program specifications from an actual system. It may be possible that the IS staff on campus will be willing to share. Distribute the example to the class. Discuss the components included in the program specs. How close does this example come to the example in the book? Would the students be able to develop a program from the example? What else (if anything) would they like included?

Chapter 10: Data Storage Design Teaching Tips and Strategies (from Barbara Wixom) Some of these topics may have been covered already if your school has a separate class for data management. For example, students at my school already have a pretty decent knowledge of the various types of files and databases. I usually try to cover this chapter in 2 sessions, one session focusing on data storage formats and designing for storage efficiency, and the other session focusing on designing for access speed. During the first class I briefly go over the various data storage formats, and there are a couple of exercises you may want to try. You can introduce the different file types and then have the students do Your Turn 101 in class. This is a good way for them to see how files are still used in a modern context, while also conveying the different kinds of files. When you present the different kinds of databases, you may want to make sure you talk about the current players in each market. You can then have the students do Your Turn 10-2 and talk about when each database would or would not be an appropriate solution for the system described. Next, I focus on how to optimize data storage formats. We first talk about why it is important to optimize data storage – it helps to throw out statistics for some really large systems to give students some perspective. We talk about how large databases (like Walmart‘s) would increase by having redundant fields throughout tables. Then, I review the process of normalization as a way to make sure that data storage is optimized. I then spend the second class session talking about optimizing storage for speed. You can emphasize the importance of speed by asking the students how they would feel if it took 5 minutes to bring up an email message, etc. It usually is easy for them to understand how critical speed is for user acceptance of systems – because they themselves are impatient users.

1-270


After a quick lecture on denormalization, you can have your students try to denormalize the student activity file in the Your Turn exercise. Then I lecture about clustering and indexing. I like to use the grocery store example for clustering and a book index example for indexing – both seem to drive the concepts home for the students. My students like to do the size estimation as a hands-on exercise – it makes for a good homework assignment. We use Erwin software, which has a volumetrics component. I either give them a model in Erwin, or I have them use the model that they developed for their semester project. Then, they have to develop assumptions and perform volumetrics on the model to estimate the future size of the database. You can actually have them post the results electronically and have the class discuss why the sizes of the group‘s databases differ. It becomes clear how important assumptions are, and students also see how factors above and beyond raw data (indexes, administrative overhead) affect the size of the database. I wrap up data storage by discussing trade-offs between speed and storage efficiency. We talk about how tough it is to balance the two issues. You may want to talk about the popularity of data warehouses. The fact that companies are moving data from the operational systems into decision support repositories demonstrates how systems that update information need to be optimized differently than systems that run read-only, ad hoc queries. You can talk about how a company would optimize its data warehouse versus its transaction processing system.

1-271


War Stories (from Barbara Wixom) Indexes with Peoplesoft Even though Peoplesoft is a packaged system, developers still need to worry about indexing. My friend Graig explained some of the issues with the Human Resource module of Peoplesoft: The HR module is set up so that the indexes exist based on the way the screens are set up. For example, if a screen sorts people by state, then Peoplesoft comes with a state index already created. The problem is that some companies need to change screens or the users may search for people differently than the standard format; some users may want to look people up by zip code or city. In these cases, the system would be very slow because there are no indexes that exist to list people in that order. Graig explains that developers have to be aware of how users will actually use the system and then create indexes to make sure the system is built for that use. Ideally, developers should proactively discover the indexes that need to be created before the system is put in place. They can determine this by doing walkthroughs of the system, observing the way users currently perform processes, and talking with users. Be careful, Graig warns, you can have too many indexes. In fact, in PeopleSoft after the 4 th index on a table, you will begin to see performance decrease when users are updating data in the system. Sometimes you have to make trade-offs between slow reports and slow updates. He suggests that developers try to create reports and screens so that they can share indexes whenever possible. Ideally, you should use test data and test the system before releasing it to users, paying careful attention to how fast the different operations are. Unfortunately, sometimes problem spots don‘t surface until after the system is live and data volumes increase. In these cases, developers just need to be aware that index changes may have to be made… To give you an idea, Graig recently worked on a report that took 5 minutes to run because there was a join involved, and no indexes existed for the join. An index was created, and the same report ran in 15 seconds.

1-272


Multi-dimensional Model for 3M Here is an example of the way 3M Corporation looks at its data multi-dimensionally. This was taken from a presentation they made at the 1999 Data Warehousing Institute Best Practices competition. Detail Sales Margin Price Demand % on time

Product Total 3M Business Unit (office) Product line (Postit) Product (pads) SKU (3x5 yellow)

Customer Market (retail) Channel (Mass Merch) Company (Walmart) Site (Store 7878) Account (stationery dep)

1-273

Geography All (global) Region (Americas) Country (Mexico) State (Mexico City) Sales Territory (NW Sanchez)

Time YTD/LYTD Quarterly January Week 3 Mon 1/19


Answer to Your Turn 10-1: Student Admissions System Student answers will vary, one solution follows:

    

Master file: Student information file which contains student name, address, contact info, degree interest, etc., will be updated as needed. Look-up file: State name validation file which contains state names, used to validate application input. Transaction file: Student application files containing applications for a specific time period. Will be used to update the master file either as needed or on a scheduled basis. Audit file: Contains requested changes to student information file, who requested the change, and when. Files are kept for a pre-determined amount of time. History file: Contains student information, name, address, contact info, degree interest, and date of graduation. File is a yearly history, and files over 10 years old are archived to off-site storage.

Answer to Your Turn 10-2: Island Charters Student answers will vary based on their response to ―Your-Turn 5-7‖. When considering how denormalization might occur, students should determine what data, if any, would reduce the time needed to perform queries for reporting or decision making. One example would be to include the Captain‘s Name in the Charter table. When accessing information on specific charters, the Captain ID and name would be relevant to determining how often a specific captain was scheduled. For that type of reporting, the Captain‘s birth date and contact information would not be needed.

Answer to Your Turn 10-3: Donation Tracking System

1-274


1. Primarily, this can be considered to be a type of Decision Support System (DSS). 2. It might also be considered a transaction system as it intends to solicit and track donations. However, the development officers hope to determine donation patterns in order to improve rates, which indicate that it will be used to support decision making. 3. The data being used includes text, numbers, and date formats. 4. The best choices for a DSS are relational and multidimensional databases that will support queries on an ad-hoc basis.

Answer to Your Turn 10-4: Denormalizing a Student Activity File The replies from the students will vary based on the output initially provided by Your Turn 5-7 completed during Chapter 6 activities. This is an opportune time to review the reasons, purposes, and deliverables that may exist when converting logical ERDs to the physical model.

Answer to Concepts in Action 10-A: Mail-Order Index Ideally, the requirements for data design will be one of the results of the systems requirement phase. During this phase, users should be consulted as to what type of data, what combinations of data, and the response time needed in order for them to do their job. User needs may not coincide with the ‗standard‘ methods of indexing data or retrieving data. In that case, the designer should customize how the data is indexed to optimize retrieval.

1-275


Solutions to End of Chapter Questions 1.

Describe the two steps to data storage design. The first step is to select the appropriate format for the data storage. There are several different methods of storing data (files, relational data bases, multi-dimensional databases, object-oriented databases) and the analyst should select the one that will provide the best approach to storing the system data. Second, the data storage must be designed to optimize its processing efficiency, which involves considering how the data will be used, and making the appropriate design decisions.

2.

How are a file and a database different from each other? Files are essentially an electronic list of data that have been optimized to perform a particular transaction and the information is changed and manipulated by programs that are written for those purposes. . Typically, fi les are organized sequentially, and new records are added to the file‘s end. A database is a collection of groupings of information that are related to each other in some way (e.g., through common fields). A database management system (DBMS) is software that creates and manipulates these databases

3.

What is the difference between an end-user database and an enterprise database? Provide an example of each one. End-user DBMS s such as Microsoft Access support small-scale databases that are used to enhance personal productivity, and enterprise DBMSs, such as DB2, SQL Server, and Oracle, can manage huge volumes of data and support applications that run an entire company. An end-user DBMS is significantly less expensive and easier for novice users to use than its enterprise counterpart, but it does not have the features or capabilities that are necessary to support mission-critical or large-scale systems. .

4.

Name five types of files and describe the primary purpose of each type.

5.

Master files store the business‘s or application‘s core data. The data in a master file is considered fairly permanent, does not change much, and is usually retained for long periods. Look-up files contain static values used primarily during validation processing. A list of valid code values for a field might be referred to during data entry to ensure that a valid code was entered. Transaction files contain information that will be used to update a master file. These files are usually temporary in nature; they are used to collect transactions, the transactions update the master file, and then the transaction files are archived. Audit files are used to help trace changes made to files. An image of a record before and after a change may be written to an audit file so that the change is documented. History files serve as archives for older information that is rarely used. Typically, the file is stored off line, yet it can be accessed on an as-needed basis. Name two types of legacy databases and the main problems associated with each type. Hierarchical databases use hierarchies, or inverted trees, to represent relationships. The main problem with this database model is that it cannot be used efficiently to represent nonhierarchical associations. Network databases (e.g., IDMS/R, DBMS 10) are collections of records that are related to each other through pointers. Both kinds of legacy systems can handle data quite efficiently, but they require a great deal of programming effort. The application programs must understand how the database is built and must be written to follow the structure of the database.

6.

What is the most popular kind of database today? Provide three examples of products that are based on this database technology. Relational databases are most popular today due to their ease of use. Examples of relational DBMSs on the market include MS Access, Oracle, DB2, Sybase, Informix, MS SQL Server, and MySOL.

1-276


7.

What is referential integrity and how is it implemented in a relational database? Most relational database management systems (RDBMSs) support referential integrity, or the idea of ensuring that values linking the tables together through the primary and foreign keys are valid and correctly synchronized. For example, if a customer is placing an order, we need to have information on the customer in the customer table. The RDBMS will check to see if there is a record for that customer in the Customer table before it will let an order be entered. Checking for known required relationships helps assure referential integrity.

8.

What is the biggest strength of the object database? Describe two of its weaknesses. The biggest strength of object databases is the ability to handle complex data, sucha . (e.g., images, video, and audio). Two weaknesses of object databases are skills are hard to find and the limited acceptance in the marketplace.

9.

How does the multidimensional database store data? Multidimensional databases store data using several dimensions. Data may be aggregated and/or detailed, depending upon the access needs of the users.

1-277


10. What are the two most important factors in determining the type of data storage format that should be adopted for a system? Why are these factors so important? First, evaluate the type of data that will be stored. Relational databases are the standard for simple data such as numbers, text, and dates. If the data is more complex (video, images, or audio), then object databases may be required. If the data needs to be aggregated, then multidimensional databases are recommended. The second factor is the type of system being developed. Transaction processing systems require rapid update and retrieval capability, and will best be constructed using files, relational databases, or object databases. Decision support types of applications require rapid access to data in ad hoc ways. These types of systems are best implemented using relational or multidimensional databases. These two factors are very important because you must select a data storage format that is suitable for the data the system will include and the uses planned for that data. 11. Why should you consider the storage formats that already exist in an organization when deciding upon a storage format for a new system? This factor is important because the project team needs to be aware of the existing base of technical skills that are available to work with the data storage format. If a data storage format is chosen that is new to the organization, then the team must allocate training and learning time into the project schedule. 12. What are the differences between the logical and physical ERDs? Like the DFD, the ERD contains the same components for both the logical and physical models, including entities, relationships, and attributes. The difference lies in the fact that physical ERDs contain references to exactly how data will be stored in a file or database table and that much more metadata is added to the CASE repository to describe the data model components. 13. Describe the metadata associated with the physical ERD. Metadata included in the physical ERD includes information regarding attributes such as data type, field size, format, default values, primary keys, and foreign keys.

14. Describe the purpose of the primary and foreign keys. Primary keys are fields that contain a unique value for each record in the file or table. A foreign key is the primary key field(s) from one table that is repeated in another table to provide a common field between the two tables..

1-278


15. Name three ways that null values in a database can be interpreted. Why is this problematic? A null value in a field can indicate that there should not be a value in the field (i.e., blank is correct). It can also mean that an error was made, and a value that should have been entered was incorrectly omitted. It can also indicate that a value for the field has been deleted, which may or may not be correct. The difficulty in really knowing why the null exists is the major problem with nulls. 16. What are the two dimensions in which to optimize a relational database? The two dimensions in which to optimize a relational database are for storage efficiency and for speed of access. 17. What is the purpose of normalization? The purpose of normalization is to optimize the data storage design for storage efficiency. Normalization helps ensure that data redundancy and null values are kept to a minimum. 18. Describe three situations that can be good candidates for denormalization. Denormalization is performed to speed up data access. Redundancy is added back into tables in order to reduce the number of joins that are required to produce the desired information. In a normalized Order table, the customer name will not be included; however it may be added back in to the Order table to improve processing speed. This represents a situation in which some parent entity attributes are included in the child entity. Similarly, a look-up table of zip codes and states may be set up in the normalized data model, but could be added back in to the physical model design. Another situation is where a table of product codes lists the description and price. These may also be added back into the physical model to improve application performance. Lookup tables are common candidates for denormalization. Finally, 1:1 relationships may be good candidates for denormalization, since the information may be accessed together frequently. 19. Describe several techniques that can improve performance of a database. Denormalization adds selected fields back to tables in a data model. This adds a little redundancy, but improves the data access speed. Clustering involves physically placing records together so that like records are stored close to each other. Indexing creates small, quickly searchable tables that contain values from the table and indicate where in the table those values can be found. Finally, proper estimation of the data set size is important to assure that adequate hardware is obtained for the system.

1-279


20. What is the difference between interfile and intrafile clustering? Why are they used? Interfile clustering combines records from more than one table that typically are retrieved together. With intrafile clustering, similar records in the table are stored together in some way, such as in order by primary key or, in the case of a grocery store, by item type. 21. What is an index, and how can it improve the performance of a system? An index is a small, quickly searchable table that contains values from the table and indicates where in the table those values can be found. System performance is improved with an index because it is no longer necessary to search the entire table for the desired values. The small index table can be quickly searched to reveal exactly where the desired values are stored. 22. Describe what should be considered when estimating the size of a database. The size of the database will be based on the amount of raw data expected, the growth rate of raw data that is expected, and the overhead requirements of the DBMS. 23. Why is it important to understand the initial and projected size of a database during the design phase? Even if you have denormalized your physical data model, clustered records, and created indexes appropriately, the system will perform poorly if the database server cannot handle its volume of data. Therefore, one last way to plan for good performance is to apply volumetrics, which means estimating the amount of data that the hardware will need to support. You can incorporate your estimates into the database server hardware specification to make sure that the database hardware is suffi cient for the project‘s needs. 24. What are the key issues in deciding between using perfectly normalized databases and denormalized databases? A perfectly normalized database is optimized for storage efficiency, minimizing wasted storage space. This data storage design is not as useful when data must be frequently queried, since the data is spread across many tables that must be joined in processing the query. Access speed will degrade in these circumstances. Therefore, if the data is going to be accessed frequently, it may be valuable to denormalize the design to reduce the number of joins that must be processed in a query.

1-280


Solutions to End of Chapter Exercises A. Using the Web or other resources, identify a product that can be classified as an end-user database and a product that can be classified as an enterprise database. How are the products described and marketed? What kinds of applications and users do they support? In what kinds of situations would an organization choose to implement an end-user database over an enterprise database? Student answers will vary depending upon the information found on the Internet. Examples of end-user databases include Access and MySQL, examples of enterprise databases include Oracle and Sybase. B. Visit a commercial web site (e.g., BestBuy.com, Amazon.com). If files were being used to store the data supporting the application, what types of files would be needed? What data would they contain? Master files to store the inventory and the customers. Transaction files to store orders. Lookup files store such things as state names. Audit files might be used to store prices changes to items over time. Archive files store past transactions such as old customers and past orders. C. Using the Web, review one of the products listed at the end of this exercise. What are the main features and functions of the software? In what companies has the database management system (DBMS) been implemented, and for what purpose? According to the information that you found, what are three strengths and weaknesses of the product?  Relational DBMS  NoSQL DBMS  Multidimensional DBMS Student answers will vary depending upon the availability of information on the products they find.

1-281


D. You have been given a file that contains fields relating to CD information. Using the steps of normalization, create a logical data model that represents this file in third normal form. The fields include the following:  Musical group name  Musicians in group  Date group was formed  Group‟s agent  CD title 1  CD title 2  CD title 3  CD 1 length  CD 2 length  CD 3 length The assumptions are as follows:  

Musicians in group contains a list of the members of the people in the musical group. Musical groups can have more than one CD, so both group name and CD title are needed to uniquely identify a particular CD.

1-282


E. Jim Smith‟s dealership sells Fords, Hondas, and Toyotas. The dealership keeps information about each car manufacturer with whom it deals so that employees can get in touch with manufacturers easily. The dealership staff also keeps information about the models of cars that the dealership carries from each manufacturer. They keep such information as list price, the price the dealership paid to obtain the model, and the model name and series (e.g., Honda Civic LX). They also keep information about all sales that they have made. (For instance, they will record the buyer‟s name, the car he or she bought, and the amount he or she paid for the car). So that staff can contact the buyers in the future, contact information is also kept (e.g., address, phone number). Create a logical data model. (You may have done this already in Chapter 6). Apply the rules of normalization to the model to check the model for processing efficiency.

F. Describe how you would denormalize the model that you created in question E. Draw the new physical model on the basis of your suggested changes. How would performance be affected by your suggestions? One possibility is to combine the model information into the Vehicle table since this information will probably be accessed together all the time.

G. Examine the physical data model that you created in question F. Develop a clustering and indexing strategy for this model. Describe how your strategy will improve the performance of the database. A cluster that would help performance would be to group the vehicles in the Vehicle table together by model name. Some useful indexes would be to manufacturers, model names, and sales dates.

1-283


H. Investigate the volumetric interface with the computer-aided software engineering (CASE) tool you are using for class. What information do you as an analyst need to input into the tool? How are size estimates calculated? If your CASE tool does not accept volumetric information how can you calculate the size of the database? Size of record based on adding the average field size for all fields. An overhead factor from the product vendor. Estimated initial number of records and growth expected. I.

Calculate the size of the database that you created in question F. Provide size estimates for the initial size of the database as well as for the database in one year‟s time. Assume that the dealership sells 10 models of cars from each manufacturer to approximately 20,000 customers a year. The system will be set up initially with one year‟s worth of data.

Jim Smith Auto Dealership Volumetric Analysis

Table Name Manufactur er Vehicle Sold Vehicle Buyer

Average Record Size

Overhead Factor

Total Record Size

Initial Table Size (Records)

Initial Table Volume

50 90

35% 35%

67.50 121.50

3 30

203 3,645

45 70

35% 35%

60.75 94.50

20,000 20,000

1,215,000 1,890,000

Total: After one year: 20,000 sold vehicles 15,000 new customers

3,108,848

1,215,000 1,417,500

Total after one year:

1-284

5,741,348


J.

How would the following ERD be changed to incorporate the design decision listed next?

The analyst wants to keep track of the user ID of anyone who changes a grade for a course. The Grade data store would need to include attributes to capture the User ID and Date changed for grade record modifications. Since there could be multiple changes to a Grade record, a separate data store might be created to hold all the grade changes, and would include the Grade Record ID, User ID, and Date Changed attributes.

A data store is added on the physical DFD so that information regarding the current semester’s courses can be stored temporarily during the add/drop period before the courses become a part of the student’s permanent record. Add a data store called Preliminary Transcript with all the attributes of Grade data store. Once the add/drop period is over, the records in Preliminary Transcript are used to create new records in Grade data store and Preliminary Transcript records can be archived.

The system would like to archive alumni into a table, once they graduate, so that only active students are stored in the student table. At the end of each semester, following recording of all grades, the Student table is searched for all student records that have fulfilled the degree requirements. These records are used to create new records in the Alumni table and then are removed from the Student table.

1-285


K. Draw a physical process model (just the processes and data stores) for the following CRUD matrix.

1-286


Answers to Textbook Minicases 1. As shown in the chart below, allow for 6,213,241 characters in the database. Holiday Travel Vehicles Volumetrics Analysis Table Name

New Vehicle Trade-in Vehicle Sales Invoice Customer Salesperson Installed Option Option

Average Overhead Total Initial Table Initial Table Record Size Factor Record Size Size (records) Volume 65 48

35% 35%

88 65

10,000 7,500

880,000 487,500

76 61 34 16 28

35% 35% 35% 35% 35%

103 83 46 22 38

16,000 13,000 100 25,000 500

1,648,000 1,079,000 4,600 550,000 19,000

Total Initial Volume:

4,668,100

Growth Rate per Year:

10%

Total Volume in 3 years:

1-287

6,213,241


Supplemental Minicases 1.

Jones Legal Investigation Services, Inc., is a growing business that performs legal investigations at the request of attorneys. The company owner, Richard Jones, offers a wide range of investigative services, including audio interviews, video interviews, ground accident scene photos, ground accident scene digital videos, and night vision and electronic surveillance. Using the company‘s own plane, aerial accident scene photos and digital videos are also available. When the company was small, Richard could rely on manual filing methods for his case materials, using the computer only for various bookkeeping tasks. However, the company‘s primary client, attorney Dan Holm, has such a burgeoning legal practice that the manual filing methods are becoming inadequate. Also, the advances in digital technology make it possible for much of the case material to be stored digitally on computer. Richard knows that he will need to obtain some expert advice regarding the selection of the appropriate data storage format for a system that will help him manage his case materials. What data storage format do you recommend he consider for this application? Justify your choice. Are there any disadvantages associated with your choice of data storage format? Answer: In order to store complex data such as images, videos, and audio as well as text and numeric data, an object-oriented database is recommended. Object-oriented databases have proven to be very capable of handling complex data, and are preferred over any other type of data storage format for this situation. The application proposed here is essentially transaction processing rather than decision making; object-oriented databases are used for this type of application as well. The disadvantage of object-oriented databases is the difficulty of finding qualified, experienced developers to create the databases. These databases tend to be very complex, and there is a steep learning curve associated with using them. A general disadvantage to this system as described here is the huge quantity of storage space that will have to be available to store the graphics, video, and audio files. However, as storage costs continue to plummet, this type of application becomes more plausible.

1-288


2.

As you have worked on the system development project team at the Wilcon Company, you have heard the users and project sponsor repeatedly worry about the performance speed of the new order entry system. There has been so much discussion of this issue that you decided to do a little investigation. After a few ‗casual‘ conversations around the coffee machine, you‘ve learned that a system developed for the Distribution Department several years ago was a major disappointment in the company. Although the system had the features that the users had requested, the system actually ran ―as slow as molasses in January‖ according to one disgusted system user. Everyone on the team has been concerned about why the users and sponsor were so hung up on system processing speed. Now, you know the source of their anxiety, and you‘ve shared what you‘ve discovered with your project manager. In response, your manager has asked you to prepare a short memo that discusses, in simple terms, the techniques your team will use to enhance processing performance in the new system. Prepare this memo, explaining the ways in which the project team will try to speed up data access in the new system. Answer: As we have developed our database design, we first focused on storing the data as efficiently as possible. We have followed a careful process that produces the most correct data organization. Once that was complete, we then turned our attention to enhancing the speed of access to the system‟s data. We have several techniques that we can use to help us with this task. First, we will look at the data organization and the way that you will want to access the data in your reports and queries. When we discover common patterns, such as data items that are always accessed together, we will reorganize our data storage slightly to make it easy to obtain those items as quickly as possible. The technical term for this technique is denormalization. We will also study patterns of record retrieval that will be used. If we find clear patterns or sequences of record access, we will physically structure the records together to speed up access to them. Another technique we make extensive use of is the creation of indexes. An index is a small table that points out the locations of just the records needed to answer a query, for example. We can create many indexes, and they can substantially improve access speed. If necessary, we can place some indexes in the computer‟s memory, where they will be executed even faster. A final task we will perform is to carefully estimate the physical storage capacity we will need to accommodate our order entry system to make sure we obtain hardware that is powerful enough for our needs. Even the best system designs will be inadequate if we don‟t anticipate the amount of data our system must handle correctly. All of the above techniques are valuable in enhancing the performance of a new database system. You can be assured the team will do everything it can to optimize the performance of the system we are developing.

Experiential Exercises 1.

Purpose: to understand some practical aspects of data storage design. Obtain a copy of the physical data model for an implemented information system based on the relational data model. Distribute to the students, and have them identify situations that appear to be deliberate denormalization decisions. Discuss the purpose of the denormalization and how it should affect the system's performance.

2.

Purpose: to understand some practical aspects of data storage design. Invite your campus database administrator to be a class guest (or a database administrator from a local company if possible). Ask the guest to be prepared to discuss and give examples of some of the data access optimization techniques that s/he has employed in 'real' database applications. Also, have the guest be prepared to discuss how s/he estimates the data storage volume requirements for the database applications that s/he oversees.

1-289


3.

Purpose: to become more familiar with object-relational databases. Have student work in teams and perform research on the web into database products that encompass both object and relational features. Following the research, have the teams present their findings in a class discussion. Try to identify the common characteristics between products (if any).

4.

Purpose: to become more familiar with multidimensional databases. Have student work in teams and perform research on the web into multidimensional database products. Following the research, have the teams present their findings in a class discussion. Try to identify the common characteristics between products (if any).

5.

Purpose: to become more familiar with data warehouses. Invite a systems analyst or database analyst to class who has participated in the development of a data warehouse. There may be such a project on your campus or at a local company. Have the guest prepare to discuss the process that was used to develop the data model for the data warehouse, the database that was chosen to support the data warehouse, and the process used to build the data warehouse. Students should learn a great deal from the experiences of someone who has actually performed this work in a real setting.

Chapter 11: Moving into Implementation Teaching Tips and Strategies (from Alan Dennis) This is one of those chapters where students grit their teeth. The focus in this stage is on designing and executing tests and developing documentation, neither of which are high on student's lists of favorite topics. I usually spend one class on this chapter. I don't normally have students do detailed test plans for every part of their projects, because this quite literally doubles the programming effort. I usually only require a complete test plan for one module of their project. Likewise, depending upon the time crunch, I only require documentation for one module as well. In my opinion, the hardest point to get across is the need for testing. Most students have written programs and have done ad hoc testing. This seems to have worked fine for them, so the idea of spending longer testing than actually writing the software seems like a huge waste of time to many students. It is critical to convince students that the cost of a bug in production system can be enormous, far more than the cost of even several years‘ salaries for the system development team. The examples in the book and the war story below may help, but it is still an uphill battle. You might ask students what might be the cost of a serious bug in system they are developing (e.g., suppose the payment for every 10 th order was lost, all customer records were deleted). I find that the students can relate to the idea of beta tests. They are used to hearing about beta code and probably don't understand why pre-release software is called beta. This section helps them fill in the missing link.

1-290


War Stories (from Alan Dennis) Experience Counts I once developed a groupware system for a large consulting firm. The consulting firm hired my company to build the system because they had no idea what the system should do. Instead, they wanted me to design a prototype of the next generation system using JAVA. I decided that that the best approach would be to use undergraduate students because they had a small budget. I hired one of my best MIS students who was a crackerjack visual basic programmer to work for the summer on the prototype I designed. Although technically sharp, he had never used JAVA, and by the end of the summer all we had was a mess. After much soul searching, we both agreed that I needed to hire someone else. At the start of the fall semester, I hired a very sharp undergraduate computer science student who knew C and had taken a JAVA course. He worked 10-20 hours per week, and by April, we had working prototype but nothing near what we should have had. As the book says, experience counts. In hindsight, I should have hired a JAVA expert, and while it would have cost more, the system would have been done the way it should have been by the end of the first summer. Everything that can go wrong will! A project Sarah was on two years ago was in the final preparation stage for a cutover to a new system. This project had been going on for about 2 years and involved over 80 resources from the client and Big 5 Consulting firm. The whole team was working late on a Saturday night running through the final round of testing to ensure that everything was ready for the cutover. Sarah herself was in the Operations room. Suddenly an alarm went off and it seemed like a tornado blew through the room - papers flew everywhere, there were huge wind currents, etc. Sarah and the others in the room raced to the door and escaped out of the room. As it turned out a fire detector had malfunctioned, initiating the release of halon and initiating the sucking up of oxygen from the room. This apparently is a common system in computer operations room to protect equipment by quickly extinguishing fire from the room (by sucking out oxygen and releasing a chemical). The process can be deadly to individuals if they do not get out of the room quickly. When Sarah and the others returned to the room, it looked like a tornado had blown through. They had not planned on this mishap but still managed to complete their testing in time for cutover. Defeating a "Major" Bug On a recent project, some of our training team members came running frantically into the Product Test room yelling about a bizarre error they were seeing in the application. They were doing a final walkthrough of their training course in preparation for the first day of training which was scheduled a few days later. Apparently a grid on one of the windows in the application was stuck in an infinite loop where it scrolled endlessly. The training team members were baffled as to what was causing the problem and wanted an emergency fix in place prior to their training class. One of the product testers went with the training team to investigate the problem. After studying the screen for a few seconds, the product tested exclaimed "This might help" and removed a binder which had been partially laying on the keyboard. Nothing was wrong with the application; the training team had unknowingly left a binder on the keyboard which was continually pressing the enter key. A $10 Million Bug A bank in the southern U.S. installed a new financial trading system to improve its stock market trading capability. It offered brokerage services as part of its services to its customers. Shortly after the system was installed, it crashed. The system -- and all of the bank's stock trading -- was out of operation for 4 days. The estimated loss of fees and the costs to mollify its angry customers was $10 million. This is about the cost to hire 200 programmers for one year. Someone should have spent an extra few person-months testing the system.

1-291


Note: As stated by Dr. Dennis, ―In my opinion, the hardest point to get across is the need for testing.‖ I have been teaching from this text for many years, and I concur that this topic is in fact one of the most difficult to convey. It is also the one where the students from an objective standpoint (multiple choice and True/False questions) do the worst in quizzes and exams. I have had to set aside more time than normal to discuss testing and why it is so important.

1-292


Answer to Your Turn 11-1: Test Planning for an Automated Teller Machine Student answers will vary. The following test plan assesses the validity of the PIN as it is entered.

1-293


Answer to Your Turn 11-2: Documentation for an Automated Teller Student answers will vary. As ATMs are typically limited in their functionality, answers may include tutorials which direct the user in how to enter a card and pin, deposit funds, withdraw funds, transfer funds, and check balances. An area for defining terms may also be included.

Answer to Concept in Action 11-A: The Cost of a Bug The cost of identifying a bug in the system is almost directly related to the phase of development in which it is caught. One cost of not catching the bug early would have been the immediate loss of thousands of records. Once those records were lost, it would have taken time and effort not only to duplicate those records, but to determine exactly where the problem was, which means the conversion to a usable system would have been delayed. Luckily, in this scenario, the bug was caught during the testing phase rather than after the system had gone live.

Answer to Concept in Action 11-B: Managing a Database Project 1.

As the company is doing business legally, a systems analyst would approach this systems request as they would any other keeping in mind that there are restrictions as required by credit law.

2.

In order to understand the requirements of the database, the analyst should interview the manager in order to understand the business processes used in collecting the data, and the end users to understand the day to day job of interacting with the proposed system.

3.

Once the requirements are understood and documented, a database analyst will be able to aid in understanding how to efficiently and effectively design the database, including fields, tables, indexes, etc. This type of analyst will also be able to provide information on record size estimation and storage requirements. They will also be able to recommend a specific database (Oracle, DB2, mySQL).

Answer to Concept in Action 11-C: Systems for Complex Electrical Systems 1.

The analyst should first look at the existing system as a whole. Any documentation as to original system design should be examined to identify what capabilities each component in the original system was designed to have, paying particular attention to sub-stations. If no documentation exists, then the existing system needs to be mapped out to determine which component has what capability under what conditions. Once the mapping is complete, the analyst can then determine how to alter the system so that the sub-stations may only shut down the entire system as an exception to normal processes.

2.

Most systems are not designed to be shut down for analysis and testing during real-time operations. In this case, the company is providing a critical service, and any down time severely affects their customers. During the testing phase, the most that could be done is a walkthrough of the changes to the system to simulate real-time operations.

Solutions to End of Chapter Questions 1.

Discuss the issues the project manager must consider when assigning programming tasks to programmers. Project managers must consider the complexity of the modules being programmed against the programmers available, as well as the programmer‘s expertise and experience. Ideally, a project manager will be able to assign experienced programmers to the more complex modules, and the less experienced programmers to the less complex modules. If the programmer‘s skill and expertise are not

1-294


a good match for the project, the project manager may suggest additional training or mentoring to increase the programmer‘s skill level. 2.

If the project manager feels that programming is falling behind schedule, should more programmers be added to the project? Why or why not? Adding programmers does not shorten the project time, and can actually increase it due to the increased communication and coordination that must take place on the programming team. When the team members have to spend time coordinating their work with others, they are not spending time programming, and their productivity diminishes. [The first chapter footnote notes Frederick P. Brooks Jr.‘s The Mythical Man-Month book. It provides a very apt exposition of this very problem.]

3.

Describe the typical way that project managers organize the programmers‟ work storage areas. Why is this approach useful? Project managers often set up three distinct areas in which programmers work. Each of these can be a directory on a server, a separate server, or different physical locations, which all the programmers have access to. The three areas are the development area, the testing area, and the production area. The development area is limited to files created during the development process. Once the files or programs are complete, they are moved to the testing area. This area is used to test the code. Often, code is moved from development, to test, then back to development when and if problems are identified. Once all errors have been corrected, the program then moves to the production area.

1-295


4.

What is meant by change control? How is it helpful to the programming effort? Change control is the act of coordinating a program as it changes throughout the construction process. One technique associated with change control is a program log, which has programmers indicating ‗signing out‘ module of code to work on, then ‗signing in‘ modules of code when complete. Both the programming areas and program log help the analysts understand exactly who has worked on what and the program‘s status. Without these techniques, files can be put into production without the proper testing, two programmers can start working on the same program at the same time, files can be overlooked, and so on. .

5.

Discuss why testing is so essential to the development of a new system. The cost associated with finding and fixing a major software bug after a system has been implemented is very high. Therefore, thorough testing of the system is imperative. It is not enough to have written a program; it also needs to be tested completely to verify it performs as specified. A program is not considered finished until it has passed its testing.

6.

Explain how a test case relates to a test plan. A test is a particular aspect of the system that needs to be evaluated. The test plan outlines all of the tests that need to be performed on the system. Test cases are the sample data that will be run through or entered into the system. A test will state its objective, list the test cases that will check the desired feature or function, and define the expected results. The test objective is taken directly from the program specification or from the program source code. Actual test results will also be recorded on the test.

7. What is the primary goal of unit testing? Unit tests focus on one unit—a program or a program module that performs a specific function that can be tested. The purpose of a unit test is to ensure that the module or program performs its function as defined in the program specification. 8. How are the test cases developed for unit tests? Test cases are the sample data that will be run through or entered into the system. Based upon the description of what the program is supposed to do, test cases can be developed that verify that the program actually does those things. 9.

What is the primary goal of integration testing?

Integration tests assess whether a set of modules or programs that must work together do so without error. They ensure that the interfaces and linkages between different parts of the system work properly. 10. Describe the four approaches to integration testing. The purpose of the user interface testing is to have the user test each interface function. The purpose of the use scenario testing is to have the tester test each use scenario. The purpose of the data flow testing is to have the tester test each process using a step-by-step method. The purpose of the system interface testing is to test the exchange of data among systems. Most projects use all four approaches. 11. How are the test cases developed for integration tests? If the modules have passed their individual unit tests, the focus now is on the flow of control among modules and on the data exchanged among them. Integration testing follows the same general procedures as unit testing: the tester develops a test plan that has a series of tests. Integration tests assess whether a set of modules or programs that must work together do so without error,

1-296


12. Compare and contrast black box-testing and white-box testing. There are two approaches to unit testing: black-box and white-box. Black-box testing is the most commonly used. In this case, the test plan is developed directly from the program specification: each item in the program specification becomes a test, and several test cases are developed for it. White-box testing is reserved for special circumstances in which the tester wants to review the actual program code, usually when complexity is high. . 13. Compare and contrast system testing and acceptance testing. System testing evaluates the entire system, not only to verify that it runs without error or breakdown, but also that it fulfills the business requirements of the system. Acceptance testing is performed with the system users to confirm that the system is complete, that it meets the needs of the business area, and that it is acceptable to the users. 14. Describe the five approaches to systems testing. The purpose of requirements testing is to determine whether the original business requirements have been met. The purpose of usability testing is to determine how convenient the system is to use from a user standpoint. The purpose of security testing is to test disaster recovery processes and unauthorized access processes. The purpose of performance testing is to examine the system‘s ability to perform under high loads. The purpose of documentation testing is to determine the accuracy of the current documentation.

1-297


15. Discuss the roles users play in testing. Users are instrumental in acceptance testing. As this is the first time the users experience the functionality of the system, it is hoped that the system has undergone an in depth systems testing to ensure that the end product is of the highest quality possible and that attention has been paid to usability of the system product. While the new product may meet all the business requirements, if it does not pass acceptance testing by the users, then the system might very well be considered a failure. 16. What is the difference between alpha testing and beta testing. Acceptance testing is done in two stages: alpha testing, in which users test the system using made-up data, and beta testing, in which users begin to use the system with real data and carefully monitor the system for errors. 17. Explain the difference between user documentation and system documentation. System documentation is created for the system developers, in order to document what was done during the development process, and to help them maintain the system after its installation. User documentation is designed specifically for the system users to help them work successfully with the system. 18. What are the reasons underlying the popularity of online documentation? Online documentation is popular for several reasons. First, it is often easier to find information using the search index. Second, it is possible to present help information in multiple formats, increasing its utility to the end users. Third, presenting information while interacting with the computer permits novel ways of presenting the information to be employed. Fourth, the cost of distributing online documentation is considerably less than printing and distributing paper manuals. 19. Are there any limitations to online documentation? Explain. Although paper-based manuals are still found, online documentation is the predominant form. Paperbased documentation is simpler to use because it is more familiar to users, especially novices who have less computer experience; online documentation requires the users to learn one more set of commands. Paper-based documentation also is easier to flip through to gain a general understanding of its organization and topics and can be used far away from the computer itself.

1-298


20. Distinguish between these types of user documentation: reference documents, procedures manuals, and tutorials. Reference documents are the help system that explains how to perform a specific task or function. Procedures manuals describe how to accomplish a particular business task with the system, often involving several steps. Tutorials are training systems that teach the user how to use the system. 21. Describe the five types of documentation navigation controls? A table of contents organizes the information in a logical form. An index provides access to the help topics through keywords listed in the index. Test search allows the user to search for any topics that match the text entered by the user. An intelligent agent can be used to assist the user in the search. Links can be established that permit the user to jump between related topics. 22. What are the commonly used sources of documentation topics? Which is the most important? Why? One source is the set of commands and menus in the user interface. A second source is a useful set of topics focused on how to perform certain tasks, usually those in the use scenarios from the user interface design. A third source are the important terms associated with the system. The most important source is probably the topics focused on how to perform tasks, since these define how to perform needed functions with the system. 23. What are the commonly used sources of documentation navigation controls? Which is the most important? Why? The table of contents is developed directly from the logical structure of the documentation topics. Index terms can come from the user interface commands and functions, the major concepts (entities) of the system, the business tasks performed by the system user, and synonyms or alternate terms for the above. 24. What do you think are three common mistakes made by novice systems analysts during programming and testing? While an analyst usually has little to do with the actual programming, they may certainly assist project managers in understanding the potential pitfalls in this phase:  Using low-cost personnel, which usually results in lower production or a low quality of work  Failing to control changes in code, either allowing scope creep, or not organizing the work through the development process  Failing to take the time to plan and conduct testing in terms of unit, integration, system, and acceptance 25. What do you think are three common mistakes made by novice analysts in preparing user documentation?   

Leaving documentation to the end and not having sufficient time to do it well. Failing to test the documentation with users to verify its usability. Failing to develop the documentation in terms of tasks that users need to perform.

26. In our experience, documentation is often left to the very end of projects. Why do you think this happens? How could it be avoided? It may be that documentation is viewed as less "important" than other aspects of system development; consequently, it gets left to the very end of the project. Also, some analysts may be uncomfortable with the writing that must be done to produce documentation, so it is avoided as long as possible. To avoid

1-299


a mad rush to churn out documentation at the end, the team should develop notes on documentation topics throughout the project. These notes can then be assembled into polished documentation. 27. In our experience, few organizations perform as thorough testing as they should. Why do you think this happens? How could it be avoided? The problem may be due to the fact that the team is up against a deadline and does not have enough time to perform thorough testing. When in a hurry, the testing tends to be ad hoc rather than carefully planned. As a result, errors can be easily overlooked. As the systems analysts complete work on program specifications, they should immediately begin developing test plans, so that complete and thorough testing is structured for the programmers as they complete the programming tasks. 28. Create several guidelines for developing good documentation. Hint: Think about behaviors that might lead to developing poor documentation.    

Consider what documentation the users need and understand how they will use the documentation. Develop a set of documentation topics; tasks to be performed, description of commands, and definition of terms. Develop a set of documentation navigation controls to support the documentation topics; table of contents, index, text search, intelligent agents, and links between topics Develop a prototype of the user interface and have users test it for navigability and usability

1-300


Solutions to End of Chapter Exercises A. Develop a unit test plan for the calculator program in Windows (or other similar program for the Mac or UNIX).

1-301


B. Develop a unit test plan for a web site that enables you to perform some function (e.g., make travel reservations, order books).

1-302


C. If the registration system at your university does not have a good online help system, develop one for one screen of the user interface. Student answers will vary. D. Examine and prepare a report on the online help system for the calculator program in Windows (or a similar program for the Mac or UNIX). (You may be surprised at the amount of help for such a simple program). The online help is divided into three major parts: Contents, Index, and Find. The Contents are divided into two major categories: Performing Calculations and Tips and Tricks. The Index is an alphabetical list of keywords and topics. The Find option is a search technique that enables the user to type in keywords or phrases and brings up suggested topics. E. Compare and contrast the online help at two different web sites that enables you to perform the same function (e.g., make travel reservations, order books). Expedia.com has a link to Customer Support at top right corner of screen. This takes you to a set of task-oriented links that provide information on how to do things. There is also a link to FAQs, and a link for Additional Help. Travelocity.com has a link to Customer Service in right side bar and also at the bottom of the home page. These links take you to a screen where you are told you can ask a question. Clicking on this link takes you to a screen full of links to categories of FAQs, organized primarily by topic rather than task.

1-303


Answers to Textbook Minicases 1.a. There is plenty for the project manager to do during programming. The programming activity needs to be managed; it will not just happen by itself. Along with making programming assignments, Pete should also be putting a lot of time into coordinating the work of the programmers and making sure that the required programming standards and practices are being followed. The project manager should also be monitoring the risk factors of the project, such as unrealistic time estimates, day to day slippage in progress, and difficulty with the technologies being employed in the project. 1.b. Pete has made several mistakes that could jeopardize the project‟s successful completion, and certainly affect the likelihood of completion on time and within budget. The first obvious mistake is his unwillingness to acknowledge the underestimation of programming time requirements that were made earlier in the project. Pete has blinded himself to the realities of the situation in his quest to complete the project on time. This narrow focus on completing the project on time led to his second mistake, which was bringing in inexperienced programmers on the team in an effort to speed up the programming process. More programmers simply leads to a project team that needs more coordination and communication, and will not necessarily be more productive. 1.c The staff Pete has added may actually bring down overall productivity since the experienced staff will have to spend time guiding and mentoring the new hires. Finally, Pete needs to some type of control mechanism over the programs that are being developed. This mechanism does not have to be sophisticated, but it is essential that a log is maintained of each program that is written, its status, and who has worked on or is working on it. These kinds of procedures do not just happen by themselves, and it is up to the project manager to establish and enforce proper programming control practices. 1.d It is very unlikely that Pete will be able to complete this project on time and within budget with the current programming staff. While the new programmers may understand how to write programs, they simply don‟t have the real-world experience needed to understand how code is maintained and managed. Pete would have been better off hiring fewer, but more experienced programmers. 2.

1-304


Answer:

Holiday Travel Vehicles Test Plan Program ID: INV44 Tester: Milroy Date Designed: 2/28

Date Conducted: 2/29

Test Results: Passed

Test ID: 9

Requirement Addressed: Verify Sales Invoice information

Objective: Ensure that the option code(s) entered by the salespeople are valid option codes. Test Cases Interface ID 1) INV44-4.7 2) INV44-4.7 3) INV44-4.7 4) INV44-4.7 5) INV44-4.7 6) INV44-4.7 7) INV44-4.7

Data Field Option Code Option Code Option Code Option Code Option Code Option Code Option Code

Value Entered blank none NONE RTPF rtpf ZZZZ 1234

Script: Expected Results: Tests 2,3,4,5 are valid. The system should convert entries to upper case for validation. Tests 1,6,7 are invalid. Actual Results: Tests 2,3,4,5 were accepted. Tests 1,6,7 were rejected by system with correct error messages to the user.

1-305


Supplemental Minicases 1.

Earhart Aviation operates a multi-service aviation business, including fuel, aircraft maintenance, charter flights, aircraft rentals, and flight instruction. The company has a major systems development project underway, with a comprehensive system being developed to permit online entry of all work performed in the maintenance shop, fuel purchases, online scheduling of charter flights, flight instruction, and aircraft rentals, and automated billing for the above activities. Due to the wide range of personnel who will be interacting with the system (from shop personnel to line personnel to office personnel to flight instructors and students), the design of the user interface is important. Not only should the user interface be thoroughly tested, there must be sufficient user documentation available to help the users work with the system. a.

Because of the importance of the user interface to the ultimate success of this system, discuss the user interface testing that you believe should be conducted for this project. Answer: The user interface should be tested throughout the testing process. First, the individual programs that make up the user interface will be unit tested as they are created. During integration testing the entire user interface should be tested by working through each and every menu in the system. During system testing, the usability of the user interface should be evaluated by an analyst who is experienced in user interface design. Finally, the users will work with the system during acceptance testing, and should report any difficulty or confusion encountered with the user interface.

b.

The project sponsor once mentioned to the project manager that he envisioned that a procedures manual would be developed and printed and placed next to each computer station throughout the organization. That way, any user of the system could simply look up how to perform whatever function was needed. Do you agree that a printed procedures manual is the best way to provide user documentation for this system? Why or why not? Discuss the best type of user documentation that you believe should be developed for this system. Answer: This seems like a situation that would be better served with online user documentation rather than a printed manual. In an aviation setting, there will be many people coming and going, and keeping a procedures manual available next to all computer stations seems difficult. Also, the users of this system will probably need the support of an online reference document type of help system rather than a procedures manual. This reference documentation should be built around the common tasks that are performed by the users, such as entering service records, selling fuel, chartering a flight, reserving a rental aircraft, or scheduling a flight lesson. These common activities are probably outlined in the system‟s use cases, and should be the primary source of reference documentation topics.

2.

As project manager in a new system development project, you have been careful to involve the end users whenever possible. So far, your relationships with the users have been good, and their enthusiasm about the new system is genuine. Now that programming has begun, however, there has not been that much for the users to do. Several of them have stopped by to inquire about progress, just because they‘re interested. One even asked you when she could expect to get involved with the project again. ―I guess I just got so involved with this project that I can‘t help wondering about its status. I appreciate having more time available to do my regular job, but I find I can‘t wait to get back with the team.‖ Discuss how you will involve the users when the system is ready to be tested. Answer: Users will be heavily involved with the systems project again during acceptance testing. It is at this point that the users will work directly with the new system and „put it though its paces‟ with their own data. The users should be involved in preparing test data for the system, following the test

1-306


plans that were developed for the system testing process. Users should particularly focus on ensuring that the system performs its required functions, that they are satisfied with the user interface, and that they are comfortable with the user documentation that has been prepared for the system. It may also be valuable to test the system with „live‟ data, so that the users are assured that the system can handle all the messy data of the real world. Following these acceptance tests, the users should be willing to confirm that the system meets their requirements, is complete and works as expected, and is acceptable to them.

1-307


Experiential Exercises 1.

Purpose: to improve student understanding of test plans. Divide the class into small groups. Have each group select a web site that sells textbooks (e.g., varsitybooks.com, bigwords.com, brilliantbooks.com). Have each group develop a unit test plan for the task of searching for a book. The group should then perform their test on their chosen web site. In class, discuss and compare the test plans that were developed. Then, focus the discussion on how well the sites performed on their tests.

2.

Purpose: to become more familiar with usability testing. Divide the class into small groups. Have each group select a web site that sells textbooks (e.g., varsitybooks.com, bigwords.com, brilliantbooks.com, half.com). Have each group develop three use scenarios for the textbook site (e.g., search, select, purchase). Put two groups together that selected different web sites. Have one group work through the use scenarios prepared by the other group, while the other group assesses the usability of the site. Then have the groups change roles. Each group should then prepare a short assessment of the usability of their site based on the observed experiences of the other group. Class discussion should reveal some common strengths and weaknesses observed in the sites.

3.

Purpose: to become more familiar with on-line help documentation. Divide the class into small groups. Have each group select a web site that sells textbooks (e.g., varsitybooks.com, bigwords.com, brilliantbooks.com, half.com). Have each group develop a list of six things they might want to know about the textbook web site (concepts, actions, tasks, procedures, terms, etc.). Have them go to the web site and use the on-line help to investigate the items on their list. In class discussion, concentrate on the methods that were available for help, the ease of getting the information they wanted, and the overall quality of the help provided.

4.

Purpose: to become more familiar with on-line help documentation. Assume that prospective students would like to get more information about your institution, and they go to your institution‘s web site. The prospective students are interested in learning more about admissions standards and procedures. Using the web site, have your students investigate the help features that are provided for this use scenario. If weaknesses are discovered, what improvement can the students suggest?

1-308


Chapter 12: Transition to the New System Teaching Tips and Strategies (from Alan Dennis) I suspect that this chapter is different from those you have used in other textbooks because it examines system installation from both a technical and a behavioral perspective. I usually spend one to two classes on this chapter.

From the technical perspective, installation is usually simple, but can be quite timeconsuming. We present three different dimensions on which conversion can be examined (rather than the usual one-dimensional approach commonly used). This helps students understand that conversion can be done in stages, with each stage using a different approach. For example, a pilot conversion, in which parallel modular conversion is used in the pilot sites followed by direct--whole system conversion in the second stage sites. One element that is often overlooked is the sheer magnitude of implementing a large conversion. Simply moving all the technical support people to the many offices to actually do the conversion can be very challenging, not to mention converting all the current data to the new system. In my experience, change management is often one of the most overlooked and misunderstood parts of systems analysis and design, particularly by novice analysts. They have invested so much time and effort in the development of the system, that they find it hard to understand that some people may not want to use it, even if the system brings clear benefits to the organization. I find that raising examples of changes in systems they use sometimes helps them understand (e.g., changing the way their ATM works, installing a new version of Windows). The important point is to have them understand how to perform an analysis of the costs and benefits of change to various stakeholders in their projects. I've found that students are often uncomfortable with the idea that not everyone will want to adopt the system and that sometime organizations resort to pure political power (use it or you're fired) to get systems adopted. I've also found that the section on training can come as a real surprise. I don't know how many student teams I've worked with that neglected training or tried to train everything in the system. Thinking about training as an extension of the user's job, not of the system, can help. The section on project assessment fits nicely with the individual assessment activities that I have students do. The last deliverable on the project is a self-assessment and a team-assessment.

War Stories (from Alan Dennis) Installation at Lithonia Lighting Lithonia Lighting is the world's largest manufacturer of commercial lights, with average annual sales of over $1 billion. They are headquartered in a small town just outside of Atlanta (Conyers, Georgia). Information technology as a key part of their strategy, a strategy that has enabled them to grow from a major player in the industry to the dominant one. They give every one of their agents and distributors a computer with a connection into their order processing system. Any time the system is upgraded, a Lithonia Lighting staff member flies to the agent's office to install the new system and train the users on the new version. There are over 120 separate agents in the U.S., Canada, Latin America, and South America. Assuming that it takes about two days (plus travel time) to install and train a new version in an agent's office, think how many staff members are required to roll-out a new version over a one month time period.

1-309


One person can do about two sites per week, or about eight per month, assuming non-stop travel (at which point, people start to get burned out). This means Lithonia Lighting needs about 15 people, just to do the installation of a new version of the system. Installation is not a trivial undertaking.

Answer to Concepts in Action 12-A: Converting to the Euro (Part 1) Issues associated with implementing the Target system fall into three categories: Business, Technology, and People. Some of the factors associated with a system that incorporates 15 countries include:  Business: selecting a conversion strategy, preparing a country-specific contingency plan  Technology: installing the hardware and software, developing a data standard  People: developing training for different cultures, developing system support for different languages

Answer to Concepts in Action 12-B: US Army Installation Support 1.

2.

The conversion strategy selected was relatively low risk. Including parallel conversion ensures the new system performs as expected while the old system is still in place. That a modular pilot conversion was also used allows for testing of the new system at specific sites before universal adoption. Any type of phased, pilot conversion, or a combination of these would work. The only conversion that would not be recommended is a direct approach. A direct approach in type of multi-site system would be risky in the extreme.

1-310


Answer to Concepts in Action 12-C: Managing Global Projects 1.

There is no standard timeframe for deciding when or if to consolidate systems. This decision depends upon the current system setup at each location and whether a comprehensive system is necessary. Consolidation of multiple systems can be costly, both in time and resources.

2.

In order to have a convincing argument, Conor needs to document that there is an identified need to have aggregate data from all systems in order for reporting or decision making. A cost-benefit analysis indicating the expected return of a consolidated system would certainly be of help in supporting his argument.

3.

Again, if reporting and decision making depend upon aggregate data, then Conor needs to document the problem and push for a consolidated solution. The alternative is to continue and try to conduct business with incomplete or incompatible data, which will be increasingly difficult.

Answer to Concepts in Action 12-D: Finishing the Process 1.

There are any number of ways to determine the validity of MPI‘s claims. One step to take is to find out how MPI is measuring the change in turnover, increased productivity, and particularly how they measure reduced stress, anger and depression. Another step is to find other companies that have used MPI‘s training program and see if they are willing to share their experiences.

2.

The first thing to do is to determine costs associated with the current turnover, and productivity. The second step is to compare those costs to the projected costs (turnover reduced 50%, productivity increased 20%) associated with the resulting claims from MPI. Calculate the difference between the current and projected costs then compare that difference to the cost of the training. If the cost of the training is higher than the projected change, then it would not be beneficial. In order to include the projected reduction in stress, anger and depression in the costbenefit analysis, it would be first necessary to determine how those are measured and how costs can be associated with them.

Answer to Concepts in Action 12-E: Converting to the Euro (Part 2) System support activities typically involve helping the users use the system. In this case, those users are spread over 15 countries, each with their own language and culture. The support activities chosen should be those that can support those users. Online support would be a good choice, as web-sites and FAQs can be translated into many different languages. The material online is relatively easy to develop, maintain, and administer. Additionally, help desk employees in each country should be trained so that they are available to users in answering questions about the system.

Answer to Concepts in Action 12-F: Software Bugs Student answers may vary depending upon experience with commercial and locally developed software and their definition of quality. Issues to consider when considering quality include, but are not limited to:  

Expertise: The organization may not have employees with the expertise to produce software. If new developers are used, quality may be low due to inexperience. Customized features: Developing a software application in-house results in a product customized to the organization‘s specific business needs. Commercial software is a more generic product, developed for many types of businesses. Time to market: Commercial developers are very concerned with the competitive market, and oftentimes will forego levels of quality testing in order to release the product. Software developed in-house does not have the same concerns.

1-311


Answer to Your Turn 12-1: Developing a Conversion Strategy Word Processor Conversion Conversion Style: Direct Conversion Location: Simultaneous Conversion Modules: Whole-System Conversion Web-Based Course Registration System Conversion Style: Parallel Conversion Location: Pilot Conversion Modules: Modular Converting from one word processor to another is a fairly straightforward process. Typically, these are off the shelf products with a documented dependability in terms of robustness. Additionally, if problems occur, it would be relatively simple to convert back to the original system. Word processing capabilities certainly support business activities, but do not constitute a major business process. Converting to a web-based registration system, however, is quite a different scenario. Registration is a major business process at a university, and the conversion to a new platform should be designed as a slow, methodical, tested conversion. The old system should continue to be in operation until the dependability of the new system has been proven. Pilot implementation would aid in testing out the new system before it is implemented system side. If the new system was designed using modules, each module should be tested before each additional module is added on.

Answer to Your Turn 12-2: Comparing Conversion Strategies Least Risk Conversion Style: Parallel Conversion Location: Pilot Conversion Modules: Modular Most Risk Conversion Style: Direct Conversion Location: Simultaneous Conversion Modules: Whole-System Least Cost Conversion Style: Direct Conversion Location: Pilot or Phased Conversion Modules: Whole-System Most Cost Conversion Style: Parallel Conversion Location: Simultaneous Conversion Modules: Modular Least Time Conversion Style: Direct Conversion Location: Simultaneous Conversion Modules: Whole System Most Time

1-312


Conversion Style: Parallel Conversion Location: Phased Conversion Modules: Modular Relationships that can be identified include:  The conversion style that takes the least amount of time costs less but is more risky.  The conversion style that takes the most amount of time cost more but is less risky The above combinations are not the only combinations possible. A decision regarding conversion should be based on weighing and balancing the issues of time, cost and risk.

Answer to Your Turn 12-3: Standard Operating Procedures Student answers will vary. One example of a formal standard operating procedure is that the students take a quiz at the beginning of each class session. One example of an informal standard operating procedure is that over time, the first five minutes of class becomes a question and answer period.

Answer to Your Turn 12-4: Overcoming Resistance to a New EIS Student answers will vary. One method of reducing the resistance to adoption is to create a cost-benefit analysis and present it to those that will be using the new system. Once they understand the costs and benefits associated with adopting the new system, the employees may be more open to adoption.

Answer to Your Turn 12-5: Developing a Training Plan Student answers will vary based on their organization and what they perceive to be the use of the new program. One response may include creating training tutorials to allow users to become familiar with creating business documents that they use in their day to day tasks; memos, reports, proposals, etc.

1-313


Solutions to End of Chapter Questions 1.

What are the three basic steps in managing organizational change? According to Kurt Lewin, change is a three-step process: Unfreeze - preparing people and the organization to break out of their current way of doing things; Move - transition from the old to the new way of doing things; and Refreeze - establish the new system as the way things are done.

2.

What are the major components of a migration plan? The migration plan specifies what activities will be performed when and by whom as the transition is made from the old to the new system. One part of the migration plan is the technical plan, which discusses how the new technology will be implemented in the organization. The other major part of the migration plan is the organizational plan, which helps users adjust to and adopt the new system.

3.

Compare and contrast direct conversion and parallel conversion. Both conversion strategies focus on the way in which users are switched over to the new system. Direct conversion is an abrupt change: the old system is turned off and the new system is turned on. The users have no choice but to work with the new system. In the parallel conversion strategy, the new system is turned on, but the old system is used simultaneously for a time. Clearly, the direct strategy is more risky because there is no fall-back if significant system bugs are discovered. With parallel conversion, the old system will still be available if there is a major bug discovered in the new system. However, the cost and extra work of using both systems simultaneously must be considered.

4.

Compare and contrast pilot conversion, phased conversion, and simultaneous conversion. These terms refer to how the organizational locations are transitioned from the old system to the new system. A pilot conversion selects one or more locations (or units or work groups within a location) to be converted first as a part of a pilot test. If the conversion at the pilot location is successful, then the system is installed at the remaining locations. In the phased conversion approach, the system is installed sequentially at different locations. Gradually, the conversion process spreads across all locations until all have been converted. Simultaneous conversion means that all locations are converted at the same time. With this strategy, there is no period in which some locations are using the old system and other locations are using the new system.

1-314


5.

Compare and contrast modular conversion and whole-system conversion. Whole system conversion means that the entire system is installed at one time. This is the most common circumstance. When the modules within the system are separate and distinct, organizations may convert to the new system one module at a time, using modular conversion. Modular conversion does require significant time to introduce each module of the system in sequence.

6.

Explain the trade-offs among selecting between the types of conversion in Questions 3, 4, and 5. Direct conversion will be the quickest and lowest cost conversion style. Parallel conversion reduces risk, but costs much more and takes more time to complete. Pilot conversion is the least risky way to convert organizational location. By debugging the system at the pilot location, the installation at the other locations should go smoothly. Phased conversion adds a little more risk in that time is not devoted to debugging the system totally before moving on to other sites. Phased conversion takes longer, however, than pilot conversions. The simultaneous approach will be the highest risk and most expensive approach of the three, but takes the least amount of time. Whole system conversion is most risky, especially if the system is large and complex, but completes the conversion in the shortest amount of time. Modular conversion reduces risk somewhat because the system is implemented gradually. It adds cost and time to the process, however.

7.

What are the three key roles in any change management initiative? The project sponsor is the person or organizational unit that wants the change. The change agent is the person or group who leads the change effort. The potential adopter is the person or group who must actually do the changing.

8.

Why do people resist change? Explain the basic model for understanding why people accept or resist change. In general, when people are presented with an opportunity for change, they perform a cost–benefit analysis (sometimes consciously, sometimes subconsciously) and decide the extent to which they will embrace and adopt the change. They identify the costs of and benefits from the system and decide whether the change is worthwhile. However, it is not that simple, because most costs and benefits are not certain.

1-315


9.

What are the three major elements of management policies that must be considered when implementing a new system? One element is the organization‘s standard operating procedures. These procedures define proper behavior, and communicate behavioral norms to the employees. The second element is defining measurements and rewards, which explains what is important to the organization (worth measuring) and how desired behavior will be reinforced with rewards. The third element is resource allocation. By allocating resources in certain ways, management can send both actual and symbolic messages to the organization.

10. Compare and contrast an information change management strategy with a political change management strategy. Is one better than the other? Both of these change management strategies are focused on convincing the target adopters of the change that the benefits of the change outweigh the costs of the change. With an informational strategy, the goal is to convince potential adopters that the change is for the better. Th is strategy works when the cost–benefit set of the target adopters has more benefits than costs. In other words, there really are clear reasons for the potential adopters to welcome the change. With the political change management strategy, organizational power is used to motivate change, not information. The change may not actually provide a direct benefit to the target adopters, but it may benefit the organization as a whole. It requires someone in the organization who holds legitimate power over the target group to influence the group to adopt the change. This may be done in a coercive manner or in a negotiated manner. 11. Explain the three categories of adopters you are likely to encounter in any change management initiative. There will usually be a small group (20 to 30%) who are ready adopters. These individuals quickly adopt the change. Another group of about the same size (20 to 30%percent) will be resistant adopters. They will refuse to accept the change and may actively fight against it. The remaining larger group is the reluctant adopters. They tend to be apathetic and will go with the flow to either support or resist the system, depending on how the project evolves and how their coworkers react to the system. .

1-316


12. How should you decide what items to include in your training plan? Focus on helping the users to accomplish their jobs, not just on how to use the system. Training must focus on those activities around the system, as well as on the system itself. Focus on the system as it exists in its organizational context of getting day to day business done. Keep the emphasis on what the user needs to do; don‘t get caught up in what the system can do. Referring to the use cases can be helpful here, since if we design our training to cover the use cases, we should be able to make the users very comfortable with the system for their routine tasks. 13. Compare and contrast three basic approaches to training. Classroom training is the traditional approach to training in which a number of people are trained simultaneously with one instructor. One-on-one training puts one trainer with one student at a time. Computer-based training uses a DVD or Web-based training program delivered to students as needed. Classroom training is moderately effective. Its costs are moderate, and it is fairly effective, especially since it is the method that many people are most familiar with. One-on-one training is very effective, but is expensive to deliver and reaches only a few people. Computer-based training is very costly to develop, but is inexpensive to disseminate after development. It can reach a large number of people, but its effectiveness can be limited. 14. What is the role of the operations group in the systems development life cycle (SDLC)? The operations group takes the system that the development team has created and makes it work for the organization on a daily basis. 15. Compare and contrast two major ways to provide system support. System support is focused on helping users understand how to perform tasks and answering user questions. This can be accomplished with online support such as reference documentation and help screens, and also with special web sites that answer frequently asked questions. The goal here is to enable the user to find the answer to his/her question without talking to a human. When human help is needed, it is usually provided through a help desk. Help desks can provide human response to questions for the entire organization.

1-317


16. How is a problem report different from a change request? A problem report documents a problem that has been encountered with the system that cannot be immediately resolved. The problem report will usually be passed to an application specialist, who will attempt to clear up the problem. If he/she cannot resolve the problem, then it is likely that a system bug has been encountered. At this point, the problem report becomes a change request, which is used to inform the system maintenance group that an unresolvable problem has been discovered that probably requires a system fix. 17. What are the major sources of change requests? The most common source of change requests is the problem reports from the operations group that identify bugs encountered in the system. A second source is the system users, who submit ideas for minor changes and enhancements to the system. Third, other systems development project may have an effect on a system, and change requests may result in order to integrate the systems. A fourth source of change requests is those that occur when underlying software or networks change. A fifth source is senior management, who may trigger change requests in order to tailor the system to the organization‘s business strategy. 18. Why is project assessment important? Project assessment is important because it enables the team and the IS organization to learn from its experience, and hopefully improve future systems development projects with the benefit of that experience. 19. How is project team review different from system review? Project team review focuses on the way the project team carried out its activities. Each project member prepares a short two- to three-page document that reports on and analyzes his or her performance. The focus is on performance improvement, not penalties for mistakes made. The focus of the system review is understanding the extent to which the proposed costs and benefits from the new system that were identified during project initiation were actually recognized from the implemented system. Project team review is usually conducted immediately after the system is installed while system review is often undertaken several months after the system is installed.

1-318


20. What do you think are three common mistakes that novice analysts make in migrating from the as-is to the to-be system?   

Failure to fully consider the risks associated with the different conversion strategies. May just blithely assume direct conversion is the way to go. Failure to adequately train the end users for the work they must perform on the new system. Failure to manage the process of change that will be necessary with the new system.

21. Some experts argue that change management is more important than any other part of the SDLC. Do you agree or not? Explain. Change management is essential in helping to ensure that the system is accepted and used in the organization. While change management cannot substitute for a system that does not do what it is supposed to do, failing to consider the required process of change may result in even the best system being rejected by the users. 22. In our experience, change management planning often receives less attention than conversion planning. Why do you think this happens? Most systems analysts are more comfortable with the technical aspects of the system rather than the behavioral (people) aspects. As a result, the assumption is made that the people will just adapt to whatever is thrown at them. This is a poor assumption, and attending to change management planning can make a dramatic difference in the ultimate success or failure of the new system.

1-319


Solutions to End of Chapter Exercises A. Suppose you are installing a new accounting package in your small business. What conversion strategy would you use? Develop a conversion plan (i.e., technical aspects only). Since packaged software is probably being used, we should not have to worry too much about the software not functioning correctly. Therefore, a direct conversion would probably work in this case. The steps we follow are:  Install hardware if needed for the new system (more memory or a faster processor may be needed if we have outgrown the old system).  Install software - usually a fairly simple task with today's small business-oriented accounting packages.  Convert data - most accounting software systems have conversion routines provided that allow the user to convert data from other accounting packages. Be sure to have the old data backed up so that if any aspect of the conversion fails, we can recover the old data and begin again. B. Suppose you are installing a new room reservation system for your university that tracks which courses are assigned to which rooms. Assume that all the rooms in each building are “owned” by one college or department and only one person in that college or department has permission to assign them. What conversion strategy would you use? Develop a conversion plan (i.e., technical aspects only). In this situation, parallel, pilot conversion might be best. A pilot installation can be conducted at one of the locations, and parallel conversion will lower the risk of the conversion process. The workload associated with parallel conversion should not be too onerous in this case since there is probably not a high volume of room reservations over time. Once the system has been installed at the pilot site and any bugs have been worked out, it can be installed at other locations, again using the parallel conversion strategy. The steps we follow are:  Install hardware if needed for the new system.  Install the software.  Convert data for the new system. Continue to post room reservations using the old and the new system for a period of time.

1-320


C. Suppose you are installing a new payroll system in a very large multinational corporation. What conversion strategy would you use? Develop a conversion plan (i.e., technical aspects only). In this case, the conversion should be parallel because of the importance of the payroll application. It is likely that the organization requires all locations to be consistent with payroll, so simultaneous conversion will be needed. However, if the locations are fairly autonomous, then it would be far less difficult if phased conversion was used. The steps we follow are:  Install hardware if needed for the new system.  Install the software.  Convert data for the new system. Continue to process payroll using the old and the new system for a period of time. D. Consider a major change you have experienced in your life (e.g., taking a new job, starting a new school). Prepare a cost-benefit analysis of the change in terms of both the change and the transition to the change. Student answers will vary. E. Suppose you are the project manager for a new library system for your university. The system will improve the way in which students, faculty, and staff can search for books by enabling them to search over the Web, rather than using only the current text-based system available on the computer terminals in the library. Prepare a cost-benefit analysis of the change in terms of both the change and the transition to the change for the major stakeholders. New system Benefits: convenience, ease of use, simplicity of browser interface, wider access to system. Certainty of benefits: active and vocal support of campus leadership will increase the likelihood that benefits will accrue. Costs: some unhappiness and confusion on the part of users who have become skilled users of the current command-driven system. Certainty of costs: likelihood of problems will be reduced with a high-quality user interface and good training. Transition to new system Benefits: more users may use the library system. Certainty of benefits: announcements and publicity about the new system will increase the likelihood of new users being aware of and using the new system. Costs: users have to learn new search techniques Certainty of costs: minimize likelihood with readily available help system and training.

1-321


F. Prepare a plan to motivate the adoption of the system described in Exercise E. In this case, an informational strategy will be best since the benefits of the new system will clearly outweigh the costs. Announcements of the new system should be made in the campus newspaper, for example. Demonstrations of the system should be conducted prior to conversion so that users can see the interface and the system’s capabilities. Frequent and convenient training sessions should be available; one-on-one training should also be available. All communication about the new system should emphasize its convenience, ease of use, flexibility, and widespread accessibility. G. Prepare a training plan that includes both what you would train and how the training would be delivered for the system described in Exercise E. Training should emphasize what the users need to do, not just the features of the system. In this case, the users need to be able to search through the library holdings, so training should focus on the search mechanisms of the new system. Training sessions should be offered frequently, to accommodate the schedules of students and faculty. Small groups or one-on-one training will be preferred. Much of the training could also be handled through an on-line tutorial or help system. H. Suppose you are leading the installation of a new decision support system to help admissions officers manage the admissions process at your university. Develop a change management plan (i.e., organizational aspects only). Change management plan: The change management plan will consist of changing management policies to support the new system, assessing and communicating costs and benefits of the new system, and taking steps to motivate adoption of the new system. In this particular case, it is hard to know exactly how the new system will be viewed by the stakeholders. It may be that the admissions staff and management are overwhelmed with their work and welcome a system that will streamline and simplify their work processes. It could also be that no one really sees the need for the new system. If the current ways of doing things seem to be working OK, then the stakeholders may have more resistance to the new system. Management policies:  Formal standard operating policies must be revised to match the new system. New procedures must be created and implemented so that use of the new system is integrated into the formal operating procedures of the Admissions Office.  Measurements and rewards must be developed to motivate desired behavior. For example, if one of the benefits of the new system is the ability to process applications more rapidly, then the total elapsed time from application receipt to the acceptance decision should be measured. When the average elapsed time per application falls for the entire Admissions Office, some reward could result. It could be a pay raise, or something as simple as a party for the entire office could be effective.  Resource allocation can be used to demonstrate management’s commitment to the new system. For example, investing in training programs for the new system will show that management is serious about its adoption. Assessing costs and benefits - from the organization’s perspective and from the perspective of the prospective adopters of the system. The organization’s benefits are likely to be improved decision consistency and faster response to admissions applications. It may be that the organization is expecting staff reductions as another benefit. The costs to the organization may be loss of morale and employee turnover if the staff is unconvinced of the value of the system. Adopters’ benefits may be increased productivity, better quality of admission decisions, better organization. Adopters’ costs may include fear of job loss, uncertainty about the use of the new system, need to change work procedures.

1-322


Motivate adoption - by demonstrating clear and convincing need for the change. Both the informational strategy and the political strategy may be useful in this case. The informational strategy should emphasize the reduction in problems and increases in decision productivity and quality. The political strategy could be needed if the costs are perceived as outweighing the benefits. Senior management may need to motivate behavior through negotiation or coercion. I.

Suppose you are the project leader for the development of a new Web-based course registration system for your university that replaces an old system in which students had to go to the coliseum at certain times and stand in line to get permission slips for each course they wanted to take. Develop a migration plan (including both technical conversion and change management). Technical conversion - This situation will require a direct conversion of the entire system. It would not be practical to try to run both systems in parallel or to convert by pilot site or by phases. Change Management Plan - In this case, the student stakeholder group will love the change. The benefits of on-line, web-based registration will be obvious to them in terms of convenience, time savings, and facilitating the registration process. Registration staff also should welcome the change, although there may not be as many staff required any longer, so fear of job loss may be a problem. This is a system that has to be used (it's not optional), so the most important aspect of change management is to provide adequate training and on-line help, so the users find the system easy to use.

1-323


J.

Suppose you are the project leader for the development of a new airline reservation system that will be used by the airline’s in-house reservation agents. The system will replace the current command-driven system designed in the 1970s that uses terminals. The new system uses PCs with a Web-based interface. Develop a migration plan (including both conversion and change management) for your telephone operators. Technical conversion - In this case, direct conversion should be used. The reservation agents will to too busy to use both systems in parallel. If possible, conversion should take place in phases to ease the conversion process throughout the airline's locations. Change management plan - Although many of the agents will welcome the updated system, there could be resistance from very skilled, very experienced agents whose knowledge and expertise is no longer relevant. The experienced agents probably work very efficiently with the commanddriven system and so will need to be shown the benefits of the new system to persuade them to adopt the new system. Ample training will ease the transition along with strong management promotion of the benefits of the new system. If there is a lot of resistance, the informational strategy may not be sufficient to motivate adoption, and a political strategy may be needed.

K. Suppose you are the project leader for the scenario described in Exercise J. Develop a migration plan (including both conversion and change management) for the independent travel agencies who use your system. Technical conversion - since each independent travel agent location is relatively autonomous, it will probably be possible to convert in phases by location. Each location should be converted directly. Change management plan - the independent travel agents are more casual users than the airline's own reservation agents, so they will probably not be as attached to the old system. Less resistance would be expected, especially if the new system's interface is easier for the casual user to understand and use effectively. Since the updated, web-based system will probably be welcomed by the travel agents, the most important aspect of the change management plan is training and on-line help.

1-324


Answers to Textbook Minicases 1.

All of these change requests deserve attention. Prioritizing them will be based on the scope and urgency of the tasks. The bug fix should probably be attended to first. The bug somehow slipped through the testing process, and only happens infrequently, but still should be corrected as quickly as possible now that it has been discovered. The second priority is probably the minor changes that the users have requested. It is not uncommon for users to find things they‟d like improved such as report formats and menus. Since these issues can be annoying to users and fixing them can dramatically improve users‟ opinions of the system, they should be dealt with quickly. The other two system requests represent projects with a greater scope than the others. The system interface issue should be dealt with in a timely way so that the Billing Department upgrade can proceed on schedule. This change request should be forwarded to the project manager from the client management development project, so that she can begin to design the interface changes. The addition of a new client type to the client management system may be a significant project in itself. It deserves to be treated as a separate project so that the change requirements to the system are thoroughly understood and correctly incorporated into the software. This change request also will be forwarded to the original project manager so that she can begin the Project Initiation work. Since the request is essentially a management directive, there is no need to evaluate the worthiness of the project.

2.a.

The target adopters of this system probably do not perceive that many benefits will accrue to them as a result of this system being implemented. They may perceive that the system has significant costs to them, such as more exact monitoring of their time. They may feel a loss of freedom and also may perceive a lack of trust on the part of management. They may have little understanding of how the information that is collected will be used, and are assuming that its use will be punitive rather than rewarding.

2.b.

An informational strategy is designed to convince the target adopters that the change is for the better. It may be that the target adopters were getting shortchanged on their pay with the old system, or that they were not getting the bonuses they deserved for the timely completion of the photo missions. If circumstances like this exist, then an informational strategy will serve to make them aware that their perceptions of costs and benefits were incorrect, and the value of the perceived benefits can be shown to exceed the perceived costs. This can help encourage adoption of the new system.

2.c.

A political strategy uses organizational power to motivate change. This approach is often used when the system provides clear benefits to the organization, but may not provide particular benefits to the target adopters. In these cases, the target adopters need other motivations to change. It may be possible for the owners of Sky View to develop some kind of linkage to rewards to help motivate change. For example, regular and correct use of the system will lead to more frequent work flying and shooting photo missions. The hangar staff could be rewarded with advancements in training or responsibility. If these negotiated strategies do not work, then coercion may be necessary. There is often a surplus of pilots, photographers, and people who want to work around airplanes, so the owners may simply insist on adoption of the system or face the loss of a job.

1-325


Supplemental Minicases 1.

Birdie Masters is a successful chain of golf schools located in the southwestern United States. The company has been developing a new system that will automate all of the schools operations, and is about ready to begin the installation of the new system. Currently, the school locations are being run with a rather jumbled combination of manual and automated record keeping, and the intent of this new system is to rationalize and standardize the record keeping and improve reporting and analysis capabilities. The system also has a web-based component that is used by school students to check on classes, enroll in classes and lessons, and monitor progress. Because the winter golf season is approaching, activity at the golf schools is expected to increase soon, and management would like to have the new system in place. Discuss the conversion options that Birdie Masters should consider. What is your recommended conversion strategy? Explain your choices. Answer: There are a few factors in this problem that suggest a conversion strategy. First, the fact that existing systems are not well established suggests that direct conversion is appropriate. This style will involve the least cost and the shortest time frame. However, to reduce the risk of this strategy, it may be advantageous to perform a pilot installation first and „shake down‟ the system in one location before introducing it at all locations. This will add a little time to the conversion timeline, but if the system is stabilized at the pilot location, then it can probably be simultaneously installed at all the other locations to speed up the conversion process. The two components of this system, the school operation system and the web-based customer system, are probably fairly independent from each other. The school operation system is probably higher priority than the web-based customer system, so it should be converted first, and then the web-based system can be brought on line.

2.

Frank, the IS department manager at the Kelso Company was brought in to the firm with a mandate to ―get the IS department shaped up.‖ Kelso management was dissatisfied with a number of aspects of the IS department. The staff seemed to try to do as little as possible to satisfy the users of the systems. The general attitude was that users were a bother and kept the IS staff from doing ‗important work.‘ Kelso management did not feel they were getting good value from the huge amount of money that was sunk into the IS budget every year. Frank was told, confidentially, that unless he could turn things around in the department over the next two years, management was prepared to outsource the entire IS department. One of the first tasks that Frank undertook was a review of Kelso‘s systems development methodology. One area that he was concerned about was the absence of any project assessment at the conclusion of a development project. Other parts of the methodology appeared sound, but the projects that had been undertaken over the previous five years were always late and over budget. It seemed to Frank that the same mistakes were being repeated over and over, and the development processes were not improving. He decided to mandate that project assessment be performed for all projects that had been completed in the last six months and for all future projects. a.

What is the goal of project assessment? How will it help an IS department like the one at the Kelso Company? Answer: The goal of project management is to understand what was successful about the system and the project activities and what needs to be improved. It sounds as if this company needs to learn from its experiences and not just keep repeating poor practices. Project assessment is important because it enables the team and the IS organization to learn from its experience, and hopefully improve future systems development projects through the benefit of that experience.

b.

Discuss the purpose and benefits of performing a project team review. Discuss the purpose and benefits of performing a system review.

1-326


Answer: The project team review summarizes performance by the team members. Its purpose is to help the team members better understand what was done well and what needs improvement. The system review looks back at the projected costs and benefits for the system, and assesses whether these costs and benefits have been achieved following implementation. Estimates of future project costs and benefits can be improved if the accuracy of each project‟s estimates is evaluated.

1-327


Experiential Exercises 1.

Purpose: to increase understanding of the organizational change process. Plan for a class discussion in which students will assume that your institution is planning a change in the method students use to register for classes. Have one group of students develop a list of ideas that will help to unfreeze student behavior. Have a second group of students develop a list of ideas on how to move the students to adopt the new system. Have a third group develop a list of ideas on how to refreeze the behavior into the new desired patterns. After working independently, bring the groups back together and discuss their ideas as a class. After each group has presented their ideas, ask the class to select the methods that will be most effective. Overall, how effect will their process be?

2.

Purpose: to increase understanding of the methods for motivating adoption of a change. This exercise focuses on a personal behavioral change rather than a work-related change, but should serve to distinguish between the informational strategy and the political strategy. Have the class assume that they are trying to persuade someone to stop a destructive behavior such as smoking or excessive drinking. Have one half of the class work together and employ the informational strategy, generating a list of reasons and evidence why this behavior change should be made. Have the other half of the class work together and employ the political strategy, generating a list of ideas for coercing or negotiating the desired behavior change. As a class, have each group summarize their ideas. In discussion, focus on the differences in ideas generated. Have the class discuss which approach they think would be more successful. Then have them discuss whether they think there would be differences if we were talking about changing work-related behavior rather than personal behavior.

3.

Purpose: to understand the cost-benefit analysis associated with change. This exercise is based upon a scenario of an organization that is changing its customer service support system from a terminal-based, command-driven system to a PC-based, GUI system. The current system is difficult to learn, but one learned is very powerful. Skilled users can answer customer questions quickly and efficiently. Clearly, the customer service representatives will have to change their work habits significantly to adopt this new system. Have half of your students develop a list of ideas for the likely benefits of the new system. Be sure they include both organizational and individual benefits. Then, have them develop a list of ways that the organization can increase the likelihood that these benefits will occur. Have the other half of the class develop a list of the costs associated with the new system. Be sure they include both organizational and individual costs. Then, have them develop a list of ways the organization can influence the perceived size and likelihood of these costs. In class discussion, have each group summarize their ideas. How successful would they be in convincing the customer service representatives that the expected costs are outweighed by the expected benefits?

4.

Purpose: to increase understanding of the system support function. Have students research the user support function that is implemented at your institution or at a local business. Have them prepare a report that summarizes the amount and type of on-line support that is available. Have them look into the help disk that has been established for the organization, and how it has been implemented. Also, have them determine how problem reports are handled. Have each student or student group report their findings back to the class, and compare and contrast the system support that has been implemented at each organization.

1-328


Chapter 13: Agile Development Methods Solutions to End of Chapter Questions 1. What was the Agile Manifesto? Why was it created? A group of software developers came together in 2001 to propose a new way of developing software ―by doing it and helping others do it.‖ This ended up being called the Agile Manifesto. The value statements of the Agile Manifesto are expanded upon in a set of twelve Agile Principles.

2. Summarize the value statements of the Agile Manifesto.    

Individuals and interactions over process and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

3. What are the key benefits organizations that adopt Agile methods report experiencing?        

Ability to manage changing priorities Business/IT alignment Project visibility Delivery speed/time to market Team morale Increased team productivity Project risk reduction Project predictability

4. Which Agile method is most widely used in practice? According to Figure 13-4, Scrum is used 58 percent of the time. The next highest is ScrumBan at 10 percent.

1-329


5. What is the development cycle called in Scrum? How much time does it take? How does this contribute to the success of Scrum projects? The development cycles in the Scrum development process are called sprints.

6. What element of Scrum compiles all the necessary features in the new software? The product owner is responsible for maximizing return on investment by identifying product features, translating these into a prioritized list, deciding which should be prioritized for the next Sprint, and continually refining the list.

7. What is the purpose of the product owner role in Scrum? How does this role contribute to the Scrum process? The person designated as product owner is typically a representative of the business area for which the system is being developed. The product owner is the ―holder of business value,‖ determining what needs to be done and setting priorities.

8. What is the purpose of the role of ScrumMaster in Scrum? Compare and contrast this role with that of a traditional project manager. The ScrumMaster monitors the team‘s progress and performance with an eye toward removing obstacles and impediments to progress.

9. What is meant by self-organizing teams? How does this characteristic contribute to the Scrum process? In Scrum, the development team is not told by others what they should be doing or how they should work. Instead, the team is free to organize itself as it sees fit and to take on and deliver chunks of work in frequent increments.

10. Explain the purpose and structure of a user story. Why is the user story an effective way to capture a feature of the new software?

11. What is an epic? What is the difference between an epic and an implementation size user story? A user story is a short, simple description of a feature that is told from the perspective of a person who desires the new or enhanced feature in the new system. First, we know the point of view of the person in the story. We also know what that user is trying to achieve or their goal in using the system. Finally, we know why the user has the need to achieve that goal, helping us to understand the importance of this user story.

12. User stories are sometimes compared to a “vacation photo.” Explain this comparison and why it is important in understanding the value of user stories. As you share the photo, you recall and talk about many aspects of the day that photo was taken: the train you took to arrive in Paris, the beautiful spring weather, interesting people you saw, foods you ate, how one of your friends became lost temporarily, and so on. That one photo triggers a lengthy conversation covering a wealth of details about your trip.

1-330


13. What is the hierarchy of user stories typically found in the product backlog? A large story, termed an epic, is one that may take many weeks or more to implement. On the other hand, an implementation size story will take days or less to implement. Most user stories begin as an epic and are then broken down into implementation size stories as they move through the product backlog.

14. What is the purpose of acceptance criteria? How do they contribute to a successful Scrum project? Acceptance criteria, or ―conditions of satisfaction‖ help the team understand the story and set expectations as to when the team can consider something ―done.‖ Acceptance criteria also help the team develop acceptance tests and provide documentation about the requirement.

15. What is the purpose of a story point? How is the assignment of story points to a user story determined? A feature of Scrum is the story point, which is used to measure the size of a story. A story point does not have a precise meaning. In practice, each team defines what a story point means to them.

16. What is the meaning of the term “team velocity”? How does this measure contribute to the Scrum process? The number of story points that a team can successfully complete during a sprint is termed the team velocity. Over time, teams develop their velocity history by monitoring the number of story points they committed to complete during a sprint and the actual number of story points completed in that sprint.

1-331


17. In what way does a Scrum team determine whether it is “done” with something? What are some typical components in the definition of “done”? Each team establishes for itself the agreed upon way it defines being ―done‖ with development of the user story solution. Although there is no standard list of elements in the definition of ―done,‖ it usually includes all these definitions: • Feature is complete • Code is complete • Fully tested • No known defects—fully documented

18. What is the purpose of the sprint planning meeting? What are its key inputs, parts, and outputs? In the sprint planning process, the team reviews the product backlog and selects the features it commits to completing during the upcoming sprint.

19. How does the Sprint Commitment differ from the Sprint Backlog in sprint planning? Based on the team velocity, the top four user stories (features) are selected for the Sprint Commitment.

20. What is the purpose of product backlog grooming? Who is involved with this activity? What exactly does it entail? This is a collaborative process involving the product owner, ScrumMaster, and team. During this process, the participants review the product backlog with the intent to refine and improve it.

21. What is the daily standup in Scrum? Why is this meeting held? Who is involved? What does it contribute to the team? The daily standup is not a status reporting or a problem-solving meeting. Its purpose is to allow each team member, in turn, to state what he or she completed yesterday, commit to today‘s tasks, and identify any roadblocks.

1. What did I do yesterday? 2. What will I do today? 3. Is anything in my way?

1-332


22. What is the Sprint Review in Scrum? Why is this meeting held? Who is involved? What does it contribute to the project? The Sprint Review (or Demo) meeting occurs at the end of the sprint. Since the goal of the sprint is to produce functional software, this meeting allows the team to present and demonstrate what it accomplished during the sprint. These are informal meetings involving demonstrations and walkthroughs of the completed software.

23. What is the Sprint Retrospective in Scrum? Why is this meeting held? Who is involved? What does it contribute to the team? The Sprint Retrospective meeting occurs at the conclusion of a Sprint. This meeting‘s purpose is for the team to celebrate its success and accomplishments in the previous sprint. The entire team participates. This meeting is not just a party, however, because it also embodies the spirit of continuous improvement. The team discusses the processes that it used in the sprint and identifies areas (if any) where the team‘s work processes need to be revised or the process implementation needs improving.

24. How do projects end in Scrum? If at any point the product owner determines that the remaining features in the product backlog have little value, then the project should be terminated. From a practical standpoint, the project sometimes must be terminated because the project budget is exhausted. In other cases, the organization determines that the team needs to be reassigned to a different, higher value project and the project is ended.

25. What are the main characteristics of the Crystal Development Methodology?      

Teamwork is essential to Crystal. Communication is considered the most critical aspect of the project. Simplicity is stressed. Reflection is incorporated. Frequent adjustments are expected. Process improvements are performed continuously.

26. What are the main characteristics of the Dynamic Systems Development Methodology?    

Feasibility and business study Functional model/prototype iteration Design and build iteration Implementation

1-333


27. What are the main characteristics of Feature Driven Development? 1. Develop an overall model 2. Build a features list 3. Plan by feature 4. Design by feature 5. Build by feature

28. What are the main characteristics of Lean Software Development? 1. Eliminate everything that is not necessary for completing the project. 2. Build quality into the product from the outset. 3. Improve team knowledge about the project. 4. Commit to rapid development. 5. Plan for fast product delivery. 6. Treat all team members and stakeholders with respect. 7. Optimize the value of the project as a whole.

29. What are the main barriers to adoption of Agile methods reported by organizations? How do these barriers impede Agile adoption? • General organizational resistance to change. • Not enough leadership participation. • Inconsistent processes and practices across teams. • Organizational culture at odds with Agile values. • Inadequate management support and sponsorship. • Lack of skills/experience with Agile methods.

1-334


Solutions to End of Chapter Exercises A. Review Minicase 4 at the end of Chapter 4. Develop a complete set of epic user stories for the situation described in this minicase. The minicase is about Williams Specialty Company is a small printing and engraving organization. The epic user stories developed by the students will vary. The main issue of the case is the need for software to keep track of many of the company‘s sophisticated deals and arrangements with its customers so expect some version related to this.

B. Select one of the epic user stories you developed in Exercise A that you believe has high value to the organization. Break this user story into implementation size user stories. Student answers will vary. They might, for example, discuss how the firm is struggling to handle each of its customers appropriately given their unique situation. They might also discuss how the lack of sophistication in the existing software is making it difficult to attract new customers.

C. Select two of the implementation size user stories you developed in Exercise B. Develop a set of acceptance criteria for each of these user stories. Student answers will vary. They might, for example, discuss how the firm lost a potential customer due to their inability to incorporate some feature into the relationship due to the software. They might also discuss how a competitor outbid them due to their antiquated software. For the first, possible acceptance criteria might include…

  

Ability to include unique discount schedules for each customer. Ability to set up custom delivery schedules for each customers. Ability to set up custom payment schedules for each customer.

1-335


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.