Objectives

advertisement

2012 HKDSE Information and Communication Technology

School-based Assessment

Module D – Software Development

Madam Lau Kam Lung Secondary School of Miu Fat Buddhist Monastery

Objectives

An English language learning centre would like to provide an information system for children to play English vocabulary games which improve their English vocabulary. Base on my chosen module, I am required to provide solutions for the centre as I am supposed to be the IT project manager responsible for the project.

The aim of this coursework is to promote children’s interest in learning English language, especially for enriching vocabulary. For children, learning through traditional methods i.e. reading textbooks and English books is quite a harsh and boring work as much trouble will be caused in order to study out of lessons in schools actively. However, games are more attractive to children as it just takes them a few minutes to finish the whole game in a relaxing and interesting way. And it is not related to their academic results but just for supplementary so that they will not be unaccustomed to the pressure of studying.

Besides, parents can know whether their children have absorbed knowledge or not, since the marks that users get in different games could shown which they are good at or weak in different domain. It is thus clear that this information system of

English vocabulary games is beneficial for both children and parents.

Target users

I am going to provide English vocabulary games suitable for children (i.e. aged from 8 – 14, primary 3 – 6 and secondary 1 – 3) , who want different difficulty levels of vocabulary games offered as mini games. Most of the students started to learn using different computers software in primary schools therefore they are familiar with computer and it’s not difficult for them to operate the system. Also the program would be user friendly that users will be guided throughout the whole playing process

1

so that they wouldn’t meet any insolvable problems.

Through playing different games, children will practice for different parts of

English language. For example, one is to help them to remember the spelling of vocabulary when they fill in the missing letters. Another one can help the children to learn antonyms and synonyms, one for learning words in different tense etc. There will be detailed explanation in the next part.

Children can complete more games when they are small in order to accumulate huge mass vocabularies which help them to improve their English vocabulary. Hence the system may help the users to lay the groundwork for a good command of English from their childhood. Their English standard will be progressed.

I hope my skills in writing program can be enhanced through tackling the task. It is an opportunity for me to improve my self-learning skills as well. At the end of the coursework, I anticipate a program which can suit the requirements mentioned above can be produced. I will consider of the layout of the games, interface and how to make it more interesting and challenging. I also expect to write some extra functions to make the program more perfect.

Sub-problems

1.

Users of different ages and education level of different abilities. Thus not everyone can solve the same game and choice should be provided. To meet the requirement and solve the problem, I will prepare a number of vocabulary games with different difficulties. Also, users could choose games in accordance with his/her virtues or weaknesses (e.g.tenses, meaning of words etc.) to strengthen their English language pointedly. Every time the game chosen will generate base on level request by user. If user found that he/she does not want to play the distinct game, he/she can regenerate another one.

2.

I should consider some common problems usually met by players: Sometimes users may get stuck during a game. However it is time-consuming if they really want to go. Then the smoothness of the program is greatly being affected. To deal with this thorny and unavoidable issue, I will write a function which aims at providing tips to user so that they can keep going. When players have entered wrong letters into the blanks, they may want to delete it. I will write a function which can help users to make this operation become possible.

2

3.

In running the program, users are always required to input certain data. However, it is common that users may input wrongly and this will cause errors or even terminate the program. This is usually caused by wrong typing or wrong input format, incomplete data etc. To deal with the problem, validation of data should be done. As a result, we have to set up rules or limitation for inputting data. The program can then run in a more smooth way.

4.

Beside the basic functions of the program, other advanced functions should also be included in order to improve the convenience for users. So that they can fulfill more tasks and finish different kinds of work. They are usually for editing purpose. For this program, we are required to design some peripheral functions to amend the input data and saving the unfinished games into a text file.

Also function of registration, log-in, ranking, introduction and rules of games, log-off etc are needed to be considered to attain the highest efficiency. The set up of accounts are necessary for each user to store their own information and results.

When the users log-in the system, they can play the last game as the latest saved game will be called back. A few accounts should set up for the administrators of the English language learning centre too in order to check children’s result and give them needful assistance.

5.

Users can play the games anytime when they log-in the system. The program is simple and it uses little storage size, so it will not affect the effectiveness and the speed of the computer.

6.

No matter how easy to learn a programming language is, it takes a considerable period of time for one to be familiar with its operations. In my case, I had learnt

Pascal for almost a year while my knowledge of Visual Basic Programming

Language was blank. There was not enough time for me to learn a new programming language, and it would be more sensible to finish the program using a program language with which I am more familiar.

3

Analysis

Part A: Introduction of vocabulary games

The following games have been decided to be included in the system.

1.

Matching of vocabulary and meaning

Five vocabularies will be given in the program each time. At the below, children are required to enter the correct vocabulary in the relative blank with provided meanings.

Given vocabularies: abject, ability, contain, device, flee

1. Which word can be defined as ‘the mental or physical power or skill that makes it possible to so something’? ________________________

2.

…………………………………………………………………………………

3.

…………………………………………………………………………………

It is easy to complete this game. If students play this game everyday, it is efficient that children are easy to absorb the vocabulary with correct meanings, so that they can learn five vocabularies a day, for a long time they will learn lots of vocabularies through playing games.

2.

Fill in the missing letters

Five ocabularies will be given one by one with missing letters. Children need to fill in the letter missing. For different levels, the number of letter missing is different. For the easier level (start from level 1), less letters are missing. For the highest level (level

5), the letters given by the system will be the least. As the letters given is not enough to see which vocabulary they represented to, so that the meaning of words will be given also.

(Level 1)

What is the missing letter of the vocabulary?

1.

The mental or physical power or skill that makes it possible to so something--abil_ty:

2.

……………………………………………………………………………………..

3.

……………………………………………………………………………………..

4

(Level 5)

What is the missing letter of the vocabulary?

1.

The mental or physical power or skill that makes it possible to so something—a__l_t_:

2.

……………………………………………………………………………………..

3.

……………………………………………………………………………………..

3.

Learning synonyms

Five vocabularies will be given and five sentences with a specific vocabulary

(quotation marks) will then be given one by one. Children should select the correct vocabulary with same definition and input the answer behind the sentences.

Given vocabularies: abject, ability, contain, device, pretty

What is the synonym?

1.

Mary is ‘beautiful’. (ans.: pretty)

2.

………………………………………………………………………………..

3.

………………………………………………………………………………..

.

4.

Learning antonyms

Five vocabularies will be given and five sentences with a specific vocabulary

(quotation marks) will then be given one by one. Children should select the correct vocabulary with opposite definition and input the answer behind the sentences.

Given vocabularies: abject, ability, contain, device, short

What is the antonym?

4.

Mary is ‘tall’. (ans.: short)

5.

………………………………………………………………………………..

6.

………………………………………………………………………………..

.

5

5.

Practical of tenses

Sentences will be given which a blank is left. The system will provide the verb only.

Users are necessary to fill in the blanks themselves. Before the game started, some usage of how tenses used in different situation will be displayed for the users in order to have a study before doing the exercise.

Usage of different tenses:

1.

Present tense: …………………………………………………………..

2.

Past tense: ……………………………………………………………...

3.

………………………………………………………………………..

Please fill in the blanks with correct answers.

1.

I _________(go) to the park yesterday.

2.

……………………………………………………………..

The games mentioned above are decided to include in the system. They are all in a simple format, which is Question and Answer. It is because it’s easier for the programmer to write the program with words only.

May be it is not interesting like a Flash mini game, however its’ format like the exercise of children’s homework. Therefore the English language centre can give homework to children through the system. It’s more convenient for the staff and teachers to check their homework. And children will think that it’s interesting to hand in and complete homework through computer games.

