Software Engineering

Internet Communication Board

(iBoard System)



The objective of this project is an application of software engineering principles and techniques to the development of a Internet software system. It covers various aspects of object-oriented analysis, design and programming. It also provides an opportunity for a hands-on experience with client-server Internet programming using Java, JavaScript, CGI programming and HTML. Mastering the materials in class as well as the ability to learn new things quickly will be essential for success in this project.

This page is copyright and if you use any of the original ideas in the future in any commercial way. Please email for approval.



Skills Required




As the development of the Internet, people from different parts of the world are brought together by a single network. As a result, utilities for mobile users start to take active roles. Different implementations exist in the market today to serve moble users. Most of the implementations, however, are vendor specific. For example, you have to load Exchange/Outlook/Notes on your portable PC in order to access your groupware (email, database, bulletin board) features.

Ideally, the users can "logon" anywhere in the world and access the essential information he/she needs. The iBoard system is built as the next killer web-based communication systems for mobile users. Users can logon to the iBoard system and access instant messages from their co-workers and friends, post and access MIME eboard messages, access authorzied database information, etc.

projpic1.jpg (29814 bytes)


Implementation Requirement

projpic2.jpg (42083 bytes)

The client should at least implement the following features:



Java Application Server Implementation




This system is supposed to be developed according to the software lifecycle taught in class. Good software engineering principles must be followed. In particular documentation must be good.

  1. Requirement and specification including Object Model, etc
  2. High-level design
  3. Low-level design
  4. Coding
  5. Test Plan
  6. Testing including bug list report




As the whole class will be working on similar projects, relative grading will be used. In other words, all the projects will be ranked within the class and points will be assigned accordingly. A lower point bound will also be used to ensure that some of the core features are implemented in the project. (For example, 150 points for base features, 100 points for extra features)



Web Ideas



Final Word of Warning

This is not an "easy" class and the project is an essential part of the overall grade. If you study the grade distribution of past semester, you will find out there are 13 A and 8 F. People who did not deliver the project well enough could really hurt their grade as the project contains more than 50% of the overall grade.


On the bright side, most of the students in the A range did really well in the project. So, there is no upper bound for an A. (In other words, I do not limit the number of A in a class.)