EIW 2005 Term Project Requirements



The term project is a significant part of your grade! Make sure you read these requirements carefully and ask Dave or any TA about any parts you don't understand.

Term Project Proposals are Due Oct 26th (in lab)

The term project is a project that utilizes a variety of the technologies we have been using throughout the semester. You will build and document a web site that supports e-commerce (or something like e-commerce).


Project Description and Scope

We expect a professional looking web site that supports a high-level of user interaction. A general description of what is expected follows, but feel free to extend/modify this description when developing your project proposal. If we don't think your project is big enough or is too big, we will let you know as part of the proposal review process. Feel free to ask questions while developing your proposal...

  • You should design and develop a web site that allows users to log-in and purchase goods or services. A list of goods and services must be available to the user, as well as a record of the customer's previous purchases (if any). There should be some mechanism for finding items that are for sale, that is, some way to search for items. It is not necessary that your implementation includes thousands of items for sale, but it is important that your system could support thousands of items.

  • Your site should include customer support services, such as account management (changing name, password, address, whatever...), transaction history (reviewing prior transactions, possibly getting status on current transactions).

  • A shopping-cart type interface for purchasing items should be supported. The idea is to make it as easy as possible for users to make purchases - they should not need to type item names into a form to make purchases - a few mouse clicks should be all that is necessary.

  • You should provide some way for users to get help with any part of your web site. You don't need to get carried away with the content of the help documents, but you should provide a manageable mechanism for providing detailed help with any part of your web site.

  • You should consider the management of your web site! If this was a project for a real company, think about how the company itself will interact with the system. How are the databases updated (adding new items, changing prices, updating order status, etc.). Ideally your project will support special services for the people who will maintain the web site.

  • You should think about special services that might make your web site attractive to users. For example, provide a message board or chat rooms so users can communicate with each other, or support product reviews written by users of your site.

  • Finally, you must do something we have not talked about in class! Find a new Javascript trick, use a fancy web tool to provide the content for part of your site (Flash!), use another language, etc. The point is to convince us that you can learn and apply something new on your own.

    .
Implementation Requirements
Other Technologies

Feel free to use technologies we have not discussed in class! You must use the technologies listed above, but you can do part of your project using anything else.

Feel free to borrow code from anyplace you can find it! You may not copy an entire web site, but you are encouraged to find and collect parts from anywhere. You are responsible for understanding every part of your project, so don't include any documents/code that you don't understand. You must state (in your documentation and in the code itself) every part that has been borrowed, including where you got it from and a brief description of what it does. There will be serious penalties for any code that is found to be borrowed and is not documented as being borrowed.

Project Deliverables

Project Proposal

Your project proposal must be submitted by Oct 26th (as hardcopy). The proposal must include the following information:

  • A list of group members. Groups size should be 3,4 or 5 people, if you want a group smaller or larger you must ask Dave first. In general, the more people involved, the more we expect. If you don't know anyone and need to find a project - let Dave or a TA know and we will find a group for you to work with (the sooner the better!).

  • A description of your web site. This should be a technical description, not something an end-user would read. This description should include:

    • A functional description - what your site will do. Part of this should involve requirements in either English or UML.
    • An implementation description - how your site will do it. It is understood that some details will likely change, but you should provide an implementation plan. Update: NO UML is required in the proposal (we haven't covered UML yet!). UML design documents are required here, although the entire UML design in not necessary in the proposal and is probably not a good idea, since Dave may ask you to make changes to the requirements for your project (and you would then need to re-do the design).

    I would expect no more than 4-5 pages for a description of your web site.

  • A proposed assignment of work to team members (a description of who will do what).

  • A great sounding name for your web site

There will be status meetings (during class) where each group will briefly describe the status of their project (no more than 5 minutes). Dave will announce (and post) the dates of status reports for each team, so you will in advance when you are expected to provide a status report.

Your group will present your project to the class during the last few weeks of classes. Assignment of presentation dates will be done based on when the proposal is accepted (once your proposal is accepted you can pick any free time slot - so get your proposals done soon!). This presentation will include a live demonstration of the web site.

During the presentation, Dave, the TAs, and the rest of the class will be allowed to ask questions to make sure the team members understand the project. In other words, if you claim that you wrote the code for part of the site - be prepared to show us the code and describe any part of it!

Project Writeup

You must submit your project (all the files necessary to run your web site) and the project documentation by the last day of classes.

All program files must include comments that describe the code.

Your project writeup should be a technical document for other web site developers, not a user's manual. You must provide a description of how you implemented each part of your site, including the names of the files that make up your site and what part of the system each file belongs to. Your description should be detailed enough so that a competent developer would be able to change/add new functionality without hunting through all your files to find where each part is implemented.

You must include a description of who did what in your writeup! Each individual team member must write a description of what they did (no more than one page per person) as part of the writeup. Make sure this part of the writeup is clearly labeled with the names of the team members!

Grading

Grades will be assigned to an entire project (everyone on the team will receive the same grade). We will do our best to identify individuals who do not make any significant contribution to a project, these students will not receive a grade (we will not treat them as a member of the group). Each student is expected to contribute to the project and to have a good understanding of all parts of the project.

Every student is expected to contribute some programming to the term project. We do not consider HTML to be programming. Feel free to have one person with primary responsibility for providing the HTML (the look & feel) of your web site, but this person must also do some non-trival programming.

If you attempt to tackle a project that turns out to be too large to complete - this will be taken in to consideration during grading. I'd much rather have you work on a project that is too big than one that is too small!

Your grade will depend on a few things:

Misc. Notes

Contact Dave or any TA to discuss questions or any ideas you have.