Prototyping in the software development process is now widely used. First of all, we must be clear that any method or tool is Wei we develop, produce process service of, this must be clearly we can not become the slave method or tool, as long as we think that this methodology or tool to process our useful, you can boldly use, otherwise, it is a dogmatic.
When today's popular software development methodology, such as RUP, agile development, Iconix, are all in order to reduce the risk of early project development objectives, whether you are project-oriented software development, or product-based software prototype in the development process have an important role. Can be said that the entire software development life cycle, prototyping, all will go through the requirements analysis, design, and detailed design the whole, or even the entire process of implementation.
Prototyping is a very practical way, from the technical division of the surface can be divided into the interface prototype and architecture (technical program) to verify the prototype, the following I will combine the recently developed voa English repeat the process network described these two prototype technology .
Interface prototype, the prototype tool is to use software to analyze customer needs and the designer's understanding of the mind quickly reflected in the interface of media to facilitate communication, to achieve the purpose of verification requirements as soon as possible, as soon as possible factors clearly some uncertainty The author at work on the interface prototype for a number of their attempts, and to share about.
First, the user needs to come back after collecting a simple order, the development group, called the company experienced staff to discuss the definition of needs and draw on the whiteboard prototype sketches, then a rough prototype may only contain the core of the main interface elements and the jump page to see flow, while everyone agreed on the interface, the use of digital cameras take pictures down, order a document, a prototype for later provide the basis for reusable interfaces. The process tool as a brush, white board, camera, producing a prototype only achieved after the post page for reference.
Second, based on agile development process, the customer representative on the spot, this time, you can directly draw a pen on paper sketch interface to communicate with customers, understanding where the deviation, the scene immediately amend the agreement, of course, can also be iteration of the product directly on the amendment; this process prototype tool for pen and paper, can understand the deviation in rapid feedback to the project to revise as soon as possible.
Third, the customer is not on site to produce computer-based graphics format prototype. That approach, using rapid prototyping tools, based on the understanding of the needs of the rapid realization of the prototype can be discarded. Prototype tool at this stage a lot, I used several and all share on this:
1, MS office office suite: word, execel, powerpoint three software can make a more attractive interface prototype, disadvantage is not the person familiar with Microsoft Office productivity suite will be very low, especially in the prototype project, more pages case, the tool does not apply.
2, Viso, this is a Microsoft interface prototype, but more inclined to do the desktop application interface display.
3, flash, flex, such tools do interface prototype fast, and very intuitive, if you later realize is the language used, then create a prototype interface is the interface prototype reusable it.
4, webpagemaker, is a prototype web interface design tools, made very quickly can interact with the prototype, can export the html code, but the page elements all have adopted a div + css positioning, poor readability, can be almost no maintenance, Therefore, in the latter part of the project can not reuse the prototype, therefore, webpagemaker is a web application development on the rapid prototyping tools can be discarded.
5, guiDesigner, the tool is a generic prototype tool, whether it is to do web applications or desktop applications, are more applicable, and the tool can interface with the cable marked relations between the process and can be full-screen presentation. Individuals do not like this tool, because the lack of personality to make a prototype, and can not be installed in the Chinese directory.
6, DreamWaver, a very good web prototyping and development tools, web project development, I tend to use this tool to achieve the camera to shoot the white board on the prototype with customers to use, if confirmed by the user The prototype will be directly applied to the latter part of the project (directly into jsp or freemark, velocity and other pages).
7, Balsamiq Mockups, foreigners with flex air to write a desktop rapid prototyping tool, and there is very fast prototype design, whether it is desktop application, mobile application, or desktop applications, are more suitable for the interface effect was very good (like the manual draw the same), modified very easily, but the software is required to be registered (registration fee is also more expensive oh), can not save the design results. Another point, the tool file for each page are stored as separate files, therefore, interact across the page file can not be realized.
Voa English repeat network, carried out on the use Balsamiq Mockups prototype design, and operations in the course of discussion, the scene quickly changes to the prototype to meet operational objectives, but also conducive to the realization of the late developer, the following picture attached to a website Zhang, the finished product, we can www.fudu365.com , to see the effect and ultimately how much difference between the initial prototype. (Following a line attached to the prototype design of a repeater interface).
Overall, with some of the above tools as a prototype to the customer site can be live demonstrations, you can also email or im tools to clients to identify needs, or ideal. Stress once again that the interface prototype to achieve points: the main interface elements on the page, the page interface elements and interactions between the page. Interface prototype is an important means of verification requirements, and some people call it needs test.
Prototyping technology can be used to verify the feasibility of the program and structure, the prototype of the architecture design and technology selection, risk control techniques have a very important role, some people also call it vertical prototyping. I am in the development of voa English repetition net early, built on the English article on the capture of htmlparse technical verification, use the flex socket communication through real-time chat with a simple prototype, and the player lrc file delay repeat function of key technologies implementation, we use these prototypes to prove the technical feasibility, the framework of rationality and reduce risk. Later development of early prototype can be re-reference to more detailed design, or directly in the evolution of early prototypes on the completion of follow-up development, therefore, such a structure prototype validation is reusable.
Prototype software development and design staff to help early detection of various stages of design from defects in the early to solve some demands of the bug, Schema Not Available on the realization of factors, dramatically reducing software development risk and development costs. Risk reduction is the goal pursued by various development methodology, has led to the widespread use of the prototype method.