1 / 10

Software Quality

Software Quality. Object-Oriented Programming Paradigm. External vs Internal Factors. External Quality Factors User/Client perspective Correctness, Speed, Ease of use, etc Internal Quality Factors Designer / Implementer perspective Modularity, Readability, etc

madge
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 Object-Oriented Programming Paradigm L1SQ

  2. External vs Internal Factors • External Quality Factors • User/Client perspective • Correctness, Speed, Ease of use, etc • Internal Quality Factors • Designer / Implementer perspective • Modularity, Readability, etc Internal Quality is a means to achieve External Quality. L1SQ

  3. External Factors • Correctness The ability of software products to perform their exact task, as defined by their specification. • Robustness The ability of software systems to react appropriately to abnormal conditions. Robustness ~ “Stability” Reliability ~ “Degree of Confidence” L1SQ

  4. Extendibility The ease of adapting software products to changes of specification (cf.Debugging). • E.g., Browser Plug-ins. • Reusability (cf.code sharing) The ability of software components to serve for the construction of many different applications. • E.g., Programming APIs. • Compatibility (compositionality) The ease of combining software components. • E.g., Java Beans, XML. L1SQ

  5. Efficiency The ability of software system to place as few demands as possible on computer resources. • Portability The ease of transferring software products to various hardware and software environments. • Ease of use Ease with which people of various backgrounds and qualifications can learn to use software products and apply them to solve problems. L1SQ

  6. Software Maintenance • Lientz and Swanson study • Changes in User Requirements (42%) • Changes in Data Formats (18%) • Emergency Fixes (12%) • Routine Fixes (9%) • Efficiency Improvements (4%) • Others ... L1SQ

  7. Programming Paradigm A way of conceptualizing what it means to perform computation and how tasks to be carried out on the computer should be structured and organized. • Imperative : Machine-model based • Functional : Equations; Expression Evaluation • Logical : First-order Logic Deduction • Object-Oriented : Programming with Data Types L1SQ

  8. Expressive Power vs Naturalness Object-oriented techniques do not provide any new computational power that permits problems to be solved that cannot, in theory, be solved by other means (Church-Turing Hypothesis). But object-oriented techniques do make it easier and more natural to address problems in a fashion that tends to favor the management of large software projects. L1SQ

  9. Example of OOP Style • Task : Send flowers to Y : Call local florist F and request to send flowers to Y’s address. • Object (“server”) • Message and Arguments (“behavior”) • Agent F: Call florist G in Y’s town and pass on the request. • Method (“interpretation of message”) • Delegation • Information Hiding L1SQ

  10. Florists F and G : sell/send flowers • Class and instance • Calling Agent F: Knows English • Inheritance (“ISA”) • The florist F is an American. • Agent F: If Y lives in France, make an international call and speak in French. • Method Overloading • Resolved using type of address (foreign or local). • Receivers : Florist, Friend, or Delivery man • Polymorphism • Dynamic binding (of method to a message) L1SQ

More Related