VCE Software Development study plan
VCE Software Development · Give each week a clear focus.
8 weeks · About 6 hours per week
Software design and development
Map the software development life cycle (SDLC) phases (analysis, design, development, testing, deployment, maintenance) and describe the purpose and key outputs of each.
Compare at least three development methodologies (e.g., waterfall, agile, spiral) and justify when each is appropriate.
Explain the purpose and contents of key design documents such as requirements specifications, design specifications, and test plans.
Identify the roles and responsibilities of stakeholders (client, end user, project manager, developer, tester) in a software project.
Your checkpoint
A one-page comparison table of three SDLC methodologies with pros, cons, and suitable project types.
Software design and development
Apply modular design principles (cohesion, coupling, abstraction, encapsulation) to evaluate a given software design.
Create UML diagrams (use case, class, sequence) for a simple system scenario.
Translate user requirements into functional and non-functional specifications.
Evaluate a design against usability, accessibility, and security considerations.
Your checkpoint
A design specification document (2–3 pages) for a small system, including UML diagrams and a requirements list.
Programming and algorithms
Implement fundamental algorithms (searching, sorting, recursion) in a programming language and trace their execution.
Analyse the time complexity of common algorithms using Big-O notation and compare their efficiency.
Write pseudocode and flowcharts for a given problem and translate them into working code.
Debug programs using systematic techniques (e.g., desk checking, breakpoints, unit tests).
Your checkpoint
A code portfolio containing three algorithms (e.g., bubble sort, binary search, recursive factorial) with comments and complexity analysis.
Programming and algorithms
Design and implement a small application that uses functions, control structures, and data structures (arrays/lists, records).
Apply test-driven development by writing unit tests before implementing functions.
Refactor a given code snippet to improve readability and maintainability.
Document code using appropriate commenting and naming conventions.
Your checkpoint
A working console application (e.g., inventory tracker) with unit tests and a README explaining its design.
Data and information management
Compare flat-file, relational, and NoSQL database models and select an appropriate model for a given scenario.
Design a normalized relational database schema (up to third normal form) from a set of user requirements.
Write SQL queries (SELECT, JOIN, GROUP BY, subqueries) to retrieve and manipulate data.
Explain data integrity, security, and backup/recovery strategies.
Your checkpoint
An entity-relationship diagram and SQL script that creates and populates a normalized database for a small business case.
Data and information management
Connect a program to a database and perform CRUD operations using a data access layer.
Describe how data is collected, validated, and transformed into information for decision-making.
Evaluate ethical and legal considerations in data management (privacy, intellectual property, data protection).
Design a simple data validation and error-handling strategy for a data-driven application.
Your checkpoint
A program that connects to a database, performs CRUD operations, and includes validation and error handling.
Software project management
Develop a project plan (scope, timeline, resources, risk register) for a software project using a Gantt chart or similar tool.
Apply estimation techniques (e.g., function points, story points) to size project tasks.
Identify and mitigate common software project risks (technical, resource, schedule).
Describe quality assurance activities (reviews, testing levels, version control) and their role in project success.
Your checkpoint
A project management plan for a hypothetical software project, including a Gantt chart, risk register, and quality plan.
Software design and development & Software project management
Integrate design and project management concepts by producing a comprehensive software development proposal.
Evaluate a case study of a failed software project and recommend improvements based on design and management principles.
Review and consolidate notes from all domains, focusing on cross-domain connections.
Complete a timed practice exam covering all four domains and review incorrect answers.
Your checkpoint
A complete software development proposal (5–7 pages) that includes design artefacts, a project plan, and a reflection on lessons learned.
Milestones
Week 2: Can explain SDLC phases, compare methodologies, and produce a basic design specification with UML diagrams.
Week 4: Can implement and analyse algorithms, write unit tests, and build a small working application.
Week 6: Can design a normalized database, write SQL queries, and integrate database operations into a program.
Week 8: Can produce a full project proposal and score at least 70% on a practice exam covering all domains.