SlideShare a Scribd company logo
Information Systems Analysis
Presentation By:
India Thomas
Dayanand Thakur
Agenda for discussion
 Define Prototyping
 Need/Importance for prototyping
 Types of prototypes
 Prototyping as methodology
 User interface prototyping
 Advantages and disadvantages of prototyping
 Lessons learnt
Prototyping Defined
Prototyping is the process of quickly putting together a working
model (a prototype) in order to test various aspects of a design,
illustrate ideas or features and gather early user feedback.-
Wikipedia
IEEE defines prototyping as “ A type of development in which
emphasis is placed on developing prototypes early in the
development process to permit early feedback and analysis in
support of the development process.”
Need for prototyping
 Enables us to explore the problem space with the
stakeholders.
 As a requirements artifact to initially envision the system.
 As a design artifact that enables us to explore the solution
space of your system.
 A vehicle for you to communicate the possible UI design(s)
of your system.
 A potential foundation from which to continue developing
the system
Advantages & Disadvantages of
Prototyping
Advantages Disadvantages
Users can try the system and provide constructive
feedback during development
Each iteration builds on the previous iteration
and further refines the solution. This makes it
difficult to reject the initial solution as
inappropriate and start over.
An operational prototype can be produced in
weeks
Formal end-of-phase reviews do not occur. Thus,
its is very difficult to contain the scope of the
prototype.
Users become more positive about implementing
the system as they see a solution emerging that
will meet their needs
System documentation is often absent or
incomplete, since the primary focus is on
development of the prototype.
Prototyping enables early detection of errors System backup and recovery, performance, and
security issues can be overlooked.
Reference: http://facpub.stjohns.edu/~wolfem
Journey of the Prototyping
process
Goals
Functionality
Evaluate
Develop
Types of prototyping
 Throw-away Prototyping
 Evolutionary Prototyping
 Low Fidelity Prototyping
 High Fidelity Prototyping
Throw Away Prototype
 Throw Away Prototype is developed from the initial requirements but
is not used for the final project.
 Written specifications of the requirements
 Some developers believe that this type is a waste of time because you
don’t use it.
 Regardless if prototype is discarded or kept for production, you must
use a easy to use language.
Advantages & Disadvantages
Advantages Disadvantages
Significantly reduce project risk The prototype actually does
nothing, its just presentational.
Has a short project timeline Only for a limited purpose
Starting become a thing of the
past. Not getting used as much
now.
Evolutionary Prototype
 Evolutionary prototyping is consider the most fundamental form of
prototyping.
 Evolutionary prototyping main concept is to build a robust prototype
and constantly improve it.
 Objective to deliver a working system to the end user.
 According to Steve McConnell, "evolutionary delivery is a lifecycle
model that straddles the ground between evolutionary prototyping and
staged delivery."
Evolutionary Delivery
Rapid Development, Taming Wild Software Schedules, by Steven McConnell, Press 1996
Evolutionary Prototyping phases
Advantages
 You are always looking for new ways to improve the system.
 This model increases the chance of having the client
satisfied with the working system.
 The model can be used even when the requirements are
not defined.
 Quicker delivery of the system
Disadvantages
 This method can be used to avoid documenting the requirements of
the system.
 Management is required
 Long term maintenance can be expensive
 Uncertain design idea’s
 Information can be lost through so many improvement changes
Low-fidelity Prototyping
 Low-fidelity prototyping is generally limited function, limited
interaction prototyping effort.
 They are constructed to depict concepts, design alternatives and screen
layouts. They are intended to demonstrate general look and feel of the
interface.
 They are created to educate , communicate and inform, but not to
train, test or serve as a basis for which to code.
 Low fidelity prototyping is used early in the design cycle to show
general conceptual approaches without much investment in
development.
Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
High-Fidelity Prototyping
 High-fidelity prototypes represent the core functionality of the products
user interface.
 High fidelity prototypes are fully interactive systems. Users can enter data
in entry fields, respond to messages, select icon to open windows and
interact with user interface as if it were a real system.
 They trade-off speed for accuracy.
 Building high fidelity prototypes consume resources and have high cost.
Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
Comparison of two prototyping
efforts
Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
Prototyping-based Methodology
An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002
Prototyping as methodology for
systems development
 A preliminary design of the system is built using throw-away prototyping.
 Demonstrations to end users, as well as investigations on this prototype, allows
for the design of more precise requirements as well as the evaluation of
techniques to be used in the final system.
 Refinements on throw-away prototype concerning the requirements are done.
 Evolutionary prototyping used to build a model prototype (an accurate and
complete description of the system). These prototypes can be studied under
various simulated conditions.
 Refinement on model prototype, concerning the actual system, is done and
