CS 433
Final Project Guidelines and Suggestions
th
Egret To Close: Saturday, December 8 at midnight
Project Demos: Will Be Scheduled For Dec 10 – 16
Below are the some final remarks concerning your project. You should have your project finished by
th
December 8 at midnight. At that time, Egret will be closed for file access (although we will leave http
ports open so you can prepare your demo).
The final two homeworks have been incorporated into your final project; nothing is explicitly due until your
project demo, but we will be checking to make sure you did replication and used cookies.
Since Egret occasionally has stability problems with servlets, do not wait until the last minute to work on
your project! We strongly suggest (and if you have problems with Egret you should do this) that you
download Tomcat yourself (from www.apache.org), and run it on your own computer to test your servlets
and JSP pages. If you download Tomcat to a CSUGLab computer, you can use the DB2 Client
Configuration Assistant to setup a DSN to your database so you can continue accessing your database
from your test pages. Once you have tested your pages, you can copy them to Egret and run your final
tests. If you download Tomcat yourself, and your sevlet crashes Tomcat, do not upload it to Egret!
Remember to always catch all of your exceptions.
You will be scheduling a brief 15-minute presentation in which you will demonstrate your project to the
professors and TAs. The demos will be done during Dec 10 – 16. You should show all of your project’s
functionality, and will asked to answer questions about your project (how you did things, why you did
them that way, etc.). We may also ask to look at some of your source code for your JSP pages or
Servlets. Some of your demo will be you showing things to the professors and TAs, and some of it will be
the professors and TAs trying different things with your projects.
Be sure to backup your project files on a computer other than Egret. If Egert happens to crash badly (this
has happened in previous years), some of your files may be lost when the harddrive is restored.
Below are some of the key areas and questions your project should address.
Database Usage
Your project should interact with the database in interesting ways. Different applications will require
different functionality, but it is expected that you will be creative with your project and to do more than
simple queries.
Questions
1. Does the project demonstrate good use of SQL queries?
2. What types of queries are supported? SELECT? UPDATE? INSERT? DELETE?
3. Do the queries go beyond simple queries?
4. Is there enough sample data so that one can see how query results are used?
Technologies
Through out this project you have seen a variety of lectures and done assignments pertaining to many
technologies. It is important to be able to integrate these different technologies into a single project.
These technologies may be used anywhere, but you should include each at least once.
Questions
1. Does the project demonstrate good use of the following technologies?
JSP
Servlets
SQL
Xml
Xslt
Cookies
Extras (java script, java beans, stored procedures, etc.)
2. We will ask to see a sample of some of your source code for various aspects of your project.
3. Is there good technology integration?
4. Is there good flow between servlets and between JSP pages (that is, your project should not just be a
collection of independent JSP or servlets)?
Database Replication
Your project should make use of two data sources. One data source is your primary data source and can
be accessed by standard SQL queries. The other data source should be more abstract/external. This
means any data you use from this sight should be processed as Xml (ideally, the Xml would come from a
stored procedure). It would be sufficient to do the following:
1. Replicate some of your database tables to serve as your “external data source”.
- for example, replicating a Flights table so you have one for USAir, and one for United
2. Perform SQL queries to gather information from your primary table
3. Write a servlet/jsp function that implements the prototype:
String GetExternalData(params);
// uses SQL to gather data, format as Xml, and return it
// simulates getting data from an external source
This function is similar to what you wrote for the Servlet assignment (formatting data as Xml)
Alternatively, you can use your stored procedure (if it works) to gather the Xml.
4. Merge/compare the results from your primary table, and the Xml table using Xslt and other techniques
of your choosing.
Questions
1. Does the project make use of two data sources?
2. In what ways are two data sources used?
Software Engineering
Although this is a database project, you are building an application. Applications include a rich feature
set, some robustness to errors, a good presentation/user interface, low to zero bug count, and high
quality. Since you designed your projects, you are expected to fulfill the requirements and designs you
proposed throughout the semester. You should bring a copy of your design document to your project
demo.
Questions
1. Does the project fulfill the requirements and designs proposed in the design document?
2. Is the project robust to some errors?
3. Are there bugs in the project that prevent some functionality from working properly?
4. Does the project provide a good presentation for the user interface?