This will promote their interest of studying.

The games are easy to operate that children need to input some letters or numbers with the keyboards only. It’s not difficult for children to complete the tasks alone and it just takes a very short time for each games.

Hints will be given after the first round input if there are any mistakes. For the second time, the correct answer will be provided if their answers are still wrong.

Every game would provide different vocabulary in different aspects.

Therefore users can learn more about part of speech, meanings and tenses of vocabularies. These games totally involved lots of knowledge about English vocabulary. The games will relate to what they are studying in schools. This may help them to improve the English vocabulary directly.

6

Part B: Evaluation of the choice of the programming language and IT tools

There are a few IT tools (softwares) for me to choose from:

1.

Pascal (Programming languages)

Pascal is an imperative programming language that is considered a viable option for structured programming. A derivative known as Object Pascal was designed for object oriented programming.

Can be downloaded here: http://www.top4download.com/turbo-pascal/vlzdyhfu.html

2.

Scratch (IT tools)

Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.

Can be downloaded here: http://scratch.mit.edu/

3.

Flash (IT tools)

Adobe Flash Player is the standard for delivering high-impact, rich Web content.

Designs, animation, and application user interfaces are deployed immediately across all browsers and platforms, attracting and engaging users with a rich Web experience.

7

Can be downloaded here: http://get.adobe.com/tw/flashplayer/

4.

Java (Programming languages)

Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing.

Can be downloaded here: http://www.java.com/en/download/inc/windows_upgrade_ie.jsp

5.

Visual Basic (Programming languages)

Visual Basic 2010 is an evolution of the Visual Basic language that is engineered for productively building type-safe and object-oriented applications. Visual Basic enables developers to target Windows, Web, and mobile devices.

Can be downloaded here: http://msdn.microsoft.com/en-us/vbasic/bb466159

8

Comparison of different IT tools

IT tools

Pascal

Strengths

Enough to generate simple vocabulary games

Tools provides by Pascal basically can support functions that the system need

Less demanding on hardware specification, i.e. program can be run as the computer has a

Disk Operation System(DOS)

Does not require the connection to the Internet

Easy to write thus it meets demand of efficiency and effectiveness

Scratch

No programming language is required

Easy to build up animations, music and games etc. for

Flash programmers

Free to download the program

Animations and music can be added to improve the liveliness of games

Attractive interface

Most internet games are implemented by flash

Interactive menus(serve as good navigation guides for human visitors)

Java  designed to be easy to write, compile, debug, and learn than

Weaknesses

 text-based interface, does not have any graphical user interface

 outdated

Does not allow the programmers to write a program that can use pointers

Wasting time to design a more user-friendly environment for users

The file size is large as there many sound effects, pictures are embedded into the program file

Memory leakage

Difficult to design complicated games

It is not free of charge for the developer

Requires good designing and drawing skills

Increase in file size of the homepage

Music and sound files embedded in Flash movies increase their file sizes which in turn increases the download time

 Single-paradigm language

 Default look and feel of

9

Visual

Basic other programming languages

 object-oriented, centered on creating objects, manipulating objects, and making objects work together

 allows you to create modular programs and reusable code

 platform-independent

Users does not have to be a

Windows expert

Users feel comfortable working with menus, the mouse and the

Windows interface

Can produce a graphic user interface easily

Its function facilitate input and output

GUI applications written in

Java using the Swing toolkit is very different from native applications

Perceived as significantly slower

More memory-consuming than natively compiled languages

No freeware version of

Visual basic available

Memory leakage

Only for windows

Sluggish performance

Passing value by reference

I will choose programming by Pascal as the solution.

Advantages:

Modular programming

"Modular Programming" is the act of designing and writing programs as interactions among functions that each perform a single well-defined function, and which have minimal side-effect interaction between them. Put differently, the content of each function is cohesive, and there is low coupling between functions.

Language support can be provided by a Module System.

Pascal is better, and supports modular programming, open arrays (not recoding functions for each new array with different bounds), assisting (no 255 brain-dead limit), linking with existing C code, safety features (pointer checks, range checking, etc) that one can even turn off, and much more.

Compilers that support a modern Pascal started with TurboPascal from Borland and ModulaLanguage from Wirth, and continued with DelphiLanguage and

FreePascal; ModulaTwo, ModulaThree, OberonLanguage, and

10

ComponentPascal.

Thus it is always wise to start designing any application in a modular way.

Doing so creates an infrastructure that will let you build more robust application. Therefore my programming will be easier as a great deal of manual bookkeeping is avoided.

Modularity gives systems clearer design and control of module interdependencies. It also gives developers more flexibility in maintenance.

Modular design will have large benefits for the architecture of the entire.

The consisting of different modules (i.e. procedures and functions) let the program to be separated into different parts clearly. It helps me to design the system.

I have accumulated almost one year of experience in using Pascal to write different kinds of programs, I have been more familiar with the operations of Quick Pascal rather than the other solutions mentioned above. So that I can make use of my knowledge and have a good chance to practice the skills.

The Quick Pascal is enough to generate vocabulary games. The tools provided by it (e.g. program debugging, errors checking etc) basically support everything I need. Any other advanced functions just seem to be useless to me.

Pascal is written by simple program-writer software which can be commonly installed in various computers. There is no special system requirement.

It is convenient for users to edit the program. Any syntax errors made can also be detected by the complier easily.

I have already a QP software on hand.

Less demanding on hardware specification for both developer and user.

Disadvantages:

Text-based interface

Only words will be shown on the interface so that it’s difficult to promote children’s interest without pictures, animation and sound effect. Besides, it’s a bit difficult to control the operations of the program by entering letters and numbers on keyboard instead of using a pointer and a mouse.

11

Does not allow the programmers to write a program that can use pointers

Although we cannot put a picture directly in the program, some of the simple patterns can be made by symbols in order to make the interface more user-friendly and specific.

Children must use the keyboard to input their user names, answers and data etc.

Through typing the vocabulary by users themselves, the memory of each word will be more permanently and it’s useful for them in the future time.

It is easier for the programmer to make changes to the program as only words are necessary to be considered. It is no need to think of any graphical, sound problems and so on.

The file size of the program created is small for only a few KB since there are no pictures, animation such effects inside. For saving just documents of words, the storage space of computer could be reduced.

Part C: Requirement specification of the system

For the developers:

Tools

A computer

Function

Quick Pascal software For writing and compiling the program

Notepad For inputting the contents of vocabulary games and users information

Hardware Platform:

The information system that I designed for children to play English vocabulary games is just a small-scale system, therefore personal computers are good enough to meet the system requirements.

For the users:

Tools

A computer

Uses

The users can run a QP program without QP. Therefore the software of QP is not necessary for them.

12

Data structure:

There are a number of different data structures will be used in my program approximately:

Type

String by the users

Function

Input the users names, input/output answers of games

String

1-dimensional array

Text files

Records

Display the rules, structures, questions and results of the games

Store the options provided to players

Store users information, rules and result of games, programs etc

Store the latest/unfinished games by users and the rank the marks of all users

The program should meet the following requirements:

1.

The program can be played by PC users of target ages.

2.

Rules should be defined and stated clearly in the program.

3.

The program can accept the choice of games/level by the user himself/herself.

4.

The program can generate the selected games and related solutions.

5.

The program can accept and validate inputs for user and modify the content accordingly.

6.

The program can verify user’s solution at the end.

7.

The program can save the unfinished game of users.

8.

The program can show the result of a single user and the rank of all users.

9.

Be used without any high technological requirement.

Functions provided by the program

1.

Register to be a user of the system.

2.

