intro to software development
posted by mary on .
I have aa assignment that asks to identify three processes or capapbilities needed to track of home dvd and and cd collection. identify the input data required for each process, and identify a logical name for each data outputitem and type of data out put. What is this?
I track mine by title, CD number, Conductor, music written by, and performer.
If it's any comfort, I don't quite know what they're asking either, "Processes or capabilities" could mean almost anything. I have a suspicion I'm telling you much more than you need to know.
If I were writing one, I'd identify:
data capture (process)
data validation (process)
database structure (capability)
(optionally) data enrichment (capability / process)
data retrieval (process)
as the important elements.
bobpursley has listed the main key (=index) fields for CDs. For DVDs, you might want to add director and multiple actors, producers, and others depending on how much you want to know about them. I can also think of the year the work was made, the date of acquisition, type of work (long-form movie, short-form, music album, etc.), titles of included works (songs, cartoons, whatever) the format, the genre, and some free-form notes or keywords. You might also want to store cover art as images.
In addition, you will want to store the item's physical location (like: 5th slot, third shelf, bottom cabinet).
You might get some inspiration from sites like librarything and imdb, that do this kind of cataloging on the grand scale.
Back to processes:
Data capture is just simply putting in the data - by typing? or by barcode / playing the CD in the computer, and then using something like cddb / freedb/ gracenote to identify the item and provide data enrichment. The input data will be whatever set of fields you choose to store. If you've chosen to store cover art, that will mean scanning or snapping each item.
Data validation should happen at time of capture, and input fields would be the same.
Some data normalisation - is it "J. S. Bach", or "Johann Sebastian Bach", or "Bach, Johann Sebastian"? - may happen after capture, some at capture; if you're scanning in a Bach CD, your normalisation process may auto-currect the name to the form on which you've standardised. (A well-structured database would assign a unique ID to the entity, and then store other forms of the name as aliases.)
Database structure will be about the storage, indexing and relating of entries stored.
Data enrichment will be the process of querying external databases like CDDB to fill in more information about each item.
Data retrieval will be the set of processes that will produce a list of items matching certain criteria - action movies, CDs with more than 9 tracks, etc. What set of criteria will you allow retrieval by? You could do a complete full text search, or a very structured field by field search.