final system is rolled out after testing.
An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002
User Interface Prototyping
Development of highly interactive software system
with graphical user interfaces (GUI) has become
increasingly common and acceptance of such a system
depends highly on the quality of GUI.
Prototyping is an excellent means of generating ideas
about how the GUI can be designed and it helps to
evaluate quality of solution at an early stage.
Classification of user interface
prototypes
 Presentation Prototypes
 Functional Prototypes
 Breadboards
 Pilot Systems
Risks in Prototyping
 Client may believe that system is real.
 Unrealistic expectations of the progress
 Implementers make poor choice
 Justified in prototype but not in real system
 Tempting to build real system same way
 Prototype is not identical to the real system
 Users may interact differently due to different response
characteristics
 Must interpret prototype experience with care
Do we need prototyping??
Two “points of interest” for companies to adopt prototyping based methodologies
are:
 Point 1: They allow us to reduce the cost and time-to-market of a system.
 Point 2: For companies building critical systems, prototyping would help them
perform formal verification when required. These methodologies provide high
level of reliability in the system design and implementation.
Key Learning
 A prototype can be used to give end-users a concrete
impression of the system’s capabilities
 Prototyping is becoming increasingly used for system
development where rapid development is essential
 Throw-away prototyping is used to understand the
system requirements
 In evolutionary prototyping, the system is developed
by evolving an initial version to the final version
Key Points
 Rapid development of prototypes is essential. This
may require leaving out functionality or relaxing non-
functional constraints
 Prototyping techniques include the use of very high-
level languages, database programming and prototype
construction from reusable components
 Prototyping is essential for parts of the system such as
the user interface which cannot be effectively pre-
specified. Users must be involved in prototype
evaluation
Questions
Bibliography
 Baumer, B. (1996). User Interface prototyping- Concepts,
Tools, and Experience. Proceedings of ICSE , 18, 532-541.
 Hoffer, J. J. (2007). Modern Systems Analysis and Design.
Reading,MA: Prentice Hall Publishing Company.
 Luqui, V. Berzins (1988).Rapidly prototyping Real-Time
System.IEEE Software, September 1998, 25-36.
 SoftDevTeam. (2006). Evoutionary Prototyping Model.
Retrieved 04 12, 2008, from http://www.softdevteam.com
 Sommerville, I. (2000). Software Engineering. Pearson
publications.

More Related Content

Similar to Prototyping.eveningclass.ppt

Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
Kiran Munir
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering)
MuhammadTalha436
 
generic-software-process-models.ppt
generic-software-process-models.pptgeneric-software-process-models.ppt
generic-software-process-models.ppt
Aayush847388
 
Prototyping
PrototypingPrototyping
Prototyping
Paul Anthony Solis
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
Rizwan Kabir
 
What is a Prototype
What is a PrototypeWhat is a Prototype
What is a Prototype
Alan Radau
 
RAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringRAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software Engineering
Umeed Charity
 
Prototype
PrototypePrototype
Prototype
MR Z
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
drjms
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
koolkampus
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
Sharbani Bhattacharya
 
Types of Software life cycle
Types of Software life cycleTypes of Software life cycle
Types of Software life cycle
Santhia RK
 
The process
The processThe process
The process
prakashvs7
 
Prototypemodel in SDLC ppt
Prototypemodel  in SDLC pptPrototypemodel  in SDLC ppt
Prototypemodel in SDLC ppt
soni singh
 
Sdpl1
Sdpl1Sdpl1
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
Dr. Anthony Vincent. B
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
KelisKing
 
Kelis king - software development life cycle (sdlc)
Kelis king -  software development life cycle (sdlc)Kelis king -  software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
KelisKing
 
Prototyping Model
Prototyping ModelPrototyping Model
Prototyping Model
Snehal Deshmukh
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
Nana Sarpong
 

Similar to Prototyping.eveningclass.ppt (20)

Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering)
 
generic-software-process-models.ppt
generic-software-process-models.pptgeneric-software-process-models.ppt
generic-software-process-models.ppt
 
Prototyping
PrototypingPrototyping
Prototyping
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
 
What is a Prototype
What is a PrototypeWhat is a Prototype
What is a Prototype
 
RAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringRAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software Engineering
 
Prototype
PrototypePrototype
Prototype
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Types of Software life cycle
Types of Software life cycleTypes of Software life cycle
Types of Software life cycle
 
The process
The processThe process
The process
 
Prototypemodel in SDLC ppt
Prototypemodel  in SDLC pptPrototypemodel  in SDLC ppt
Prototypemodel in SDLC ppt
 
Sdpl1
Sdpl1Sdpl1
Sdpl1
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Kelis king - software development life cycle (sdlc)
Kelis king -  software development life cycle (sdlc)Kelis king -  software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Prototyping Model
Prototyping ModelPrototyping Model
Prototyping Model
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 

More from azida3

3830100.ppt
3830100.ppt3830100.ppt
3830100.ppt
azida3
 
