These
notes guide you through the understanding of assignment 4.
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).
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?
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.
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?
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?
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.
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.
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.
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.
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.