Non-functional requirements describe how a system will operate rather than what it will do. They include qualities like usability, reliability, performance, and supportability. Usability measures how easy a system is to use, learn, and adapt to user needs. Reliability refers to the likelihood of failures and is measured by metrics like mean time between failures. Performance requirements specify the system's efficiency and response times. Supportability involves how easily a system can be maintained, internationalized, and adapted to changes.
2. Where Do Requirements
Come From?
Stakeholders
• Product user group
• Project customer
• An analyst/requirement engineer
• Project leader
• Project team members
• Upper management
• Project testers
• Licensing entities
• Outside vendors or suppliers
• Government entities
4. Functional
• Describe the behaviors (functions or services) of
the system
• Support user goals, tasks or activities
• F(input, system state) (output, new state)
Output,
new state
Input, initial
state
5. Non Functional
• Non functional requirement – in software system engineering is, a
software requirement that describes not what the software will do,
but how the software will do it, for example, software performance
requirements, software external interface requirements, design
constraints, and software quality attributes. Nonfunctional
requirements are difficult to test; therefore, they are usually
evaluated subjectively.”
6. Cont.
• Involves
• ilities: understandability, usability, modifiability, reliability, portability,
dependability, flexibility, availability, maintainability, scalability etc.
• ities: security, safety etc.
• ness: user-friendliness, robustness, timeliness, responsiveness,
correctness, completeness, conciseness etc.
• Others like: convenience, comfort, performance, efficiency, accuracy,
consistency, cost, development time, time-to-market etc.
7. Non Functional vs. Functional
FR
Verbs
Mandatory
Captured in use case
Product feature
Easy to capture
NFR
Attributes
Not mandatory
Captured in quality attribute scenario
Product properties
Difficult to capure
13. Usability
How easy is it for the user to accomplish a desired task?
• Learning system features
• Using system effectively
• Minimizing impact of errors
• Adapting to user needs
• Increasing confidence
• Performing the tasks quickly
• Re-establishing the proficiency while using a system after a long time.
14. General Scenario
• Source – User
• Stimulus – What the user wants to do
• Artifact – System
• Environment – Runtime or configuration time (compiled at
deployment time )
• Response – What the system does
• Response Measure – time, tries, number of errors or solutions,
16. Reliability
• Reliability measures the level of risk and the likelihood of potential
application failures.
• It is the probability that software will work without failure for a specified
period of time in a specified environment.
• Technically reliability is the ability of a system to behave consistently in the
user-acceptable environment.
• Reliability is based on the probability that a system will break i.e., the more
likely it is to break, the less reliable it is
17. Reliability measures
• Reliability of software is measured in terms of Mean Time Between
Failure (MTBF). For eg if MTBF = 10000 hours for an average software,
then it should not fail for 10000 hours of continuous operation.
• Failure Rate (λ), which is defined as: number of failures / total time in
service.
• Realization of metrics:
Run it and count no. of crashes per hour.
18. Cont.
Reliability is measured to find
• The performance of software
• Life of the software
• Cause of failure
• No. of failures occurring in a particular time of a software.
• Reliability is considered important because it eliminates the failure
mode of the software.
37. 3. Physical requirements:
A physical requirement specifies a physical constraint imposed
on the hardwaresuse for a software.
Example:
• Material
• Shape
• Size
• Weight
38. 4. Packaging requirements:
These tools cover every aspect of
building, installing and maintaining
software packages and include the ability
of having multiple versions of a single
software package installed concurrently.
Example:
Windows vista.
Windows 7,8 and 8.1.