• Title/Summary/Keyword: Software Reengineering

Search Result 43, Processing Time 0.025 seconds

Model-Based Quantitative Reengineering for Identifying Components from Object-Oriented Systems (객체지향 시스템으로부터 컴포넌트를 식별하기 위한 모델 기반의 정량적 재공학)

  • Lee, Eun-Joo
    • The KIPS Transactions:PartD
    • /
    • v.14D no.1 s.111
    • /
    • pp.67-82
    • /
    • 2007
  • Due to the classes in object-orientation, which are too detailed and specific, their reusability can be decreased. Components, considered to be more coarse-grained compared to objects, help maintain software complexity effectively and facilitate software reuse. Furthermore, component technology becomes essential by the appearance of the new frameworks, such as MDA, SOA, etc. Consequently, it is necessary to reengineer an existing object-oriented system into a component-based system suitable to those new environments. In this paper, we propose a model-based quantitative reengineering methodology to identify components from object-oriented systems. We expand system model and process, which are defined in our prior work, more formally and precisely. A system model, constructed from object-oriented system, is used to extract and refine components in quantitative ways. We develop a supporting tool and show effectiveness of the methodology through applying it to an existing object-oriented system.

Systems Analysis of the Internet E-Mail Security Using IDEFO Modeling (IDEFO 모델링을 이용한 인터넷 전자우편 보안시스템 분석)

  • Kim, Joong-In;Kim, Seok-Woo
    • IE interfaces
    • /
    • v.9 no.3
    • /
    • pp.249-256
    • /
    • 1996
  • The Internet e-mail security software and standards, such as PGP (Pretty Good Privacy) and PEM (Privacy Enhanced Mail), have several limitations that should be overcome for their further applications to the Internet and network environments. In order to improve and reengineer those software, details of the As-Is software processing should be analyzed. One of the possible techniques for software analysis is IDEFO function modeling. Although IDEFO has been mainly used for BPR as one of the industrial engineering techniques, it has been rarely applied to the analysis of software processing and reengineering in computer and software engineering fields. Additionally, no sufficient details of PGP and PEM processing are analyzed in the literature. The objective of this paper is to demonstrate the application of the IDEFO to the systems analysis of the Internet e-mail security software as well as to provide software developers with the basis for software improvements.

  • PDF

A Methodology to Determine Persistence of Objects from Procedural Program (절차지향 프로그램으로부터 객체의 지속성을 결정하기 위한 방법론)

  • Choi, Jeong-Ran;Lee, Moon-Kun
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.3
    • /
    • pp.133-144
    • /
    • 2002
  • This paper presents a methodology to determine safe persistence of objects from C code during reengineering process. The methodology consists of five steps: the static information methodology, reflection, instantiation, and the refinement. The steps assist to a reengineer to decide appropriate construction and destruction points of an object during its life cycle. Further the steps guarantee safe and consistent interactions among objects.

Reengineering guidelines to develop eclipse plug-ins using AWT based legacy application (AWT 기반 어플리케이션을 이클립스 플러그-인으로 리엔지니어링 할 때 재사용을 위해 고려할 사항들)

  • YANG, Jin-Seok;Son, Dong Ryul;Kang, Kyo. C.
    • Journal of Software Engineering Society
    • /
    • v.24 no.2
    • /
    • pp.67-75
    • /
    • 2011
  • In order to improve working speed, add more functions and provide better user interface of ASADAL, the AWT based Java application to support FORM Software Product Line Development Methodology; we had to reengineer this application to be Eclipse based plug-in application. In order to improve working speed, add more functions and provide better user interface of ASADAL, the AWT based Java application to support FORM Software Product Line Development Methodology; we had to reengineer this application to be Eclipse based plug-in application. And then, this paper introduces the plug-in developed by applying guidelines presented in the reengineering cases of ASADAL's feature model editor and behavior model editor.

  • PDF

