It is important for engineers to follow a structured process when developing software. A
structured ap-proach to software engineering helps to ensure that the software produced is
of high quality. An important part of this approach is the careful documentation of each stage
of the process in the form of a report. This assignment gives you practice in software
development and report writing for software engineering. Treat the task you have been given
as a set of requirements; you could imagine that they have been given to you by a client. If
you feel that the requirements are unclear, you may make realistic assumptions as necessary;
however, you must make sure that you document these assumptions carefully.
You are required to complete the task using the C Programming Language for a PC running
the Microsoft Windows operating system (i.e. the language and type of computer that you
have been using in the laboratories).
IMPORTANT: We have a policy of marking anonymously. Do not identify yourself in your
report or your programs. Use only your student Examination number. Make sure that your
examination number is printed on your report (first page).
Your report should document the development process that you have been through, leading
up to the cre-ation of a piece of software. This should correspond to the development model
that you have covered in the lectures and is detailed in the labscripts. Your report should
consist of no more than 12 pages (minimum font size 10 point), including diagrams and
Your submission should contain:
1. The Requirements that were given to you;
2. Your Analysis of the problem, and any assumptions you feel you will have to make;
3. A Specification for your software that you have derived from your analysis of the
4. Documentation of the Design process you have used.
5. Documentation covering how your program is structured into source files and any
changes you made from the design as originally stated in your specification. You
should justify any changes to your design that you made during the implementation.
This should take the form of an Implementation Report.
6. Documentation of the Testing and Verification process that your went through to
ensure that your program executes as you required;
7. A simple User Manual.
8. Source programs.