# Section A ## Question 1 #functions #methods #OOP Which of the following is true about [[Functions]] and methods? **A.** Functions and methods are the same. They process data the same way in any programming language. **B.** Functions and methods are the same. They process data exactly the same way in any object-oriented programming language. **C.** Functions and methods are different. A function is called by name and must always pass and return data, whereas a method can only be called when an object of a class calls it. **D.** Functions and methods are different. A function can be called at any time during a programming solution, whereas a method can only be called when an object that has been declared calls it. || Answer: D || ## Question 2 #design #constraints Factors influencing the design of a solution can include **A.** economic, legal, technical, social and usability. **B.** usability, reliability, portability, robustness and validation. **C.** affordance, interoperability, marketability, security and usability. **D.** integrity, accuracy, authenticity, correctness, reasonableness, relevance and timeliness. ||Answer: A & C|| ## Question 3 #functionalRequirements The owners of a small cafe have decided to introduce a loyalty program to encourage customers to keep visiting their cafe instead of going to major coffee chain stores. In addition to offering a free coffee after a certain number of purchases, the owners would like to offer other incentives based on each customer's purchasing habits. Which one of the following [[Functional and Non-Functional Requirements]] will not be relevant to the cafe's information system goal? **A.** Count the number of coffees purchased. **B.** Record every item a customer purchases. **C.** Sort a customer's purchase history by date. **D.** Search a customer's record for frequently purchased items. ||Answer: C|| ## Question 4 #cybersecurity #riskManagement Jackie is designing a new piece of accounting software and is searching the internet for ideas. He finds a code repository with free open-source modules. Jackie thinks that because the code is open-source, the modules should be safe to download. Before downloading any modules, what should Jackie do to reduce any potential risks? **A.** Make sure his antivirus software is up to date. **B.** Conduct a security audit of any modules he wants to download. **C.** Register an account with the code repository to enable authentication. **D.** Connect to a virtual private network (VPN) to encrypt the downloads. ||Answer: A|| ## Question 5 #versionControl When a version of a software that is being developed undergoes a major update, the updating software creates a new directory called ‘Previous_Version' and copies specific files to that folder. This procedure may be described as **A.** archiving the previous version. **B.** backing up the previous version. **C.** releasing storage space for re-use. **D.** deleting files that are no longer necessary. ||Answer: A|| ## Question 6 #SRS Why is creating a software requirements specification ([[Functional and Non-Functional Requirements]]) important in the process of developing a software solution? **A.** An SRS provides all the detailed requirements of a software solution. **B.** An SRS creates a contract between the development team and the client. **C.** An SRS provides a summary of the requirements of the software solution. **D.** An SRS provides the programmers with the detailed design of the software solution. ||Answer: A|| ## Question 7 #legal #copyright Fagan is a junior employee for a software development company. He is having difficulty developing a security module for a health app and is considering asking a friend, who works for another software development company and who is knowledgeable about security, to share the code from one of their security modules. Which one of the following key pieces of legislation is the most important for Fagan to consider before approaching his friend? **A.** the Privacy Act 1988 **B.** the Copyright Act 1968 **C.** the Health Records Act 2001 **D.** the Privacy and Data Protection Act 2014 ||Answer: B|| ## Question 8 #dataTypes Felicity is developing a customer database for her online store. She needs a unique customer code that comprises the first three letters of a customer's surname and a random four-digit number. Which one of the following [[Data Types]] should Felicity use as her unique customer code? **A.** string **B.** mixed **C.** numeric **D.** Boolean ||Answer: A|| ## Question 9 #evaluation Pat is required to assess the efficiency of a software solution. Pat could do this by **A.** interviewing users. **B.** posting a questionnaire. **C.** measuring the speed of execution. **D.** counting the number of users online. ||Answer: C|| ## Question 10 #analysis #dataCollection Hamid is part of a team that is responsible for developing a new software solution. The users of the software solution will be five data entry operators who have limited experience in their role. The best way for Hamid to determine the needs and requirements of these operators so that they can use the new system is to **A.** create an online survey for all the employees of the company to rate their current system. **B.** view reports about the current system. **C.** individually interview the operators. **D.** observe the operators. ||Answer: C|| ## Question 11 #cybersecurity #evaluation Which one of the following actions is a part of a software auditing strategy? **A.** a usability test **B.** a functional test **C.** an existence test **D.** a penetration test ||Answer: D|| ## Question 12 #dataValidation #typeCheck Type checking is a method of **A.** testing. **B.** checking. **C.** validation. **D.** verification. ||Answer: C|| ## Question 13 #ideation #brainstorming Celeste and her design team have been given a generic set of requirements for a new software solution. She gives her design team five minutes to generate as many ideas as possible for the design of the software solution. This technique is an example of **A.** IPO. **B.** brainstorming. **C.** storyboarding. **D.** mind mapping. ||Answer: B|| ## Question 14 #organisationalGoalObjectives SeeMePoze is a new social media app. The following information was posted on the developer's website: 'SeeMePoze allows a diverse range of users to share their creativeness with the rest of the world through its distinctive editing features. Get Pozing!' This information is an example of **A.** a marketing strategy. **B.** a goal of an information system. **C.** an objective of an information system. **D.** a mission statement of an organisation. ||Answer: A, B, C, D|| ## Question 15 #projectManagement One factor that influences the effectiveness of the agile development model is **A.** reducing the time of each sprint. **B.** increasing the time of each sprint. **C.** shortening the time of the daily scrums. **D.** improving communications between the scrum master and the project manager. ||Answer: D|| ## Question 16 #pseudocode #traceTable ``` 1 number = 2 2 print number 3 For i from 1 to 3 4 number = number + 5 5 print number 6 print “done” ``` Which one of the following trace tables represents the algorithm shown above? **A.** | Line | number | i | Output | |---|---|---|---| | 1 | 2 | | | | 2 | 2 | | 2 | | 3 | 2 | 1 | 2 | | 4 | 7 | 1 | 2 | | 5 | 7 | 1 | 7 | | 3 | 7 | 2 | 7 | | 4 | 12 | 2 | 7 | | 5 | 12 | 2 | 12 | | 3 | 12 | 3 | 12 | | 4 | 17 | 3 | 12 | | 5 | 17 | 3 | 17 | | 6 | 17 | 3 | Done | **B.** | Line | number | i | Output | |---|---|---|---| | 1 | 2 | | | | 2 | 2 | | 2 | | 3 | 1 | | 2 | | 4 | 1 | 7 | 2 | | 5 | 1 | 7 | 7 | | 3 | 2 | 7 | 7 | | 4 | 2 | 12 | 7 | | 5 | 2 | 12 | 12 | | 3 | 3 | 12 | 12 | | 4 | 3 | 17 | 12 | | 5 | 3 | 17 | 17 | | 6 | 3 | 17 | done | **C.** | Line | number | i | Output | |---|---|---|---| | 1 | 2 | | | | 2 | 2 | | 2 | | 3 | 2 | 1 | 2 | | 4 | 7 | 1 | 2 | | 5 | 7 | 1 | 7 | | 3 | 7 | 2 | 7 | | 4 | 12 | 2 | 7 | | 5 | 12 | 2 | 12 | | 3 | 12 | 3 | 12 | | 4 | 17 | 3 | 12 | | 5 | 17 | 3 | 17 | | 6 | 17 | 3 | done | **D.** | Line | number | i | Output | |---|---|---|---| | 1 | 2 | | | | 2 | 2 | | 3 | | 3 | 2 | 1 | 3 | | 4 | 7 | 1 | 3 | | 5 | 7 | 1 | 7 | | 3 | 7 | 2 | 7 | | 4 | 12 | 2 | 7 | | 5 | 12 | 2 | 12 | | 3 | 12 | 3 | 12 | | 4 | 17 | 3 | 12 | | 5 | 17 | 3 | 17 | | 6 | 17 | 3 | done | ||Answer: C|| ## Question 17 #dataValidation #rangeCheck The algorithm shown below will be used for data entry. ``` Begin Input eligible If eligible >= 18 Then If eligible > 75 Then status “Require doctor endorsement” Else status "Approved" End If Else status “Not approved” End If Output status End ``` Which one of the following validation techniques is being applied in this algorithm? **A.** an age test **B.** a type check **C.** a range check **D.** an existence check ||Answer: C|| ## Question 18 #controlStructures #selection #iteration This algorithm makes use of **A.** iterations and functions. **B.** procedures and iterations. **C.** selection statements and iterations. **D.** selection statements and instructions. ||Answer: D|| ## Question 19 #projectManagement Naz is leading a large software development project that has many stakeholders. The client is unsure of the key requirements of the software solution. Regular meetings about the progress of each phase of the solution are necessary and an early version of the solution is needed. The most appropriate development model for this project is **A.** agile. **B.** spiral. **C.** waterfall. **D.** build-and-fix. ||Answer: B|| ## Question 20 #dataStructures #associativeArray The following (key, value) data has been added to the hash table below: (1,20) (2, 70) (14, 32) (37, 98) (25, 25) | Array index | Value | |---|---| | 1 | 20 | | 2 | 70 | | 14 | 32 | | 17 | 98 | | 5 | 25 | Two more pieces of data are to be added to the hash table. They are: (39, 6) (26, 2) The array index for each of these values will be **A.** 6 and 2 **B.** 19 and 6 **C.** 20 and 6 **D.** 39 and 26 ||Answer: B|| # Section B ## Question 1 (3 marks) #dataFormats #XML #CSV #TXT For each of the statements in the table below, circle the best file type – [[Extensible Mark-up Language (XML)]], [[Plaintext]] or [[Comma Separated Values (CSV)]]. | Statement | File type (circle one) | |---|---| | File contents can be unstructured. | XML **TXT** CSV | | Data can be more effectively transferred between different information systems. | **XML** TXT CSV | | File contents can be more easily read by both humans and computers. | **XML** TXT CSV | #### Answer Students were awarded marks for circling the file types as shown. It is important to remember that the structure of XML allows both humans and computers to read it more easily than both TXT and CSV. ## Question 2 (6 marks) #projectManagement #agile #waterfall An organisation is considering how it will develop a software solution for a major client. It is deciding whether to adopt the agile development model or the waterfall development model. **Model 1 – Agile** ![[Pasted image 20251122120000.png]] **Model 2 – Waterfall** ![[Pasted image 20251122120001.png]] **a.** Identify and describe one advantage of each model. 4 marks **Model 1 - Agile** **Model 2 - Waterfall** **b.** Identify two additional pieces of information that would help the organisation decide on the better model to adopt. 2 marks #### Answer **a.** **Model 1 – Agile:** One advantage is that the agile model incorporates client feedback in the project. This means the developers can receive extensive amounts of feedback from the client after each sprint. This makes it suitable when the client's wants and needs are constantly changing. **Model 2 – Waterfall:** The waterfall model is a sequential model that follows the stages of the problem-solving methodology (analysis, design, development and evaluation) without backtracking. An advantage of this model is that it performs well in projects with strict deadlines as the requirements are set in stone and will not change throughout the project. **b.** Students were awarded marks for identifying that the following would help the organisation decide on the better model to adopt: * complexity of project and known problems * level of preferred customer involvement/feedback * length of the project. ## Question 3 (2 marks) #authentication #security A software developer is trying to convince a client that authentication of users is an important security consideration when designing a software solution. Explain how authentication of users can be achieved. #### Answer User authentication allows verified users with the correct login details into a system. At the simplest level, asking users to enter a username and password before providing access to a program will ensure that only authorised users who know the login details can enter. As such, authentication of users is achieved by only allowing users who verify their identify to enter. ## Question 4 (4 marks) #debugging #pseudocode Jamie is writing an algorithm with two positive numbers as input. During each cycle, the two numbers are increased by different amounts. The cycles repeat until the smaller number becomes greater than the other number. The number of cycles is recorded. ``` Begin race Read small Read big cycles ← 0 Repeat small ← small * 2 big ← big + 3 cycles ← cycles + 1 Until small > big Print small, big, cycles End ``` **a.** Complete the test table below, given the test data provided. 2 marks | Test data | Expected result | Actual result | |---|---|---| | small = 1 big = 10 | 32, 25, 5 | 32, 25, 5 | | small = 10 big = 15 | 20, 18, 1 | 20, 18, 1 | | small = 10 big = 1 | 10, 1, 0 | 20, 4, 1 | | small = 3 big = 3 | 12, 9, 2 | 12, 9, 2 | **b.** Identify the cause of the error in the algorithm. 1 mark **c.** Suggest a change to the algorithm so that the correct output is produced. 1 mark #### Answer **b.** The cause of the error was the use of the Repeat ... Until loop, which tests the condition after the first iteration. The repeat until will execute at least once, even if small is larger than big. **c.** Replace the Repeat/Until loop with a While loop so the condition is checked first. ## Question 5 (2 marks) #sqlInjection #cybersecurity Explain how an SQL injection can be a risk to a secure web application. #### Answer An SQL injection involves inputting malicious SQL queries into input boxes without validation to steal or modify data in SQL databases. It is a web security vulnerability that allows an attacker to inject/insert SQL into a web application via an input field and gives the attacker the ability to access, edit, insert and delete data that they would normally not have access to. ## Question 6 (3 marks) #riskManagement #cybersecurity A new jet engine manufacturer completed a risk management audit of its security practices and the report highlighted a number of security vulnerabilities. The following security vulnerabilities were found: * issues with weak passwords * unlimited login attempts * computers left unattended * no protection of files on their servers Select one security vulnerability from the list above and suggest a strategy that the manufacturer could use to minimise the risk. #### Answer **Issues with weak passwords** * Users are required to use strong passwords with letters, digits and special characters. * Passwords should be changed every three to six months. * A password management system should be used to prevent reuse of old passwords. * Staff should be trained in the importance of the use of strong passwords to minimise the risk of their password being guessed by a hacker. **Unlimited login attempts** * System admin should restrict the number of login attempts. * The account should be locked after a set number of attempts. * An alert should be sent to IT staff and the user should be required to identify themselves in order to unlock their account so that unauthorised persons are unable to access confidential material. **Computers left unattended** * Ensure staff are familiar with digital systems policies and procedures by undergoing training. * Computer should automatically shut down at night. * Computers should automatically lock after a period of inactivity so that unauthorised persons are unable to access confidential material. **No protection of files on their servers** * Encryption of data * Password protection of files and folders * Automated backups of each user * Implementation of a firewall # Section C - Case Study <details> <summary>Case Study</summary> Shane has just completed his degree in software engineering at university. He recently spoke to his friends about their secondary school days and their experiences using school canteens. A common experience they shared was time wasted standing in a queue waiting to order their food. Their complaints included the following: * Queues were often so long that on rainy days students at the end of the queue would get wet. * By the time students got to the front of the queue, the best items would have sold out. * By the time students got their food, there would be barely any time left to eat before the next class started. * Some students would 'jump the queue' by handing their money to someone closer to the front of the queue who would buy their food for them. Shane and his friends agreed that a method of pre-ordering and collecting food would have been useful, so they decided to start their own business, IszCool Solutions, to develop software for an online ordering system for canteens called IszCool Canteen. Being a start-up business with limited funds, Shane and his friends will primarily work from home. Sometimes they will use a shared meeting room at the local business hub. Shane spoke with the school council of his former secondary school, Centurion Secondary College, and has been given approval to develop a prototype of the software for the school. If successful, IszCool Solutions will then sell the software to other schools. **The initial analysis** IszCool Solutions will develop an app with the following features: * Parents will be able to create an account and add credit to that account. * Both parents and students will be able to enter orders for that day or pre-orders for the next week through the account. * To prevent students from ordering too much, parents will be able to set a daily limit. * Students will be able to collect their orders by scanning their student ID card. This will set the status of the order to 'waiting'. A different version of the app will run in the canteen. This app will show the list of 'waiting' orders. Once canteen staff have collected all items in a waiting order, they will be able to click on the order in the app to set the status to 'completed'. The school council has also requested the following features: * Orders must be allocated to either recess or lunch collection. * Orders cannot be edited by parents or students after 8.30 am on the day of collection. * If an item is unavailable, canteen staff can edit an order to substitute the item or provide a refund for that item. * Orders can be collected only by the student with their ID card and no-one else. </details> ## Question 1 (5 marks) #dataCollection #analysis The IszCool Canteen app is an online ordering system. IszCool Solutions is keen to ensure that the new app is well received and used by the students at Centurion Secondary College. **a.** Describe two data collection methods that IszCool Solutions could use to determine the students' expectations of the new canteen app. 2 marks Method 1 Method 2 **b.** After the list of features for the IszCool Canteen app has been prepared, Shane realises that there could be several issues with developing this software solution that are beyond his control. As part of his analysis, Shane has considered the constraints that will influence the development of the software solution. The following three constraints have been identified: economic, technical and legal. Describe how each of these constraints will have an impact on the development of the IszCool Canteen app. 3 marks Economic Technical Legal #### Answer **a.** Method 1: Interview individual students who order food at school regularly, to get detailed answers through follow-up questions of their expectations. Method 2: Surveys, distribute to all students in school to get large sample size and see what all their expectations are, identify most common needs. **b.** * **Economic:** budget constraints will result in the development costing too much or taking too long, resulting in limited functionality. * **Technical:** the app will be accessed by members of the school community who will have different devices running platforms. * **Legal:** the Privacy Act requires that data be stored securely online and requires hosts to be responsible for student identity details and financial information. ## Question 2 (4 marks) #DFD #analyticalTools Refer to the data flow diagram (DFD) on page 3 of the insert. The table below lists some of the features of the DFD. Indicate if each feature is an error by writing 'yes' or 'no' in the spaces provided. | Feature | Error (yes or no) | |---|---| | 'Purchaser' is shown twice in the DFD. | no | | The 'parent' external entity is connected directly to the 'accounts' data store. | yes | | 'Check balance' has the same data flow going out as going in. | yes | | 'Enter order item' does not have a data flow to the external entities. | no | ## Question 3 (5 marks) #UCD #analyticalTools A use case diagram for the IszCool Canteen app is shown below. An order is removed from the system if it is cancelled by a parent or student, or if it is collected by a student. If an order is cancelled, the payment is refunded to the affected account. **IszCool Canteen ordering module** ![[Pasted image 20251122130000.png]] **a.** The representation of the actors in the use case diagram has an error. State the nature of this error and how it could be corrected. 2 marks **b.** Identify the actor who initiates the 'remove order' use case when an order is collected. 1 mark **c.** Complete the use case diagram to show the link between ‘remove order' and 'update balance' as either an \<\<includes>> or \<\<extends>> and show the direction with an arrow. 2 marks #### Answer **a.** The 'canteen staff' actor hadbeen drawn inside the system boundary and that to correct this error, the actor must be moved outside of the system boundary. **b.** The student actor initiates the 'remove order' use case when the order is collected. **c.** ![[Pasted image 20251122130001.png]] Students were awarded marks for using either 'includes' or 'extends' appropriately. Some students incorrectly forgot to include an arrow, or had the arrow pointing in the wrong direction. ## Question 4 (2 marks) #dataDictionary #analyticalTools Refer to the DFD on page 3 of the insert. A section of the data dictionary for the app is shown below. Specify the most appropriate data type – integer, Boolean or string – for each of the variables listed. | Variable | Data type | Description | |---|---|---| | account_balance | integer | amount of money in the account, in cents | | spend_warning | string | message sent if purchaser tries to spend too much in one day | ## Question 5 (2 marks) #UI #design #mockup Use the following information to answer Questions 5 and 6. **Mock-up A** ![[Pasted image 20251122130002.png]] **Mock-up B** ![[Pasted image 20251122130003.png]] Shane has developed two mock-ups – Mock-up A and Mock-up B – for the IszCool Canteen app. He is currently considering several factors that will influence the design of this software solution. One of these factors is affordance. **a.** Define the term 'affordance'. 1 mark **b.** Provide an example of how affordance has not been demonstrated in Mock-up A. 1 mark #### Answer **a.** The characteristic of a solution that regard its intuitiveness, i.e. how much the solution shows you how it should be used. **b.** The process that the user has to follow to add funds to their account is unclear. The mock-up lacks structure and flow with the placement of elements such as the 'Update Balance' being in the top right-hand corner. The language selection is counterintuitive as it requires all users to be able to read English in order to select a language. ## Question 6 (6 marks) #evaluation #UI #design **a.** Three criteria for evaluating the mock-ups are provided in the table below. Classify each evaluation criterion in terms of efficiency or effectiveness by writing the term 'efficiency' or 'effectiveness' in the spaces provided. 3 marks | Evaluation criterion | Efficiency or effectiveness | |---|---| | Can users from different language backgrounds easily use the app? | effectiveness | | Does the user interface enable input on a range of devices? | effectiveness | | Are users able to quickly update their payment details? | efficiency | **b.** Using the evaluation criteria provided in part a., select your preferred mock-up – Mock-up A or Mock-up B – and justify your response. 3 marks Preferred mock-up Justification #### Answer **b.** Preferred mock-up: B Justification: In mockup A, it is less clear where to change the language settings for a non-english speaking person. In Mock-up B, however, the use of a flag makes the app much easier to use for "users with different language backgrounds.” ## Question 7 (2 marks) #dataValidation It is necessary to ensure that the data entered into the app is correct. **a.** Identify the first validation check that needs to be performed when entering an order item. 1 mark **b.** Describe a validation check that would be performed on the total cost of a lunch order. 1 mark #### Answer **a.** Existence check. **b.** A range check could be performed on the lunch order to see if it is within the daily limit set by parents beforehand and above zero. ## Question 8 (4 marks) #fileManagement #versionControl #security IszCool Solutions currently has a company policy in place that allows its staff to work from home. Staff are expected to save all files and data that are created throughout the project on a shared drive. The image below shows an example of the folders and files that are in the shared drive of IszCool Solutions. ![[Pasted image 20251122130004.png]] Outline two concerns that IszCool Solutions should have regarding the handling and managing of files and data by the business. For each concern, recommend a procedure that IszCool Solutions can implement to ensure the proper handling and managing of files. Concern 1 Procedure Concern 2 Procedure #### Answer **Concern 1:** No naming conventions in file names / No version control. **Procedure:** All files need to have descriptive file names with a convention that makes the purpose clear. Implement version control to ensure staff are working on the latest version. **Concern 2:** Lack of security of sensitive files and data. **Procedure:** All folders should have access restrictions depending on what the user needs to access. Files that are sensitive can have password protection. Shared folders should be encrypted and have password protection. ## Question 9 (3 marks) #dataStructures #records IszCool Solutions is deciding on a data structure to organise data. The data structure will initially store parent and student details before parents create their first order using the app for their children. The data structure will store data temporarily, before the data is written into a file. The data that a parent must provide before their first order is as follows: * StudentID * name on credit card * parent's name * credit card number * parent's email address * credit card expiry date and CVV number * phone number * daily limit for student order **a.** Identify the type of data structure that IszCool Solutions should use. 1 mark **b.** Explain why the data structure identified in part a. is the most appropriate type to store the data. 2 marks #### Answer **a.** Record or class/object. **b.** Allows multiple different data types to be stored as values such as daily limit requires a numeric type and names require string. Other data structures may not be able to support different data types or provide efficient organisation of data through fields. ## Question 10 (4 marks) #controlStructures Shane is aware that three basic control structures will be used to develop the software solution for the IszCool Canteen app. The sequence control structure refers to the line-by-line execution of instructions, beginning at Step 1 and proceeding sequentially through Step 2 and Step 3. **a.** List the other two control structures. 2 marks 1. 2. **b.** When canteen staff process a student's order, they may need to edit the order. Select one of the control structures listed in part a. and state why this control structure is the most appropriate in this case. 2 marks #### Answer **a.** 1. Selection/Condition 2. Iteration/Repetition **b.** A conditional or [selection] control structure would be most appropriate in this case as staff will only need to edit a students order on certain cases like if one of them is out of stock. ## Question 11 (4 marks) #internalDocumentation #collaboration Two programmers will be involved in writing the code for the app. Each programmer has a different approach to writing the code. One programmer, Ming, argues that the internal documentation is not functional and slows down the writing of the more important code modules. Another programmer, Soula, believes that internal documentation is just as important as the code. **a.** Which programmer – Ming or Soula – has the more acceptable approach and why? 2 marks **b.** Assume that internal documentation is to be used in the app. Describe two characteristics of internal documentation. 2 marks 1. 2. #### Answer **a.** Soula has the more acceptable approach. Internal documentation is essential as it describes the functionality of the code, making collaboration easier between colleagues. **b.** 1. Internal documentation must include logically placed statements in (simple) English that describe the functionality of the code and outline the purpose of the variables / data structures (making code easier to understand / clear, concise). 2. Naming conventions and explanation of meaningful variable names. ## Question 12 (3 marks) #testing #debugging One of the programmers of IszCool Solutions is developing the code for a 'User purchase' feature. This feature must be tested before the next part of the code can be developed. Shown below is a section of the code that needs to be tested. ``` Begin If accountBalance >= totalPurchase If totalPurchase <= dailyLimit accountBalance ← accountBalance – totalPurchase Print accountBalance Else Print “You have exceeded your daily limit” End If Else Print "Top up your account” End If End ``` Complete the test table below using the 'accountBalance' and 'dailyLimit' values provided. | accountBalance | dailyLimit | totalPurchase | Output | |---|---|---|---| | 20 | 15 | 20 | You have exceeded your daily limit. | | 20 | 15 | 15 | 5 | | 20 | 15 | 10 | 10 | | 20 | 15 | 25 | Top up your account | ## Question 13 (4 marks) #securityControls #physicalSecurity #softwareSecurity Several modules of the IszCool Canteen app are being developed simultaneously. Copies of the software have been installed on various notebooks and desktops for testing and editing. The latest working version is always accessible to the development team through a browser online. However, there are issues with unauthorised copies being accessed by people other than the development team. **a.** List one physical security control and one software security control that could protect the development of the IszCool Canteen app. 2 marks Physical security control Software security control **b.** Identify and describe how the use of a software security control would ensure that there is always a working version of the IszCool Canteen app accessible to the development team. 2 marks #### Answer **a.** **Physical security control:** * restrict access to authorised users * notebooks to be physically checked in and out * locked room / restricted areas / computers * biometrics. **Software security control:** * version control * restricted permissions limits access to known developers/users * password access * encryption * firewall * system protection software / antivirus. **b.** Version control only allows tested code to be added to the working program by allowing the development team to access the latest version. ## Question 14 (4 marks) #usabilityTesting #testing The team at IszCool Solutions is ready to perform usability testing. The team will select a number of different school community members to test the IszCool Canteen app. **a.** Suggest one feature of the IszCool Canteen app that IszCool Solutions would want to test with different users. 1 mark **b.** Explain why a variety of tests should be performed with different users of the IszCool Canteen app. 3 marks #### Answer **a.** Any valid or reasonable feature of the app as per the case study. The most common responses were 'placing an order', 'collecting an order' or 'creating an account'. **b.** Different users provide different data, which can be analysed as they use the app in different ways. Students with a lot of technological experience may find it easy to use whilst those with less experience may struggle. If only one demographic is tested, then usability issues will be missed. A variety of tests are required for the same season. More tests mean more opportunities to find issues. ## Question 15 (4 marks) #dataIntegrity For the IszCool Canteen app to be usable and to meet requirements, IszCool Solutions needs to ensure the integrity of the data that it uses. **a.** Identify two relevant characteristics of data that has integrity. 2 marks Characteristic 1 Characteristic 2 **b.** Select one of the characteristics identified in part a. Explain the impact on IszCool Solutions if the integrity of data with that characteristic is not maintained. 2 marks #### Answer **a.** accuracy, authenticity, correctness, reasonableness, relevance and timeliness. **b.** If data is not accurate, for example, the total cost of an order is incorrect, this would impact the selection of items from the canteen and the calculation of the total cost of the order. This would also impact the professional reputation of IszCool. ## Question 16 (4 marks) #riskManagement #security Shane has been surfing the internet and has discovered that an earlier version of the IszCool Canteen app is available on a 'free download' site. Shane decides that security will need to be improved to prevent further leaks of the software solution. **a.** Propose two components of a security strategy as part of an effective risk management plan to improve IszCool Solutions' security practices. 2 marks Component 1 Component 2 **b.** Select one component proposed in part a. and explain how it will improve security. 2 marks #### Answer **a.** * staff training / education * user authentication * biometrics * encryption * firewalls * TLS (Transport Layer Security). **b.** By encrypting all data stored by IszCool Solutions, this will prevent or help prevent further data leaks as unauthorised users will not be able to use or decrypt the data without the decryption key. Staff training would reduce the chance of successful phishing attacks, reducing the chance of a person successfully bypassing user authentication to steal a copy of the app.