1. MEASURING THE SOFTWARE ARCHITECTURE
UNDERSTANDABILITY IN OBJECT-ORIENTED
SYSTEMS
T U R K I F . A L S H A M M A R Y
Thesis Proposal
2. Outline
Introduction
Research Questions
Discussion
Methodology
Benefits of the study
Chapters of the thesis
Time Line
Conclusion
3. Introduction
This thesis area is software architecture understandability metrics.
Software System Architecture is defined as “the structure or structures of the
system, which comprise software components, the externally visible
properties of those components, and the relationships among them” [1] [2].
Understandability is one of the most important characteristics of software
quality since the difficulty of understanding a software system limits its
reusability
maintainability
and therefore can influence cost or/and reliability of software evolution [1].
Hence, a generic aggregate metric is needed to identify the understandability
of certain object oriented software architecture.
4. Research Questions
(RQ1) What are the available metrics in the literatures that measure
design/architecture properties understandability of object-oriented
software architecture?
(RQ2) How to aggregate these metrics into a one metric that
measures understandability for an object-oriented software
architecture?
5. Discussion
Gupta and Chhabra's [3] rejected their developed null hypothesis that
states,
"There is no correlation between the Package Coupling Metric and the effort required
to understand the package".
They have come up with a metric to measure the package coupling.
6. Discussion
Elish has selected 5 package-level metrics that were proposed by Martin
[7]and developed and tested four hypotheses.
He found out that the following metrics:
Number of Class,
Afferent coupling,
Stability, and
Distance
affect the understandability,
However, the fifth metric efferent has no correlation to the effort
required to understand a package.
He used the data of Gupta and Chhabra's Case Study.
7. Discussion
Hwa et al. [5] propose hierarchical quality model (consist of 4 level and
3 links to connect the levels) to assess the understandability of the
modular design of an OO software system.
8. Discussion
In Level 2, 6 design properties were identified that affect
understandability of the modular design of a system and they are
design size,
complexity,
encapsulation,
coupling,
cohesion and
modular abstraction.
The modular abstraction is a new design concept introduced by the
module hierarchy in the design of a system.
9. Discussion
Stevanetic and Zdun [6] carried out a study to examine the relationships between
the effort required to understand a component measured through
the time that participants spent on a component and
component level metrics that describe the component's size, complexity and coupling.
The authors used
Number of Classes (NC),
Number of Incoming Dependencies (NID),
Number of Outgoing Dependencies (NOD)
and Number of Internal Dependencies (NIntD).
The authors have developed four hypotheses for each metric,
For example for NC it goes as "There is a significant positive correlation between the number of
classes (NC) in a component and the effort required to understand a component measure though
the time spent on studying it.
The authors have accepted the hypotheses that concern NC, NID and NIntD and rejected the one
concerns NOD.
10. Methodology
The methodology will be designed to answer and approve the research
questions
A literature review needs to be carried out in order to answer the first RQ.
Empirical Study would be used during the process of developing the generic metric
where we will be able to test hypotheses by observation and experiment.
Experimental Design would be used where an experiment is designed to test the
proposed metric by observing the response of one variable (dependent variable) to
changes in a limited number of other variables (independent variables) under
controlled conditions.
11. Benefits of the study
This study will propose
A generic metric that can help developers at individual level or at enterprise level to
get measure the understandability for any software systems architecture.
This would allow them to measure the required efforts to maintain or reuse an
existing system components.
12. Chapters of the thesis
Chapter Title Description
a) Abstract A brief description to what the thesis is about.
b) Introduction
In this section an introduction to the thesis and contains the problem statement and
how the thesis is conducted in overview and a brief description to what will come
in the next sections.
c) Research Methods The methods used to get the literatures (Strings, Scientific Databases, etc.)
d) Related Work -Literature Review In this section a review of the literatures that covered major aspects of the topic.
e) Proposed Metric
The proposed Metric will discussed here with of course the journey of how and
why.
f) Case Study
Description of what and why the open source software is selected. Then the metric
will be tested against some other already proved results
g) Empirical Validation. Null hypothesis will be created and tested.
h) Discussion
Discussion of the metric, case study results and Empirical Validation will be
conducted here.
i) Conclusion Overview what has been proposed and what will be done in future work.
13. Timeline
31-Jan 21-Mar 10-May 29-Jun 18-Aug 7-Oct 26-Nov
Literature review
Designing new metric
Design of Experiment
Analysis and Discussion
Write and Complete the first draft of the thesis
Revision
Final thesis submission for signatures:
Literature reviewDesigning new metricDesign of ExperimentAnalysis and Discussion
Write and Complete the
first draft of the thesis
Revision
Final thesis submission
for signatures:
Start Date 01-May20-May15-Jul07-Aug15-Sep30-Sep07-Oct
Duration 185522381461
Time Line
14. Conclusion
This thesis would eventually produce a generic metric to measure the
understandability of an object oriented software architecture.
Two research questions have been developed.
Initial Chapters’ titles have been proposed.
The timeline has been proposed.
16. References
[1] L. Bass, P. Clements, and R. Kazman. Software architecture in practice. Addison-Wesley Longman
Publishing Co., Inc., Boston, MA, USA, 1998.
[2] Stevanetic, S., & Zdun, U. (2015, April). Software metrics for measuring the understandability of
architectural structures: a systematic mapping study. In Proceedings of the 19th International.
[3] V. Gupta and J. K. Chhabra. Package coupling measurement in object-oriented software. J.
Comput. Sci. Technol., 24(2):273-283, Mar. 2009.
[4] M. O. Elish. Exploring the relationships between design metrics and package understandability: A
case study. In Proceedings of the 2010 IEEE 18th International Conference on Program
Comprehension, ICPC '10, pages 144-147, Washington, DC, USA, 2010. IEEE Computer Society.
[5] J. Hwa, S. Lee, and Y. R. Kwon. Hierarchical understandability assessment model for large-scale
OO system. In Proceedings of the 2009 16th Asia-Pacific Software Engineering Conference, APSEC
'09, pages 11-18, Washington, DC, USA, 2009. IEEE Computer Society.
[6] S. Stevanetic and U. Zdun, "Exploring the Relationships between the Understandability of
Architectural Components and Graph-Based Component Level Metrics," Quality Software (QSIC),
2014 14th International Conference on, Dallas, TX, 2014, pp. 353-358.
[7] R. Martin, Agile Software Development: Principles, Patterns and Practices: Prentice Hall, 2003.