software quality l.
Skip this Video
Loading SlideShow in 5 Seconds..
Software Quality PowerPoint Presentation
Download Presentation
Software Quality

Loading in 2 Seconds...

play fullscreen
1 / 10

Software Quality - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software quality

Software Quality

Object-Oriented Programming Paradigm


external vs internal factors
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.


external factors
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”



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.



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.


software maintenance
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 ...


programming paradigm
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


expressive power vs naturalness
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.


example of oop style
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


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)