Web Queries: Methods and Tools
Mar. 18, 2004
Due Apr 1
Project Design and Prototyping
In this homework, you are asked to describe the design and fast prototyping of your project. You are expected to have a complete design and a preliminary implementation for a most basic core part of your project.
Complete design. Whatever your project is, you will be processing XML data or HTML data or both, and depending on your project, you may or may not have a GUI component. For the kinds of data and kinds of operations in your project (that you should have from your project description in Assignment 4), this assignment asks you to describe how the data will be represented (i.e., the schema/types for your data), how the queries (and other operations, if any) will be implemented (i.e., the procedure/steps for each operation), and how all will be put together (e.g., through input/output files and/or GUI). If your project involves comparing different implementations (e.g., in XQuery and Java) of the same queries, you need to have a design for each of the implementations. If your project has a GUI component, you need to include the design of the GUI. If your project uses existing tools (e.g., Quip or another XQuery tool), you need to describe how they will be used.
Prototyping. Pick a very minimum in the core of your project (e.g., a small subset of queries on some XML data, retrieving HTML data from various websites, or converting between some XML and HTML data), and implement it. The results should be testable and make sense. You could have at little as, say, one query working on, say, one small set of meaningful data. You can extend your implementation as much as you can if you have time. Just don't do the GUI part (without any XML or HTML processing) first. You need to describe the effort and result of this initial preliminary implementation in your handin.
Hand in a printout, in class, that contains the complete design as well as the description of the effort and result of your initial implementation. You do not need to hand in anything electronically. I expect this homework to be at least 4-8 pages, depending on the density of your printout. I prefer your printout to be double-sided and two-up (2 pages on 1 side) if possible (to save some trees...).
This homework is worth about 6% of the course grade. Exceptionally well thought-out and well written homeworks will receive appropriate extra credit.