Software Maintainability and Reusability using Cohesion Metrics

  IJCTT-book-cover
 
International Journal of Computer Trends and Technology (IJCTT)          
 
© 2017 by IJCTT Journal
Volume-54 Number-2
Year of Publication : 2017
Authors : Adekola, O.D, Idowu, S.A, Okolie, S.O, Joshua, J.V, Akinsanya, A.O, Eze, M.O, EbiesuwaSeun
  10.14445/22312803/IJCTT-V54P111

MLA

Adekola, O.D, Idowu, S.A, Okolie, S.O, Joshua, J.V, Akinsanya, A.O, Eze, M.O, EbiesuwaSeun "Software Maintainability and Reusability using Cohesion Metrics". International Journal of Computer Trends and Technology (IJCTT) V54(2):63-73, December 2017. ISSN:2231-2803. www.ijcttjournal.org. Published by Seventh Sense Research Group.

Abstract -
Among others, remarkable external quality attributes of interest to software practitioners/ engineers include testability, maintainability and reusability.Software engineers still combat softwarecrisis and even chronic software affliction not because there is no standardized software development process but because enough attention is not given to seemingly insignificant but crucial details of internal design attributes such as cohesion and coupling especially in object-oriented systems. Consequently, the aftermath is increased maintenance cost, effort and time which negatively plague both the developers and users community. Also, reusability being an important part of quality design and time-to-market is equally affected. This work addresses how to use internal attribute as cohesion could improve software maintainability and reusability. This research also addresses general design principles of object-oriented and other reuse-oriented systems.

