Where Do Requirements
• 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
• Describe the behaviors (functions or services) of
• Support user goals, tasks or activities
• F(input, system state) (output, new state)
• 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
• 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.
Non Functional vs. Functional
Captured in use case
Easy to capture
Captured in quality attribute scenario
Difficult to capure
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.
• 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,
• Measureable criteria:
Time taken to learn how to use.
• Realization of the metrics:
Minutes taken for some user’s task
• Reliability measures the level of risk and the likelihood of potential
• 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
• 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
• 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
• Realization of metrics:
Run it and count no. of crashes per hour.
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.
3. Physical requirements:
A physical requirement specifies a physical constraint imposed
on the hardwaresuse for a software.
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.
Windows 7,8 and 8.1.