system requirements (week 3) Flashcards
what are system requirements
list of features, functional, non-functional requirements and requisite use cases for the software
delves into how of a software
will be documented under the software requirement specification / functional requirement specification that will help developers understand the business and user requirements
what are the types of system requiremetns
functional requirements
non functional requirements
domain requirements
what are functional requirements
–> behaviours that the developed product should do or support
–> usually expressed as inputs into the product, outputs of the product, or a description of the behaviour itself
give an example of functional requirements
authentication when the user tries to log into the system
system shutdown in case of a cyber attack
what are non functional requirements
describe how a system must behave and establish constraints of its functionality (quality attributes)
define how the system must operate
system can meet its functional requirements and fail to meet its non functional requirements
what are the software’s characteristics and expected ux
SPURS
security performance usability reliability scalability
what is usability
defines how difficult it will be for the user to operate the system
what are the 3 ways usability can be assessed
efficiency of use = avg time it takes the user to complete their goals, how many tasks can be completed, etc
intuitiveness = how simple it is to understand the interface and buttons
low perceived workload = how many attempts are needed by users to accomplish a particular task
what is security
security requirements ensure that the system is protected from unauthorised access to the system and its data
considers different roles of authorization and authentication across different user roles
example of security
access permissions from the particular system information may only be changed by the system’s data admin
what is reliability
reliability decreases because of bugs in the code, hardware failures, or problems with other system components
how to measure system reliability
count the percentage of operations that are completed correctly or track the avg period of time the system runs before failing
example of reliability
database update process must roll back all related updates when any update fails.
what is performance
performance is the quality attribute that describes the responsiveness of the system to various user interactions with it
poor performance will lead to a negative user experience
jeopardises the system safety when it is overloaded
example of performance
front page load time must not be more than 2 seconds for users that access the website using an LTE mobile connection
what is availability
it is the period of time that the systems operations are available for use with all operations
schedules maintenance periods directly influence this parameter
define the most critical components of the system that must be available at all time and prepare user notifications in case the system or one of its parts becomes unavailable
example of availability
new module deployment must not impact the front page, product pages. The rest of the pages which experience problems must display a notification with a timer showing when the system is going to be up again
what is scalability
describe how the system must grow
both hardware and software implications
how to increase scalability
adding memory, servers, disk space, etc
compress data using optimising algorithms
example of scalability
website concurent access limit must be scalable enough to support 500,000 users at a time
name the 4 differences between functional and non functional requirements
–> functional requirements have detailed product features whereas non functional requirements have detailed product properties
–> functional requirements describe the work that is done whereas non functional requirements describe the character of the work
–> functional requirements describe the user actions whereas non functional requirements describe the user experience
–> functional requirements are characterised by verbs whereas non functional requirements are characterised by adjectives