CptS 323 - Software Design (Spring 2013)

 

·         Home

·         Syllabus

·         Schedule

·         Assignments

·         Project

·         Project Milestones

·         Links

CptS 323 -  Software Design

Project Management and Milestones

The project has several milestones with their respectively due date. At each milestone, you may be asked to demonstrate your progress by a set of software artifacts defined at that milestone. At the end of each milestone, we will decide objectives for the next milestone. The final product is due in the final week of lecture.

Milestone Objectives 

You'll do your project in phases, with the following milestones:

Prelimary

Due date: February 1st .

Objectives:

·         Team selection:  Select your partners to form a team of three. If you don't have a team by the due day, I will assign you to a team.

·         Setup your eecs.wsu email. (How to setup your eecs email?)

·         Login to the EECS GitHub server at https://github.eecs.wsu.edu using your EECS account credentials.

o    Use the repository under organization "Cpts323Spring2013".

o    Get familiar with the EECSGitHub server.

 

Milestone-1

Due date: February 18.

Deliverables: underlined items are deliverables.

Objectives:

·         Communication activities:

o   Develop “requirement specification

§  Provide use cases

§  Provide itemized requirements

§  Template for the “Requirements Specification Document” will be posted on ANGEL next week.

§  Deliver a good quality document: completeness, feasibility, etc

 

·         Planning activities:

o   Make an initial version of project schedule.

§  Identify the main tasks of the project (The complete set of milestone steps for implementing your project will be available next week. You need to create a more detailed listing of tasks based on the given milestones.)

o   Provide a Gantt chart to identify your work plan.

§  In the Gantt chart you don’t need to partition responsibilities to team members yet. Later you will revise your Gantt chart and assign a team member to each task.

 

·         Construction activities:

o   Start to develop the “Main interface".

o   Add menu items and implement the following functionality:

§  Add RSS subscription (get RSS feed URL from user, add an item for it in the RSS feed list – you don’t need to fetch and display RSS feeds yet)

§  Rename existing subscription,

§  Add new channel, rename channel, delete channel,

§  Organize RSS feeds into groups (add/delete RSS feeds to/from channels)

o   Write the code to parse RSS feeds (at least finish parsing RSS 2.0 feeds. Your final software should support RSS 1.0, 2,0 and Atom 1.0).

 

Milestone 2

Due date: March 4.

Deliverables: underlined items are deliverables.

Objectives:

·         Communication activities:

o   Develop “Software Design Document – Phase I

§  Template for the “Software Design Document” will be posted on ANGEL.

§  Deliver a good quality document: completeness, feasibility, etc

 

·         Planning activities:

o   Refine your Gantt chart, add new tasks if needed, assign a team member to each task.

 

·         Construction activities:

o   Fetch data from a (subscribed) RSS feed.

o   List the RSS items from an RSS feed. Display the following for each RSS item: item title,  link to the original article, publication date of the original article, and item description (displaying the description is optional).  You may limit the number of items you list from each feed. For example, list only the most recent 20 items from each feed. User may provide the number of items to be listed (optional).

o   Display the full article (when the user clicks on an article link). Requires rendering web pages. 

o   The user sets the “update period” for the feeds (i.e. how often will the feed data be refreshed for the subscribed RSS feeds). You may also require a different “update period” for each individual feed (optional). Use a default update period if user doesn’t set one.

o   Refresh the RSS feed data for each subscribed RSS feed, according to the user defined “update period”.

 

Milestone 3

Due date: March 25.

Deliverables: underlined items are deliverables.

Objectives:

·         Communication activities:

o   Develop “Software Design Document – Phase II

§  Template for the “Software Design Document” will be posted on ANGEL.

§  Deliver a good quality document: completeness, feasibility, etc

 

·         Planning activities: TBA

 

·         Construction activities:

o   Parse other two RSS formats (RSS 1.0 and Atom 1.0)

o   Keep track of the read and unread articles. Use a visual indication that shows read and unread articles. Users should be able to list the articles that have not yet been read yet.

o   Save the current configuration and user preferences to a config file. You may save the following:  the collection of feeds, their (user given) names, feed update periods, organization into channels

o   Load a previously saved config file.

o   Build a a local database to store all state names/abbreviations, and city names along with their coordinates in the United States. You need to create this database once.

o   Cover United States map with bounding boxes and query the Geonames webservice to obtain location names. Insert keywords and locations (latitude/longitude) into the database.

Sample code (in C#) for handling database operations (create database, insert/search to/from database) will be provided by instructor.

 

Milestone 4

Due date: April 8.

Deliverables: underlined items are deliverables.

Objectives:

·         Communication activities: NA

 

·         Planning activities: TBA

 

·         Construction activities:

o   Search the local location database for the words that appear in the titles and descriptions of the RSS feed items.  If one or more words from the RSS feed item exist in the location database, then retrieve the associated location(s).  If none exists, then no location can be associated with that feed item.

o   Embed the Google Earth Plug-in in your application. You may use the winforms-geplugin-control-library, available at http://code.google.com/p/winforms-geplugin-control-library/. This is a library of controls to work with the Google Earth Plugin API in managed code. It is available with GNU Lesser General Public License.

 

Milestone 5

Due date: April 19.

Deliverables: underlined items are deliverables.

Objectives:

·         Communication activities:

o   Develop “Design Patterns Specification

o   Develop “Report on Version Control and Issue Tracking

 

·         Planning activities: TBA

 

·         Construction activities:

o   Display the locatable RSS feed items on the map interface. Have an icon at the associated location for each of those feed items. The locatable RSS feed items include those that have associated location information (latitude/longitude).

o   Open a pop-up message on the map interface where you display the title and description of the article, along with a link to the article. The user should be able to view the article in the “main interface” by clicking that link.

o   Implement time filtering (optional)  Both interfaces (main and map interface) should allow the user to view the articles on certain dates and/or time only. For example, if the user wants to see the most recent news articles posted within the last 2 hours, the main interface should filter the RSS feeds accordingly. Similarly on the map interface, only the icons for the articles posted within the last 2 hours should be displayed.

 

Product Release and Presentations

Due date: April 19-26.

Objectives:

·         Communication activities:

o   Present your project in class