Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ceg860 (Prasad)L1SQ1 Software Quality Object-Oriented Programming Paradigm.

Similar presentations


Presentation on theme: "Ceg860 (Prasad)L1SQ1 Software Quality Object-Oriented Programming Paradigm."— Presentation transcript:

1 ceg860 (Prasad)L1SQ1 Software Quality Object-Oriented Programming Paradigm

2 ceg860 (Prasad)L1SQ2 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.

3 ceg860 (Prasad)L1SQ3 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”

4 ceg860 (Prasad)L1SQ4 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.

5 ceg860 (Prasad)L1SQ5 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.

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

7 ceg860 (Prasad)L1SQ7 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

8 ceg860 (Prasad)L1SQ8 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.

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

10 ceg860 (Prasad)L1SQ10 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)


Download ppt "Ceg860 (Prasad)L1SQ1 Software Quality Object-Oriented Programming Paradigm."

Similar presentations


Ads by Google