Chapter 10 – Approaches to System Development
Total Page:16
File Type:pdf, Size:1020Kb
Systems Analysis and Design in a Changing World, seventh edition 10-1 Chapter 10 – Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases Instructor's Notes (for each section) ◦ Key Terms ◦ Lecture notes ◦ Quick quizzes Classroom Activities Troubleshooting Tips Discussion Questions Chapter Overview The chapter first presents and explains the differences in the life cycle approach—the predictive and the adaptive approaches. These two approaches are really a continuum and any give project may have elements of both approaches. The predictive approach to the SDLC is used for projects that are well understood and low risk. The adaptive approach to the SDLC is used for projects that are not well understood and are higher risk. Adaptive SDLCs are more iterative and allow the project team to adapt the project to changing circumstances. The chapter includes a discussion of the Agile philosophy and Agile modeling principles. Students should understand that Agile philosophy recognizes that most users do not understand the complexities of business processes and supporting software and therefore most projects must be flexible and agile. Agile modeling has basic principles to encourage developers to use modeling as a means to the end product (working software), and not an end in and of itself. Finally the chapter concludes with a discussion of three methodologies that embrace the Agile philosophy – Unified Process (UP), Extreme Programming (XP), and Scrum. Learning Objectives After reading this chapter, the student should be able to: • Compare the underlying assumptions and uses of a predictive and an adaptive system development life cycle (SDLC) • Explain what makes up a system development methodology—the SDLC as well as models, ©2016. Cengage Learning. All rights reserved. Systems Analysis and Design in a Changing World, seventh edition 10-2 tools, and techniques • Describe the key features of Agile development • Understand and describe the key features of the Unified Process, Extreme Programming, and Scrum Agile system development methodologies Notes on Opening Case and EOC Cases Opening Case Development Approaches at Ajax Corporation, Consolidated Concepts, and Pinnacle Manufacturing: This case briefly describes various development approaches used by three different companies. Each company uses a different approach with different techniques. Some techniques were based on structured methods; another company used object-oriented develop techniques; and the third company were experimenting with Agile techniques. The point of the case is that there are many different ways to develop software and students will encounter various combinations when they begin working in industry. When students interview for employment it is also a good idea if they ask questions about the approach, techniques, and methods used by the company with which they are interviewing. Some companies like to focus on the latest approaches while at the other extreme are companies that have not updated their approaches for many years. EOC Cases A “College Education Completion” Methodology: This case is based on the system oriented principles covered in the chapter. The student is asked to think of his college education and to divide it into phases. Then students are asked to identify specific activities that might apply to each phase. Finally they are asked to identify specific techniques. This case requires that the students think in terms of abstract system concepts and development cycle concepts and apply them to an entirely different context. Community Board of Realtors (running case): Community Board of Realtors is a professional organization that supports real estate offices and agents. This case is a smaller case in that it has few use cases and a simple database structure. The students are asked to think about developing the system with both a predictive project and an adaptive project. They are asked additional questions about an iterative approach, including how to iterate if the total solution included support for mobile devices. Spring Breaks 'R' Us Travel Services (SBRU) (running case): SBRU is an online travel services that books spring break trips to resorts for college students. This is fairly sophisticated system with four subsystems and various users and different database tables. The student is asked to identify classes for all four subsystems (in addition to a previous chapter's solutions for one subsystem). Then students are asked how to structure the project as an iterative project, especially with regard to implementation of the various classes. On the Spot Courier Services (running case): On the Spot is a small, but growing, courier service that needs to track customers, package pickups, package deliveries, and delivery routes. In this chapter, we ©2016. Cengage Learning. All rights reserved. Systems Analysis and Design in a Changing World, seventh edition 10-3 introduce four subsystems. The student is asked to organize an adaptive, iterative project to develop these four subsystems. Various questions help the student think about the ramifications of organizing the project in different ways. The student is also asked about which models are necessary and to what depth is modeling require based on the Agile principles given in the chapter. Sandia Medical Devices (running case): Sandia Medical Devices is a company that specializes in medical monitoring through remote, mobile telecommunication devices. This chapter describes the project team, including users assigned to the project, and the anticipated project schedule. The use cases to be implemented are also identified. The student is asked to comment on the anticipated project schedule, the use of Agile techniques, and the potential problems with user involvement. Instructor's Notes The Systems Development Life Cycle Key Terms predictive approach to the SDLC – an approach that assumes the project can be planned in advance and that the new information system can be developed according to the plan adaptive approach to the SDLC – an approach that assumes the project must be more flexible and adapt to changing needs as the project progresses phases – related groups of development activities, such as planning, analysis, design, implementation, and support waterfall model – an SDLC approach that assumes the phases can be completed sequentially with no overlap incremental development – an SDLC approach that completes portions of the system in small increments across iterations, with each increment being integrated into the whole as it is completed walking skeleton – a development approach in which the complete system structure is built but with bare-bones functionality Lecture Notes A project is a planned undertaking that has a beginning and an end, and which produces a predetermined result or product. The term system development project describes a planned undertaking, which is normally a large job that produces a new information system. Success depends heavily on having an organized, methodical sequence of tasks and activities that culminate with an information system that is reliable, robust, and efficient. One of the key concepts in system development is the systems development life cycle (SDLC). The SDLC refers to the entire process of building, deploying, using, and updating an information system. The other major concept in this chapter that students should learn well relates to the two types of SDLC approaches. The nature of the project determines the best approach to use. A predictive approach to ©2016. Cengage Learning. All rights reserved. Systems Analysis and Design in a Changing World, seventh edition 10-4 the SDLC assumes that the development project is planned in advance and that the new information system can be developed according to the plan. An adaptive approach to the SDLC is used when the exact requirements or needs of the users are not well understood. A more flexible approach is needed that allows the plan to be modified as the project progresses. Figure 10-1 shows the continuum from completely predictive to completely adaptive projects. Traditional Predictive Approaches to the SDLC In every project there must be activities associated with project initiation, planning, analysis, design, implementation, and deployment. Each of these sets of activities are called a phase. There is another phase, called support, which consists of those ongoing activities to maintain the system once it is in production. This text teaches the basic concepts associated with the initiation, planning, analysis, design, implementation, and the deployment phases of an SDLC. The following list identifies the objective of each of the six phases: initiation – activities to get the project identified, approved, and budgeted planning – activities to scope the project, plan and schedule the work, and identify the required resources analysis – activities to understand the user requirements design – activities to define and structure the solution system implementation – programming activities and other activities to build the solution and database deployment – activities associated with data conversion, final testing, and putting the system into production The SDLC that is the most predictive is called the waterfall model, an SDLC that assumes the various phases of a project can be completed sequentially—one phase falls into the next phase, and there is no going back as shown in Figure 10-3. This approach is almost never used