A Design and Implementation of Variable Reference Graph (Variable Reference Graph 의 설계 및 구현)

  • Lee, Heon-Ki;Lee, Mun-Su;Shin, Gyu-Sang
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.04a
    • /
    • pp.815-820
    • /
    • 2000
  • Variable Reference Graph 는 C 언어로 작성된 프로그램으로부터 상호 절차적인 자료 흐름 분석 정보를 수평적 방향 그래프(directed graph)로 자동 생성해주는 역공학(reverse engineering) 도구들 중 하나이다. 본 논문에서는 판독성 있는 구조적 정보를 제공하기위한 그래픽 표현의 전략을 바탕으로 JAVA 로 구현된 그래픽 사용자 인터페이스(graphic user interface) 및 그래프 레이아웃 알고리즘(graph layout algorithm)을 기술한다. 이 알고리즘은 4 단계로 구성되어 있다: 정보 모형, 레벨 알고리즘, 순서 알고리즘, 위치 알고리즘. 각 단계별에서 수행되는 주요 알고리즘을 살펴 본다. 특히, 이 알고리즘들은 사이클(cycle) 및 비사이클(acyclic) 방향 그래프, 그리고 트리(tree)를 수평적 계층 구조를 생성하는데 사용될 수 있다. 본 논문에서 구현된 Variable Reference Graph 는 소프트웨어 재공학 도구를 개발하는 RESORT(RESearch on object-oriented SOftware Reengineering Technology) 과제에서 개발되었다.

  • PDF

A Study on Refined Information Generation through Classes Composition Based on Reengineering (재공학 기반의 클래스 합성을 통한 정련화된 정보 생성에 관한 연구)

  • 김행곤;한은주
    • Journal of Korea Multimedia Society
    • /
    • v.1 no.2
    • /
    • pp.239-248
    • /
    • 1998
  • Software reengineering is making various research for solutions against problem of maintain existing system. Reengineering has a meaning of development of softwares on existing systems through the reverse-engineering and the forward-engineering. It extracts classes from existing system's softwares to increase the comprehension of the system and enhance the maintenability of softwares. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects from other components. The classes and clusters in storage have structural relationship with system's main components to reuse in the higher level. These are referenced as dynamic informations through structuring an architect for each of them. The classes are created by extractor, searcher and composer through representing existing object-oriented source code. Each of classes and clusters extract refined informations through optimization. New architecture is created from the cluster based on its classes' relationship in storage. This information can be used as an executable code later on. In this paper, we propose the tools, it presented by this thesis presents a new information to users through analysing, based on reengineering, Object-Oriented informations and practicing composition methodology. These composite classes will increase reusability and produce higher comprehension information to consist maintainability for existing codes.

  • PDF

Program Translation from Conventional Programming Source to Java Bytecode (기존 프로그래밍 원시코드에서 자바 바이트 코드로의 변환)

  • Jeon-Geun Kang;Haeng-Kon Kim
    • Journal of the Korea Computer Industry Society
    • /
    • v.3 no.8
    • /
    • pp.963-980
    • /
    • 2002
  • Software reengineering is making various research for solutions against problem of maintain existing systems. Reengineering has a meaning of development of software on exizting systems through the reverse engineering auf forward engineering. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects. Is there a compiler that can compile a program written in a traditional procedural language (like C or Pascal) and generate a Java bytecode, rather than an executable code that runs oかy on the machine it was compiled (such as an a.out file on a Unix machine)\ulcorner This type of compiler may be very handy for today's computing environment of heterogeneous networks. In this paper we present a software system that does this job at the binary-to-binary level. It takes the compiled binary code of a procedural language and translates it into Java bytecode. To do this, we first translate into an assembler code called Jasmin [7] that is a human-readable representation of Java bytecode. Then the Jasmin assembler converts it into real Java bytecode. The system is not a compiler because it does not start at the source level. We believe this kind of translator is even more useful than a compiler because most of the executable code that is available for sharing does not come with source programs. Of course, it works only if the format of the executable binary code is known. This translation process consists of three major stages: (1) analysis stage that identifies the language constructs in the given binary code, (2) initialization stage where variables and objects are located, classified, and initialized, and (3) mapping stage that maps the given binary code into a Jasmin assembler code that is then converted to Java bytecode.

  • PDF

