Using MIS 2e Chapter 10 Systems Development

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

Using MIS 2e Chapter 10: Managing Development David Kroenke
MIS 2000 Class 20 System Development Process Updated 2014.
Ch 3 System Development Environment
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
© 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Chapter 6 Prototyping, RAD, and Extreme Programming
Chapter 1 Assuming the Role of the Systems Analyst
Systems Analysis and Design Kendall & Kendall Sixth Edition
Chapter Extension 17 Small-Scale Systems Development © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
Unit Five – Transforming Organizations
Chapter 6 Systems Development.
Fundamentals of Information Systems, Second Edition
Chapter 1 Assuming the Role of the Systems Analyst
Introduction to Management Information Systems Chapter 6 System Development HTM 304 Spring 06.
1 Chapter 6 Systems Development. 2 Learning Objectives  Know the characteristics of systems development.  Understand what professional systems analysts.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Introduction to Systems Analysis and Design
CHAPTER 19 Building Software.
Chapter 1 The Systems Development Environment
Introduction to Computer Technology
Chapter 1 The Systems Development Environment
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Chapter 2: Approaches to System Development
Chapter 1 The Systems Development Environment
Describing Methodologies PART II Rapid Application Development*
Computers Are Your Future Eleventh Edition Chapter 13: Systems Analysis & Design Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
System Analysis and Design
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Chapter 14 Information System Development
Chapter Extension 18 Large-Scale Systems Development © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
Information Systems Technology Ross Malaga "Part III - Building and Managing Information Systems" III 11 Copyright © 2005 Prentice Hall, Inc MANAGING.
© 2007 Prentice Hall, Inc.1 Using Management Information Systems David Kroenke Systems Development Chapter 6.
1 Management Information Systems Information Systems Development Chapter 10.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Computers Are Your Future Tenth Edition Chapter 13: Systems Analysis & Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
The Systems Development Environment Systems Analysis and Design II.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Development Processes Chapter Study Questions Q1: How are business processes, IS, and applications developed? Q2: How do organizations use business.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Software Design and Development Development Methodoligies Computing Science.
Chapter 1 Assuming the Role of the Systems Analyst.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Software Development.
Information Systems Development
Chapter 1: Introduction to Systems Analysis and Design
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Chapter 1: Introduction to Systems Analysis and Design
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Using MIS 2e Chapter 10 Systems Development David Kroenke © Pearson Prentice Hall 2009

Q1 – What is systems development? Study Questions Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q1 – What is systems development? The process of creating and maintaining information systems is called systems development or systems analysis and design. This diagram shows that it involves all five components of an information system. In addition to technical knowledge, it requires business knowledge and management skill. Fig 10-1 Systems Development vs. Program Development © Pearson Prentice Hall 2009

Q1 – What is systems development? While you may be able to purchase an off-the-shelf software program, you won’t be able to do that with information systems. Here are some of the reasons why: You must construct or adapt procedures to fit the business and the people who will be using the system. You can’t buy procedures. People must be trained to use the information system effectively. You can’t buy that. Users must take ownership of their system. That’s the single most important criterion for the success of an information system. Information system maintenance involves two things: Fixing a system to make it do what it should have done in the first place, or Adapting it to changing requirements. © Pearson Prentice Hall 2009

Q2 – Why is systems development difficult and risky? Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q2 – Why is systems development difficult and risky? Many system development projects are never finished. If they are finished, some are 200 or 300 percent over budget. Some projects never satisfactorily accomplish their goals. Here are some of the challenges you might face in a system development project: It’s very difficult to determine the requirements of a system which include data, procedures, communications, and processing requirements. The requirements are always changing, even as the system is being developed. The bigger the system, the longer the project, the more requirements change. Scheduling and budgeting are difficult to determine. In order to forecast labor costs, you must forecast labor hours. Technology will change throughout the system development process. Should you stop the project and incorporate new technology or continue on without it? As development teams become larger, the average contribution per worker decreases and causes diseconomies of scale. According to Brook’s Law, adding more people to a late project only makes the project later. © Pearson Prentice Hall 2009

