Knowledge (XXG)

Software prototyping

Source đź“ť

987:: Users can begin to think that a prototype, intended to be thrown away, is actually a final system that merely needs to be finished or polished. (They are, for example, often unaware of the effort needed to add error-checking and security features which a prototype may not have.) This can lead them to expect the prototype to accurately model the performance of the final system when this is not the intent of the developers. Users can also become attached to features that were included in a prototype for consideration and then removed from the specification for a final system. If users are able to require all proposed features be included in the final system this can lead to conflict. 1494:
PSDL addresses these issues by introducing control abstractions that include declarative timing constraints. CAPS uses this information to automatically generate code and associated real-time schedules, monitor timing constraints during prototype execution, and simulate execution in proportional real time relative to a set of parameterized hardware models. It also provides default assumptions that enable execution of incomplete prototype descriptions, integrates prototype construction with a software reuse repository for rapidly realizing efficient implementations, and provides support for rapid evolution of requirements and designs.
816:…it is asserted that revolutionary rapid prototyping is a more effective manner in which to deal with user requirements-related issues, and therefore a greater enhancement to software productivity overall. Requirements can be identified, simulated, and tested far more quickly and cheaply when issues of evolvability, maintainability, and software structure are ignored. This, in turn, leads to the accurate specification of requirements, and the subsequent construction of a valid and usable system from the user's perspective, via conventional software development models. 1019:: A key property to prototyping is the fact that it is supposed to be done quickly. If the developers lose sight of this fact, they very well may try to develop a prototype that is too complex. When the prototype is thrown away the precisely developed requirements that it provides may not yield a sufficient increase in productivity to make up for the time spent developing the prototype. Users can become stuck in debates over details of the prototype, holding up the development team and delaying the final product. 2509: 1272:" method. Timeboxes are fixed periods of time in which specific tasks (e.g., developing a set of functionality) must be performed. Rather than allowing time to expand to satisfy some vague set of goals, the time is fixed (both in terms of calendar weeks and person-hours) and a set of goals is defined that realistically can be achieved within these constraints. To keep development from degenerating into a " 808:
since there is nothing at that point to redo. If a project is changed after a considerable amount of work has been done then small changes could require large efforts to implement since software systems have many dependencies. Speed is crucial in implementing a throwaway prototype, since with a limited budget of time and money little can be expended on a prototype that will be discarded.
958:: 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. 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 1261:
that encapsulate the services and their implementation (e.g., COTS applications). The architecture serves as a template to be used for guiding development of more than a single instance of the system. It allows for multiple application components to be used to implement the services. A core set of functionality not likely to change is also identified and established.
2499: 1001:) events may have seen demonstrations of "transaction auditing" (where changes are logged and displayed in a difference grid view) without being told that this feature demands additional coding and often requires more hardware to handle extra database accesses. Users might believe they can demand auditing on every field, whereas developers might think this is 1025:: the start up costs for building a development team focused on prototyping may be high. Many companies have development methodologies in place, and changing them can mean retraining, retooling, or both. Many companies tend to just begin prototyping without bothering to retrain their workers as much as they should. 876:. The main goal when using evolutionary prototyping is to build a very robust prototype in a structured manner and constantly refine it. The reason for this approach is that the evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will then be built. 928:
Extreme prototyping as a development process is used especially for developing web applications. Basically, it breaks down web development into three phases, each one based on the preceding one. The first phase is a static prototype that consists mainly of HTML pages. In the second phase, the screens
797:
refers to the creation of a model that will eventually be discarded rather than becoming part of the final delivered software. After preliminary requirements gathering is accomplished, a simple working model of the system is constructed to visually show the users what their requirements may look like
1449:
REE is composed of three parts. The first, called proto is a CASE tool specifically designed to support rapid prototyping. The second part is called the Rapid Interface Prototyping System or RIP, which is a collection of tools that facilitate the creation of user interfaces. The third part of REE is
1260:
The design framework for the system is based on using existing published or de facto standards. The system is organized to allow for evolving a set of capabilities that includes considerations for performance, capacities, and functionality. The architecture is defined in terms of abstract interfaces
891:
For a system to be useful, it must evolve through use in its intended operational environment. A product is never "done;" it is always maturing as the usage environment changes…we often try to define a system using our most familiar frame of reference—where we are now. We make assumptions about the
807:
The most obvious reason for using throwaway prototyping is that it can be done quickly. If the users can get quick feedback on their requirements, they may be able to refine them early in the development of the software. Making changes early in the development lifecycle is extremely cost effective
631:
This process is in contrast with the 1960s and 1970s monolithic development cycle of building the entire program first and then working out any inconsistencies between design and implementation, which led to higher software costs and poor estimates of time and cost. The monolithic approach has been
1467:
In 1996, Rome Labs contracted Software Productivity Solutions (SPS) to further enhance REE to create "a commercial quality REE that supports requirements specification, simulation, user interface prototyping, mapping of requirements to hardware architectures, and code generation..." This system is
1029:
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
909:
To minimize risk, the developer does not implement poorly understood features. The partial system is sent to customer sites. As users work with the system, they detect opportunities for new features and give requests for these features to developers. Developers then take these enhancement requests
1493:
PSDL is a prototype description language to describe real-time software. The associated tool set is CAPS (Computer Aided Prototyping System). Prototyping software systems with hard real-time requirements is challenging because timing constraints introduce implementation and hardware dependencies.
1308:
are frequently used since they are cheap, well known and relatively easy and fast to use. CASE tools, supporting requirements analysis, like the Requirements Engineering Environment (see below) are often developed or selected by the military or large organizations. Object oriented tools are also
1444:
an integrated set of tools that allows systems analysts to rapidly build functional, user interface, and performance prototype models of system components. These modeling activities are performed to gain a greater understanding of complex systems and lessen the impact that inaccurate requirement
623:
The purpose of a prototype is to allow users of the software to evaluate developers' proposals for the design of the eventual product by actually trying them out, rather than having to interpret and evaluate the design based on descriptions. Software prototyping provides an understanding of the
1152:
Operational prototyping was proposed by Alan Davis as a way to integrate throwaway and evolutionary prototyping with conventional system development. "It offers the best of both the quick-and-dirty and conventional-development worlds in a sensible manner. Designers develop only well-understood
802:
Rapid prototyping involves creating a working model of various parts of the system at a very early stage, after a relatively short investigation. The method used in building it is usually quite informal, the most important factor being the speed with which the model is provided. The model then
1279:
Once an architecture is established, software is integrated and tested on a daily basis. This allows the team to assess progress objectively and identify potential problems quickly. Since small amounts of the system are integrated at one time, diagnosing and removing the defect is rapid. User
1241:
Fundamental to ERD is the concept of composing software systems based on the reuse of components, the use of software templates and on an architectural template. Continuous evolution of system capabilities in rapid response to changing user needs and technology is highlighted by the evolvable
1005:
because they have made assumptions about the extent of user requirements. If the developer has committed delivery before the user requirements were reviewed, developers are between a rock and a hard place, particularly if user management derives some advantage from their failure to implement
1012:
Developers can also become attached to prototypes they have spent a great deal of effort producing; this can lead to problems, such as attempting to convert a limited prototype into a final system when it does not have an appropriate underlying architecture. (This may suggest that throwaway
977:: The focus on a limited prototype can distract developers from properly analyzing the complete project. This can lead to overlooking better solutions, preparation of incomplete specifications or the conversion of limited prototypes into poorly engineered final projects that are hard to 1082:
approved. It expands upon most understood definitions of a prototype. According to DSDM the prototype may be a diagram, a business process, or even a system placed into production. DSDM prototypes are intended to be incremental, evolving from simple forms into more comprehensive ones.
1221:
The basis of Systemscraft, not unlike evolutionary prototyping, is to create a working system from the initial requirements and build upon it in a series of revisions. Systemscraft places heavy emphasis on traditional analysis being used throughout the development of the system.
1156:
Davis' belief is that to try to "retrofit quality onto a rapid prototype" is not the correct method when trying to combine the two approaches. His idea is to engage in an evolutionary prototyping methodology and rapidly prototype the features of the system after each evolution.
632:
dubbed the "Slaying the (software) Dragon" technique, since it assumes that the software designer and developer is a single hero who has to slay the entire dragon alone. Prototyping can also avoid the great expense and difficulty of having to change a finished software product.
1247:
Key to the success of the ERD-based projects is parallel exploratory analysis and development of features, infrastructures, and components with and adoption of leading edge technologies enabling the quick reaction to changes in technologies, the marketplace, or customer
1674:
S. P. Overmyer: Revolutionary vs. Evolutionary Rapid Prototyping: Balancing Software Productivity and HCI Design Concerns. Center of Excellence in Command, Control, Communications and Intelligence (C3I), George Mason University, 4400 University Drive, Fairfax,
624:
software's functions and potential threats or issues. Prototyping can also be used by end users to describe and prove requirements that have not been considered, and that can be a key factor in the commercial relationship between developers and their clients.
1252:
To elicit customer/user input, frequent scheduled and ad hoc/impromptu meetings with the stakeholders are held. Demonstrations of system capabilities are held to solicit feedback before design/implementation decisions are solidified. Frequent releases (e.g.,
1242:
architecture, representing a class of solutions. The process focuses on the use of small artisan-based teams integrating software and systems engineering disciplines working multiple, often parallel short-duration timeboxes with frequent customer interaction.
803:
becomes the starting point from which users can re-examine their expectations and clarify their requirements. When this goal has been achieved, the prototype model is 'thrown away', and the system is formally developed based on the identified requirements.
1276:," long-range plans are defined to guide the iterations. These plans provide a vision for the overall system and set boundaries (e.g., constraints) for the project. Each iteration within the process is conducted in the context of these long-range plans. 811:
Another strength of throwaway prototyping is its ability to construct interfaces that the users can test. The user interface is what the user sees as the system, and by seeing it in front of them, it is much easier to grasp how the system will function.
660:
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.
1094:. Evolutionary prototypes may be evolved horizontally (breadth then depth) or vertically (each section is built in detail with additional iterations detailing subsequent sections). Evolutionary prototypes can eventually evolve into final systems. 896:
Evolutionary prototypes have an advantage over throwaway prototypes in that they are functional systems. Although they may not have all the features the users have planned, they may be used on an interim basis until the final system is delivered.
962:
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.
1445:
specifications have on cost and scheduling during the system development process. Models can be constructed easily, and at varying levels of abstraction or granularity, depending on the specific behavioral aspects of the model being exercised.
1484:
data at every iteration of a simulation. This may yield earlier/greater clarity of business requirements, though it does not specifically confirm that requirements are technically and economically feasible in the target production system.
1051:, where the use of screen dialogs is much more in evidence. The greater the interaction between the computer and the user, the greater the benefit is that can be obtained from building a quick system and letting the user play with it. 1358:
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.
1189:
Obviously, a key to this method is to have well trained prototypers available to go to the user sites. The operational prototyping methodology has many benefits in systems that are complex and have few known requirements in advance.
981:. Further, since a prototype is limited in functionality it may not scale well if the prototype is used as the basis of a final deliverable, which may not be noticed if developers are too focused on building a prototype as a model. 707:
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
1116:– used to define, demonstrate, and predict how systems will perform under peak loads as well as to demonstrate and evaluate other non-functional aspects of the system (transaction rates, data storage volume, response time, etc.) 901:"It is not unusual within a prototyping environment for the user to put an initial prototype to practical use while waiting for a more developed version…The user may decide that a 'flawed' system is better than no system at all." 1059:
or systems that mostly do calculations, benefit little from prototyping. Sometimes, the coding needed to perform the system functions may be too intensive and the potential gains that prototyping could provide are too small.
1216:
Systemscraft was not designed as a rigid 'cookbook' approach to the development process. It is now generally recognised that a good methodology should be flexible enough to be adjustable to suit all kinds of environment and
948:: Prototyping can improve the quality of requirements and specifications provided to developers. Because changes cost exponentially more to implement as they are detected later in development, the early determination of 892:
way business will be conducted and the technology base on which the business will be implemented. A plan is enacted to develop the capability, and, sooner or later, something resembling the envisioned system is delivered.
919:
The final product is built as separate prototypes. At the end, the separate prototypes are merged in an overall design. By the help of incremental prototyping the time gap between user and software developer is reduced.
825:. The prototype is implemented using paper and pencil, and thus mimics the function of the actual product, but does not look at all like it. Another method to easily build high fidelity throwaway prototypes is to use a 1414:, allowing software professionals to validate requirements and design choices early on, before development begins. In doing so, the risks and costs associated with software implementations can be dramatically reduced. 993:: Developers may assume that users share their objectives (e.g. to deliver core functionality on time and within budget), without understanding wider commercial issues. For example, user representatives attending 606:
Prototyping has several benefits: the software designer and implementer can get valuable feedback from the users early in the project. The client and the contractor can compare if the software made matches the
820:
Prototypes can be classified according to the fidelity with which they resemble the actual product in terms of appearance, interaction and timing. One method of creating a low fidelity throwaway prototype is
933:"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." 740:. It provides a broad view of an entire system or subsystem, focusing on user interaction more than low-level system functionality, such as database access. Horizontal prototypes are useful for: 1173:
Whenever the user encounters a problem or thinks of a new feature or requirement, the prototyper logs it. This frees the user from having to record the problem, and allows him to continue working.
840:, animatics or drawings is not exactly the same as throwaway prototyping, but certainly falls within the same family. These are non-functional implementations but show how the system will look. 1721: 1039:
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.
1583:
Dewar, Robert B. K.; Fisher Jr., Gerald A.; Schonberg, Edmond; Froelich, Robert; Bryant, Stephen; Goss, Clinton F.; Burke, Michael (November 1980). "The NYU Ada translator and interpreter".
1288:
Efficiently using prototyping requires that an organization have the proper tools and a staff trained to use those tools. Tools used in prototyping can vary from individual tools, such as
1164:
An evolutionary prototype is constructed and made into a baseline using conventional development strategies, specifying and implementing only the requirements that are well understood.
1257:) are made available for use to provide insight into how the system could better support user and customer needs. This assures that the system evolves to satisfy existing user needs. 560: 1386:. Application simulation software allows both technical and non-technical users to experience, test, collaborate and validate the simulated program, and provides reports such as 611:, according to which the software program is built. It also allows the software engineer some insight into the accuracy of initial project estimates and whether the deadlines and 785:
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.
843:
Summary: In this approach the prototype is constructed with the idea that it will be discarded and the final system will be built from scratch. The steps in this approach are:
1348:
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
615:
proposed can be successfully met. The degree of completeness and the techniques used in prototyping have been in development and debate since its proposal in the early 1970s.
1660:
John Crinnion: Evolutionary Systems Development, a practical guide to the use of prototyping within a structured systems methodology. Plenum Press, New York, 1991. Page 18.
763:
is an enhanced complete elaboration of a single subsystem or function. It is useful for obtaining detailed requirements for a given function, with the following benefits:
514: 1625: 1534:
Todd Grimm: The Human Condition: A Justification for Rapid Prototyping. Time Compression Technologies, vol. 3 no. 3. Accelerated Technologies, Inc. May 1998 . Page 1.
1067:. "One of the most productive uses of rapid prototyping to date has been as a tool for iterative user requirements engineering and human–computer interface design." 1985: 905:
In evolutionary prototyping, developers can focus themselves to develop parts of the system that they understand instead of working on developing a whole system.
1800:
Dr. Ramon Acosta, Carla Burns, William Rzepka, and James Sidoran. Applying Rapid Prototyping Techniques in the Requirements Engineering Environment. IEEE, 1994.
910:
along with their own and use sound configuration-management practices to change the software-requirements specification, update the design, recode and retest.
1710:
Davis. Page 72-73. Citing: E. Bersoff and A. Davis, Impacts of Life Cycle Models of Software Configuration Management. Comm. ACM, Aug. 1991, pp. 104–118
1340:. These frameworks typically consist of a set of controls, interactions, and design guidelines that enable developers to quickly prototype web applications. 481: 1233:(ERD) was developed by the Software Productivity Consortium, a technology development and integration agent for the Information Technology Office of the 553: 1212:
Systemscraft was designed as a 'prototype' methodology that should be modified and adapted to fit the specific environment in which it was implemented.
1453:
Rome Laboratory, the developer of REE, intended that to support their internal requirements gathering methodology. Their method has three main parts:
1725: 1234: 887:
This technique allows the development team to add features, or make changes that couldn't be conceived during the requirements and design phase.
323: 1185:
The development team, with the change requests in hand from all the sites, then produce a new evolutionary prototype using conventional methods.
1701:
Software Productivity Consortium: Evolutionary Rapid Development. SPC document SPC-97057-CMC, version 01.00.04, June 1997. Herndon, Va. Page 6.
471: 2368: 2297: 1437:
since 1985, provides an integrated toolset for rapidly representing, building, and executing models of critical aspects of complex systems."
546: 446: 187: 2191: 2094: 719: 466: 1801: 1293: 504: 1324:
As web-based applications continue to grow in popularity, so too, have the tools for prototyping such applications. Frameworks such as
883:"…evolutionary prototyping acknowledges that we do not understand all the requirements and builds only those that are well understood." 1978: 1153:
features in building the evolutionary baseline, while using throwaway prototyping to experiment with the poorly understood features."
1127: 1075: 413: 177: 1812: 679:
Determine basic requirements including the input and output information desired. Details, such as security, can typically be ignored.
2171: 2038: 2023: 1600: 280: 1201:
Development is a class of methodologies that attempt to formally implement evolutionary prototyping. One particular type, called
403: 398: 154: 1078:(DSDM) is a framework for delivering business solutions that relies heavily upon prototyping as a core technique, and is itself 532: 1629: 1349: 2502: 2327: 2254: 2244: 2089: 2018: 1230: 612: 423: 136: 116: 2378: 1182:
If the user likes the changes, the prototyper writes feature-enhancement requests and forwards them to the development team.
1398:. As a solution specification technique, Application Simulation falls between low-risk, but limited, text or drawing-based 2533: 2512: 2307: 2249: 1971: 1352:
can sometimes be the critical part of the development effort, since to the users the interface essentially is the system.
959: 794: 333: 222: 212: 162: 1064: 929:
are programmed and fully functional using a simulated services layer. In the third phase, the services are implemented.
2317: 2176: 2043: 1297: 585: 509: 237: 202: 53: 2239: 2234: 2048: 328: 300: 20: 1460:
Analysis that the needs of diverse users taken together do not conflict and are technically and economically feasible
1030:
structure to support the technology. When this underlying structure is omitted, lower productivity can often result.
2434: 2282: 2277: 2229: 2206: 2186: 653: 451: 295: 182: 172: 111: 1824: 2439: 2429: 1440:
Requirements Engineering Environment is currently used by the United States Air Force to develop systems. It is:
1179:
The user now uses the new system and evaluates. If the new changes aren't effective, the prototyper removes them.
699:
The customers, including end-users, examine the prototype and provide feedback on potential additions or changes.
603:
A prototype typically simulates only a few aspects of, and may be completely different from, the final product.
217: 197: 2342: 2141: 2124: 2033: 652:
An early example of large-scale software prototyping was the implementation of NYU's Ada/ED translator for the
358: 227: 207: 1780: 1480:
or associative models) can help make end-user prototyping more productive by delaying or avoiding the need to
1457:
Elicitation from various sources (users, interfaces to other systems), specification, and consistency checking
1176:
After the user session is over, the prototyper constructs a throwaway prototype on top of the baseline system.
773:
Obtain information on data volumes and system interface needs, for network sizing and performance engineering,
2292: 2136: 1418: 1289: 486: 368: 247: 121: 1811:
Software Productivity Solutions, Incorporated. Advanced Requirements Engineering Workstation (AREW). 1996.
1689:
Alan M. Davis: Operational Prototyping: A new Development Approach. IEEE Software, September 1992. Page 71.
2347: 2104: 2099: 1481: 1422: 1329: 1048: 767: 641: 593: 428: 338: 290: 232: 1280:
demonstrations can be held at short notice since the system is generally ready to exercise at all times.
879:
When developing a system using evolutionary prototyping, the system is continually refined and rebuilt.
2166: 2119: 1264:
The ERD process is structured to use demonstrated functionality rather than paper products as a way for
1110:– used to define, refine, and demonstrate user interface design usability, accessibility, look and feel. 724: 608: 285: 252: 68: 58: 1268:
to communicate their needs and expectations. Central to this goal of rapid delivery is the use of the "
942:
There are many advantages to using prototyping in software development – some tangible, some abstract.
2464: 2161: 2151: 2063: 2008: 1994: 1198: 1044: 978: 348: 192: 93: 73: 34: 2484: 2469: 2337: 2201: 2109: 2053: 1477: 1417:
To simulate applications one can also use software that simulates real-world software programs for
1265: 994: 636: 343: 262: 88: 1511: 1202: 2474: 2114: 1949: 1900: 1855: 1757: 1606: 625: 461: 1317:
Research and Development Center. Users may prototype elements of an application themselves in a
2388: 2146: 1747:
Joseph E. Urban: Software Prototyping and Requirements Engineering. Rome Laboratory, Rome, NY.
1596: 1403: 1325: 1254: 2459: 2403: 2181: 2073: 2068: 1939: 1931: 1890: 1882: 1847: 1839: 1588: 1372: 1355: 1337: 1314: 1056: 822: 646: 418: 381: 363: 353: 78: 1167:
Copies of the baseline are sent to multiple customer sites along with a trained prototyper.
798:
when they are implemented into a finished system. It is also a form of rapid prototyping.
2479: 2332: 2312: 2196: 2058: 1535: 1434: 1310: 305: 257: 141: 63: 2383: 2287: 2028: 833:, a prototype that looks like the goal system, but does not provide any functionality. 2527: 2363: 2131: 1784: 1002: 597: 48: 1904: 1859: 1610: 1450:
a user interface to RIP and proto that is graphical and intended to be easy to use.
2398: 2393: 2322: 1953: 1546: 1301: 1043:
It has been found that prototyping is very effective in the analysis and design of
131: 1585:
Proceeding of the ACM-SIGPLAN symposium on Ada programming language - SIGPLAN '80
1463:
Validation that requirements so derived are an accurate reflection of user needs.
1383: 1318: 1273: 826: 674: 589: 2408: 2373: 1391: 1387: 1379: 1305: 1269: 998: 869: 837: 776:
Clarify complex requirements by drilling down to actual system functionality.
1411: 1395: 1376: 1333: 687:
The initial prototype is developed that includes only user interfaces. (See
577: 83: 1592: 1122:– used to develop, demonstrate, and evaluate a design approach or concept. 2156: 1777: 1104:– used to design and demonstrates the business processes being automated. 1079: 581: 456: 408: 393: 388: 1626:"Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001" 1963: 1944: 1895: 1851: 1697: 1695: 1399: 747:
Demonstration version of the system to obtain buy-in from the business,
1433:"The Requirements Engineering Environment (REE), under development at 2013: 971:
Using, or perhaps misusing, prototyping can also have disadvantages.
167: 1935: 1919: 1886: 1873:
Luqi; Ketabchi (March 1988). "A Computer-Aided Prototyping System".
1843: 1013:
prototyping, rather than evolutionary prototyping, should be used.)
750:
Develop preliminary estimates of development time, cost and effort.
2213: 242: 1468:
named the Advanced Requirements Engineering Workstation or AREW.
2424: 657: 476: 1967: 1796: 1794: 1792: 853:
User experiences/uses the prototype, specifies new requirements
1778:
How Simulation Software Can Streamline Application Development
1758:
https://web.archive.org/web/20060209072841/http://na.dsdm.org/
1097:
The four categories of prototypes as recommended by DSDM are:
744:
Confirmation of user interface requirements and system scope,
628:
in particular makes heavy use of prototyping with that goal.
1738:
Adapted from C. Melissa Mcclendon, Larry Regot, Gerri Akers.
1170:
At each site, the prototyper watches the user at the system.
722:
summarizes the various dimensions of prototypes in his book
1722:"Reshaping IT Project Delivery Through Extreme Prototyping" 580:
of software applications, i.e., incomplete versions of the
1512:"Software Prototyping UK | Prototype Software Development" 1768:
Adapted from Software Productivity Consortium. PPS 10–13.
669:
The process of prototyping involves the following steps:
16:
Activity of creating prototypes of software applications
1571:
Software Prototyping: Adoption, Practice and Management
1344:
Screen generators, design tools, and software factories
584:
being developed. It is an activity that can occur in
736:
A common term for a user interface prototype is the
2452: 2417: 2356: 2270: 2263: 2222: 2082: 2001: 1336:provide the tools necessary to quickly structure a 1063:Prototyping is especially good for designing good 952:can result in faster and less expensive software. 793:Also called close-ended prototyping. Throwaway or 1656: 1654: 1652: 1650: 1648: 1646: 1292:used for rapid prototyping to complex integrated 635:The practice of prototyping is one of the points 1825:"A Prototyping Language for Real-Time Software" 1756:Dynamic Systems Development Method Consortium. 1421:, demonstration, and customer support, such as 985:User confusion of prototype and finished system 1920:"Software Evolution through Rapid Prototyping" 1685: 1683: 1681: 1476:Non-relational definition of data (e.g. using 1160:The specific methodology follows these steps: 1055:Systems with little user interaction, such as 1979: 1382:of another computer program, without writing 1369:Application definition or simulation software 1363:Application definition or simulation software 991:Developer misunderstanding of user objectives 554: 8: 1410:, and time-consuming, high-risk code-based 1017:Excessive development time of the prototype 2267: 1986: 1972: 1964: 1670: 1668: 1666: 1205:is described by John Crinnion in his book 873: 561: 547: 25: 1943: 1894: 1832:IEEE Transactions on Software Engineering 1235:Defense Advanced Research Projects Agency 688: 2177:Software development process/methodology 868:Evolutionary prototyping (also known as 1503: 956:Improved and increased user involvement 33: 515:Electrical and electronics engineering 872:prototyping) is quite different from 645:and his 10-year anniversary article " 7: 2498: 2192:Software verification and validation 2095:Component-based software engineering 1547:"Software Prototyping - INGSOFTWARE" 1429:Requirements Engineering Environment 1425:as those areas are closely related. 1290:4th generation programming languages 592:as known from other fields, such as 1823:Luqi; Berzins, Yeh (October 1988). 1114:Performance and capacity prototypes 1023:Expense of implementing prototyping 1587:. Vol. 15. pp. 194–201. 1516:www.bespokesoftwaredevelopment.com 1076:Dynamic Systems Development Method 1071:Dynamic systems development method 1010:Developer attachment to prototype: 14: 2172:Software configuration management 2039:Search-based software engineering 2024:Experimental software engineering 1086:DSDM prototypes can sometimes be 704:Revise and enhance the prototype 441:Standards and bodies of knowledge 2508: 2507: 2497: 1367:A new class of software called 1207:Evolutionary Systems Development 1194:Evolutionary systems development 1130:lifecycle of a prototype is to: 1120:Capability/technique prototypes 533:Outline of software development 2019:Empirical software engineering 1375:to rapidly build lightweight, 1231:Evolutionary Rapid Development 1226:Evolutionary rapid development 847:Write preliminary requirements 1: 1573:. McGraw-Hill, London (1991). 2044:Site reliability engineering 1298:visual programming languages 859:Write the final requirements 576:is the activity of creating 2049:Social software engineering 1624:SofTech Inc. (1983-04-11). 1472:Non-relational environments 21:Prototype-based programming 2550: 2187:Software quality assurance 950:what the user really wants 684:Develop initial prototype 296:Software quality assurance 18: 2493: 1350:Human Computer Interfaces 1065:human–computer interfaces 2343:Model-driven engineering 2142:Functional specification 2125:Software incompatibility 2034:Requirements engineering 864:Evolutionary prototyping 656:. It was implemented in 654:Ada programming language 281:Configuration management 2137:Enterprise architecture 1419:computer-based training 1408:paper-based prototyping 1148:Operational prototyping 915:Incremental prototyping 639:makes in his 1975 book 505:Artificial intelligence 2348:Round-trip engineering 2105:Backward compatibility 2100:Software compatibility 1423:screencasting software 1296:tools. 4th generation 1049:transaction processing 946:Reduced time and costs 642:The Mythical Man-Month 609:software specification 594:mechanical engineering 429:Infrastructure as code 275:Supporting disciplines 2167:Software architecture 2120:Forward compatibility 1593:10.1145/948632.948659 1309:being developed like 975:Insufficient analysis 874:throwaway prototyping 789:Throwaway prototyping 725:Usability Engineering 588:and is comparable to 286:Deployment management 2534:Software development 2465:Computer engineering 2162:Software archaeology 2152:Programming paradigm 2064:Software maintenance 2009:Computer programming 1995:Software engineering 1199:Evolutionary Systems 1143:Review the prototype 1140:Create the prototype 1108:Usability prototypes 850:Design the prototype 738:horizontal prototype 732:Horizontal prototype 689:Horizontal Prototype 586:software development 574:Software prototyping 106:Paradigms and models 35:Software development 19:For other uses, see 2485:Systems engineering 2470:Information science 2250:Service orientation 2202:Structured analysis 2110:Compatibility layer 2054:Software deployment 1720:Komatineni, Satya. 1406:) sometimes called 1102:Business prototypes 995:Enterprise software 924:Extreme prototyping 856:Repeat if necessary 637:Frederick P. Brooks 29:Part of a series on 2475:Project management 2240:Object orientation 2207:Essential analysis 2115:Compatibility mode 1356:Software factories 1134:Identify prototype 761:vertical prototype 755:Vertical prototype 626:Interaction design 424:Release automation 301:Project management 2521: 2520: 2448: 2447: 2389:Information model 2293:Incremental model 2147:Modeling language 1918:Luqi (May 1989). 1838:(10): 1409–1423. 1047:, especially for 823:paper prototyping 795:rapid prototyping 571: 570: 462:ISO/IEC standards 2541: 2511: 2510: 2501: 2500: 2460:Computer science 2268: 2182:Software quality 2074:Systems analysis 2069:Software testing 1988: 1981: 1974: 1965: 1958: 1957: 1947: 1915: 1909: 1908: 1898: 1870: 1864: 1863: 1829: 1820: 1814: 1809: 1803: 1798: 1787: 1775: 1769: 1766: 1760: 1754: 1748: 1745: 1739: 1736: 1730: 1729: 1724:. Archived from 1717: 1711: 1708: 1702: 1699: 1690: 1687: 1676: 1672: 1661: 1658: 1641: 1640: 1638: 1637: 1628:. Archived from 1621: 1615: 1614: 1580: 1574: 1567: 1561: 1560: 1558: 1557: 1543: 1537: 1532: 1526: 1525: 1523: 1522: 1508: 1338:proof of concept 1057:batch processing 770:database design, 647:No Silver Bullet 582:software program 563: 556: 549: 510:Computer science 419:Build automation 26: 2549: 2548: 2544: 2543: 2542: 2540: 2539: 2538: 2524: 2523: 2522: 2517: 2489: 2480:Risk management 2444: 2413: 2352: 2333:Waterfall model 2303:Prototype model 2298:Iterative model 2259: 2235:Aspect-oriented 2218: 2197:Software system 2078: 2059:Software design 1997: 1992: 1962: 1961: 1936:10.1109/2.27953 1917: 1916: 1912: 1887:10.1109/52.2013 1872: 1871: 1867: 1844:10.1109/32.6186 1827: 1822: 1821: 1817: 1810: 1806: 1799: 1790: 1776: 1772: 1767: 1763: 1755: 1751: 1746: 1742: 1737: 1733: 1719: 1718: 1714: 1709: 1705: 1700: 1693: 1688: 1679: 1673: 1664: 1659: 1644: 1635: 1633: 1623: 1622: 1618: 1603: 1582: 1581: 1577: 1568: 1564: 1555: 1553: 1551:ingsoftware.com 1545: 1544: 1540: 1533: 1529: 1520: 1518: 1510: 1509: 1505: 1500: 1491: 1474: 1435:Rome Laboratory 1431: 1365: 1346: 1286: 1228: 1196: 1150: 1137:Agree to a plan 1073: 1045:on-line systems 1037: 969: 940: 926: 917: 866: 791: 783: 757: 734: 717: 673:Identify basic 667: 621: 567: 538: 537: 528: 520: 519: 500: 492: 491: 442: 434: 433: 384: 374: 373: 319: 311: 310: 306:User experience 276: 268: 267: 158: 147: 146: 107: 99: 98: 44: 43:Core activities 24: 17: 12: 11: 5: 2547: 2545: 2537: 2536: 2526: 2525: 2519: 2518: 2516: 2515: 2505: 2494: 2491: 2490: 2488: 2487: 2482: 2477: 2472: 2467: 2462: 2456: 2454: 2453:Related fields 2450: 2449: 2446: 2445: 2443: 2442: 2437: 2432: 2427: 2421: 2419: 2415: 2414: 2412: 2411: 2406: 2401: 2396: 2391: 2386: 2384:Function model 2381: 2376: 2371: 2366: 2360: 2358: 2354: 2353: 2351: 2350: 2345: 2340: 2335: 2330: 2325: 2320: 2315: 2310: 2305: 2300: 2295: 2290: 2288:Executable UML 2285: 2280: 2274: 2272: 2265: 2261: 2260: 2258: 2257: 2252: 2247: 2242: 2237: 2232: 2226: 2224: 2220: 2219: 2217: 2216: 2211: 2210: 2209: 2199: 2194: 2189: 2184: 2179: 2174: 2169: 2164: 2159: 2154: 2149: 2144: 2139: 2134: 2129: 2128: 2127: 2122: 2117: 2112: 2107: 2097: 2092: 2086: 2084: 2080: 2079: 2077: 2076: 2071: 2066: 2061: 2056: 2051: 2046: 2041: 2036: 2031: 2029:Formal methods 2026: 2021: 2016: 2011: 2005: 2003: 1999: 1998: 1993: 1991: 1990: 1983: 1976: 1968: 1960: 1959: 1910: 1865: 1815: 1804: 1788: 1783:2012-07-22 at 1770: 1761: 1749: 1740: 1731: 1728:on 2016-12-06. 1712: 1703: 1691: 1677: 1662: 1642: 1616: 1601: 1575: 1562: 1538: 1527: 1502: 1501: 1499: 1496: 1490: 1487: 1473: 1470: 1465: 1464: 1461: 1458: 1447: 1446: 1430: 1427: 1364: 1361: 1345: 1342: 1285: 1282: 1250: 1249: 1244: 1243: 1227: 1224: 1219: 1218: 1195: 1192: 1187: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1149: 1146: 1145: 1144: 1141: 1138: 1135: 1124: 1123: 1117: 1111: 1105: 1072: 1069: 1053: 1052: 1036: 1033: 1032: 1031: 1006:requirements. 968: 965: 960:problem domain 939: 936: 935: 934: 925: 922: 916: 913: 912: 911: 903: 902: 894: 893: 885: 884: 865: 862: 861: 860: 857: 854: 851: 848: 818: 817: 805: 804: 790: 787: 782: 779: 778: 777: 774: 771: 756: 753: 752: 751: 748: 745: 733: 730: 716: 713: 712: 711: 710: 709: 702: 701: 700: 694: 693: 692: 682: 681: 680: 666: 663: 620: 617: 569: 568: 566: 565: 558: 551: 543: 540: 539: 536: 535: 529: 526: 525: 522: 521: 518: 517: 512: 507: 501: 498: 497: 494: 493: 490: 489: 484: 479: 474: 469: 464: 459: 454: 452:IEEE standards 449: 443: 440: 439: 436: 435: 432: 431: 426: 421: 416: 411: 406: 401: 396: 391: 385: 380: 379: 376: 375: 372: 371: 366: 361: 356: 351: 346: 341: 336: 331: 326: 320: 317: 316: 313: 312: 309: 308: 303: 298: 293: 288: 283: 277: 274: 273: 270: 269: 266: 265: 260: 255: 250: 245: 240: 235: 230: 225: 220: 215: 210: 205: 200: 195: 190: 185: 180: 175: 170: 165: 159: 157:and frameworks 153: 152: 149: 148: 145: 144: 139: 134: 129: 124: 119: 114: 108: 105: 104: 101: 100: 97: 96: 91: 86: 81: 76: 71: 66: 61: 56: 51: 45: 42: 41: 38: 37: 31: 30: 15: 13: 10: 9: 6: 4: 3: 2: 2546: 2535: 2532: 2531: 2529: 2514: 2506: 2504: 2496: 2495: 2492: 2486: 2483: 2481: 2478: 2476: 2473: 2471: 2468: 2466: 2463: 2461: 2458: 2457: 2455: 2451: 2441: 2438: 2436: 2433: 2431: 2428: 2426: 2423: 2422: 2420: 2416: 2410: 2407: 2405: 2404:Systems model 2402: 2400: 2397: 2395: 2392: 2390: 2387: 2385: 2382: 2380: 2377: 2375: 2372: 2370: 2367: 2365: 2362: 2361: 2359: 2355: 2349: 2346: 2344: 2341: 2339: 2336: 2334: 2331: 2329: 2326: 2324: 2321: 2319: 2316: 2314: 2311: 2309: 2306: 2304: 2301: 2299: 2296: 2294: 2291: 2289: 2286: 2284: 2281: 2279: 2276: 2275: 2273: 2271:Developmental 2269: 2266: 2262: 2256: 2253: 2251: 2248: 2246: 2243: 2241: 2238: 2236: 2233: 2231: 2228: 2227: 2225: 2221: 2215: 2212: 2208: 2205: 2204: 2203: 2200: 2198: 2195: 2193: 2190: 2188: 2185: 2183: 2180: 2178: 2175: 2173: 2170: 2168: 2165: 2163: 2160: 2158: 2155: 2153: 2150: 2148: 2145: 2143: 2140: 2138: 2135: 2133: 2132:Data modeling 2130: 2126: 2123: 2121: 2118: 2116: 2113: 2111: 2108: 2106: 2103: 2102: 2101: 2098: 2096: 2093: 2091: 2088: 2087: 2085: 2081: 2075: 2072: 2070: 2067: 2065: 2062: 2060: 2057: 2055: 2052: 2050: 2047: 2045: 2042: 2040: 2037: 2035: 2032: 2030: 2027: 2025: 2022: 2020: 2017: 2015: 2012: 2010: 2007: 2006: 2004: 2000: 1996: 1989: 1984: 1982: 1977: 1975: 1970: 1969: 1966: 1955: 1951: 1946: 1941: 1937: 1933: 1929: 1925: 1924:IEEE Computer 1921: 1914: 1911: 1906: 1902: 1897: 1892: 1888: 1884: 1880: 1876: 1875:IEEE Software 1869: 1866: 1861: 1857: 1853: 1849: 1845: 1841: 1837: 1833: 1826: 1819: 1816: 1813: 1808: 1805: 1802: 1797: 1795: 1793: 1789: 1786: 1785:archive.today 1782: 1779: 1774: 1771: 1765: 1762: 1759: 1753: 1750: 1744: 1741: 1735: 1732: 1727: 1723: 1716: 1713: 1707: 1704: 1698: 1696: 1692: 1686: 1684: 1682: 1678: 1671: 1669: 1667: 1663: 1657: 1655: 1653: 1651: 1649: 1647: 1643: 1632:on 2012-03-12 1631: 1627: 1620: 1617: 1612: 1608: 1604: 1602:0-89791-030-3 1598: 1594: 1590: 1586: 1579: 1576: 1572: 1566: 1563: 1552: 1548: 1542: 1539: 1536: 1531: 1528: 1517: 1513: 1507: 1504: 1497: 1495: 1488: 1486: 1483: 1479: 1471: 1469: 1462: 1459: 1456: 1455: 1454: 1451: 1443: 1442: 1441: 1438: 1436: 1428: 1426: 1424: 1420: 1415: 1413: 1409: 1405: 1401: 1397: 1393: 1389: 1385: 1381: 1378: 1374: 1370: 1362: 1360: 1357: 1353: 1351: 1343: 1341: 1339: 1335: 1331: 1327: 1322: 1320: 1316: 1312: 1307: 1303: 1299: 1295: 1291: 1283: 1281: 1277: 1275: 1271: 1267: 1262: 1258: 1256: 1248:requirements. 1246: 1245: 1240: 1239: 1238: 1236: 1232: 1225: 1223: 1215: 1214: 1213: 1210: 1208: 1204: 1200: 1193: 1191: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1162: 1161: 1158: 1154: 1147: 1142: 1139: 1136: 1133: 1132: 1131: 1129: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1099: 1098: 1095: 1093: 1089: 1084: 1081: 1077: 1070: 1068: 1066: 1061: 1058: 1050: 1046: 1042: 1041: 1040: 1035:Applicability 1034: 1028: 1027: 1026: 1024: 1020: 1018: 1014: 1011: 1007: 1004: 1003:feature creep 1000: 996: 992: 988: 986: 982: 980: 976: 972: 967:Disadvantages 966: 964: 961: 957: 953: 951: 947: 943: 937: 932: 931: 930: 923: 921: 914: 908: 907: 906: 900: 899: 898: 890: 889: 888: 882: 881: 880: 877: 875: 871: 863: 858: 855: 852: 849: 846: 845: 844: 841: 839: 836:The usage of 834: 832: 829:and create a 828: 824: 815: 814: 813: 809: 801: 800: 799: 796: 788: 786: 780: 775: 772: 769: 766: 765: 764: 762: 754: 749: 746: 743: 742: 741: 739: 731: 729: 727: 726: 721: 714: 706: 705: 703: 698: 697: 695: 690: 686: 685: 683: 678: 677: 676: 672: 671: 670: 664: 662: 659: 655: 650: 648: 644: 643: 638: 633: 629: 627: 618: 616: 614: 610: 604: 601: 599: 598:manufacturing 595: 591: 587: 583: 579: 575: 564: 559: 557: 552: 550: 545: 544: 542: 541: 534: 531: 530: 524: 523: 516: 513: 511: 508: 506: 503: 502: 496: 495: 488: 485: 483: 480: 478: 475: 473: 470: 468: 465: 463: 460: 458: 455: 453: 450: 448: 445: 444: 438: 437: 430: 427: 425: 422: 420: 417: 415: 412: 410: 407: 405: 402: 400: 397: 395: 392: 390: 387: 386: 383: 378: 377: 370: 367: 365: 362: 360: 357: 355: 352: 350: 347: 345: 342: 340: 337: 335: 332: 330: 327: 325: 322: 321: 315: 314: 307: 304: 302: 299: 297: 294: 292: 291:Documentation 289: 287: 284: 282: 279: 278: 272: 271: 264: 261: 259: 256: 254: 251: 249: 246: 244: 241: 239: 236: 234: 231: 229: 226: 224: 221: 219: 216: 214: 211: 209: 206: 204: 201: 199: 196: 194: 191: 189: 186: 184: 181: 179: 176: 174: 171: 169: 166: 164: 161: 160: 156: 155:Methodologies 151: 150: 143: 140: 138: 135: 133: 130: 128: 125: 123: 120: 118: 115: 113: 110: 109: 103: 102: 95: 92: 90: 87: 85: 82: 80: 77: 75: 72: 70: 67: 65: 62: 60: 57: 55: 52: 50: 49:Data modeling 47: 46: 40: 39: 36: 32: 28: 27: 22: 2399:Object model 2394:Metamodeling 2323:Spiral model 2302: 2223:Orientations 1930:(5): 13–25. 1927: 1923: 1913: 1881:(2): 66–72. 1878: 1874: 1868: 1835: 1831: 1818: 1807: 1773: 1764: 1752: 1743: 1734: 1726:the original 1715: 1706: 1634:. Retrieved 1630:the original 1619: 1584: 1578: 1570: 1565: 1554:. Retrieved 1550: 1541: 1530: 1519:. Retrieved 1515: 1506: 1492: 1475: 1466: 1452: 1448: 1439: 1432: 1416: 1407: 1368: 1366: 1354: 1347: 1323: 1302:Visual Basic 1287: 1278: 1266:stakeholders 1263: 1259: 1251: 1229: 1220: 1217:situation... 1211: 1206: 1203:Systemscraft 1197: 1188: 1159: 1155: 1151: 1125: 1119: 1113: 1107: 1101: 1096: 1092:evolutionary 1091: 1087: 1085: 1074: 1062: 1054: 1038: 1022: 1021: 1016: 1015: 1009: 1008: 990: 989: 984: 983: 974: 973: 970: 955: 954: 949: 945: 944: 941: 927: 918: 904: 895: 886: 878: 867: 842: 835: 830: 819: 810: 806: 792: 784: 760: 758: 737: 735: 723: 718: 675:requirements 668: 651: 640: 634: 630: 622: 605: 602: 573: 572: 409:UML Modeling 404:GUI designer 126: 69:Construction 59:Requirements 2090:Abstraction 1945:10945/43610 1896:10945/43616 1852:10945/39162 1388:annotations 1380:simulations 1319:spreadsheet 1274:random walk 838:storyboards 831:click dummy 827:GUI Builder 590:prototyping 127:Prototyping 122:Incremental 94:Maintenance 74:Engineering 2409:View model 2374:Data model 1636:2010-12-16 1556:2018-06-27 1521:2024-01-28 1498:References 1412:prototypes 1404:wireframes 1396:schematics 1392:screenshot 1330:Foundation 1306:ColdFusion 999:PeopleSoft 938:Advantages 870:breadboard 768:Refinement 715:Dimensions 613:milestones 578:prototypes 499:Glossaries 89:Deployment 2418:Languages 1675:Virginia. 1569:Smith MF 1482:normalize 1334:AngularJS 1326:Bootstrap 1313:from the 1237:(DARPA). 1088:throwaway 318:Practices 142:Waterfall 117:Cleanroom 84:Debugging 54:Processes 2528:Category 2513:Category 2379:ER model 2245:Ontology 2157:Software 2083:Concepts 1905:15541544 1860:35348234 1781:Archived 1611:10586359 1400:mock-ups 1377:animated 1371:enables 1080:ISO 9001 979:maintain 691:, below) 619:Overview 527:Outlines 457:ISO 9001 399:Profiler 394:Debugger 389:Compiler 364:Stand-up 2503:Commons 2328:V-model 1954:1809234 1270:timebox 720:Nielsen 708:needed. 696:Review 665:Outline 198:Lean SD 137:V model 79:Testing 2264:Models 2014:DevOps 2002:Fields 1952:  1903:  1858:  1609:  1599:  1332:, and 997:(e.g. 472:SWEBOK 193:Kanban 168:DevOps 132:Spiral 64:Design 2440:SysML 2364:SPICE 2357:Other 2318:Scrum 2278:Agile 2230:Agile 2214:CI/CD 1950:S2CID 1901:S2CID 1856:S2CID 1828:(PDF) 1607:S2CID 1478:CachĂ© 1373:users 1300:like 1284:Tools 1255:betas 781:Types 467:PMBOK 382:Tools 243:SEMAT 238:Scrum 112:Agile 2425:IDEF 2369:CMMI 2255:SDLC 1597:ISBN 1489:PSDL 1402:(or 1394:and 1384:code 1311:LYMB 1304:and 1294:CASE 1128:DSDM 1126:The 658:SETL 482:IREB 477:ITIL 447:CMMI 324:ATDD 233:SAFe 203:LeSS 178:DSDM 2435:USL 2430:UML 2308:RAD 2283:EUP 1940:hdl 1932:doi 1891:hdl 1883:doi 1848:hdl 1840:doi 1589:doi 1090:or 649:". 596:or 487:OMG 414:IDE 369:TDD 359:SBE 349:DDD 334:CCO 329:BDD 253:TSP 248:TDD 228:RUP 223:RAD 218:PSP 213:MSF 208:MDD 188:IID 183:FDD 173:DAD 163:ASD 2530:: 2338:XP 2313:UP 1948:. 1938:. 1928:22 1926:. 1922:. 1899:. 1889:. 1877:. 1854:. 1846:. 1836:14 1834:. 1830:. 1791:^ 1694:^ 1680:^ 1665:^ 1645:^ 1605:. 1595:. 1549:. 1514:. 1390:, 1328:, 1321:. 1315:GE 1209:. 759:A 728:: 600:. 354:PP 344:CD 339:CI 263:XP 258:UP 1987:e 1980:t 1973:v 1956:. 1942:: 1934:: 1907:. 1893:: 1885:: 1879:5 1862:. 1850:: 1842:: 1639:. 1613:. 1591:: 1559:. 1524:. 562:e 555:t 548:v 23:.

Index

Prototype-based programming
Software development
Data modeling
Processes
Requirements
Design
Construction
Engineering
Testing
Debugging
Deployment
Maintenance
Agile
Cleanroom
Incremental
Prototyping
Spiral
V model
Waterfall
Methodologies
ASD
DevOps
DAD
DSDM
FDD
IID
Kanban
Lean SD
LeSS
MDD

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