1,093 research outputs found
Visualizing Software Structure Understandability
Software architecture design is known to be driven by the quality attributes we may want to satisfy. Among them, modifiability plays an important role since software maintenance takes the lion's share in the software development costs. However, to successfully maintain a legacy system, the latter must be sufficiently understood so that the maintenance team will not introduce new bugs when correcting others. Then we present a software metric that we called the Autonomy Ratio (AR). We show this dynamic metric to be a good indicator of the system's structure understandability. Since we end up with hundreds of values for a single system, we represent these values as a hierarchical map: the "Autonomy Ratio Map". The contribution of the paper is to link the AR metric with theories of software comprehension, to show how the AR Map helps in assessing software structure understand-debility, and to present an empirical validation of it
A research review of quality assessment for software
Measures were recommended to assess the quality of software submitted to the AdaNet program. The quality factors that are important to software reuse are explored and methods of evaluating those factors are discussed. Quality factors important to software reuse are: correctness, reliability, verifiability, understandability, modifiability, and certifiability. Certifiability is included because the documentation of many factors about a software component such as its efficiency, portability, and development history, constitute a class for factors important to some users, not important at all to other, and impossible for AdaNet to distinguish between a priori. The quality factors may be assessed in different ways. There are a few quantitative measures which have been shown to indicate software quality. However, it is believed that there exists many factors that indicate quality and have not been empirically validated due to their subjective nature. These subjective factors are characterized by the way in which they support the software engineering principles of abstraction, information hiding, modularity, localization, confirmability, uniformity, and completeness
A Metrics-based Framework for Estimating the Maintainability of Object-Oriented Software
Time, effort and money required in maintaining software has always been considered greater than its development time. Also, its ambiguity in forecast at early stage of software development makes the process more complicated. The early estimation of maintainability will significantly help software designers to adjust the software product, if there is any fault, in early stages of designing. By doing this; time, effort and money required in maintaining software will be lessened. Although Object Oriented Software Development (OOSD) approach is equipped for enhancing software maintainability, a method for finding out if the required level of maintenance is being achieved amid the development process is required. This can be accomplished through measurement. This paper outlines the need and importance of maintainability at design phase and develops a Metrics-Based Maintainability Estimation Framework for Object-Oriented software(MEFOOS) that estimates the maintainability of object oriented software components in regard of their Understandability, Modifiability and Portability—which are the sub-attributes of maintainability. Keywords: Software maintenance, Software Maintainability, maintainability model, Software Metrics, Software Component DOI: 10.7176/JIEA/9-4-02 Publication date:June 30th 201
Design metrics for web application maintainability measurement
Many web applications have evolved from simple HTML pages to complex applications that have a high maintenance cost. This high maintenance cost is due to the heterogeneity of web applications, to fast Internet evolution and the fast- moving market which imposes short development cycles and frequent modifications. In order to control the maintenance cost, quantitative metrics for predicting web applications maintainability must be used. This paper provides an exploratory study for new design metrics used for measuring the maintainability of web applications from class diagrams. The metrics are based on Web Application Extension (WAE)for UML and will measure the following design attributes: size, complexity, coupling and reusability. In this study the metrics are applied to two web applications from the telecommunications domain
A novel model for improving the maintainability of web-based systems
Web applications incorporate important business assets and offer a convenient way for
businesses to promote their services through the internet. Many of these web applica-
tions have evolved from simple HTML pages to complex applications that have a high
maintenance cost. This is due to the inherent characteristics of web applications, to
the fast internet evolution and to the pressing market which imposes short development
cycles and frequent modifications. In order to control the maintenance cost, quantita-
tive metrics and models for predicting web applications’ maintainability must be used.
Maintainability metrics and models can be useful for predicting maintenance cost, risky
components and can help in assessing and choosing between different software artifacts.
Since, web applications are different from traditional software systems, models and met-
rics for traditional systems can not be applied with confidence to web applications. Web
applications have special features such as hypertext structure, dynamic code generation
and heterogenousity that can not be captured by traditional and object-oriented metrics.
This research explores empirically the relationships between new UML design met-
rics based on Conallen’s extension for web applications and maintainability. UML web
design metrics are used to gauge whether the maintainability of a system can be im-
proved by comparing and correlating the results with different measures of maintain-
ability. We studied the relationship between our UML metrics and the following main-
tainability measures: Understandability Time (the time spent on understanding the soft-
ware artifact in order to complete the questionnaire), Modifiability Time(the time spent
on identifying places for modification and making those modifications on the software
artifact), LOC (absolute net value of the total number of lines added and deleted for com-
ponents in a class diagram), and nRev (total number of revisions for components in a class diagram). Our results gave an indication that there is a possibility for a relationship
to exist between our metrics and modifiability time. However, the results did not show
statistical significance on the effect of the metrics on understandability time. Our results
showed that there is a relationship between our metrics and LOC(Lines of Code). We
found that the following metrics NAssoc, NClientScriptsComp, NServerScriptsComp,
and CoupEntropy explained the effort measured by LOC(Lines of Code). We found that
NC, and CoupEntropy metrics explained the effort measured by nRev(Number of Revi-
sions). Our results give a first indication of the usefulness of the UML design metrics,
they show that there is a reasonable chance that useful prediction models can be built
from early UML design metrics
Evolvability as a Quality Attribute of Software Architectures
We review the definition of evolvability as it appears on the literature. In particular, the concept of software evolvability is compared with other system quality attributes, such as adaptability, maintainability and modifiability
- …