34
IPT Major Project Documentation By Mark Johnman

Documentation

  • Upload
    hccit

  • View
    699

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Documentation

IPT Major Project Documentation

By Mark Johnman

Page 2: Documentation

Contents

1.0 Problem Definition.............................................................................................................2

1.1 Aim................................................................................................................................. 2

1.2 General Problem Description.........................................................................................2

2.0 Design.................................................................................................................................3

2.1 Specification...................................................................................................................3

2.2 Top Down Design............................................................................................................9

2.3 Algorithm Design..........................................................................................................10

3.0 Implementation................................................................................................................16

3.1 Source Code................................................................................................................. 16

3.2 User Manual/Documentation of Implementation........................................................16

4.0 Testing..............................................................................................................................17

5.0 Evaluation.........................................................................................................................21

5.1 Product Evaluation.......................................................................................................21

5.2 Process Evaluation........................................................................................................22

5.3 Potential Improvements...............................................................................................22

1

Page 3: Documentation

1.0 Problem Definition

1.1 Aim

The aim of the project is to manufacture an entertaining educational resource that can be utilised by teachers throughout Queensland to both encourage and facilitate classroom learning. This teaching tool shall take the form of an online adaption of the popular game show, “Who Wants to be a Millionaire?”, complete with an added ‘Questions’ text file that will allow educators to craft problems relevant to their subject area. “Who Wants to be a Millionaire?” will be developed for use in an Upper Primary (4-7) and/or Middle Years (6-9) environment, as the students in these areas will generally be young enough to appreciate the game, whilst old enough to gain an academic benefit from it. Overall, the flexibility inherent within the proposal will provide staff with the ability to easily personalise in-game content, as well as offer students a fresh and entertaining way of assisting and consolidating cognitive learning.

1.2 General Problem Description

The task is to develop a fully functional, single page web application utilising a selection of the W3C languages, with a particular emphasis upon Javascript, HTML and CSS. The application will be constructed using the principles of the Software Development Cycle, combined with the unrivalled professionalism that ‘Team Red’ brings to the software engineering frontier. Below are listed the assumptions, limitations and expected results of the project upon completion:

Assumptions:

The application will be developed and optimised in and for Mozilla Firefox 6.0.2. The game will be designed for a computer screen with a resolution of 1280 x 800

pixels The players are expected to know how to interact and work within a web browser. It is assumed that the creators of the questions (teachers, educators, etc) know how

to utilise a text file editing program such as Notepad. Users will be expected to follow the rules of the game, as well as those within the

Questions text file, and not cheat (i.e. no hacking of the application is assumed or accounted for).

Limitations:

Due to the format of the chosen application ("Who Wants to be a Millionaire?”), some of the features that are traditionally part of the game will have to be modified to fit the web-based genre. These are:

2

Nick, 29/09/11,
Delete*
Nick, 29/09/11,
Is some general knowledge of the traditional ‘Who wants to be a millionaire’ game required at least?Otherwise, great assumptions!
Nick, 29/09/11,
Excellently worded lead paragraph.
Nick, 29/09/11,
learning, assisting them to consolidate cognitively.
Nick, 29/09/11,
teaching staff
Nick, 29/09/11,
proposed application
Page 4: Documentation

o Lifelines will be altered as appropriate (e.g. the ‘Phone a Friend’ lifeline will be replaced with the ‘Get a Hint’ lifeline instead - see 2.1 for more information)

o A timer option will be added to the game (the length of which - from 10 - 3600 seconds - can be selected by the teacher and stored in the Questions text file) to assist students in developing speed, as well as accuracy, in their consolidation of classroom learning. This will add an extra dimension to the application and increase students' preparedness for exams and other activities involving the skill of time management. It should be noted that the parameters of 10 - 3600 seconds were chosen to give educators a wide time range in which they could ask questions. However, it would be impractical to go below 10 seconds as players would not have enough time to use lifelines in answering their questions (should they so desire). Above 3600 seconds is also highly unlikely as there would be very few multiple choice questions that would take this length of time to answer.

o A player will not be able to leave "Who Wants to be a Millionaire?” after reaching a certain level (e.g. $32 000) and will instead have to complete the entire series of questions before they can finish the game.

o In-Game questions do not have to follow the easy - hard format as they will be regulated and edited by a variety of educators who may not adhere to this tradition.

Expected Results:

Creation of an online adaption of “Who Wants to be a Millionaire?”, with an accompanying ‘Questions’ text file so that teachers can add and edit problems relevant to their subject areas (refer to 1.1 for more information).

The use of the developed web-app in Upper Primary and/or Middle Years classrooms to encourage and consolidate teachings in an interactive and entertaining way.

2.0 Design

2.1 Specification

Choices that a User Can Make:

Start Up Screen: New Game - takes player to the five second countdown How to Play - goes to the User Manual (Instructions PDF file)

In-Game: Selecting one of the four possible answers (clicking on the answer highlights

it)

3

Nick, 29/09/11,
Very well noted, gameplay has to change obviously for a web delivery.
Page 5: Documentation

Selecting the Lock It In link to check if the chosen answer is right or wrong

Answer correct - clicks OK - taken to the next question/level is moved up to the next dollar value (e.g. $2000)

Answer incorrect - notification of losing the game (see third major dot point)

All 15 questions answered correctly - notification of winning the game (see fourth major dot point)

Picking a different possible answer Back to the In-Game state

Choosing a lifeline Deciding to use the lifeline - clicks OK of confirm box

Lifeline is used and player clicks the OK button if applicable (i.e. if then chosen lifeline is Ask the Computer, which has its results displayed in an alert box)

Deciding to not use the lifeline - clicks Cancel of confirm box Back to the In-Game state

Clicking the Lock It In link without having selected an answer Notification (alert box) that the player needs to select an answer

before clicking the Lock It In link - player clicks OK Back to the In-Game state

Losing the Game: Player notified that they have lost the game when the timer runs out or they

answer a question incorrectly - clicks OK of alert box Back to the Start Up Screen

Winning the Game: Player asked for their name and types it in a prompt box (Note: even if the

player clicks cancel, the prompt box will keep appearing until the player types some text into the text field)

Inputted name displayed on a $1,000,000 cheque - clicks Return to Start Menu link

Back to the Start Up Screen

Program Outputs:

Start Up Screen (with New Game and How to Play as the options) Five second countdown to the start of the game (i.e. Question 1) User Manual A potential timer for each question (if activated by the teacher, it will be displayed at

the top of the screen). If the timer runs out, the user loses the game. If a lifeline is clicked, the timer is paused while the lifeline is being used. After the lifeline has been used, the timer restarts where it left off (except for the Switch the Question lifeline,

4

Page 6: Documentation

where the timer starts over as the player has replaced the current question for a new one). The exact value of the timer will be selected by the teacher/creator of the questions and will be stored in the Questions text file.

Questions and the four possible answers to each one (displayed in the middle of the screen)

Lock It In link (under the questions and their four possible solutions) Lifelines (each can only be used once and are displayed at the left of the screen) and

their results (displayed on screen or in a message box)o Fifty-Fifty – randomly removes two of the incorrect solutions, leaving the user

with a correct and incorrect answer to choose from.o Get a Hint – gives the user a hint regarding the question that they are

answering (pre-written in the Questions text file with each question and its four possible solutions). This hint is displayed between the answers and the Lock It In link.

o Ask the Computer – randomly allocates a percentage (0-100%) chance of being correct to each possible answer, with enough weighting being given to the correct answer so that it is generally, but not necessarily always, the solution with the highest percentage.

o Switch the Question – swaps the question on which the lifeline is used with another one (the 16th question read in from the Questions text file and stored in the questions array).

Lifelines after they have been used - essentially the same as when they hadn't been utilised, but with their icon having a cross through it and their link doing nothing when clicked.

Level currently on (displayed on the right side of the screen)o $100o $200o $300o $500o $1000o $2000o $4000o $8000o $16000o $32000o $64000o $125,000o $250,000o $500,000o $1,000,000

5

Page 7: Documentation

Confirm box asking if the player wishes to use the lifeline that they have clicked on (timer is paused while this is happening)

Notification of clicking on the Lock It In link without selecting an answer Notification if the In Game Timer Value is incorrect (occurs after the countdown to

the start of the game - not described in the Choices that a User Can Make section as the player has no control over whether this will appear - it is the person who writes the questions in the Questions.txt file that causes this notification to appear)

Notification if the Number of Questions in the Question Pool is incorrect (occurs after the countdown to the start of the game - not described in the Choices that a User Can Make section as the player has no control over whether this will appear - it is the person who writes the questions in the Questions.txt file that causes this notification to appear)

Notification of getting a question correct Notification of losing the game (i.e. getting a question wrong/timer running out) Notification of winning the game (i.e. getting all 15 questions right)

o Prompt box asking for the player's name o Winner's $1,000,000 cheque, with the player's name on ito Return to Start Menu link

Data to Be Read From Disk:

Questions text file, which is to be edited by educators to make the web application content relevant to their subject area. It is to contain:

o Timer length (i.e. how long the timer for each question is to run)o Total Number of Questions in the Question Pool (i.e. the total number of

created questions within the text file, from which the application will randomly select 16).

o Questions (from which 16 will be randomly selected - 15 for the actual game and a spare one in case the Switch the Question lifeline is utilised).

o Hints (one hint for each of the questions in case the Get a Hint lifeline is used).

o Answers (the correct answer and three incorrect answers for each question).

Calculations the Program Must Perform:

Randomly selecting 16 questions, along with their hints and answers, from the questions within the Questions text file.

Randomly deciding which positions the four answers will occupy (first, second, third or fourth).

Randomly removing two of the incorrect answers to a question in the Fifty-Fifty lifeline.

6

Nick, 29/09/11,
Great way of user-proofing!
Nick, 29/09/11,
Excellent, all SPA inputs/outputs accounted for.
Page 8: Documentation

Assigning and displaying a random percentage allocation to each of the possible answers to a question in the Ask the Computer lifeline.

Setting up and then decreasing the timer as time progresses Decreasing the 5 Second Countdown to the start of the game Calculating the number of questions that a player has right (i.e. adding one to the

variable storing this value every time they get a question correct).

Ways to Improve the Appearance, Presentation, User Friendliness or User Proofing of the Application:

Create a User Manual (available within the online game) that teaches the user how to play “Who Wants to be a Millionaire?” through the use of easy to understand text and screen shots.

Utilise CSS to improve the aesthetic appearance of the application, as well as to make it easier for users to quickly navigate to their areas of interest.

Include the traditionally used “Who Wants to be a Millionaire?” music within the web application to assist users in immersing themselves in the game.

Validate the In Game Timer Value and the Number of Questions in the Question Pool values that are passed to the program from the Question.txt file (see this file for more information on the role these values perform within the game, as well as what they will need to be validated for).

Screen Designs:

1. Go to My Computer.

7

Opening My Computer

Page 9: Documentation

2. Double click the USB icon.

3. Follow the file path Major Project MJ/Who Wants to be a Millionaire/index.html and then double click on index.html in order to start the web application:

8

Double Clicking the USB Icon

Double Clicking index.html

Page 10: Documentation

2.2 Top Down Design

Inspiration Diagram:

Note: The picture below is only a snapshot of the actual diagram. A fully readable version of the Top Down Design can be viewed by running the Top Down Design file (located in the same folder as this documentation) within Inspiration.

Notes About the Diagram:

Blue ovals represent the events of the program. Dark pink/gray rectangles are the functions within the application. Orange/yellow clouds are the 'states' that the game can be in (e.g. In-Game, Start Up

Screen, etc).

9

Page 11: Documentation

Arrows showcase the sequence in which the web application will execute/display the events, functions and states that comprise it.

White rectangles represent 'linking boxes', which are included for presentation's sake, namely to ensure that arrows flow to the function/event/state that they are supposed to go to in an easily understandable and presentable way. Text is included in the rectangle in between the In-Game and Losing the Game states to assist the reader in understanding how the program can progress from one state to another without a function or event seperating them.

The larger orange box, with blue boxes inside it, is an example depiction of what the Start Up Screen may look like upon loading. It should be noted that this is only a draft design and that the colours and layout may not be utilised in the final product.

2.3 Algorithm Design

countdown(timerValue)Make start up screen content disappearIF timerValue does not equal 0 THEN

Make timerValue appear on screencountdown(timerValue-1) after 1 second delay

ELSEDisplay get ready messagesetUpQuestionsAndInGameTimerValue() after 1.5 second delay

ENDIFEND

setUpQuestionsAndInGameTimerValue()Make countdown screen content disappear

Assign HttpRequest object to variable (to use in reading in Questions text file)Read in Questions.txt fileSet text to Questions.txt file contents

Set inGameTimerValue to In Game Timer Value in Questions text fileSet totalNumberOfQuestions to Number of Questions in Question Pool value in

Questions file

IF inGameTimerValue is not valid THENOutput message box telling user to fix the value

ELSE IF totalNumberOFQuestions is not valid THENOutput message box telling user to fix the value

ELSE

10

Nick, 29/09/11,
Excellent, thanks for the diagram legend. Considering the reader!
Page 12: Documentation

DO i = 1 to totalNumberOfQuestionsIF question number i doesn't exist within Questions text file THEN

Output message box telling user that a question is missingRedirect to start menu

ELSEadd i to possibleQuestionsFromPool array

ENDIFENDDO

Do i = 1 to 16Set randomQuestionFromPool to random int between 1 and length of possibleQuestionsFromPoolStore question from Questions.txt with number randomQuestionFromPool in questions arrayStore hint for question with number randomQuestionFromPool in hints arrayStore correct answer for question with number randomQuestionFromPool in answers arrayStore incorrect answers for question with number randomQuestionFromPool in answers array Remove randomQuestionFromPool from possibleQuestionsFromPool array

ENDDOgetNextQuestion(questionNum)

ENDIFEND

getNextQuestion(questionNumber)Display question in questions content spaceFormat answers content space for input

Find correct answer position for questionAssign possible answers to for question to otherAnswers array

DOWHILE length of otherAnswers does not equal 0Set randomAnswerPos to random answer position in otherAnswersDisplay answer at randomAnswerPos in otherAnswersremove answer just displayed from otherAnswers

ENDDOEND

11

Page 13: Documentation

loadLevels()Make levels content space appearFormat levels content space appropriately

DO i = 14 to 0IF i is less than questionNum THEN

ELSE

ENDIFENDDO

IF game hasn't been won THENloadLifelines()

ENDIFEND

loadLifelines()Make lifelines content space appear with headingDO i = 0 to 3

IF lifeline hasn't been used THENDisplay unused lifeline picture link

ELSEDisplay used lifeline picture link

ENDIFENDDO

END

setUpTimer(startValue)IF startValue is empty string THEN

format levels, lifelines and mainContent content spacescalculate timer minute valuecalculate timer second valueSet newQuestion to TruerunTimer(timer minute value, timer second value)

ENDIFEND

runTimer(mins, sec)IF game hasn't been won THEN

IF newQuestion is true THEN

12

Page 14: Documentation

stop timerSet newQuestion to False

ENDIF

IF mins less than 10 THENSet displayMins to mins with a 0 in front of it

ELSESet displayMins to mins

ENDIF

IF sec less than 10 THENSet displaySec to sec with a 0 in front of it

ELSESet displaySec to Sec

ENDIF

IF less than 5 sec remaining on timer THENDisplay displayMins, displaySec as blinking text

ELSE Display displayMins, displaySec as normal text

ENDIF

IF timer has run out THENOutput message box telling user that they've lostRedirect to start menu

ELSE IF sec greater than or equal to 1 THEN

Decrement secELSE

Set sec to 59Decrement mins

ENDIFENDIF

runTimer(mins, sec) after 1 sec delayENDIF

END

checkLifeline(lifeline)Confirm that player wants to use lifelineIF player wants to use lifeline THEN

13

Page 15: Documentation

useLifeline(lifeline)ENDIF

END

useLifeline(lifeline)Add lifeline chosen to lifelinesUsed arrayReformat lifelineChosen picture link with its used picture link

IF switch question lifeline is being used THENSet questionNumber to 15

ELSE Set questionNumber to questionNum

ENDIF

CASE lifelineChosenFifty Fifty:

Store incorrect answers for question in incorrectAnswers arrayDOWHILE length of incorrectAnswers does not equal 1

Select random position within incorrectAnswersDisplay answer in that position on screen with a strike through itChange answer's background to what it originally wasRemove answer from incorrectAnswers

ENDDOGet a Hint:

Display hint for question in content spaceSwitch the Question:

Set switchQuestionActive to TrueMake sure that hint for question being switched out of is not displayinggetNextQuestion(15)

default (Ask the Computer):Store answers to question in questionAnswers arrayCreate array to store percentages calculated (lifelineResults)Create arrays to display results of lifeline

Set remainingTotalPercentage to 100

Do i = 0 to 3IF i less than 3 THEN

14

Page 16: Documentation

Set percentageChance to random percentage between 0 and remainingTotalPercentageremainingTotalPercentage = remainingTotalPercentage - percentageChance

ELSESet percentageChance to remainingTotalPercentage

ENDIFAdd percentageChance to lifelineResults array

ENDDO

DOWHILE length of lifelineResults is not 1Select random position in lifelineResultsAdd value of random position in lifelineResults to display

arraysRemove value of random position from lifelineResults

ENDDODisplay message box detailing results of lifeline

ENDCASEEND

selectAnswer(answerChosen)IF selectedAnswer isn't an empty string THEN

Change selectAnswer background back to original colourENDIF

Change answerChosen's background to highlighted colourSet selectedAnswer = answerChosen

END

checkAnswer()IF selectedAnswer is an empty string THEN

Ouput message box telling user to select answer before submitting itELSE

IF switch question lifeline is being used THENSet questionNumber to 15

ELSE Set questionNumber to questionNum

ENDIF

Set correctAnswer to correct answer for question

15

Page 17: Documentation

IF selectedAnswer does not equal correctAnswer THENOuput message box telling user that they've lostRedirect back to start menu

ELSE IF questionNum greater then or equal to 14Set won to TrueIncrement questionNumloadLevels()

Prompt user for their nameDOWHILE user does not enter their name

Prompt user for their nameENDDO

displayWinnersCheque(playerName)ELSE

Increment and reset appropriate variablesOutput message box telling user that they got question rightgetNextQuestion(questionNum)

ENDIFENDIF

END

displayWinnersCheque(playerName)Make in game content disappearReformat main content spaceDisplay winning the game state content

END

3.0 Implementation

3.1 Source Code

The source code for the application can be viewed by opening index.html, style.css and functions.js within Microsoft Visual Web Developer 2010 Express, Notepad++, Notepad and a variety of other similar editing programs. The files stated above can be found within the Who Wants to be a Millionaire folder (style.css and functions.js are in the includes folder of this location), which is in the same folder as this documentation (Major Project MJ).

3.2 User Manual/Documentation of Implementation

The User Manual for "Who Wants to be a Millionaire?" is stored in the Instructions file. It should be noted that it is targeted for students in Upper Primary and/or Middle Years, and

16

Page 18: Documentation

as such, some of the language is not as sophisticated as it otherwise would be. However, the account below should still be sufficient to describe exactly how to play the web-based game and how the various aspects of its interface work.

4.0 Testing

Date Test Description

Expected Result

Actual Result

Cause of Problems

Fix Date Fixed

5/9 Testing New Game &

countdown to make

sure they work

Goes to Question 1

Doesn’t get past end of countdown

Didn’t read in

Questions text file

Stopped script from executing asynchronously to allow it to assign contents

of Questions text file to

variable before operating on it

7/9

7/9 Questions and

answers

They display as written in

the Questions

text file

Displays, but isn’t

formatted correctly

Margins and font

size is not correct

Adjusted margins and font size as appropriate

7/9

8/9 Selecting an answer

Answer’s colour is changed

after being clicked

Only part of its colour is

changed

Background colour was changed, however

the border colour wasn’t

changed

Border colour was changed

8/9

12/9 Selecting another answer

after having already selected

one

Answer is selected and its

colour is changed. Previous answer is

As expected n/a n/a n/a

17

Page 19: Documentation

set back to its original

colour

12/9 Testing if notification

appears when user

clicks Lock It In link

without selecting an

answer

Alert box appears

telling user to select an

answer before clicking

Lock It In

As expected n/a n/a n/a

14/9 Locking answer in

and checking if it is correct

Answer is checked

against the correct

answer to make sure it is correct

Program fails to run

If statement is not

checked against the

correct array

(answers array was

misspelled)

Array was spelled

correctly in if statement

15/9

15/9 Testing if notification

appears when

question is answered incorrectly

Alert box appears

telling user that they have lost the game

As expected n/a n/a n/a

15/9 Testing if notification

appears when

question is answered correctly

Alert box appears

telling user that they have got

the question

right

As expected n/a n/a n/a

15/9 Testing prompt box

Prompt box that keeps

Prompt box only

While loop not set up

Fixed while loop

15/9

18

Page 20: Documentation

for player’s name when

they win the game

displaying until user enters in

their name

displays once, not until use enters in

their name

correctly appropriately

15/9 Testing display of Winner’s Cheque

Winner’s cheque

with blinking

text telling user that they’ve

won

Everything is

displaying, just not

formatted and lined

up correctly

The margins haven’t been set correctly

Fixed the margins

15/9

16/9 Timer displaying

and running

Timer displays and goes from In Game

Timer Value to 0

Timer displays,

but doesn’t translate between minutes correctly

(e.g. 01:00 to 00:59)

Translation between minutes

isn’t controlled correctly

Fixed translation by

using if statement

16/9

16/9 Timer resetting for every new question

Timer restarts from In Game

Timer Value for every question

As expected n/a n/a n/a

16/9 Testing if notification

appears when timer

runs out

Alert box telling the player that they’ve lost

As expected n/a n/a n/a

16/9 Testing if confirm box

appears when user

Confirm box asking if

user wants to use

As expected n/a n/a n/a

19

Page 21: Documentation

clicks on a lifeline

lifeline

16/9 50/50 lifeline

Randomly removes

two incorrect answers

As expected n/a n/a n/a

18/9 Ask the Computer

lifeline

Percentages for each possible answers

displayed in alert box

Alert box displays, however

percentages are large decimals

Percentages have not

been rounded

Percentages were rounded

18/9

18/9 Switch the Question

lifeline

Question is swapped

with another question

As expected n/a n/a n/a

18/9 Get a Hint lifeline

Hint displayed between bottom

answer and Lock It In

link

As expected n/a n/a n/a

19/9 Levels display and progression as different questions are asked

Levels displayed to

right of screen,

highlight as questions progress

Highlights and

questions progress,

but displays on bottom of screen

Div wasn’t floated left

Div floated left 19/9

5.0 Evaluation

20

Page 22: Documentation

The evaluation is divided into three sections; Product Evaluation, Process Evaluation and Potential Improvements. The first aspect discusses whether the final product meets the specifications established in Phases 1 of the report, as well as the performance, reliability and ease of use of the application. The second and third sections of the evaluation respectively explain which parts of the design process were implemented successfully and possible alterations or improvements that can be made to the application.

5.1 Product Evaluation

The finalised browser-based version of “Who Wants to be a Millionaire?” meets the stipulations and task aims established within the Aim (1.1) and Problem Description (1.2) sections of this documentation. It provides a clear cut and user-friendly interface that integrates seamlessly with the Questions text file to read in and display questions, answers and hints to the player. The easily accessible and editable nature of the Questions text file will allow teachers to craft a variety of questions (from which 16 are randomly selected to be used within the game, thus ensuring that every game is a unique experience for the player) relevant to their own subjects, thereby offering them a pragmatic option for transferring and consolidating classroom learning within their subjects. The added timer option supplies teachers with yet another tool that has the potential to increase students’ speed in answering questions accurately, assisting them in preparation for exams and other activities requiring the use of time management.

“Who Wants to be a Millionaire?” also allows users to see their progress throughout the game on the Levels section of the page (displayed to the right of the in-game screen), as well as utilise lifelines like they would on the television programme of “Who Wants to be a Millionaire?”. These aspects, coupled with the novel “Winner’s Cheque” screen that displays upon the player winning the game, append interactivity and entertainment to the academic facet of the program. Such cohesion increases the likelihood that students will have an enjoyable, yet academically-enriching, experience with “Who Wants to be a Millionaire?”.

Overall, “Who Wants to be a Millionaire?” is a fully functioning single page web application that utilises a blend of Javascript, CSS and HTML to provide a reliable game that allows students to consolidate learning in a dynamic and stimulating fashion. Furthermore, it grants educators the opportunity to facilitate and transmit cognitive knowledge to their students easily, allowing them to focus their energies upon organising and improving other areas of their courses.

5.2 Process Evaluation

During the creation of “Who Wants to be a Millionaire?”, the Software Development Cycle (SDC) was followed in order to ensure the implementation of an efficient application that met the specified aims and objectives for the project. The design phase of this cycle was particularly effective in its conceptualisation of the requirements of the browser-based

21

Nick, 29/09/11,
Comma,
Page 23: Documentation

game, as well as the major functions required to achieve these aims (see Top Down Design – 2.2). This detailed planning ensured that the development phase of the project was completed quickly and smoothly due to the established hierarchy of tasks to be performed. The evaluation at the completion of the project has allowed for reflection upon the results of the finished product and process, as well as the identification of several possible improvements to the application.

In reflecting upon the implementation of the Software Development Cycle within the Major Project, there are a couple of specific areas for improvement that need to be discussed further. These are as follows:

Pseudocode – This section was arguably the most poorly completed of all of the phases as the developer wished to focus more attention upon the actual implementation and coding of the assignment. However, in retrospection, it would have been more prudent and pragmatic to pay more attention to this phase before coding, as it would have broken down the functions specified in the Top Down Design into more detail. This would probably have reduced the time taken in coding the actual application, thereby making it a more efficient process as a whole.

Testing – This phase of the SDC was conducted after the development of “Who Wants to be a Millionaire?”. In hindsight, this should have been completed as the application was being created. This would have allowed the developer to document errors and testing as they occurred within the coding of the browser-based game, instead of attempting to re-test and recollect this information at the end of the Development process.

The above phases of the Software Development Cycle, and the lessons learned from them through this venture, will be applied in future assignments and software development projects to ensure that the task is completed in the most efficient way possible.

5.3 Potential Improvements

In evaluating “Who Wants to be a Millionaire?”, several potential modifications that could improve the functionality, aesthetic appearance and usability of the application have been identified. These are listed and elaborated on below:

Questions.txt – In order to prevent students from cheating by viewing the contents of the Questions text file whilst playing the game, the file should be password protected so that only the teacher can access its contents.

Validate Questions.txt – Currently, the contents of Questions.txt is only validated for a small number of cases, primarily that of the In Game Timer Value and the Number of Questions in the Question Pool variables (see here for more information). This is due to the fact that extra validation constraints appear to restrict the information that could be used in the creation of questions for the game, thereby defeating one

22

Nick, 29/09/11,
Very well identified and critical consideration.
Nick, 29/09/11,
Only one additional suggestion for improvements to testing; having users from the stated target audiences use and appraise the application for its intended purpose. That way very real credibility and feedback could have been acquired.
Page 24: Documentation

of the aims of this project (see 1.1). Nonetheless, extra research should still be conducted into ways to validate more of the information placed within the Questions text file (e.g. making sure questions’ content doesn’t include squiggly brackets, etc – see link above for more of an explanation). The findings of such investigations could potentially be utilised to further user proof the application in such a way that it still fulfils the aims of the project, namely (in this case) allowing teachers to enter in a broad variety of problems to be solved by students whilst playing the game.

Beta Testing – Whilst developer testing has been completed (see 4.0), the time constraints of the Major Project have prevented the developer of the application from seeking out students to beta test the game. Beta testing would assist in improving “Who Wants to be a Millionaire?” by providing the developer with invaluable user feedback that would potentially allow the game to be modified to better fit the target audience (Upper Primary and/or Middle Years students).

User Manual – The Instructions.pdf, whilst containing an easy to understand explanation of the game, could be better formatted (with a title and contents page that has hyperlinks to the different areas of discussion within the document) to increase the professional appearance and outline of the article. A separate user manual could also be crafted for teachers to provide them with more information about the purpose of the game, the ways in which it can be utilised and how to use the Questions.txt file to its full capacity (Note: this is already explained in the text file, but a user manual would be an easier place to read and understand such information as it can use highlighting, underlining, etc to more effectively communicate the message).

Hover Captions For Lifelines – To assist players (who have not read the User Manual) in identifying which lifeline is which without clicking on it, hover captions could be added to each lifeline so that when a player hovers over it, a caption stating the name and role of the lifeline appears.

Addition of Sound to the Game – Adding sounds to the game (e.g. when user gets a question right or wrong) will assist players in immersing themselves in the “Who Wants to be a Millionaire?” experience, thereby increasing the enjoyment and learning gained out of their use of the application.

Answers Selection/De-selection – When an answer is selected, and then another answer is selected, the answer that was originally chosen reverts back to its original colour. However, when hovering over this now de-selected answer, its colour does not change to the hover colour. Fixing this issue would slightly enhance the visual appearance of “Who Wants to be a Millionaire?”.

Customized Message Boxes – Rather than using alert boxes, customized message boxes could be utilised to pass information to players. This would increase the aesthetic appeal of the application and allow the Ask the Computer lifeline results to

23

Nick, 29/09/11,
Knew you would acknowledge this eventually
Nick, 29/09/11,
Brilliant thinking and purpose behind this review point.
Page 25: Documentation

be displayed as a graph, a much more visual appealing form of communication, rather than as straight numerical percentages.

Other Formatting/Aesthetics – Additional formatting (e.g. adjusting of margins, etc) could be completed to ensure a smoother transition between game states (e.g. Winning the Game and the Start Up Screen states).

24

Nick, 29/09/11,
A majority of these suggestions are definitely surrounding the ‘look and feel’/aesthetic of the SPA. This is encouraging as they are the lesser important aspects in the scope of this Major Project. Basically says, you focussed for the most part on the functional aspects of the web application and did a fantastic job of delivering them to a high standard. Hence, very few holes in the running of the program - the most central component to contend with when developing. Excellent work Mark.