Q2 – Why is systems development difficult and risky? Is systems development really so bleak? The answer is yes and no. These are four system development processes that help make projects more likely to succeed. Systems development life cycle (SDLC) Rapid application development (RAD) Object-oriented systems development (OOD) Extreme programming (XP) Each of these development methods offer advantages based on the scope and complexity of the system being built. No single process works for all projects because the scale of systems varies widely and different processes are appropriate for different types of systems. © Pearson Prentice Hall 2009

Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q3 – How do businesses use the systems development life cycle (SDLC) process? The classical systems development life cycle (SDLC) process includes five phases as this diagram points out: System definition Requirements analysis Component design Implementation System maintenance (fix or enhance) Fig 10-2 Phases in the SDLC © Pearson Prentice Hall 2009

Phase One: System Definition Q3 – How do businesses use the systems development life cycle (SDLC) process? Phase One: System Definition Once the business-planning process determines the need for a new system, there are four steps to defining the system: Define the system’s goals and scope. Will you use it to facilitate collaboration, aid in decision-making, problem-solving, or project management, or help the organization gain a competitive advantage? Assess the feasibility of the project using four criteria: cost, schedule, technical, and organizational. Form a project team that includes systems analysts and users. Prepare a project plan. Fig 10-3 SDLC: System Definition Phase © Pearson Prentice Hall 2009

Phase Two: Requirements Analysis Q3 – How do businesses use the systems development life cycle (SDLC) process? Phase Two: Requirements Analysis The most important phase in the SDLC process is to determine system requirements. If the requirements are wrong, the system will be wrong. Seven activities occur in this phase as the diagram shows. Users are a critical part of this phase. They must approve the requirements before moving to the next phase. Fig 10-4 SDLC: Requirements Analysis Phase © Pearson Prentice Hall 2009

Phase Three: Component Design Q3 – How do businesses use the systems development life cycle (SDLC) process? Phase Three: Component Design All five components require attention in the design phase: Hardware—Determine the specifications and evaluate alternatives against the requirements. Programs—Decide whether to use off-the-shelf software, off-the-shelf with alterations, or custom-developed software. Database—Convert the data model to a database design. Procedures—Design procedures for users, operations personnel, and for normal, backup, and failure recovery tasks. People—Design job descriptions for users and operations personnel. You may have to add new jobs or alter existing jobs. Fig 10-5 SDLC: Component Design Phase © Pearson Prentice Hall 2009

Q3 – How do businesses use the systems development life cycle (SDLC) process? Teams of systems analysts and key users should design procedures that outline normal processing, backup, and failure recovery operations for both users and operations personnel. Fig 10-6 Procedures to Be Designed © Pearson Prentice Hall 2009

Phase Four: Implementation Q3 – How do businesses use the systems development life cycle (SDLC) process? Phase Four: Implementation Focuses on implementing the system and includes the tasks of building each of the five system components testing the system and converting users to the new system. Fig 10-7 SDLC: Implementation Phase © Pearson Prentice Hall 2009

Q3 – How do businesses use the systems development life cycle (SDLC) process? System testing begins by creating a test plan that spells out what actions users will take when using the new system. It includes testing normal actions and incorrect actions. Every line of program code should be executed to test error messages. Product quality assurance (PQA) personnel can construct a test plan with user advice and assistance. They can perform some of the testing and supervise users as they test the system. Users must be part of the test team and help develop test plans and test cases. Users must have the final say. Beta testing allows future system users to try the new system on their own in the last stage of testing. © Pearson Prentice Hall 2009