A main menu and some sub-menus for user to choose different options.

3.

A log-in process to authenticate the user.

4.

Display the selections of vocabulary games for users to choose different levels and aim to improve distinct weaknesses.

5.

Display the introduction and rules of the selected game before the game started.

6.

Enter the game surface and start playing the game.

7.

Verify the results of the user after he/she finish the game.

8.

Display the correct answers in order to rectify users’ mistakes.

9.

Display marks accumulated by the single users in different games, levels or in total.

13

10.

Display the ranking of all users of the system.

11.

Save the unfinished games before the user log-off the account. The users may continue the uncompleted games in the next time he/she logged-in.

12.

A log-off process to ensure the users’ personal information will not be embezzled.

14

Design

To create a program according to the above design successfully, stepwise refinement and modular programming is necessary and act as an important role. I used the algorithm design to solve the problem step by step. Therefore, the original problem is broken down into a number of sub-problems which have mentioned in the objectives part.

Besides, I will use different procedures for different functions of the program. I use this modular programming approach because of the below reasons:

1. This allows me to design the program in a co-ordinary way. As different functions are assigned to separate procedures, better management and organizations of program can be achieved.

2. Any errors found in the program can be identified and solved efficiently.

3. Systematic and logical errors can be found more easily.

4. Procedures and functions can be reused. For example, a validating function can be called to validate different data items.

15

Part A: User Interface

The user interface is a place where users interact with the system. For this English vocabulary games system, it mainly refers to the textual information presents to the users. Therefore the user interface is classified into command line interface (CLI) which is used in Pascal.

The command line interface (CLI) requires users to input exact commands to control the system and enter suitable answers when playing the vocabulary games via the keyboard.

Fig.1 An output process (Pascal) with a text-based environment

Options displayed by system

Blank for users to input required command

Fig.2 Inputting commands in a command line interface

Besides, the program will consist of clear instruction in the parts which are more complicated. The instruction given will be in bullet points. This can give users more information of what to do and how to do what they want.

16

Structure chart of the design (Level 1):

Start

Print Out the main menu

Choice=1

Register to be a user

Choice

Choice=2

Log-in the system

Choice=3

Introduction of systems and games

17

Part B: Main Menu Design

In the English vocabulary games system, the following system functions are provided in the main menu:

1. Registration of users

1.1 Register personal information

1.2 Register own user name

1.3 Set up relevant password

1.4 Agree the rules of the system

2. Log-in process

2.1 Enter user name and password

2.2 Authenticate user’s identity

3. View introduction of system and games

3.1 View introduction of system

(i.e. aims, target users, information of relative English language learning centre etc.)

3.2 View aims and brief introduction of particular games

(i.e. difficulty levels, practices of different parts of English languages etc.)

3.3 Benefits to parents, children and teachers

18

The design of the menu structure up to the first and second level is shown below:

English vocabulary games system

Main menu

Register to be a user

Register personal information

1.2

Register

1.3 Set up

1.4 Agree

Log-in the system

Enter user name and password

Authenticate user’s identity

1.2

Register own user name

1.3 Set up relevant

1.4

Agree the rules of the system

Practices of different parts of English languages

Difficulty levels

19

View introduction of system and games

View introduction of system

Aim

Target users

Information of relative

English language learning centre

Benefits to parents, children and teachers

Main Menu interface

English Language Learning Centre

--Welcome to our English Vocabulary Games system—

The aim of this system is to promote children’s interest in learning English language, especially for enriching vocabulary through playing games.

1.

Register to be an user

2.

Log-in the system

Please select options: _

Please enjoy the games!

3.

Introduction of systems and games

Fig.1

To let users access the program in a more convenient way and make it more user-friendly, I will use main menu and sub-menus in my program. The program will then look neat and well-organized. This allows users to choose from choices instead of reading a large amount of text. Also users can get a clear concept of what the program is doing through point forms. They can go to different parts of the program simply by inputting different numbers.

20

1.

Registration interface (input screen)

Registration:

Please input your information by the following instructions.

Part1-Personal information

Name:

Age:

Gender:

Date of birth:

Part2-login information

Login name:

Password:

Please enter the password again:

Do you agree the rules of the system? (Y/N)

Data control:

Errors may occur during data collecting, processing of information. Data control is the measure used to increase the correctness of data. In this system, users are required to input his/her password twice during the set-up of an account in order to make sure correct data input.

The following shows the database structure of date validation:

Field name

User_name

Age

Data type

Text

Numeric

Field length

30

2

Gender

DOB(Date of birth)

Login_ name

PW(Passward)

Char(M/F)

Date

Text

Text

1

N/A

20

20

Agreement Boolean(Y/N) 1

Inputted data must be validated as incorrect input would produce incorrect output.

Data inputted by users can be checked against certain formats such as length check, range check, format check and type check so that the correctness of the inputted data will be increased. For example, dates can be checked against date formats such as ’DD/MM/YY’.

21

Error messages will be printed out also for the invalid input like typing error, wrong input format, and incomplete records and so on. It is important to inform the user when a data item has been entered incorrectly. Users will be reminded to correct the error immediately in order to make sure the information of input, storage and output are absolutely correct.

For examples, an error of inputting data occurred:

Registration:

Please input your information by the following instructions.

Part1-Personal information

Name: Chan Tai Man

Age: 11

Gender: M

Date of birth: 20/10/1995

Part2-login information

Login name: ctm

Password: 123456

Please enter the password again: 123456

Do you agree the rules of the system? (Y/N) YES

An error message will print out as below:

Please enter only a capital in the blank for the agreement of rules. Invalid input will not be accepted.

After the whole registration process finished, the system will display a few words:

The registration process has already been finished. You may start playing games now!

Do you want to leave the page? (Y/N)

22

After data input process has been finished, data will be transferred to the specified datafile and the users’ personal information will be stored there.

User_name Age Gender DOB login_name PW Agreement

Chan Tai Man 11 M 20/10/1995 ctm 123456 Y

Chan Mei Mei 12 F 21/10/1995 cmm 654321 Y

.....

.....

.....

Fig.2 users’ personal data file

2.

Login interface

Login the system

Login Name:

Password:

Are you a user or an administrator of the system? (U/A)

Computer software and data are valuable assets which are hard to replace. Therefore, this system which is also a computer-based system must be protected from unauthorized access. Setting the login system is one of the security measures. It is necessary so that only authorized users and administrators are allowed to access the system.

Users and administrators of the English language centre have different responsibilities and rights. Hence, they should be clearly classified into two groups, users and administrators. For example, the administrators can check children’s results so that they can give needful assistance to users as well. However, the users do not have the right to check the others’ marks except high marks shown on the ranking.

One more record will be added into the data file of users’ personal information (Fig.2), which is ‘latest login’ timing of the users with both date and time. This field will be updated after every login. So that the parents and administrators can know more about how is the situation of children when using the system.

23

Latest login

20/10/2011 15:45

20/10/2011 16:38

...

...

...

The field ‘latest login’ which will be added up to the users’ personal data file

Validation:

Field name

Latest_login

Data type

Date, Time

Field length

N/A

3.

Introduction of systems and games interface

Introduction of system:

1.

Aims...

2.

Target users....................................................................................................

3.

........................................................................................................................

For this part, it is the interface mainly describes the system and games to the users with text. Therefore the text displayed will be typed in a data file in advance and shown to the users when necessary. It can directly copy from the data file. No other entries or sorting had to be done.

Those required information such as aims, difficulty levels, benefits to parents, children and teachers and so on has been mentioned in the objectives part of this project. Clear descriptions have been made before, thus this information can be used as well in the interface which can help introducing the system and vocabulary games to the users in detail.

