Updating the daily line is a data import feature that we often encounter.
The explanatory text of this feature, which I wrote:
Users in the first use of the system, the need to install the Shanghai and Shenzhen from the opening to the current year all the historical data, which can be obtained from a securities market software, is to follow a certain format of binary files. Thereafter, every day after the end of the market, users must update the day of the daily market, of course, users may also update in a few days after the recent days of the daily market. Users update the daily line to establish a complete and accurate data base, and all of our analytical work is based on these daily data.
In fact, this is the only simple description that can be used to clarify the purpose of the function and the specific application scenario.
Inevitably, we need to do user experience design, which is a prerequisite for transforming functionality into a series of development tasks. The so-called user experience design, we can simply understand as part of the interface design. The interface design includes two aspects: 1, how to be more beautiful, 2, set which minimum function to meet the user's all requirements. The latter can be simply understood as "user experience design".
We can follow the function of the description of a step-up deduction, followed by the whole process of thinking. First, we need to list the actions that the user may need, the problems they may encounter:
1, the user every time to update the daily line will need to select a market file, and then start updating.
2, the user may mistakenly operate, resulting in the selection of the file is not a real market document.
3, users from the analysis software to generate market documents, may include only one market data, or contain futures, Hong Kong stocks and other market data.
4, the user may not remember the last 10 days whether the daily line of the market has been updated.
5, when updating the daily line, users need to see the progress of the update
6, the user may have no confidence in the data stored in the system, ready to re-start the first day of the market to install historical data.
7, the user may update a file two times, or some data has been installed but the user selected another market file contains this part of the data.
In view of the above situation, we can simply design the interface elements, of course, there is no need to consider the aesthetic problem, just focus on: 1, the user encountered the problem, whether all can handle; 2. The interface is the simplest and easiest to understand when dealing with all problems. After simple thinking, we can get a prototype of the interface, where the VC 2010 dialog Designer can simply sketch the following:
The first line, the "date" part, the user will be able to see the current installed market data start and end date, each time after the installation of data here to refresh, so that users can always be aware of. The following line is easy to understand, the left is the file selection control, the right is the button to start the update. The third line is the progress of the text information reporting area, just enter the interface when it is obvious to remind users to select a file. Line four is the progress bar, and the progress bar reports the progress of the update after the update is started. The next two buttons, the first one is to delete the latest five day line, the second is to delete all the daily lines.
There is no need for too much analysis, and we know that the form of this interface is capable of dealing with all the situations that the user may encounter. Novice programmers are easy to ignore, is the report system in the beginning and end of the market and progress text area two parts.
Something like this, some senior project manager might disdain, because what? "You seem to have entered the interface design prematurely," Yes, indeed. But honestly, how would he assign development tasks to the team's programmers if the project manager's brain doesn't have the form graphics in the quickest possible time? Therefore, scholars often say that the Master of Project management, do not need to know programming, in the field of software and even in any other areas, this is simply a sheer nonsense. Do the team, actually do not need a finger-pointing person, everyone needs to be very clear, very simple to know what they do today, what to do tomorrow, how to do is the standard is what, layman how to use his imagination to achieve? A crappy programmer can never be a competent project manager, like a man who has never touched a gun, how could he command a mighty army? Of course, the company manager can not understand the technology, why, because he can wrap this piece, the technical director will be responsible for him, the company manager will not tell the technical team specific to each job.
So, after completing the user experience design, we decided that the development task was actually very simple:
The above is the first function of the task list, of course, some of the TFS terminology translation is very blunt, such as the stack level, is actually the development of the order, user stories, is the function; we simply assign these tasks to different members of the team, and the project manager can generally start to be a simple supervisor.
For this function, I would like to focus on a simple repetition test, that is, the loop to install a file, delete all the daily line, install the same file, so loop multiple times, so as to determine the robustness of these two functions. Because of the need to show progress, the operation of updating the daily line is best run in the background, so that the interface is not zombie, then this test is a test of this part of the background operation.
So far, we've covered the whole process of starting from the start Project to the programmer starting to write the code. In fact there is not much extra work, but the whole development process will be more prescriptive in this simple mode. If there is still time and interest at the back, the development process may be fully described and the process of learning vc++2010 recorded.
Personal Software Process 4 functional description and user experience design