Software prototyping

prototypingprototypeprototypesrapid prototypingEvolutionary Rapid DevelopmentEvolutionary prototypingadvanced prototypingapplication prototypingEvolutionary systems developmentpilot
Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed.wikipedia
124 Related Articles

Prototype

prototypingprototypesprototypical
Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing.
It is a term used in a variety of contexts, including semantics, design, electronics, and software programming.

Software development process

software development methodologydevelopment cyclesoftware development life cycle
It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing.
Other methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, and extreme programming.

The Mythical Man-Month

The Mythical Man-Month: Essays on Software EngineeringMythical man monthmythical man-month
The practice of prototyping is one of the points Frederick P. Brooks makes in his 1975 book The Mythical Man-Month and his 10-year anniversary article "No Silver Bullet".
This idea is known as Brooks' law, and is presented along with the second-system effect and advocacy of prototyping.

Rapid application development

RADrapid developmentrapid prototyping
Throwaway or rapid prototyping refers to the creation of a model that will eventually be discarded rather than becoming part of the final delivered software.
Prototypes are often used in addition to or sometimes even in place of design specifications.

Paper prototyping

paper prototypesPaper Prototypepaper
One method of creating a low fidelity throwaway prototype is paper prototyping.
It is throwaway prototyping and involves creating rough, even hand-sketched, drawings of an interface to use as prototypes, or models, of a design.

No Silver Bullet

Accidental complexitySilver bulletNo Silver Bullet – Essence and Accident in Software Engineering
The practice of prototyping is one of the points Frederick P. Brooks makes in his 1975 book The Mythical Man-Month and his 10-year anniversary article "No Silver Bullet".

Fourth-generation programming language

4GLfourth generation languagefourth-generation
Tools used in prototyping can vary from individual tools, such as 4th generation programming languages used for rapid prototyping to complex integrated CASE tools.
Santa Fe railroad used MAPPER to develop a system, in a project that was an early example of 4GL, rapid prototyping, and programming by users.

Timeboxing

timeboxtimeboxedtimeboxes
Central to this goal of rapid delivery is the use of the "timebox" method.

Evolutionary systems

Evolutionary Systems Development is a class of methodologies that attempt to formally implement evolutionary prototyping.

Proof of concept

proof-of-conceptproof of principleproofs of concept
Frameworks such as Bootstrap, Foundation, and AngularJS provide the tools necessary to quickly structure a proof of concept.

Software

Computer softwareSoftware & Programmingsoftware technology
Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed.

Mechanical engineering

mechanical engineermechanicalmechanical engineers
It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing.

Manufacturing

manufacturermanufacturemanufacturers
It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing.

Formal specification

specificationsoftware specificationspecifications
The client and the contractor can compare if the software made matches the software specification, according to which the software program is built.

Milestone (project management)

milestonemilestonesmilestone documents
It also allows the software engineer some insight into the accuracy of initial project estimates and whether the deadlines and milestones proposed can be successfully met.

Interaction design

interaction designerdigital designinteraction designers
Interaction design in particular makes heavy use of prototyping with that goal.

Ada (programming language)

AdaAda programming languageAda 83
An early example of large-scale software prototyping was the implementation of NYU's Ada/ED translator for the Ada programming language.

SETL

ISETLSETL2
It was implemented in SETL with the intent of producing an executable semantic model for the Ada language, emphasizing clarity of design and user interface over speed and efficiency.

Jakob Nielsen (usability consultant)

Jakob NielsenNielsenNielsen's Law
Nielsen summarizes the various dimensions of prototypes in his book Usability Engineering:

Usability engineering

usability engineerusability engineers
Nielsen summarizes the various dimensions of prototypes in his book Usability Engineering:

Graphical user interface builder

GUI builderGUI designergraphical user interface tool
Another method to easily build high fidelity throwaway prototypes is to use a GUI Builder and create a click dummy, a prototype that looks like the goal system, but does not provide any functionality.

Storyboard

animaticstoryboardsanimatics
The usage of storyboards, animatics or drawings is not exactly the same as throwaway prototyping, but certainly falls within the same family.

Breadboard

solderless breadboardbread-boardbread-boarded
Evolutionary prototyping (also known as breadboard prototyping) is quite different from throwaway prototyping.