Content deleted Content added
m Task 18 (cosmetic): eval 7 templates: hyphenate params (1×); |
Fgnievinski (talk | contribs) No edit summary |
||
Line 18:
An early example of large-scale software prototyping was the implementation of NYU's Ada/ED translator for the [[Ada (programming language)|Ada programming language]].<ref>{{cite journal |title=The NYU Ada Translator and Interpreter |first1=Robert B. K. |last1=Dewar |first2=Gerald A. |last2=Fisher Jr. |first3=Edmond |last3=Schonberg |first4=Robert |last4=Froelich |first5=Stephen |last5=Bryant |first6=Clinton F. |last6=Goss |first7=Michael |last7=Burke |journal=ACM SIGPLAN Notices – Proceedings of the ACM-SIGPLAN Symposium on the Ada Programming Language |volume=15 |issue=11 |pages=194–201 |date=November 1980 |isbn=0-89791-030-3 |doi=10.1145/948632.948659}}</ref> 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. The NYU Ada/ED system was the first validated Ada implementation, certified on April 11, 1983.<ref>{{cite web |url=http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA136759 |title=Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001 |author=SofTech Inc., Waltham, MA |date=1983-04-11 |access-date=2010-12-16}}</ref>
==Outline
The process of prototyping involves the following steps {{Citation needed|date=January 2015}}
Line 30:
#: Using the feedback both the specifications and the prototype can be improved. Negotiation about what is within the scope of the contract/product may be necessary. If changes are introduced then a repeat of steps #3 and #4 may be needed.
== Dimensions
[[Jakob Nielsen (usability consultant)|Nielsen]] summarizes the various dimensions of prototypes in his book ''[[Usability Engineering]]'':
Line 48:
* Clarify complex requirements by drilling down to actual system functionality.
==Types
Software prototyping has many variants. However, all of the methods are in some way based on two major forms of prototyping: throwaway prototyping and evolutionary prototyping.
Line 98:
:"The process is called Extreme Prototyping to draw attention to the second phase of the process, where a fully functional UI is developed with very little regard to the services other than their contract." <ref>{{cite web | url=http://www.onjava.com/pub/a/onjava/2006/11/15/reshaping-it-project-delivery-through-extreme-prototyping.html?page=1 |title=Reshaping IT Project Delivery Through Extreme Prototyping |last=Komatineni |first= Satya|archive-url=https://web.archive.org/web/20161206150207/http://www.onjava.com/pub/a/onjava/2006/11/15/reshaping-it-project-delivery-through-extreme-prototyping.html?page=1 |archive-date=2016-12-06 }}</ref>
==Advantages
There are many advantages to using prototyping in software development – some tangible, some abstract.{{Ref label|11|11}}
Line 105:
'''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 label|7|7}} 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 [[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
Using, or perhaps misusing, prototyping can also have disadvantages.
Line 123:
:A common problem with adopting prototyping technology is high expectations for productivity with insufficient effort behind the learning curve. In addition to training for the use of a prototyping technique, there is an often overlooked need for developing corporate and project specific underlying structure to support the technology. When this underlying structure is omitted, lower productivity can often result.{{Ref label|13|13}}
==Applicability==
It has been argued that prototyping, in some form or another, should be used all the time. However, prototyping is most beneficial in systems that will have many interactions with the users.
|