BIT320 Assignments — project2

November 9, 2005

Project 2 — Requirements

The bottom line on what you need to do for Project 2 and the due dates.

Topics:

The second project is intended to give you a chance to implement an Internet-based interface for what you did in Project 1. I am leaving the project fairly open-ended in terms of the mark-up you use to create this interface and the functionality you choose to implement. You could have your interface completely in html or have some of it be in RSS. It's up to you.

I expect most people will use html since that is what we are focusing on in class. As detailed below, I will give 10 points extra credit for successfully implementing RSS. We have no in-class examples of transforming data into valid RSS feeds, necessitating much extra work for people attempting to make this leap.

I also expect most people will choose to implement just a subset of the functionality listed in the requirements below. For instance, they might just implement a number of the reports and an input page, doing the rest as an html mock-up with no functionality. Some ambitious souls might attempt to implement everything.

Those are your decisions. The following are requirements:

  1. You use XSQL pages to access the database.
  2. You use XSLT to transform the XML returned by your XSQL pages.
  3. You create html (or some other kind of) mock-up for the functionality you do not implement

When it is due

On December 13, you will give a preview of your project as an in-class presentation. You need to start the preview by explaining how your project will fit into Denali's current operations. The preview will show the forms and reports whose functionality you have already implemented and outline what functionality you expect to complete by the project due date. Of necessity, the preview will be brief, no more than 20 minutes. Try to make it have as much impact as possible. By 5 PM the day of the final exam (December 20), you will hand in your final project to my office (E2424).

Even in its final form, your project will be a proof-of-concept prototype. You will likely not be able to implement all of the functionality you think you need to. As part of your final deliverable, you need to provide an indication as to why you chose to implement the parts that you did and how they provide a good overview of the system's intended functionality.

What you should do:

  1. Periodically read this document off the Web to see if it has been updated. I will post anouncements on the web site if this happens.
  2. Develop XSQL and XSLT pages that implement all or a subset of the following capabilities:
    • Pages that you can use to input data (minimum 2).
    • Reports based on views (queries) of your database (minimum 4). These may be in HTML or RSS. I will add 10 points to your grade if you successfully implement at least one of your reports in both HTML and RSS. Note, implementing RSS means that you will be generating a valid feed, not just a well-formed. Warning, this is potentially frustrating work.
  3. Implement some kind of mock-up for what you choose not to implement beyond the minima listed.

What you should turn in (exactly)

On December 13, you will do the in-class preview described. This will be worth 10 percent of the project grade. In the preview, you should show:

  • A description of the company and why the project is beneficial.
  • At least two implemented pages.
  • A final list of the functionality you intend to implement
  • A brief discussion of how you are attempting to re-use XSLT templates

By December 20 at 5 PM, you should turn in the following pages stapled together.

  1. A title page containing your group name (if you have one), the names and uniqnames of the people in your group, the URL of your start page, and "Project 2 in Fall 2005".
  2. Your XSQL pages. These should use bind variables where appropriate. The pages should include comments documenting what you are trying to do in each XSQL tag (e.g., the following xsql:query tag obtains the client's past history...).
  3. Your XSLT stylesheets. These should be commented like the XSQL pages. I will judge these based on two criteria: 1) the extent to which you are able to effectively re-use templates in similar situations; 2) Your use of templates to dynamically create form elements and other page features instead of just statically coding these in. XSQL2 gives examples of the kinds of re-use I am looking for.
  4. html (or other) mock-up of the functionality you choose not to implement. You should hand in each html page.
  5. If you implement RSS, you must provide proof that your feed validates. At the minimum, I will expect it to load in the Sage feedreader we have been using in class.
  6. A "show all tables and columns" report detailing the Oracle tables and views you are using for Project 2. This report should not list any extraneous tables or views that do not relate to the project.
  7. A write-up of no more than three pages describing Denali, stating the value Denali could derive from your project, and justifying the choice of functionality you implement.

Groups

You are free to form your own groups. You may stick with your groups for Project 1 or alter them.

Strategies for Succeeding in This Project

Obviously, you will get more credit the more functionality you successfully implement. However, there are trade-offs. Attempting to implement more functionality may mean that you skimp on re-using XSLT templates and documenting everything with comments.

Therefore, people who attempt to implement everything may receive lower grades than those who selectively implement.

My advice on how to proceed is to first lay out the pages you think would be required to implement all of the functionality you need. Then pick a small number of pages you think you know how to do and try to implement them. You will encounter problems. Figure out how to fix these problems. Once you succeed at implementing the first small group of functionality, decide if you have the time to implement more given all of your other commitments.

Some people may find they have bitten off more than they can chew. If this is the case, cut back on the functionality and focus on quality.

The bottom line is to sacrifice scope for quality. Use your three-page memo to justify your decision.

Bud last edited this November 9, 2005 | Permalink | Comments (0) | TrackBack (0)