21
2015 HSC Software Design and Development Marking Guidelines Section I Multiple-choice Answer Key Question Answer 1 C 2 A 3 B 4 D 5 B 6 C 7 B 8 C 9 C 10 A 11 B 12 D 13 A 14 A 15 C 16 D 17 B 18 D 19 B 20 D – 1 –

2015 HSC Software Design and Development Marking Guidelines · 2015 HSC Software Design and Development Marking Guidelines ... FOR Counter = 2 to 4 IF Serial(Counter) is NOT a digit

  • Upload
    ngonhan

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

2015 HSC Software Design and Development Marking Guidelines

Section I

Multiple-choice Answer Key

Question Answer

1 C

2 A

3 B

4 D

5 B

6 C

7 B

8 C

9 C

10 A

11 B

12 D

13 A

14 A

15 C

16 D

17 B

18 D

19 B

20 D

ndash 1 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question 21

Criteria Marks

bull Outlines two relevant reasons 2

bull Provides one relevant reason 1

Sample answer

bull Correct previously undetected errors

bull Implement new requirements due to changes in the clientrsquos circumstances

Question 22

Criteria Marks

bull Clearly describes method(s) for testing a completed program before its release

4

bull Outlines how a completed program can be tested 3

bull Outlines a way in which software can be tested 2

bull Identifies a feature of software testing 1

Sample answer

Test in the userrsquos computing environment in the form of a beta testing involving a significant number of testers This could ensure that the program is tested with real live data that is unavailable in the developerrsquos environment

Load testing could also be used where multiple users access the program at once to see if the program can handle the amount of requests from each user

ndash 2 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 23 (a)

Criteria Marks

bull Provides a comprehensive list of the information required 3

bull Lists some information required 2

bull Identifies a feature of library routines or documentation 1

Sample answer

The programmer will need to know what the routine achieves and how it is to be called ndash this includes its name and the number type order and purpose of parameters passed to it and returned from it

Question 23 (b)

Criteria Marks

bull Provides a substantially correct algorithm that achieves the purpose 4

bull Demonstrates some understanding of the use of CharTally AND at least one of arrays looping or accumulation 3

bull Provides some features of the algorithm 2

bull Demonstrates some understanding of the problem 1

Sample answer

BEGIN FindLetter total = 0 FOR loop = 1 TO 20

CharTally(Students(loop) ldquo f rdquo num) total = total + num

NEXT loop display total END

Question 24

Criteria Marks

bull Clearly indicates how the effects of runtime and logic errors are different and provides an example of each type of error 3

bull Shows some understanding of runtime andor logic errors 2

bull Identifies a feature of runtime or logic errors 1

Sample answer

Runtime errors (such as division by zero) cause a software application to terminate unexpectedly A logic error (such as an incorrect formula) will not crash the software but will produce incorrect output

ndash 3 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 25

Criteria Marks

bull Clearly explains why free updates are provided 3

bull Outlines reason(s) for updates 2

bull Identifies a reason for updates 1

Sample answer

Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers

Question 26

Criteria Marks

bull Provides an algorithm that correctly addresses both issues 4

bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)

2ndash3

bull Demonstrates a basic understanding of how one of the issues can be addressed 1

Sample answer

BEGIN Get MemberID

Found = False Counter = 0 WHILE Found = False AND Counter lt 200

Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN

Found = True END IF ENDWHILE

IF Found THEN Display Members(Counter)Name

ELSE Display ldquoInvalidIDrdquo ENDIF END

ndash 4 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 27

Criteria Marks

bull Outlines effects on software development 3

bull Identifies effects on software development

OR

bull Outlines an effect on software development

2

bull Identifies one effect on software development 1

Sample answer

Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate

Question 28 (a)

Criteria Marks

bull Provides strengths andor weaknesses of both development approaches in relation to the system

4

bull Provides strengths andor weaknesses of both development approaches

OR

bull Provides strengths andor weaknesses of one of the development approaches in relation to the system

3

bull Identifies features of prototyping andor rapid application development 2

