On completion of this unit the student should be able to develop and evaluate a software solution that meets requirements and assess the effectiveness of the project plan.
-- VCE Computing Study Design 2024-2028
We'll continue to use Python and Flet for building software applications. This will be the main focus for this unit.
A sequence of programming (GUI and algorithms) tasks
Quizzes on Theory
A practice usability task
2nd half of the SAT, which is the Development & Evaluation phases of the PSM. See the SAT page on this site.
Review from U3 - ALL MOVED TO U3 Now!
Data Types, Data Structures, File Formats from Unit 3
Review: Data Integrity & Data Validation
Storage Media - pros and cons, speed, size
HDD and SDD, RAID arrays
Removable Storage: (USB) Flash Drives, Optical, Tape Drives
Network Storage and Cloud Storage
File naming schemes and Folder structures
Backups: Plans require schedules, types, locations, media
Copies of current data in case of loss due to human error, accidents, fire/flood, malicious acts, malware, etc...
Types: Full, Differential, Incremental
Archives: Moves data off main storage/database to save costs, speed up more common data access, legal reasons, etc...
The problem of bitrot and longterm archives (github archive)
Version Control - usually for source code / plain text. Allows for
multiple people to work on same project & manage "merge conflicts"
experiments to be tried on code without threatening main branch code
Changes to be rolled back. Authorship of code to be determined. Etc...
Security - TODO
Modified vce.it slides: Alpha and Beta (and other) Testing
Review: Characteristics of Effective and Efficient Solutions
Evaluation Strategies
Criteria
Time Frame
Responsibility
Effectiveness of Project Plans
Recording progress of Project
Older Material - Not quite tuned for current study design
Four Levels of Testing Software (guru99.com/levels-of-testing)
Unit Testing: checks if software components are fulfilling functionalities or not. (functions, classes, modules, etc)
Integration Testing: checks the data flow from one module to other modules.
System Testing: tests software integrated in information system. Involves load, performance, reliability, and security testing. [Not really part of this course]
Acceptance Testing: checks the requirements of a specification or contract are met as per its delivery.
Unit Testing and Integration Testing should be automated and can be tested using test data and the results recorded in a test table like we saw in Unit 3. Part of Development Phase.
Acceptance testing we will do as part of the Evaluation Phase and will be the basis for the Software Evaulation report in the SAT.
Usability should be considered and tested at all stages of design and implementation. Usability 101 - Nielsen Group
Lots of sites that pay you to do usability testing, eg