24

Part C: Input and Output – Sub Menu Design

After the users login the system, the interface shown should as below:

English Vocabulary Games System

1Selection of games

2Rules and Guidelines of Games

3Individual marks

4Ranking

5Change personal information

6Log off the system

Please select options: _

In the English vocabulary games system, the following system functions are provided in the sub-menu of login process:

1.

Selection of games

1.1

Types of Games

1Game 1- Matching of vocabulary and meaning

2Game 2- Fill in the missing letters

3Game 3- Learning synonyms

4Game 4- Learning antonyms

5Game 5- Practical of tenses

1.2

Difficulties of Games

1.2.1 Level 1

1.2.2 Level 2

1.2.3 Level 3

1.2.4 Level 4

1.2.5

Level 5

2.

Rules and Guidelines of Games

2.1

Game 1- Matching of vocabulary and meaning

2.2

Game 2- Fill in the missing letters

2.3

Game 3- Learning synonyms

2.4

Game 4- Learning antonyms

2.5

Game 5- Practical of tenses

25

3.

Individual marks

3.1

Total accumulated marks

3.2

Accumulated marks in each game

1Game 1- Matching of vocabulary and meaning

2Game 2- Fill in the missing letters

3Game 3- Learning synonyms

4Game 4- Learning antonyms

5Game 5- Practical of tenses

3.3

Accumulated marks in each level

1Level 1

2Level 2

3Level 3

4Level 4

5Level 5

4.

Query ranking

4.1

View total ranking and marks of users

4.2

View ranking and marks in particular games

1Game 1- Matching of vocabulary and meaning

2Game 2- Fill in the missing letters

3Game 3- Learning synonyms

4Game 4- Learning antonyms

5Game 5- Practical of tenses

4.3

View ranking and marks in different levels

1Level 1

2Level 2

3Level 3

4Level 4

5Level 5

5.

Change personal information

6.

Log off the system

26

1.

Selection of games

Please select games that you want to play:

1Game 1 Matching of vocabulary and meaning

2Game 2 Fill in the missing letters

3Game 3 Learning synonyms

4Game 4 Learning antonyms

5Game 5 Practical of tenses

Your choice: _

Please select the difficulty of games:

1Level 1

2Level 2

3Level 3

4Level 4

5Level 5

Your choice: _

Users are required to input the number of selection of games first, and then they need to input the difficulty of games that they want to play in the program as above.

Data Validation:

Field name

Selection_1

Selection_2

Data type

Numeric

Numeric

Field length

1

1

Only one number is accepted for each blank in this stage. Error message will print out if invalid answer is inputted.

27

2.

Rules and Guidelines of Games

Rules and Guidelines of Games:

Game 1- Five vocabularies will be given in the program each time. Children are required to enter the correct vocabulary in the relative blank with provided meanings. If students play this game every day, it is efficient that children are easy to absorb the vocabulary with correct meanings, so that they can learn five vocabularies a day, for a long time they will learn lots of vocabularies through playing games.

Game2 - ……………………………………………………………………………

………………………………………………………………………………………

……………………………………………………………………………………..

Those instructions of games will be displayed in the screen, however no input is preferred, and children can only read the rules of games in this stage. This information will write and stored in the data file before, therefore the program can simply display it directly.

3.

Gaming Screen

Game 1- Matching of vocabulary and meaning

Given vocabularies: abject, ability, contain, device, flee

1. Which word can be defined as ‘the mental or physical power or skill that makes it possible to do something’? ________________________

4.

…………………………………………………………………………………

5.

…………………………………………………………………………………

This is a matching game which asks children to match the meaning of words. Five vocabularies will be given at the top of the screen. Meaning of words will be provided in the questions as well. Children have to select a correct vocabulary to match the provided meaning. For each question, 3 lines are enough to display the questions and provide blanks for answering.

28

Data Validation:

Field name answer

Data type string

Field length

20

Error messages will be shown if the input is invalid. For examples, the user entered numbers in the blanks, an error message ‘Please answer the question with suitable input format, string’ will be shown.

Sample data file:

Vocabulary Meaning

Ability the mental or physical power or skill that makes it possible to do something

Contain

To be capable of holding

Questions will be selected from the data file randomly with pairs of vocabulary and meaning.

Game 2- Matching of vocabulary and meaning

(Level 1)

What is the missing letter of the vocabulary?

4.

The mental or physical power or skill that makes it possible to so something--abil_ty:

5.

……………………………………………………………………………………..

6.

……………………………………………………………………………………..

(Level 5)

What is the missing letter of the vocabulary?

4.

The mental or physical power or skill that makes it possible to so something—a__l_t_:

5.

……………………………………………………………………………………..

6.

……………………………………………………………………………………..

Five vocabularies will be given one by one with missing letters. Children need to fill in the letter missing. Meaning of vocabularies will be given in order to let the users know what the vocabularies are. For each question, 3 lines are enough to display the questions and provide blanks for answering.

29

For different levels, the number of letter missing is different. For the easier level (start from level 1), less letters are missing. For the highest level (level 5), the letters given by the system will be the least. As the letters given is not enough to see which vocabulary they represented to, so that the meaning of words will be given also.

Data Validation:

Field name answer

Data type string

Field length

20

Sample data file:

Vocabulary Meaning

Ability the mental or physical power or skill that makes it possible to do something

Contain To be capable of holding

… …

… …

For each vocabulary, some letters will be covered by the program therefore a vocabulary with missing letters can be shown, such as abili_y, co_tain and so on, the number of missing letter will increase by the increasing of difficulty.

Game 3- Learning synonyms

Given vocabularies: abject, ability, contain, device, pretty

What is the synonym?

1.

Mary is ‘beautiful’. (ans.: pretty)

2.

………………………………………………………………………………..

3.

………………………………………………………………………………..

Five vocabularies will be given and five sentences with a specific vocabulary

(quotation marks) will then be given one by one. Children should select the correct vocabulary with same definition and input the answer behind the sentences. For each question, 2 lines are enough to display the questions and provide blanks for answering.

30

Data Validation:

Field name answer

Data type string

Field length

20

Sample data file:

Beautiful pretty

Therefore hence

Sad upset

... ...

... ...

One hundred pairs of vocabulary with same meaning will be set up in advance and saved in the data file. When the users start running the game, the system will transfer data from the relative data file. For this game, pairs of vocabularies will be randomly chosen by the system and displayed on the gaming interface.

Game 4- Learning antonyms

Given vocabularies: abject, ability, contain, device, short

What is the antonym?

7.

Mary is ‘tall’. (ans.: short)

8.

………………………………………………………………………………..

9.

………………………………………………………………………………..

Five vocabularies will be given and five sentences with a specific vocabulary

(quotation marks) will then be given one by one. Children should select the correct vocabulary with opposite definition and input the answer behind the sentences. For each question, 2 lines are enough to display the questions and provide blanks for answering.

Data Validation:

Field name answer

Data type string

Field length

20

31

Sample data file:

Beautiful ugly

Happy Sad

Tall Short

... ...

... ...

One hundred pairs of vocabulary with opposite meaning will be set up in advance and saved in the data file. When the users start running the game, the system will transfer data from the relative data file. For this game, pairs of vocabularies will be randomly chosen by the system and displayed on the gaming interface.

Game 5- Practical of tenses

Usage of different tenses:

4.

Present tense: …………………………………………………………..

5.

Past tense: ……………………………………………………………...

6.

………………………………………………………………………..

Please fill in the blanks with correct answers.

3.

I _________ (go) to the park yesterday.

4.

……………………………………………………………..

Sentences will be given which a blank is left. The system will provide the verb only.

