By design or circumstance, many projects during a student's academic years seem to fall into this category.
This is usually only the case if the software has a short expected life span (several months or less), does not perform any critical functions, and is only going to be used by the developer or by a tolerant experienced user.
For programming in the small, many developers traditionally produce little (if any) documentation beyond the commenting in the code and (perhaps) a short user manual or help facility.
There are still a number of methods we may use to produce quality code (these will become even more important in later semesters when you start working on team projects).
In the first case, there is an exact goal for the software capabilities, and we work on the software until that target is met.
In the second case, we have a set of goals and qualities, but a fixed time frame, so we attain as many of the goals and as high quality as possible in the allotted time.
A rough breakdown of the time spent on small projects is likely to look something like this:
Throughout your computing coursework you encounter ways to effectively identify and record product requirements, carry out design and implementation, conduct appropriate verification and validation, and adequately plan and document software.
Many of the techniques discussed will be "overkill" for small projects. In this opening section, we will discuss some of the common design ideas that should be followed even on the smallest of programs.
Perhaps the most important rule of thumb is to write down everything. Keep a written record of