embryology cvs part i
TRANSCRIPT
Understanding Nonfunctional Requirements - 1
Understanding Nonfunctional Requirements - 2
Understanding Nonfunctional Requirements - 3
Get Your Users “IN” the Doghouseand Keep Yourself Out:
Eliciting Nonfunctional Requirements
Understanding Nonfunctional Requirements - 4
Who is Roxanne Miller?
Requirements Quest® founder.• IIBA Endorsed Education Provider• Requirements management
process improvement
Certified Business AnalysisProfessional (IIBA).
Keynote speaker at BusinessAnalyst World conferences.
Whoam I?
Self proclaimed ‘Requirements Super Freak’.
Understanding Nonfunctional Requirements - 5
Where to get Roxanne's book
http://www.RequirementsQuest.com
The Quest for Software Requirements(book): http://www.requirementsquest.com/products/the-quest-for-software-requirements
Software Requirements Questions (CD or Download) -companion to the book that has the suggested questions in aMicrosoft Excel file:http://www.requirementsquest.com/products/softwarerequirements-questions-download
http://www.Amazon.comTemporarily out of stock.
Understanding Nonfunctional Requirements - 6
Session Learning Objectives
Understandthese vital, yet
overlookedrequirements
Classifycommon
nonfunctionalrequirements
Definenonfunctionalrequirements
What toExpect
Understanding Nonfunctional Requirements - 7
Nonfunctional Definition
Objective#1
Definenonfunctionalrequirements
#1
Understanding Nonfunctional Requirements - 8
Levels of Requirements
Business LevelDefines project scope.Identifies business benefitsand high-level objectives.
Focuses on business processesinformation and materials.
Names user roles and goals.User Level
Processing inputs and outputs.Defines functions, features,
and the environment.System Level
Levels
Understanding Nonfunctional Requirements - 9
Nonfunctional in Context
BusinessRequirements
UserRequirements
SystemRequirements
(Functional & Nonfunctional)
Sponsor point of view Scope of the project Business objectives User point of view User goals User inputs and
outputs Functional—what the
system does Nonfunctional—how
well the system does it
High-level
Detailed
Levels
Understanding Nonfunctional Requirements - 10
Oh No, Not Nonfunctional
FunctionalRequirements
NonfunctionalRequirements
Bucket1
Bucket2
“A nonfunctional requirement is anythingthat is not functional.” NOT!
Whatit’s NOT
Understanding Nonfunctional Requirements - 11
A Handful of Definitions
“Nonfunctional requirement – in software system engineering, a software requirement that describesnot what the software will do, but how the software will do it, for example, software performancerequirements, software external interface requirements, software design constraints, and softwarequality attributes. Nonfunctional requirements are difficult to test; therefore, they are usually evaluatedsubjectively.” [Thayer2000]
“Non-functional requirements – These are constraints on the services or functions offered by thesystem. They include timing constraints, constraints on the development process and standards.Non-functional requirements often apply to the system as a whole. They do not usually just apply toindividual system features or services.” [Sommerville2007]
“Non-functional requirement – A property, or quality, that the product must have, such as anappearance, or a speed or accuracy property.” [Robertson2003]
“Nonfunctional requirement – A description of a property or characteristic that a software system mustexhibit or a constraint that it must respect, other than an observable system behavior.” [Wiegers2003]
“Nonbehavioral requirements – Requirements that describe the required overall attributes of thesystem, including portability, reliability, efficiency, human engineering, testability, understandability, andmodifiability.” [Davis1993]
Example
Understanding Nonfunctional Requirements - 12
What if we removed…
General wordiness. Nonfunctional “examples.” “Descriptive” information that
doesn’t add value. Inclusion or reference to
“functional requirements.”
ScaledDown
Understanding Nonfunctional Requirements - 13
What Does It Really Mean?
…how the software will do it.
…constraints on the services or functionsoffered by the system....property, or quality, that the productmust have.…property that a software system mustexhibit or a constraint that it must respect.…required overall attributes of the system.
What’sleft?
Understanding Nonfunctional Requirements - 14
A Simplified Definition
NonfunctionalRequirement –
a specification ofhow well
a software systemmust function.
HowWell
Understanding Nonfunctional Requirements - 15
F Product features.F Describe the
actions with whichthe user work isconcerned.
F Characterized byverbs (active).
N Product properties.N Describe the
experienceof the user whiledoing the work.
N Characterized byadjectives.
Functional vs. Nonfunctional Differ
Understanding Nonfunctional Requirements - 16
Vital, Yet Why Overlooked?
Objective#2
Understand whynonfunctionalrequirements
are vital,yet overlooked
#2
Understanding Nonfunctional Requirements - 17
Importance of Nonfunctional
All functional requirements may be satisfied, but
if nonfunctionalrequirementsare overlooked,the systemwill fail.
NeedBoth
Understanding Nonfunctional Requirements - 18
Nonfunctional Challenges
No agreed upon formal definition. No complete list. No single universal
classification scheme. Different people and organizations
use different terminologies.
Don’tAgree
Understanding Nonfunctional Requirements - 19
Alternative Names
Quality Attributes. Quality Requirements. Nonbehavioral Requirements. “ilities” or “ities.” Spelled with or without a hyphen.
• Non-functional or Nonfunctional
ManyNames
Understanding Nonfunctional Requirements - 20
Nonfunctional Complexity
Relative
ComplexNature
Integrated
Subjective
Understanding Nonfunctional Requirements - 21
Nonfunctional Classification
Objective#3
Making sense ofnonfunctional
requirements witha user-focusedclassification
#3
Understanding Nonfunctional Requirements - 22
Access ControlAccessibilityAccountabilityAccuracyAdaptabilityAdditvityAdjustabilityAffordabilityAgilityAuditabilityAugmentabilityAutonomyAvailabilityBuffer Space*CapabilityCapacityClarityCode Space*CohesivenessCommonalityCompatibilityCompletenessComprehensibilityConceptualityConcisenessConfidentialityConfigurabilityConnectivityConsistency
ControllabilityCoordination CostCoordination TimeCorrectnessCouplingCustomer EvaluationCustomer LoyaltyCustomizabilityData Space*DecomposabilityDegradation of ServiceDependabilityDevelopment CostDevelopment TimeDistributivityDiversityEase of useEfficiencyElasticityEnhanceabilityEvolvailityExecution CostExtensibilityExternal ConsistencyFault ToleranceFeasibilityFlexibilityFormalityGenerality
Human EngineeringIndependenceInformativenessIntegrityInternal ConsistencyInteroperabilityIntuitivenessLearnabilityLeveragabilityMain Memory*MaintainabilityMaintenance CostMaintenance TimeMaturityMean PerformanceMeasurabilityMobilityModifiabilityModularityNaturalnessNomadicityObservabilityOff-Peak Period*OperabilityOperating CostPeak Period*PerformabilityPlanning CostPlanning Time
PortabilityPrecisionPredictabilityProcess Mgmt. TimeProductivityProject StabilityProject Tracking CostPromptnessQualityReconfigurabilityRecoverabilityRecoveryReliabilityRepeatabilityReplaceabilityReplicabilityResponse TimeResponsivenessRetirement CostReusabilityRisk Analysis CostRisk Analysis TimeRobustnessSafetyScalabilitySecuritySensitivitySimilaritySimplicity
Space BoundednessSpace PerformanceSpecificityStabilitySubjectivitySupportabilitySuretySurvivabilitySusceptibilitySustainabilityTanknessTestabilityThroughputTimelinessTraceabilityTrainabilityTransferabilityTransparencyUnderstandabilityUniform*UniformityUsabilityUser-FriendlinessValidityVariabilityVerifiabilityVersatilityVisibility*Performance
Overwhelmability? ScaryList?
Understanding Nonfunctional Requirements - 23
What are the User Needs?
Operation How well does the systemoperate for daily use bythe user?
Revision How easy is it to correcterrors and add functions?
Transition How easy is it to adapt tochanges in the technicalenvironment?
UserFocus
Understanding Nonfunctional Requirements - 24
A User-Focused Classification
Based on [McCall 1980] [Deutsch 1988] [Keller 1990]
UserFocus
User Concern Nonfunctional
How well is it safeguarded against unauthorized access? Access Security
How dependable is it during normal operating times? Availability
How fast, how many, and how well does it respond? Efficiency
How accurate and authentic is the data? Integrity
How immune is the system to failure? Reliability
How resilient is the system from failure? Survivability
How easy is it to learn and operate the system? Usability
How easy is it to modify to work in different environments? Flexibility
How easy is it to upkeep and repair? Maintainability
How easy is it to expand or upgrade its capabilities? Scalability
How easy is it to show it performs its functions? Verifiability
How easy is it to interface with another system? Interoperability
How easy is it to transport? Portability
How easy is it to convert for use in another system? Reusability
Ope
ratio
nR
evis
ion
Tran
sitio
n
Understanding Nonfunctional Requirements - 25
The extent to which the system issafeguarded against deliberateand intrusive faults from internaland external sources.
User concern• How well is the system
safeguarded againstunauthorized access?
Operation: Access Security
Understanding Nonfunctional Requirements - 26
The degree to which users candepend on the system to be up(able to function) during “normaloperating times.”
User concern• How dependable is
the system duringnormal operating times?
Operation: Availability
Understanding Nonfunctional Requirements - 27
The extent to which the softwaresystem handles capacity,throughput, and response time.
User concern• How fast does it process
(capacity)? How manyat a time (throughput)?Response time?
Operation: Efficiency
Understanding Nonfunctional Requirements - 28
Operation: Integrity
The degree to which the datamaintained by the software systemare accurate, authentic,and without corruption.
User concern• How accurate and
authentic are the data?
Understanding Nonfunctional Requirements - 29
The extent to which the softwaresystem consistently performs thespecified functions without failure.
User concern• How immune is
the system to failure?
Operation: Reliability
Understanding Nonfunctional Requirements - 30
The extent to which the softwaresystem continues to function andrecovers in the presence of asystem failure.
User concern• How resilient is
the systemfrom failure?
Operation: Survivability
Understanding Nonfunctional Requirements - 31
The ease in which the user is ableto learn, operate, prepare inputsand interpret outputs throughinteraction with a system.
User concern• How easy is it to
learn and operatethe system?
Operation: Usability
Understanding Nonfunctional Requirements - 32
The ease in which the softwarecan be modified to adapt todifferent environments.
User concern• How easy is it to
change and addnew features?
Revision: Flexibility
Understanding Nonfunctional Requirements - 33
The ease in finding and fixingfaults in the software system.
User concern• How easy is it
to upkeepand repairthe system?
Revision: Maintainability
Understanding Nonfunctional Requirements - 34
Revision: Scalability
The degree in which the softwaresystem is able to expand itsprocessing capabilities upward andoutward to support business growth.
User concern• How easy is it to
expand or upgradethe capabilitiesof the system?
Understanding Nonfunctional Requirements - 35
The extent to which tests,analysis, and demonstrations areneeded to prove that the softwaresystem will function as intended.
User concern• How easy is it
to show it performsits functions?
Revision: Verifiability
Understanding Nonfunctional Requirements - 36
Transition: Interoperability
The extent to which the softwaresystem is able to couple orfacilitate the interface with othersystems.
User concern• How easy is it
to interface withanother system?
Understanding Nonfunctional Requirements - 37
The ease in which a softwaresystem from its current hardwareor software environment can betransferred to anotherenvironment.
User concern• How easy is
it to transport?
Transition: Portability
Understanding Nonfunctional Requirements - 38
The extent to which a portion ofthe software system can beconverted for use in another.
User concern• How easy is it
to convert for usein another system?
Transition: Reusability
Understanding Nonfunctional Requirements - 39
Session Learning Objectives
Classifycommon
nonfunctionalrequirements
Understandthese vital, yet
overlookedrequirements
Definenonfunctionalrequirements
Recap
Understanding Nonfunctional Requirements - 40
Get Roxanne’s Book UsefulTool
Probing questionsto bring nonfunctional
requirements into focus;Proven techniques
to get the rightstakeholder involvement.
Understanding Nonfunctional Requirements - 41
2,000+ Suggested Questions UsefulTool
Sort and filter accordingto your needs.
Change thewording to suiteyour personal style.
Create customizedinterview guides thatyou can reuse fromproject to project.
Available only at www.RequirementsQuest.com
Understanding Nonfunctional Requirements - 42
Questions
®
Presented by: Roxanne E. Miller, CBAPwww.RequirementsQuest.com
ThankYou
Understanding Nonfunctional Requirements - 43
Understanding Nonfunctional Requirements - 44
Understanding Nonfunctional Requirements - 45
Understanding Nonfunctional Requirements - 46
Understanding Nonfunctional Requirements - 47
Understanding Nonfunctional Requirements - 48
Understanding Nonfunctional Requirements - 49
Understanding Nonfunctional Requirements - 50