This article needs additional citations for verification .(August 2014) |
A prototype is an early sample, model, or release of a product built to test a concept or process. [1] It is a term used in a variety of contexts, including semantics, design, electronics, and software programming. A prototype is generally used to evaluate a new design to enhance precision by system analysts and users. [2] Prototyping serves to provide specifications for a real, working system rather than a theoretical one. [3] In some design workflow models, creating a prototype (a process sometimes called materialization) is the step between the formalization and the evaluation of an idea. [4]
A prototype can also mean a typical example of something such as in the use of the derivation 'prototypical'. [5] This is a useful term in identifying objects, behaviours and concepts which are considered the accepted norm and is analogous with terms such as stereotypes and archetypes.
The word prototype derives from the Greek πρωτότυπονprototypon, "primitive form", neutral of πρωτότυποςprototypos, "original, primitive", from πρῶτος protos, "first" and τύπος typos, "impression" (originally in the sense of a mark left by a blow, then by a stamp struck by a die (note "typewriter"); by implication a scar or mark; by analogy a shape i.e. a statue, (figuratively) style, or resemblance; a model for imitation or illustrative example—note "typical"). [1] [6] [7]
Prototypes explore different aspects of an intended design: [8]
In general, the creation of prototypes will differ from creation of the final product in some fundamental ways:
Engineers and prototype specialists attempt to minimize the impact of these differences on the intended role for the prototype. For example, if a visual prototype is not able to use the same materials as the final product, they will attempt to substitute materials with properties that closely simulate the intended final materials.
Engineers and prototyping specialists seek to understand the limitations of prototypes to exactly simulate the characteristics of their intended design.
It is important to recognize that by their very nature, prototypes represent some compromise from the final production design. This is due to not just the skill and choices of the designer(s), but the inevitable inherent limitations of a prototype due to the "map-territory relation". Just as a map is a reduced abstraction representing far more detailed actual territory, or "the menu represents the meal" but cannot capture all the detail of the actual delivered food: a prototype is a necessarily inexact and limited approximation of a "real" final product.
Further, prototypers make both deliberate and unintended choices and tradeoffs for reasons ranging from cost/time savings to what they consider "important" vs. "trivial" aspects to focus design attention and execution on. Due to differences in materials, processes and design fidelity, it is possible that a prototype may fail to perform acceptably although the production design may have been sound. Conversely, and somewhat counter-intuitively: prototypes may actually perform acceptably but the production design and outcome may prove unsuccessful, as prototyping materials and processes may actually outperform their production counterparts.
In general, it can be expected that individual prototype costs will be substantially greater than the final production costs due to inefficiencies in materials and processes. Prototypes are also used to revise the design for the purposes of reducing costs through optimization and refinement. [16]
It is possible to use prototype testing to reduce the risk that a design may not perform as intended, however prototypes generally cannot eliminate all risk. There are pragmatic and practical limitations to the ability of a prototype to match the intended final performance of the product and some allowances and engineering judgement are often required before moving forward with a production design.
Building the full design is often expensive and can be time-consuming, especially when repeated several times—building the full design, figuring out what the problems are and how to solve them, then building another full design. As an alternative, rapid prototyping or rapid application development techniques are used for the initial prototypes, which implement part, but not all, of the complete design. This allows designers and manufacturers to rapidly and inexpensively test the parts of the design that are most likely to have problems, solve those problems, and then build the full design.
This counter-intuitive idea—that the quickest way to build something is, first to build something else—is shared by scaffolding and Thomson's telescope rule.
In technology research, a technology demonstrator is a prototype serving as proof-of-concept and demonstration model for a new technology or future product, proving its viability and illustrating conceivable applications.
In large development projects, a testbed is a platform and prototype development environment for rigorous experimentation and testing of new technologies, components, scientific theories and computational tools. [17]
With recent advances in computer modeling it is becoming practical to eliminate the creation of a physical prototype (except possibly at greatly reduced scales for promotional purposes), instead modeling all aspects of the final product as a computer model. An example of such a development can be seen in Boeing 787 Dreamliner, in which the first full sized physical realization is made on the series production line. Computer modeling is now being extensively used in automotive design, both for form (in the styling and aerodynamics of the vehicle) and in function—especially for improving vehicle crashworthiness and in weight reduction to improve mileage.
The most common use of the word prototype is a functional, although experimental, version of a non-military machine (e.g., automobiles, domestic appliances, consumer electronics) whose designers would like to have built by mass production means, as opposed to a mockup, which is an inert representation of a machine's appearance, often made of some non-durable substance.
An electronics designer often builds the first prototype from breadboard or stripboard or perfboard, typically using "DIP" packages.
However, more and more often the first functional prototype is built on a "prototype PCB" almost identical to the production PCB, as PCB manufacturing prices fall and as many components are not available in DIP packages, but only available in SMT packages optimized for placing on a PCB.
Builders of military machines and aviation prefer the terms "experimental" and "service test". [18]
In electronics, prototyping means building an actual circuit to a theoretical design to verify that it works, and to provide a physical platform for debugging it if it does not. The prototype is often constructed using techniques such as wire wrapping or using a breadboard, stripboard or perfboard, with the result being a circuit that is electrically identical to the design but not physically identical to the final product. [19]
Open-source tools like Fritzing exist to document electronic prototypes (especially the breadboard-based ones) and move toward physical production. Prototyping platforms such as Arduino also simplify the task of programming and interacting with a microcontroller. [20] The developer can choose to deploy their invention as-is using the prototyping platform, or replace it with only the microcontroller chip and the circuitry that is relevant to their product.
A technician can quickly build a prototype (and make additions and modifications) using these techniques, but for volume production it is much faster and usually cheaper to mass-produce custom printed circuit boards than to produce these other kinds of prototype boards. The proliferation of quick-turn PCB fabrication and assembly companies has enabled the concepts of rapid prototyping to be applied to electronic circuit design. It is now possible, even with the smallest passive components and largest fine-pitch packages, to have boards fabricated, assembled, and even tested in a matter of days.Prototype software is often referred to as alpha grade, meaning it is the first version to run. Often only a few functions are implemented, the primary focus of the alpha is to have a functional base code on to which features may be added. Once alpha grade software has most of the required features integrated into it, it becomes beta software for testing of the entire software and to adjust the program to respond correctly during situations unforeseen during development. [21]
Often the end users may not be able to provide a complete set of application objectives, detailed input, processing, or output requirements in the initial stage. After the user evaluation, another prototype will be built based on feedback from users, and again the cycle returns to customer evaluation. The cycle starts by listening to the user, followed by building or revising a mock-up, and letting the user test the mock-up, then back. There is now a new generation of tools called Application Simulation Software which help quickly simulate application before their development. [22]
Extreme programming uses iterative design to gradually add one feature at a time to the initial prototype. [23]
In many programming languages, a function prototype is the declaration of a subroutine or function (and should not be confused with software prototyping). This term is rather C/C++-specific; other terms for this notion are signature, type and interface. In prototype-based programming (a form of object-oriented programming), new objects are produced by cloning existing objects, which are called prototypes. [24]
The term may also refer to the Prototype Javascript Framework.
Additionally, the term may refer to the prototype design pattern.
Continuous learning approaches within organizations or businesses may also use the concept of business or process prototypes through software models.
The concept of prototypicality is used to describe how much a website deviates from the expected norm, and leads to a lowering of user preference for that site's design. [25]
A data prototype is a form of functional or working prototype. [26] The justification for its creation is usually a data migration, data integration or application implementation project and the raw materials used as input are an instance of all the relevant data which exists at the start of the project.
The objectives of data prototyping are to produce:
To achieve this, a data architect uses a graphical interface to interactively develop and execute transformation and cleansing rules using raw data. The resultant data is then evaluated and the rules refined. Beyond the obvious visual checking of the data on-screen by the data architect, the usual evaluation and validation approaches are to use Data profiling software [27] and then to insert the resultant data into a test version of the target application and trial its use.
When developing software or digital tools that humans interact with, a prototype is an artifact that is used to ask and answer a design question. Prototypes provide the means for examining design problems and evaluating solutions. [28]
HCI practitioners can employ several different types of prototypes:
In the field of scale modeling (which includes model railroading, vehicle modeling, airplane modeling, military modeling, etc.), a prototype is the real-world basis or source for a scale model—such as the real EMD GP38-2 locomotive—which is the prototype of Athearn's (among other manufacturers) locomotive model. Technically, any non-living object can serve as a prototype for a model, including structures, equipment, and appliances, and so on, but generally prototypes have come to mean full-size real-world vehicles including automobiles (the prototype 1957 Chevy has spawned many models), military equipment (such as M4 Shermans, a favorite among US Military modelers), railroad equipment, motor trucks, motorcycles, and space-ships (real-world such as Apollo/Saturn Vs, or the ISS). As of 2014, basic rapid prototype machines (such as 3D printers) cost about $2,000, but larger and more precise machines can cost as much as $500,000. [32]
In architecture, prototyping refers to either architectural model making (as form of scale modelling) or as part of aesthetic or material experimentation, such as the Forty Wall House open source material prototyping centre in Australia. [33] [34]
Architects prototype to test ideas structurally, aesthetically and technically. Whether the prototype works or not is not the primary focus: architectural prototyping is the revelatory process through which the architect gains insight. [35]
In the science and practice of metrology, a prototype is a human-made object that is used as the standard of measurement of some physical quantity to base all measurement of that physical quantity against. Sometimes this standard object is called an artifact. In the International System of Units (SI), there remains no prototype standard since May 20, 2019. Before that date, the last prototype used was the international prototype of the kilogram, a solid platinum-iridium cylinder kept at the Bureau International des Poids et Mesures (International Bureau of Weights and Measures) in Sèvres France (a suburb of Paris) that by definition was the mass of exactly one kilogram. Copies of this prototype are fashioned and issued to many nations to represent the national standard of the kilogram and are periodically compared to the Paris prototype. Now the kilogram is redefined in such a way that the Planck constant h is prescribed a value of exactly 6.62607015×10−34 joule-second (J⋅s)
Until 1960, the meter was defined by a platinum-iridium prototype bar with two marks on it (that were, by definition, spaced apart by one meter), the international prototype of the metre, and in 1983 the meter was redefined to be the distance in free space covered by light in 1/299,792,458 of a second (thus defining the speed of light to be 299,792,458 meters per second).
In many sciences, from pathology to taxonomy, prototype refers to a disease, species, etc. which sets a good example for the whole category. In biology, prototype is the ancestral or primitive form of a species or other group; an archetype. [36] For example, the Senegal bichir is regarded as the prototypes of its genus, Polypterus .
Computer-aided design (CAD) is the use of computers to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing. Designs made through CAD software are helpful in protecting products and inventions when used in patent applications. CAD output is often in the form of electronic files for print, machining, or other manufacturing operations. The terms computer-aided drafting (CAD) and computer aided design and drafting (CADD) are also used.
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.
A breadboard, solderless breadboard, or protoboard is a construction base used to build semi-permanent prototypes of electronic circuits. Unlike a perfboard or stripboard, breadboards do not require soldering or destruction of tracks and are hence reusable. For this reason, breadboards are also popular with students and in technological education.
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to software development put less emphasis on planning and more emphasis on an adaptive process. Prototypes are often used in addition to or sometimes even instead of design specifications.
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development involves writing and maintaining the source code, but in a broader sense, it includes all processes from the conception of the desired software through to the final manifestation of the software, typically in a planned and structured process. Software development also includes research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.
In human–computer interaction, paper prototyping is a widely used method in the user-centered design process, a process that helps developers to create software that meets the user's expectations and needs – in this case, especially for designing and testing user interfaces. It is throwaway prototyping and involves creating rough, even hand-sketched, drawings of an interface to use as prototypes, or models, of a design. While paper prototyping seems simple, this method of usability testing can provide useful feedback to aid the design of easier-to-use products. This is supported by many usability professionals.
Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a software can be used by specified consumers to achieve quantified objectives with effectiveness, efficiency, and satisfaction in a quantified context of use.
In systems engineering and software engineering, requirements analysis focuses on the tasks that determine the needs or conditions to meet the new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.
Proof of concept, also known as proof of principle, is a realization of a certain method or idea in order to demonstrate its feasibility, or a demonstration in principle with the aim of verifying that some concept or theory has practical potential. A proof of concept is usually small and may or may not be complete.
In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high-level requirements?"
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.
Iterative design is a design methodology based on a cyclic process of prototyping, testing, analyzing, and refining a product or process. Based on the results of testing the most recent iteration of a design, changes and refinements are made. This process is intended to ultimately improve the quality and functionality of a design. In iterative design, interaction with the designed system is used as a form of research for informing and evolving a project, as successive versions, or iterations of a design are implemented.
User interface (UI) design or user interface engineering is the design of user interfaces for machines and software, such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizing usability and the user experience. In computer or software design, user interface (UI) design primarily focuses on information architecture. It is the process of building interfaces that clearly communicates to the user what's important. UI design refers to graphical user interfaces and other forms of interface design. The goal of user interface design is to make the user's interaction as simple and efficient as possible, in terms of accomplishing user goals.
In manufacturing and design, a mockup, or mock-up, is a scale or full-size model of a design or device, used for teaching, demonstration, design evaluation, promotion, and other purposes. A mockup may be a prototype if it provides at least part of the functionality of a system and enables testing of a design. Mock-ups are used by designers mainly to acquire feedback from users. Mock-ups address the idea captured in a popular engineering one-liner: "You can fix it now on the drafting board with an eraser or you can fix it later on the construction site with a sledge hammer".
An electronic circuit is composed of individual electronic components, such as resistors, transistors, capacitors, inductors and diodes, connected by conductive wires or traces through which electric current can flow. It is a type of electrical circuit and to be referred to as electronic, rather than electrical, generally at least one active component must be present. The combination of components and wires allows various simple and complex operations to be performed: signals can be amplified, computations can be performed, and data can be moved from one place to another.
In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program memory and any necessary support ICs. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.
In electronics, prototyping means building an actual circuit to a theoretical design to verify that it works, and to provide a physical platform for debugging it if it does not. The prototype is often constructed using techniques such as wire wrapping or using a breadboard, stripboard or perfboard, with the result being a circuit that is electrically identical to the design but not physically identical to the final product.
Design prototyping in its broader definition comprises the actions to make, test and analyse a prototype, a model or a mockup according to one or various purposes in different stages of the design process. Other definitions consider prototyping as the methods or techniques for making a prototype, or a stage in the design process. The concept of prototyping in design disciplines' literature is also related to the concepts of experimentation, and Research through Design (RtD).
{{cite web}}
: CS1 maint: url-status (link)