69
Computing Science (Advanced Higher) Understanding Standards Events 2019 — Workshop Tasks (1–6)

Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Computing Science (Advanced Higher)

Understanding Standards Events 2019 — Workshop Tasks (1–6)

Page 2: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

ContentsWorkshop 1 — Analysis of the problem 2Workshop 2 — Design of the solution 20Workshop 3 — Implementation 31Workshop 4 — Testing the solution 51Workshop 5 — Evaluation of the solution 53Workshop 6 — Ensuring projects meet the Advanced Higher criteria 57Appendix 1 61Appendix 2 62Appendix 3 63

1

Page 3: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Workshop 1Analysis of the problem

Task Use the marking instructions on page 5 of the Advanced Higher project assessment task document available at https://www.sqa.org.uk/sqa/files_ccc/AHCATComputingScience.pdf to mark the analysis evidence for candidates 1 and 2.

You can record your marks on the grid that follows each candidate’s evidence in this booklet. The total mark that was awarded for analysis is provided in the grid.

2

Page 4: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Candidate 1 evidenceAnalysis of the Problem

Description of Problem

I intend to develop a quiz based on well-known historical events. The quiz will have three levels of difficulty so that the user can select a level on either their historical knowledge or how much of a challenge they want to set themselves. I intend to include the following features: login facilities, help screens, each level of difficulty will have a quiz selected at random, each quiz will have multiple choice questions and a leader board that can be sorted.

The end-users of my quiz will specifically be S1-S6 students who study history at school but also anybody who is interested in history and wants to test their knowledge.

My project meets the advanced higher computing requirements because it will have a user interface suitable for S1-S6 students which will be easy to use and will validate all inputs. My project will interface with stored data within a database for the questions (using SQL) and also with a text file to store the login facilities (these will be processed using an array of records). My project will also use a sort algorithm to arrange the details leader board details.

Scope

The scope of my project will include:

1. A completed design with pseudocode, data dictionary, query design and wireframes showing the intended interface for the quiz

2. A working quiz and a database with multiple choice quiz questions3. Completed test plan with descriptions of a test persona, test cases and

expected outputs4. The results of final testing5. An evaluation report

Constraints

There are a number of technical, economic and time constraints that will apply to this development.

3

Page 5: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

1. I will use LiveCode version 9 to create the quiz because I have several years’ experience using this language

2. The final solution will run on the Windows systems with ODBC to access my quiz database.

3. Microsoft Access will be used to store my quiz questions4. There will be no costs involved in the development of my project because I

am using software that is fully licensed and readily available in school5. I will ensure that my project is completed by the deadline of 29th March as it

will need to be delivered to SQA for marking. The submission deadline is 4th April 2019.

Boundaries

My working solution will contain:1. A system to allow users to sign up with a new username and password

combination The user cannot have a password of less than 4 characters

2. A system to allow users to log in with their unique username and password3. All user input must be validated4. Three quizzes of different levels of Easy, Medium and Hard will be available5. Each quiz will contain 10 questions that will be presented to the user in a

random order Users will not be able to choose how many questions per run through

of the quiz they do Users will only be able to choose their difficulty level, they will not be

able to choose which questions they are asked6. The score achieved by each user will be stored in the leader board file

corresponding to the correct difficulty level7. A leader board that will display the top 10 scores and usernames for each

difficulty level The leader board for each level will be sorted in descending order of

score

4

Page 6: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

UML Use Case Diagram

Requirements Specification

For my system to be able to fulfil its requirements, it must meet several criteria:

Login System Requirements

Users of my system will be able to create a unique username-password combination to access the quiz. The login functionality will include:

1. The Login page is the first screen that users will see, and will allow the user to entera) A valid username andb) A valid password

2. The user will then press the “Login” button, which will check that the username and password they have entered is valid by:a) Checking that neither field is blankb) Checking that the password entered contains more than 4 charactersc) Importing stored usernames and passwords from the login filed) Checking that the username and password combination exists in the login

file3. If the user passes this validation:

a) The username will be stored in a variable to be accessed throughout the program

5

Page 7: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

b) The user will be directed to the Home page to select one of three levels of difficulty options for the quiz

Login screen inputs

o Users will login by entering their:- username- password

o Users will be able to add a new user by inputting a:- username- password

o User button click to:- login to the quiz system- sign up as a new user

Logout System Requirements

Users of my system will be able to log out of my system from the Home page. The logout functionality will include:

