page7
Software Engineering Group Project 20: Design Specification/1.0 (Release)

public LinkedList<Question> generateWordMatch(LinkedList<WelshDictionary>) - Method
that will generate a list of questions that are the type ‘Match The Meanings’, using the dictionary's
practice words as the parameter.

public LinkedList<Question> generateSixMeanings(LinkedList<WelshDictionary>) - Method
that will generate a list of questions that are the type ‘6 Meanings’, using the dictionary's practice
words as the parameter.

public LinkedList<Question> generateWordEnter(LinkedList<WelshDictionary>) - Method that
will generate a list of questions that are the type ‘Translation’, using the dictionary's practice words as
the parameter.
4.2.3
WordEnterQuestion extends Question

public WordEnterQuestion (WelshDictionary correctAnswer) - Constructor for
WordEnterQuestion that takes a WelshDictionary object that is being tested on as the parameter.
4.2.4
WordMatchQuestion extends Question

public WordMatchQuestion (WelshDictionary[4] correctAnswers) - Constructor for
WordMatchQuestion that takes four WelshDictionary objects that are being tested on as the
parameters.
4.2.5
SixMeaningQuestion extends Question

public SixMeaningQuestion (WelshDictionary correctAnswer, LinkedList<WelshDictionary>
dictionary) - Constructor for SixMeaningQuestion that takes one WelshDictionary object that is being
tested along with the full list of words which will be used to generate randomized possible answers as
the parameters.
4.3
JavaFX package
4.3.1
Application
Programs main class where the program will start from. This class will also hold the programs dictionary
definitions.

Main() – runs app.
4.3.2
SharedCodeController
Abstract class that will hold all of the repeated information between controllers including common FXML
elements that will be derived by the controllers. This could include the sliding menu options and user test scores.
4.3.3
ScreenSwitch extends SharedCodeController

public void swap(SceneEnum newScene) - Method that is responsible for the switching between
JavaFX, with it taking the new scene’s name as a parameter.
4.4
Test Package
4.4.1
JSONTest
Class that contains methods which will be used to test that the JSON package classes are correctly loading and
saving to and from the JSON file.

@test Public void testLoad() - JUnit test to check that the JSON file has been correctly loaded.

@test Public void
testSave() - JUnit test to check that any changes to the list of definitions are
updated and saved to the JSON file accordingly.
Aberystwyth University / Computer Science
Page 7 of 19