Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi.

Similar presentations


Presentation on theme: "Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi."— Presentation transcript:

1 Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi

2 Abstract Software engineering metrics is an important feature in the software management functions of project planning and project evaluation. Object oriented programming requires a different approach in design and implementation than that in structured programming. As objects are the fundamental building blocks for the object oriented programming rather than algorithm, the approach of software engineering metrics for the object oriented environment should be different from the functional programming environment. Metrics developed for structured programming do not account for these new relationships and may be insufficient for use in object oriented environment. In this context, this paper discusses software engineering metrics for the object oriented development environment.

3 Basic Concept ‘Software’ refers to a program and all of the associated information and materials needed to support its installation, operation, repair and enhancement [1]. ‘Software engineering’ refers to the disciplined applications of engineering, scientific and mathematical principles and methods to the economical production of quality software [1,2]. The field of software engineering was born in 1968 in response to the chronic failures of large software projects to meet schedule and budget constraints [2]. Software engineering process constitutes of – (1) requirement, (2) analysis, (3) design, (4) implementation, and (5) test work flows.

4 Need Object oriented programming is a popular concept in today’s software development environment. To evaluate the quality of the object oriented software, we need to assess and analyze its design and implementation using appropriate metrics and evaluation techniques [3]. The availability of the software metric helps manager to control the various activities of the development life cycle and contributes to the overall objective of software quality.

5 Characteristics Software engineering metric provides measurement which is an ideal mechanism for characterizing, evaluating, predicting, and providing motivation for the various aspects of software construction processes and products [4]. Using the software metric, understanding of both the product and the construction process is achieved if measurements are taken on both the software processes and the various software products [4, 5]. This helps in improving the quality of the product. Most aspects of software processes and products are too complicated to be captured by a single metric. For definition and interpretation purposes, a set of metrics that frame the purpose for measurement needs to be defined [4]

6 Importance Software engineering metric helps in [3] – –(1) identification of ‘hidden’ problems in earlier stages, –(2) effective control of quality, and –(3) providing the most comprehensive solution to the problem of evaluating the benefits of technological migration or evaluation

7 Metrics This paper demonstrates the candidate metrics derived by Morris [6] for productivity measurement while making observations on object oriented code

8 List of Metric List of software engineering metrics for object oriented environment derived by Morris [6] are as follows – (1) Methods per class, (2) Inheritance dependencies, (3) Degree of coupling between objects, (4) Degree of cohesion of objects, (5) Object library effectiveness, (6) Factoring effectiveness, (7) Degree of reuse of inheritance methods, (8) Average method complexity, (9) Application granularity.

9 Methods per class [6] Addition of a method to an object increases the size of the object. Thus, the larger number of methods per object complicates testing due to the increased object size and complexity.

10 Inheritance dependencies [6] In the context of reusability, inheritance tree depth is likely to be more favorable than the inheritance tree breadth. But in terms of testing, deep inheritance is difficult to test.

11 Degree of coupling between objects [6] In the context of reusability, the higher the degree of object independence the more likely the object will be suitable for reuse within the same applications and within other applications. Testing is likely to degrade with the higher the degree of coupling between objects as object interactions and interconnections are more complex.

12 Degree of Cohesion of Objects [6] In the context of reusability, the objects which are less dependent on other objects are likely to be more reusable. Though, in terms of reliability low degree of cohesion adds complexity which can translate into a reduction in application reliability

13 Average method complexity [6] In terms of reliability, greater method complexity adversely affects the application reliability. In terms of testing, greater method complexity is difficult to test

14 Degree of reuse of inheritance methods [6] Simply defining methods in such a way that they can be reused via inheritance does not guarantee that those methods are actually reused.

15 Conclusion Application of software engineering metrics to software development results in developing a clearer picture of system with regard to whether the notion of the object oriented programming has been fully applied to the best of its capabilities

16 References [1] Humphrey, W.S., The Software Engineering Process: Definition and Scope. The Mythical Man-Month. 1975: Addison Wesley. [2] Carlo Ghezzi, Mehdi Jazayeri, and D. Mandrioli, Fundamentals of Software Engineering. [3] Sherif M. Yacoub, Hany H. Ammar, and T. Robinson, Dynamic Metrics for Object Oriented Designs. [4] Victor R. Basili and H.D. Rombach, The TAME Project: Towards Improvement -Oriented Software Environments. IEEE Transactions of Software Engineering, June 1988. 14(6). [5] Agresti, W. SEL Ada experiment: Status and design experience. in Eleventh Annu. Software Engineering Workshop. Dec. 1986. NASA Goddard Space Flight Center, Greenbelt, MD. [6] Morris, Metrics for Object-Oriented Software Development Environments, in Master's Thesis, Sloan School of Management. 1989, M. I. T.


Download ppt "Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi."

Similar presentations


Ads by Google