A Case Study of the Improvement of Maintainability using Reengineering Approach on the Mobile Software Platform (리엔지니어링을 통한 모바일 소프트웨어 플랫폼 유지보수성 향상에 대한 사례 연구)

  • Kim, Woo-Mok;Kwon, Jae-Whan;Bae, Doo-Whan
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.170-173
    • /
    • 2011
  • 본 논문에서는 모바일 소프트웨어 플랫폼 유지 보수성 개선 목표로 수행된 리엔지니어링 (Reengineering) 사례를 소개한다. 모바일 소프트웨어 플랫폼은 높아진 사용자 기능 요구 같은 대외적인 문제와 다양한 서비스 경쟁력 확보를 위한 제조사 내부적인 노력으로 인해 소프트웨어 규모와 복잡도가 급격히 증가하고 있는 상황이다. 기반 시스템으로서 모바일 소프트웨어 플랫폼은 기존 레거시(legacy) 시스템을 재사용하여 상품화를 수행하는 일반 임베디드 시스템 개발 특징과 이동 통신 사업자 요구사항 대응, 다양한 시장 및 다양한 하드웨어 빛 표준화 대응, 다양한 도메인 (domain) 이 하나의 기기에서 통합된 형태로 동작해야 한다는 점에서 다른 임베디드 시스템과 차별화된다고 볼 수 있다. 모바일 소프트웨어 플랫폼을 대상으로 한 성공적인 리엔지니어링 수행은 기반 시스템의 유지보수성 향상은 물론 연간 수십 개에 달하는 파생 시스템의 재사용성 및 생산성 향상을 기대할 수 있다. 본 연구에서는 사내 표준 프로세스를 재정의하고, 모바일 소프트웨어 플랫폼만의 특성을 고려하여 수행한 리엔지니어링 사례를 소개하고자 한다.

CONSTRUCTION BUSINESS PROCESS AUTOMATION USING WORKFLOW TECHNOLOGY

  • Dong-Eun Lee
    • International conference on construction engineering and project management
    • /
    • 2005.10a
    • /
    • pp.569-574
    • /
    • 2005
  • This paper presents the core technology of Construction Business Process Automation to model and automate construction business processes. Business Process Reengineering (BPR) and Automation (BPA) have been recognized as one of the important aspects in construction business management. However, BPR requires a lot of efforts to identify, document, implement, execute, maintain, and keep track thousands of business processes to deliver a project. Moreover, existing BPA technologies used in existing Enterprise Resource Planning (ERP) systems do not lend themselves to effective scalability for construction business process management. Application of Workflow and Object Technologies would be quite effective in implementing a scalable enterprise application for construction community. This paper present the technologies and methodologies for automating construction business processes by addressing how: 1) Automated construction management tasks are developed as software components, 2) The process modeling is facilitated by dragging-and dropping task components in a network, 3) Raising business requests and instantiating corresponding process instances are delivered, and 4) Business process instances are executed by using workflow technology based on real-time simulation engine. This paper presents how the construction business process automation is achieved by using equipment reservation and cancellation processes simplified intentionally.

  • PDF

A Study on The Reengineering Tool From conventional System into Design Pattern (기존 시스템에서 설계 패턴으로의 재공학 툴에 관한 연구)

  • Kim, Haeng-Kon;Cha, Jung-Eun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.9
    • /
    • pp.2334-2344
    • /
    • 1998
  • Appliciltion systems focusing class units, as component abstraction based on source code, has insufficient benefit of independency and reuse of elements. Only few effects are acquired, because it is only inclined implementation. We need design pattern to represent not only the problem abstraction but also information and relationship between system elements for generic solutions of specific domain Also, it is essential to software reverse engineering to catch the correct system through examming the cxisting system and utilizing the acquired knowledges as reusable resource. Namely, software reverse engineering for extracting the design pattern is very important because it improves the understand ability for system analysis and design through extracting the design structure of object-oriented system, and provides rich and high leIel reusabilitv through grasping the standard idioms and relationships between components. In this paper, we defined the extraction algorithm for design patterns with standardized, packaged and quantitative measlIIul thruugh applying reyerse engineering into existing ubject Olicnted system. And we designed the reengineering toul including reverse engineering for autumatic extractiun of design patterns ami reuse fur retrieval. editing and rebuilding oi design patterns. Also we applied the algorithms into Java applications.

  • PDF