Users are necessary to fill in the blanks themselves. Before the game started, some usage of how tenses used in different situation will be displayed for the users in order to have a study before doing the exercise. For each question, 2 lines are enough to display the questions and provide blanks for answering.

The usage of tenses will be written in advance and stored in the data file. The system can directly display the instruction with the database.

Data Validation:

Field name answer

Data type string

Field length

20

32

Sample data file:

Sentence Answer

I _________ (go) to the park yesterday. Went

I _________ (go) to the park tomorrow. Will go

… …

… …

One hundred sentences with distinct tenses in different situation will be written in advance and saved in the data file. When the users start running the game, the system will transfer data from the relative data file. For this game, sentences displayed will be randomly chosen by the system and shown on the gaming interface.

For each game, a specific data file will be set up, and data are related to different aspects for distinct games. For each game, a question and answer data file is set up, information will be stored in five data files separately in the system, and the system can get the full answers for each game from their own data files. It is easier for the system to access the questions and answers from each data file; some extra workload to separate the answers and questions for distinct games in the same file can be avoided. Therefore, the Q & A data file system should set up independently as above.

4.

Peripheral Functions

Provide tips to solve difficulties

Sometimes users may get stuck during a game. However it is time-consuming if they really want to go. Then the smoothness of the program is greatly being affected. To deal with this thorny and unavoidable issue, a function which aims at providing tips to user so that they can keep going is designed.

Make use of the game 4, here is an example:

Given vocabularies: abject, ability, contain, device, short

What is the antonym?

1.

Mary is ‘tall’. (ans.: short)

2.

………………………………………………………………………………..

3.

………………………………………………………………………………..

33

Suppose the user cannot think of the answer ‘short’ for a very long time, the system may try to help the users to tackle the problem.

Do you want some tips? (Y/N)

Suppose the users enter ‘Y’. Then, tips will be given by the system as the examples below:

The answer starts with the letter ‘S’.

Therefore, with these tips, the users may deal with the difficulties more easily and they can play the games continuously.

Saving the unfinished games

Moreover, the users may want to stop the games before finishing the whole game.

Function for exiting the games in the playing process is designed.

Do you want to exit the game? (Y/N)

If the users enter ‘Y’, the system will amend inputted data and save unfinished games into a Text file. The temporary marks and results will be saved in the user’s personal file. Hence, the users can continue the unfinished games in the next login since the system will access data from users’ files automatically when they start playing the games later on.

Change of personal information

1Edit the information

2Delete the information

3Do not make any changes

Choose an option (1-3):

Users may make changes to their personal information, choosing to edit by inputting

‘1’, the user is then asked if he/she is sure that he/she would like to edit. Changes will then directly make to the data file of system through editing information in the program.

34

If the user inputs ‘N’, the program will print out a message and ask if the user wants to continue to edit or delete. If they don’t want to make any changes after enter this interface, they could choose to exit the page and the system will drive him/her to the main menu.

5.

View Individual Marks

Users can view their accumulated marks in this interface. The records are classified into 3 parts, which are total accumulated marks, accumulated marks in each game and accumulated marks in each level. They can select which kind of marks they would like to know.

The interface is as below:

View Accumulated View:

Please select the aspects of marks that you want to know:

1- Total accumulated marks

2- Accumulated marks in each game

3- Accumulated marks in each level

Your choice: _

If the user enters ‘1’, the system will display the marks that the users accumulated in the previous games from the personal data file of users without any sorting.

If the user enters ‘2’, he/she has to choose which games he/she would like to show the marks also, the interface is as below:

Please select the marks of games that you want to know:

1Game 1- Matching of vocabulary and meaning

2Game 2- Fill in the missing letters

3Game 3- Learning synonyms

4Game 4- Learning antonyms

5Game 5- Practical of tenses

Your choice: _

35

After choosing of games, the system will sieve the marks of the chosen game and sum up the total marks, finally display the calculated marks to the user.

If the user enters ‘3’, he/she has to choose which difficulty level he/she would like to show the marks, the interface is as below:

Please select the marks of difficulty level that you want to know:

1Level 1

2Level 2

3Level 3

4Level 4

5- Level 5

Your choice: _

After choosing of level, the system will sieve the marks of all the games with same difficulty levels and sum up the total marks, finally display the calculated marks to the user.

6.

Query ranking

The total marks stored in the data file will be sorted by ascending order in the design of ranking function. Users can view the ranking of the whole system.

Query ranking:

Please select the aspects of rankings that you want to know:

1View total ranking and marks

2View ranking and marks in particular games

3View ranking and marks in different levels

Your choice: _

If the user enters ‘1’, the system will display the overall ranking of users who participated in this system. The ranking will be sorted be the total marks that the users get in all games and then be shown in this section.

36

If the user enters ‘2’, he/she has to choose which games he/she would like to show the rankings and marks also, the interface is as below:

Please select the rankings and marks in particular games that you want to know:

1Game 1- Matching of vocabulary and meaning

2Game 2- Fill in the missing letters

3Game 3- Learning synonyms

4Game 4- Learning antonyms

5Game 5- Practical of tenses

Your choice: _

After choosing of games, the system will sieve the marks of the chosen game and sum up the total marks in different levels, finally display the calculated marks to the user.

If the user enters ‘3’, he/she has to choose which difficulty level he/she would like to show the rankings and marks, the interface is as below:

Please select the ranking and marks of difficulty level that you want to know:

1Level 1

2Level 2

3Level 3

4Level 4

5Level 5

Your choice: _

After choosing of levels, the system will sieve the marks of all the games with same difficulty levels and sum up the total marks, finally display the calculated marks to the user.

The output interface of ranking is as below:

Ranking

1.

Chan Tai Man 239 marks

2.

Chan Mei Mei 218 marks

3.

4.

5.

37

Data file structure:

Users G1L1 G1L2 G1L3 G1L4 G1L5 G2L1………….G5L5

Cmm 10 12 30 28 7 5 ……………14

Lws 8 17 9 20 16 40 …………....11

Marks for each game (e.g. ‘G1L1’ represents level 1 of game 1) will be stored in a data file which is recorded in the users’ personal data file and the system’s database separately. It is because record the data through this method can help the system to sort and display the individuals’ marks of single user and ranking of all users effectively.

7.

Log off the system

English Vocabulary Games System

1Selection of games

2Rules and Guidelines of Games

3Individual marks

4Ranking

5Change personal information

6Log off the system

Please select options: _

If the users choose ‘6’ in this interface, they will exit the sub menu of the program and drive to the main menu.

Are you sure you would like to exit? (Y/N) _

The above question will be displayed in order to confirm the users’ decision of exciting and avoid careless input.

38

Implementation

System conversion

Direct cutover conversion

Advantages

simple in system conversion

fewer resources(e.g. hardware, software, manpower) are required

Disadvantages

risky

no backup system available in case the new system fails

Parallel conversion suitable for mission-critical system

errors and faults can be discovered more efficiently

favorable for the organization which cannot tolerate the consequences of system failures

extra computer hardware is required

managerial and logistical complexity increases

heavier workload

Phased conversion reduce the risk of complete system failures

less workload than parallel conversion

operational and administrative staff have more time to adapt to system changes

suitable for a large and complex system that is difficult to be implemented in one single phase

adds complexity as dividing the conversion into phases creates more works

systems with dependent components are not suitable for phased conversion

Pilot conversion problems or errors found are corrected before the system is fully installed

strengths and weaknesses can be evaluated when the system is run and tested on the pilot sites

lower risk than direct cutover conversion, since only pilot sites would be affected if the new system fails

