| With the rapid development of mobile Internet and gradual maturity of iOS platform, a large number of developers have developed a flood of applications for iOS using the Objective-C language. However, the emergence of Swift language has lowered the difficulty level of iOS development and in addition, has provided more excellent characteristics to the iOS applications. As a result, many applications will go through a migration from Objective-C to Swift. It is necessary for us to do research on the software migration problem, put forward a seasonable framework of migration, to carry out the software migration work effectively.Based on this issue, this thesis carried out research on software migration. The Author reviewed related theories and methods of porting software, summarized the key migration skill of the Object-oriented language. Aiming to solve specific migration problem, most of researches on the software migration are lack of the research on the framework of migration. This thesis proposed a migration framework using object-oriented language, based on the Component-Knowledge-Base, porting source code into target language. Compare to the traditional migration method, this method based on the Component-Knowledge-Base, connected those migration projects, which are independent of each other in the past, by learning knowledge from each porting process. Component-Knowledge-Base consists of mapping rules, component conversion tables and system-library transition. The Author then realized it for solving the software migration from Objective-C to Swift. Furthermore, this paper gives a calculation measurement of software portability based on the Component-Knowledge-Base migration framework. Last but not least, the author proved the theory through an engineering practice. The main research of author in this thesis is summarized as follows:1. Summarized of the research findings on the theories of software migration.2. Proposed of the object-oriented migration framework and method based on the Component-Knowledge-Base. 3. Proposed that the Component-Knowledge-Base consists of mapping rules, component conversion tables and system-library transition, and realized it.4. Suggested measurement of software portability based on the Component-Knowledge-Base.5. Performed the software migration from Objective-C language to Swift language using Component-Knowledge-Base.Learning from the result of the preformed migration, the author evaluated the effectiveness of the Component-Knowledge-Base migration method, and proved it can simplified porting problems to a certain extent. The Component-Knowledge-Base needs more opportunity to learn from the migration process, improves the mapping rules and extends the component conversion table, and then achieves higher migration efficiency。... |