Information Systems Analysis and Design csc340 Information Systems Analysis and Design csc340 XII Non Functional Requirements or Quality Factors Non Functional Requirements NFRs NFRs What are Non Functional Requirements NFRs NFRs Classification of NFRs Criteria and Factors Portability Reliability Performance Performance Example NFR for an Automated Money Machine Define global constraints on a software system such as development costs operational costs performance reliability maintainability portability robustness etc Should not be confused with functional requirements requirements which impose requirements on the function of a system Are generally stated informally are often contradictory difficult to enforce during development and to evaluate for the customer prior to delivery How do we specify them 2003 John Mylopoulos Non Functional Requirements 1 Information Systems Analysis and Design csc340 2003 John Mylopoulos Information Systems Analysis and Design Types of NFRs Lifecycle requirements can be classified under two subcategories Quality of the design such as maintenability enhanceability portability expected market or product lifespan these don t affect initial system but may lead to increased maintenance costs or early obsolescence Limits on development other software lifecycle phases such as development time limitations resource availability methodological standards etc Economic requirements immediate and or long term costs Non Functional Requirements 3 Information Systems Analysis and Design csc340 2003 John Mylopoulos User User Concern Concern Quality QualityFactors Factors Performance Performance Resource utilization Resourceutilization utilization security security confidence confidence performance under performanceunder under adversity ease of use adversity ease of use ease of use efficiency efficiency integrity integrity integrity reliability reliability reliability survivability survivability usability usability Design Design Conform reqs Conformtotoreqs reqs easy easyto torepair repair verified verifiedperformance performance correctness correctness correctness maintenability maintenability maintenability verifiability verifiability verifiability Adaptation Adaptation Easy expand Easyto toexpand expand upgrade function or upgradefunction functionor or performance performance change interface change interface with withanother anothersystem system port use ininanother another port usein another application application expandability expandability flexibility flexibility interoperability interoperability interoperability portability portability reusability reusability Non Functional Requirements 4 Information Systems Analysis and Design Different Classification of NFRs Acquisition Concern AcquisitionConcern Concern 2003 John Mylopoulos csc340 Types of NFRs Interface requirements describe how the information system is to interface with its environment users and other systems include user interfaces and their qualities e g user friendliness Performance requirements describe performance constraints time space bounds bounds such as workloads response time throughput and available storage space e g system must handle 1 000 transactions per second reliability involving the availability of components and integrity of information maintained and supplied to the system e g system must have less than 1hr downtime per three months security security e g permissible information flows who can do what survivability survivability such as system will survive fire natural catastrophes Operating requirements include physical constraints size weight personnel availability skill level considerations accessibility for maintenance environmental conditions 2003 John Mylopoulos Non Functional Requirements 2 csc340 Factors and Criteria Factors are customer related concerns such as efficiency integrity reliability correctness survivability usability Criteria technical development oriented concerns such as anomaly management completeness consistency traceability visibility Each factor depends on a number of associated criteria e g correctness depends on completeness consistency traceability verifiability depends on modularity modularity self descriptiveness and simplicity Non Functional Requirements 5 2003 John Mylopoulos Page Non Functional Requirements 6 Information Systems Analysis and Design csc340 Information Systems Analysis and Design csc340 Factors vs Criteria Quality Quality Speed Speed Size Size X Ease Easeof ofUse Use X X X X X X 2003 John Mylopoulos Reliability Reliability Robustness Robustness X X X X X X X X X X X Portability Portability Non Functional Requirements 9 Information Systems Analysis and Design csc340 csc340 Metric Metric transactions sec transactions sec response responsetime time screen screenrefresh refreshtime time KBytes KBytes number numberof ofRAM RAMchips chips training trainingtime time number numberof ofhelp helpframes frames mean time to failure mean time to failure probability probabilityof ofunavailability unavailability rate rateof offailure failure availability availability time timeto torestart restartafter afterfailure failure percentage percentageof ofevents eventscausing causingfailure failure percentage percentageof oftarget dependent target dependentstatements statements number numberof oftarget targetsystems systems 2003 John Mylopoulos Non Functional Requirements 10 Information Systems Analysis and Design Portability csc340 Reliability Portability is the degree to which software running on one platform can easily be converted to run on another Reliability of a software system is defined as the ability of the system to behave consistently in a user acceptable manner when operating within the environment for which it was intended Portability is hard to quantify because it is hard to predict on what other platforms will the software be required to run Portability for a given software system can be enhanced by using languages operating systems and tools that are universally available and standardized such as FORTRAN COBOL or C for languages or such as Unix Windows or OS 2 operating systems Portability requirements should be given priority for systems that may have to run on different platforms in the near future 2003 John Mylopoulos Non Functional Requirements 8 Quality Metrics X X Adaptation Information Systems Analysis and Design Design Adaptation X Flexibility Flexibility Adaptation Applic independence Augmentability Commonality Doc accessibility
View Full Document
Unlocking...