1 / 31

Software Quality

Software Quality. Ranga Rodrigo. Learning Outcomes. Demonstrate competency in the use of a representative secure programming language: Eiffel. Be able to analyze programs and programming languages to identify sources of insecurity.

donald
Download Presentation

Software Quality

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Quality Ranga Rodrigo

  2. Learning Outcomes • Demonstrate competency in the use of a representative secure programming language: Eiffel. • Be able to analyze programs and programming languages to identify sources of insecurity. • Be able to identify and critically evaluate language features which address common sources of insecurity. • Demonstrate a knowledge of case history of, and the resulting lessons learned, from disasters involving software error. • Apply and evaluate quality measurement in software development.

  3. Evaluation

  4. Secure Languages • This module addresses aspects of the question of how to write software that we can depend on. • Studying disasters due to software failure will help us make progress by learning from mistakes.

  5. Secure • The word secure refers to the contribution that programming language design can make to writing applications which are robust and correct. • C is insecure: • Type conversations not checked by the compiler. • Extensive use of dynamically allocated storage and pointers.

  6. Aspects Supporting Dependable Software

  7. Eiffel

  8. External and Internal Factors

  9. External and Internal Factors • In the end, only external factors matter. If I use a web-browser or live near a computer-controlled nuclear plant , little do I care whether the source program is readable or modular ,if graphics take ages to load, or if a wrong input blows up the plant. • Key to achieving external factors is through the internal ones.

  10. External Factors

  11. External Factors

  12. Robustness and Correctness • Robustness complements correctness.

  13. External Factors

  14. Improving Extendibility

  15. External Factors

  16. External Factors

  17. External Factors

  18. Efficiency • Assume that there is a new machine twice as fast as the old. • Let n be the size of the problem to solve, and N the maximum n that can be handled by a certain algorithm in a given time. • Then if the algorithm in O(n), the new machine will allow us to handle problems of sixe 2N for large N. • For an algorithm in O(n2) the new machine will only yield 41% increase of N. • An algorithm in O(2n) would just add one to N.

  19. External Factors

  20. External Factors

  21. External Factors

  22. External Factors

  23. Tradeoffs

  24. Tradeoffs

  25. Tradeoffs

  26. Tradeoffs

  27. Software Maintenance • This consumes a large portion of software costs. • Maintainability is not given as a quality factor because this problem is addressed by developing quality software. • Object oriented technology helps achieve this.

  28. Four Important Qualities

More Related