bull Identifies a feature of prototyping or rapid application development 1

Sample answer

Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs

RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing

ndash 5 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 28 (b)

Criteria Marks

bull Provides a substantially correct storyboard 3

bull Provides a storyboard that incorporates some features of the interface 2

bull Identifies some features of storyboarding 1

Sample answer

Question 29 (a)

Criteria Marks

bull Shows a good understanding of the purpose 2

bull Shows some understanding of the purpose 1

Sample answer

The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed

ndash 6 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question 21

Criteria Marks

bull Outlines two relevant reasons 2

bull Provides one relevant reason 1

Sample answer

bull Correct previously undetected errors

bull Implement new requirements due to changes in the clientrsquos circumstances

Question 22

Criteria Marks

bull Clearly describes method(s) for testing a completed program before its release

4

bull Outlines how a completed program can be tested 3

bull Outlines a way in which software can be tested 2

bull Identifies a feature of software testing 1

Sample answer

Test in the userrsquos computing environment in the form of a beta testing involving a significant number of testers This could ensure that the program is tested with real live data that is unavailable in the developerrsquos environment

Load testing could also be used where multiple users access the program at once to see if the program can handle the amount of requests from each user

ndash 2 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 23 (a)

Criteria Marks

bull Provides a comprehensive list of the information required 3

bull Lists some information required 2

bull Identifies a feature of library routines or documentation 1

Sample answer

The programmer will need to know what the routine achieves and how it is to be called ndash this includes its name and the number type order and purpose of parameters passed to it and returned from it

Question 23 (b)

Criteria Marks

bull Provides a substantially correct algorithm that achieves the purpose 4

bull Demonstrates some understanding of the use of CharTally AND at least one of arrays looping or accumulation 3

bull Provides some features of the algorithm 2

bull Demonstrates some understanding of the problem 1

Sample answer

BEGIN FindLetter total = 0 FOR loop = 1 TO 20

CharTally(Students(loop) ldquo f rdquo num) total = total + num

NEXT loop display total END

Question 24

Criteria Marks

bull Clearly indicates how the effects of runtime and logic errors are different and provides an example of each type of error 3

bull Shows some understanding of runtime andor logic errors 2

bull Identifies a feature of runtime or logic errors 1

Sample answer

Runtime errors (such as division by zero) cause a software application to terminate unexpectedly A logic error (such as an incorrect formula) will not crash the software but will produce incorrect output

ndash 3 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 25

Criteria Marks

bull Clearly explains why free updates are provided 3

bull Outlines reason(s) for updates 2

bull Identifies a reason for updates 1

Sample answer

Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers

Question 26

Criteria Marks

bull Provides an algorithm that correctly addresses both issues 4

bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)

2ndash3

bull Demonstrates a basic understanding of how one of the issues can be addressed 1

Sample answer

BEGIN Get MemberID

Found = False Counter = 0 WHILE Found = False AND Counter lt 200

Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN

Found = True END IF ENDWHILE

IF Found THEN Display Members(Counter)Name

ELSE Display ldquoInvalidIDrdquo ENDIF END

ndash 4 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 27

Criteria Marks

bull Outlines effects on software development 3

bull Identifies effects on software development

OR

bull Outlines an effect on software development

2

bull Identifies one effect on software development 1

Sample answer

Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate

Question 28 (a)

Criteria Marks

bull Provides strengths andor weaknesses of both development approaches in relation to the system

4

bull Provides strengths andor weaknesses of both development approaches

OR

bull Provides strengths andor weaknesses of one of the development approaches in relation to the system

3

bull Identifies features of prototyping andor rapid application development 2

bull Identifies a feature of prototyping or rapid application development 1

Sample answer

Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs

RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing

ndash 5 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 28 (b)

Criteria Marks

bull Provides a substantially correct storyboard 3

bull Provides a storyboard that incorporates some features of the interface 2

bull Identifies some features of storyboarding 1

Sample answer

Question 29 (a)

Criteria Marks

bull Shows a good understanding of the purpose 2

