• Title/Summary/Keyword: 코드 재사용

Search Result 475, Processing Time 0.031 seconds

Improving Reusability and Maintainability of Entity Bean in Bean-Managed Persistence. (BMP 기반 엔티티 빈의 재사용성과 유지보수성 향상 방안)

  • Kim, Go-Woon;Lee, Keum-Suk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05c
    • /
    • pp.1729-1732
    • /
    • 2003
  • EJB는 J2EE 기반의 분산 컴포넌트 모델로 재사용 가능한 소프트웨어이다. 그중 데이터베이스의 데이터를 객체화한 엔티티 빈 컴포넌트는 영속성에 따라 CMP와 BMP로 구분이 되는데, BMP는 영속성의 차이로 인해 CMP와 조립하기 어려워 재사용성이 떨어지고, 소스코드가 복잡해 유지보수가 어렵다. 본 논문에서는 EJB 컴포넌트 중에서 BMP를 기반으로 구현한 엔티티 빈에 Dual Persistent 엔티티 빈 패턴(Entity Bean Pattern)을 적용하여 재사용성을 향상시키고, 소스코드를 리팩토링(Refactoring) 하여 유지보수성 향상시키는 DPwR(Dual Persistence with Refactoring) 방법을 제안하였다.

  • PDF

Dataflow Block Clustering for Parallel Embedded Software Development Environment (병렬 내장형 소프트웨어 개발환경을 위한 데이터 플로우 블록 클러스터링)

  • Cho, Yong-Woo;Kwon, Seong-Nam;Ha, Soon-Hoi
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2008.06b
    • /
    • pp.337-341
    • /
    • 2008
  • 갈수록 복잡해지는 내장형 시스템을 개발함에 있어서 소프트웨어 개발의 중요성은 날로 커지고 있다. 기존 연구에서 소프트웨어 개발 효율을 높이기 위해 소프트웨어의 재사용 가능성을 높이고 병렬성 명세를 용이하게 하고자 중간단계코드(CIC)를 정의하였다. 이 중간단계 코드는 각 태스크의 순수 알고리즘을 기술하는 C형태의 태스크 코드와 그 외의 정보를 포함하는 XML형태의 아키텍쳐 정보 파일로 구성된다. 이 CIC는 사용자가 직접 기술할 수 있고 각종 모델로부터 자동 생성할 수도 있다. 이 논문에서는 후자에 초점을 두고 데이터 플로우 모델에 사용된 블록들을 클러스터링하여 태스크 코드를 생성하는 기법을 제안하였다. 이것을 위해 블록 클러스터링 알고리즘은 주어진 클러스터의 크기로 블록이 묶일 때까지 블록의 수행시간 정보를 고려하여 함수 병렬성을 최대한 보존하며 블록들을 묶어나간다. H.263 코덱 예제를 이용한 실험을 통해 제안하는 방법이 다양한 클러스터의 크기 조건에 대해서 다양한 클러스터링 결과를 제공함을 보였다.

  • PDF

A Study on Reverse Engineering Based Object Orient Diagram Extract Technique (역공학 기반의 객체지향 다이어그램 추출기법에 관한 연구)

  • Park, Sang-Hoon;Kim, Yun-Hyung;Rhew, Sung-Yul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.329-332
    • /
    • 2004
  • 레거시 소프트웨어를 재사용하기 위해서는 소스코드의 구조와 행위, 연관관계를 파악하는 것이 중요하다. 소스코드 분석을 통해 레거시 소프트웨어의 구조를 얻어내고 이에 대한 수정을 통해 소스코드에 반영하고자 하는 연구가 활발히 진행되고 있다. 그러나 기존의 역공학 도구들은 레거시 소프트웨어를 객체지향 다이어그램으로 정확히 추출해내지 못하였고 또한 호환성이 떨어지는 문제점을 가지고 있다. 본 연구에서는 기존의 역공학 툴들의 문제점을 보안하고 호환성을 높이며 재사용성을 향상시키기 위한 방법을 제시한다. 자바 소스코드로부터 UML클래스 다이어그램을 추출하기 위해 본 논문에서는 자바 소스코드의 파싱을 통해 클래스 다이어그램 생성에 필요한 AST를 추출하여 XML로 저장함으로써 상호운영성을 높이며 클래스간의 연관관계를 상세히 표현하기 위한 방법을 제시한다.

  • PDF

