Difference: SDProject32015 (2 vs. 3)

Revision 32015-03-24 - JimSkon

Line: 1 to 1
 
META TOPICPARENT name="SoftwareDevelopment2015"

Software Development

Project 3

Changed:
<
<

Due: Part 1 March 24, Part 2 March 31

>
>

Due: Part 1 March 24, Part 2 March 24, Part 3 March 27, Complete March 31

 

PROJECT OVERVIEW

The goal of this project is the development of a reference index for the Bible class to improve lookup time and efficiency. Currently the Bible class has a lookup function that finds references by scanning through the entire Bible file text, a rather CPU intensive method. This project will first modify the Bible classes Lookup, Next and Prev functions to work much more quickly by building and using a lookup index based on the C++ STL Map associate lookup template abstract type. The Map function allows the user to create a lookup function that uses ANY data type as a key to lookup another associated value in a manner similar to indexing in an array. How the Map abstract type is implemented is hidden, the point is that it is very fast and efficient way to map from one domain to another. In this case we will create a Map association which maps from Bible Ref to Bible positions (byte offset of the verse from the beginning of the Bible file). The Bible class interface should NOT change, the modifications will be hidden in the Bible class.

Line: 13 to 13
  Two demo systems have been created that demonstrate these types of solutions to do word searches on the complete works of Shakespeare.
Changed:
<
<
One system that runs standalone on the console, and uses a Map type to map words to an inverted list of file positions for those words, can be found here: http://cs.mvnu.edu/home/class/csc3004/indexdemo.
>
>
One system that runs standalone on the console, and uses a Map type to map words to an inverted list of file positions for those words, can be found on cs.mvnu.edu at /home/class/csc3004/indexdemo.
  Another program, that uses the same indexing code as the previous, add an web interface, and uses pipes to communicate to a server to which will look up the position in the Bible given the reference. This project can be found, and run here:
Changed:
<
<
>
>
 

LEARNING GOALS

This project has the following learning goals:

Line: 118 to 118
 

Milestone Due dates

Milestone Completion date Points
Changed:
<
<
Good progress on getting the indexing operation working within the Bible class Feb 25 25
Operation of the indexed lookup with a console test program Feb 28 50
Partial operation of the client server system March 4 25
Complete operation of the web based, client/server system March 8 100
>
>
Good progress on getting the indexing operation working within the Bible class March 24 25
Operation of the indexed lookup with a console test program March 25 50
Partial operation of the client server system March 27 25
Complete operation of the web based, client/server system March 31 100
 
Total   200
\ No newline at end of file
 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback