• Title/Summary/Keyword: Software Reengineering

Search Result 43, Processing Time 0.025 seconds

Extracting of Features in Code Changes of Existing System for Reengineering to Product Line

  • Yoon, Seonghye;Park, Sooyong;Hwang, Mansoo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.5
    • /
    • pp.119-126
    • /
    • 2016
  • Software maintenance becomes extremely difficult, especially caused by multiple versions in project-based or customer-oriented software development methodology. For reducing the maintenance cost, reengineering to software product line can be a solution to the software which either is a family of products nevertheless little different functionalities or are customized for each different customer's requirement. At an initial stage of the reengineering, the most important activity in software product line is feature extraction with respect to commonality and variability from the existing system due to verifying functional coverage. Several researchers have studied to extract features. They considered only a single version in a single product. However, this is an obstacle to classify the commonality and variability of features. Therefore, we propose a method for systematically extracting features from source code and its change history considering several versions of the existing system. It enables us to represent functionalities reflecting developer's intention, and to clarify the rationale of variation.

Reengineering Black-box Test Cases (블랙박스 테스트 케이스의 리엔지니어링)

  • Seo Kwang-Ik;Choi Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.13D no.4 s.107
    • /
    • pp.573-582
    • /
    • 2006
  • Black-box testing needs to prepare fitting test data, execute software, and examine the result. If we test software effectively, not only selecting test cases but also representing test cases are important. In static testing effectiveness of testing activities also depends on how to represent test cases and checklist to validate. This paper suggests a method for finding ineffective critical test cases and reengineering them. An experiment of reengineering digital set-top box software shows the process and results of checking effectiveness and conformance of current test cases and patching test cases. The result shows how much save the test time and improve test coverage by reengineering test cases. Methods of reuse and restructuring test cases are also studied to fit into embedded product-line software.

An Efficient Reengineering Process based on RUP for Reusing Legacy Systems (레거시 시스템의 재사용을 위한 RUP 기반의 효율적 재공학 프로세스)

  • Choi, Il-Woo;Rhew, Sung-Yul
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.9
    • /
    • pp.619-630
    • /
    • 2002
  • The various software engineering techniques have been come out in order to cope with the software crisis since 1980's. The software Engineering has focused on the process of software component development. The process products a development guide for a quality and productive improvement of software. But, most of the methodologies assume that a new system will be constructed and reused in the future. these do not actually support efficiently how we reuse legacy system's resources and construct a new system. In this paper, we present an efficient Reengineering Process for reusing legacy systems, RUP+re, which extends and customizes RUP. Rup+re consists of Reverse Engineering Workflow, Re-Engineering Workflow and forward Engineering Process. We describe RUP+re's workflows with their own detail steps and verify them practically through the case study. So, we provide efficient guidelines to the software Reengineering process construction which reuses the resources of a legacy system.

The Design and Implementation of Restructuring Tool with Logical Analysis of Object-Oriented Architecture and Design Information Recovery (설계 정보 복구와 객체 지향 구조의 논리적 분석을 통한 재구성 툴 설계 및 구현)

  • Kim, Haeng-Gon;Choe, Ha-Jeong;Byeon, Sang-Yong;Jeong, Yeon-Gi
    • The Transactions of the Korea Information Processing Society
    • /
    • v.3 no.7
    • /
    • pp.1739-1752
    • /
    • 1996
  • Software reengineering involves improving the software maintenance process and improving existing systems by applying new technologies and software tools. Software reengineering can help us understand existing systems and discover software components that are common across systems. In the paper, we discuss the program analysis and environment to assist reengineering. Program analysis takesan existing program as input and generates information about structured part and object-oriented part. It is used to restructure the information by extracting code through reengineering methodology. These restructuring informations with object-oriented archilccture are mapping prolog form to query by using direct reation and summary relation.

  • PDF

An Efficient Reengineering Process for Legacy System Evolution (레거시 시스템 진화를 위한 효율적 재공학 프로세스)

  • Choi, Il-Woo;Rhew, Sung-Yul
    • The KIPS Transactions:PartD
    • /
    • v.10D no.5
    • /
    • pp.845-858
    • /
    • 2003
  • The various software engineering techniques have been come out in order to cope with the software crisis since 1980's. These days the software Engineering has focused on the process of software development which is the guide for a qualify and productive improvement of software. But, most of the methodologies assume that a new system will be constructed and reused in the future. these do not support how we reuse legacy system's resources and construct a new system efficiently. In this paper, we present an efficient Reengineering Process for legacy system evolutions, RUP+re, which extends and customizes RUP. RUP+re consists of Reverse Engineering Workflow, Transformation Workflow and Evolution Workflow based on Small-h model. We describe RUP+re's workflows with their own detail steps and verify the process through the case study practivally. So, we provide efficient guidelines to the software Reengineering process construction which evolutes the resources of a legacy system.