Extended IPO technique for Code Refactoring (코드 리팩토링을 위한 확장된 IPO 기법)

  • Park, Jae-Jin;Lee, Jae-Wook;Hong, Jang-Eui
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.255-257
    • /
    • 2012
  • 긴 파라미터 리스트(Long parameter list)는 소프트웨어 코드의 품질을 저해시키는 Bad Smell들 중 하나로써, 코드에 대한 이해도를 떨어뜨리고 코드의 변경을 어렵게 한다는 문제점이 있다. 이러한 문제를 해결하는 기법들 중 하나인 IPO(Introduce Parameter Object) 기법은 함께 사용되는 빈도가 높은 파라미터들을 하나의 클래스로 만든 후에 관련된 기능들을 해당 클래스의 메소드로 추출하여 사용하므로 코드의 중복을 막아 재사용성을 높이고 코드에 대한 이해도를 높일 수 있다. 하지만 IPO 기법의 주된 관심사는 파라미터 그룹의 발생 빈도에 초점을 두고 있으며, 커플링에 대한 고려가 충분히 이루어지지 않는다. 따라서 본 연구에서는 IPO 기법과 커플링의 관계를 분석하여 IPO 기법이 커플링까지 고려할 수 있도록 확장된 IPO기법을 제안한다. 제안된 기법은 기존의 기법에 비해 더 낮은 커플링을 달성하여 고품질의 코드를 얻을 수 있다.

A Feature-Oriented Method for Extracting a Product Line Asset from a Family of Legacy Applications (레거시 어플리케이션 제품군으로부터 제품라인 자산을 추출하는 휘처 기반의 방법)

  • Lee, Hyesun;Lee, Kang Bok
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.6 no.7
    • /
    • pp.337-352
    • /
    • 2017
  • Clone-and-own reuse is an approach to creating new software variants by copying and modifying existing software products. A family of legacy software products developed by clone-and-own reuse often requires high maintenance cost and tends to be error-prone due to patch-ups without refactoring and structural degradation. To overcome these problems, many organizations that have used clone-and-own reuse now want to migrate their legacy products to software product line (SPL) for more systematic reuse and management of software asset. However, with most of existing methods, variation points are embedded directly into design and code rather than modeled and managed separately; variation points are not created ("engineered") systematically based on a variability model. This approach causes the following problems: it is difficult to understand the relationships between variation points, thus it is hard to maintain such code and the asset tends to become error-prone as it evolves. Also, when SPL evolves, design/code assets tend to be modified directly in an ad-hoc manner rather than engineered systematically with appropriate refactoring. To address these problems, we propose a feature-oriented method for extracting a SPL asset from a family of legacy applications. With the approach, we identify and model variation points and their relationships in a feature model separate from implementation, and then extract and manage a SPL asset from legacy applications based on the feature model. We have applied the method to a family of legacy Notepad++ products and demonstrated the feasibility of the method.

A Code Clustering Technique for Unifying Method Full Path of Reusable Cloned Code Sets of a Product Family (제품군의 재사용 가능한 클론 코드의 메소드 경로 통일을 위한 코드 클러스터링 방법)

  • Kim, Taeyoung;Lee, Jihyun;Kim, Eunmi
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.1
    • /
    • pp.1-18
    • /
    • 2023
  • Similar software is often developed with the Clone-And-Own (CAO) approach that copies and modifies existing artifacts. The CAO approach is considered as a bad practice because it makes maintenance difficult as the number of cloned products increases. Software product line engineering is a methodology that can solve the issue of the CAO approach by developing a product family through systematic reuse. Migrating product families that have been developed with the CAO approach to the product line engineering begins with finding, integrating, and building them as reusable assets. However, cloning occurs at various levels from directories to code lines, and their structures can be changed. This makes it difficult to build product line code base simply by finding clones. Successful migration thus requires unifying the source code's file path, class name, and method signature. This paper proposes a clustering method that identifies a set of similar codes scattered across product variants and some of their method full paths are different, so path unification is necessary. In order to show the effectiveness of the proposed method, we conducted an experiment using the Apo Games product line, which has evolved with the CAO approach. As a result, the average precision of clustering performed without preprocessing was 0.91 and the number of identified common clusters was 0, whereas our method showed 0.98 and 15 respectively.

