Software Engineering › Past questions › 2021
Past questions: 2021
7 questions.
2021 3 marks Extended response The Software Engineering Project (Year 12) Testing (live test data)
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 22, with NESA Marking Guidelines
A large company is developing a system to automatically generate appropriate | 3 responses to common customer queries. Explain why live test data is useful in testing this system.
Marking criteria
[Question 22] Criteria | Marks • Explains why live test data is useful in testing this system | 3 • Shows some understanding of live testing | 2 • Identifies a feature of testing | 1
Sample answer
Sample answer: Live testing gives confidence that the new system will perform as expected when used in the company’s environment. Specifically, it tests using a large number of typical queries, possible keywords and customers, by making use of real queries. Because live testing also involves volume testing, it will ensure the system can cope with the anticipated number and transaction mix of customer query topics in an appropriate response time.
2021 3 marks Extended response The Software Engineering Project (Year 12) Documentation (log book)
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 24, with NESA Marking Guidelines
Outline TWO ways in which a log book may be used to assist in the development of | 3 a software solution.
Marking criteria
[Question 24] Criteria | Marks • Outlines TWO ways in which a log book can assist development | 3 • Outlines ONE way in which a log book can assist development | 2 • Identifies a feature of a log book | 1
Sample answer
Sample answer: A log book details what a programmer is up, allowing others to take over if that programmer leaves the project. The log book can be used to allow current or future developers to look back on the progress of the development, allowing them to see reasons for various actions that were taken.
2021 11 marks Extended response Secure Software Architecture (Year 12) Social and ethical issues; The Software Engineering Project / Implementation and development approach
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 25, with NESA Marking Guidelines
A mobile phone app is to be developed to allow two people speaking different languages to have a conversation. The app translates the speaker’s language into the language of the listener. (a) | Describe ONE social or ethical issue associated with this app. | 2 (b) | Outline an appropriate method of installation for this app. | 2 (c) | Justify an appropriate software development approach for this app. | 3 (d) | Describe ONE compatibility issue and ONE performance issue relevant to this | 4 app.
Marking criteria
[Question 25 (a)] Criteria | Marks • Describes ONE relevant social or ethical issue | 2 • Demonstrates a basic understanding of a social or ethical issue | 1 Criteria | Marks • Outlines an appropriate installation method relevant to this app | 2 • Identifies an installation method | 1 Criteria | Marks • Justifies an appropriate software development approach for this app | 3 • Describes a software development approach | 2 • Demonstrates a basic understanding of software development | 1 Criteria | Marks • Describes ONE performance issue and ONE compatibility issue relevant to this app • Outlines ONE performance issue and ONE compatibility issue relevant to this app • Outlines a performance or compatibility issue OR | 2 • Identifies performance and/or compatibility issues • Provides some relevant information | 1
Sample answer
Sample answer: Privacy As the conversations are transmitted and possibly stored for processing, concerns may arise regarding the security of private conversations.
[Question 25 (b)] Sample answer: Direct cutover: each individual gets the complete system as soon as they purchase the application.
[Question 25 (c)] Sample answer: Agile This approach enables the development of this application relatively quickly in a possibly competitive environment. The agile approach means the system can be offered initially with two or three languages and limited functionality, but with updates offered after a short period of time to progressively include more languages and more features in response to feedback.
[Question 25 (d)] Sample answer: Compatibility: The application must execute consistently between different mobile phones, operating systems and networks. This means that the system must be tested using a wide range of environments. Performance: Processing times must allow normal conversations to proceed without delays. Some language translations do not lend themselves to word for word conversions, meaning longer processing times are required. The application must load quickly to minimise frustration.
2021 4 marks Extended response The Software Engineering Project (Year 12) Algorithm design (guessing game)
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 26, with NESA Marking Guidelines
In a game called Guess My Number, a player plays against the computer. | 4 • The computer generates a random integer, between 1 and 100 inclusive. • The player enters guesses until they are correct or have made 10 guesses. • The output for each guess will be ‘Too high’, ‘Too low’ or ‘Correct’. • After 10 unsuccessful guesses the number is displayed with the message ‘Sorry, too many guesses’. Design an algorithm for this game, using the function RandomNumber to generate a random integer between 1 and 100.
Marking criteria
[Question 26] Criteria | Marks • Provides a substantially correct algorithm that includes the following features: – Generates a valid random integer – Enters guess – Checks guess and displays message – Loops correctly – Exits loop appropriately – Deals with 10 incorrect guesses appropriately • Provides an algorithm that addresses most of the features | 3 • Provides an algorithm that addresses some features | 2 • Shows some understanding of the problem | 1
Sample answer
Sample answer: BEGIN GuessMyNumber NumGuesses = 0 Done = FALSE Num = RandomNumber WHILE Done = FALSE and NumGuesses < 10 Input YourGuess NumGuesses = NumGuesses + 1 IF YourGuess = Num THEN Display “Correct!” Done = TRUE ELSE IF YourGuess > Num THEN Display “Too High!” ELSE Display “Too Low!” ENDIF ENDIF ENDWHILE IF Done = FALSE THEN Display Num , “Sorry, too many guesses” ENDIF END GuessMyNumber
2021 5 marks Extended response The Software Engineering Project (Year 12) Debugging an algorithm (binary search)
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 28, with NESA Marking Guidelines
A student, attempting to perform a binary search on an array called List with 7 elements, wrote the following algorithm. The algorithm contains errors. 1 | BEGIN Search 2 | low = 1 3 | high = 7 4 | found = FALSE 5 | input SearchItem 6 | WHILE found = FALSE AND high > low 7 | index = integer part of (low + high)/2 8 | IF SearchItem = List(index) THEN 9 | found = TRUE 10 | ELSE 11 | IF SearchItem < List(index) THEN 12 | high = index 13 | ELSE 14 | low = index 15 | ENDIF 16 | ENDIF 17 | ENDWHILE 18 | IF found = TRUE THEN 19 | print “Found at ”, index 20 | ELSE 21 | print “Not found” 22 | ENDIF 23 | END Search (a) | The contents of List are shown. | 3 index | 1 | 2 | 3 | 4 | 5 | 6 | 7 List | 33 | 38 | 40 | 44 | 50 | 60 | 75 Perform a desk check of the algorithm using the value 42 for SearchItem. (b) | The logic is not correct in lines 12 and 14 of the algorithm. | 2 Modify these lines so that the logic is correct.
Marking criteria
[Question 28 (a)] Criteria | Marks • Provides a substantially correct desk check, indicating a never-ending loop • Provides a partially correct desk check | 2 • Shows some understanding of desk checking | 1 Criteria | Marks • Correctly modifies both lines | 2 • Demonstrates some understanding of the problem | 1
Sample answer
Sample answer: Low | High | Found | SearchItem | Index | List(index) | Output 1 | 7 | FALSE | 42 | 4 | 44 Does not end
[Question 28 (b)] Sample answer: Line 12 | high = index –1 Line 14 | low = index +1
2021 3 marks Extended response The Software Engineering Project (Year 12) Tracing an algorithm (linear search)
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 29, with NESA Marking Guidelines
Consider the following linear search algorithm. | 3 BEGIN ‘REM N = number of elements in the array Items Get String Found = FALSE Count = 1 WHILE Count <= N AND Found = FALSE IF Items(Count) = String THEN Display String, “ is in the array” Found = TRUE ENDIF Count = Count + 1 ENDWHILE IF Found = FALSE THEN Display String, “ is not in the array” ENDIF END Identify the variable that is used as a flag and explain how using a flag helps the efficiency of this algorithm.
Marking criteria
[Question 29] Criteria | Marks • Identifies the flag and explains how using it helps the efficiency of the algorithm • Identifies the flag and shows some understanding of its effect on the algorithm • Shows some understanding of flags OR the logic of the algorithm | 1
Sample answer
Sample answer: The variable Found is used as the flag. This is set to False until the String is located. The efficiency is improved by allowing the WHILE loop to be exited as soon as String is located, thus not requiring any further searching, reducing processing time.
2021 4 marks Extended response The Software Engineering Project (Year 12) Algorithm design (string matching)
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 30, with NESA Marking Guidelines
A subroutine IsMatch(string, BigString) is needed to check if a string is found in a bigger | 4 string. The following library routines are available: • length(string) which returns the number of characters in the string • extract(string, start, length) which extracts length characters from string beginning at character start. If text = ‘software’, then extract(text, 2, 4) will return ‘oftw’. Design the algorithm for IsMatch(string, BigString).
Marking criteria
[Question 30] Criteria | Marks • Provides a substantially correct algorithm that includes the following features: – Looks for a match in the description | 4 – Checks the required number of characters – Uses the library routines appropriately • Provides an algorithm that addresses most of the features | 3 • Provides an algorithm that attempts to address some features | 2 • Shows some understanding of the problem | 1
Sample answer
Sample answer: BEGIN IsMatch (string, BigString ) Located = FALSE NumToCheck = length (BigString) – length (string) + 1 FOR j = 1 to NumToCheck Check = extract (BigString, j, length (string)) IF Check = string THEN Located = TRUE ENDIF NEXT j RETURN Located END IsMatch