There are four methods you can use to convert to a new system. Q3 – How do businesses use the systems development life cycle (SDLC) process? There are four methods you can use to convert to a new system. Pilot—Implement the entire system on a limited portion of the business. Failures are contained within a limited boundary. It reduces the exposure of the business. It protects the new system from developing a negative reputation. Phased—Install it in phases across the organization. Only a portion of the system is installed at a time. Once it works, another portion is installed. Tightly integrated systems cannot use this method. © Pearson Prentice Hall 2009

Q3 – How do businesses use the systems development life cycle (SDLC) process? Parallel—The new system runs in parallel with the old system until the new one is tested and fully operational. It’s very expensive to use this method because you must operate two systems at the same time. Users’ work doubles because they must use both systems for all their tasks. Considerable work is required to determine if the results of both systems match each other. Plunge (direct)—The old system is shut off one day and the new system is turned on the next day. If the new system fails, the organization is in trouble. This is an extremely risky conversion method because you’re putting a lot of faith in the new system working correctly the first time. Organizations should avoid using this method. © Pearson Prentice Hall 2009

Q3 – How do businesses use the systems development life cycle (SDLC) process? This is a summary of all the design and implementation tasks necessary to develop a new system. Fig 10-8 Design & Implementation for the Five Components © Pearson Prentice Hall 2009

Phase Five: System Maintenance Q3 – How do businesses use the systems development life cycle (SDLC) process? Phase Five: System Maintenance The last phase of the SDLC process includes three tasks: Recording requests for changes as a result of failures or enhancements Prioritizing the requests into high- or low-priority and Fixing failures by issuing patches (high-priority), service packs (low-priority), or new releases. Deciding to enhance a system requires that you start the SDLC process all over, from the beginning. Fig 10-9 SDLC: System Maintenance Phase © Pearson Prentice Hall 2009

The SDLC process is not without its problems: Q3 – How do businesses use the systems development life cycle (SDLC) process? The SDLC process is not without its problems: The SDLC process acts like a waterfall in that it operates in a sequence of unrepeated phases. Reality is that you often need to return to a previous phase in the process. That’s not always easy to do in the SDLC process. Accurately documenting a system’s requirements is difficult. Many projects experience analysis paralysis as developers try to document every requirement completely and accurately. Creating an accurate schedule and budget is extremely difficult. Estimates are so approximate they’re almost useless and often times they are more a guess than absolute knowledge. © Pearson Prentice Hall 2009

Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q4 – How do businesses use the rapid application development (RAD) process? Here are some of the ways the Rapid Application Development (RAD) process for developing system improves upon the SDLC process: It breaks up the SDLC design and implementation phases into smaller chunks and uses computers to process some of the tasks. It still has a requirements phase but the design and implementation phases are interwoven rather than separate. It uses incremental development rather than trying to build the entire system at one time. Because users are actively involved in the entire process, the requirements can be less detailed and less complete. It uses prototypes, joint application design, and CASE tools. Fig 10-10 Martin’s RAD Process © Pearson Prentice Hall 2009

Q4 – How do businesses use the rapid application development (RAD) process? Prototypes, or mock-ups, can be a simple visual or an actual working component. They provide users with a better understanding of the new system. The figure on the left is a prototype data entry form. The figure on the right is a data model of the same form. It’s much easier for users to understand the figure on the left. Fig 10-11 Example of a Prototype Form Fig 10-12 Data Model of Prototype Form in Figure 10-11 © Pearson Prentice Hall 2009

Q4 – How do businesses use the rapid application development (RAD) process? Joint Application Design (JAD) is used in the RAD process to help teams of users, developers, and PQA personnel conduct design activities. Feedback and testing are incorporated in the development process earlier, during the design phase. JAD sessions are short meetings in which the team develops a particular component that has a limited scope. CASE and visual development tools may also be used in the RAD process. The term CASE has two different meanings: Computer-assisted software engineering focuses on program development. Computer-assisted systems engineering focuses on developing a system that has all five components. Both functions utilize CASE tools. Most CASE tools have a repository (database), and many have code generators that automatically create as much code as possible for commonly performed tasks. © Pearson Prentice Hall 2009

