• 제목/요약/키워드: Software Reengineering

검색결과 43건 처리시간 0.021초

최적합 객체 선정을 위한 다중 객체군 추출 (A Extraction of Multiple Object Candidate Groups for Selecting Optimal Objects)

  • 박성옥;노경주;이문근
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권12호
    • /
    • pp.1468-1481
    • /
    • 1999
  • didates.본 논문은 절차 중심 소프트웨어를 객체 지향 소프트웨어로 재/역공학하기 위한 다단계 절차중 첫 절차인 객체 추출 절차에 대하여 기술한다. 사용한 객체 추출 방법은 전처리, 기본 분할 및 결합, 정제 결합, 결정 및 통합의 다섯 단계로 이루어진다 : 1) 전처리 과정에서는 객체 추출을 위한 FTV(Function, Type, Variable) 그래프를 생성/분할 및 클러스터링하고, 2) 기본 분할 및 결합 단계에서는 다중 객체 추출을 위한 그래프를 생성하고 생성된 그래프의 정적 객체를 추출하며, 3) 정제 결합 단계에서는 동적 객체를 추출하며, 4) 결정 단계에서는 영역 모델링과 다중 객체 후보군과의 유사도를 측정하여 영역 전문가가 하나의 최적합 후보를 선택할 수 있는 측정 결과를 제시하며, 5) 통합 단계에서는 전처리 과정에서 분리된 그래프가 여러 개 존재할 경우 각각의 처리된 그래프를 통합한다. 본 논문에서는 클러스터링 순서가 고정된 결정론적 방법을 사용하였으며, 가능한 경우의 수에 따른 다중 객체 후보, 객관적이고 의미가 있는 객체 추출 방법으로의 정제와 결정, 영역 모델링을 통한 의미적 관점에 기초한 방법 등을 사용한다. 이러한 방법을 사용함으로써 전문가는 객체 추출 단계에서 좀더 다양하고 객관적인 선택을 할 수 있다.Abstract This paper presents an object extraction process, which is the first phase of a methodology to transform procedural software to object-oriented software. The process consists of five steps: the preliminary, basic clustering & inclusion, refinement, decision and integration. In the preliminary step, FTV(Function, Type, Variable) graph for object extraction is created, divided and clustered. In the clustering & inclusion step, multiple graphs for static object candidate groups are generated. In the refinement step, each graph is refined to determine dynamic object candidate groups. In the decision step, the best candidate group is determined based on the highest similarity to class group modeled from domain engineering. In the final step, the best group is integrated with the domain model. The paper presents a new clustering method based on static clustering steps, possible object candidate grouping cases based on abstraction concept, a new refinement algorithm, a similarity algorithm for multiple n object and m classes, etc. This process provides reengineering experts an comprehensive and integrated environment to select the best or optimal object candidates.

컴포넌트 기반 개발을 위한 기존 애플리케이션 클래스의 JavaBean으로의 변환 (Transformation from Legacy Application Class to JavaBeans for Component Based Development)

  • 김병준;김지영;김행곤
    • 정보처리학회논문지D
    • /
    • 제9D권4호
    • /
    • pp.619-628
    • /
    • 2002
  • 소프트웨어 부품화는 소프트웨어 개발에 있어서의 궁극적인 목표이다. 컴포넌트 기반의 개발은 이러한 재사용의 초점을 코드에 의한 수동적인 조작이나, 클래스 라이브러리보다 발전된 형태인 컴포넌트에 초점을 두고 있다. 컴포넌트 구축은 컴포넌트 모델에 적합한 새로운 소프트웨어 컴포넌트를 재개발 해야하는 비효율성으로 인해 추가적인 노력과 비용을 야기 시킨다. 최근 많이 사용되고 있는 자바 응용시스템의 경우 자바 언어 기반의 컴포넌트 모델이 존재하지만, 소규모의 재사용 단위나 제한된 GUI 컴포넌트 개발에만 머무르고 있어, 컴포넌트로의 기능을 충분히 발휘하지 못하거나 추가적인 비용, 노력이 필요하며 또한 특정 도메인 컴포넌트에서만 제한적이다는 단점이 있다. 따라서, 본 논문에서는 기존의 자바로 개발된 응용시스템을 기반 하여 자바의 컴포넌트 모델인 자바빈즈를 적용하기 위해, 컴포넌트를 확장 추출하고, 재사용단위로서 비즈니스 로직의 부분적인 수용을 통해 이 응용시스템에서의 자바빈즈로 변환하는 프로세스를 제시하고 알고리즘을 제안한다.

