A_Reengineering_Process_for_Migrating_from_an_Object-oriente
A_Reengineering_Process_for_Migrating_from_an_Object-oriented_Legacy_System_to_a_Component-based_System
A Reengineering Process for Migrating from an Object-oriented
Legacy System to a Component-based System
Eunjoo Lee1 Byungjeong Lee2 Woochang Shin3 Chisu Wu1
1
School of Computer Science and Engineering, Seoul National University, Seoul, Korea
{banny, wuchisu}@selab.snu.ac.kr
2
School of Computer Science, University of Seoul, Seoul, Korea
bjlee@venus.uos.ac.kr
3
Dept. of Internet Information, Seokyeong University, Seoul, Korea
wcshin@imail.skuniv.ac.kr
Abstract
Computing environments are evolving from mainframe systems to distributed systems. Stand-alone programs that have been developed using object-oriented technology are not suitable for these new environments. However, programs that have been developed using a component-based technology have proven to be more suitable for the new environments due to their granularity and reusability. In this paper, we present a reengineering process for migrating from an object-oriented legacy system to a component-based system. This process consists of two steps: first, to create basic components with the relationship of their constituent classes, second, to refine components using the metrics we propose.
Keywords: reengineering, component, object-oriented, legacy system, migration, reusability
1. Introduction
Computing environments are evolving from standalone mainframe systems to distributed systems. Many legacy systems today are object-oriented and component-based. One of the most prominent maintenance objectives is system migration to distributed environments [1].
Today, on top of object-oriented techniques, an additional layer of software development, based on components is being established. The goals of componentware are very similar to those of object-orientation: reuse of software is to be facilitated and thereby increased, software shall become more reliable and less expensive [2]. And the development of distributed system is more and more based on the use of component technology [3].
Components are regarded as being more coarse-grained compared to traditional reusable artifacts, such as objects, and are intended to provide a high-level representation of
the domain. Fine-grained traditional artifacts prevent managers from effectively working with these artifacts. However, the coarse-grained domain-oriented approach used for components allows managers to identify the components that satisfy their business requirements, and to assemble them into full-scale applications [4].
Also, the increasing size and complexity of modern software systems leads to huge and complicated conglomerations of classes and objects that are hard to manage and understand. Those systems obviously require a more advanced means of structuring, describing and developing them. Componentware is a possible approach to solve to these problems [5].
For that reason, components can be used more effectively and better suited for reuse than objects. We can get maintainability and reliability of software application by reusing existing elements, classes in legacy object-orient systems. Therefore, we should derive reusable components from classes in object-oriented systems and change object-oriented systems into systems suitable for distributed systems where many systems make use of components. As part of our work, we have found that there have been several studies related to our work in each of following areas:
1. The derivation of the necessary design information
in a legacy system through reverse engineering [6, 7, 8];
2. The reengineering process of a procedural legacy
system into an object-based distributed system [9, 10];
3. Component identification [3, 4];
4. The component interface [2, 11]; and 5. The wrapping technology [12, 13].
However, there is a distinct lack of a complete methodology for reengineering an object-oriented legacy system into a system that consists of components. Moreover the ‘legacy system’ is mostly procedural systems in those studies.
A_Reengineering_Process_for_Migrating_from_an_Object-oriented_Legacy_System_to_a_Component-based_System
In this paper, we present a process to reengineer an object-oriented legacy system into a component-based system. We create components based upon the original class relationships that we determine by examining the program source code. We describe the system and process formally and suggest applicable metrics for the process. These can be used to help create components with the desired level of complexity that can operate as cohesive functional units in a distributed environment.
The rest of this paper is organized as follows. Section 2 describes our system model with formalized form. In Section 3, we define our process to create components from object-oriented classes. In Section 4, we illuminate an example system and show how our process can be used to migrate it to a component-based system. Finally, Section 5 gives our conclusions and suggestions for future work.
2. System Model
We describe our system model as follows: Inheritance relationship between classes
We say that class X and Y have a inheritance relationship or that class Y is a child of class X or class X is a parent of class Y when class X is a direct parent of class Y in a inheritance hierarchy. Composition relationship between classes
We say that class X and Y have a composition relationship or class X has class Y as a composition member class, when class X has class Y as a member variable, class Y has a strong attachment to class X and the same life cycle as class X’s. Use relationship between classes
We say that class Y uses class X when:
oAny method of class Y gets the instance x of cla …… 此处隐藏:24043字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节