Work-flow Analysis and Specification Definition Method of Software Process (소프트웨어 프로세서의 작업흐름 분석과 명세정의 방법)

  • Yang, Hae-Sool
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.4
    • /
    • pp.904-914
    • /
    • 1998
  • BPR(Business Process Reengineering), a radical improvement approach of business process, has been paying attention, and work-flow management and automation has been concentrated on progress velocity of business process and productivity of engineers. In software engineering, software process engineering which focus to process begin to be watched, and for the purpose of software productivity and quality progress and reduction of development term, study on SPR(Software Process Reengineering) is being progressed. In this paper, made workflow analysis and design method for construction of work-flow management system of software process to stand firm process reengineering methodology. In other words, we studied modeling process methods for SPR process, and software process structure and workflow analysis method which construct software process workflow model and specification definition method of workflow software.

  • PDF

Method and Application of Searching Hot Spot For Reengineering Software Using AOP (AOP를 이용한 재공학에서의 핫 스팟 탐색과 응용)

  • Lee, Ei-Sung;Choi, Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.16D no.1
    • /
    • pp.83-92
    • /
    • 2009
  • Complicated business logic makes program complexity more complicated. It's inevitable that the program must undergo reengineering processes all the way of in its lifetime. Hot spot analysis that has diverse purposes is getting an important question more and more. As a rule, reengineering process is done by UML model-based approach to analyze the legacy system. The smallest fragment of targets to be analysed is unit, that is function or class. Today's software development is to deal with huge change of software product and huge class including heavy quantity of LOC(Lines Of Code). However, analysis of unit is not precise approach process for reliable reengineering consequence. In this paper, we propose very precise hot spot analysis approach using Aspect-Oriented Programming languages, such as AspectJ. Typically the consistency between UML and source is needed code to redefine the modified library or framework boundaries. But reengineering approach using AOP doesn't need to analyze UML and source code. This approach makes dynamic event log data that contains detailed program interaction information. This dynamic event log data makes it possible to analyze hot spot.

Successful ERP Implementation Model : Exploratory Model from Ernst & Young PER (Package Enabled Reengineering) and Change Management Methodology (성공적 ERP구축 모델 : Ernst & Young의 PER(Package Enabled Reengineering) 방법론과 변화관리 방법론을 중심으로 한 탐색적 모델)

  • An, Joon-Mo;Park, Dong-Bae
    • Korean Management Science Review
    • /
    • v.15 no.2
    • /
    • pp.59-70
    • /
    • 1998
  • According to the Gartner Group, the market for ERP software in Korea is growing rapidly. However, the number of successful ERP implementations is quite few. Standard(unmodified) ERP's are built based on best practices. Improvements expected from successful implementation are based on best practices built into the software. Many improvements are lost through modification to "standard" software. Even minor changes in software can significantly reduce benefits. Both implementation time and risk factors are increased with modifications. We introduce a methodology, called package Enable Re-engineering (PER) and the main components of change management program by Ernst & Young. "To-Be" model could be developed through the software capabilities. And change management processes such as continuous education and self-developments are required. The philosophy of the change management processes is to let the software package drive the re-engineering practices and avoid moving the software toward the "As-IS" process. Extensive top management involvement, major focus on speed, extensive communication program, and "clear" picture of the future are essential components of change management. We are sure that the complied experiences and model have implications for practice and for academicians for their endeavors in their fields.

  • PDF

A Study on Equivalence between Source Software and Target Software in Reengineering (재공학을 위한 원시 Software와 대상 Software의 동일성에 관한 연구)

  • Kim, Se-Jong;Lee, Moon-Kun
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06b
    • /
    • pp.47-52
    • /
    • 2007
  • 소프트웨어의 유지 보수에 대한 필요성이 커짐에 따라 서로 다른 소프트웨어 사이의 동일성에 대한 검증이 중요한 문제가 되었다. 본 논문에서는 새로운 패러다임을 적용해 변환된 프로그램과 기존의 프로그램 사이의 행위, 기능, 제어 측면의 비교를 통해 두 프로그램 사이의 동일성을 검증하는 방법을 제시한다.

  • PDF

Component-Based Systematic Reengineering Process (컴포넌트 기반의 체계적인 재공학 프로세스)

  • Cha Jung-Jun;Kim Chul Hong;Yang Young-Jong
    • The KIPS Transactions:PartD
    • /
    • v.12D no.7 s.103
    • /
    • pp.947-956
    • /
    • 2005
  • Software(S/W) reengineering is one of the effective technologies to produce a business worth and en and the S/W ROI continuously. In spite of, S/W reengineering has been recognized a cost-consumptive works with inefficient productivity. In fact we have used to transform to confusion system with destructive system architecture by extending and updating legacy system in a temporary expedients. Moreover it is impossible to provide the time-market products for coping with rapid changeable system environment and meeting to complicated customer's requirements. Therefore, we need a systematic reengineering methodology to fulfill the changeable environment, as appearance of new IT techniques, various alteration of business information model, and increment of business logic. Legacy systems can be utilized as the core property in business organization through reengineering methodology. In this paper, we target to establish the reengineering process, proposed MaRMI-RE consisting of initial Planning phase, reverse engineering and component transformation phase. To describe the MaRMI-RE, we presented the concrete tasks and techniques and artifacts per individual phase in process, and the case study is showed briefly.