Prototyping Software Development Approaches. A prototype is a working model Prototyping uses an evolutionary design model Listen to customer Listen to.

Slides:



Advertisements
Similar presentations
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Advertisements

ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
MapleLeaf, LLC SDLC Methodology. MapleLeaf, LLC, has established standard phases and processes in regards to project management methodologies for planning.
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
PPT Slides by Dr. Craig Tyran & Kraig Pencil Acquiring Information Systems MIS 320 Kraig Pencil Summer 2013.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
Part 2d: Requirements Chapter 2: How to Gather Requirements: Some Techniques to Use Chapter 3: Finding Out about the Users and the Domain Chapter 4: Finding.
CS 5150 Software Engineering
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Prototyping. CS351 - Software Engineering (AY2004)2 Scenario Customer: “We would like the word processor to check the spelling of what is typed in. We.
Software lifecycle. CS351 - Software Engineering (AY2004)2 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
Database System Development Lifecycle Transparencies
Rapid Prototyping Model
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Database Planning, Design, and Administration Transparencies
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Chapter 2 The process Process, Methods, and Tools
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
SOFTWARE ENGINEERING MCS-2 LECTURE # 5. RAD (RAPID APPLICATION DEVELOPMENT) MODEL  In RAD model the components or functions are developed in parallel.
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
The Software Development Process Chapter 2 Best Practices.
Information Technology
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Database System Development Lifecycle 1.  Main components of the Infn System  What is Database System Development Life Cycle (DSDLC)  Phases of the.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Systems Life Cycle A2 Module Heathcote Ch.38.
COEN/ELEC  What is prototyping  Why prototyping  Types of prototyping  Advantages of each  Recommendations  Incremental Development? 2.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
Introduction to Software Development (Software Engineering - I)
Software Prototyping Rapid software development to validate requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Teaching slides Chapter 3
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
The Code and Fix model It is a simple two phase model. In first phase: code is developed In second phase: fix the code until the client is not satisfied.
G063 – Prototyping. Learning Objective: At the end of this topic you should be able to: describe prototyping as a software development methodology.
Software Project Management
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Methodologies/Life Cycle Models
Rapid Application Development Paradigm
Prototyping in the software process
Rapid Application Development Paradigm
CS 5150 Software Engineering
Prototype Model Lecture-4.
Software Process Models
Life Cycle Models PPT By :Dr. R. Mall.
SOFTWARE ENGINEERING PRESENTATION
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software life cycle models
CS310 Software Engineering Lecturer Dr.Doaa Sami
SNS College of Engineering Coimbatore
Presentation transcript:

Prototyping Software Development Approaches

A prototype is a working model Prototyping uses an evolutionary design model Listen to customer Listen to customer Build or revise prototype Build or revise prototype Customer tests prototype Customer tests prototype

Why use prototyping? To gather information about system requirements when the user is unclear about them To collaborate with the client/user and help develop commitment to the project To develop a system quickly

Types of Prototypes Throw-away prototypes A working model of the system used to determine user requirements and then discarded. Evolutionary prototypes The initial prototype is continually developed until it becomes the final system

Throw-Away Prototyping Used when the users or the software developers are unclear about system requirements Checks that the requirements have been correctly understood by the developers Enables further requirements to be developed Starts with poorly understood requirements and clarifies these by gaining feedback from the user The whole prototype is discarded at the end.

6 Throw-Away Prototyping Initial requirements Initial requirements Modify the prototype Modify the prototype User gives suggestions for improvement Create prototype Create prototype User uses prototype User uses prototype Requirements are documented Requirements are documented No further suggestions Prototype Is Discarded Prototype Is Discarded System Is Developed System Is Developed

Evolutionary Prototyping Contains some or all of the code or data that will be used in a full system Starts with those requirements that are best understood The prototype is continually developed until a working system is produced

Evolutionary Prototyping Initial requirements Initial requirements Modify the prototype Modify the prototype User gives suggestions for improvement Create prototype Create prototype User uses prototype User uses prototype Prototype used for solution Prototype used for solution No further suggestions

Prototyping is suitable for… Developing systems where users are unclear of requirements Developing user interfaces It is particularly suitable to developing: multimedia systems online enquiry systems

Prototyping is not suitable for… Large scale, complex projects Projects and processes involving many mathematical calculations

Advantages of Prototyping Helps determine and/or clarify system requirements Takes less time than the Structured Approach Reduced costs because the process is shorter Accelerated delivery of a working system – users do not have to wait the entire process to begin using the system Creates user ownership

Disadvantages of Prototyping System may be harder to maintain: Documentation may not be thorough Code quality and program structure may not be as good as in the structured approach The final program may not be as efficient because the code quality and program structure may not be as good Some parts of the requirements may be impossible to prototype. However they must still appear in the final system. Customer is never “satisfied” and wants to continually improve the solution – so you never finish or have enormous development cost over runs … “Wouldn’t it be great if it could do this …”