통합 객체 관리 모델을 위한 F77/J++ 생성기에 관한 연구 (A Study on F77/J++ Code Generator for Integration Object Management Model)

  • 선수균;송영재
    • 한국정보처리학회논문지
    • /
    • 제7권10호
    • /
    • pp.3064-3074
    • /
    • 2000
  • 최근 컴퓨팅 환경은 통합되는 개방형 시스템으로 변모하고 있다. 요즘에도 여러 기업과 연구기관에서는 노후코드를 그대로 사용하고 있으며 급변하는 컴퓨팅 환경에 능동적으로 대처를 못하고 있다. 또한 여러 개발자가 소프트웨어 개발에서 생산성 문제와 노후코드를 변환시키는데 많은 고민을 하고 있다. 이에 본 논문에서는 급변하는 환경에 대처하고 새로운 소프트웨어 개발에 생산성을 향상시키기 위해서 통합 객체 관리 모델을 제안한다. 이 모델은 세 계층으로 나누며 위 계층은 사용자에게 정보를 분류하고 디스플레이하는 계층이다. 가운데 계층은 제어기능으로 통합 관리기 계층이다. 아래 계층은 데이터를 관리하는 객체 관리 저장소계층이다. 따라서, 통합 객체 관리 모델을 위한 F77/J++ 생성기(FORTRAN-77/Java Code generator)를 설계 구현한다. 생성기는 노후코드를 새로운 코드로 변환시켜 생산성을 향상시키고 업무를 재 설계하는데 도움을 준다. 재공학 전략을 적용하여 아홉 단계 전략으로 구성되어 있다. 이는 향후 시스템의 통합에 잇점인 소프트웨어의 재사용성을 극대화하여 생산성을 향상시키는 프로토타이핑을 지원할 것으로 기대된다.

  • PDF

Web 소프트웨어 컴포넌트 재사용을 위한 라이브러리 관리와 서비스 (Library Management and Services for Software Component Reuse on the Web)

  • 이성구
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권1_2호
    • /
    • pp.10-19
    • /
    • 2002
  • 사용자들은 웹브라우저를 통해 웹에 존재하는 소프트웨어 컴포넌트 라이브러리를 탐색한다. 그러나, 웹 라이브러리에 포함된 컴포넌트들의 수가 빠르게 증가하는 상황에서 우리는 이러한 라이브러리들을 효과적으로 구성하고 관리하기 위한 방법을 필요로 한다. 전통적인 웹 라이브러리 검색 시스템들은 컴포넌트들을 저장하고 검색하기 위해 다양한 분류방법을 이용한 검색 서비스를 제공한다. 이러한 전통적인 시스템들은 사용자들이 검색 초기 단계에서 라이브러리의 전체적인 내용의 이해를 바탕으로 한 다양한 검색 서비스를 준비하지 못한다. 본 논문은 전통적인 시스템들의 단순한 컴포넌트 저장과 검색이상의 다양한 서비스와 객체지향 컴포넌트들의 효율적인 관리를 제공하는 웹 라이브러리 시스템에 대해 토론한다. 이러한 서비스들은 역공학 프로세스를 통한 컴포넌트 이해서비스, 라이브러리 요약내용 자동생성서비스, 이해기반 검색서비스이다. 또한, 본 논문에서 적용된 자동화된 클러스터 기반 분류체계 방법의 성능은 전통적인 분류방법을 이용하는 2개의 다른 시스템들의 성능과 비교, 평가된다.

UML을 이용한 도서관 자료 구입 모델링 (Library Material Acquisition Process Modeling Applying UML)

  • 김성혁;김현주;김경옥
    • 정보관리학회지
    • /
    • 제18권4호
    • /
    • pp.83-101
    • /
    • 2001
  • 본 연구는 전통적인 도서관의 자료구입과 관련한 수서 업무에 전자상거래의 비즈니스 프로세스와 작업흐름개념을 응용하여 도서관 자료구입 프로세스를 재설계(BPR)하였으며 재설계된 업무를 비주얼 모델링 개념을 이용한 UML(Unified Modeling Language)을 이용하여 모델링하였다. 수서 업무의 재설계를 통해 도서관의 자료 구입 업무과정을 유연하고 신속하게 처리할 수 있으며 이러한 모델을 통해 도서관, 정보센터뿐만 아니라 출판사, 출판 대행사, 배송 및 결재업체 등의 관련 분야 참여자들의 업무를 효율화하고 나아가 전통적인 도서관 업무에 종사하는 사서들을 새로운 업무로 전환시켜 도서관 운영의 디지털화를 달성할 수 있을 것이다.

  • PDF

