3D Windows Explorer (BSc Dissertation)

3d-windows-explorer-icon

Dates

Technology

OO Programming, OO Analysis/Design, Design Patterns, Java, Java3D, db4o (ODBMS), C# (.NET), BlueJ, Microsoft Visual Studio, Microsoft Visio

Info

For My Undergraduate Degree Dissertation, I Developed A Research-Based ‘3D Windows Explorer’ in Java & Java3D. The app used visual cues to help identify directory structures. Using the Waterfall Model development lifecycle, I performed all aspects of software development. Extensive Object Oriented Analysis and Design (using Unified Modelling Language) led to a solution that was implemented and tested, before it was critically evaluated against its requirements to complete my dissertation.

Persisting Data

Directory data (e.g. files, folders and associated meta-data) was persisted to a database, using the object database – db4o.

Monitoring Directory Changes

The database had to be updated when changes were made to the directory structure, e.g. creating a new file, deleting a file, moving or renaming a file. After researching different ways of monitoring for changes in the directory structure, I decided to use Windows’ directory change notification service. As Java did not support this feature, I experimented with 3 different approaches. In the first 2 approaches, I tried JNI (Java Native Interface), and then JNA (Java Native Access) for bridging my Java app with a C++ app that listened for directory change notifications. In the approach that I adopted, my Java-based 3D Windows Explorer app would interact with a .NET based console app that listened for directory change notifications from Windows.

Researched

Similar Products:

  • Cone Trees (from Xerox PARC)
  • Q-PIT
  • VR-VIBE
  • File System Navigator (FSN – from Silicon Graphics)
  • File System Viewer (FSV)

Database Technologies:

  • Relational databases (e.g. Java DB)
  • Object databases (e.g. OZONE, db4o)
  • Hierarchical databases
  • Network (graph) databases

Images

Images showing my 3D Windows Explorer:

Images showing Windows Explorer that comes with Microsoft Windows:

Analysis & Design

These images show some of the Analysis and Design work that I carried out during this assignment.

Use Case Diagrams:

Class Diagrams:

Hierarchical Task Analysis:

Storyboard of my app interface:

Mock-up of 3D interface:

Images showing some of the program classes I coded: