Program's Task List

The general functionality is a list of all the things you want the program to accomplish. This is from the end-user's perspective, not the programmer's. While the programmer will be concerned with how a function is accomplished, the end-user is concerned with what functions (tasks) can be accomplished. This task list should be like the marketing blurb on software packaging.

The task list for Big Computer Corp's sales and inventory system might include the following:

Are there any other tasks we might want to accomplish with this program? Yes! I forgot some important ones:

These are all tasks the program should allow the user to do. Once we have our task list created, we can go about grouping these tasks into related areas. Items in related areas will be made available to the user on separate widgets, whether they be windows or tabs or grouped items. One grouping might be like this:

Now we can start forming an idea as to how the program itself will function. The user will first see the primary tab labeled "Products." From there, other tabs are available for the other tasks.