SETL을 이용한 소프트웨어의 컴포넌트 기반 융복합 개발 방법 (Component-based Convergence Development Method of Software using SETL)

  • 유홍준;양해술
    • 디지털융복합연구
    • /
    • 제13권6호
    • /
    • pp.165-175
    • /
    • 2015
  • 정보 시스템을 구현하는 프로그램을 설계하는 방법은 Flowchart에서 UML의 Activity Diagram에 이르기까지 다양하다. 하지만, 이제까지 개발된 프로그램 설계 도구와 방법은 프로그램 코딩 도구와 방법에 비해서 상대적으로 효율적이지 않았다. 또한 프로그램 설계와 코드 간의 쌍방향 절환이 용이하지 않아 개발 생산성과 유지보수성을 개선하는 데 한계가 있었다. 따라서 본 연구에서는 컴포넌트 기반의 SOC(Structured Object Component)을 지원하는 설계 및 코딩 융복합 자동화 도구 SETL(Structured Efficiency TooL)의 개발을 통해 프로그램 설계와 코딩 단계를 융복합하여 병렬적인 작업이 가능하도록 하는 융복합 개발 방법을 제안한다. 즉, SETL을 사용하면 프로그램 설계와 코딩 간의 절환을 거의 실시간으로 수행할 수 있어, 소프트웨어 개발 공정 단계간의 격차를 해소하여 개발 생산성 및 유지보수성을 극대화 할 수 있다.

단일 페이지 AJAX 애플리케이션을 위한 템플릿 기반 웹 애플리케이션 재공학 기법 (Reengineering Template-Based Web Applications to Single Page AJAX Applications)

  • 오재원;최현철;임승호;안우현
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제1권1호
    • /
    • pp.1-6
    • /
    • 2012
  • 템플릿 기반 웹 애플리케이션(TWA)은 웹 페이지들의 공통부분을 단일 코드 파일(템플릿)로, 각 페이지에 특화된 부분은 별도의 파일로 관리한다. HTTP 요청이 발생하면 이 두 종류 파일을 동적으로 조합하여 웹 페이지를 생성한다. 이를 통해 사용자에게 일관된 UI을 제공하며 코드 중복을 제거해 유지보수성을 향상시킨다. 그러나 TWA는 사용자의 요청 시 현재 페이지에서 바뀌어야 할 부분이 일부지만 페이지 전환이 이루어져 갱신이 불필요한 데이터까지 전송되고 처리되는 문제가 있다. 본 논문은 Java 기반 TWA를 대상으로 이 문제를 해결한다. 제안 기법은 페이지 전환을 제거하기 위해 HTML에 있는 하이퍼링크를 AJAX를 이용하는 JavaScript 이벤트 핸들러로 변환한다. 또한 갱신에 필요한 데이터만 반환하기 위해 JSP, Servlet 코드에서 템플릿 전송 코드를 제거한다. 따라서 이 기법은 페이지 전환으로 발생하는 네트워크와 CPU 부하를 감소시키며, 비동기적인 페이지 업데이트로 사용자의 체감 성능을 향상시킨다. 성능 검증을 위해 전형적인 TWA를 대상으로 이 기법을 적용하였다. 성능 측정 결과 기존 TWA보다 응답시간을 최대 87% 개선하였다.

