Chapter 6 Prototyping, RAD, and Extreme Programming

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Chapter 2 Approaches to System Development
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Managing Information Technology 6th Edition
E. Wainright Martin Carol V. Brown Daniel W. DeHayes Jeffrey A. Hoffer William C. Perkins MANAGINGINFORMATIONTECHNOLOGY FIFTH EDITION CHAPTER 10 M ETHODOLOGIES.
Alternate Software Development Methodologies
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Systems Analysis and Design, 7e Kendall & Kendall
1 Modeling System and Prototyping. 2 Introduction  Techniques for gathering users’ requirements  should be used in early stage(s) of SDLC  Information.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Agile Modeling and Prototyping Systems Analysis and Design, 8e Kendall & Kendall 6.
Chapter 1 The Systems Development Environment
Agile Modeling and Prototyping
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
6.1 Copyright © 2014 Pearson Education, Inc. publishing as Prentice Hall Building Information Systems Chapter 13 VIDEO CASES Video Case 1: IBM: Business.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Agile Modeling and Prototyping
Chapter 1 Assuming the Role of the Systems Analyst
Chapter 8 Prototyping and Rapid Application Development
Systems Analysis and Design Kendall & Kendall Sixth Edition
Agile Modeling and Prototyping
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 15 Finalizing.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Chapter 1 Assuming the Role of the Systems Analyst
Systems Analysis and Design in a Changing World, Fifth Edition
Principles of Information Systems, Sixth Edition 1 Systems Investigation and Analysis Chapter 12.
© 2008 Pearson Prentice Hall Project Management Systems Analysis and Design, 7e Kendall & Kendall 3.
CHAPTER 19 Building Software.
Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 © 2008 Pearson Prentice Hall.
Chapter 2: Approaches to System Development
Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 © 2008 Pearson Prentice Hall.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
RAD Model BY - Dhivakaran.JM.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
Rapid Application Development. What is RAD……..?  Rapid Application Development (RAD) is a software development process.  first developed during the.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Finalizing Design Specifications
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
3/5/2009Computer systems1 Agile Modeling and Prototyping Prototyping Agile Modeling a collection of innovative, user-centered approaches to systems development.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
CS3100 Software Project Management Agile Approaches.
Copyright © 2011 Pearson Education Agile Modeling and Prototyping Systems Analysis and Design, 8e Kendall & Kendall Global Edition 6.
System Development 1 u Systems development life cycle (SDLC) l Provides overall framework for managing system development process u Two main approaches.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
SYSTEM ANALYSIS AND DESIGN SAFAA S.Y. DALLOUL. INTRODUCTION.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
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.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Chapter 15 Finalizing Design Specifications
Appendix B Agile Methodologies
Fundamentals of Information Systems, Sixth Edition
Agile Modeling and Prototyping
Chapter 1 The Systems Development Environment
Agile Modeling and Prototyping
Chapter 15 Finalizing Design Specifications
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Systems development life cycle (SDLC)
McGraw-Hill Technology Education
Appendix B Agile Methodologies
Chapter 8 Prototyping and Rapid Application Development
Lesson 2 Prototyping.
Presentation transcript:

Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition

© 2005 Pearson Prentice Hall Major Topics Prototyping Rapid application development (RAD) Extreme Programming (XP) Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Prototyping Prototyping is an information-gathering technique. Prototypes are useful in seeking user reactions, suggestions, innovations, and revision plans. Prototyping may be used as an alternative to the systems development life cycle. Kendall & Kendall © 2005 Pearson Prentice Hall

Four Kinds of Prototypes The four conceptions of prototypes are : Patched-up prototype. Nonoperational scale model. First-of-a-series. Prototype that contains only some of the essential system features. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Patched-up Prototype This is a working model with all the features but is inefficient. Users can interact with the system. Storage and retrieval of data may be inefficient. May contain only basic features. Kendall & Kendall © 2005 Pearson Prentice Hall

Nonoperational Scale Models A nonoperational scale mode is one that is not operational, except for certain features to be tested Prototype input and output Kendall & Kendall © 2005 Pearson Prentice Hall

First-of-a-Series Prototype Pilot system is created. Prototype is an operation model. Useful when many installations of the same information system are planned. An example is a system to be installed in one location, tested and modified as necessary, and later implemented in other locations. Kendall & Kendall © 2005 Pearson Prentice Hall

Selected Features Prototype An operational model includes some, but not all, of the final system features. With the acceptance of these features, later essential features are added. Some menu items are available. System is built in modules. These are part of the actual system. Kendall & Kendall © 2005 Pearson Prentice Hall

Prototyping As an Alternative to the Systems Life Cycle Two main problems with the SDLC: Extended time required to go through the development life cycle. User requirements change over time. Prototyping may be used as an alternative. Kendall & Kendall © 2005 Pearson Prentice Hall

