DOC PREVIEW
MIT 6 170 - Study Notes

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

IntroductionRequired FeaturesAwardsGrading, Deliverables and ScheduleWeekly Meetings with TAResourcesThird-Party Jars and ToolsParsing XMLParsing RSSRendering HTMLProject ManagementBug TrackingDatabasesAOL Instant Messenger (AIM)MiscellaneousJava Web Start (JAWS)The Problem That JAWS SolvesConfiguring Your Application for JAWSSee JAWS in ActionJAWS GotchasOutline Processor Markup Language (OPML)Specifications for Various RSS FormatsReferencesClarifications and Errata6.170 Laboratory in Software Engineering Fall 2005 Final Project: RSS Client Due: See Schedule Contents: • Introduction • Required Features • Grading and Schedule • Awards • Resources o Third-Party Jars and Tools  Parsing XML  Parsing RSS  Rendering HTML  Project Management  Bug Tracking  Databases  AOL Instant Messenger (AIM)  Miscellaneous o Java Web Start (JAWS)  The Problem That JAWS Solves  Configuring Your Application for JAWS  See JAWS in Action  JAWS Gotchas o Outline Processor Markup Language (OPML) o Specifications for Various RSS Formats o References • Clarifications and Errata Note: It has been brought to our attention that some 6.170 students have acquired Repetitive Strain Injuries (RSI) over the course of the final project in the past.Introduction There are two final project choices this term. For your final project, you can choose to work on either RSS Client or Gizmoball. This handout describes the RSS Client. For information on Gizmoball, the other project, please refer to the 6.170 projects section. If you choose RSS Client as your final project, your project will be to design, document, build, test, and release a standalone, desktop RSS client in Java.Required Features In short, an RSS client downloads news articles and displays them. The articles are organized into feeds. A feed is identified with a URL, and, at any one time, accessing that URL returns a file containing the articles. Each article typically has a title, a summary, and a link to a web page for further information. The feed file is formatted in XML, using one of several RSS standard formats. (To see an example of a feed, look at http://www.slashdot.org/index.rsswhich is an RSS 1.0 feed for http://www.slashdot.org/.) You can also try Google's online RSS reader for free. As new articles enter the feed, older articles are typically dropped out. Different sources update their feeds at different rates; a client usually polls the feed to determine whether it has been updated. RSS clients therefore have elements in common with browsers, newsgroup readers, and email and instant messaging clients. This project is very open ended; you are free to develop your RSS client with your own choice of features. Nevertheless, a base set of features is required: • Display of articles. The user can display the titles and summaries of articles in a feed, as well as the full articles (which will in general require rendering webpages). A visual indication shows which articles have been read, and users have the option of only displaying articles that have not yet been read. The client must be capable of reading feeds in the 3 most common formats (RSS 1.0, RSS 2.0 and Atom 0.3). • Subscription to feeds. The user can enter feed addresses, associate informal names with them, and organize them into groups (usually called channels). The user can select the update period for individual feeds, which determines how often the client polls them. The collection of feeds, their names, organization into channels, and update periods can be saved as a file, or loaded from a file. In addition, the list of feeds alone (without organization into channels or user preferences) can be saved and loaded in a standard interchange format known as OPML (see below), so that users can share subscriptions. • Caching of articles. When the machine on which the client is running is offline, the user can access articles that have been previously downloaded. It is not necessary to make all articles that have been downloaded in the past accessible; you can invent some reasonable scheme for retiring old articles, ideally under user control. • Basic keyword search. The user can search amongst previously downloaded articles by keywords appearing in titles. • Support for the amendment. When the amendment is released (see below), it will amend the requirements listed here, so your final project must comply with the requirements of the amendment, as well.(example client) Awards Each team may enter its RSS client into a class contest for one or more of the following awards: • Best design: awarded to the solution with the best design at the source-code level. • Most usable: awarded to the solution with the best user interface design. • Best feature: awarded to the solution with the most imaginative new feature. Grading, Deliverables and Schedule You'll do your project in phases, with the following milestones: Phase Deliverables Due date Preliminary Design Preliminary design document Wed, Nov 9th at 12 noon Preliminary Release Source code, specifications, unit tests Mon, Nov 21st at 12 noon Final Release Final design document, source code, specifications, unit tests, user manual, webstart Mon, Dec 12th at 9:00 AMpackaging Each team will receive a single grade for the final project, determined as follows: Category Deliverable Due date % project grade Graded on Preliminary design document Wed, Nov 9th at 12 noon 15% Are key issues identified? Design Final design document Mon, Dec 12th at 9:00 AM15% Is design clean, robust and flexible? Team work Weekly meetings weekly 10% Did team work well together? Did all members participate constructively?User Manual Mon, Dec 12th at 9:00 AM8% Is the tool easy to use? Is the user manual clear and helpful? Packaging Webstart delivery of executable Mon, Dec 12th at 9:00 AM2% Is the client packaged correctly? Specifications, preliminary Mon, Nov 21st at 12 noon 5% Are important interfaces identified and crucial parts well documented in Javadoc? Specifications, final Mon, Dec 12th at 9:00 AM5% Are important interfaces well documented in Javadoc? Unit tests, preliminary Mon, Nov 21st at 12 noon 5% Are there good unit tests for non-trivial classes? Unit tests, final Mon, Dec 12th at 9:00 AM5% Are there good unit tests for non-trivial classes? Source code, preliminary Mon, Nov 21st at 12 noon 15% Is the code clean and well structured? Basic


View Full Document

MIT 6 170 - Study Notes

Download Study Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?