1. Clearing the variable that stores the username of the currently logged in user2. The user is brought back to the Login page3. A message will be displayed telling the user that they have logged out

Home screen inputs

o User button click to:- indicate which of the three levels the user wants

to play- logout of the quiz system

Home screen outputs

o Message displayed when the user logs out

Quiz System Requirements

The users will begin the quiz by choosing a difficulty from the Home page from the choice of “Easy”, “Medium” or “Hard”, which will then take the user to the relevant Quiz page for that level of difficulty. They will then press the “Play” button to start the quiz. The quiz will provide the following functionality:

1. The username of the currently logged in user will be displayed at the top corner of the page

2. When clicked, the “Home” button will allow the user to return to the Home page

3. A “Clear” button will be provided to clear the output box between successive attempts

6

Page 8: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

4. Once the “Play” button is pressed:a) A list of 10 questions will be randomly selectedb) Each question will be displayed one at a time in an output field on the

Quiz pagec) The list of 4 possible answers for each question will be displayed below

the question in the same output fieldd) A pop-up box will be used to allow the user to enter the number of their

chosen answer e) The number entered will then be compared with the correct answer stored

in the databasef) If the answer is correct, a message stating that they’re correct will be

displayed and one will be added to their scoreg) If they’re incorrect, then the score will remain the same and a message

stating that they’re incorrect will be displayedh) Once the quiz is finished, the score that the user achieved out of 10 will

be displayed i) The username and score of the user will be added to the leader board file

for the chosen level of difficulty

Quiz screen inputs o User button click will be used to: - start the quiz- return to the Home screen- clear the leader board display area

o Users will type their answer to each question into the pop-up box that opens

Quiz screen outputs

o Username of the current user will be displayedo Each question will be displayed along with the 4

possible answerso Correct or incorrect message will be displayedo The user’s quiz score will be displayed

Leader Boards Requirements

The users will be able to view a leader board for each difficulty of the quiz “Easy”, “Medium” and “Hard”. The leader board functionality will include:

1. The username of the currently logged in user will be displayed in the top corner

2. A “Return” button will be provided to return to the Home page3. A “Clear” button will be provided to clear the leader board display area

between displays4. When the “Display” button is pressed:

7

Page 9: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

a) The contents of the file storing the scores for the user’s chosen difficulty will be imported into the program and sorted in descending order

b) The top 10 scores will be displayed with the username of those who got them

Leader board inputs

o User button click will be used to:- display high scores and matching user names- clear leader board display array- return to the Home screen

Leader board outputs

o Username of the current user will be displayedo Sorted score and matching username on the leader

board

Project Plan

Here is my detailed project plan with list of tasks and time allocation.

Task Sub Task Duration Start Date Target Date

Anal

ysis

6 da

ys

Read requirements for AH project and create idea

1 day 23rd Oct 23rd Oct

Write outline of project

0.5 day 24th Oct 24th Oct

Create scope, boundaries and constraints

0.5 day 24th Oct 24th Oct

Create UML use case diagram

1 day 25th Oct 25th Oct

Create user requirements description

1 day 26th Oct 26th Oct

Create functional requirements

1 day 30th Oct 30th Oct

Project plan 1 day 31st Oct 31st Oct

8

Page 10: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Des

ign

14 d

ays

Interface design - Create wireframes

5 days 1st Nov 8th Nov

Design Structure Diagrams

2 days 9th Nov 11th Nov

Create Pseudocode

5 days 12th Nov 19th Nov

Design SQL 2 days 20th Nov 21st Nov

Impl

emen

tati

on

30 d

ays

Create User Interface

5 days 28th Nov 5th Dec

Create Program Listing

10 days 6th Dec 20st Dec

Create DB structure

5 days 5th Jan 12th Jan

Create File Structure

5 days 13th Jan 19st Jan

Write description of new skills

0.5 day 19th Jan 19th Jan

Log of ongoing testing

Ongoing through implementation

28th Nov 20th Jan

Test

ing 8

Test plan 3 days 21nd Jan 23th Jan

Carry out testing 3 days 26th Jan 28th Jan Describe testing encountered problems

2 days 1st Feb 2nd Feb

Eval

uati

on

2 da

ys

Write evaluation 2 days 8nd Feb 9th Feb

9

Page 11: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Fina

lise

evid

ence

5 da

ys

Finalise analysis 1 day 15th Feb 15th Feb

Finalise design 1 day 16th Feb 16th FebFinalise implementation

