| With the increasing complexity of computer software, it is difficult to through code level optimization method to improve software performance, we often need to change the early design method which will lead to rework for the software implementation to improve the performance. Therefore, the performance analysis in the early stage of software development is becoming more and more important. Software Architecture (SA) as a product in the early phases of software development, it describes the software at a higher level of abstraction and it is the foundation of software development, integration, testing and evolution in the software life cycle. SA and its evolution will directly influence the software structure of the final software product. Software architecture evolution (SAE) is highly error prone, as many architectural modifications are typically required, and these modifications can have both a local impact on the modified elements and a global impact on the SA. An incorrect decision of SA evolution will lead to various undesirable outcomes in the target SA. Even it will impose on the software development and delay the final software delivery. Evaluating SA and its evolution is a forecast analysis of software in the early stages of software development and software evolution, therefore the ability to evaluate SA and its evolution is very important.In this thesis a method which evaluates SA using performance simulation is proposed, which used to evaluate the performance of SA. Firstly, the proposed method utilizes System Sequence Diagram (the SSD) and Sequence Diagram (the SD) which describe the SA, and then converts them into event execution graph (EEG) before entering into a discrete-event simulation based SA evaluation procedure. Then the method simulates the SA by the EEG and gets the simulation results about time and memory. Finally, based on the simulation results, the evaluation of the SA is proposed. Further, the method is applied in the SAE and a method which evaluates SAE using performance simulation is proposed. According to the evolution process is known or unknown, the thesis proposes the corresponding evaluation strategy about evolution. With the principle of the above methods, the thesis designed and implemented a software architecture simulation evaluation (SASE) tool which mainly to evalution the SA and SAE using performance simulation. The output results of tool can be used to support software architects to evaluate the SA and the SAE.In order to validate the credibility of simulation results of simulation method and demonstrate the SASE tool’s application scenario and significance, the thesis proposed four experiments which evaluate the SA or the SAE. The results of experiment show that the method not only can accurately reflect the performance of the real system, but also can be used in multiple scenarios, helps software architects analyze the performance of SA and the performance change of SAE. |