COMPUTER CONCEPTS 4E: CHAPTER 13 Chapter 13 Developing Effective Information Systems At a Glance Instructor’s Notes Chapter Overview Chapter Outline Technical Notes Materials Needed Lecture Notes Key Terms Systems Analysis System Design System Construction Implementation Strategies System Maintenance User Focus: Using Data Flow Diagrams Issue: Are the Inmates Running the Asylum? Solutions Solutions to Review Activities Solutions to Study Tips Suggested Solutions to Projects (with Teaching Tips) Suggested Solutions to Additional Projects Solutions to Course Lab Assignments 13-1 13-2 COMPUTER CONCEPTS 4E: CHAPTER 13 Instructor’s Notes Chapter Overview In this chapter your students will learn about the system development life cycle; the personnel involved in designing and maintaining information systems, how the PIECES framework can help identify problems in an information system, and the role of data flow diagrams, data dictionaries, and process specifications. Students will also learn the difference between system requirements and application specifications, between request for proposal and request for quotation, and between unit testing, integration testing, system testing, and acceptance testing. Finally, students will learn the advantages and disadvantages of various conversion methods when switching to a new information system. Chapter Outline Lecture Topics Page # Material Covered Systems Analysis 574 System Design 582 System Construction 587 Implementation Strategies 591 System Maintenance User Focus: Using Data Flow Diagrams 594 596 Issue: Are the Inmates Running the Asylum? 600 Analyze needs; select the project team; define the problem; study the current system; determine system requirements Identify potential solutions; evaluate solutions and select the best; purchase hardware and software; develop application specifications Install hardware and software; create applications; test applications Train users; convert data; convert to new system; acceptance testing Maintenance activities; the help desk DFD symbols; interpreting a DFD; accuracy and completeness User-friendly design; computer software literacy Technical Notes Materials Needed Windows 95 or Windows 98 installed on the lab computers. The best way to ensure that you have all the program files needed for the chapters is to use the Complete Setup option from the install program. Internet access. Note that some of the end-of-chapter Projects are labeled as Internet Optional or Internet Required. Students who do not have access to the Internet will not be able to complete the Internet Required assignments, but will be able to complete the Internet Optional ones. Course Labs Software. Online interactive Course Labs that introduce basic computer concepts are included on the CD-ROM in your Instructor’s Resource Kit. See “Using the Course Labs” in the front matter of this Instructor’s Manual for information on installing and using the Course Labs. COMPUTER CONCEPTS 4E: CHAPTER 13 13-3 Lecture Notes Key Terms 4GL (Fourth Generation Language) (582): A programming language that contains built-in commands for tasks such as sorting data and creating columnar reports. Acceptance testing (593): Assures the purchaser or user of the new system that the system does what it is supposed to do. Application development tool (582): A type of software construction kit that contains building blocks you can assemble into a software product. Application specifications (586): Describe the way an application should interface with the user, store data, process data, and format reports. Application testing (589): The process of trying out various sequences of input. Black hole (599): A process in a data flow diagram that has no output. CASE tool (580): Software that is designed for summarizing system requirements, diagramming current and proposed information systems, scheduling development tasks, preparing documentation, and developing computer programs. Chief information officer (CIO) (575): Heads the information systems department. Component object (582): Pre-programmed module that a programmer can insert into a program. Conversion software (591): Written by a computer programmer to read the old data and convert it into a format that is usable by the new system. Data dictionary (579): Documents detailed descriptions of the data that flows through an information system and data that is stored by that system. Data flow diagram (DFD) (578): Graphically illustrates how data moves through an information system. Data flows (578): Arrows that indicate how data travels from entities to processes and data stores. Data store (578): An open-ended rectangle in a data flow diagram. Direct conversion (592): When the old system is completely deactivated and the new system is immediately activated. External entity (578): A square box in a data flow diagram. Help desk (595): A group of technicians with in-depth training in specific areas (such as word processing, spreadsheet, database, etc.) which responds to end user problems. Information systems department (575): The wing of a business or organization responsible for developing and maintaining the computers, data, and programs for an information system. Integration testing (589): Testing that determines whether the individually tested modules operate correctly when placed together. Knowledge engineering (588): The process of designing, entering, and testing the rules in an expert system. Miracle (599): A process in a data flow diagram that has no input. Parallel conversion (592): When both the old and the new systems operate in parallel until it can be determined that the new system is performing correctly. Phased conversion (592): When one module of the new information system is activated at a time. PIECES framework (577): Designed by James Wetherbe, helps identify problems in an information system. Pilot conversion (592): When the new system is activated at only one branch of an organization until it is determined that it works correctly. 13-4 COMPUTER CONCEPTS 4E: CHAPTER 13 Problem statement (577): A statement of the task that needs to be accomplished. Procedure handbooks (591): Step by step instructions for performing a specific task. Process (578): Manual or computerized routine that changes data. Process specification (579): A formal statement stipulating what happens to data within a process. Programming (588): Writing a program (instructions to a computer) in a programming language or using applications software to solve a given problem. Prototype (581): An experimental version of an information system; usually includes a visual display of the respective screens so that the customer can gain a "feel" for what the final product will look like and how it will work. Request for proposal (RFP) (584): A document sent to vendors that describes the problem and the requirements for solution. Request for quotation (RFQ) (585): A request for a formal price quotation on a list of hardware and software. Software customization (588): The process of modifying a commercial application to reflect the needs of the user. Software engineering (588): The process of creating applications or programs for an information system using a programming language or application development tool. Structured English (579): A variation on standard English that limits the words you can use to those defined in the data dictionary and to specific logical terms. Success factors (581): System requirements that also serve as an evaluation checklist at the end of the development project. System conversion (592): The process of deactivating the old system and activating the new one. System development life cycle (SDLC) (574): An outline of the process that helps develop successful information systems. System development project team (576): A group of people who are assigned to analyze and develop an information system. System operator (594): Performs system backups and data recovery, monitors system utilization loads, and troubleshoots operational problems. System requirements (581): The criteria for successfully solving the identified problem(s). System testing (589): Ensures that all the hardware and software components of a new information system work together. Systems analysis and design (574): The process of planning and building an information system. Systems analysts (575): Computer professionals who analyze information requirements, design a new information system, and supervise the new system implementation. Systems programmer (594): The operating system guru, usually for a mainframe or mini-computer information system. Test area (589): A place where software testing can occur without disrupting the organization’s regular information system. Unit testing (589): Testing that assures an application module operates reliably and correctly. Systems Analysis The system development life cycle (SDLC) usually begins with an analysis of needs by the project team. The team begins by defining the problem which they seek to solve. The PIECES acronym, described in Figure 13-4, is a useful tool in identifying specific problems within an information system. Consider using the following example, and students to classify the portion of PIECES under which the problem falls: When employees submit reimbursement for travel expenses, they must send a form to the department head for approval, then the form is forwarded to accounts payable, and finally to payroll where it is entered into the computer for payment in the next pay period. Employees sometimes wait for two months while the form goes to each office. (Performance — processing takes too long) COMPUTER CONCEPTS 4E: CHAPTER 13 13-5 During registration week, a list of full courses is printed every other day so students have difficulty planning their schedules. (Information is not up-to-date) When a credit card holder charges less than $20, the credit card company loses money because it earns 60 cents, but it costs the credit card company 90 cents in phone charges and employee time. (Economics — costs too much to process a transaction) When students register late for a class they first must go to the scheduling office to find out if there is space in the class. If space is available, the student must get the instructor’s signature, then return to the scheduling office to officially add the class. (Control — the employees in the scheduling office do not have authority to add students) People applying for driver’s licenses in some U.S. territories are frustrated because they have to wait in line to purchase the form, then they must fill out the form and take it to another line to get it stamped and make an appointment to take the driver’s test. (Efficiency — too many lines, people, and time required to process a driver’s license application) Once the problem has been defined, the project team must study the current system to determine which elements are essential to a new or modified information system. The analyst studies the documentation that is available and creates further documentation as necessary. Use Figures 13-5, 136, and 13-7 to review the types of documentation used by the systems analyst. Additional information about data flow diagrams (DFDs) is in the User Focus section of the chapter. Finally, the project team must list system requirements that define the characteristics of a successful new information system. To determine system requirements, the analyst might create a prototype. You might want to expand on the prototyping concept because it is becoming more popular — objectoriented and visual languages as well as CASE tools simplify the prototyping process. Tip: Students understand the purpose and importance of system requirements if it is explained that they can serve as a checklist for success. To be successful, the new system should meet or exceed all the requirements. Related Assignments: Project: 3 System Design This section combines the general and detailed design phases because it is often difficult for beginning students to grasp the difference between these two stages. If your students are already familiar with system design, you may wish to point out this distinction to them. In the design phase of the SDLC, the project team identifies potential solutions, then selects the best of those solutions. You might emphasize that the selection process takes into consideration the costs and benefits of each potential solution. You might also want to talk about one of the major decisions that must be made in the design phase: whether to build custom software or buy commercial software. Once a solution has been found and management has approved the decision, hardware and development tools (software) can be purchased. This step is sometimes included in the construction phase, but we have placed it in the design phase because detailed specifications cannot be determined until the hardware and software are known. The final step in the system design phase is to develop application specifications. Tip: You can help your students understand the difference between system requirements and application specifications by using an analogy. When an architect designs a house, she finds out what the family needs (i.e., play space for young children, a home office, etc.). This is analogous to 13-6 COMPUTER CONCEPTS 4E: CHAPTER 13 the system requirements — if these requirements are met, the family should be happy with their new home. These requirements, however, are not an appropriate plan for the construction workers who build the home, so the architect must also create detailed blueprints showing dimensions, electrical and plumbing plans, exterior elevations, etc. These detailed blueprints are analogous to application specifications. Related Assignments: Projects: 1, 2, 3, 4 System Construction In the construction phase, the hardware and software are installed, and then applications are created (or customized) and tested. If applications are to be customized, the appropriate technique must be chosen. Refer students to the chart in Figure 13-13 for a detailed description of the techniques used with different tools. Consider giving students examples of common applications, and the tools and techniques best suited to each one. Once a system has been constructed, it must be tested to ensure its proper functioning. Your students may need additional discussion of the different types of testing. Application testing is an umbrella term that encompasses three other types of testing: unit, integration, and system. A unit test checks a single module. Integration testing ensures that modules interact correctly. System testing ensures that all hardware and software components (and perhaps procedures and data) work correctly. Unit, integration, and system testing all occur in the construction phase. Related Assignments: Course Lab: System Testing Implementation Strategies In the implementation phase users are trained, data is converted, and processing shifts to the new system. One of the most common tools used to train users is the procedure handbook, a reference guide to system functions. If you have examples of procedure handbooks, allow your students to view them. Discuss the different sections, and the information covered. Have students evaluate the layout of the manual. Which sections are most helpful to a first-time user? Which layouts are most user-friendly? Are there any design alterations that would make the handbook more helpful to users? There are a number of common ways to convert data from one system to another. Students usually do not find it difficult to envision the different types of conversions: direct, parallel, phased, and pilot. What is difficult to convey is the amount of planning and risk that accompanies a system conversion. You may wish to recount your experiences with large system conversions to convey the enormity of the task to your students. As discussed in the previous section, most testing occurs during the system construction phase. Acceptance testing, however, occurs in the final phases of system conversion, either at the end of construction or during implementation. Acceptance testing assures that the new system is operating reliably and without errors. System Maintenance Once a new system is in place, system maintenance is ongoing. Students may be surprised to learn that 80% of an information system department budget is spent on costs related to system maintenance. You may want to add that in most IS departments, entry level positions are usually assigned COMPUTER CONCEPTS 4E: CHAPTER 13 13-7 maintenance duties: modifying code to add features, fixing bugs, and optimizing modules that require enhanced performance. If your school has one or more staff members assigned to technical support, consider having someone speak to the class about the specifics of his or her job. If not, you may wish to ask a system operator from a local business to speak to the class. User Focus: Using Data Flow Diagrams Data flow diagrams (DFDs) are one of the analyst’s main tools, used to “sketch” out what happens to data in an information system. End users who understand DFDs can much more easily communicate with analysts to discuss their information system needs. Tip: When you present DFDs, the first thing to emphasize is that they are NOT flow charts. Several of your students are likely to have worked with flow charts and will assume that DFDs are the same. Point out that DFDs focus on data, whereas flow charts focus on processes. To give a lecture on DFDs you might follow this outline: First show an example, such as the DFD in Figure 13-18, and point out that this type of diagram shows what happens to data in an information system. Explain the symbols used on DFDs as shown in Figure 13-19. Walk through a DFD to show what it tells us about an information system. Figure 13-20 is labeled with the main points of a walkthrough. When discussing accuracy of DFDs, consider asking students to identify which sections of the DFD shown in Figure 13-20 would have to be missing in order to produce a black hole or a miracle. Related Assignments: Project: 6 Issue: Are the Inmates Running the Asylum? Ask students to think of a time when they were frustrated by the way a program or operating system was functioning. Ask them to recall how they solved their problem. Did they make use of a help desk, user manual, or solve the problem on their own? Once students have shared their answers, ask them to come up with changes in the program or operating system that would have made the solution to their problem more obvious. Make a list of design changes suggested by the students. How feasible do they think their suggested modifications are? Ruling out those suggestions which seem the least reasonable, have the class decide on a list of the top five modifications they think should be made to the design and function of computer systems. 13-8 COMPUTER CONCEPTS 4E: CHAPTER 13 Solutions Solutions to Review Activities Interactive Summary The process of planning and building information systems is referred to as systems analysis and design. Several methodologies exist for this process. The one that you will use will depend on the type of system that you are constructing. In general, however, system development follows a system development life cycle (SDLC), which consists of a number of steps, or “phases.” The first phase of the SDLC is to analyze needs. Typically, this task is performed by a project team, which interviews users, studies the current system, devises a(n) problem statement, and determines system requirements (also called success factors). In the design phase of the SDLC, the project team identifies potential solutions, evaluates those solutions, and then selects the best one. The solution is then refined into a series of application specifications that describe the way that the new information system should interact with the user, store data, process data, and format reports. To find the right hardware and software to implement the solution, the project team might send out a request for proposal, asking vendors to recommend a solution and specify hardware and software requirements. As an alternative, when team members know exactly what hardware and software they need for the solution, they can send out a request for quotation that simply asks for vendor prices. During the construction phase of the SDLC, the project team supervises the technicians who set up new hardware, install programming languages and other application development tools, create and test applications, and customize software. In this phase, three types of testing help ensure that new software works correctly. Unit testing is performed on each module, then integration testing is performed to make sure that all of the modules work together correctly. System testing ensures that all of the hardware and software components work together. In the implementation phase of the SDLC, data is converted from the old system to the new one, users are trained, and the new system goes live. During this phase, the information system undergoes a final test called acceptance testing, designed to assure the system’s owner that the new system works as specified. After installation, an information system enters the maintenance phase of its life cycle. During this phase, a(n) system operator typically performs backups, monitors system utilization, and troubleshoots operational problems. As users discover bugs, programmers must fix them. Ongoing user support from a help desk might also be required. Interactive Quizzes 1. 2. 3. 4. 5. 6. 7. Analysts Performance Structured CASE False Direct Maintenance 1. 2. 3. 4. 5. Data Flow Diagram (DFD) Three Customer Flow Store COMPUTER CONCEPTS 4E: CHAPTER 13 13-9 Solutions to Study Tips Tip: Study Tips are designed for student self-study. We provide answers here in case your students have questions about the review. 1. The system development life cycle consists of five phases: 1. Analyzing needs: select project team, identify problem, study current system, determine requirements 2. Designing the new system: identify potential solutions, evaluate solutions and select the best, purchase hardware and software, develop applications specifications 3. Constructing the new system: install hardware and software, create applications, test applications 4. Implementing the new system: train users, convert data, convert to new system, acceptance testing 5. Maintaining the new system: follow daily backup procedures, monitor system performance, identify and fix problems, modify system to meet changing needs 2. a. b. c. d. e. 3. Students should create a table similar to the following: Problem Solution Problem Solution Problem Unit Testing Integration Testing System Testing Acceptance Testing Purpose of the Test/ What Is Tested Ensures that each application unit operates reliably and correctly Ensures that application units operate correctly together Ensures that all hardware and software components work together Ensure that new system performs according to specifications Phase of the SDLC Construction phase Construction phase Construction phase Implementation phase 4. a. b. c. d. Control (There are no controls over who uses the system and for what purpose) Service (Customers are not getting prompt service) Performance (The system does not respond quickly) Efficiency (The process of routing and entering information takes too much time and too many people) 5. Students should submit a DFD of the mail-sorting system, where each item is sorted according to its address. 13-10 COMPUTER CONCEPTS 4E: CHAPTER 13 Suggested Solutions to Projects (with Teaching Tips) 1. This question calls for a subjective answer, based on a reasonable assessment of the problem and potential solutions. Here are some of the factors your students might include in their responses. Option a, better bar code labels, is relatively inexpensive and may be practical. Option b, modifying the system, is likely to be expensive and may not be financially feasible. Option c, printing weekly price lists and placing them at each register, is also relatively inexpensive and practical. Option d, hiring more workers, is expensive and might not be financially feasible. Your students also have the option of responding that more information was necessary. Your students might wonder if bar code labels are falling off of any particular items, e.g., tool handles, bags of potting soil, etc. If labels are falling off only a few items, then solution c might be most practical. Your students might also wonder how difficult it would be to modify the system for solution b. It might be very difficult to modify the program code for a commercial package, less difficult if the software was written in-house, and some commercial software might have a built-in feature to do on-line price checks. Tip: Initiate a small-group or in-class discussion. Which solution did most students pick and why? 2. a. Students’ answers should be similar to the following problem statement: The current procedures are not efficient for calculating the total number of subscribers each month and indicating whether the total number of annual subscribers increased or decreased. b. Students’ answers will vary, but two possible solutions include: (1) Modify the current IS system to calculate totals and produce the line chart. (2) Have Jennifer calculate the total number of subscribers less frequently, for example, every two or three months. c. Students should choose the solution that would improve the efficiency of the current IS system. 3. Students should search the Web for an actual request for proposal and then write a brief summary of the proposal that indicates the following: a. The URL of the proposal b. The organization that submitted the proposal c. A brief summary of the problem the organization is trying to solve Tip: If students don’t have access to the Internet, you want to obtain several examples of a RFP, and place them on reserve at the library. Assign specific RFPs to teams of students, and then have each team present their findings to the class. Have students compare the RFPs of each team. 4. Students should submit a one-page RFP that asks vendors for a solution to the CD inventory problem. Remind students that the RFP should describe the problem and the requirements for the solution. They can use the RFP in Figure 13-10 as a model. You might use the following grading criteria: Completeness Organization Clarity Style (i.e., proposal) Spelling and grammar 5. Students should research three CASE tools, using the Web and computer trade journals, and then submit a report in the form of a memo, which includes the following information: Name, manufacturer, and price of each CASE tool Short description of each CASE tool’s purpose and features COMPUTER CONCEPTS 4E: CHAPTER 13 13-11 You might use the following grading criteria: Completeness Organization Clarity Style (i.e., memo to supervisor) Spelling and grammar Use of resources and bibliography format Tip: Divide the class into teams of three students. Have each student research one CASE tool, then have the team assemble the information, prepare the memo, and present their findings to the class. 6. Students should submit a one-page description of the notebook purchase order process depicted in the data flow diagram, including the following points: The employee would submit a purchase requisition for the notebook computer Once the requisition was approved, it would be logged so the employee could check the status and know it was approved A purchase order is generated and sent to a vendor. A copy of the purchase order is stored so the employee can find out the date it was ordered, the purchase order number, etc. (in case the notebook doesn’t arrive as expected and he needs to track the order) Information for the purchase order (vendor address) is obtained from the vendor database An employee could also look in the Inventory data base to see if the notebook computer had been ordered Additional Projects and Suggested Solutions Please note: these additional projects are available to your student at www.cciw.com/np4 Systems Analysis Methodologies The SDLC provides a general outline that can be used as a basis for analyzing and developing information systems, however, it does not provide a specific process for doing so. For specific instructions on how to carry out analysis and development tasks, a systems analyst would use one or more specific methodologies, such as the popular Joint Application Design (JAD). What so special about JAD? How does it work? For this project, locate information about JAD. Write a brief paper describing how it works. In the last section of the paper, discuss your thoughts on whether JAD would be effective in a real-world situation. Solution: This project is suitable for students who intend to major in computer information systems. Students should submit a paper about Joint Application Design (JAD) that includes a description of the JAD methodology and some of the student’s own evaluation of its potential effectiveness. Instructors who want a good summary of the topic before grading this project should connect to http://www.cpsc.ucalgary.ca/~pand/seng/613/report.html to read the paper, Joint Application Development and Participatory Design by Adrian Damian, Danfeng Hong, Holly Li, Dong Pan, which includes this excerpt: “Joint Application Development (JAD) was originated in IBM in the late 1970's. Traditionally, JAD has been a joint venture between users and data processing professionals. In recent years, it has become a joint venture among any people who need to make decisions affecting multiple areas of an organization. It is a structured workshop (usually called JAD session) where people come together to plan projects, design systems, or make business decisions. Each JAD session has a detailed agenda, visual aids, a facilitator who moderates the session, and a scribe who records the agreed-upon requirements. A final document containing all the decisions made by the group is generated after each session.” Information Systems Department Careers What would it be like to work in an information systems department? What kinds of jobs are available? What are the opportunities for advancement? Who are your co-workers? Who is your boss? What are typical starting salaries? For this project, gather information about careers in information systems. 13-12 COMPUTER CONCEPTS 4E: CHAPTER 13 Create an organizational chart of a typical information systems department with 10 employees. Write a one-paragraph job description for each of the positions on the chart that includes job duties and starting salary. Solution: Students will obtain best results for this project if they work in small groups and collect information by interviewing IS department managers and personnel. The project is much less beneficial if students use only Web resources to find information. Students should submit a paper that describes the working environment of an information systems department. The papers should include the following: Organizational chart of a typical IS department Job descriptions for each position on the chart General information on working conditions Solutions to Course Lab Assignments Tip: Most students feel more comfortable about Course Lab assignments if they receive a structured orientation to the computer lab. You should, therefore, plan to take your students into the computer lab sometime during the first week of class and walk them through the basic steps to turn on the computer, locate the New Perspectives icon, and launch the New Perspectives Course Labs. You might begin with the Course Lab “Using the Keyboard.” While students are in the lab you might also want to discuss lab procedures and rules, and introduce one or more of the lab monitors. Tip: Most New Perspectives Course Labs do not require students to use a data disk. However, in later chapters, students can save their work as an option. System Testing Course Lab Tip: This Course Lab realistically simulates a test area in which students determine if an information system is correctly processing data. For your information, there are two intentional errors in the way the system operates. (1) Orders for item #3003 are not processed correctly — the system instead orders item #5025. (2) When an item is available from more than one outlet and the shipping cost and time are the same, the system does not correctly order from the outlet with the most in stock. Tip: This lab is fairly high-level and requires students to think logically. Before you assign the Course Lab, make sure your students understand how data gets processed at A&L. You can use Figure 13-19 to discuss the processes. 1. Answers to Quick Checks (students should also submit a printout of the Summary Report): The A&L expert system check the inventory (inventories, stock) at each outlet and the shipping information to determine the best source for each order. If an item is not in stock in any location, the system should route the picking ticket to the special procurement agent. True or false? True The system correctly process orders for all inventory items. True or false? False COMPUTER CONCEPTS 4E: CHAPTER 13 13-13 An order for item #3003 to be shipped from Telluride was processed correctly by the system. True or false? False 2. The system processes all orders correctly except for orders for part # 3003, which the system erroneously selects item #5025. 3. Students can devise different test plans, but everything should work correctly for this test, except orders for item 3003. Here is a sample test: Item #3001 (Item is in stock everywhere but at the Ship to outlet) Ship to: Tel Guat Lima Gen Kat Des Ship Guat Tel Tel Kat Des Kat from: OK OK OK OK OK OK Tip: Ask your students to submit a chart of their test plans. 4. The system processes the order correctly. The test showed that when an item needed in Geneva is in stock in Telluride ($26, 2 days) and Guatemala City ($26, 3 days), the system correctly selects Telluride because the shipping time is faster. 5. No, the system does not process this order correctly. The test showed that when an item needed in Katmandu is in stock in Telluride ($38, 4 days, 2 in stock) and Guatemala City ($38, 4 days, 5 in stock) the system erroneously selects Telluride. The system should select Guatemala City because there are more of the item in stock.