1 day 17th Feb 17th Feb

Finalise testing and evaluation

1 day 18th Feb 18th Feb

Submit 1 day 19th Feb 19th Feb

Resources Required

The resources I will need at each stage of the development are listed below.

Analysis Microsoft Office Word 2007 Google Chrome Gantt project 2.7

Design Microsoft Office Word 2007 Google Chrome

Implementation

Microsoft Office Word 2007 with ODBC Livecode 9.0.0 Microsoft Office Access 2007 (connection will be achieved

used ODBC access) Notepad

Final Testing Microsoft Office Word 2007 Livecode 9.0.0 Microsoft Office Access 2007

Evaluation Microsoft Office Word 2007

10

Page 12: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Marking grid

Max mark My mark

Description of the problem 2

UML use case diagram 2

Requirements specification 4

Project plan 2

Total 10 8

Once you have recorded the marks you think the candidate should be awarded, visit the Understanding Standards website: https://www.understandingstandards.org.uk/Subjects/ComputingScience/advanced to see how these compare to the actual marks awarded. You will also find a commentary explaining why these marks were awarded.

11

Page 13: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Candidate 2 evidenceAnalysis of the Problem

Description of the ProblemProject idea – Cosmetic Details WebsiteEnd users of the proposed site will be predominantly females ages 15 – 40 who have a keen interest in make-up. In the website, users will be able to view makeup products from selected brands and search for specific products.

The project meets the requirements of AH computing as:

It will have an appropriate interface with all user inputs being validated Details of customers and products will be stored in a SQL database It will make use of HTML form processing using PHP SQL operations will be used to insert details and perform searches Web pages in the site will be styled using external CSS When customer login to the site, PHP session variables will be used to store their data

across multiple pages of the site The website will adapt to different screen sizes using CSS media queries

Scope, Boundaries and ConstraintsScopeDuring the development of the website I will produce:

Requirements specification Detailed design Fully working implementation Comprehensive test plan with a summary of the final testing

BoundariesDue to the limited time available to develop this website, several restrictions are needed.

The registration process will be used to create new customer accounts and input validation will be applied to all details entered to the website.

The website will be made responsive to a different screen size by altering the size of the browser window. It doesn’t need to be tested on different devices.

Customers will navigate the site using a horizontal navigation bar.

12

Page 14: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Constraints Time: I have 6 months to complete my project. Technical: I will be learning PHP during the AH course. Costs: All the software I intend to use is open-source which means there is no

cost implication for the school. Legal: I must comply with the Copyright, Design and Patents Act and ensure

that the GDPR Regulations are met.

UML Case Diagram

13

Page 15: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Requirements Specification Purpose of the site: The purpose of the website is for users to be able to view cosmetics from selected brands when they register and log into the site. Functional Requirements

The website will be able to store the details of customers and products in an external database

The website will be able to validate all user inputs to the website It will be easy to navigate with a fully functioning navigation bar Check that users are registered when they login to the website Pages of the website will be formatted using an external style sheet Users will be able to search for products by brand or by product name by

connecting to the database and executing SQL queries Display formatted search results (details of each product found, including an

image of these products) Session variables will be used to store a customer’s login details across pages

of the website Responsive layout that changes depending on the screen size being used

End-User RequirementsThrough the analysis of my user surveys, I have come up with a list of requirements that were the most common answers amongst the people answering my surveys:

Palatable colour scheme (e.g. light, complimentary colours) Easy to navigate Clutter free and good use of space Easy to use search facility to search for products by name and/or by brand

Because of the user surveys, I will ensure to include these requirements when implementing the website to create the best user experience I can.

Inputs and OutputsFor users: Email Addresses

First NameLast nameHome addressTelephone NumberUsernamePasswordSearch criteria

14

Page 16: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

For Website: Processes: Validation of all customer inputsOpen and close connection with databaseSave customer details in databaseAuthenticate customer loginExecute SQL queriesSearch for products and format query resultsUse of session variables to preserve user login data

Outputs: Validation error messagesPersonalised message using session variables on search pageSearch results showing product details, including an image

Inputs: Populating the website with details of makeup productsLogin query resultsRegistration query resultsSearch criteria and search query resultsSize of the browser window

Project PlanResources RequiredDuring the development, I will need access to a computer with the following software resources:

Text editor Browser Web server tools

15

Page 17: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

16

Detailed Project Plan

Page 18: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

For clarity, I have repeated the tasks to be completed at each stage of the project’s development.

