software quality applied throughout sw engineering process encompasses ▫ analysis, design, coding,...

13
Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered testing strategy ▫ Control of Software documents ▫ Appliance to standards ▫ Measurement and reporting mechanisms

Upload: emmeline-walters

Post on 29-Dec-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Software Quality•Applied throughout SW Engineering Process•Encompasses▫Analysis, design, coding, testing, tools▫Formal tech reviews▫Multi-tiered testing strategy▫Control of Software documents▫Appliance to standards▫Measurement and reporting mechanisms

Page 2: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Definition•Conformance to explicitly stated functional and

performance requirements, explicit standards, and implicit characteristics expected of all professionally developed software▫Requirements are foundation▫Follow standards for development of software▫Implicit requirements (user-friendliness,

maintainability, etc.)

Page 3: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

11 Major Quality Factors•Correctness – meets specs and objectives•Reliability – perform intended function with

required precision (includes robustness)•Efficiency - amount of code and resources• Integrity – controlled access•Usability – effort required to learn/operate

Page 4: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Quality Factors cont.•Maintainability – ease locate/fix error•Flexibility (modifiability) – ease to modify

operational program•Testability – ease to test•Portability – works in other environments • Interoperability – works with other systems•Reusability – ease of reuse

Page 5: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Product Operation

Prod

uct R

evisi

onProduct Transition

MaintainabilityFlexibilityTestability

PortabilityReusability

Interoperability

Correctness Reliability Usability Integrity Efficiency

Page 6: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

History

•Sole responsibility of craftsman•1916 Bell Labs – 1st formal QA•1970s Military standards for SQA•SQA groups – in house representatives•ISO 9000-9001, SEI CMM

Page 7: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

7 Activities•Application of technical methods and tools (to

ensure QA)•Formal technical reviews•Software testing•Enforcement of standards to process•Control of change (configuration management)•Measurement (product and process)•Record keeping and reporting (information for

reviews, etc.)

Page 8: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Software Reviews

•Filter•Replace unit testing•Catch 75% of design flaws prior to coding•Reduces costs in subsequent steps

•Formal technical reviews (meeting of 4-5 people with roles, agenda,…)

•Inspections (outside group of people)

Page 9: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Software Quality Metrics•Measure a qualitative factor (efficiency,

maintainability, …etc.)•Quantitative assessment•Product Metrics •Examples: ▫IEEE Standard 982.1 (1988)▫ Air Force DSQI (Design structure quality index)▫Halstead’s metrics

Based on # operators and operands▫McCabe’s Cyclomatic Complexity (product metric)

V(G) = # regions in flowchart < 10 is upper limit

Page 10: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

DSQI:

▫S1 - #modules defined in program architecture▫S3 - #modules whose correct function depends on

prior processing▫D1 – 0 if no distinct method used to design, otw 1▫D2 – 1 – (S1/S2)▫DSQI = sum (w1*D1 ..w6*D6)

Page 11: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Metrics•Halstead’s product metrics

n1 - # distinct operators n2 - # distinct operands N1 - # of operators N2 - # of operands VERY primitive…haven’t been shown to be useful

•McCabe’s Cyclomatic Complexity (product metric) – ▫# regions in flowchart ▫V(G) – 10 is upper limit

Page 12: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Metrics

•Process metrics▫Number of defects found in review, testing, release▫Number of changes made to code to fix bug▫Number of modules changed to fix bug▫Rate at which bugs are found in testing…▫Etc…

•Software Maturity Index▫Based on # modules in current release and # modules

changed, added, deleted in current release

Page 13: Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered

Software Maturity Index

▫SMI = [ Mt – (Fa + Fc + Fd)] / Mt where Mt - # modules in current release Fc - modules changed in current release Fa - # modules added Fd - # modules deleted SMI = 1 is GOOD.