Object-Oriented Software Development

from sept 2002, the OO course will be given by Ralf Laemmel
[] guestspeakers college practicum resources

talk show tell print

practicum object-oriented software development

studyguide

objectives

To gain practical experience in deploying object-oriented design and implementation techniques.


register assignment projects documentation

notes 2001/2002

The course has been very much centered around components and patterns. Interesting items that have been discussed include, embedded software (components), the new .NET technology, and XML.

It is only natural that these topics will also be prominent in the practical assignments.

challenges

If you wish to participate in the practicum, you must be willing to take on a challenge.

Major challenges in O-O software construction (still) are:

All these subjects have been treated, or at least hinted at in the OO Lectures. If you did not visit any of these lectures, I do actually want to discourage you to participate in the practicum. You do not learn much from writing an other Java program, do you?

assignments

The suggested assignment, the Virtual Dealing Room, incorporates all the challenges mentioned above. It is ambitious, indeed, but certainly relevant, since virtual communities will become a dominant phenomenon on the Internet. It is an example of a knowledge-intensive, distributed application area, for which O-O provides, in principle, the solutions required for their realization.

Of course, you are welcome to think of variations on this theme.

If you think that the technology will be too much to master, don't worry. This will usually be sorted out.

Although it would be nice to have a real 3D interface to the community, I am aware of the fact that most of the technology involved is still somewhat unstable. See MMA1 Web3D for more information on VRML/Web3D technology. However, even without using 3D technology, you must strive for an intuitive interface that that is suited for the application domain.

procedure

To enter the practicum, you need to write a synopsis and register yourself using the online registration. If required, you must make an appointment to discuss the synopsis with the supervisor.

See also the Regulations below.

supervision

Anton Eliëns eliens@cs.vu.nl

software environment

Programs have to be written in either Java, C++ or DLP, with appropriate libraries. The use of CORBA, and a combination of C++ and Java is strongly encouraged, as is the use of XML-related technology.

Soft-copies of the documentation need to be available in HTML or PDF. Other platforms, toolkits or formats, may only be used after consulting the supervisor(s).

regulations

The practical work can be done in groups of two persons or on an individual basis, after choosing one of the given assignments. Students are required to send the URL of a synopsis (a short, comprehensive description of the requirements and functionality of the application in HTML) to eliens@cs.vu.nl first. Note, submission in any other format will not be considered.

During the course of the project, the synopsis page must also give information about progress and other documentation. See the Procedure above.

Read the section about the review procedure and the style guide before you start!

After approval of your synopsis, a group account can be requested at the helpdesk. These accounts will generally expire on September 30, and can only be extended after an explicit request to the helpdesk.

submitting the assignment

Submitting the assignment must be done by url, that is there must be a link to the documentation and (zipped) source code on the synopsis page. Mail the url to the supervisor and make an appointment for a demonstration. During the demonstration you must be able to answer questions about design, architecture and implementation.

requirements

Quality of design is an absolute requirement. This must be reflected both in the implementation by the definition of adequate interfaces and the use of inheritance and delegation and in the documentation explaining the rationale of the design. The use of design patterns is strongly encouraged. Also you're invited to define separately IDL interfaces for the major components of your application, whether or not you use actual CORBA technology for the implementation.

time schedule

Note: Students are responsible for a steady progress and should contact the supervisors in case of problems in an early phase. If you miss the August deadline, you may continue working on your assignment, but no help will be available, and new versions of Java or CORBA may be installed. Additionally, after submitting, your assignment will probably not be reviewed within the usual time frame.


[] guestspeakers college practicum resources
eliens@cs.vu.nl