HSC Software Engineering - Screening Test

Answer all 20 questions to the best of your ability

Instructions

Part 1: Reviewing Your Current Knowledge (Medium to Difficult)

This section focuses on SDLC methodologies, project diagrams, ERDs, and SQL.

Question 1: Scenario-Based Methodology Choice
A government agency wants to build a new online portal for citizen services. The project requirements are defined in a 500-page legal document, are fixed, and are not expected to change. The project also has a strict, non-negotiable deadline and budget. Which development methodology, Waterfall or Agile, would you recommend for this project? Justify your answer with two distinct reasons related to the scenario.
Question 2: Gantt Chart Analysis
Below is a Gantt Chart for a software module development project:
gantt title Software Module Development Timeline dateFormat X axisFormat Day %d section Tasks Task A (5 days) :taskA, 0, 5d Task B (3 days) :taskB, after taskA, 3d Task C (4 days) :taskC, after taskA, 4d Task D (2 days) :taskD, after taskB taskC, 2d
Looking at this Gantt chart, what is the minimum total time required to complete all tasks (the critical path)? Explain your reasoning by identifying which sequence of tasks determines the project duration.
Question 3: Context Diagram Design
You are designing a simple Library Lending System. The system will be used by Librarians to add new books and by Members to borrow and return books. The system must also connect to an external Payment Gateway to process late fees.

Identify the three external entities and list one data flow (e.g., "Login Details") going from each entity to the system.
Question 4: Advanced SQL SELECT
Given the following Players table, write a single SQL query to select the Username and Region for all players who are Rank 1 OR have a Region of "AU".

Players Table:

PlayerIDUsernameRankRegion
1ShadowRunner1NA
2GhostWalker5EU
3BloodHunter1EU
4NightStalker12AU
5VoidSeeker8NA
6DarkEntity15AU
Question 5: ERD Relationship Identification
A university database needs to track Professors and the Courses they teach. A single professor can teach multiple courses, but each course is only taught by one professor.

Describe the relationship between the Professors and Courses entities (e.g., one-to-one, one-to-many, many-to-many). Which table should contain the foreign key?
Question 6: SQL JOIN Application (Difficult)
You have two tables: Killers and Killer_Perks.

Killers Table:

KillerIDName
1The Trapper
2The Wraith

Killer_Perks Table:

PerkIDKillerIDPerkName
1011Unnerving Presence
1022Bloodhound
1031Brutal Strength
Write an SQL query using a JOIN to display a list of all PerkName values specifically for 'The Trapper'.
Question 7: Agile vs. Waterfall Weaknesses
For a project with very unclear and constantly changing user requirements, what is the single biggest disadvantage of using the Waterfall model?
Question 8: ERD to SQL CREATE TABLE
You have an entity Survivors with the following attributes: SurvivorID (Primary Key, Integer), Name (String), and PrestigeLevel (Integer). Write the SQL CREATE TABLE statement for this entity.
Question 9: Context Diagrams vs. Data Flow Diagrams
Both Context Diagrams and Data Flow Diagrams (DFDs) are used in system analysis, but they serve different purposes. Explain the key difference between a Context Diagram and a detailed Data Flow Diagram in terms of what they show and their level of detail.
Question 10: Advanced SQL WHERE Clause
Using the same Players table from Question 4, write a SQL query to find all players who are not from the "NA" region and have a Rank greater than 10.

Players Table:

PlayerIDUsernameRankRegion
1ShadowRunner1NA
2GhostWalker5EU
3BloodHunter1EU
4NightStalker12AU
5VoidSeeker8NA
6DarkEntity15AU

Part 2: Exploring New Topics (Easy to Basic)

This section touches on security, web concepts, OOP, and data structures. Choose the best answer or provide a short response.

Question 11: Secure Passwords
A developer adds a random, unique value to each user's password before hashing it. This technique is designed to prevent attackers from using pre-computed tables of common password hashes. This technique is called:
Question 12: Introducing Scrum
In the Agile (Scrum) methodology, a project is broken down into short, iterative cycles. What is the correct chronological order for these four key meetings in a single cycle?
Question 13: Purpose of JSON
What is the primary purpose of JSON (JavaScript Object Notation) in web applications?
Question 14: What is an API?
A mobile weather app needs to get live weather data from an external service. The software component that allows the app to request this data is known as an:
Question 15: Understanding Inheritance
In the diagram from the sample paper, both the Book and DVD classes are specialized types of the LibraryItem class. This Object-Oriented Programming concept is known as:
Question 16: Identifying a Vulnerability
A developer builds a database query by directly joining strings together with user input, like this:
query = "SELECT * FROM users WHERE username = '" + userInput + "'" This practice is a classic example of what security vulnerability?
Question 17: Basic Data Structures
Which of the following are examples of linear data structures, where elements are arranged in a sequential manner? (Select all that apply)
Question 18: Client-Side vs. Server-Side
Which of the following tasks is most likely to be handled by a client-side script (running in the user's browser)?
Question 19: Binary Representation
What is the 8-bit binary representation of the decimal number 5?
Question 20: What is Continuous Integration?
What is the main function of a Continuous Integration (CI) server in a modern development workflow?

Make sure you've answered all questions before submitting.