Purpose:
The acronym OCD stands for Operational Concept Document. It's purpose is to make you think critically about the design and implementation of a project before committing to code. It also serves to publish your concept to the development team, which for this course is you (and only you).
There is currently a lot of technical activity with "Big Data". Extreme examples are: data collection and analyses from the Large Hadron Collider, the Sloan Sky Survey, analyses of Biological Genomes, measuring weather patterns, collecting data for global climate models, and analyzing client interactions in social networks.
Conventional SQL databases are not well suited for these kinds of applications. While they have worked very well for many business applications and record keeping, they get overwhelmed by massive streams of data. Developers are turning to "noSQL" databases like MongoDB, couchDB, Redis, and Big Table to handle massive data collection and analyses.
In this project we will develop and document the concept for creating a non SQL database in Project #2. Your concept should explore:
- Project purpose and typical users - Consider impact of uses on design
- Ways to make the user interface(s) effective.
- Suitable partitioning of processing into packages - Provide package diagram(s) and consider the responsibilities of each package and possible implementations (high level).
- Means to present results.
- Important events and critical processing.
Requirements:
- Shall be prepared as a Microsoft Office Word file, using embedded Visio Diagrams1.
- Shall explore and describe the user interface(s) you will provide.
- Shall partition processing into at least the top-level packages.
- Shall describe the uses/responsibilities, activities, events, and interactions of each of the packages in your concept.
- Shall use both text and diagrams for the descriptions in 4, above.
- Shall document any prototype code you develop in an Appendix.
What you need to know:
In order to successfully meet these requirements you will need to know:- The definition of the term package and have looked carefully at a few examples.
- The .Net Containers.
- How to organize and prepare a technical document. Here's some help.