CSE 111 - Course Information

There will be 2 exams (midterm and final) plus the project. Breakdown: 30, 40, 30.


Project: Phase 1

You will develop and implement a simple system with a GUI front end, a middle business logic layer, and a simple database (e.g. file system with a front end). The project will be done in 2 phases. The first will have limited functionality, and the second full functionality. The language of choice is Java. The modeling language is UML. UML diagrams can be drawn using MS Visio, which is available in the lab.

The lectures will involve a (very) simple dating system. You can use this as your guideline. The point is to try out the basic methods and ideas that will be introduced, and not get bogged down in programming in the short amount of time available to us.

The following is a brief overview of the dating system example.

"There are two classes of users: member and administrator. A user starts the system and logs on, giving a name. The system determines the class of user by looking in a member database. If the user is there, then either a get a date or an update data option can be chosen. If the member is not there, a message is given, and the system returns to its initial state. If the user logs in with a special name, then the system goes into administrator mode, and the following options are given: add a member or delete a member. If a member is added, the member data in the DB will be empty until the user puts in the data."
" member has properties on the basis of which a date can be selected. In this case they are: gender, religion, and occupation. These are the properties that are stored for a member, and the properties that a member uses to ask for a date. The system tries to find an exact match. When match is found, the email address for the datee is given, which is also stored in the data base."
"After some function, such as finding a date, the system returns to its initial state, from the which the user can start another session (which requires another logon) or terminate the session."

Note: project deliverables for each phase are due at the same time, as part of the documentation for that phase, i.e. All of the phase 1 documents are due, along with the code, on Lecture 11.

Note Well: You will get the most benefit from the project if you do the non-code documents as they are assigned, and then modify them later as your understanding develops.


Project: Phase 2

1. You will develop and implement the second part of the project. This will involve taking the first part and adding additional functionality. The full functionality will have been specified in the use cases for the first part of the project, and at that time a decision about what to implement first. The documents from the domain model on were for the first part functionality only.

In the second part, we will produce similar kinds of deliverables as for the first part, but for the full functionality. In addition, we will be introducing additional kinds of models and patterns.

If you failed to make the distinction between the first and second increments, and your first program implemented all the use cases, then create some additional augmented functionality for the second phase.

2. In some cases, we will artificially introduce new features into our phase 2 in order to experiment with new design patterns. These are specified in the project exercise steps for each lecture.

printTail(); ?>