Tasks Est Duration (hours) Target DateAnalysis

Read requirements for AH project and create ideaWrite outline of projectScope, boundaries and constraintsUML Use Case diagramRequirements specification – end-usersRequirements specifications – functionalityDescription of inputs and outputProject planning

6 6th October 2018

DesignInterface design – wireframesStructure diagram – websitePseudocode (server-side tasks)Database design

6 2nd November 2018

ImplementationDatabase structureHTML pagesNavigation bar (CSS)PHP (registration page)PHP (login process)Session variablesPHP (search process)Media queryValidation (registration process)Ongoing testingDescription of research/new skills acquired

24 15th February 2019

TestingTest plan (requirements)Persona and test casesFinal testingTest evidence

10 8th March 2019

EvaluationFitness for purposeMaintainabilityRobustness

2 15th March 2019

17

Page 19: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Marking grid

Max mark My mark

Description of the problem 2

UML use case diagram 2

Requirements specification 4

Project plan 2

Total 10 8

Once you have recorded the marks you think the candidate should be awarded, visit the Understanding Standards website: https://www.understandingstandards.org.uk/Subjects/ComputingScience/advanced to see how these compare to the actual marks awarded. You will also find a commentary explaining why these marks were awarded.

18

Page 20: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Workshop 2Design of the solution

Task Use the marking instructions on page 6 of the Advanced Higher project assessment task document available at https://www.sqa.org.uk/sqa/files_ccc/AHCATComputingScience.pdf to mark the design evidence for Candidate 2. You will need to refer back to the requirements specification in the analysis section.

You can record your marks in the grid that follows the candidate evidence in this booklet. The total mark that was awarded for design is provided in the grid.

19

Page 21: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Candidate 2 evidenceDesign of the Solution

Media Query Design

The website should display correctly when viewed in the browser on the school’s desktop PCs. The display should be altered when the web browser window is reduced to a width of 750 pixels. When this happens, the font sizes will be reduced, and the horizontal navigation bar will be altered.

Browser width

Feature / Attribute Description / Setting

Full width

CSS style rule .fullScreenH1 font size 22pxBody font size 16pxH3 font size 18pxHorizontal navigation bar

Created using ul elements inside the nav section

Display inline (.fullScreen) none (.smallScreen)

Maximum width of 750 pixels

CSS style rule .smallScreenH1 font size 18pxBody font size 12pxH3 font size 14pxHorizontal navigation bar

Created using a select form inside the nav section

Display inline (.smallScreen) none (.fullScreen)

20

Page 22: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

User Interface Design

21

Page 23: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

22

Page 24: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

23

Page 25: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

24

Page 26: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Session VariableA session variable will be used to store the username entered during a successful login. The user name submitted from the HTML form will be assigned to the PHP

variable $username using $_POST The value stored in $username will be assigned to the session variable

“sessionuser” using $_SESSION

Pseudocode for Server-side ProcessesRegistration Process

1. Assign connection details to PHP variables2. Connect to database server3. If there is an error with the connection then4. Display error message5. End if6. Assign values submitted by HTML registration form to PHP variables using

$_POST7. If first name is left empty then 8. Display error message9. Else 10. If surname is left empty then11. Display error message12. Else if anything other than letters is entered then13. Display error message14. End if15. If address is left empty then16. Display error message17. End if18. If phone number is left empty then19. Display error message20. End if21. If email is left empty then22. Display error message23. End if24. If password is left empty then25. Display error message26. End if27.Else28. Create query to add customer details to database29. Execute query to add details to the customer table30.End if31.Close server connection

25

Page 27: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Login Process1. Start session2. Assign connection details to PHP variables3. Connect to database server4. If there is an error with the connection then5. Display error message6. End if7. Assign values submitted by HTML login form to PHP variables using $_POST8. Assign value stored in $username to session variable sessionUser9. Create SQL query to fetch details of customer from database (match by

username)10.Execute SQL query11.If no records returned from the query then12. Display account details not found message13.Else14. While a record is available for processing15. If password entered = password in returned record then16. Display personalised welcome message17. Redirect to search page18. Else19. Display incorrect password message20. redirect to login page21. End if22. End while23.End if24.Close database connection

Search Process1. Start session2. Assign connection details to PHP variables3. If there is an error with the connection then4. Display error message5. End if6. Assign search criteria submitted by HTML search form to PHP variable using

$_GET7. Create query to fetch product details matching search criteria from database8. If no products are found then9. Display error message stating that no products are available from that

