About
This is the section that the requirements will be collected for the third increment of the proposed system, the requirements will be collected, however, as this increment will not be implemented yet they will only serve as a basis for future work on the FAHView project.
Scope
The third increment will expand upon the functionality of the first iteration; it will use the existing model but will require a new class to connect to the new clients API.
Functional Requirements
- The system MUST be available for the Windows operation system
- The system MUST be available for the Linux operation system
- The system MUST be available for the Macintosh operation system
- The system MUST be implemented in the Java programming language
- The system MUST NOT store any personally identifiable information about the user
- The system MUST communicate with local clients within one second
- The system MUST communicate with network clients within five seconds
Non Functional Requirements
- The system MUST provide means of easy navigation for at least 99% of it's users
- The system MUST be implemented in a modular, object orientated way to enable easy expansion
Use Case Diagram
Use Case Stories
Use Case 1: Add Client
Scenario
The user wants to extract data from a version of the Folding@home client.
Background
To view the data from the Folding@home client from within the FAHView program the application will need to know the IP address and port the client interface is running on of the required client, therefore the client will need to be added into the program.
Interactions
- User
- Opens the application preferences pane by selecting "Preferences".
- System
- Displays application preferences pane.
- User
- Selects "Add Client".
- System
- Displays the add client pane.
- User
- Selects the type of client that is to be added and provides the required information including IP address & port number of the client and a short description to identify it.
- System
- Saves the information in the configuration file.
Use Case 2: Remove Client
Scenario
The user has finished monitoring the Folding@home client and would like to remove it from the application.
Background
The FAHView program saves the IP address and port number of user added Folding@home clients within the configuration file, when the client is no longer needed it will need to be removed from the application.
Interactions
- User
- Opens the application preferences pane by selecting "Preferences".
- System
- Displays application preferences pane.
- User
- Selects "Remove Client".
- System
- Displays the remove client pane.
- User
- Selects the client they would like to remove from the program.
- System
- Removes the information related to the specified client from the configuration file.
Use Case 3: Hide Slot
Scenario
The user does not want to monitor a specific slot within the Folding@home client but would not like to remove the entire client from the application.
Background
The Folding@home client has previously been added to the application.
Interactions
- User
- Opens the application preferences pane by selecting "Preferences".
- System
- Displays application preferences pane.
- User
- Selects "Hide Slot".
- System
- Displays the hide slot pane.
- User
- Selects the client they would like, and unchecked boxes next to the visibility column of the required slot.
- System
- Hides the slot related to the specified client from the configuration file.