References
1. Ahn, Y., Suh, J., Kim, S., & Kim, H. (2003). The Software Maintenance Project Effort Estimation Model Based on Function Points. Journal of Software Maintenance Evolution: Research and Practice, 15, 71-85.
2. Allen, H. (2005). Introduction to Object-Oriented Analysis and Design. Best Software Canada Ltd. Printed in Canada 8920 Woodbine Ave. Suite 400.
3. Antovski, L., &Florinda, I. F. (2013). Review of Software Reuse Processes. IJCSI,International Journal of Computer Science Issues, www.IJCSI.org, 10(6), 83-88.
4. Badri, L., &Badri, M., (2004). A Proposal of a New Class Cohesion Criterion: An Empirical Study. Journal of Object Technology, Published by ETH Zurich, Chair of Software Engineering, JOT, 3(4).
5. Basili, V. R., Briand, L. C., &Melo, W. L., (1996). How Reuse Influences Productivity in Object-Oriented Systems. Communication of the ACM, 39(10), 104-116.
6. Beck, F., & Diehl, S., (2011). On the Congruence of Modularity and Code Coupling. Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ACM, NY, USA, 354-364
7. Berander, P., Damm, L., Eriksson, J., Gorschek, T., Henningsson, K., Jönsson, P., Kågström, S., Milicic, D., Mårtenssonn, F., Rönkkö, K., &Tomaszewski, P. (2005). Software quality attributes and trade-offs. Blekinge Institute of Technology.
8. Bhatnagar, V., & Kumar, A., (2014). Prospective of Software Reusability. International Journal of Application or Innovation in Engineering & Management (IJAIEM),3(1), 411-414.
9. Bunge, M. (1972). Treatise on Basic Philosophy: Ontology II: The World of Systems. Riedel, Boston, USA.
10. Chawla, J. (n.d.). Cohesion and Coupling. Retrieved from https://www.slideshare.net/jagneshchawla/cohesion-coupling.
11. Chidamber, S. R., &Kemerer, C. F., (1994). A Metrics suite for object Oriented Design. IEEE Transactions on Software Engineering,20(6), 476-493.
12. Computerworld, Software Reuse Plans Bring Pay backs, Computer world, 27(49), 73-76. Anthes, Gary I.
13. Crnkovic, I., & Larsson, M. (2002). Building Reliable Component-Based Software Systems. Boston, London: ArtechHouse.
14. Dallal, J. A., & Briand, L., (2009). A Precise Method-Method Interaction-Based Cohesion Metric for object-oriented classes. ACM Transaction on Software Engineering and Methodology (TOSEM). TR, Simula Research Laboratory.
15. Dallal, J. A. (2011). Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics. IEEE Transactions on Software Engineering,37(6), 788-804.
16. Dhanvani, J. (2013). Difference between Cohesion and Coupling. Retrieved from http://freefeast.info/difference-between/difference-between-cohesion-and-coupling-cohesion-vs-coupling
17. Ezran, M., Morisio, M., & Tully, C. (2002), Practical Software Reuse. Springer, 374.
18. Fenton, N., &Pfleeger, S. (2010). Software metrics: A rigorous and practical approach (2nd ed.). Boston, MA: PSW Publishing.
19. Frakes, W. B., & Kang, K. (2005). Software Reuse Research: Status and Future. Journal IEEE Transactions on Software Engineering, 31(7), 529-536.
20. Garcia, A. (2014). Framework for Software Measurement Validation. Departamento de Informática PUS research group.
21. Girish, K. K. (2014). Conceptual Cohesion of Classes (C3) Metrics. International Journal of Science and Research (IJSR) ISSN (Online) 2319-7064.
22. Goldberg, A., & Rubin, K. S. (1995). Succeeding with objects: Decision frameworks for project management. Boston, MA, USA: Addison-Wesley.
23. Kaur, M., & Kaur, R. (2015). Improving the Design of Cohesion and Coupling Metrics for Aspect Oriented Software Development. International Journal of Computer Science and Mobile Computing, IJCSMC, 4(5), 99 – 106.
24. Liskov, B. &Guttag, J. (2000). Program development in Java: Abstraction, specification, and object-Oriented design (1st ed.). Addison-Wesley Professional.
25. Mal, S., &Rajnish, K. (2014). New Class Cohesion Metric: An Empirical View. International Journal of Multimedia and Ubiquitous Engineering,9(6), 367-376.
26. Martin, R. C. (2012). Clean code: A handbook of agile software craftsmanship (1st ed.). Upper Saddle River, NJ, Boston: Prentice Hall.
27. McCabe T. J. (1976). "A Complexity Measure". IEEE Transactions on Software Engineering: 308–320.
28. Michura, J., Capretz, M, & Wang, S. (2013). Extension of Object-Oriented Metrics Suite for Software Maintenance.Hindawi Publishing Corporation ISRN Software Engineering, 2013(276105),
29. Okike, E. U., &Osofisan, A. (2008). An Evaluation of Chidamber and Kermerer’s Lack of Cohesion in Methods Metric Using Different Normalization Approaches. Afr. J. comp. & ICT,1(2), 35- 43.
30. Okike, E. U. (2010a). A Pedagogical Evaluation and Discussion about the Lack of Cohesion in methods (LCOM) Metric Using field Experiment. International Journal of Computer Science Issues, 7(2), 36-43.
31. Okike, E. U. (2010b). A Proposal for Normalized Lack of Cohesion in Method (LCOM) Metric Using Field Experiment. IJCSI International Journal of Computer Science Issues, 7(4),
32. Okike, E. U., &Rapo, M., (2015). Using Cohesion and Capability Maturity Model Integration (CMMI) as Software Product and Process Quality criteria: A case study of Software Engineering practice in Botswana. International Journal of Computer Science and Information Security (IJCSIS),13(12), 140-149.
33. Pressman, R. S., & Maxim, B. R. (2015). Software engineering: A practitioner's approach (8th ed.). McGraw-Hil
34. Sommerville, I. (2011). Software engineering (9thed.). New York: Addison Wesley.
35. Shumway, M. F. (1997). Measuring Class Cohesion in Java. (Masters dissertation, Computer Science Department, Colorado State University, Technical Report CS-97-113.
36. Suresh, G. R., (2011). Strategies for Deploying Reusable Software Components. International Journal of Graphics & Image Processing, www.ifrsa.org, 2(4), 264-273.
37. Suresh, Y., Pati, J., & Ku, R. S. (2012). Effectiveness of Software Metrics for Object-Oriented System. SecondInternational Conference on Communication, Computing & Security [ICCCS-2012], Department of Computer Science and Engineering, National Institute of Technology, Rourkela, India, Procedia Technology, 6(2012), 420–427.
38. Wang, J. A. (2000). Towards Component-Based Software Engineering. Department of Computer Science and Information Systems Univ
39. Ersity of Nebraska, Kearney Kearney, NE 68849,USA

Keywords
Testability, Maintainability, Reusability, Cohesion, Coupling, Software Affliction.