
Algorithms and Programming II
Implementation Stage
Introduction
By now you should have not only a very good functional design, but also a
detailed sketch of the classes comprising it. You should also have divided the
work up between group members. All that's left now, is to actually implement
(test, distribute, & maintain) it!
Below are a few tips which might help speed this process.
Some Tips
- Get the main/core functionality of your program working first. If time permits you can include
the fancier features, but at least try to get the barebones
working as soon as possible so you have something to show the customer (and
the boss!)
- Like many systems, Java is too big to learn by sitting down and reading
all the manuals. Certainly you should scan them to get a general idea of
what is possible, but don't try to memorise them. Rather, know what you want
to do and try to actually do it. Concentrate on solving
specific problems, one after the other, that way you will gradually become familiar
with the environment and, perhaps more importantly, you will learn how to
find solutions to new problems much quicker!
- If possible, try to find working code that does some of what you
want, look at it and see how it works. Check your textbook, Sun's Java
tutorial, the demos directory for your
development environment, and search the web. If you find a sample
program that does the right sort of things, take it as the basis for your
program and build upon it. Caution: Beware of copyright issues and of plagiarism.
We encourage you to (re)use other people's code, that's part of engineering
and one way you can demonstrate independent learning, but make sure you
acknowledge your sources!
- You should have already divided the programming tasks among the group
members. By developing the various parts of the program simultaneously,
progress can be very fast. However, make sure you try to integrate work done by
different people, early and often. The sooner you check whether the
pieces work together
properly, the easier and quicker you can correct any problems that might be
brewing as a result of misunderstandings or incomplete specifications!
- Consider using a visual development environment, such as NetBeans or Eclipse, to
quickly generate your GUI from your UI stage report. Immediately change the
default names the IDE automatically gives each UI component, to something
more meaningful within your application
(e.g. rather than button27 & textfield5, have names like, configButton &
summaryTextField!) Also, be sure you follow the MVC design pattern; do not
do everything in your UI class, instead have event handlers update a
separate model object!
- Don't forget the lessons you (hopefully) learnt in CS101, that is: the
use of comments, white space, correct indentation, and meaningful names.
Every file must have a header comment that says what it does, who wrote it,
& when.
Final Remarks
Unfortunately, there is very little time left to implement your designs, so
don't waste it. Remember, CS102 is not just about design and programming, but
about learning to work together. Try to find the answer to your specific
problems yourself, but, after spending a reasonable amount of time and effort,
if
you still cannot solve them, then ask for help. Teamwork is about helping each
other, you help others and they help you. Use the
CS102
Moodle Forums to ask for and offer help.
GOOD LUCK
----------------- O -----------------
(c) 2011, 2001, 1998, 1996 David Davenport