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 OOP -- CORBA opdrachten

Samengesteld door Alessio Raedelli
Difficulties are assigned on a scale from 1 (easiest) to 4 (most difficult), and depends only on the difficulty of the CORBA dependent design and implementation, not on the user interfaces. In all this assignments think with care about the security side! CORBA as it is now does not offer any warranty about who's talking with a server!

  * Games:
  	- multiplayer games
  		Difficulty: 1 
  		(E.g. chess or draughts)
  	- client/server games
  		Difficulty: 1
  		E.g. muds, monopoly, risk
  * Office:
  	- messaging system
  		1) bulletin board
  			Difficulty: 4
  			The system should support:
  				* public areas (everyone can post and read).
  				* restricted areas (some group of persons can
  				  post and everyone can read).
  				* private areas (some group of persons can
  				  post and read messages).
  				* ...
  			Optionals:
  				* interface with an existing e-mail system to
  				  achive a 'mailing-list' effect.
  		2) personal mail system
  			Difficulty: 3
  			The system should support the Message Distribution 
  			Agent (MDA) part of a mail-system. Look at procmail 
  			for an implementation which uses standard technologies.
  				* arrival of new messages
  				* retrival of new messages
  				* forwarding of new messages
  			Optional:
  				* supprt for the POP3 protocol
  	- distributed TODO list
  		Difficulty: 1
  		The system should support:
  			* a public TODO area.
  			* a private TODO area for each person (think about
  			  security, and how to implement it).
  			* adding an item to the public area.
  			* assigning an item to a private area (optional:
  			  restrict this operation to some users)
  			* items priorities
  		Optionals:
  			* ...
  	- distributed appointments list
  		Difficulty: 2
  		The system should support:
  			* a calender viewer
  			* insert appointments in the calender
  			* warn the user of an appointment
  		Optionals:
  			* view and instert appointments in someone else
  			  (think about security and how to implement it)
  			* interface to an e-mail system as early-warning system
  		For a working exaple have a look at SunSoft's dtcm (to be
  		found in /usr/dt/bin/dtcm), or MicroSoft's Schedule+
  	- conferencing tools
  		Difficulty: 2
  		Think about chatting tools (something like the Internet Relay 
  		Chat), mbome alike tools.
  	- distributed drawboard
  		Difficulty: 1
  * Software Development
  	- bug tracking
  		Difficulty: 4
  		The system should support:
  			* submitting a new bug
  			* assign a bug to an programmer
  			* assign a priority to a bug
  			* add some not to a bug-submission
  			* add a solution to a bug-submission
  		Optional:
  			* notify some user-group of any modification to the
  			  submission.
  		For working examples of commercial products see:
  			* PureSoftware's PureDDTS
  			* GNU gnats
  	- distributing editing
  		Difficulty: 3
  		Write a source management system, possibly based on top of some
  		revision control system (RCS, SCCS). For a working system look
  		at SunSoft's workshop (/opt/SUNWspro/bin/workshop)
  * System Management
  	- system's failure track system
  		Difficulty: 3
  		The system should support:
  			* early warn of a full filesystem
  			* early warn of full swapspace
  			* centralized administration
  			* multiple host support
  

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