research paper on framework comparison.pdf

Mapping the initial criteria for customisability on

This preview shows page 22 - 23 out of 78 pages.

Mapping the initial criteria for customisability on modifiability, we get: What can be modified? How easy can it be modified? From the feature binding time section, we can now use the definition: Modifiability is changing features or the behaviour of features by changing the source code. Following this definition, we can be divide modifiability into two groups Adding/removing features Modifying the behaviour of features For what feature can be added and removed, we can use abstraction points in the code. Points that we identified in the customisation section. In particular, we are looking for open abstractions. Points in the code that are intended to be extended . This leaves us with the last group, modifying the behaviour of features. In order to modify a feature, we first need to find it, which gives us the first indication of how we can make modifiability measurable: Finding the feature Finding a feature can be translated to the modularity of the code. If the code is modular, we will be able to find the location of a specific feature faster than with code that is not modular. In [Loh84] this is confirmed. Which leaves us with the question, how can be measure modularity. For this, we can use [Rei02], which defines a number of criteria: Afferent coupling Efferent coupling Abstractness Instability Where efferent coupling [Jde07] is: “The number of classes from other packages that the classes within the package depend upon.” Efferent coupling [Jde07] is: “The number of classes from other packages that depend on the classes within the package”. Abstractness [Jde07] is: “The abstractness of a package is defined as the ratio of abstract classes / interfaces to the total number of classes.” And instability [Jde07]: “The instability of a package is defined as the ratio of efferent coupling to total coupling.” These are all measurable criteria.
Image of page 22

Subscribe to view the full document.

Anton Gerdessen, Master thesis Page 23 of 78 Once we have located the feature, the next step is to understand the code. This brings us to understandability of the code. Understandability is defined as follows in [Mcc04]: “The ease of with which you cam comprehend a system at both the system-organizational and detailed-statement levels. Understandability also has to do with the coherence of the system at a more general level than readability does.” In addition, readability is defined as: The ease with which you cam read and understand the source code of a system, especially at the detailed-statement level.” From this, we can infer some characteristics that the system should have: Coding standard, coherence of the system, which include naming conventions Low complexity, understand the source code Coding standard cannot be measured, but we can examine a sample group for each application and determine if a coding standard was used.
Image of page 23
You've reached the end of this preview.
  • Winter '19
  • jollet
  • Domain-specific language, Domain-specific modeling, domain analysis, general-purpose programming language, Anton Gerdessen

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern