VCE Software Development Units 3 and 4 |
KK = Key Knowledge. All KK are examinable (as are all terms in the glossary that are relevant to this course)
Check out my the postmortem of VCAA's 2020 sample DA exam with lots of exam tips. |
SD U3O1 KK01 | Characteristics of Data type
|
||||||||||||||||||||||||||
SD U3O1 KK02 | Types of Data structure
|
||||||||||||||||||||||||||
SD U3O1 KK03 | Methods for documenting a problem, need or opportunity
|
||||||||||||||||||||||||||
SD U3O1 KK04 | Methods for determining Solution![]()
|
||||||||||||||||||||||||||
SD U3O1 KK05 | Methods of representing designs, including
|
||||||||||||||||||||||||||
SD U3O1 KK06 | Formatting and structural characteristics of files, including
Plain text data consists of (drumroll) - plain ASCII text, e.g. Smith Text data files can be read and edited by any software, but they lack any information about what the fields mean. e.g. the dates above could be birthdate, date of employment etc. Also, the software reading the data needs to know in advance that each record contains 5 lines of text - otherwise reading the data soon descends into anarchy. CSV - Comma Separated Values CSV files are also plain text, but all the fields of a single record appear on the same line, delimited (separated) by commas and quotation marks, e.g. "Smith","John","30/5/2010","67 Bradley St","Carlton" There is not a lot to separate plain text and CSV data files in terms of usability or value-added structure. True but irrelevant story - many years ago the Victorian Education Department's student record database (CASS) used a wonky version of CSV without the quotation marks, like so... Smith,John,30/5/2010,67 Bradley St,Carlton This usually worked...but, if any field contained a comma, the fields went out of sequence and the entire data file threw itself into an unholy disaster. Of course, inevitably, it happened. Splatz,Emile,1/4/1887,6,The Crest Carlton,Anderson,Ken,3/10/2005 After Emile's record, all the data was trashed. It was a fun day for me, because I had Emile in my school's data and I had to inform the Education Department about the meltdown that effectively stopped all of our daily access to student data until Emile's raw data was changed manually. The Education Department had to rewrite their student database software and they moved to use XML instead. Morals: (1) Think ahead. (2) Data management shortcuts can be costly in the long run
Lots of programs rely on XML to store their data - such as Microsoft Office's DOCX, XLSX and PPTX files - where the "X" means the document is stored in XML format.
|
||||||||||||||||||||||||||
SD U3O1 KK07 | A programming language as a method for developing working modules that meet specified needs
I really have no idea what VCAA wants to teach in this KK Let's summarise the theory for this KK: Yes - a programming language does develop working modules to meet specified needs. What else does VCAA want?
|
||||||||||||||||||||||||||
SD U3O1 KK08 | Naming Convention![]() ![]()
|
||||||||||||||||||||||||||
SD U3O1 KK09 | Processing features
Quick summary - ClassesClasses are types of objects, such as Text boxes, Labels, Spiders, Wines - each has its own relevant properties e.g.
Some classes (e.g. text box) are inherent and defined by a programming language. Others classes (e.g. spider or wine) are created and defined by the programmer. Control structuresControl structures are commands that control the flow of the execution of a program based on values that apply at the time of execution. The most common types are: LOGICAL (Conditional, Selection) - IF / THEN / ELSE LOOPS (iteration) - FOR / NEXT , DO / LOOP, WHILE / UNTIL, LOOP / WHILE Variants include CASE which neatly collapses a large, messy collection of IF statements into a nice, neat package: Compare: IF age = 3 then group = "Tiny Tots" CASE age
END CASE Don't expect exam pseudocode to use CASE structures. They have never appeared before. But IF statements are guaranteed to appear.
|
||||||||||||||||||||||||||
SD U3O1 KK10 | Algorithms for sorting, including
Quick sort Developed in 1961, QuickSort works by selecting a pivot value, and dividing the data into two partitions - one with values less than the pivot's value, and one with values greater. The partitions are then repeatedly (recursively) divided into two sub-arrays and and re-sorted. The QuickSort algorithm is faster than some others, such as bubble sort. SD students in 2014's exam question B2 were asked: 2b. Briefly explain how a quick sort works and how this differs from a bubble sort. 2 marks [6 lines] You could expect a similarly-hard question this year. My answer in my postmortem was - A quick sort recursively subdivides the data set into 2 parts and chooses a pivot value. All items in the part of the data set that are less than the pivot value are moved to the left of the pivot item, items greater than the pivot value are moved to the right of the pivot item. This is repeated until all items are sorted. - Compared to the bubble sort, the quick sort is more complex to code, but is usually more efficient with large data sets. In their examiners' report, VCAA commented: ...most students struggled to provide a complete and detailed response, with many missing the second part of the question – ‘how this differs from a bubble sort’. The following are examples of high-scoring responses. 1. With each iteration, a value called a pivot is chosen from the list. For each other value, if it is greater than pivot it places it to the right, if it is less than, it places to left. The pivot is in the right place and on the two side lists. 2. A quick sort chooses a random pivot item and compared other items to that element until it has two subsets of elements higher and lower than the pivot. It then does the same to the sublists and so on till it’s all sorted. By the way: in 2014, the average mark for this question was only 0.6 out of 2. In 2016, SD students faced this in question A2 Question A2 In the process of sorting an array of eight integers using the quick sort algorithm, the first partitioning with the array appears as follows.
Which one of the following statements is correct?
To see the answer HIGHLIGHT FROM HERE > B <TO HERE. It was a tough question for 1 mark! TIP - If you spent 10 minutes working it out, you would have been better guessing and taking a 25% chance of being right. More to come.
|
||||||||||||||||||||||||||
SD U3O1 KK11 | Algorithms for
|
||||||||||||||||||||||||||
SD U3O1 KK12 | Validation
|
||||||||||||||||||||||||||
SD U3O1 KK13 | Techniques for checking that modules meet design specifications, including
|
||||||||||||||||||||||||||
SD U3O1 KK14 | Purposes and characteristics of internal documentation, including
|
||||||||||||||||||||||||||
SD U3O2 KK01 | Security considerations influencing the design of solution
Let's assume the vague KK refers to user authentication. In your SD software, it means that you need to demonstrate that you know the value of
But in terms of pure theory, user authentication and data protection measures can involve a host of things: Designing User Authentication
Designing data protection
Most of the methods above are designed to protect against deliberate, malicious threats to data. Designing to protect users against themselvesThe main threat to data is not less evil, but it's much more likely - user error caused by incompetence, ignorance, laziness or carelessness. UP - unauthorised people To all of the prevention strategics you should add: "Educate / train users about this threat: its dangers, and how to recognise and handle it." Fun fact: 91% of all successful attacks on data begin with a phishing exploit. Moer than half of lost data was caused by user error.
A clever gadget: The Scramble Keypad randomly assigns digits to different positions for users to enter their PINs. This prevents onlookers from detecting a PIN by the movement of the user's fingers. It also has a narrow viewing angle so people to the sides of the user cannot see the displayed digits.
|
||||||||||||||||||||||||||
SD U3O2 KK02 | Techniques for collecting data to determine needs and requirements, including
|
||||||||||||||||||||||||||
SD U3O2 KK03 | Functional and non-functional requirements For more details, see...
but the short answer is: Functional requirements (FR) = what a solution is required to do, e.g.
Consider a FR like a verb. Non-functional requirements (NFR) of the solution (solution attributes) are qualities such as
Consider a NFR like an adjective |
||||||||||||||||||||||||||
SD U3O2 KK04 | Constraints that influence Solution
|
||||||||||||||||||||||||||
SD U3O2 KK05 | Factors that determine the scope of Solution![]()
|
||||||||||||||||||||||||||
SD U3O2 KK06 | Features and purposes of software requirement specifications
|
||||||||||||||||||||||||||
SD U3O2 KK07 | Tools and techniques for depicting the interfaces between Solution
|
||||||||||||||||||||||||||
SD U3O2 KK08 | Features of
|
||||||||||||||||||||||||||
SD U3O2 KK09 | Techniques for generating design ideas
|
||||||||||||||||||||||||||
SD U3O2 KK10 | Criteria for evaluating the alternative design ideas and the Efficiency![]() ![]()
|
||||||||||||||||||||||||||
SD U3O2 KK11 | Methods of expressing Solution
|
||||||||||||||||||||||||||
SD U3O2 KK12 | Factors influencing the design of Solution
Yes, "affordance" - not "affordability" as was written in the same KK in the 2016 study design! Big whoops from VCAA there :-) |
||||||||||||||||||||||||||
SD U3O2 KK13 | Characteristics of user experiences, including Efficient![]() ![]()
|
||||||||||||||||||||||||||
SD U3O2 KK14 | Development model approaches, including
|
||||||||||||||||||||||||||
SD U3O2 KK15 | Features of Project management
|
||||||||||||||||||||||||||
SD U3O2 KK16 | Goals and objectives of organisations and Information system![]()
|
||||||||||||||||||||||||||
SD U3O2 KK17 | Key Legal requirements![]()
|
||||||||||||||||||||||||||
SD U4O1 KK01 | Procedures and techniques for handling and Managing files
|
||||||||||||||||||||||||||
SD U4O1 KK02 | Ways in which
affect access to data ![]()
|
||||||||||||||||||||||||||
SD U4O1 KK03 | Uses of Data structure
|
||||||||||||||||||||||||||
SD U4O1 KK04 | Processing features
![]()
|
||||||||||||||||||||||||||
SD U4O1 KK05 | Characteristics of Efficient and effective Solution
|
||||||||||||||||||||||||||
SD U4O1 KK06 | Techniques for checking that coded Solution
![]()
|
||||||||||||||||||||||||||
SD U4O1 KK07 | Validation
![]()
|
||||||||||||||||||||||||||
SD U4O1 KK08 | Techniques for Testing ![]()
|
||||||||||||||||||||||||||
SD U4O1 KK09 | Techniques for recording the progress of projects, including adjustments to
|
||||||||||||||||||||||||||
SD U4O1 KK10 | Factors that influence the Effectiveness of development models |
||||||||||||||||||||||||||
SD U4O1 KK11 | Strategies for evaluating the Efficiency
![]()
|
||||||||||||||||||||||||||
SD U4O2 KK01 | Physical
Version control
User authentication
Encryption
Software updates
|
||||||||||||||||||||||||||
SD U4O2 KK02 | Software auditing and Testing
|
||||||||||||||||||||||||||
SD U4O2 KK03 | Types of software security and data security vulnerabilities, including
and the strategies to protect against these ![]()
|
||||||||||||||||||||||||||
SD U4O2 KK04 | Types of web application risks, including
Cross-site scripting
SQL injections
|
||||||||||||||||||||||||||
SD U4O2 KK05 | Managing risks posed by software acquired from third parties Let's start with definitions:
Software from third parties has to be treated as if it carries the bubonic plague. Even if your dear old mum emailed you a "funny program" on it, you would be wise to put on rubber gloves before handling it. Any software you did not create yourself, regardless of its origins, must be initially with suspicion. Even second-party software from your most reliable source might have been infected by trojans, viruses, worms or other malware before you got it. Software downloaded from the internet is especially dubious. Using pirated software is like kissing a crocodile: you never know what may happen. Even if you have fifteen of the best antivirus software suites installed, a zero-day exploit may get past every one of them and your system will be immediately toasted. Possible Payloads The payload is the type of damage that malware can achieve. The term is derived from the power of military explosives. Malware aka a computer "virus" nowadays can mean all sorts of bad software, such as:
Most malware is designed to
And realise that Apple and Linux computers and phones are just as susceptible to malware as Windows or Android devices - they just aren't targeted as often because they are smaller populations of users and not worth the effort.
Managing the risks - Company rule: do not bring in software from outside the organisation. Do not install your own programs onto a company-owned laptop, for example. Do not bring in your own network devices (especially wifi routers) and connect them to company networks. - Company's file server should be set to scan for malware in all files on users' devices. - Educate users about what social engineering looks like, and how to avoid risky behaviour (e.g. opening attachments, using software from dubious sources). 95% of user error is ignorance, and not malicious intent.
|
||||||||||||||||||||||||||
SD U4O2 KK06 | Characteristics of data that has integrity, including
|
||||||||||||||||||||||||||
SD U4O2 KK07 | Reasons why individuals and organisations develop software, including meeting the goals and objectives of the organisation I'm not sure why I did goals and objectives twice... let me know if you figure out how they differ :-) |
||||||||||||||||||||||||||
SD U4O2 KK08 | Key legislation that affects how organisations control the collection, storage (including cloud storage) and communication of data:
|
||||||||||||||||||||||||||
SD U4O2 KK09 | Ethical issues arising during the software development process and the use of a software Solution
|
||||||||||||||||||||||||||
SD U4O2 KK10 | Criteria for evaluating the Effectiveness of software development security strategies
|
||||||||||||||||||||||||||
SD U4O2 KK11 | The impact of ineffective security strategies on data integrity Possible impacts - a summary:
|
||||||||||||||||||||||||||
SD U4O2 KK12 | Risk management strategies to minimise security vulnerabilities to software development practices. Non-specific, but relevant stuff is in...
|
Go back to wherever you were before this page
All original content copyright ©
vcedata.com This page was created on 2022-01-17 |