A Survey on Using of Pallet in Korea (파렛트 사용 실태)

  • (사)한국포장협회
    • The monthly packaging world
    • /
    • s.236
    • /
    • pp.48-54
    • /
    • 2012
  • 본 조사의 대상은 화물을 일정한 수량 단위로 하역 운송 보관하기 위하여 사용하는 파렛트이다. 조사 대상 파렛트는 용도에 따라서 재사용 파렛트와 일회용 파렛트로 구분하되, 재사용 파렛트는 다시 구매 보유 물량과 임대 사용 물량으로 구분하였다. 아울러 재질에 따라서 플라스틱, 목재, 금속으로 구분하하였다. 조사 대상 업체의 범위는 원칙적으로 우리나라 산업 현장에서 파렛트를 사용하고 있는 모든 업체이다. 조사 대상인 업체의 범위를 기본적으로 통계청에서 제공하는 표준산업분류코드(KSIC)에 근거하여 업종, 규모 및 지역 관점에서 분류하여 처리하였다. 그러나 물류 업종에 대한 조사는 다소 미흡한 수준이었다.

  • PDF

원전연료 피복재 손상자료를 이용한 CAAP(Coolant Activity Analysis Program) 코드 평가

  • 안희진;이인형;송명재
    • Proceedings of the Korean Nuclear Society Conference
    • /
    • 1997.10a
    • /
    • pp.121-126
    • /
    • 1997
  • PWR 원자력발전소의 정상 및 과도상태 운전중 동적모델과 확산모델을 이용하여 핵분열 생성물이 냉각재로 유출되는 현상을 모델링하고 국내외 핵연료 검사자료를 이용하여 개발된 전산프로 그램을 실증하였다. 손상핵연료수 예측결과 기존에 개발되어 사용되고 있는 Westinghouse사의 CADE 코드와 ABB-CE사의 IODYNE 코드보다 더 정확하였으며, 손상영역 및 연소도 예측도 비교적 정확하였다.

  • PDF

The Study of Software Analysis Process for Vertical Reuse (수직적 재사용을 위한 방법론 연구)

  • Bang Jung Won
    • Journal of the Korea Society of Computer and Information
    • /
    • v.9 no.3
    • /
    • pp.103-107
    • /
    • 2004
  • Software Reuse have the advantages of increasing productivity and software reliability reducing the period for software development and cost, sharing the information which is related to software. Vertical Reuse is the method which reuse is restricted to a specific area and can increase the reliability of software reuse due to high understanding of related area. Bottom-up approach of Vertical Reuse classifies the related information and s the results. It allows the reuse of not only pure source code but also informal documents.

  • PDF

A Study on the Building Component Framework Development adapting Software Architecture (소프트웨어 아키텍처를 적용한 컴포넌트 프레임워크 개발에 관한 연구)

  • Lee, Chang-Hun;Lee, Gyeong-Hwan
    • The KIPS Transactions:PartD
    • /
    • v.9D no.3
    • /
    • pp.409-416
    • /
    • 2002
  • The reuse by using framework is proposed to improve productivity. It is a set of usable and expandable classes and their connectivity. But frameworks are described with programming languages, it is hard for developers to learn the collaborative patterns of a framework by reading it. Patterns are one approach to improving the documentation. But this should be redesigned to expand and redefine the framework. The necessity of the formal description of architecture information is being proposed to relate to programming language. This paper support the following points. First of all, it has been proposed the description of the needed elements when developing a framework using ADL. Secondly, the current development process has been refined to be suitable for developing the domain framework. Thirdly, it has been proposed the development of a application using a framework implemented by an architecture information described with ADL. Overalls, the main contents of this research is defining the ideas of a description and development of an architecture framework using ADL.