Software Engineering

Web Personal Digital Assistant




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




PDA such as Palm is a very popular device in today's world. This project will implement a PDA that will run on a web site. It is called the WebPDA. Users of the WebPDA will logon to the web site using a userid and password. After a user logon, he/she will be able to access a selected set of web applications.

Web Address Book

An address book in HTML/JavaScript/DHTML/ASP/JSP/Java format that contains people addresses. There will be buttons for Add, Delete and Modify.

Web Calculator

A Java base calculator that will do ... addition, subtraction, multiplication and division.

Web Date Book

A calendar in HTML/JavaScript/DHTML/ASP/JSP/Java format that records appointment for a user. There will be buttons for Add, Delete and Modify.

Web Memo Pad

This function allows users to edit multiple memo pads and store in the web site. A free style editor is provided to create memo pad.

Web To Do List

A To Do list created by the users. There will be buttons for Add, Delete and Modify.

The Web Group Concept

 A web group concept must be supported by the WebPDA. There will be a [Create Group] button and a [Join Group] button when a user logon to the WebPDA web site. When a group is created using the [Create Group] button, the creator will automatically has the right to manage the group. Managing rights include naming the group, adding people and deleting people in the group.

A user, on the other hand, can use the [Join Group] button to join a group. When the [Join Group] button is click, a list of groups will be provided for the user to join. When a group is selected, a notice will be sent to the group administrator (creator) for approval.

Web Date Book and Web Memo Pad will become shared applications once a user join a group. In other words, users in the same group and see each other's Memo and Date Book.

WebPDA Message

WebPDA messages should be supported between group members. In other words, when a user logon to the WebPDA web site, he/she would be able to see messages from other people in the same group.


Implementation Requirement




Java Application Server Implementation



The client should at least implement the following features:






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)

Please remember that a major part of the grading  in the requirement and design parts of the project is based on "format". Make sure that you implement what is said in this document.



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.)