Access Control
Access ControlAccess Control
Access Control
azida3
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
azida3
 
codingtechniques1.ppt
codingtechniques1.pptcodingtechniques1.ppt
codingtechniques1.ppt
azida3
 
GCSECS-DefensiveDesign.pptx
GCSECS-DefensiveDesign.pptxGCSECS-DefensiveDesign.pptx
GCSECS-DefensiveDesign.pptx
azida3
 
DefensiveProgramming (1).pptx
DefensiveProgramming (1).pptxDefensiveProgramming (1).pptx
DefensiveProgramming (1).pptx
azida3
 
Requirments Elicitation.pptx
Requirments Elicitation.pptxRequirments Elicitation.pptx
Requirments Elicitation.pptx
azida3
 
Requirements analysis.pptx
Requirements analysis.pptxRequirements analysis.pptx
Requirements analysis.pptx
azida3
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
azida3
 
Chap 4 - Requirements Engineering 1.ppt
Chap 4 - Requirements Engineering 1.pptChap 4 - Requirements Engineering 1.ppt
Chap 4 - Requirements Engineering 1.ppt
azida3
 
BPM - Activity diagram.pptx
BPM - Activity diagram.pptxBPM - Activity diagram.pptx
BPM - Activity diagram.pptx
azida3
 
Use Case Modelling.pptx
Use Case Modelling.pptxUse Case Modelling.pptx
Use Case Modelling.pptx
azida3
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
azida3
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
azida3
 

More from azida3 (14)

3830100.ppt
3830100.ppt3830100.ppt
3830100.ppt
 
Access Control
Access ControlAccess Control
Access Control
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
codingtechniques1.ppt
codingtechniques1.pptcodingtechniques1.ppt
codingtechniques1.ppt
 
GCSECS-DefensiveDesign.pptx
GCSECS-DefensiveDesign.pptxGCSECS-DefensiveDesign.pptx
GCSECS-DefensiveDesign.pptx
 
DefensiveProgramming (1).pptx
DefensiveProgramming (1).pptxDefensiveProgramming (1).pptx
DefensiveProgramming (1).pptx
 
Requirments Elicitation.pptx
Requirments Elicitation.pptxRequirments Elicitation.pptx
Requirments Elicitation.pptx
 
Requirements analysis.pptx
Requirements analysis.pptxRequirements analysis.pptx
Requirements analysis.pptx
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
 
Chap 4 - Requirements Engineering 1.ppt
Chap 4 - Requirements Engineering 1.pptChap 4 - Requirements Engineering 1.ppt
Chap 4 - Requirements Engineering 1.ppt
 
BPM - Activity diagram.pptx
BPM - Activity diagram.pptxBPM - Activity diagram.pptx
BPM - Activity diagram.pptx
 
Use Case Modelling.pptx
Use Case Modelling.pptxUse Case Modelling.pptx
Use Case Modelling.pptx
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
 

Recently uploaded

SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 

Recently uploaded (20)

SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 

