Open Access Open Access  Restricted Access Subscription Access

Complexity Metrics for Component-Based Software Systems:Developer Perspective


Affiliations
1 College of Computing and Information Technology, Shagra University, Riyadh, Saudi Arabia
2 Arab East Colleges, Computer Science and Technology, Riyadh, Saudi Arabia
 

Background: A Component-Based Development (CBD) is an integration centric system focusing on assembling individual components in order to build a software system. Most of the existing CBD metrics rely on parameters that are too difficult to measure in practice due to the component’s internal elements may not be visible to developers or testers. Objective: We proposed two suite of metrics to measure the structural complexity and interaction complexity of Component-Based Software System (CBSS) from perspective of component developer. Methods: Based on the analysis of the component specification, the elements of interface which includes properties, methods and events are measured. The proposed metrics quality is evaluated from a mathematical perspective using BMB properties. Finding: The theoretical evaluation results indicated that the proposed metrics are valid internal measures. The proposed metrics are useful in understanding and identifying the areas in the design where improvements are likely to have a high attention. Thus, the proposed metrics appear promising as a means of capturing the quality of the CBSS design in question. Application/Improvements: It has been widely reported that lower complexity is believed to provide advantages such as lower maintenance time, easier to test, highly reusable and easier to understand.
User

  • Kumar P, Tomar P. Design of dynamic metrics to measure component based software. Computing, Communication and Automation (ICCCA), International Conference; 2017. p. 753–7.
  • Kharb L, Singh R. Complexity metrics for component-oriented software systems. SIGSOFT Software Engineer Notes. 2008; 33(2):1–3. https://doi.org/10.1145/1350802.1350811 https://doi.org/10.1145/1350802.1350810
  • Mahmood S, Lai R. A complexity measure for UML componentbased system specification. Software Practice and Experience. 2008; 38(2):117–34. https://doi.org/10.1002/ spe.769
  • Narasimhan L, Hendradjaya B. Some theoretical considerations for a suite of metrics for the integration of software components. Information Sciences. 2007; 177(3):844–64. https://doi.org/10.1016/j.ins.2006.07.010
  • Salman N. Complexity metrics AS predictors of maintainability and integrability of software components. Journal of Arts and Sciences; 2006. p. 39–50.
  • Brosig F, Meier P, Becker S, Koziolek A, Koziolek H, Kounev S. Quantitative evaluation of model-driven performance analysis and simulation of component-based architectures. IEEE Transport Software Engineering. 2015; 41(2):157–75. https://doi.org/10.1109/TSE.2014.2362755
  • Narasimhan VL, Parthasarathy PT, Das M. Evaluation of a suite of metrics for Component Based Software Engineering (CBSE). Issues in Informing Science and Information Technology. 2009; 6:731–40. https://doi.org/10.28945/1093
  • Crnkovic I, Larsson M. Building reliable component-based software systems. London Artech House. Estublier J, Favre JM. Component model and technology. Building reliable component-based software system (). London: Artech House; 2002. PMid:12476477
  • Faison T. Component-based development with visual C#. New Yourk. Hungry Minds; 2002. PMid:12526889
  • Gill NS, Grover PS. Component-based measurement. Few useful guidelines. SIGSOFT Software Engineering Notes. 2003; 28(6):4–4. https://doi.org/10.1145/882240.882255 https://doi.org/10.1145/966221.966237
  • Szyperski C. Component software: Beyond object oriented programming (Second Edition ed.). New York. Addison Wesley; 2002.
  • Sharp J. Microsoft visual C#. Step by step Microsoft Press; 2008.
  • Gill NS, Grover PS. Few important considerations for deriving interface complexity metric for component-based systems. SIGSOFT Software Engineering Notes. 2004; 29(2):4–4. https://doi.org/10.1145/979743.979758
  • Han J. A comprehensive interface definition framework for software components. Proceedings of the Fifth Asia Pacific Software Engineering Conference; 1998. p. 110. https://doi.org/10.1109/APSEC.1998.733601
  • Sharma A, Kumar R, Grover PS. Empirical evaluation and validation of interface complexity metrics for software components. International Journal of Software Engineering and Knowledge Engineering. 2008; 18(7):919–31. https:// doi.org/10.1142/S0218194008003957
  • Washizaki H, Yamamoto H, Fukazawa Y. A metrics suite for measuring reusability of software components. Proceedings of the 9th International Symposium on Software Metrics; 2003. p. 1– 211. https://doi.org/10.1109/ METRIC.2003.1232469
  • Cesare SD, Lycett M, Macredie RD. Development of componentbased information system. New Delhi. Prentice Hall of India; 2006. p. 1–239.
  • Heineman G, Councill W. Component definition. In B. Councill, G. Heineman (Eds.). Component-based software engineering Putting pieces together () Addison Wesley; 2001.
  • Abdellatief M, Sultan ABM, Ghani AAA, Jabar MA. A mapping study to investigate component-based software system metrics, Journal of System Software. 2013; 86(3):587–603. https://doi.org/10.1016/j.jss.2012.10.001
  • Abdellatief M, Sultan ABM, Ghani AAA, Jabar MA. Component-based software system dependency metrics based on component information flow measurements in The Sixth International Conference on Software Engineering Advances ICSEA2011 Barcelona, Spain; 2011. p. 76–83.
  • Abdellatief M, Sultan ABM, Ghani AA, Jabar MA. Multidimentional size measure for design of componentbased software system, IET Software. 2012; 6(4):350–7. https://doi.org/10.1049/iet-sen.2011.0122
  • Briand LC, Morasca S, Basili VR. Property-based software engineering measurement. IEEE Transaction Software Engineering. 1996; 22(1):68–86. https://doi.org/10.1109/32.481535
  • Weyuker E.J. Evaluating software complexity measures. IEEE Transaction Software Engineering. 1988; 14(9):1357– 65. https://doi.org/10.1109/32.6178
  • Zuse H. Software complexity measures and methods. Walter deGruyter; 1991.
  • Kitchenham B, Pfleeger SL, Fenton N. Towards a framework for software measurement validation. IEEE Transaction Software Engineering. 1995; 21(12):929–44. https://doi.org/10.1109/32.489070
  • Tian J, Zelkowitz MV. A formal program complexity model and its application. Journal of System and Software. 1992; 17(3):253–66. https://doi.org/10.1016/0164-1212(92)90114-Y

