Fork me on GitHub

Introduction

This section will include detail for the design of the first iteration of the project; it is based upon the requirements from the previous section. Classes will be derived from Use Case stories and methods and attributes will be identified from interactions from the users and data from the Folding@home projects main data files.

Class Diagram

The structure of this increment is based upon the queue.dat binary file that is used to record progress in the Folding@home clients prior to version 7. The file can be broken down into three distinct sections, the queue, queue indices and the work unit. Each queue has 10 queue indices and each queue index has one work unit.

System Architecture

This section discusses the architecture of the system. From the bottom up, the system will use the model view controller architectural pattern to separate application logic from data and the display.

Model

The model tier will contain a representation of the Folding@home client that will be manipulated by the FAHView program.

View

The view tier will contain the User interfaces that will be in the form of Java swing forms. They will show the contents of the model to the user and allow user input to be passed to the controller.

Controller

The controller tier will contain the main business logic for the FAHView system.

User Interface design

Designs for the user interface will need to follow good practice therefore I will be studying good user interface design to ensure that my project follows good user interface design principles.

Screen Design