After a software evolution process is defined, its efficiency must be improved so that it can be executed efficiently. Evolving software concurrently is an effective way to shorten the evolution time and to speed up the evolution. In this chapter, an approach, which resembles a transplant operation on the human body, is proposed to dig down into an inefficient process segment from its process model, then to improve its efficiency and finally to put back the improved version into the original process model. In order to realise the approach, firstly, an algorithm to construct an entity dependence graph by means of analysing dependences between activities and between tasks is developed. Secondly, a method to localise dependences in an activity dependence graph is proposed. Thirdly, a method to simplify and preprocess an activity dependence graph is presented. Then an algorithm to construct a process segment from the preprocessed activity dependence graph is developed. Fourthly, an algorithm to refine an activity as an activity set is proposed. Fifthly, an algorithm to get two partition blocks and to analyse dependences between them is developed. Sixthly, an algorithm to extend concurrency in a bottleneck segment is presented based on the dependence analysis between two partition blocks. Finally, an algorithm to replace an inefficient process segment with an efficient process segment is also developed. It is proved that the interface consistency is preserved between before replacement and after replacement. In this way, when the reconstructed software process is executed, its efficiency is improved.
Weitere Kapitel dieses Buchs durch Wischen aufrufen
Bitte loggen Sie sich ein, um Zugang zu diesem Inhalt zu erhalten
Sie möchten Zugang zu diesem Inhalt erhalten? Dann informieren Sie sich jetzt über unsere Produkte:
- Efficiency Improvement of the Software Evolution Processes
- Springer Berlin Heidelberg
Neuer Inhalt/© ITandMEDIA