• Title/Summary/Keyword: 리펙토링

Search Result 3, Processing Time 0.02 seconds

Improving Static Code Complexity with Refactoring technique based on SW visualization. (SW 가시화 기반 리펙토링 기법 적용을 통한 정적 코드 복잡도 개선)

  • Kang, Geon-hee;Son, HyunSeoung;Kim, Youngsoo;Park, Yong B.;Kim, R. Young Chul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.11a
    • /
    • pp.650-653
    • /
    • 2014
  • 기존의 소프트웨어 개발은 SW품질을 중요시 하지만, 고품질에 대한 문제가 아직도 존재한다. 또한 기존 레가시 시스템는 개발자나 설계의 부재 경우가 많고, 코드의 내부 복잡도와 모듈간의 결합도가 높을 가능성이 높다. 따라서 코드 가시화를 통한 복잡도 개선은 고품질화과 더불어 코드 모듈의 재사용과 유지보수등과 직접적 관련성이 있다. 본 논문은 기존 SW가시화용 자동 Tool Chain 기반에서 여러 리펙토링 방법 절차 적용으로 복잡도 개선을 제안 한다. 이런 코드 가시화가 결과적으로 타깃의 결합도를 줄일 수 있다. 기존의 레가시 코드에 자동 Tool chain적용은 고품질 적용이 충분히 예상된다.

A Case Study on Refactoring using Design Patterns (디자인 패턴을 이용한 리팩토링 사례 연구)

  • Yoo, Myong-Hwan;Chung, In-Jeong
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11c
    • /
    • pp.2031-2034
    • /
    • 2002
  • 소프트웨어가 대형화되고 복잡해짐에 따라 개발 과정에서 많은 요구사항이 발생되고 변화가 일어난다. 이러한 상황에서 소프트웨어는 유연성을 지니고 요구사항을 충족시켜야 한다. 그러나 추후에 발생할 요구사항을 모두 예견하고 충족시키는 것은 불가능하다. 이를 위해 기존 소프트웨어를 재사용하고 유연성을 높일 수 있도록 소프트웨어의 리펙토링(refactoring)을 해주어야 한다. 리펙토링은 행동(behavior) 변화가 없이 보호하고 소프트웨어를 효율적이고 유지보수가 쉽도록 전환하는 과정이다. 리펙토링에서 추상 슈퍼클래스 (abstract superclass)의 생성과 디자인 패턴을 이용함으로써 소프트웨어의 재사용성을 높여주고 유연성을 제공해 줄 수 있다. 본 논문에서는 사례 연구로써 표준프로파일 제공시스템의 통합검색부분에 추상 슈퍼클래스의 추출 및 생성, 디자인 패턴, 기존 프로그램의 합성 등의 방법을 적용하여 리팩토링을 하도록 한다.

  • PDF

A Practical Study on Code Static Analysis through Open Source based Tool Chains (Open Source 기반 툴 체인화를 통한 코드 정적 분석 연구)

  • Kang, Geon-Hee;Kim, R. Young Chul;Yi, Geun Sang;Kim, Young Soo;Park, Yong. B.;Son, Hyun Seung
    • KIISE Transactions on Computing Practices
    • /
    • v.21 no.2
    • /
    • pp.148-153
    • /
    • 2015
  • In our domestic software industries, it is focused on such a high quality development/ testing process, maturity measurement, and so on. But the real industrial fields are still working on a code-centric development. Most of the existing legacy systems did not keep the design and highly increased the code complexity with more patching of the original codes. To solve this problem, we adopt a code visualization technique which is important to reduce the code complexity among modules. To do this, we suggest a tool chaining method based on the existing open source software tools, which extends NIPA's Software Visualization techniques applied to procedural languages. In addition, it should be refactored to fix bad couplings of the quality measurement indicators within the code visualization. As a result, we can apply reverse engineering to the legacy code, that is, from programming via model to architecture, and then make high quality software with this approach.