Summary_2020AppliedComputingSoftwareDevelopmentSD.docx
Document Details
Uploaded by ClearedDalmatianJasper
2024
VCAA
Tags
Full Transcript
**SOFTWARE DEVELOPMENT:** **Study Design Summary** **2024** Unit 3 - Area of Study 1 Software development: Programming Key knowledge *Data and information* - characteristics of data types - types of data structures, including associative arrays (or dictionaries or hash tables), one-d...
**SOFTWARE DEVELOPMENT:** **Study Design Summary** **2024** Unit 3 - Area of Study 1 Software development: Programming Key knowledge *Data and information* - characteristics of data types - types of data structures, including associative arrays (or dictionaries or hash tables), one-dimensional arrays (single data type, integer index) and records (varying data types, field index) *Approaches to problem-solving* - methods for documenting a problem, need or opportunity - methods for determining solution requirements, constraints and scope - methods of representing designs, including data dictionaries, mock-ups, object descriptions and pseudocode - formatting and structural characteristics of files, including delimited (CSV), plain text (TXT) and XML file formats - a programming language as a method for developing working modules that meet specified needs - naming conventions for solution elements - processing features of a programming language, including classes, control structures, functions, instructions and methods - algorithms for sorting, including selection sort and quick sort - algorithms for binary and linear searching - validation techniques, including existence checking, range checking and type checking - techniques for checking that modules meet design specifications, including trace tables and construction of test data - purposes and characteristics of internal documentation, including meaningful comments and syntax. Key skills - interpret solution requirements and designs to develop working modules - use a range of data types and data structures - use and justify appropriate processing features of a programming language to develop working modules - develop and apply suitable validation, testing and debugging techniques using appropriate test data - document the functioning of modules and the use of processing features through internal documentation. Unit 3 - Area of Study 2 Software development: Analysis and Design Key knowledge *Digital systems* - security considerations influencing the design of solutions, including authentication and data protection *Data and information* - techniques for collecting data to determine needs and requirements, including interviews, observation, reports and surveys *Approaches to problem solving* - functional and non-functional requirements - constraints that influence solutions, including economic, legal, social, technical and usability - factors that determine the scope of solutions - features and purposes of software requirement specifications - tools and techniques for depicting the interfaces between solutions, users and networks, including use case diagrams created using UML - features of context diagrams and data flow diagrams - techniques for generating design ideas - criteria for evaluating the alternative design ideas and the efficiency and effectiveness of solutions - methods of expressing solution designs using data dictionaries, mock-ups, object descriptions and pseudocode - factors influencing the design of solutions, including affordance, interoperability, marketability, security and usability - characteristics of user experiences, including efficient and effective user interfaces - development model approaches, including agile, spiral and waterfall - features of project management using Gantt charts, including the identification and sequencing of tasks, time allocation, dependencies, milestones and critical path *Interactions and impact* - goals and objectives of organisations and information systems - key legal requirements relating to the ownership and privacy of data and information. Key skills - select a range of methods to collect and interpret data for analysis - select and justify the use of an appropriate development model - apply analysis tools and techniques to determine solution requirements, constraints and scope - document an analysis as a software requirements specification - generate alternative design ideas - develop evaluation criteria to select and justify preferred designs - produce detailed designs using appropriate design methods and techniques - create, monitor and modify project plans using software. Unit 4 - Area of Study 1 Software development: Development and Evaluation Key knowledge *Digital systems* - procedures and techniques for handling and managing files and data, including archiving, backing up, disposing of files and data and security *Data and information* - ways in which storage media, transmission technologies and organisation of files affect access to data - uses of data structures to organise and manipulate data *Approaches to problem solving* - processing features of a programming language, including classes, control structures, functions, instructions and methods - characteristics of efficient and effective solutions - techniques for checking that coded solutions meet design specifications, including construction of test data - validation techniques, including existence checking, range checking and type checking - techniques for testing the usability of solutions and forms of documenting test results - techniques for recording the progress of projects, including adjustments to tasks and timeframes, annotations and logs - factors that influence the effectiveness of development models - strategies for evaluating the efficiency and effectiveness of software solutions and assessing project plans. Key skills - monitor, modify and annotate project plans as necessary - propose and implement procedures for managing data and files - develop a software solution and write internal documentation - select and apply data validation and testing techniques, making any necessary modifications - prepare and conduct usability tests using appropriate techniques, capture results, and make any modifications to solutions - apply evaluation criteria to evaluate the efficiency and effectiveness of the software solution - evaluate the effectiveness of the selected development model - assess the effectiveness of the project plan in managing the project. Unit 4 - Area of Study 2 Cybersecurity: Software Security Key knowledge *Digital systems* - physical and software security controls used to protect software development practices and to protect software and data, including version control, user authentication, encryption and software updates - software auditing and testing strategies to identify and minimise potential risks - types of software security and data security vulnerabilities, including data breaches, man-in-the-middle attacks and social engineering, and the strategies to protect against these - types of web application risks, including cross-site scripting and SQL injections - managing risks posed by software acquired from third parties *Data and information* - characteristics of data that has integrity, including accuracy, authenticity, correctness, reasonableness, relevance and timeliness *Interactions and impact* - reasons why individuals and organisations develop software, including meeting the goals and objectives of the organisation - key legislation that affects how organisations control the collection, storage (including cloud storage) and communication of data: the *Copyright Act 1968*, the *Health Records Act 2001*, the *Privacy Act 1988* and the *Privacy and Data Protection Act 2014* - ethical issues arising during the software development process and the use of a software solution - criteria for evaluating the effectiveness of software development security strategies - the impact of ineffective security strategies on data integrity - risk management strategies to minimise security vulnerabilities to software development practices. **Key skills** - analyse and discuss the current security controls to protect software development practices and to protect software and data - identify and discuss the potential risks to software and data security with the current security strategies - propose and apply criteria to evaluate the effectiveness of the current security practices - identify and discuss the possible legal and ethical consequences to an organisation for ineffective security practices - recommend and justify an effective risk management plan to improve current security practices.