bull Shows some understanding of the purpose 1

Sample answer

The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed

ndash 6 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 23 (a)

Criteria Marks

bull Provides a comprehensive list of the information required 3

bull Lists some information required 2

bull Identifies a feature of library routines or documentation 1

Sample answer

The programmer will need to know what the routine achieves and how it is to be called ndash this includes its name and the number type order and purpose of parameters passed to it and returned from it

Question 23 (b)

Criteria Marks

bull Provides a substantially correct algorithm that achieves the purpose 4

bull Demonstrates some understanding of the use of CharTally AND at least one of arrays looping or accumulation 3

bull Provides some features of the algorithm 2

bull Demonstrates some understanding of the problem 1

Sample answer

BEGIN FindLetter total = 0 FOR loop = 1 TO 20

CharTally(Students(loop) ldquo f rdquo num) total = total + num

NEXT loop display total END

Question 24

Criteria Marks

bull Clearly indicates how the effects of runtime and logic errors are different and provides an example of each type of error 3

bull Shows some understanding of runtime andor logic errors 2

bull Identifies a feature of runtime or logic errors 1

Sample answer

Runtime errors (such as division by zero) cause a software application to terminate unexpectedly A logic error (such as an incorrect formula) will not crash the software but will produce incorrect output

ndash 3 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 25

Criteria Marks

bull Clearly explains why free updates are provided 3

bull Outlines reason(s) for updates 2

bull Identifies a reason for updates 1

Sample answer

Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers

Question 26

Criteria Marks

bull Provides an algorithm that correctly addresses both issues 4

bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)

2ndash3

bull Demonstrates a basic understanding of how one of the issues can be addressed 1

Sample answer

BEGIN Get MemberID

Found = False Counter = 0 WHILE Found = False AND Counter lt 200

Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN

Found = True END IF ENDWHILE

IF Found THEN Display Members(Counter)Name

ELSE Display ldquoInvalidIDrdquo ENDIF END

ndash 4 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 27

Criteria Marks

bull Outlines effects on software development 3

bull Identifies effects on software development

OR

bull Outlines an effect on software development

2

bull Identifies one effect on software development 1

Sample answer

Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate

Question 28 (a)

Criteria Marks

bull Provides strengths andor weaknesses of both development approaches in relation to the system

4

bull Provides strengths andor weaknesses of both development approaches

OR

bull Provides strengths andor weaknesses of one of the development approaches in relation to the system

3

bull Identifies features of prototyping andor rapid application development 2

bull Identifies a feature of prototyping or rapid application development 1

Sample answer

Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs

RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing

ndash 5 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 28 (b)

Criteria Marks

bull Provides a substantially correct storyboard 3

bull Provides a storyboard that incorporates some features of the interface 2

bull Identifies some features of storyboarding 1

Sample answer

Question 29 (a)

Criteria Marks

bull Shows a good understanding of the purpose 2

bull Shows some understanding of the purpose 1

Sample answer

The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed

ndash 6 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 25

Criteria Marks

bull Clearly explains why free updates are provided 3

bull Outlines reason(s) for updates 2

bull Identifies a reason for updates 1

Sample answer

Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers

Question 26

Criteria Marks

bull Provides an algorithm that correctly addresses both issues 4

bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)

2ndash3

bull Demonstrates a basic understanding of how one of the issues can be addressed 1

Sample answer

BEGIN Get MemberID

Found = False Counter = 0 WHILE Found = False AND Counter lt 200

Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN

Found = True END IF ENDWHILE

IF Found THEN Display Members(Counter)Name

ELSE Display ldquoInvalidIDrdquo ENDIF END

ndash 4 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 27

Criteria Marks

bull Outlines effects on software development 3

bull Identifies effects on software development

OR

bull Outlines an effect on software development

2

bull Identifies one effect on software development 1

Sample answer

Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate

Question 28 (a)

Criteria Marks

bull Provides strengths andor weaknesses of both development approaches in relation to the system

4

bull Provides strengths andor weaknesses of both development approaches