brand10.Else

26

Page 28: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

11. Display table headings12. While a product record is available for processing13. Display product details in table cells14. End while15. End if16.Close database connection

Query DesignRegistration Query

INSERTfirstname, surname, username, phonenumber, email, address, password(all fields in the registration page)

TABLE customer

VALUESfirstname, surname, username, email, address, password(all fields in the registration page)

Login QuerySELECT everything from the customer table (use * wildcard)FROM The customer tableWHERE username = username entered

Search QuerySELECT everything from the product tableFROM The product tableWHERE brand = brand entered

Data DictionaryCustomer TableField Name Field

Length/TypeRequired Key

firstName Varchar(15) Yessurname Varchar(25) Yesusername Varchar(20) Yes Primary keytelephoneNumber

Int(11) Yes

27

Page 29: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

emailAddress Varchar(50) Yes

Products TableField Name Field

Length/TypeRequired Key

productID Int Yes Primary key (auto increment)

productName Varchar(50) Yestype Varchar(20) Yesbrand Varchar(50) Yes Restricted choiceprice Float(4,2) YesimageFilename Varchar(20) No

Entity Relationship Diagram- there is no need for an ERD as there is no link between my database tables

28

Page 30: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Hierarchical Design of Website StructureLinks between pages has been indicated by the arrows in the hierarchical diagram below.

Marking grid

Max mark My mark

Design of Advanced Higher concepts 6

Design of integration 4

Overall design matches requirements specification 5

User interface design 5

Total 20 13

Once you have recorded the marks you think the candidate should be awarded, visit the Understanding Standards website: https://www.understandingstandards.org.uk/Subjects/ComputingScience/advanced to see how these compare to the actual marks awarded. You will also find a commentary explaining why these marks were awarded.

29

Page 31: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Workshop 3Implementation

Task — Part 1The code for Candidate 1’s project follows. With reference to pages 7 and 8 of the Advanced Higher project assessment task document available at https://www.sqa.org.uk/sqa/files_ccc/AHCATComputingScience.pdf, annotate Candidate 1’s code to highlight the important sections of code for marking:

Advanced Higher concepts Integration User interface

It is good practice to encourage candidates to highlight these sections of code when submitting final project evidence for marking.

30

Page 32: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Candidate 1 evidenceImplementation code

31

Page 33: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

32

Page 34: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

33

Page 35: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

34

Page 36: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

35

Page 37: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

36

Page 38: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

37

Page 39: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

38

Page 40: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

39

Page 41: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

40

Page 42: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

41

Page 43: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

42

Page 44: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

43

Page 45: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

44

Page 46: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Task — Part 2 As this solution is being developed, ongoing testing will take place. Most of the ongoing testing will involve component testing, but integrative testing will also be carried out.

Use the grid below to give examples of component and integrative testing that will be needed for Candidate 1’s project. A completed example can be found in Appendix 1.

Component testingTest Component to be tested Description of test(s)

1 Login validation

(1) Check that username and password cannot be null login leave username empty login with password empty login with both username and

password provided(2) Check that password entered has at least 5 characters

login with password which has only 3 characters

login with password that has 5 characters

2

3

45

Page 47: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Test Component to be tested Description of test(s)

4

Integrative testingTest Components being integrated Description of test

5Quiz screen user interface (SDD)+Connection with database (DBDD)

Use program code to connect to database and display temporary message to indicate either “Connection successful” or “Not connected”

6

7

NOTE: In their log of ongoing testing, candidates should not only describe tests that were needed. They are also expected to:

describe issues encountered during testing describe how they resolve those issues list any references used

Having described each test that is needed, candidates must log details of issues encountered. This evidence could be presented as a simple table with a list of any references. For example:

Issues encountered How issues were resolved

1I encountered several problems trying to connect to the Access database with the quiz questions and answers.

I researched online and found a useful tutorial about the use of ODBC on the LIveCode Lessons website.

46

Page 48: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

2

3

References usedhttp://lessons.livecode.com/m/4071/l/49652-how-to-connect-to-a-database-using-odbc

47

Page 49: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Task – Part 3

As candidates implement their solution, they are expected to implement some code that goes beyond the requirements of the Advanced Higher course.

The research and development of new skills for Candidate 2’s project follows. Use page 8 of the Advanced Higher Project Assessment task document available at https://www.sqa.org.uk/sqa/files_ccc/AHCATComputingScience.pdf mark the evidence for Candidate 2.