software bugs can be discovered easily that helps create a more well-developed software company

the amount of financial loss can be greatly reduced if the new system does not work

complex process

sufficient pilot testing is required before the system fully launched

39

Parallel conversion is chosen.

1.

Parallel conversion is generally the best strategy when the organization involved cannot tolerate the consequences of system failures, especially when the system is mission critical. The English vocabulary system can not stop working as students have to finished tasks in the system frequently, hence the system can not bear the responsibility of fail. Even if the new system failed, the existing system could still operate as a backup.

2.

Errors and faults can be discovered before the system launched. It is more efficient for both users and administrative staffs to operate the system.

3.

Although the use of resources such as hardware and manpower would be doubled or even more in the parallel operation period but the risk of system unavailability would be minimized. The English centre has to pay a heavy price for the fail of the system, as students cannot use the system and complete the tasks during the maintenance. Also the users’ record may loss. It seems that backup of the system is important at all; hence the expenses for extra resources can be accepted in order to prevent the fail of system.

Comparison with other strategies

1.

Direct cutover conversion is very risky as there is no backup system available in case the new system fails. The conversion can be successful only if extensive testing has been done and the cost of system unavailability is tolerable. In this case, if direct cutover conversion is used in the game systems for students, there will be no backup system running if the new system fails. From the administration point of views, this is not a desirable arrangement.

2.

Phased Conversion has a lower risk and failures that occur in a new phase will not make the entire system fail. However, the complexity is much higher since the conversion has to divide into different phases which create more works for the staff and programmer.

3.

Although the majority of bugs and limitations will be located when trying out new system, sufficient pilot testing is required before the system fully launched.

If not, the system cannot run successfully. To finish the whole program testing, a long time is needed and the process is more difficult.

40

User training

User training aims to help users adapt to the new system faster and probably make fewer mistakes and anticipates frustration in the process.

The administrative staff of the centre would play the role of computer operators in this system. Supposed they are computer professionals and responsible to routine procedures such as data backup. Their training would be less formal as they can self-learn by studying the system operation manual (will be discussed in the next part).

A briefing session will be organized for those staff in order to introduce their responsibilities, operational functions, uses of database system etc. to them.

Besides, ongoing user training will be provided in parallel with system maintenance as the functions and features of the system will be modified from time to time. It is a kind of User Support as well which refers to the training and assistance provided for users after the system has been launched and run.

In this vocabulary game system, updated information will be provided and announced through the main pages of the system. Moreover, talks will be held by the centre for the users, especially for the new users. The administrative staff will talk about the aim, different procedures, and rules and so on to the users; hence this may help the users to be familiar with the system as soon as possible.

41

User manual

A user manual describes the routine operations of a system such as data input, storage, and information output and provides ongoing support for end users. A user manual also plays an important role in user training, as it provides information about system operations and working procedures.

A user manual with clear, step-by-step instructions will be written. Hence users can adapt to the operations of the new system quickly, and therefore the time for the system to operate at full capacity can be reduced.

User manual is an integrated part of a system so that users can retrieve the necessary information directly from the system.

The user manual for the English vocabulary games system will be divided into two parts:

1.

Hardware and software requirements to the users

2.

Operations and steps in the system

For the first part of user manual: Hardware and software requirements

1.

This program is portable, which means that it can be widely used in different kinds of computers that support DOS. May be some of the computers may still cannot run pascal and excute the qp program, but the problem can be solved with the DOSBox program.

2.

Users do not need to install any software in their computers as the program is just the execution file compiled by the software Quick Pascal. Any computers which support DOS can run the program.

3.

This program does not require much storage space. Users need not worry about the requirement of CPU, RAM and hard disk. All normal/common computers can run the program.

4.

Users can copy the program file into the secondary storage devices, such as a

CD-R, USB or the hard disk of their computers. Then the users can open the file in their device by using the computer and run the program by double-clicking the file. If the users are using Microsoft Window as the operating system, they can also run the program by the following steps:

(1) press ‘start’

(2) press ‘run’

(3) Input the command (the path of the file) e.g. C:\system.exe

42

Hence, they can run the program directly by opening the file from the location of storage, i.e. the hard disk or the secondary storage devices.

For the second part of user manual: Operations and steps

It includes the following parts:

Operations/Steps

System software start up

Shutdown procedures

Examples registration, login log off

Input sequences required to perform selections and options chosen expected functions

Common error messages display “Invalid input!” in the registration stage

Necessary stops to remedy the problems

 “Please read the instructions again!”

 “The correct data type should be string.”

Example of a step-by-step user manual provided by the system:

English Vocabulary Games Centre

Registration

Become an user

1.

Input option ‘1’ in the main page

2.

Enter ‘Y’ after you have inputted all you personal information and read the instructions carefully

3.

......

4.

......

Basic information

You can enter the personal information in both capital and small letter.

............

43

System maintenance

The main function of system maintenance:

Correct faults

Improve performance or other attributes

Make the system adapt to a modified environment

Once the system is fully launched, faults and performance bottlenecks may appear from time to time. Also, User requirements may also change as the environment in which the system resides also change with time. These have to be fixed by the system developer. Therefore, ongoing maintenance is necessary to make the system continuously work and adapt to constantly changing requirements.

Maintenance activities in the system include:

Collecting modification requests from users(i.e. students and parents)

Monitoring and improving system performance(e.g. speed up the operation time, check users’ condition of how they run the system)

Upgrading system hardware and software(e.g. enlarge the storage of the database management system)

Updating system documentation to reflect system changes(i.e. guidelines of distinct games, introduction of the system)

Importance of system maintenance:

Modifying the system after its delivery is much more difficult than fixing bugs during system development.

Making changes in a developed system is more risky, therefore maintenance tends to be more conservative.

44

Limitation

QP cannot run in all types of Windows

The program QP cannot run in the latest Windows, such as Windows 7, Vista and so on because they do not support the operation of QP. Therefore I cannot write the program at home, this cause a difficult for me to finish the coursework in the limited time as I can write the program in school only.

Problem solving : Using the software DOSBox to treat the window as an older version(e.g. windows xp, windows 97) so as to run QP successfully

Steps:

1.

Install DOSBox

2.

Execute DOSBox

3. Type mount c c:\qp (assume your QP is stored in c:\qp)

45

4. Type c:

5. Type qp

After entering the suggested input in DOSBox above, the QP can be executed in the Windows 7. Hence my problem can be solved subsequently.

46

Testing

Testing method

Once a system has been implemented, it must be tested. The main focus of testing is to find system errors and faults. The English vocabulary system will be worked properly once in order to check whether the program can fulfill the user requirements or not. The testing methods used are as below:

1.

Unit Test

The unit test refers to testing individual procedures before they are integrated with other modules. The goal of unit testing is to identify and fix as many errors as possible before they are integrated into the whole program. Errors will be easier to be located by unit test. A unit test helps to locate both syntax and logic errors early in the development process and therefore save time.

To test each procedure, i design the inputted data and conditions, allow the procedures to manipulate the data and observe outputs. Different inputs will be designed so as to demonstrate the behavior of the procedures.

2.

System Test

System test will be conducted after the unit test has been completed. The system test tests the integration of the procedures as a complete system. The aim is to find out if the system works according to the original objectives and system requirements. Errors exist between procedures will be located.

Main program

Introduction

Selection of games

Registration

Login

Operation

Guidelines

Key:

: Interaction between procedures

: System test

View of ranking and makes

47

3.

Acceptance Test

It is sure that the system meets all the requirements after completing the unit tests and system tests. Hence, the next step is to ask users whether they accept the system or if there are any improvements can be made.