OR

bull Provides strengths andor weaknesses of one of the development approaches in relation to the system

3

bull Identifies features of prototyping andor rapid application development 2

bull Identifies a feature of prototyping or rapid application development 1

Sample answer

Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs

RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing

ndash 5 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 28 (b)

Criteria Marks

bull Provides a substantially correct storyboard 3

bull Provides a storyboard that incorporates some features of the interface 2

bull Identifies some features of storyboarding 1

Sample answer

Question 29 (a)

Criteria Marks

bull Shows a good understanding of the purpose 2

bull Shows some understanding of the purpose 1

Sample answer

The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed

ndash 6 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 27

Criteria Marks

bull Outlines effects on software development 3

bull Identifies effects on software development

OR

bull Outlines an effect on software development

2

bull Identifies one effect on software development 1

Sample answer

Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate

Question 28 (a)

Criteria Marks

bull Provides strengths andor weaknesses of both development approaches in relation to the system

4

bull Provides strengths andor weaknesses of both development approaches

OR

bull Provides strengths andor weaknesses of one of the development approaches in relation to the system

3

bull Identifies features of prototyping andor rapid application development 2

bull Identifies a feature of prototyping or rapid application development 1

Sample answer

Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs

RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing

ndash 5 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 28 (b)

Criteria Marks

bull Provides a substantially correct storyboard 3

bull Provides a storyboard that incorporates some features of the interface 2

bull Identifies some features of storyboarding 1

Sample answer

Question 29 (a)

Criteria Marks

bull Shows a good understanding of the purpose 2

bull Shows some understanding of the purpose 1

Sample answer

The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed

ndash 6 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 28 (b)

Criteria Marks

bull Provides a substantially correct storyboard 3

bull Provides a storyboard that incorporates some features of the interface 2

bull Identifies some features of storyboarding 1

Sample answer

Question 29 (a)

Criteria Marks

bull Shows a good understanding of the purpose 2

bull Shows some understanding of the purpose 1

Sample answer

The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed

ndash 6 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 29 (b)

Criteria Marks

bull Provides an explanation of the purpose of the stubs in developing the 3 program

bull Outlines a function of the stubs

OR 2

bull Identifies some functions of the stubs

bull Shows some understanding of the problem 1

Sample answer

Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total

Question 29 (c)

Criteria Marks

bull Provides a substantially correct structure chart 4

bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3

bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2

bull Identifies a feature of structure charts

OR 1

bull Shows some understanding of the problem

Sample answer

ndash 7 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 30 (a)

Criteria Marks

bull Provides a reason for using arrays of records in the scenario 2

bull Identifies a feature of arrays of records 1

Sample answer

The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture

Question 30 (b)

Criteria Marks

bull Provides argument(s) for andor against sorting the data 3

bull Identifies points for andor against sorting the data

OR 2

bull Outlines a point for or against sorting the data

bull Identifies a point for or against sorting the data 1

Sample answer

Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others

Question 31 (a)

Criteria Marks

bull Provides a substantially correct deskcheck 3

bull Provides a partially correct deskcheck 2

bull Identifies a feature of the deskcheck process 1

Sample answer Deskcheck

SerialNumber Counter Valid Display

1k3 FALSE

2 TRUE

3 FALSE

4 TRUE

5 FALSE FALSE

ndash 8 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (b)

Criteria Marks

bull Modifies the algorithm so that it is substantially correct 3

bull Makes at least one relevant change to the algorithm 2

bull Identifies an error in this algorithm 1

Sample answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN

FOR Counter = 2 to 4

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

NEXT Counter

ELSE

Valid = False

ENDIF

Display Valid END

Alternate answer

BEGIN

Input SerialNumber and store in Serial( )

Valid = True

IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)

Counter = 2

WHILE Counter lt= 4 AND Valid = True

IF Serial(Counter) is NOT a digit THEN

Valid = False

ENDIF

Counter = Counter + 1

END WHILE

ELSE

Valid = False

ENDIF