절차지향 소프트웨어로부터 클래스와 상속성 추출 (Extraction of Classes and Hierarchy from Procedural Software)

  • 최정란;박성옥;이문근
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권9호
    • /
    • pp.612-628
    • /
    • 2001
  • 본 논문은 절차지향 소프트웨어로부터 클래스와 상속성을 추출하기 위한 방법론을 제안한다. 본 논문에서 제안한 방법론은 모든 경우의 객체 후보군으로부터 정의된 클래스 후보군과 그들의 상속성을 생성하여 클래스 후보군과 영역 모델 사이의 관계성과 유서 정도를 가지고 최고 또는 최적의 클래스 후보군을 선택하는데 초점을 둔다. 클래스와 상속성 추출 방법론은 다음과 같은 두드러진 특징을 가지고 있다. 정적(속성)과 동적(메소드)인 클러스터링 방법을 사용하고, 클래스 후보군의 경우는 추상화에 초점을 두며, m개의 클래스 후보군과 n개의 클래스 후보 사이의 상속 관계의 유사도 측정 즉, 2차원적 유사도 측정은 m개의 클래스 후보와 n개의 클래스 후보 사이의 전체 그룹에 대한 유사도를 구하는 수평적 측정과 클래스 후보군들에서 상속성을 가진 클래스의 집합과 영역 모델에서 같은 클래스 상속성을 가진 클래스 집합 사이의 유사도를 위한 수직적 측정방법이 있다. 이러한 방법론은 최고 또는 최적의 클래스 후보군을 선택하기 위해 제공학 전문가에게 광범위하고 통합적인 환경을 제시하고 있다.

  • PDF

레거시로부터 CBD로의 재공학을 위한 메타 모델 설계 기법 (A Design Technique of Meta-Model for Reengineering from Legacy to CBD)

  • 김철진;조은숙
    • 한국멀티미디어학회논문지
    • /
    • 제8권3호
    • /
    • pp.398-412
    • /
    • 2005
  • 레거시 시스템을 새로운 하드웨어 플랫폼과 새로운 소프트웨어 개발 패러다임에 맞도록 이주하려는데 대한 관심이 증가하고 있다. 그 이유는 레거시 시스템의 유지보수에 많은 비용이 들고 기존 시스템에 대한 문서 정보가 부족하다는데 있다. 레거시 시스템을 새로운 시스템을 변환하기 위해 스크린 스크래핑, 래핑, 부분 변환, 재개발 등등의 여러 다양한 접근법들과 도구, 그리고 방법론들이 제시되어왔다. 그러나 이러한 접근법들은 대부분이 코드 변환 혹은 일부 모델 변환 수준이기 때문에 아키텍처나 요구사항 수준에서의 변환까지는 체계적으로 제시하지 못하였다. 따라서, 본 논문에서는 이러한 한계점을 극복하기 위하여 아키텍처와 요구사항 단계까지 적용할 수 있는 3차원 공간 개념을 적용한 메타 모델 기반의 접근법을 제시하고자한다. 이러한 통합 모델은 재 공학에 있어서 역 공학 단계인 코드에서 아키텍처 그리고 순 공학 단계인 아키텍처에서 코드로의 자연스러운 변환 혹은 협력 진화(Co-evoluton)를 유도한다.

  • PDF

객체 재사용성 향상을 위한 레거시 시스템 인터페이스 기반 객체추출 기법 (An Object Extraction Technique for Object Reusability Improvement based on Legacy System Interface)

  • 이창목;유철중;장옥배
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권11호
    • /
    • pp.1455-1473
    • /
    • 2004
  • 본 연구는 객체 재사용과 재공학을 위해 레거시 시스템의 인터페이스 정보로부터 의미 있는 정보를 추출하고 새로운 시스템에 통합될 수 있도록 하기 위한 기존 레거시 시스템의 인터페이스에 기반 한 객체추출 기법을 제안한다. 본 논문에서 제안하는 객체추출 기법은 인터페이스 사용 사례 분석 단계, 인터페이스 객체 분할 단계, 객체구조 모델링 단계, 객체 모델 통합 단계 등 4단계로 구성되어 있다. 인터페이스 사용 사례 분석 단계는 인터페이스 구조 그리고 레거시 시스템과 사용자간의 상호작용 등의 정보를 획득하는 단계이다. 인터페이스 객체분할 단계는 인터페이스 정보를 의미 있는 필드들로 구분하는 단계이며, 객체구조 모델링 단계는 인터페이스 객체들 간의 구조적 관계와 협력 관계를 파악하여 모델링하는 단계이다. 마지막으로 객체 모델 통합 단계는 객체 단위의 단위 모델들을 통합하여 추상화된 정보를 포함한 상위 수준의 통합 모델을 유도하는 단계다. 객체추출 기법에 의해 생성된 객체 통합 모델은 역공학 기술자들의 레거시 시스템 이해와 레거시 시스템의 정보를 새로운 시스템에 적용하는데 있어 좀 더 용이한 효율성을 제공한다.