The Prototyping Paradigm

Slides:



Advertisements
Similar presentations
Information technology solutions development Fundamentals of Information Technology Session 3.
Advertisements

Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
HCI in the software process Chapter 6
Alternative Methodologies Ken Peffers UNLV March 2004.
Software Engineering Incorporating Interface Design Into Software Engineering.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Life Cycle Model
1 CMPT 275 Software Engineering Software life cycle.
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
SOFTWARE PROTOTYPING Vishnu Chaitanya reddy Nara Vishnu Chaitanya reddy Nara
Systems Life Cycle A2 Module Heathcote Ch.38.
Chapter 4 프로세스 모델 Process Models
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
System Construction System Construction is the development, installation and testing of system components.
Prototype 3 Prototype 2 Prototype 1 PROTOTYPIN G
Software Engineering Lecture # 1.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CS223: Software Engineering Lecture 4: Software Development Models.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Teaching slides Chapter 3
Software Project Management
Copyright © Curt Hill Software Development Methodology What do you need to know?
Prototype 3 Prototype 2 Prototype What is prototyping? Types of prototyping: – Evolutionary – Throw-away Good and Bad points to prototyping.
Rekayasa Perangkat Lunak Part-6
Unit 6 Application Design KLB Assignment.
Software Engineering Management
Prototyping Lecture # 08.
Systems Analysis & Design N106
Software Life Cycle “What happens in the ‘life’ of software”
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Gary Hughes, South Oakleigh College
Software Processes (a)
Systems Analysis and Design
Prototype Model Lecture-4.
Chapter :Software Process Model
Software Development Life Cycle
Software Process Models
Systems Analysis and Design
Chapter 6: Design of Expert Systems
Chapter 2 SW Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Software Life Cycle Models
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.
Introduction to Software Engineering
Chapter 12 Levels of Testing
What do you need to know about XP?
Teaching slides Chapter 4.
Introduction to Information Systems
The Rapid Application Development Paradigm
Software Development Process
Software life cycle models
Process Models Coming up: Prescriptive Models.
Introduction to Software Process Models
Technical Debt The good and the bad Copyright © 2017 Curt Hill
Putting things in order
Loops CIS 40 – Introduction to Programming in Python
Incremental Waterfall
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Software Processes.
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Software Engineering Lecture 17.
SNS College of Engineering Coimbatore
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Requirements Analysis Techniques
SDLC (Software Development Life Cycle)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Presentation transcript:

The Prototyping Paradigm One of many approaches to Software Development Copyright © 2015-2017 Curt Hill

Introduction The basic idea is to create a prototype very quickly The user tries it out and gives feedback Particularly useful when the requirements are vague or the user just does not know what is needed Copyright © 2015-2017 Curt Hill

Starting The user has a general idea of what they want These are not usually specific enough to be properly specified requirements They do not rise the level that the waterfall model requires This may be complicated by other facts Is it even possible? Will it be too slow/large to be practical? No idea what the interface should look like Copyright © 2015-2017 Curt Hill

Prototyping After gathering as much information as possible development starts We make an implementation as speedily as possible Quick and dirty No concern for efficiency or many other things we often care about We often use a language that we would not normally use, such as interpreted languages – anything that will make it quick to implement We do not put in every feature Copyright © 2015-2017 Curt Hill

The Test Drive After as little training as we can one of the users tries it out The feedback from this determines what happens next There are approximately three outcomes Copyright © 2015-2017 Curt Hill

User Responses Mostly satisfied – we can do one of a couple of things Let this be what they end with Throw that one away and do it right Seems to be on right track Revise the prototype and go through the cycle again Need to guarantee that we get our requirements right Completely off Junk prototype and start over Copyright © 2015-2017 Curt Hill

Prototyping Cycle Interview Test Drive Prototype Copyright © 2015-2017 Curt Hill

Disposable Code? Yes! Definitely! Once we have decent requirements we throw away the prototype It was not built with any of the quality we would like Now that we know what is needed we can do it right Only in rare cases do we let them keep the prototype What would these rare cases be? Copyright © 2015-2017 Curt Hill

Notes Once the developers understand the true requirements they may choose any other development method The user will often settle for the prototype with a few enhancements This is almost always a bad idea The prototype was not designed for efficiently or to be robust Maintaining the prototype will be far more expensive than a properly designed system They must know that the prototype is temporary Copyright © 2015-2017 Curt Hill

Incremental? If the only goal of prototyping is the production of good requirements Then we do not consider it evolutionary The usual practice is to throw away the prototype and create the working system with another better system Still, some would consider this incremental because of the cycle of prototypes Copyright © 2015-2017 Curt Hill

Finally The Prototyping method is best used when: Considerable question on requirements Feasability is also an issue The main purpose of the prototype is to determine requirements and feasibility In rare cases the user ends up with the prototype Copyright © 2015-2017 Curt Hill