Classifications of Software Requirements 1 Types of Requirement

  • Slides: 17
Download presentation
Classifications of Software Requirements 1

Classifications of Software Requirements 1

Types of Requirement § According to the level of details, requirements can be classified

Types of Requirement § According to the level of details, requirements can be classified as: User Requirements. § System Requirements. § Software Specification. § 2

User Requirements n Statements in natural language plus diagrams of the services that the

User Requirements n Statements in natural language plus diagrams of the services that the systems provides and its operational constraints. n Written for customers. n The user requirements for a system should describe the functional and nonfunctional requirements so that they are understandable by system users without detailed technical knowledge. 3

System Requirements n A structured document setting out detailed descriptions of the system services.

System Requirements n A structured document setting out detailed descriptions of the system services. n Written as a contract between client and contractor. n System requirements are expanded versions of the user requirements that are used by software engineers as the starting point for the system design. They add detail and explain how the user requirements should be provided by the system. n Ideally, the system requirements should simply describe the external behavior of the system and its operational constraints. They should not be concerned with how the system should be designed or implemented. 4

Software Requirements Specification n A detailed software description which can serve as a basis

Software Requirements Specification n A detailed software description which can serve as a basis for a design or implementation. n Written for developers. n The software requirements specification (SRS) represents a complete description of the behavior of the software to be developed. 5

Software Requirements Specification n The Software Requirements Specification (SRS) includes: • A set of

Software Requirements Specification n The Software Requirements Specification (SRS) includes: • A set of use cases that describe all of the interactions that the users will have with the software (use cases) • All of the functional requirements necessary to define the internal workings of the software: calculations, technical details, data manipulation and processing, and other specific functionality that shows how the use cases are to be satisfied • Nonfunctional requirements, which impose constraints on the design or implementation (such as performance requirements, quality standards or design constraints). 6

Functional & Non-Functional Requirements According to their source, requirements can be classified as :

Functional & Non-Functional Requirements According to their source, requirements can be classified as : ¨ Functional requirements ¨ Non-functional requirements ¨ Domain requirements 7

Functional Requirements n Describe functionality or system service, Services the system should provide. n

Functional Requirements n Describe functionality or system service, Services the system should provide. n Statements of services the system should provide, how the system should react to particular inputs, and how the system should behave in particular situations. 8

Non-Functional Requirements n Define system properties e. g. reliability, response time and storage requirements.

Non-Functional Requirements n Define system properties e. g. reliability, response time and storage requirements. n Typically relate to the system as a whole rather than the individual system features. 9

Non-functional Requirements Classifications n Product requirements ¨ n Organizational requirements ¨ n Requirements which

Non-functional Requirements Classifications n Product requirements ¨ n Organizational requirements ¨ n Requirements which specify that the delivered product must behave in a particular way e. g. execution speed, reliability, etc. Requirements which are a consequence of organizational policies and procedures e. g. process standards used, implementation requirements, etc. External requirements ¨ Requirements which arise from factors which are external to the system and its development process e. g. interoperability requirements, legislative requirements, etc. 10

Non-Functional requirements classifications: Non-Functional Requirements Product requirements • Efficiency • Reliability • Portability •

Non-Functional requirements classifications: Non-Functional Requirements Product requirements • Efficiency • Reliability • Portability • Usability • Performance External requirements Organizational requirements • Delivery • Implementation • Standards • Interoperability • Ethics • Legislative • Privacy • Safety 11 11

Nonfunctional Requirements n Usability – ease of use ¨ Specify the required training time

Nonfunctional Requirements n Usability – ease of use ¨ Specify the required training time for a use to become minimally productive ¨ Specify measurable task time for typical tasks or transactions n ¨ Compare usability to another commonly known system n ¨ Time to place a typical order “The system shall be judged by 90% of the users to be at least as usable as the existing XYZ system” Specify required features of online help systems, tool tips, context-sensitive help, etc. 12 12

Nonfunctional Requirements n Reliability Availability – System must be available X. XXX% between hours

Nonfunctional Requirements n Reliability Availability – System must be available X. XXX% between hours of 7 am and midnight. ¨ Mean time between failures (MTBF) – usually specified in hours. ¨ Mean time to repair (MTTR) – how long system can be out of operation after a failure. ¨ Accuracy – what precision is required in numerical outputs. ¨ 13 13

Nonfunctional Requirements n Performance Response time for a transaction ¨ Throughput: transactions per second

Nonfunctional Requirements n Performance Response time for a transaction ¨ Throughput: transactions per second ¨ Capacity: number of customers or transactions the system can handle ¨ Memory, storage and bandwidth ¨ 14 14

Nonfunctional Requirements n Supportability Ability of the software to be easily modified to accommodate

Nonfunctional Requirements n Supportability Ability of the software to be easily modified to accommodate enhancements and repairs. ¨ Could stipulate response time of the maintenance group from simple enhancements, moderate enhancements, and complex enhancements. ¨ Where a system is known to have future modifications…how fast these modification can be made. ¨ 15 15

Domain requirements n Domain requirements are derived from the application domain of the system

Domain requirements n Domain requirements are derived from the application domain of the system rather than from the specific needs of system users. n They usually include specialized domain terminology or reference to domain concepts. n They may be new functional requirements in their own right, constrain existing functional requirements or set out how particular computations must be carried out. n Because these requirements are specialized, software engineers often find it difficult to understand how they are related to other system requirements. 16

Domain requirements n Requirements that come from the application domain ¨ They do not

Domain requirements n Requirements that come from the application domain ¨ They do not come from the user ¨ They describe system characteristics and features of that domain n Can be functional or non-functional n If domain requirements are not satisfied, the system may be unworkable n Example for a library system: ¨ There shall be a standard user interface to all databases which shall be based on the Z 39. 50 standard 17