Software Development

  Assignment 4 Guide

Evaluation Phase

These notes guide you through the understanding of assignment 4.


The Assignment

Assess Your Program



This guide  will help you to: -  

   complete assignment 4

If you need to you should print out the following two assignment documents.

Assignment Scenario

Assignment 4: Evaluation

The Assignment

As with your previous assignments, assignment 4 is concerned with the Ms Lawnsword's Garden Design Company.  In this assignment you will evaluate the program you created in visual basic.

The documentation you need to produce is listed below.

Assignment 4: Evaluation

Documentation required

This task allows you to reflect on the work you have done in the other tasks. You will create a presentation for Ms Lawnsword's which addresses the following points:

  1. That the program has been tested and produces results which show that the original problem has been solved

  2. Similarities and differences (where present) between the final program and your original design

  3. Things which went well during the development of the program and anything which did not go well during development of the program

  4. Things in the completed program with which you are particularly pleased, and the reasons why

  5. Anything, which the program does not solve or cannot do, with reasons.


Assess your Program

Reading the task - we can see that a presentation has to be created.  The focus of this presentation is your program.  You have to think about your program objectively, assess it's good and bad points and decide if the program meets Ms Lawnsword's requirements.

The best way to help you get started is to give you general points to consider.  Then you can think about if  any of these points apply to your program and if so, under which task (a to e).


  • Ask yourself the following question - is my program user friendly?

Look at your program objectively and consider a normal user.  

  • Will they be able to use your program easily.  

  • Is it obvious what all the different textboxes are for?  

  • Is everything labelled properly?  

  • Can the user switch back and forth between your input and output forms easily?  (The user might change their mind about the inputs and decide they want to go back to the input form.)  

  • Do your forms have an exit button on them?

  • Does your program have a menu?  Would you have liked to have included a menu bar like most programs have?

  • Does your program allow a user to print out the results?

Why not try your program out on someone and see what they think? 

  • Ask yourself the another question - does my program look good?

Remember, as a professional programmer you must ensure your work looks professional too.  Ms Lawnsword is your customer and she expects to buy a quality product.  If you demonstrated your program to her, do you think she would be impressed by the look of it?  Is the user interface sharp?  Is it neat?  Compare it to programs you see on your PC and comment on what you think.  

  • Have you included a Help Button and Help pages?

Most programs include some sort of Help. Does yours?  Probably not - you will not have had time.  Would you like to have included a 'Help' option?

Program Accuracy

  • Ask yourself the following question - is my program accurate?

This is an extremely important question.  You cannot sell someone a calculation type program that does not calculate answers correctly.  If you did, you would not keep your job for long.  Also, in some cases, this could be dangerous for the user (consider software for airline companies).

It is your job to ensure your program calculates accurately.  Of, course, the only way you can be sure of this is if you carry out tests on your program.  Have you tested your program?  

  • Is my program accurate for any number of lawns and fields?

Most of you have written your program assuming the user will not want more than one of any lawn or field shape. Suppose Ms Lawnsword has a client with two rectangular lawns - could your program cope with this? 

In other words, can your program cope with a variety of lawn/field shapes and allow more than one of the same type?  Perhaps not, but you can still comment on this and explain how you could change your program so it could cope with this.

  • What happens if the stored data values change?

Ms Lawnsword sent you information on the amount of seed required to cover a square meter and the quantity of seed that comes in a bag.  That all very well, but what happens if Ms Lawnsword's suppliers changed say the amount of seed required to cover a square meter?  Would your program still produce accurate information?  Probably not.  How could you ensure your program can cope with such changes?

  • You could add a stored data form allowing the user to update information amount of lawn seed required to cover a square meter.  

  • Your program could allow a user to change any of the stored data values and save these values to a database file.  Then the user would only have to update the stored data values if they change and not every time they run your program. 

Program Robustness

  • Ask yourself the following question - is my paint program robust?

This is another important question.  Perhaps you do not know what program robustness means.  Think about all the times you have ever used a program and made a mistake in entering some information.  Did the program accept your mistake or did the mistake make the program crash or behave unexpectedly.  A good robust program will display the following characteristics.

  • It will not crash easily if the user inputs incorrect information.  Consider a user entering alphabet characters instead of say a number into your program.  What would happen?  Would it crash?  If it does - it is NOT robust.  

  • It should inform the user if any information they have input is incorrect or strange.  A message box popping up telling a user of their mistake is a normal way of telling a user they are doing something wrong.

  • What happens if say a user inputs information into all of your length, width and radius textboxes but forget to put information into one textbox, say the L-shape field width?  Would this cause your program to crash? What would you like your program to do at this point?  

  • What would happen if a user typed a negative number into one of your textboxes? Would this cause your program to crash or just display inaccurate results? What would you like your program to do at this point?  

  • Consider the rectangular field with the circular pond. What would happen if a user typed a radius value that was larger than the width and length of the field? Would this cause your program to crash or just display inaccurate results? What would you like your program to do at this point?  

  • Consider the L-shaped field. What would happen if a user typed a values for the missing rectangle sides that were larger than main rectangular sides? Would this cause your program to crash or just display inaccurate results? What would you like your program to do at this point?  

Although you have not yet learned how to validate user input yet (i.e. check it for correctness) you should be aware that good programs always validate user input.

The Specification

  • Ask yourself the following question - does my program meet the user's requirements?

Ms Lawnsword asked you to write a program to carry out a specific set of tasks.  Does your program do exactly what she wanted?  Check the scenario, check the problem definition, check your 'what the program has to do and produce' tasks.

In your presentation - state again what the user wanted from the program and comment on whether your program does what was asked.

  • Does your program meet your design?

In assignment2, your were asked to produce various design documents.  For example, you drew input and output forms.  You also specified the input and output variables and their data types.

Look through those documents again and decide if you kept to your design.  If you didn't, then explain why not.  

  • Perhaps you changed the look of your input or output form.  

  • Perhaps you changed the data types to make your program more accurate.

  • Perhaps you didn't correctly specify all the input, output and stored data variables.

If you can consider all these points in your evaluation and place them under the correct task number, then you will have a good presentation. One last point - including picture (such as screen dumps of your program) to illustrate any points you have made will enhance your presentation.





  Unit Information



Scheme of Work

Notes &Tutorials



Books & Things