On the impact of service-oriented patterns on software evolvability: a controlled experiment and metric-based analysis

被引:3
|
作者
Bogner, Justus [1 ,2 ]
Wagner, Stefan [2 ]
Zimmermann, Alfred [1 ]
机构
[1] Univ Appl Sci Reutlingen, Herman Hollerith Ctr, Boblingen, Baden Wuerttemb, Germany
[2] Univ Stuttgart, Software Engn Grp, Inst Software Technol, Stuttgart, Baden Wuerttemb, Germany
关键词
Design patterns; Evolvability; Modifiability; Controlled experiment; Metrics; Service-oriented architecture; Service-based systems; Microservices;
D O I
10.7717/peerj-cs.213
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Background: Design patterns are supposed to improve various quality attributes of software systems. However, there is controversial quantitative evidence of this impact. Especially for younger paradigms such as service- and Microservice-based systems, there is a lack of empirical studies. Objective: In this study, we focused on the effect of four service-based patterns-namely Process Abstraction, Service Facade, Decomposed Capability, and Event-Driven Messaging-on the evolvability of a system from the viewpoint of inexperienced developers. Method: We conducted a controlled experiment with Bachelor students (N = 69). Two functionally equivalent versions of a service-based web shop-one with patterns (treatment group), one without (control group)-had to be changed and extended in three tasks. We measured evolvability by the effectiveness and efficiency of the participants in these tasks. Additionally, we compared both system versions with nine structural maintainability metrics for size, granularity, complexity, cohesion, and coupling. Results: Both experiment groups were able to complete a similar number of tasks within the allowed 90 min. Median effectiveness was 1/3. Mean efficiency was 12% higher in the treatment group, but this difference was not statistically significant. Only for the third task, we found statistical support for accepting the alternative hypothesis that the pattern version led to higher efficiency. In the metric analysis, the pattern version had worse measurements for size and granularity while simultaneously having slightly better values for coupling metrics. Complexity and cohesion were not impacted. Interpretation: For the experiment, our analysis suggests that the difference in efficiency is stronger with more experienced participants and increased from task to task. With respect to the metrics, the patterns introduce additional volume in the system, but also seem to decrease coupling in some areas. Conclusions: Overall, there was no clear evidence for a decisive positive effect of using service-based patterns, neither for the student experiment nor for the metric analysis. This effect might only be visible in an experiment setting with higher initial effort to understand the system or with more experienced developers.
引用
收藏
页数:25
相关论文
共 50 条
  • [1] A Controlled Experiment for Evaluating the Impact of Coupling on the Maintainability of Service-Oriented Software
    Perepletchikov, Mikhail
    Ryan, Caspar
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (04) : 449 - 465
  • [2] Simulation Software as a Service and Service-Oriented Simulation Experiment
    Guo, Song
    Bai, Fan
    Hu, Xiaolin
    [J]. 2011 IEEE INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION (IRI), 2011, : 113 - 116
  • [3] Ontology patterns for service-oriented software development
    Tsai, Wei-Tek
    Wu, Budan
    Jin, Zhi
    Huang, Yu
    Li, Wu
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (07): : 867 - 883
  • [4] The Impact of Service Cohesion on the Analyzability of Service-Oriented Software
    Perepletchikov, Mikhail
    Ryan, Caspar
    Tari, Zahir
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2010, 3 (02) : 89 - 103
  • [5] Modeling and analysis of service interactions in service-oriented software
    Lee, WJ
    [J]. COMPUTER AND INFORMATION SCIENCES - ISCIS 2003, 2003, 2869 : 1043 - 1050
  • [6] Systematic security analysis for service-oriented software architectures
    Liu, Yanguo
    Traore, Issa
    [J]. ICEBE 2007: IEEE INTERNATIONAL CONFERENCE ON E-BUSINESS ENGINEERING, PROCEEDINGS, 2007, : 612 - 621
  • [7] A controlled experiment for evaluating a metric-based reading technique for requirements inspection
    Bernández, B
    Genero, M
    Durán, A
    Toro, M
    [J]. 10TH INTERNATIONAL SYMPOSIUM ON SOFTWARE METRICS, PROCEEDINGS, 2004, : 257 - 268
  • [8] Pattern-Based Software Architecture for Service-Oriented Software Systems
    Pahl, Claus
    Barrett, Ronan
    [J]. E-INFORMATICA SOFTWARE ENGINEERING JOURNAL, 2010, 4 (01) : 31 - 45
  • [9] A Quality Aggregation Model for Service-Oriented Software Product Lines Based on Variability and Composition Patterns
    Mohabbati, Bardia
    Gasevic, Dragan
    Hatala, Marek
    Asadi, Mohsen
    Bagheri, Ebrahim
    Boskovic, Marko
    [J]. SERVICE-ORIENTED COMPUTING, 2011, 7084 : 436 - 451
  • [10] Comparing the impact of service-oriented and object-oriented paradigms on the structural properties of software
    Perepletchikov, M
    Ryan, C
    Frampton, K
    [J]. ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2005: OTM 2005 WORKSHOPS, PROCEEDINGS, 2005, 3762 : 431 - 441