Software structure is the most important factor affecting the quality of a program.The evaluation of software structure is a foundational technique for software development.However,the traditional evaluation criteria,such as "high cohesion and low coupling",are no longer appropriate for the new web applications,which are designed with a hierarchical framework.A novel approach is proposed in this paper to evaluate software quality based on the interaction and encapsulation of methods.In particular,two criteria for high quality software,the functional and hierarchical structure,are proposed to support widely used web applications.The cohesion and coupling and layer matching ratios between methods within a software package are calculated to determine whether the package is well implemented in terms of functional or hierarchical structure.This approach enables us to quantify the quality of a software system according to the structural types of its packages.Experiments were carried out on 18 versions of Struts and six open-source software packages.Our evaluation concurs with the intuition that minor upgrades,aimed at fixing bugs and adding minor functionality quickly,reduce software quality,whereas major upgrades,which normally clean up messy code and re-construct the software,improve software quality. 相似文献
Recently many runoff models based on cellular automaton (CA) have been developed to simulate floods; however, the existing models cannot be readily applied to complex urban environments. This study proposes a novel rainfall-runoff model based on CA (RRCA) to simulate inundation. Its main contributions include a fine runoff generation process that considers 12 urban scenarios rather than a single land use type and the confluence process determined by the new transition rules considering water supply and demand (WS-WD transition rules). RRCA was compared with another CA based flood model (E2DCA). With the benchmark model, the results showed that there was good agreement, with an R-squared greater than 0.9, and that RRCA was more sensitive to waterlogging levels than E2DCA. Furthermore, the simulated vegetation interception, infiltration and drainage processes had varying degrees of impact on waterlogging. Corresponding measures can be taken in urban flood management according to the identification of areas experiencing drainage difficulties.