48

Page 50: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Candidate 2 evidenceImplementation

New skills researched and developed

To create my final solution, I had to research skills that weren’t taught as part of the AH course.

1) Storing and Processing Image DetailsWhen customers use the search facility on the Search Page, I wanted the search results to include an image of each product found. At first, I thought that I would have to store the images as blobs but when I found the DogsToys sample website on the Coredogs website, I realised it was possible to store the filename of the image in the Product table rather than storing the images as blobs. This made it much easier to process the image data and with this new knowledge, I was able to use the filename of each image with the src attribute. As a result, I was then able to meet this requirement.

2) Server-side ValidationAlthough I had used client-side validation at Higher level to validate all inputs to online forms using HTML, I wanted to use server-side validation in my project to validate all details input to the registration process. I did some research online and found a lot of useful information. Although I could have included a lot more complex validation, I decided to only make use of the PHP empty() function. The reference that I found most useful was the one on the W3School website.

References Used1) http://coredogs.com/lesson/sample-dogtoys.html 2) https://www.w3schools.com/php/php_form_required.asp

Once you have recorded the marks you think the candidate should be awarded, visit the Understanding Standards website https://www.understandingstandards.org.uk/Subjects/ComputingScience/advanced to see how these compare to the actual marks awarded. You will also find a commentary explaining why these marks were awarded.

49

Page 51: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Workshop 4 Testing the solution

Task 4The test plan for final testing should be comprehensive to ensure that the solution meets all the requirements identified at the analysis stage. It should include:

all requirements a description of the tests to be carried out a persona and test cases to test the solution with an end user

Use the grid on the next page to describe a suitable persona and test cases that could be used during final testing of Candidate 1’s project. A completed example can be found in Appendix 2.

50

Page 52: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Testing the solution

Persona and test cases to be used for final testingPersona to be used for final testing

Test cases to be used with the persona

Test case Description of task to be performed by test participants

1

2

3

4

51

Page 53: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Workshop 5 Evaluation of the solution

Task 5Use the marking instructions on page 10 of the Advanced Higher project assessment task document available at https://www.sqa.org.uk/sqa/files_ccc/AHCATComputingScience.pdf to mark the evaluation evidence for Candidate 2. You will need to refer back to the requirements specification in the analysis section.

You can record your marks in the grid that follows the evidence. The total mark that was awarded for evaluation is provided in the grid.

52

Page 54: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Candidate 2 — Evaluation of the solution

Fitness for Purpose

The results of testing show that the completed project now meets all of the original requirements, functional as well as end-user requirements. Users can register with the site, login using their registration details and search for cosmetic products. All inputs to the site have been validated as per the requirements of an AH project. Testing with the persona and test cases showed that participants were able to successfully complete all tasks given to them. I carried out all of the tests listed in my test plan and produced evidence for each of the test cases in the plan. I am confident that my solution meets all of the requirements listed in the requirements specification.

Original Requirements (Functional and End-user) CompletedStore details of customers and products in an external database Validate all user inputs to the website Easy to navigate with a fully functioning navigation bar Clutter free layout with palatable colour scheme Pages formatted using an external style sheet Search for product by brand or by product name Display formatted search results Session variables used to store a customer’s login details across pages of the website Responsive layout that changes depending on the screen size being used

Maintainability

I believe that my solution is maintainable. I have used meaningful variable names for each HTML input element and also for the PHP variables and the database fields. I have added comment lines on each of my HTML pages to explain the purpose of each input element. Here is a screen-shot showing some of the commentary used in the product.html script.

53

Page 55: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

On my PHP pages, I have used lots of white space to split the code into several sections that each perform one server-side side. An internal comment at the start of each section makes it easy for other developers to read the code and understand what each section of code is doing. I have also used internal comments to explain the purpose of each PHP variable. This is a screen-shot from the products.php script used to process the search feature of the website.

It would have been possible to make use of functions to perform some of the processing on each page. For example, I could have used a function to validate the form input on the registration form but instead, I simply added the validation code to the body of the page. Because of this, my solution is not modular.I used external CSS to style each page of the website. This means that if any corrective, adaptive or perfective maintenance is required in the future, it will be easier and much less repetitive for developers to edit or change the formatting details because they are held in a single file.

54

Page 56: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Robustness

The registration page of my website is robust as every single input is validated using server-side code. When creating a new account, the user must provide each one of the required details otherwise an error message will appear telling the user that the detail is required. The code used to do this validation is part of the registration.php script. Here is a small section of that code.

