contents
play

Contents Introduction Introduction Software Development - PowerPoint PPT Presentation

Contents Introduction Introduction Software Development Processes Software Development Processes Project Management Project Management Requirements Engineering Requirements Engineering Software


  1. Contents � Introduction Introduction � � Software Development Processes Software Development Processes � � Project Management Project Management � � Requirements Engineering Requirements Engineering � � Software Construction Software Construction � � Group processes Group processes � � Quality Assurance � What is Quality Assurance? � Testing (Lecture 7) � Planning Quality and Inspections (Lecture 8) � Software Management and Evolution 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  2. Last Time 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  3. Today - Quality Assurance � What is Quality Assurance? � What is Quality? 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  4. What is Quality Assurance? QA is the combination of planned and unplanned activities to ensure the fulfillment of predefined quality standards. � Constructive vs. analytic approaches to QA � Qualitative vs. quantitative quality standards � Measurement � Derive qualitative factors from measurable quantitative factors � Software measures (metrics) 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  5. Some Example Metrics � To measure efficiency � Time behaviour • Transactions per second • Response time • Screen refresh time � Resource behaviour • KBytes of executables • LOC • Number of processors � To measure usability � Training time � Number of help frames 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  6. Some Example Metrics (cont.) � To measure reliability � MTTF (Mean Time To Failure) � Availability � To measure robustness � Time to restart after a failure � Probability of data corruption on failure � To measure portability � Number of target systems � Percentage of target dependent statements � Measurement is necessary 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  7. How To Measure Quality? subjective Efficiency Quality Factor properties depends on Speed Property/ Property/ Property/ Criteria Criteria Criteria Size determined by Response time in s objective Metric Metric Metric LOC measurements ... 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  8. Approaches to QA � Constructive Approaches The usage of methods, languages, and tools that ensure the fulfillment of some quality factors. � Syntax-directed editors � Enforced coding guidelines � Type systems � Standards � … 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  9. Standards � Two types of standards � Product � Process � Standards are important � Based on experience � A framework for implementing the quality assurance process � Assist in continuity 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  10. Standards (cont.) � How to follow them � Involve the software engineers � Review and modify regulary � Provide software tools to support standards � It takes time to develop standards � Base organisational standars on national and international standards • ISO 9000, ... � Documentation standards � Documentation process standards � Document standards � Document interchange standards 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  11. Approaches to QA (cont.) � Software Process Improvement The improvement of development processes to yield better products 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  12. Approaches to QA (cont.) � Analytic approaches The usage of methods, languages, and tools to observe the current quality level. � Inspections � Static analysis tools (e.g. lint) � Testing � ... 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  13. Quality is ... � … I know it when I see it � … it suits the client/user � … it conforms to the specification � … it has some inherent quality � … it depends on the price � … it depends on the delivery date 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  14. And Quality is … Sponsor User Functionality Low costs Efficiency Easy to learn I ncreased productivity Easy to remember Short time of delivery Reliability Easy to use Flexibility Few errors Readable code Good design Good documentation Maintainer/modifier

  15. Quality Factors (ISO 9126) Suitability Accuracy Functionality Interoperability Security Maturity Reliability Fault tolerance Recoverability Understandability Usability Learnability Operability Time behavior Efficiency Resource behavior Analyzability Changeability Maintainability Stability Testability Adaptability Installability Portability Conformance Replaceability

  16. The Quality Triangle � Different goals for different projects and Lead time organizations (close delivery time) � Medical equipment � ATM � Text editor � ”Good Enough” Software � Quality must be Functionality Quality measured goal- (number of “features”) (absense of errors) oriented 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  17. Error vs. Fault vs. Failure ?! can lead to can lead to human error fault failure � Different types of faults � Different identification techniques � Different testing techniques � Fault prevention and -detection strategies should be based on expected fault profile � Individual differences 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  18. HP’s Fault Classification Fault origin: WHERE? Specification/ Environment/ Documen- Design Code Other requirements support tation Fault type: WHAT? Requirements HW interface (Inter-)Process Logic Test HW or communications specifications SW interface Computation Test SW Data definition Functionality User interface Data handling Integration SW Module design Functional Module Development description Logic interface/ tools description implementation Error checking Standards Standards Missing Unclear Wrong Changed Better way Fault mode: WHY?

  19. Fault Profile of a HP Division 6% 11% Data handling Documentation Requirements 19% Hardware 18% Process/ interprocess Logic 5% Computation Other code 4% 5% 32% See [Pfleeger 98]. 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  20. Improving Quality Resources Products Processes � Personnel � Code � Methods � Tools � Design � Management � Budget � Requirements � Accounting � ... � ... � ... Ordinary testing Easy to measure 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  21. The Message Quality is relative Quality covers more than just code Establish a quality culture 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  22. Summary � What is Quality Assurance? � What is Quality? 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

  23. Next time � Introduction Introduction � � Software Development Processes Software Development Processes � � Project Management Project Management � � Requirements Engineering Requirements Engineering � � Software Construction Software Construction � � Group processes Group processes � � Quality Assurance � What is Quality Assurance? What is Quality Assurance? � � Testing (Lecture 7) � Planning Quality and Inspections (Lecture 8) � Software Management and Evolution 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Recommend


More recommend