Content / Knowledge
Textbook focus
Software Development VCE Units 3&4, Chapter 3, textbook pages 102-108.
Solution requirements
The textbook describes solution requirements as what the client needs from the solution; in other words, what the system must do. These are divided into:
- functional requirements
- non-functional requirements
Functional requirements
Functional requirements are directly related to what the solution will do. The textbook gives examples such as:
- calculations
- data processing
- opening, reading and writing to files
- data manipulation
- other specific functionality required within the system
Functional requirements are usually written in terms of:
- the inputs required
- the sequence of operations performed
- the outputs after processing
Examples given in the textbook include:
- save customer data to a file
- calculate discount values on products
- set an alarm to go off at a particular time
- load a set of jobs into a timetable
Non-functional requirements
Non-functional requirements are requirements the user or client would like the solution to have that do not change what the solution does. The textbook refers to these as quality requirements.
Important
Non-functional requirements must be measurable so they can be tested.
The textbook organises non-functional requirements into five areas.
Usability
Usability is about how easy a system is to learn and use. It is often described in terms of efficiency and effectiveness. The textbook highlights:
- clarity of the user interface
- intuitiveness of the functions
- user satisfaction
Example from the textbook: users should be able to use all basic functions after one hour of training.
Reliability
Reliability is about how much the software can be depended on to function as designed, and for how long. It is linked to being fit for purpose over time and resistant to failure.
Example from the textbook: the system should have a 99.9% uptime over any 12-month period.
Portability
Portability is about how easily the software can be used in different operating environments. This can include:
- moving from one system to another
- reinstalling on a new system
- working across multiple operating systems
- working across multiple platforms or languages
Robustness
Robustness is about how well the software responds to errors when it is being used. It is closely linked to error handling and validation.
Example from the textbook: the system should reject invalid data entered by a user.
Maintainability
Maintainability is about how easy the software is to look after once it is in use. This includes:
- fixing errors
- improving efficiency and reliability
- installing on new systems
- adding new functionality
Example from the textbook: fewer than 10 hours should be spent per quarter on maintaining the system.
Scope
The scope defines the boundaries of the software solution. The textbook explains that the scope describes:
- what the project will do
- what the project will not do
Clear scope is important because a project without limits will never be finished and disputes will arise about what was or was not included.
The textbook also explains that scope:
- defines the boundaries of the project
- includes technological, resource and time limitations
- helps manage expectations
- helps prevent scope creep
When thinking about scope, the textbook suggests that each cycle of the problem-solving methodology can produce a version of the software with its own unique scope.
Constraints
Constraints shape the final product and influence what can realistically be included. The textbook groups constraints into:
- economic
- legal
- social
- technical
Economic constraints
Economic constraints are financial limitations. They influence:
- budget
- scale and ambition
- team size
- technology choices
- prioritisation of features
Legal constraints
For VCE Software Development, the textbook specifically names:
- Copyright Act 1968
- Privacy Act 1988
- Privacy and Data Protection Act 2014
Legal constraints matter because failure to meet legal requirements can lead to penalties, legal action and damage to reputation.
Social constraints
Social constraints are shaped by:
- societal norms
- cultural practices
- ethical considerations
- stakeholder expectations
The textbook links these to inclusivity, accessibility, cultural sensitivity and public acceptance.
Technical constraints
The textbook includes technical factors such as:
- hardware limitations
- software dependencies
- programming languages and development tools
- system integration
- scalability and maintainability
- performance requirements
- security requirements
- user interface and user experience factors
- network and connectivity
- resource availability
Software requirements specification (SRS)
The textbook defines an SRS as a single document containing the outcomes of the analysis stage of the problem-solving methodology. It is created after data collection and before the design stage.
An SRS must outline:
- constraints
- scope
- functional requirements
- non-functional requirements
It may also include:
- appendices with extra information needed to interpret the requirements
- technical environment details
- performance parameters such as response time, processing time, maintenance requirements, resource demands, security arrangements and backup arrangements
- relevant diagrams, such as use cases, context diagrams and DFDs
Key Point
A well-written SRS becomes the basis for design specifications and for evaluating the success of the final product.
The textbook explains that a well-written SRS ensures:
- the problem, need or opportunity is understood
- the issues have been identified and documented systematically
- the completed SRS becomes the basis for design specifications
- the criteria identified in the SRS are used to evaluate the final product
- the final evaluation verifies that the software performs as expected
Creating an SRS
The textbook sets out a clear structure for this document.
Required document features
- a cover page with the project name, author or authors, contact details and version
- a table of contents on the first page after the cover page
- numbered headings and subheadings
- page numbers
Typical contents
- technical environment
- functional requirements
- non-functional requirements
- constraints
- scope
Appendices
Any extra documentation should be placed in appendices. The textbook gives examples such as:
- reports
- interview evidence
- observation evidence
Presentation
Because an SRS is a professional document, the textbook states that consistency in fonts, font sizes and font colours is important.
Important
The textbook notes that an SRS can act as a contract between a client and a developer and helps prevent scope creep.