Content deleted Content added
Tag: Reverted |
m Reverted 1 edit by 2400:9800:6E1:CD7C:1:0:2C41:A7F8 (talk) to last revision by KH-1 |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 2:
{{Other uses|Prototype-based programming}}
{{Software development process}}
'''Software prototyping''' is the activity of creating [[prototype]]s of software applications, i.e., incomplete versions of the [[Software|software program]] being developed. It is an activity that can occur in [[Software development process|software development]] and is comparable to [[prototyping]] as known from other fields, such as [[mechanical engineering]] or [[manufacturing]].
A prototype typically simulates only a few aspects of, and may be completely different from, the final product.
Line 103:
'''Improved and increased user involvement''': Prototyping requires user involvement and allows them to see and interact with a prototype allowing them to provide better and more complete feedback and specifications.<ref name=Crinnion1991p18/> The presence of the prototype being examined by the user prevents many misunderstandings and miscommunications that occur when each side believe the other understands what they said. Since users know the [[___domain (software engineering)|problem ___domain]] better than anyone on the development team does, increased interaction can result in a final product that has greater tangible and intangible quality. The final product is more likely to satisfy the user's desire for look, feel and performance.
==Disadvantages==
Line 198 ⟶ 196:
===Screen generators, design tools, and software factories===
[[Screen generator|Screen generating programs]] are also commonly used and they enable prototypers to show user's systems that do not function, but show what the screens may look like. Developing [[Human–computer interaction|Human Computer Interfaces]] can sometimes be the critical part of the development effort, since to the users the interface essentially is the system.
[[Software factory|Software factories]] can generate code by combining ready-to-use modular components. This makes them ideal for prototyping applications, since this approach can quickly deliver programs with the desired behaviour, with a minimal amount of manual coding.
|