IF (Serial(5) is not ldquordquo) THEN

Valid = False

END IF

Display Valid

END

ndash 9 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 31 (c)

Criteria Marks

bull Provides a list of test data that can be used to identify the different possible errors 3

bull Includes justification for each item

bull Provides some relevant test data with some justification 2

bull Identifies a feature of test data 1

Sample answer

Item Test the case where 1234 the string is too long

123 the 1st character is not

123 the 5th character is not

a23 a character is not a digit 12 the string is too short

ndash 10 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 32

Criteria Marks

bull Provides a substantially correct algorithm that uses appropriate control and data structures 4

bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3

bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2

bull Shows some understanding of the problem 1

Sample answer

1 BEGIN DealCards

2 FOR A = 0 TO 6

3 Player1(A + 1) = Cards(A 4 + 1)

4 Player2(A + 1) = Cards(A 4 + 2)

5 Player3(A + 1) = Cards(A 4 + 3)

6 Player4(A + 1) = Cards(A 4 + 4)

7 NEXT A

8 END

ndash 11 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section III

Question 33 (a)

Criteria Marks

bull Provides points for andor against the use of the paradigms in the scenario 4

bull Provides points for andor against the paradigms

OR

bull Provides points for andor against ONE paradigm with reference to the scenario

3

bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms

OR

bull Shows some understanding of ONE paradigm with reference to the scenario

2

bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm

1

Sample answer

The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities

Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code

Question 33 (b)

Criteria Marks

bull Outlines when heuristics are appropriate AND provides a relevant example 2

bull Identifies a feature of heuristics 1

Sample answer

Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal

Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability

Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses

ndash 12 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (c) (i)

Criteria Marks

bull Correctly extends the code 2

bull Shows an understanding of logic paradigm facts 1

Sample answer

salary(ling 50001)

employer(ling kim)

Question 33 (c) (ii)

Criteria Marks

bull Shows correct result with valid reasoning 2

bull Provides some relevant information 1

Sample answer

An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo

It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000

It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000

If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee

ndash 13 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (i)

Criteria Marks

bull Correctly explains how polymorphism and inheritance can be used for this scenario 4

bull OR

Outlines how polymorphism OR inheritance can be used

3

bull Outlines features of both concepts

bull Identifies features of polymorphism andor inheritance 2

bull Provides some relevant information 1

Sample answer

Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code

Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters

This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added

class SpecialisedComponent

is a Component

Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component

Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently

ndash 14 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (d) (ii)

Criteria Marks

bull Provides a substantially correct method 3

bull Identifies some features of the cost() method 2

bull Identifies a feature of the cost() method 1

Sample answer

class Engine

is a Component

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquostandard enginerdquo THEN

components[ i ]cost() = 2000

END IF

NEXT i

class V8Engine

is a Engine

public ndash

cost()

FOR i = 1 TO number of components

IF components[ i ]type() = ldquoV8 enginerdquo THEN

components[ i ]cost() = 2800

END IF

NEXT i

ndash 15 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 33 (e)

Criteria Marks

bull Explains the consequences of the error AND shows how to correct the error 3

bull Outlines consequence(s) ANDOR outlines how to correct the error 2

bull Identifies the error or a consequence 1

Sample answer

Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data

In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order

This error can be fixed by moving these two methods into the private section of the method

Question 34 (a)

Criteria Marks

bull Provides correct working 2

bull Identifies a feature of binary multiplication 1

Sample answer

Question 34 (b)

Criteria Marks

bull Outlines relevant benefit(s) 2

bull Identifies a feature of 2rsquos complement 1

Sample answer

The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)

ndash 16 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (c) (i)

Criteria Marks

bull Correctly describes what is achieved 3

bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2

bull Provides some relevant information 1

Sample answer

The tool moves to X = 45 Y = 16 without cutting

Working

D

1101

11 0

START TOOL

6

0110

10 1101

X = 45

A

1010

010000

Y = 16

0

0000

0

STOP

Question 34 (c) (ii)

Criteria Marks

bull Provides a substantially correct data stream 3