When I was work on the implementation, I realised that it was taking me longer that I expected to create working code. In the end, I decided to focus on building a working website. Although I managed to get the login and search features of my website to work correctly, I didn’t have time to add similar validation code to the login.php and product.php scripts.

Marking grid

Max mark My mark

Fitness for purpose 3

Maintainability and robustness 2

Total 5 4

Once you have recorded the marks you think the candidate should be awarded, visit the Understanding Standards website https://www.understandingstandards.org.uk/Subjects/ComputingScience/advanced to see how these compare to the actual marks awarded. You will also find a commentary explaining why these marks were awarded.

55

Page 57: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Workshop 6 Ensuring projects meet the Advanced Higher criteria

Task Referring to pages 14–19 of the Advanced Higher project assessment task document available at https://www.sqa.org.uk/sqa/files_ccc/AHCATComputingScience.pdf, consider the project outlines which follow. These outlines do not fulfil the Advanced Higher project requirements.

Use the grids provided on each page to: add details needed to satisfy Advanced Higher project criteria identify areas of main content and Advanced Higher Constructs identify area of integration

Examples of the details that could be added to the three project outlines below can be found in Appendix 3.

56

Page 58: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Project 1 outlineThis project will develop a database for a driving school. Each of the driving school instructors has sole use one of the driving school cars and each hourly lesson booked is with one instructor at a given time. Clients will be able to book individual lessons or blocks of lesson.

Once completed, the solution will: store details of clients, lessons, instructors and cars in four linked tables of a related

database allow clients to book one lesson at a time, or book a block of five or ten lessons; the more

lessons a client books in advance, the less they will be charged per hour for a lesson.

As it stands, this outline does not satisfy the AH project requirements. Use the grid below to:1. add details to this outline to ensure that it does meet the AH project requirements.2. circle the main area of the course and two AH constructs that would be covered by the

complete project outline3. circle the area of integration covered by the complete project outline4. identify the AH constructs and integration content required

Additional details

The solution will also:

Main area of content SDD DDD WDD

AH construct 1

AH construct 2

Area of integration SDD DDD WDD

Integrated content

57

Page 59: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Project 2 outlineThis project will develop a game of ‘Concentration’. The aim of the game is to match pairs of initially hidden images. To complete the game successfully, the player must match each pair of images. Players click on a cell to see what it is and then click on one of the other cells to try and match it. If the images match, they will remain visible; if not, they will flip back over.

Once completed, the solution will:

control the game play count the number of clicks needed to complete the game

As it stands, this outline does not satisfy the AH project requirements. Use the grid below to:

1. add details to this outline to ensure that it does meet the AH project requirements.2. circle the main area of the course and two AH constructs that would be covered by the

complete project outline3. circle the area of integration covered by the complete project outline4. identify the AH constructs and integration content required

Additional details

The solution will also:

Main area of content SDD DDD WDD

AH construct 1

AH construct 2

Area of integration SDD DDD WDD

Integrated content

58

Page 60: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Project 3 outlineThis project will develop a website that can be used by teachers to post details of homework and assignments. Parents and students will be able to search the site to display details of relevant homework tasks.

Once completed, the solution will:

allow teachers to create new user accounts allow registered teachers to post details of new homework assignments allow all users to search the site to display details of relevant homework assignments

As it stands, this outline does not satisfy the AH project requirements. Use the grid below to:

1. add details to this outline to ensure that it does meet the AH project requirements.2. circle the main area of the course and two AH constructs that would be covered by the

complete project outline3. circle the area of integration covered by the complete project outline4. identify the AH constructs and integration content required

Additional details

The solution will also:

Main area of content SDD DDD WDD

AH construct 1

AH construct 2

Area of integration SDD DDD WDD

Integrated content

59

Page 61: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Appendix 1Component testing — completed exampleMany different examples of component and integrative testing are possible. A few examples of these have been provided below.

Additional examples of component testing

Test Component to be tested Description of test(s)

1 Quiz scoring system

Complete all questions in the easy testing:

(1) Answer all questions correctly(2) Enter the wrong answer for every

question(3) Answer four questions correctly

2 Communication between quiz program and login file

Use the sign-up feature to create a new username and password combination. Use Notepad to open the login file and check that the new username and password have been added.

3 Sort leader board in descending order of score

Import details of the easy leader board file into an array of records, sort the array in descending order then display the entire contents of the array on the leader board page.