Abstract Views: 229

PDF Views: 0




  • Complexity Metrics for Component-Based Software Systems:Developer Perspective

Abstract Views: 229  |  PDF Views: 0

Authors

Sellami Ali
College of Computing and Information Technology, Shagra University, Riyadh, Saudi Arabia
Majdi Abdellatief
College of Computing and Information Technology, Shagra University, Riyadh, Saudi Arabia
Mohamed Ahmed Elfaki
College of Computing and Information Technology, Shagra University, Riyadh, Saudi Arabia
Abubaker Wahaballa
Arab East Colleges, Computer Science and Technology, Riyadh, Saudi Arabia

Abstract


Background: A Component-Based Development (CBD) is an integration centric system focusing on assembling individual components in order to build a software system. Most of the existing CBD metrics rely on parameters that are too difficult to measure in practice due to the component’s internal elements may not be visible to developers or testers. Objective: We proposed two suite of metrics to measure the structural complexity and interaction complexity of Component-Based Software System (CBSS) from perspective of component developer. Methods: Based on the analysis of the component specification, the elements of interface which includes properties, methods and events are measured. The proposed metrics quality is evaluated from a mathematical perspective using BMB properties. Finding: The theoretical evaluation results indicated that the proposed metrics are valid internal measures. The proposed metrics are useful in understanding and identifying the areas in the design where improvements are likely to have a high attention. Thus, the proposed metrics appear promising as a means of capturing the quality of the CBSS design in question. Application/Improvements: It has been widely reported that lower complexity is believed to provide advantages such as lower maintenance time, easier to test, highly reusable and easier to understand.

References





DOI: https://doi.org/10.17485/ijst%2F2018%2Fv11i32%2F123093