Besides, the acceptance test also determines how users will use the system as they may not react in the way that the system developers predicted. Therefore, acceptance tests can find out how users will react to the system un unanticipated situations in order to improve the functions or interfaces of the system.

My classmates have been invited to test the system, they are involved in the acceptance test. They prepare a set of test cases that represent typical conditions under which the system will operate when it is actually executed. This gives a lot of useful information regarding the system user interfaces.

48

Test Plan

Test regarding the program

1.

Test input functions in main menu

Case Input data Expected output

1

2

3

4

5

6

1

2

3 g

Q q

Procedure Registration will start

Procedure login will start

Procedure introduction will start

Actual Output Objective

Same as expected

Test valid choice by the user and the program can be redirected to correct procedure

Same as expected

Same as expected

The main program will restart Same as

The sentence ‘Good Bye!’ will be shown and the user may leave the program expected

Same as expected

Test valid choice by the user and the program can be redirected to correct procedure

Test valid choice by the user and the program can be redirected to correct procedure

Test invalid choice by the user

The sentence ‘Good Bye!’ will be shown and the user may leave the program

Same as expected

Test valid choice by the user and the program can show the expected sentence

Test valid choice by the user and the program can show the expected sentence

49

The main page:

The main page is shown above. After users get into the system, the main page is the first page they could see. Users are allowed to choose totally 4 options here.

Case1:

Suppose the user input ‘1’ in the main program, the program will then run the procedure registration and student can register to be an user of the system in this page.

50

Case2:

Suppose the user input ‘2’ in the main program, the program will then run the procedure login and student can login the system in this page.

Case3:

Suppose the user enters ‘3’ in the main page, the introduction of the system will then be shown. No words are missing and the spelling is correct. Hence the users can read the introduction themselves before executing the system. After reading the description of the system, the user can press ‘Enter’ to leave this page. And the system will back to the main page.

51

Case4:

Suppose the user enters ‘g’ in the main page, the main program will restart and allow the user to input again. Other invalid input i.e. string except ‘Q’, ‘q’ and integers except ‘1’, ‘2’, ’3’ are not accepted. Therefore the system will back to the main page until the input is valid.

Case5:

52

Case6:

Suppose the user want to quit the system, he/she has to enter’q’ or ‘Q’ in order to execute the operation of ‘quit the system’. As the figures shown above, both ‘Q’

(capital letter) or ‘q’ (small letter) can be accepted. Then the sentence ‘Good bye!’ will be displayed on the screen and to give a signal to the user that they may quit now.

2.

Test input function in registration page

Case Input data Expected output Actual

Output

Objective

1 Name: Andy

Age: 10

Gender: F

Date of Birth:

11122011

User ID: andy

Password: 1111

Repassword: 1111

Procedure login will start

Same as expected

Test valid choice by the user and the program can be redirected to correct procedure

2 Name: Andy

Age: 10

Gender: g

Procedure registration will restart and allow the user to input again until the inputted option is valid

Same as expected

Test invalid choice by the user and the program can redirected to correct procedure

53

3 Name: Andy

Age: 10

Gender: F

Date of Birth:

11122011

User ID: andy

Password: 1234

Repassword: 1111

Procedure registration will restart and allow the user to input again until the inputted option is valid

3.

Test input function in log-in page

Case Input data Expected output

1 UserID: Andy

Password:1111

Procedure Operation will start

2

3

UserID: rew

Password: 456

The sentence ‘Login failed. Please login again.’ will be shown and the user has to input the userID and password again in the page below.

The program will back to the main page

Same as expected

Test invalid choice and confirm the password that the users input is correct or not

Actual Output Objective

Same as expected

Same as expected

Test valid choice by the user and the program can be redirected to correct procedure

Test invalid choice by the user and the program can show the expected sentence and redirected to correct procedure

Same as expected

Test invalid choice by the user and the program can redirected to correct procedure

UserID: rew

Password: 456

UserID: rew

Password: 456

UserID: rew

Password: 456

(input invalid data for three times)

54

4.

Check correctness of introduction

Procedure introduction

The expected paragraph can be displayed in expected format. Also there are no missing words or wrong spelling. Hence, the actual output is same as expected one. Also user can leave this page be pressing ‘Enter’ key, this is also what I expected the program to execute.

5.

Test input functions in operation menu

Procedure operation

55

Case Input data

1 1

2

3

4

5

6

2

3

4

5

7

Expected output

Procedure selectGames will start Same as expected

Procedure guidelines will start

Procedure viewMarks will start

Procedure viewRanking will start

The sentence ‘Good Bye!’ will be shown and the user may leave the program

Procedure operation will restart and allow the user to input again until the inputted option is valid

Actual Output Objective

Same as expected

Same as expected

Same as expected

Same as expected

Same as expected

Test valid choice by the user and the program can be redirected to correct procedure

Test valid choice by the user and the program can be redirected to correct procedure

Test invalid choice by the user and the program can redirected to correct procedure

Test invalid choice by the user and the program can redirected to correct procedure

Test valid choice by the user and the program can show the expected sentence

Test invalid choice by the user and the program can restart the correct procedure

56

6.

Test input functions in selecting games

Procedure selectGames

Case Input data

1 1,

<Enter>

Expected output

Procedure game1 will start

2 2,

<Enter>

Procedure game2 will start

3 3,

<Enter>

Procedure game3 will start

4 4,

<Enter>

Procedure game4 will start

Actual Output Objective

Same as expected

Same as expected

Same as expected

Same as expected

Test valid choice by the user and the program can be redirected to correct procedure

Test valid choice by the user and the program can be redirected to correct procedure

Test invalid choice by the user and the program can redirected to correct procedure

Test invalid choice by the user and the program can redirected to correct procedure

57

5 5,

<Enter>

Procedure game5 will start

6 6,

<Enter>

Procedure selectGames will restart and allow the user to input again until the inputted option is valid

Same as expected

7.

Check correctness of guidelines of games

Procedure guidelines

Same as expected

Test valid choice by the user and the program can show the expected sentence

Test invalid choice by the user and the program can restart the correct procedure

The expected sentences i.e. rules and guidelines of different games can be displayed in expected format. Also there are no missing words or wrong spelling.

Hence, the actual output is same as expected one. Also user can leave this page by pressing ‘Enter’ key, this is also what I expected the program to execute.

58

Evaluation

Test results

After testing every important part of my program, I compared the test results against the expected outcomes, the results are found to be suiting my expectation.

There aren’t any serious mistakes. Only some careless syntax errors and run-time errors have been discovered. Also, I missed some detailed functions in several procedures, just like validation check. This will be discussed in the conclusion part below.

Testing is yet another important part in constructing a program because a program with lots of mistakes is useless. I hope the number of errors can be reduced after this process. My test plan may not be perfect but I have already emended various mistakes during the process. Besides, comments and feedbacks from my friends and classmates are quite positive and useful which helped me a lot. It is a pity that time is not enough, hence I am not allowed to ask more people to try my program in order to improve it as well as I can.

Therefore I believe that my program has satisfied most part of the basic requirements as it can successfully run the function that I wrote if the player had follow the instructions to play the game and operate the system, the functions include the login procedure, main menu and sub menus, display the ranking and marks, registration procedure, log off procedure and so on. The English vocabulary games system is an organized system. Arrangement of ideas is distinguished in different aspects, such as selection of games, Display of marks and rankings. Therefore users can follow the instruction and find out the functions they wanted more easily.

Strengths of the design

1.

Clear structure of system

The English vocabulary games system is an organized system. Arrangement of ideas is distinguished in different aspects, such as selection of games, Display of marks and rankings. Therefore users can follow the instruction and find out the functions they wanted more easily.