4

Database query used to retrieve quiz questions and answers executes correctly

Execute SQL query to display the details of all easy questions (the question wording, the four possible answers and the correct answer) in the SQL window of MS Access.

Additional examples of integrative testingTest Component being

integratedDescription of test

5

Quiz screen user interface (SDD)

+Execution of database query (DBDD)

Use program code to execute SQL query to retrieve all details of the first easy question, then display these details on the quiz page.

6

Quiz screen user interface (SDD)

+Format query results (DBDD)

Use program code to execute SQL query to retrieve all details of all easy questions, then display these details one at a time on the quiz page.

60

Page 62: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Appendix 2Testing the solution — completed examplePersona and test cases to be used for final testing

Sample persona to be used for final testing

Karmal is an S4 pupil who is studying five N5 subjects: English, Maths, History, Spanish and Biology.

He has been doing some personal revision for his prelims. For most of this revision, Karmal has been revising questions to practise his written answers. He would like to use the quiz to test his knowledge and recall of historical facts.

Although Karmal is a confident user of computers, he doesn’t have any detailed technical knowledge to help him understand what to do when things go wrong.

Sample test cases to be used with the persona

Test case Description of task to be performed by test participants

1

Use the sign-up feature of the quiz to create a new account.

You can choose any username but the password you use must have at least 5 characters. Make a note of the username and password because you will need them later.

2

Use the login facility to login using your own username and password.

Answer the first three questions of the hard quiz then return to the home page.

3 Play the easy quiz by answering all of the questions then view the easy level leader board.

4 Clear the leader board display area then return to the home page and log out of the quiz.

Appendix 3

61

Page 63: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Project 1 outlineExamples of details that could be added to the project outline have been provided below. These additional details fulfil the criteria of a DDD focused project and provide the integrated content that is a requirement of all Advanced Higher projects.

Although it would be possible to integrate the DDD content with WDD, the suggestions here refer to integration with SDD content.

Additional details

The solution will also:

display details of all clients who have booked more than eight lessons

display details of any instructors who do not have any lessons booked

display details of all lessons booked for a particular date

provide an interface to:o display formatted query resultso generate form that gather booking details

from clients

Main area of content SDD WDD

AH construct 1 Creation of a relational database with four linked tables

AH construct 2Queries and subqueries that make use of logical operators NOT and EXISTS to query across at least three tables

Area of integration DDD WDD

Integrated content

Use programming code to interface with relational database

Open/close connection with SQL database Use programming code to execute SQL queries User programming code to format query results

62

DDD

SDD

Page 64: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Project 2 outlineExamples of details that could be added to the project outline have been provided below.

These additional details fulfil the criteria of a SDD focused project and provide the integrated content that is a requirement of all AH projects. The suggestions refer to integration with DDD content.

Note that it would be possible to implement a solution where the main focus was WDD as an alternative to the SDD solution suggested here.

Additional details

The solution will also:

ask the player to enter a player name at the end of each game

display the total number of clicks needed to complete each game

store the total clicks with the player’s name provide an option to view a leader board of total

clicks with matching user names display the leader board details in ascending order

of total clicks

Main area of content DDD WDD

AH construct 1 Use of a programming language to store and process image details in a 2D array

AH construct 2 Insertion sort algorithm will be used to arrange leader board from least to most total clicks

Area of integration SDD WDD

Integrated content

A database table will be used to store the leader board details

Program code will open/close connection with the database server

Program code will execute a SQL query to retrieve leader board details from the database

Program code will be used to format results of the SQL query

63

SDD

DDD

Page 65: Contents - sqa.org.uk€¦  · Web viewI will ensure that my project is completed by the deadline of 29th March as it will need to be delivered to SQA for marking. The submission

Project 3 OutlineExamples of details that could be added to the project outline have been provided below.

These additional details fulfil the criteria of a WDD focused project and provide the integrated content that is a requirement of all AH projects. These suggestions refer to integration with DDD content.

Additional details

The solution will also:

respond to different screen sizes by displaying alternative layouts

retain teacher login details so they can be added to the post details and avoid having to enter them again

allow users to search by selecting the relevant year group, subject and teacher

Main area of content SDD DDD

AH construct 1 Form processing using PHP with session variables

AH construct 2 External style sheet that includes media queries

Area of integration SDD WDD

Integrated content

Store user account and post details in database tables

Open/close connection with database server Execute SQL queries Format query results

64

WDD

DDD