1/146
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
Functional requirements
The specific behaviours, operations and outputs a software solution must perform (e.g., calculation, sorting, displaying output).
Non-functional requirements
Quality attributes of a solution, such as usability, reliability, robustness, portability and maintainability.
Constraints
External limitations that restrict the solution; includes economic, technical, social, legal and usability constraints.
Scope
Defines what the solution will include and what it will not; establishes project boundaries.
Data type - String
A sequence of text characters used for names, labels or descriptions.
Data type - Integer
A whole number used for counting, indexing or iterations.
Data type - Float/Real
A number with decimals used for precise values and calculations.
Data type - Boolean
A data type that stores true or false values for decision-making.
Data type - Date/Time
Represents calendar dates or time values, used in scheduling or logging.
Data structure - One-dimensional array
Stores multiple values of the same type in indexed order; useful for repeated similar data.
Data structure - List
A flexible structure storing items that can vary in size and type and can be appended/removed easily.
Data structure - Record
Stores grouped data items of different types under named fields (e.g., a user profile).
IPO Chart
A design tool that identifies Inputs, Processes and Outputs for a solution.
Data dictionary
A table that describes each data item's name, type, size and purpose.
Flowchart
A diagrammatic representation of algorithm logic using standard symbols (e.g., decision diamond).
Pseudocode
A structured English-like description of an algorithm that outlines logic clearly.
Use case diagram
A diagram showing interactions between actors (users) and system functions.
Context diagram
A high-level diagram showing the system and its interactions with external entities.
Data flow diagram
Shows how data moves between processes, data stores and external entities in a system.
UI Design Principle - Functionality
Interactive and navigable elements help the user achieve tasks efficiently.
UI Design Principle - Usability
Ease of use, clarity and accessibility for all users, including those with impairments.
UI Design Principle - Appearance
Use of layout, spacing, colour, alignment, fonts and images to create a visually clear interface.
Interactivity
The ability of users to actively control and navigate the solution.
Navigation
How users move between screens, menus or sections within the interface.
Accessibility
Ensuring all users can access the system, including those with visual, auditory or motor needs.
Abstraction
An OOP principle that hides unnecessary details while exposing only essential functions.
Encapsulation
Grouping data and methods together while restricting direct access to internal details.
Sequence
The execution of statements in the order they appear.
Selection
Executing different instructions based on conditions (e.g., IF/ELSE).
Iteration
Repeating a block of code using loops (FOR, WHILE, DO UNTIL).
Syntax error
An error due to incorrect programming language grammar; prevents program from compiling.
Logic error
Code runs but produces incorrect results due to faulty logic.
Run-time error
An error that occurs while the program is running (e.g., divide by zero, index out of range).
Existence check
Validation to ensure a required field is not left blank.
Type check
Validation to ensure entered data is of the correct data type.
Range check
Validation to ensure input falls within allowable limits.
Verification
Checking data accuracy after entry by comparing against the source.
Testing table
A table comparing expected and actual output to confirm correctness.
Test case
A specific set of input values used to verify a function or module behaves correctly.
Internal documentation
Comments and formatting that explain how code works for maintenance.
CamelCase
A naming convention where multi-word names begin each new word with a capital (e.g., totalStudents).
Hungarian notation
A naming style adding type information prefix (e.g., strName, intCount).
Project plan
Structured timeline of tasks, durations, dependencies and milestones.
Gantt chart
Visual timeline showing task scheduling and progress.
Evaluation criteria
Standards for assessing how well a solution meets requirements.
Maintainability
How easy it is to modify or update code after development.
Robustness
The ability of software to handle errors or unexpected conditions without crashing.
Portability
The ability of software to run on different hardware or platforms.
Reliability
The ability of software to perform consistently without failure.
Usability
The degree to which software is easy for users to learn and operate.
Efficiency
Use of minimal time, effort or computing resources to perform tasks.
Effectiveness
The degree to which a solution meets user requirements and solves the intended problem.
Post-implementation evaluation
Reviewing how well the completed solution meets requirements after deployment.
Evaluation strategy
A plan describing how, when, and by whom the solution will be evaluated and what data will be collected.
Efficiency measure
Assessment based on time, cost and effort required to perform tasks.
Effectiveness measure
Assessment based on accuracy, clarity, usability, completeness and relevance.
Project plan monitoring
Tracking actual progress against scheduled timeline and milestones.
Milestones
Key progress points or deliverables in the development timeline.
Critical path
The sequence of tasks that determine the minimum project duration.
Security threat - Accidental
Involuntary actions such as accidental deletion or misdelivery of information.
Security threat - Deliberate
Intentional attacks such as hacking, malware, theft or insider threats.
Security threat - Event-based
Natural or environmental influences such as fire, flood or power failure.
Malware
Malicious software designed to harm, exploit or damage systems.
Virus
Malware that attaches to programs or files and spreads when executed.
Worm
Malware that spreads independently across networks without user action.
Spyware
Malware that secretly gathers user data and activity.
Ransomware
Malware that encrypts data and demands payment for release.
Denial of Service attack
An attack that overloads a network or system, making it unavailable.
Insider threat
A security risk originating from individuals with authorised access.
Identity and Access Management (IAM)
A framework for ensuring only authorised individuals can access data and systems.
Least privilege principle
Users are granted only the minimum access required to perform their roles.
Role-based access control
Access permissions are assigned based on user roles/groups.
Symmetric encryption
Encryption and decryption use the same key (e.g., AES).
Asymmetric encryption
Encryption uses a public key; decryption uses a private key (e.g., RSA, ECC).
AES
A symmetric encryption algorithm widely used for secure data storage.
RSA
A common asymmetric encryption algorithm using large prime number mathematics.
ECC
Asymmetric encryption requiring smaller keys for strong security.
Backup strategy - Full
A complete copy of all data.
Backup strategy - Incremental
Copies only data changed since the last backup of any type.
Backup strategy - Differential
Copies only data changed since the last full backup.
Essential Eight
An Australian cybersecurity framework of eight recommended mitigation strategies.
Information Security Manual (ISM)
A framework providing technical guidelines for securing systems.
Privacy Act 1988
Legislation governing how personal data is collected, used and disclosed.
Privacy and Data Protection Act 2014
Victorian law governing the protection of personal and organisational data.
Health Records Act 2001
Legislation protecting privacy of health-related information.
Copyright Act 1968
Law protecting creative work from unauthorised copying or distribution.
Confidentiality
Ensuring that information is not accessed by unauthorised individuals.
Integrity
Ensuring data is accurate and unaltered.
Availability
Ensuring data and systems are accessible when required.
Penetration testing
Ethical hacking to identify vulnerabilities in security systems.
Security controls
Tools and procedures used to protect data, networks and systems from threats.
Authentication
Verifying the identity of a user before access is granted.
Encryption
The process of encoding data to prevent unauthorised access.
Risk management
Identifying, evaluating and prioritising potential security risks.
Evaluation report
A final review summarising how well the solution meets requirements and areas for improvement.
Alpha testing
A testing phase that checks whether modules or solutions meet all requirements and function as expected. Alpha testing is carried out by developers, independent testers or high-level users in a development or testing environment throughout the development phase.
Archiving
The process of moving data from a system that no longer needs to be accessed regularly to a less frequently accessed storage area for future use or to meet compliance requirements. This ensures that data can be stored separately to systems for long periods of time without impacting on current performance or storage requirements.
Backup
The process of making a copy of data and storing the copy separately to the original data in case it is needed due to data loss. Backed up data can be full (entire copy of data), differential (changes since last full backup), incremental (changes since last backup) or a combination of these. Backups can either run manually or be scheduled to run automatically, and can be stored on a local hard drive (distinct from the original source), on external storage devices or by using cloud computing. Backups are restored when data loss occurs.
Beta testing
A testing phase that checks whether solutions meet all requirements, function as expected, are stable and are usable by intended user groups. Beta testing is performed in a development, testing or production environment with hardware identical (or similar) to that on which it will be implemented on by users of the solution. Feedback from beta testing can be used to recommend or make modifications to modules or solutions.
Computational thinking
The process of recognising aspects of computation and being able to think logically, algorithmically, recursively and inferentially. It typically involves the components of decomposition, pattern recognition, abstraction, modelling and algorithms, which may be used to create digital solutions.