Page ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 1XII. Non-Functional RequirementsXII. Non-Functional Requirements(or, Quality Factors)(or, Quality Factors)What are Non-Functional Requirements (What are Non-Functional Requirements (NFRsNFRs)?)?Classification ofClassification of NFRs NFRsCriteria and FactorsCriteria and FactorsPortability, Reliability, PerformancePortability, Reliability, PerformanceExample NFR for an Automated Money MachineExample NFR for an Automated Money MachineInformation Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 2Non-Functional RequirementsNon-Functional Requirements((NFRsNFRs)) Define global constraints on a software system, such asdevelopment costs, operational costs, performance, reliability,maintainability, portability, robustness etc. Should not be confused with functional requirementsfunctional requirements, whichimpose requirements on the function of a system Are generally stated informally, are often contradictory, difficult toenforce during development and to evaluate for the customer prior todeliveryHow do we specify them?How do we specify them?Information Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 3Types of Types of NFRsNFRsInterface requirementsInterface requirements -- describe how the information system isto interface with its environment, users and other systems; includeuser interfaces and their qualities (e.g., "user-friendliness")Performance requirementsPerformance requirements -- describe performance constraints:time/space boundstime/space bounds, such as workloads, response time,throughput and available storage space, e.g., "system musthandle 1,000 transactions per second");reliabilityreliability involving the availability of components and integrityof information maintained and supplied to the system, e.g.,"system must have less than 1hr downtime per three months"securitysecurity, e.g., permissible information flows, who can do what;survivabilitysurvivability, such as system will survive fire, naturalcatastrophes.Operating requirementsOperating requirements -- include physical constraints (size,weight), personnel availability, skill level considerations,accessibility for maintenance, environmental conditions...Information Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 4Types of Types of NFRsNFRsLifecycle requirements Lifecycle requirements -- can be classified under two sub-categories: Quality of the design, such as maintenability, enhanceability,portability; expected market or product lifespan,...(these don'taffect initial system but may lead to increased maintenancecosts or early obsolescence.) Limits on development, other software lifecycle phases, suchas development time limitations, resource availability,methodological standards etc.Economic requirements Economic requirements -- immediate and/or long-term costs.Information Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 5Acquisition Concern User Concern Quality FactorsPerformance Resource utilization efficiencysecurity, confidence, integrityperformance under reliabilityadversity, ease-of-use survivabilityusabilityDesign Conform to reqs?... correctnesseasy to repair?... maintenabilityverified performance? verifiabilityAdaptation Easy to expand? expandability...upgrade function or flexibilityperformance? interoperability...change?...interface portabilitywith another system? reusability...port?...use in anotherapplication?Acquisition ConcernAcquisition Concern User ConcernUser Concern Quality FactorsQuality FactorsPerformancePerformance Resource utilizationResource utilization efficiencyefficiencysecurity, confidence,security, confidence, integrityintegrityperformance underperformance under reliabilityreliabilityadversity, ease-of-useadversity, ease-of-use survivabilitysurvivabilityusabilityusabilityDesignDesign Conform toConform to reqs reqs?...?... correctnesscorrectnesseasy to repair?...easy to repair?... maintenabilitymaintenabilityverified performance?verified performance? verifiabilityverifiabilityAdaptationAdaptation Easy to expand?Easy to expand? expandabilityexpandability...upgrade function or...upgrade function or flexibilityflexibilityperformance?performance? interoperabilityinteroperability...change?...interface...change?...interface portabilityportabilitywith another system?with another system? reusabilityreusability...port?...use in another...port?...use in anotherapplication?application?(Different) Classification of (Different) Classification of NFRsNFRsInformation Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 6Factors and Criteria FactorsFactors are customer-related concerns, such as efficiency,integrity, reliability, correctness, survivability, usability,... CriteriaCriteria -- technical (development-oriented) concerns such asanomaly management, completeness, consistency, traceability,visibility,... Each factor depends on a number of associated criteria, e.g.,correctnesscorrectness depends on completenesscompleteness, consistencyconsistency, traceabilitytraceability,...verifiabilityverifiability depends on modularitymodularity, self-descriptivenessself-descriptiveness and simplicitysimplicityPage ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 7(…A Year ago…)Canada - USA 5-2 Information Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 8EfficiencyIntegrityReliabilitySurvivabilityUsabilityCorrectnessVerifiabilityFlexibilityPortabilityReusabilityAccuracyAnomaly MngtAutonomyDistributednessEffectiveness storageOperabilitySystem accessibilityTrainingCompletenessConsistencyTraceabilityVisibilityXXXXXXXXXXXXXFactorsCriteriaPerformance Design AdaptationPerformanceDesignfactorsfactors -- customer-related concernscriteriacriteria -- technicalconcernsFactorsFactors vs vs Criteria CriteriaInformation Systems Analysis and Design csc3402003 John Mylopoulos Non-Functional Requirements -- 9Applic. independenceAugmentabilityCommonalityDoc. accessibilityFunctional overlapFunctional
View Full Document