Professional Documents
Culture Documents
Lecture 11B Trimester 1 2019
Lecture 11B Trimester 1 2019
Lecture 11B Trimester 1 2019
PRG01S1 PROGRAMMING
1. Introduction:
• Background and system environment.
2. Functional Requirements:
• A numbered list of functions, with inputs & outputs.
3. Non-Functional Requirements:
• system characteristics;
• external interfaces (e.g. user interface).
4.Constraints.
5. Verification (Acceptance) Criteria.
FUNCTIONAL REQUIREMENTS
Input Output
The System
Data Data
You should form yourselves into groups of 2-3 students and attempt the
exercises below as a group. Discussion will form a large part of the
exercise so working individually is a tad pointless.
Exercise
As a group produce a list of functional requirements. Using the lecture
examples as a guide, write them out as a list of numbered requirements
with input, output and a description of the functionality.
NON-FUNCTIONAL
REQUIREMENTS
• These are characteristics of the system that cannot be
expressed as functions.
• Security – e.g. internet systems.
• Reliability – e.g. safety-critical systems.
• Performance – e.g. real-time systems.
• Usability (human-computer interface).
• Maintainability and portability.
• They describe characteristics of the system rather than
explicit behaviour.
• Within the control of the developer.
• Non-functional requirements must be able to be measured
via specified metrics.
EXAMPLES: POOR
You should form yourselves into groups of 2-3 students and attempt the
exercises below as a group. Discussion will form a large part of the
exercise so working individually is a tad pointless.
Exercise
Discuss the non-functional requirements for the system. As a group,
produce a list of non-functional requirements. Don't forget to specify a
metric for each one.
CONSTRAINTS
You should form yourselves into groups of 2-3 students and attempt the
exercises below as a group. Discussion will form a large part of the
exercise so working individually is a tad pointless.
Exercise
Discuss the constraints for the system. As a group, produce a list of
constraints.
THINGS TO AVOID
• Verbosity:
• Rambles rather than being clear and concise.
• Incompleteness:
• Often a side effect of verbosity, things are left out or vaguely
mentioned.
• Subjectivity:
• Every requirement or constraint must be verifiable so cannot use
subjective terms (e.g. fast, good).
• Inconsistency:
• Use the same terms throughout document.
• Unrealistic:
• Don't make promises that cannot be kept within your life time!
WORKSHOP TASK
Exercise
Each group member should take a copy of the notes that you have
produced during the lecture exercises. From those notes, write your own
SRS. Use the lecture notes to guide you as to what information is required
in an SRS.
• Test 3
• Exam preparation