Sunday 14 January 2018

Special Presentation - Student eligibility list

Following students are eligible for the special presentation:

SE AFTERNOON

  1. bsef15a005
  2. bsef15a006
  3. bsef15a031
  4. bsef15a034
  5. bsef15a041
  6. bsef15a043
  7. bsef15m060
  8. bsef12m059
  9. bcsf12a048
SE MORNING
  1. bsef15m018
  2. bsef15m029
  3. bsef15m033
  4. bsef15m035
  5. bsef15m045
  6. bsef15m046
  7. bsef15m047
  8. bsef15m049
  9. bsef15m059
  10. bsef12m044
  11. bsef13m039
  12. bsef14m046
  13. bsef14m058
  14. bsef14a035

Saturday 6 January 2018

SRE Lec # 13 - Non-Functional Requirements

>>>> Download Link Here <<<<<



In this slide
_______________________________________________________

SRE – 
 
Non-Functional Requirements
BSEF15 (V)
Abdul Razaq Ali
Objectives
● To introduce non-functional requirements
● To explain the schemes used to classify non-functional requirements
● To illustrate various derivation techniques for non-functional requirements
● To demonstrate the importance of non-functional requirements in critical systems
Non-Functional Requirements (NFRs)
Non-functional requirements:
● Define the overall qualities or attributes of the resulting system
● Place restrictions on the product being developed & its development process
● Specify external constraints that the product must meet.
Types of NFRs
The ‘IEEE-Std 830 - 1993’ lists 13, non-functional requirements to be included in a Software Requirements Document.
● Performance requirements
● Interface requirements
● Verification requirements
● Documentation requirements
● Security requirements
● Quality requirements
● Reliability requirements
● Maintainability requirements
Classification of NFRs
● NFRs may be classified n terms of qualities that a software must exhibit (Boehm)
● A more general classification distinguishes between product, process and external requirements
Product Requirements
● Specify the desired characteristics that a system or subsystem must possess.
● Most NFRs are concerned with specifying constraints on the behaviour of the executing system.
● The System service X shall have an availability of 999/1000 or 99%. This is a reliability requirement which means that out of every 1000 requests for this service, 999 must be satisfied.
● System Y shall process a minimum of 8 transactions per second. This is a performance requirement.
● The executable code of System Z shall be limited to 512Kbytes. This is a space requirement which specifies the maximum memory size of the system.
Source-code requirements
There are product requirements which relate to the source code of the system
Examples:
The system shall be developed for PC and Macintosh platforms. This is a portability requirement which affects the way in which the system may be designed
The system must encrypt all external communications using the RSA algorithm. This is a security requirement which specifies that a specific algorithm must be used in the product
Process Requirements
Process requirements are constraints placed upon the development process of the system
Process requirements include:
● Requirements on development standards and methods which must be followed
● CASE tools which should be used
● The management reports which must be provided
● Examples:
The development process to be used must be explicitly defined and must be conformance with ISO 9000 standards
● The system must be developed using the XYZ suite of CASE tools
Management reports setting out the effort expanded on each identified system component must be produced every two weeks
● A disaster recovery plan for the system development must be specified
External Requirements
● May be placed on both the product and the process
● Derived from the environment in which the system is developed
● External requirements are based on:
● Application domain information
● Organisational considerations
● The need for the system to work with other systems
● Health and safety or data protection regulations
● OR even basic natural laws such as the laws of physics
Relationship between User needs, concerns and NFRs
Goal-based Derivation
● Relates non-functional requirements to the goals of the enterprise
● Goal converted into a NFR:
● Goal (unverifiable)
● The system should be easy to use by experienced controllers and should be organized in such a way that user errors are minimized
● Non-functional requirement (verifiable)
● Experienced controllers shall be able to use all the system functions after a total of two hours’ training. After this training, the average number of errors made by experienced users shall not exceed two per day
Testable NFRs
● Stakeholders may have vague goals which cannot be expressed precisely
● Vague and imprecise ‘requirements’ are problematic
● NFRs should satisfy two attributes for being Testable:
● Make it objective
● Use measurable metrics
Objective NFR is based on facts, can be measured and can be verified.
Subjective NFR is based on personal choices and desires
** It is not always possible to express NFRs objectively
Examples of measurable metrics for NFRs
Reliability
● Describe the run-time behaviour of the system
● Can be considered under two separate headings:
● Availability - is the system available for service when requested by end-users.
● Failure rate - how often does the system fail to deliver the service expected by end-users.
Performance
● Describe the speed of operation of a system
● Types of performance requirements:
● Response requirements
Security
● Security requirements are included in a system to ensure:
● Unauthorised access to the system and its data is not allowed
● Ensure the integrity of the system from accidental or malicious damage
● Examples of security requirements are:
● The access permissions for system data may only be changed by the system’s data administrator
● All system data must be backed up every 24 hours and the backup copies stored in a secure location which is not in the same building as the system
● All external communications between the system’s data server and clients must be encrypted
Usability
Concerned with specifying the user interface and end-user interactions with the system.
Well structured user manuals, informative error messages, help facilities and consistent interfaces enhance usability
Questions ?