VCE Applied Computing: Software Development (Year 12) · Unit 3 — Analysis and Design · 14m read
The Problem-Solving Methodology for Software Development
Every Software Development SAC, SAT and exam question is framed by the problem-solving methodology (PSM). Learn its stages and vocabulary precisely and you will always know what a question is really asking.
Learning objective: Describe the four stages of the problem-solving methodology (analysis, design, development, evaluation) and the key terms VCAA uses for software solutions, including efficiency and effectiveness.
By the end of this lesson you can:
- I can name the stages of the PSM and the activities in each.
- I can distinguish functional and non-functional requirements, constraints and scope.
- I can explain efficiency and effectiveness of a software solution.
Building software is like building a house. Work out what the owners need (analysis), draw the plans (design), build and inspect (development), then check they are happy living there (evaluation).
The four stages
ANALYSIS — understand the problem.
• Solution requirements: FUNCTIONAL (what the software must do) and NON-FUNCTIONAL (qualities such as usability, reliability, robustness, portability, maintainability).
• Constraints: economic, technical, social, legal and usability limits.
• Scope: what the solution will and will not do.
• Documented in a Software Requirements Specification (SRS).
DESIGN — plan the solution.
• Generate and evaluate design ideas against criteria.
• Use design tools: pseudocode, data dictionaries, object descriptions, mock-ups, IPO charts.
• Write the EVALUATION CRITERIA that will later judge the solution.
DEVELOPMENT — build it.
• Manipulation (coding), validation, testing and documentation (internal comments and user documentation).
EVALUATION — judge it after use.
• An evaluation strategy (timeline, data to collect, methods) and a report against the evaluation criteria.
Efficiency and effectiveness
EFFICIENCY — how much time, cost and effort it takes to produce or use the solution (e.g. processing speed, number of clicks, cost to run).
EFFECTIVENESS — how well the solution achieves its intended results: accuracy, completeness, readability, attractiveness, clarity, usability, timeliness, reliability, accessibility, communication of message.
A solution can be effective but inefficient (gives correct results, but slowly) — good questions ask you to judge both.
Worked example (Easy)
Classify each as functional requirement, non-functional requirement or constraint: (a) the app must calculate the total cost of an order; (b) the app must load in under two seconds; (c) the budget is $5000; (d) the app must be easy for elderly users.
- (a). Describes what the software does.
\text{functional} - (b). Describes a quality (performance).
\text{non-functional} - (c). A limit on the project.
\text{economic constraint} - (d). A quality — usability.
\text{non-functional}
Answer: (a) functional (b) non-functional (c) constraint (d) non-functional
Common mistakes
- Confusing testing with evaluation Testing checks the solution works during development; evaluation judges how well it meets its goals after use. Fix: Testing → development stage. Evaluation → after implementation, against evaluation criteria.
- Writing evaluation criteria in the evaluation stage They are created during design. Fix: Design creates criteria; evaluation applies them.
Practice questions
In which PSM stage are evaluation criteria created?
- Analysis
- Design
- Development
- Evaluation
(1 marks)
Explain the difference between efficiency and effectiveness, using a booking app as an example.
(2 marks)
Summary
- PSM: analysis → design → development → evaluation.
- Requirements: functional (what) vs non-functional (how well); constraints limit the project; scope sets boundaries.
- Evaluation criteria are written in design and applied in evaluation.
- Efficiency = resources; effectiveness = quality of results.