Q4 – How do businesses use the rapid application development (RAD) process? These two figures represent the use of code generators in CASE tools. The code generated on the left produced the Web page on the right. Fig 10-13(a) Visual Web Page Development Fig 10-13(b) Code Behind Visual Web Page © Pearson Prentice Hall 2009

Q4 – How do businesses use the rapid application development (RAD) process? Visual development tools also help improve developer productivity. The tool starts with basic code and then you add your own features and functions. Fig 10-14 Visual Programming Tool Example © Pearson Prentice Hall 2009

Q5 – How do businesses use object-oriented development (OOD)? Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q5 – How do businesses use object-oriented development (OOD)? Object-oriented development (OOD), is the third system development method. It uses some of the principles of object-oriented programming. It’s easier and cheaper to fix and adapt programs based on OOD guidelines because they’re all developed exactly the same way. It uses the Unified Modeling Language (UML), a series of diagramming techniques that are pre-written. While UML doesn’t require or promote any particular development process, it does offer developers the Unified Process (UP) for program development. © Pearson Prentice Hall 2009

Q5 – How do businesses use object-oriented development (OOD)? The Unified Process (UP) includes five phases. Three are similar to SDLC phases: Inception—similar to the SDLC definition. Transition—similar to the SDLC implementation. Maintenance—similar to the SDLC maintenance. Fig 10-15 Stages in the Unified Process © Pearson Prentice Hall 2009

Q5 – How do businesses use object-oriented development (OOD)? Two phases, Elaboration and Construction, are very different from SDLC. Elaboration In this phase the new system’s framework and architecture are built and tested. Your goal is to have a working system with basic capabilities. This phase includes: Requirements determination Design Programming Testing You define your requirements in the elaboration phase with use cases which describe how you will use the new system. Use cases, like the one in the top figure, 10-16, address those system features that have the most risk and uncertainty. © Pearson Prentice Hall 2009

Q5 – How do businesses use object-oriented development (OOD)? Fig 10-16 Use Case Example Construction In this phase you design, implement, and test easier, lower-risk features and functions using multiple iterations. Figure 10-17 to the lower right summarizes the UP principles. The most important one is the continuous user involvement. © Pearson Prentice Hall 2009

Q6 – How do businesses use extreme programming (XP)? Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q6 – How do businesses use extreme programming (XP)? An emerging technique for developing computer programs is called extreme programming (XP). It’s used mainly for developing application programs but not large systems that require new business processes and procedures. It’s customer-centric in that the customer is a critical part of the development team and helps define requirements, develop test plans, and test the applications. Just-in-time (JIT) principles are used by creating only those designs needed to fulfill the current iteration requirements. When the existing design becomes unworkable, you discard that design and create a new one. Your goal is to create a final program that’s as simple as possible. Paired programming techniques are used in XP development where two programmers work together on the same computer. The idea is that the pair can do at least as much work as two programmers working separately. By switching partners at each iteration of the project, programmers become familiar with many different parts of the code and the project doesn’t rely on just one or two programmers. © Pearson Prentice Hall 2009

Q7 – How do the four development methodologies compare? Q1 – What is systems development? Q2 – Why is systems development difficult and risky? Q3 – How do businesses use the systems development life cycle (SDLC) process? Q4 – How do businesses use the rapid application development (RAD) process? Q5 – How do businesses use object-oriented development (OOD)? Q6 – How do businesses use extreme programming (XP)? Q7 – How do the four development methodologies compare? © Pearson Prentice Hall 2009

Q7 – How do the four development methodologies compare? This chart compares the four development methodologies: SDLC, RAD, OOD with UP, and XP. You should be familiar with each of them as you may use one or more during your career. Fig 10-18 Comparison of Development Techniques © Pearson Prentice Hall 2009