U-M CIS 375 - Software Quality
Course Cis 375-
Pages 25

Unformatted text preview:

Software QualitySoftware Quality PrinciplesMcCall’s Quality FactorsSlide 4McCall’s Software MetricsFURPS Quality FactorsISO 9126 Quality FactorsMeasurement Process - 1Measurement Process - 2Technical Metric FormulationSoftware Metric AttributesRepresentative Analysis MetricsSpecification Quality Metrics - 1Specification Quality Metrics - 2Representative Design Metrics - 1Representative Design Metrics - 2Halstead’s Software Science Source Code MetricsTesting MetricsEstimating Number of Errors Error Seeding - 1Estimating Number of Errors Error Seeding – 2Estimating Number of Errors Error Seeding – 3Software ConfidenceConfidence ExampleFailure IntensityMaintenance Metrics Software Maturity Index1Software QualityCIS 375Bruce R. MaximUM-Dearborn2Software Quality Principles•Conformance to software requirements is the foundation from which quality is measured.•Specified standards define a set of development criteria that guide the manner in which software is engineered.•Software quality is suspect when a software product conforms to its explicitly stated requirements and fails to conform to the customer's implicit requirements (e.g. ease of use).3McCall’s Quality Factors•Product Operation–Correctness–Efficiency–Integrity–Reliability–Usability•Product Revision–Flexibility–Maintainability–Testability•Product Transition–Interoperability–Portability–Reusability4McCall’s Quality Factors5McCall’s Software Metrics•Auditability•Accuracy•Communication commonality•Completeness•Consistency•Data commonality•Error tolerance•Execution efficiency•Expandability•Generality•Hardware independence•Instrumentation•Modularity•Operability•Security•Self-documentation•Simplicity•Software system independence•Traceability•Training6FURPS Quality Factors•Functionality•Usability•Reliability•Performance•Supportability7ISO 9126 Quality Factors•Functionality•Reliability•Usability•Efficiency•Maintainability•Portability8Measurement Process - 1•Formulation–derivation of software measures and metrics appropriate for software representation being considered•Collection–mechanism used to accumulate the date used to derive the software metrics•Analysis–computation of metrics9Measurement Process - 2•Interpretation–evaluation of metrics that results in gaining insight into quality of the work product•Feedback–recommendations derived from interpretation of the metrics is transmitted to the software development team10Technical Metric Formulation•The objectives of measurement should be established before collecting any data.•Each metric is defined in an unambiguous manner.•Metrics should be based on a theory that is valid for the application domain.•Metrics should be tailored to accommodate specific products and processes11Software Metric Attributes•Simple and computable•Empirically and intuitively persuasive•Consistent and objective•Consistent in use of units and measures•Programming language independent•Provides an effective mechanism for quality feedback12Representative Analysis Metrics•Function-based metrics•Bang metric–function strong or data strong•Davis specification quality metrics13Specification Quality Metrics - 1nn = nf + nnf nn = requirements & specification .nf = functional .nnf = non-functional .Specificity, Q1 = nai/qrnai = # of requirements with reviewer agreement.14Specification Quality Metrics - 2Completeness, Q2 = nu / (ni * ns) nu = unique functions.ni = # of inputs.ns = # of states.Overall completeness, Q3 = nc / (nc + nnv)nc = # validated & correct.nnv = # not validated.15Representative Design Metrics - 1•Architectural design metrics–Structural complexity (based on module fanout)–Data complexity (based on module interface inputs and outputs)–System complexity (sum of structural and data complexity)–Morphology (number of nodes and arcs in program graph) –Design structure quality index (DSQI)16Representative Design Metrics - 2•Component-level design metrics–Cohesion metrics (data slice, data tokens, glue tokens, superglue tokens, stickiness)–Coupling metrics (data and control flow, global, environmental)–Complexity metrics (e.g. cyclomatic complexity)•Interface design metrics (e.g. layout appropriateness)17Halstead’s Software ScienceSource Code Metrics•Overall program length•Potential minimum algorithm volume •Actual algorithm volume–number of bits used to specify program•Program level–software complexity•Language level–constant for given language18Testing Metrics•Metrics that predict the likely number of tests required during various testing phases•Metrics that focus on test coverage for a given component19Estimating Number of ErrorsError Seeding - 1(s / S) = (n / N) S = # of seeded errorss = # seeded errors foundN = # of actual errorsn = # of actual errors found so far20Estimating Number of ErrorsError Seeding – 2E(1) = (x / n) = (# of real errors found by 1/ total # of real errors) =q / y = (# errors found by both / # real errors found by 2)E(2) = (y / n) = q / x = (# real errors found by both / # found by 1)n = q/(E(1) * E(2))21Estimating Number of ErrorsError Seeding – 3Assumex = 25y = 30q = 15E(1) = (15 / 30) = .5E(2) = (15 / 25) = .6n = [15 / (.5)(.6)] = 50 errors22Software ConfidenceS = # of seeded errors.N = # of actual errors.C (confidence level) = 1 if n > NC (confidence level) = [S / (S – N + 1)] if n <= NExample: N = 0 and S = 10C = 10/(10 – 0 + 1) = 10/11  91%23Confidence ExampleHow many seeded errors need to be used and found to have a 90% confidence a program is bug free?N = 0C = S/(S – 0 + 1) = 98/100Solving for SS = 4924Failure Intensity•Suppose that intensity is proportional to # of faults or errors present at the start of testing.–function A has 90% of duty time–function B has 10% of duty time•Suppose there are 100 total errors50 in A, 50 in B(.9)50K + (.1)50K = 50K(.1)50K = 5Kor (.9)50k = 45K25Maintenance MetricsSoftware Maturity IndexSMI = [Mt = (Fa + Fc + Fd)]/MtMt = number of modules in current release.Fa = modules added.Fc = modules changed.Fd = modules deleted.•SMI approaches 1.0 as product begins to


View Full Document

U-M CIS 375 - Software Quality

Course: Cis 375-
Pages: 25
Download Software Quality
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Quality and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Quality 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?