59

2.

Large elasticity of system design suit everyone’s level

On the other hand, I designed to have several levels in the games; this is beneficial to the users to choose the suitable level for themselves. At the beginning, they can choose the easier level and increase the difficulty gradually. Hence, they will not feel scared at first but try to learn more easier vocabularies and usages so as to lay the groundwork of English though the foundation from low levels of games. It shows the elasticity of system design. Users will be glad to see their advancement of learning while upgrading the levels of difficulty.

3.

Help the parents and teachers to understand children’s situation

The system is useful for different people, not only the children, parents and teachers of the English language learning centre can also be involved in the system for the purpose of concerning children’s situation in their study and monitoring their achieved percentage of scheduled progress respectively. Since, both the parents and teachers can have better understanding to their children; they can have more communication on children’s study. They may cooperate to get the work done more effectively in order to improve the quality of the educational system functions provided by the English language learning centre

.

Weaknesses and limitations of the design

1.

Not attractive enough to the children

Since the Pascal is a text-based interface, it does not have any graphical user interface. Only words and simple colors can be shown by the program software,

Pascal, elements like animations, multimedia, graphic and songs cannot be shown.

It may not be attractive enough to the children. They may feel a bit bored when they run the system. Also, they can input the options selected or answer though the keyboard only. Compared with the touch screen and mouse, these two input methods are more common and interesting nowadays than the keyboard.

Therefore, it is a bit difficult to attract the children to login the system consequently or develop their interest to keep login the system and execute the operations in it.

2.

Limited storage space of data files

The storage space of the data files for storing users’ record and information is small. Only 100 users are allowed to register the system till now. The system cannot handle the register after the 100 th

users. It is unfair to them as they may be

60

one of the students of the English language learning centre, so they should enjoy equal opportunities and rights to study with the same resources provided, i.e. the vocabulary system.

Besides, the range of questions and answers is limited due to the limited storage space of system. Only several questions and vocabularies can be stored. Hence the questions provided in the games to the users are not enough now.

3.

Unsolved functional problems

It is difficult to write the program for keeping the latest login time of the users.

Since the time of each computer is different, it is impossible to unify the timing stored in the data file of the system. This problem cannot be solved easily thus writing the program which stating how to record the login time is really arduous.

Conclusion

Reflection in the design and implementation process

The program is implemented and completed principally. Most of the functions apart from the games interface can run normally. I am satisfied when finishing the whole program and the system is able to provide the main functions to the users. Although I cannot finish the games interfaces due to the time limit and amateur programming skills, I reach most of the targets set in the system design. I know that improvements can be made to the system I designed and I will review my whole project to see whether I can enhance the quality of my work or not.

Throughout the whole working process, I acquired lots of knowledge, like organization, design, analysis, programming etc. I have to make use of my knowledge learnt in the ICT lesson before in order to finish the coursework.

Completing the coursework gave me the chance to practice my ICT skills too. It is fantastic when different functions grouping together.

To me, it is really a big challenge as I have never met such large scaled projects before. Especially on mastering the languages in the Pascal, I felt quite helpless and discouraged when I started to write the program. Although I had

61

studied the qp programming over a short span, I had never written a whole program before. We just need to fill in some missing parts of a program usually.

It is difficult for me to finish the whole program by myself.

Nevertheless, I did not give up as I know that I should put me greatest efforts on completing the coursework in order to seize the chance of practicing my ICT skills.

Of course, unexpected difficulties had turned up on writing the report as well as the program. It is difficult for me to manage my time for doing the coursework and preparing tests and assignments of other subjects. The schedule of completing different stage of the coursework is very tight. However, I still try my best to hand-in the coursework on time.

In addition, after entering the suggested input in DOSBox as above, the QP can be executed in the Windows 7. However, some of the functions in it still cannot work normally sometimes. For example, although I had declared all the settings in it, the Pascal did not run the qp program yet. It is troublesome for me to write the program at home even though the qp can run occasionally but it actually caused some inconvenience to work in school. For instance, I can’t stay too late after school therefore it is impossible for me to process a great deal of data once.

Luckily I can eventually solve most of the problems after receiving ideas from teacher and classmates who had tried to test my program. Most testers are able to give me valuable feedbacks.

Anyway, I gained a lot of experiences in the process of completing the coursework. First of all, my logical thinking ability has also been ameliorated since I have encountered lots of problems requiring good logical skill and handling a lot of logical concept. Secondly, I get a great improvement in my programming skill. Although I find it very difficult when I first handle the job, but I can get it slowly. Thirdly, I had tried to design the program by myself and finish the report the show the examiners the idea I got. It is the first time for me to present so many ideas in English. Besides, I had to present a lot of data, information and figures in the report, this help to promote my skill of integration and presenting.

62

Finally, my attitude towards study has become more positive and enthusiastic as I was willing to learn more out of the lessons, and to cultivate self discipline and stamina in study. This is a valuable opportunity for me to test my ability and try to improve my weaknesses.

Improvements made

1.

Validation of users’ information

Problem: When people register to be the users of the system, they have to input their personal information by themselves without any choices. I missed the validation in the registration process; hence users can input their information without any restrictions. This may allow the users to input invalid data and these illegal inputs will hinder the storage space of the data file.

Improvement: The program can modify and detect the invalid output. The validation of each option is different, data type is the most common one, specified characters can be used too, such as ‘G’ and ‘F’ for validating the gender.

2.

Users cannot leave the sub menu

Problem: When the users login in the system and has chosen an options in order to execute the program operations, they will get into the expected pages.

However, I do not set up the function for them to leave the sub menu or other interfaces; they are not allowed to leave the pages when necessary. They may need to restart the program in order to execute the other functions in the system.

Improvements: I have created the function for the users to leave the page in the sub menus. The function of ‘leave the page’ becomes one of the options given in each page. Hence the users can leave from the sub menus anytime.

3.

Limitation of function

Problem: Quick Pascal only allows users to rewrite the whole datafile. The function of ‘assign’ is not allowed. Therefore, when the users enter their answers or personal information in the program, the datafile will be rewritten and the original data lost.

Improvement: Each users will owned their independent datafile, the latest

63

inputted answers from the users will be stored in the relevant files. Therefore, data of the others will not be lost. The latest information stored is enough for the users to continue the games next time and to calculate their marks.

Therefore, the problem solved.

Further development of the program

If I have a chance to make my programs more advanced and well-functioned. I have thought of some improvements of the program as below:

1.

A special interface can be designed for administrators. For examples, they can edit the new games, questions; give advice to the users etc with the provided functions in their own interface. It is more convenient for them to process and manage the system. The users and the administrators can be classified too.

2.

Some extra functions like time counting can be added in. Users can compare the time they use to finish a game. It is even more thinkable if comments can be given according to the time take.

3.

More text files comprising of games can be added to further increase the interesting level of my program. Users thus possess more choices.

4.

The system can be modified to use for other similar applications. For example, a system for the students to hand in their homework online. Then the teachers can view the students’ work; give comments and new assignments in the system, just like the role of users and administrators in the

English vocabulary games system.

64

References

Books:

1.

Textbook- New Senior Secondary Information and Communication Technology

(Elective D1) (Henry C H Ha, Longman)

2.

Textbook- New Senior Secondary Information and Communication Technology

(Elective D2) (Henry C H Ha, Longman)

Websites:

1.

http://hkoi.tripod.com/

2.

http://www.studyfreely.com/tutorial/pascal-triangle

3.

http://resources.hkedcity.net/resource_detail.php?rid=385406372

4.

http://www.zjtg.cn/itjs/pascaljx/default.asp

65

Download