Abstract
In the recent years, the success or failure of any software development effort is judged by the degree of achievement of various software quality attributes associated with it. We can say that software quality is one of the most important issues in software engineering. It has some serious implications in terms of customer satisfaction and system acceptance. Due to its significance, it is also considered as one of the major challenges to be met by software developer since s/he is responsible for fulfilling the quality requirements of the software systems. One way to address this challenge is to adopt architecture based software development. Software architecture of an application has considerable effect on quality factors such as maintainability, performance, reliability and flexibility, etc. The experience has shown that using software architecture for quantification of certain quality factors can help organizations to plan resources accordingly. In this paper, we have presented a novel approach to predict software maintenance effort at architecture level. We have used requirements, domain knowledge and general software engineering knowledge as inputs in our proposed technique to prescribe application architecture. Once application architecture is prescribed, then weighted scenarios and certain factors (i.e., system novelty, turnover and maintenance staff ability, documentation quality, testing quality, etc.) that affect software maintenance are applied to application architecture to quantify maintenance effort. We have presented the web content extraction application architecture case study to manifest the performance of our proposed approach.