The Impact of Enterprise Software Design Patterns on Maintainability Metrics: a Case Study

The Impact of Enterprise Software Design Patterns on Maintainability Metrics: a Case Study

THESIS – KI142502 THE IMPACT OF ENTERPRISE SOFTWARE DESIGN PATTERNS ON MAINTAINABILITY METRICS: A CASE STUDY I MADE BHASKARA GAUTAMA NRP. 5114201017 SUPERVISORS Dr. Ir. Siti Rochimah, MT. Rizky Januar Akbar S.Kom., M.Eng. MASTER PROGRAM AREAS OF EXPERTISE: SOFTWARE ENGINEERING DEPARTMENT OF INFORMATICS FACULTY OF INFORMATION TECHNOLOGY INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2018 APPROVAL SHEET i [This page is intentionally left blank] ii THE IMPACT OF ENTERPRISE SOFTWARE DESIGN PATTERNS ON MAINTAINABILITY METRICS: A CASE STUDY Name : I Made Bhaskara Gautama Student Identity Number : 5114201017 Supervisor : Dr. Ir. Siti Rochimah, MT. Co-Supervisor : Rizky Januar Akbar S.Kom., M.Eng. ABSTRACT Design pattern in software engineering is a set of solutions that is used to solve software development common problems. The purpose of using design patterns is to improve software quality. There are several design patterns that have been proposed. One of them is enterprise design patterns which are specified for enterprise application. However, there lack of literature that studies these patterns. This study proposes a methodology to measure the impact of design patterns on software maintainability attribute. It uses Academic Information System (AIS) of Institut Teknologi Sepuluh Nopember (ITS) as a case study. It is an enterprise application because it involves persistent data. It was built without using any standards, thus becomes more complex along with how often the maintenance is conducted. It indicates that AIS has a low maintainability. Based on ISO/IEC 25010, maintainability is one of the quality attributes. It uses C&K metrics and three additional metrics to measure the maintainability. Measurements are conducted on software which is built without considering the use of design patterns and software which is built using design patterns. Both of the results are evaluated to obtain scientific evidence of the impact. There are two pattern versions produced in this study. Both of the pattern versions are able to improve the maintainability. We evaluate the impact based on the layer. On presentation layer, pattern versions are able to improve the maintainability to a small extent. On domain layer, it is improved to a certain extent. On data-source layer, it is improved to a great extent. Pattern versions are also able to decrease the number of duplicated methods. Keywords : Design patterns, maintainability, refactoring, enterprise, academic information system. iii [This page is intentionally left blank] iv PREFACE First of all, I would like to thank God for being able to finish the thesis report titled “The Impact of Enterprise Software Design Patterns on Maintainability Metrics: A Case Study“. This thesis is a final work as a partial fulfillment for the Master degree at Institut Teknologi Sepuluh Nopember Surabaya. The completion of this report cannot be separated from the support of various people. They have contributed either directly or indirectly to this study which makes me very grateful. But most of all, I would like to thank both of my supervisors, Mrs. Dr. Ir. Siti Rochimah, MT. and Mr. Rizky Januar Akbar S.Kom., M.Eng for their helpful comments, suggestion, feedback, and so forth. I also would like to thank all the people who have supported me so far. Thank you for your encouragement and tireless enthusiasm. Needless to say, this thesis report is far from perfect. Therefore, I really hope for helpful suggestions and advices to improve this report. At last, I hope this report can be useful for everyone. Surabaya, January 8, 2018 Author v [This page is intentionally left blank] vi TABLE OF CONTENTS APPROVAL SHEET ............................................................................................... i ABSTRACT ........................................................................................................... iii PREFACE ............................................................................................................... v TABLE OF CONTENTS ...................................................................................... vii TABLE OF FIGURES ........................................................................................... ix TABLE OF TABLES ............................................................................................. xi CHAPTER 1 INTRODUCTION ........................................................................... 1 1.1 Background ......................................................................................... 1 1.2 Research Questions ............................................................................. 2 1.3 Purpose and Significance .................................................................... 3 1.4 Limitations .......................................................................................... 3 CHAPTER 2 LITERATURE STUDY .................................................................. 5 2.1 Enterprise Design Pattern .................................................................... 5 2.2 Software Quality ................................................................................. 9 2.2.1 Quality Model Division – ISO/IEC 25010 ................................... 10 2.2.2 Quality Measurement Division ISO/IEC 25023 ........................... 12 2.2.3 Maintainability .............................................................................. 13 2.3 Measurement Methods ...................................................................... 14 2.3.1 C&K Metrics ................................................................................. 14 2.3.2 ISO/IEC 25023 Measurement Functions ...................................... 18 2.3.3 Median Absolute Deviation (MAD) ............................................. 18 2.3.4 Li & Henry Metrics ....................................................................... 19 2.4 Evaluation Methods .......................................................................... 20 2.4.1 Percentage Change ........................................................................ 20 2.4.2 Pearson Product Moment Correlation Coefficient ........................ 20 2.5 Academic Information System (AIS) ............................................... 21 CHAPTER 3 RESEARCH METHODOLOGY .................................................. 23 3.1 Research Activities............................................................................ 23 3.2 Research Design ................................................................................ 23 vii 3.2.1 Preparation ..................................................................................... 24 3.2.2 Measurements ................................................................................ 25 3.2.3 Refactoring .................................................................................... 27 3.2.4 Evaluation ...................................................................................... 27 3.3 Preliminary Experiment ..................................................................... 28 3.3.1 Preparation ..................................................................................... 28 3.3.2 Measuring ALT Version ................................................................ 30 3.3.3 Refactoring .................................................................................... 31 3.3.4 Measuring PAT Version ................................................................ 33 3.3.5 Evaluation ...................................................................................... 36 CHAPTER 4 RESULTS & ANALYSIS ............................................................. 41 4.1 Case Study ......................................................................................... 41 4.2 Refactoring ........................................................................................ 44 4.2.1 Domain Model and Active Record Pattern.................................... 44 4.2.2 Domain Model and Data Mapper Pattern ...................................... 46 4.3 Measurements .................................................................................... 48 4.3.1 Alternative or Non-pattern Version (ALT) ................................... 50 4.3.2 Domain Model and Active Record Version (PAT-AR) ................ 51 4.3.3 Domain Model and Data Mapper Version (PAT-DM) ................. 52 4.4 Evaluation .......................................................................................... 53 4.4.1 Presentation Layer ......................................................................... 56 4.4.2 Domain Layer ................................................................................ 59 4.4.3 Data-source Layer.......................................................................... 63 4.4.4 Threats to Internal Validity ........................................................... 65 CHAPTER 5 CONCLUSION & FUTURE WORK ............................................ 67 5.1 Conclusion ......................................................................................... 67 5.2 Future Work ....................................................................................... 69 REFERENCES ...................................................................................................... 71 viii TABLE OF FIGURES Figure 2.1 Domain model class diagram................................................................. 6 Figure 2.2 Active record class diagram..................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    87 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us