bull Provides a partially correct data stream

OR 2

bull Shows some understanding of how to work out the data stream

bull Shows an understanding of the problem 1

Sample answer

1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0

1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0

1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0

ndash 17 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (d)

Criteria Marks

bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4

bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3

bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation

OR 2

bull Identifies all THREE components

bull Identifies a feature of floating point notation 1

Sample answer

The three components are sign bit exponent and mantissa

The sign bit is 1 because ndash75 is negative

1111 = 1111 times 22

So the exponent is the binary equivalence of 127 + 2 (the index)

The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits

Question 34 (e) (i)

Criteria Marks

bull Draws a substantially correct truth table 3

bull Draws a partially correct truth table 2

bull Shows some understanding of the problem 1

Sample answer

Key Door Lights Alarm

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ndash 18 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Question 34 (e) (ii)

Criteria Marks

bull Draws a correct circuit 3

bull Solves part of the problem 2

bull Shows some understanding of the problem 1

Sample answer

ndash 19 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Mapping Grid

Section I

Question Marks Content Syllabus outcomes

1 1 921 Needs of client H41 H61

2 1 922 Screen elements H64

3 1 921 Documentation H52

4 1 911 Intellectual property H31

5 1 925 Maintenance documentation H52 H61

6 1 922 Pseudocode output H43

7 1 911 Inclusivity H32 H64

8 1 912 Implementation methods H63

9 1 922 Data types purpose H12

10 1 93 Project management H62

11 1 922 Flowchart control structures H51

12 1 922 Flowchart output H43

13 1 923 Fetchexecute cycle H11

14 1 923 Metalanguages H21

15 1 911 Reverse engineering H31

16 1 922 Completing an algorithm H53

17 1 922 Sort types H12

18 1 922 Replacing a WHILE loop H42

19 1 922 Data types in an array H13

20 1 924 Driver to test module H53

ndash 20 ndash

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid

BOSTES 2015 HSC Software Design and Development Marking Guidelines

Section II

Question Marks Content Syllabus outcomes

21 2 925 Reasons for maintenance H51

22 4 924 Describe the types of testing H42

23 (a) 3 922 Documentation for library routine H42

23 (b) 4 922 Use documented subroutines in an algorithm H61

24 3 923 Runtime errors H11

25 3 911 SW market H31

26 4 922 Linear search for a unique element H42

27 3 912 Trends in software development H22

28 (a) 4 912 Development Approaches H12

28 (b) 3 921 System modelling tool H64

29 (a) 2 922 Algorithm module interpretation H41

29 (b) 3 923 Use of stubs H53

29 (c) 4 921 Structure Chart H63

30 (a) 2 921 Array of records H42

30 (b) 3 922 Planning and designing a solution (sorting) H42 H43

31 (a) 3 922 Desk checking H42

31 (b) 3 922 Error correction H42

31 (c) 3 922 Test data H42

32 4 923 Algorithm design H42

Section III

Question Marks Content Syllabus outcomes

33 (a) 4 941 Justify paradigms H12 H21 H41

33 (b) 2 941 Heuristics H12 H41

33 (c) (i) 2 941 Modify logic fragment H12 H42

33 (c) (ii) 2 941 Interpret logic code H12 H42

33 (d) (i) 4 941 Polymorphism and inheritance H12 H42

33 (d) (ii) 3 941 Modify OOP fragment H12 H42

33 (e) 3 941 Encapsulation H42

34 (a) 2 942 Binary arithmetic H13

34 (b) 2 942 2rsquos complement H13

34 (c) (i) 3 942 Interpretation of data stream H11

34 (c) (ii) 3 942 Generate data stream H11

34 (d) 4 942 Floating point representation H13

34 (e) (i) 3 942 Truth table H11

34 (e) (ii) 3 942 Circuit design H11

ndash 21 ndash

  • 2015 HSC Software Design and Development Marking Guidelines
    • Section I
    • Section II
    • Section III
      • 2015 HSC Software Design and Development Mapping Grid