Prototype Development Guidelines Guidelines for developing a prototype are: Work in manageable modules. Build the prototype rapidly. Modify the prototype in successive iterations. Stress the user interface. Kendall & Kendall © 2005 Pearson Prentice Hall

Prototype Disadvantages Managing the prototyping process is difficult because of its rapid, iterative nature. Incomplete prototypes may be regarded as complete systems. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Prototype Advantages Potential for changing the system early in its development Opportunity to stop development on an unworkable system Possibility of developing a system that closely addresses users needs and expectations Kendall & Kendall © 2005 Pearson Prentice Hall

Prototype Evaluation – The User’s Role The user’s role is honest involvement. Three ways the user is involved: Experimenting with the prototype. Giving open reactions to the prototype. Suggesting additions to and/or deletions from the prototype. Kendall & Kendall © 2005 Pearson Prentice Hall

Rapid Application Development (RAD) RAD, or rapid application development, is an object-oriented approach to systems development that includes a method of development as well as software tools. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall RAD Phases The three broad phases to RAD are : Requirements planning. RAD design workshop. Implementation. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall RAD Phases Insert Figure 8.7 here NOTE: Confirm with author which figure should be inserted! Kendall & Kendall © 2005 Pearson Prentice Hall

Requirements Planning Phase Users and analysts meet to identify objectives of the application or system Oriented toward solving business problems Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall RAD Design Workshop Design and refine phase. Use group decision support systems to help users agree on designs. Programmers and analysts can build and show visual representations of the designs and workflow to users. Users respond to actual working prototypes. Analysts refine designed modules based on user responses. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Implementation Phase As the systems are built and refined, the new systems or partial systems are tested and introduced to the organization. When creating new systems, there is no need to run old systems in parallel. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Martin Approach to RAD The Martin approach to RAD includes four phases: Requirements planning. User design. Construction. Cutover. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Martin Approach to RAD Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall RAD and the SDLC RAD tools are used to generate screens and exhibit the overall flow of the application. Users approve the design and sign off on the visual model. Implementation is less stressful because users helped to design the business aspects of the system. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall When to Use RAD RAD is used when: The team includes programmers and analysts who are experienced with it. There are pressing reasons for speeding up application development. The project involves a novel ecommerce application and needs quick results. Users are sophisticated and highly engaged with the goals of the company. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Disadvantages of RAD May try and hurry the project too much Loosely documented Kendall & Kendall © 2005 Pearson Prentice Hall

Extreme Programming (XP) Extreme programming (XP) takes good systems development practices to the extreme. Kendall & Kendall © 2005 Pearson Prentice Hall

Four Values of Extreme Programming The four values of extreme programming are: Communication. Simplicity. Feedback. Courage. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Five XP Principles The five XP principles are: Providing rapid feedback. Assuming simplicity. Changing incrementally. Embracing change. Encouraging quality work. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Five XP Principles Kendall & Kendall © 2005 Pearson Prentice Hall

Four Basic Activities of XP The four basic activities of XP are: Coding. Testing. Listening, to the programming partner and customer. Designing. Kendall & Kendall © 2005 Pearson Prentice Hall

Four XP Resource Control Variables The four resource control variables in XP are: Time. Cost. Scope. Quality. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Four XP Core Practices The four XP core practices are: Short releases, work with the most important features first. Having a 40-hour work week. Having an onsite customer. Pair programming with another programmer. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall XP Relationships Kendall & Kendall © 2005 Pearson Prentice Hall

XP Development Process The phases of the XP development process are: Exploration. Planning. Iterations to the first release. Productionizing. Maintenance. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall XP Stories XP stories are a spoken interaction between developers and users. It is not written communication. The goal is prevention of misunderstanding or misinterpretations of user requirements. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall XP Lessons The six lessons that can be drawn from the XP development approach are: Short releases allow the system to evolve. Pair programming enhances overall quality. Onsite customers are mutually beneficial to the business and the XP team. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall XP Lessons The six lessons that can be drawn from the XP development approach (continued) The 40-hour work week improves worker effectiveness. Balanced resources and activities support project goals. XP values are crucial to success. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall XP Lessons Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Agile Modeling Agile modeling is similar to XP. In addition to the values of communication, simplicity feedback and courage, has a fifth value of humility. Kendall & Kendall © 2005 Pearson Prentice Hall

Agile Modeling (Continued) Agile modeling process is: Listen to user stories. Draw a logical workflow model. Create new user stories based on the workflow. Develop some prototypes. Use feedback from the prototypes and logical workflow to create physical model. Kendall & Kendall © 2005 Pearson Prentice Hall

© 2005 Pearson Prentice Hall Scrum Scrum is an Agile approach that has an emphasis on teamwork. Team success is of primary importance. Individual success is secondary. The team works within a strict time frame. The project leader has some but not much influence on detail. Kendall & Kendall © 2005 Pearson Prentice Hall