ISSN: 2229-371X
Laxmi Shanker Maurya1, Gauri Shankar*2
|
Corresponding Author: Gauri Shankar, E-mail: gaurishankar021@gmail.com |
Related article at Pubmed, Scholar Google |
Visit for more related articles at Journal of Global Research in Computer Sciences
Many World Wide Web (www) application incorporate important business assets and after a convenient way for business to promote their services through internet. Many web applications have evolved from simple HTML page to complex application [1], some are evolved from different web technologies that have a high maintenances cost. As during evolution of web application well-defined software process and methodologies are used for development of application. Several maintainability models have been defined for measuring the maintainability of web application. It is very difficult to choose maintainability model. So a strong need for methods and models which have some common criteria to assess the maintainability model of existing web applications.
Keywords |
Maintainability Model, Maintainability metrics, web based applications. |
INTRODUCTION |
In the present scenario, the web based applications are growing faster and exponentially. The main reason behind this is diffusion of internet in the world. Due to market demand web applications are developed frequently and quickly. Many of them incorporate with many different assets like business related asset, education related assets, information related assets, and security related assets and many more. These web application helps in providing information, a convenient way for business, education and sharing information , all these done to promote the services of web applications through internet. As society becomes more and more dependent on software and demands that new, more capable software be provided on short cycles, the need for maintainable, reliable software continues to increase. |
Now a day web applications are evolved from simple HTML pages to complex applications which may be evolved from Java Server Pages (JSP), Active Server Pages (ASP), Servlets and many other technology. As the complexity of web Applications are increased the difficulty to maintain these application are also increased. Internet has evolved in terms of number of web sites and number of usage tremendously during the last decade. An example for internet evolution is amazon.com a leading-commerce web application. Amazon.com started with 0customers in 1995. In 2003 it had around 20 million customers and the largest online store in 220 countries [2].Rapid growth of the internet and enormous evolution with very short project release cycles and high competition resulted in many unreliable web applications. |
The well-known software engineering principles are not usually applied, as well as well-defined software processes and methodologies are rarely adopted. As a consequence of such an undisciplined development and evolution, a WA usually presents disordered architectures, poor or non-Existing documentation, and can be analyzed, comprehended and modified with a considerable effort [3]. |
To avoid a software crisis for the WAs there is a strong need to urgently address the definition and the experimentation of methodological approaches, techniques, and tools supporting an effective maintenance of existing web applications. Analogously, there is a strong need also for methods and models to assess the maintainability of existing WAs in order to have a valuable support to successfully estimate the effort of maintenance intervention [3]. |
While dealing with WA’s maintainability assessment, the first step to achieve is the defining of software attributes affecting maintainability; the related model for such WAs will be consequently carried out. |
THE MAINTAINABILITY PROBLEM: |
The WAs are built under high pressure to meet deadlines, and with initial emphasis on performance, reliability, and usability. The attributes relating to later changes in the software – maintainability attributes are: |
a. never specified quantitatively up front in the software quality requirements b. never architected to meet the non-specified maintainability quality requirements |
c. never built to the unspecified architecture to meet the unspecified requirements |
d. never tested before release |
e. Never measured during the lifetime of the system. |
âÃâ¬Ãâ¢A number of people expressed the opinion that code is often not designed for change. Thus, while the code meets its operational specification, for maintenance purposes it is poorly designed and documented [4].âÃâ¬Ãâ The difficulty in maintaining web applications is due to Lehman’s laws of software evolution. These laws are as follows [5]:- |
a. Continuing change — An E-type program that is used must be continually adapted else it becomes progressively less satisfactory. |
b. Increasing complexity — As a program is evolved, its complexity increases unless work is done to maintain or reduce it. |
c. Self-regulation — The program evolution process is self-regulating with close to normal distribution of measures of product and process attributes. |
d. Invariant work rate — The average effective global activity rate on an evolving system is invariant over the product lifetime. |
e. Conservation of familiarity — During the active life of an evolving program, the content of successive releases is statistically invariant. |
f. Continuing growth — Functional content of a program must be continually increased to maintain user satisfaction over its lifetime. |
g. Declining quality — E-type programs will be perceived as of declining quality unless rigorously maintained and adapted to a changing operation environment. |
h. Feedback system — E-type programming processes constitute multi-loop, multi-level feedback systems and must be treated as such to be successfully modified or improved. |
In addition to this, web applications have some characteristics that make their maintenance costly: heterogeneity speed of evolution, and dynamic code generation. In order to control the maintenance cost of web applications, quantitative metrics for predicting |
web applications maintainability must be used. Web applications are different from traditional software systems, because they have special features such as hypertext structure, dynamic code generation and heterogeneity that cannot be captured by traditional and object-oriented metrics, hence metrics for traditional systems cannot be applied to web applications [6]. |
Here now we switch to know some maintainability metrics which affect the maintainability for WA. We take the reference model of Oman and Hagemeister maintainability model for software. Oman and Hagemeister presented a maintainability model based on a hierarchical tree structure comprehending 92 attributes affecting the Maintainability of a software system. The leaf nodes in the hierarchy represent an identified maintainability attribute and, for each of these, attribute metrics are defined to evaluate that maintainability characteristic. In Figure 1 the top level of the OHMM hierarchy is showed. At this level, three main categories of factors are pointed out: |
a) Management: practices of management employed, and facts related with them; |
b) Operational environment: environment, in terms of hardware and software, involved in the operation of the system under examination; |
c) Target Software System: the examined software system under maintenance, including the source code and support documentation. |
Oman’s work focuses mainly on the Target Software System; Figure 2, shows a detail of the sub-tree concerning this category. |
ADAPTING THE OMAN AND HAGEMEISTER MAINTAINABILITY MODEL TO WAS |
The differences between traditional systems and Was having to be considered to apply the OHMM to WAs: the original model has to be modified to be efficiently and effectively used with Was. |
Firstly, we define a set of simple metrics characterizing a WA either at system and component level, then we will use these metrics to evaluate the attributes. Table 1 and Table 2 report these metrics. |
The metrics in the Table 1 aim to provide a structural size of the whole WA by counting the total number of components it consists of. The metrics in Table 2 aim to provide information about the structural complexity of a web page both by its internal composition and when connected to other pages. |
In the OHMM the main system basic unit is the module or program, that is mainly characterized by its size in KLOC, the data it refers to, the number of control flow structures used to implement it, the control and data coupling it has with the other modules or programs. In a WA the basic unit is the Web Page that is mainly characterized by its inner components (forms, scripts, web objects, and so on - we will refer these components as page sub-components in the following), its size in LOC, the tags and the control flow structures used to implement it, the data it refers, the connections it has with other pages. These data were taken from the [3]. |
The Maintainability of a WA, with reference to the Source Code Control and Information Structure characteristics, may be expressed as a function of the 39attributes: |
WA Maintainability = F(γi,Ai) i=1 .. 39 |
Where Ai is the value of ith maintainability attribute and γi is the weight to assign to that attribute according to how much the attribute affects the maintainability [3]. |
Thus we have seen from the âÃâ¬Ãâ¢Oman and Hagemeister maintainability model (OHMM)âÃâ¬Ãâ, that there are 39 main metrics which affect the web based application or WA. |
These are related to the maintainability with a function. This function denotes a closer look to the maintainability of a WA. The WA is not a very short area in evolutions or in testing it is as much difficult to maintain it as in developing it. |
WA maintainability is going to be a considerable challenge for many years to come. The systems being maintained are becoming increasingly complex, and a growing proportion of WA development staff is participating in the maintenance of industrial software systems. Although these models are not perfect, they demonstrate the utility of such models. The point is that a good model can help maintainers guide their efforts and provide them with much needed feedback. Before developers can claim that they are building maintainable systems, there must be some way to measure maintainability. |
CONCLUSION |
Web applications have evolved into complex applications that have high maintenance cost. The high cost is dueto the inherent characteristics of web applications, to the rapid evolution of the Internet, and to the pressing market which imposes short development cycles and frequent medications. In order to control the maintenance cost of web applications, quantitative metrics for predicting web applications maintainability must be used. |
When properly interpreted the metrics can provide useful indications about the quality of the WA to be maintained, in terms of: size, coupling, data, and complexity. |
The rapid diffusion of different business domains’ services over the Web entails critical conditions of development and maintenance for Web Applications. The time-to-market for new WAs ever more shortened and modifications requests for existing was are ever more frequent. Due to both such a market pressure and to the lack of widely spread and validated methodologies, quality of WAs is seriously affected, especially in terms of maintainability. |
References |
|