Prototyping.eveningclass.ppt

  • 1. Information Systems Analysis Presentation By: India Thomas Dayanand Thakur
  • 2. Agenda for discussion  Define Prototyping  Need/Importance for prototyping  Types of prototypes  Prototyping as methodology  User interface prototyping  Advantages and disadvantages of prototyping  Lessons learnt
  • 3. Prototyping Defined Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback.- Wikipedia IEEE defines prototyping as “ A type of development in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process.”
  • 4. Need for prototyping  Enables us to explore the problem space with the stakeholders.  As a requirements artifact to initially envision the system.  As a design artifact that enables us to explore the solution space of your system.  A vehicle for you to communicate the possible UI design(s) of your system.  A potential foundation from which to continue developing the system
  • 5. Advantages & Disadvantages of Prototyping Advantages Disadvantages Users can try the system and provide constructive feedback during development Each iteration builds on the previous iteration and further refines the solution. This makes it difficult to reject the initial solution as inappropriate and start over. An operational prototype can be produced in weeks Formal end-of-phase reviews do not occur. Thus, its is very difficult to contain the scope of the prototype. Users become more positive about implementing the system as they see a solution emerging that will meet their needs System documentation is often absent or incomplete, since the primary focus is on development of the prototype. Prototyping enables early detection of errors System backup and recovery, performance, and security issues can be overlooked. Reference: http://facpub.stjohns.edu/~wolfem
  • 6. Journey of the Prototyping process Goals Functionality Evaluate Develop
  • 7. Types of prototyping  Throw-away Prototyping  Evolutionary Prototyping  Low Fidelity Prototyping  High Fidelity Prototyping
  • 8. Throw Away Prototype  Throw Away Prototype is developed from the initial requirements but is not used for the final project.  Written specifications of the requirements  Some developers believe that this type is a waste of time because you don’t use it.  Regardless if prototype is discarded or kept for production, you must use a easy to use language.
  • 9. Advantages & Disadvantages Advantages Disadvantages Significantly reduce project risk The prototype actually does nothing, its just presentational. Has a short project timeline Only for a limited purpose Starting become a thing of the past. Not getting used as much now.
  • 10. Evolutionary Prototype  Evolutionary prototyping is consider the most fundamental form of prototyping.  Evolutionary prototyping main concept is to build a robust prototype and constantly improve it.  Objective to deliver a working system to the end user.  According to Steve McConnell, "evolutionary delivery is a lifecycle model that straddles the ground between evolutionary prototyping and staged delivery."
  • 11. Evolutionary Delivery Rapid Development, Taming Wild Software Schedules, by Steven McConnell, Press 1996
  • 13. Advantages  You are always looking for new ways to improve the system.  This model increases the chance of having the client satisfied with the working system.  The model can be used even when the requirements are not defined.  Quicker delivery of the system
  • 14. Disadvantages  This method can be used to avoid documenting the requirements of the system.  Management is required  Long term maintenance can be expensive  Uncertain design idea’s  Information can be lost through so many improvement changes
  • 15. Low-fidelity Prototyping  Low-fidelity prototyping is generally limited function, limited interaction prototyping effort.  They are constructed to depict concepts, design alternatives and screen layouts. They are intended to demonstrate general look and feel of the interface.  They are created to educate , communicate and inform, but not to train, test or serve as a basis for which to code.  Low fidelity prototyping is used early in the design cycle to show general conceptual approaches without much investment in development. Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
  • 16. High-Fidelity Prototyping  High-fidelity prototypes represent the core functionality of the products user interface.  High fidelity prototypes are fully interactive systems. Users can enter data in entry fields, respond to messages, select icon to open windows and interact with user interface as if it were a real system.  They trade-off speed for accuracy.  Building high fidelity prototypes consume resources and have high cost. Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
  • 17. Comparison of two prototyping efforts Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
  • 18. Prototyping-based Methodology An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002
  • 19. Prototyping as methodology for systems development  A preliminary design of the system is built using throw-away prototyping.  Demonstrations to end users, as well as investigations on this prototype, allows for the design of more precise requirements as well as the evaluation of techniques to be used in the final system.  Refinements on throw-away prototype concerning the requirements are done.  Evolutionary prototyping used to build a model prototype (an accurate and complete description of the system). These prototypes can be studied under various simulated conditions.  Refinement on model prototype, concerning the actual system, is done and final system is rolled out after testing. An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002
  • 20. User Interface Prototyping Development of highly interactive software system with graphical user interfaces (GUI) has become increasingly common and acceptance of such a system depends highly on the quality of GUI. Prototyping is an excellent means of generating ideas about how the GUI can be designed and it helps to evaluate quality of solution at an early stage.
  • 21. Classification of user interface prototypes  Presentation Prototypes  Functional Prototypes  Breadboards  Pilot Systems
  • 22. Risks in Prototyping  Client may believe that system is real.  Unrealistic expectations of the progress  Implementers make poor choice  Justified in prototype but not in real system  Tempting to build real system same way  Prototype is not identical to the real system  Users may interact differently due to different response characteristics  Must interpret prototype experience with care
  • 23. Do we need prototyping?? Two “points of interest” for companies to adopt prototyping based methodologies are:  Point 1: They allow us to reduce the cost and time-to-market of a system.  Point 2: For companies building critical systems, prototyping would help them perform formal verification when required. These methodologies provide high level of reliability in the system design and implementation.
  • 24. Key Learning  A prototype can be used to give end-users a concrete impression of the system’s capabilities  Prototyping is becoming increasingly used for system development where rapid development is essential  Throw-away prototyping is used to understand the system requirements  In evolutionary prototyping, the system is developed by evolving an initial version to the final version
  • 25. Key Points  Rapid development of prototypes is essential. This may require leaving out functionality or relaxing non- functional constraints  Prototyping techniques include the use of very high- level languages, database programming and prototype construction from reusable components  Prototyping is essential for parts of the system such as the user interface which cannot be effectively pre- specified. Users must be involved in prototype evaluation
  • 27. Bibliography  Baumer, B. (1996). User Interface prototyping- Concepts, Tools, and Experience. Proceedings of ICSE , 18, 532-541.  Hoffer, J. J. (2007). Modern Systems Analysis and Design. Reading,MA: Prentice Hall Publishing Company.  Luqui, V. Berzins (1988).Rapidly prototyping Real-Time System.IEEE Software, September 1998, 25-36.  SoftDevTeam. (2006). Evoutionary Prototyping Model. Retrieved 04 12, 2008, from http://www.softdevteam.com  Sommerville, I. (2000). Software Engineering. Pearson publications.