• 제목/요약/키워드: 소프트웨어 재공학

검색결과 272건 처리시간 0.039초

소프트웨어 유지보수와 재사용을 위한 재공학 Refactoring 기법 연구 (A Study of Re-Engineering Refactoring Technique for the Software Maintenance and Reuse)

  • 박진호;이종호;류성열
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.513-515
    • /
    • 2000
  • 소프트웨어 유지보수는 노력과 시간이 많이 소요된다. 유지보수 되는 기존의 시스템들을 규모가 크고 복잡하기 때문에 운영비용의 대부분이 소프트웨어 유지보수에 소요되는 실정이다. 소프트웨어의 재사용은 이러한 문제점들을 해결하기 위하여, 소프트웨어 역공학, 재공학, 컴포넌트와 같은 많은 기법들이 제안되었다. 이런 기법들 중에서 재공학은 재사용 하려는 소프트웨어를 분석, 재정의, 재문서화 등의 소프트웨어 역공학 방법을 통하여 좀더 효율적으로 소프트웨어를 분석할 수 있고, 순공학을 통해 문제점들의 교환과 새로운 구조와 시스템의 수정을 통해 더욱 경제적인 시스템을 만들 수 있다. 본 논문에서는 시스템의 유지보수와 재사용을 위한 재공학 Refactoring 기법을 제시한다.

  • PDF

공장설비 제어를 위한 레거시 소프트웨어 시스템 분석 및 재공학

  • 한재일;이명희;유철중;장옥배
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제13권3호
    • /
    • pp.55-70
    • /
    • 2000
  • 공장의 설비들은 장비 교체가 아예 불가능하여 오랜 기간동안 사용되는 경우가 있다. 이러한 경우 공장의 설비 제어를 위한 소프트웨어 시스템도 노후 되어 현재 사용되는 운영체제나 새로운 시스템 상에서 정상적인 작동이 어렵게 되며, 또한 사용자의 새로운 요구사항을 수용하기도 어렵다. 이러한 문제점들은 기존 소프트웨어 시스템 분석을 바탕으로 한 재공학을 통해서 그 해결 방안을 모색하여야 한다. 제어용 소프트웨어 시스템의 재구성은 기존의 설비가 교체되지 않은 상태이므로 기존의 구성과 제어에 사용되는 통신 프로토콜등은 그대로 사용하되 운영체제와 사용자 인터페이스등을 변경하여 작업능률과 사용상의 편리함을 향상시킬 수 있다. 본 논문에서는 전파 송신 설비를 가상으로 구성하고 설비를 제어하는 기존의 DOS용 소프트웨어 시스템을 분석하여 Window용으로 재구성하는 과정을 재공학 관점에서 논하고 실제 적용결과를 보인다. 또한 사용자의 요구사항을 반영하여 사용편의성을 증대시키기 위한 사용자 인터페이스의 개선에 대해서도 논한다.

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

  • 최일우;류성열
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권9호
    • /
    • pp.619-630
    • /
    • 2002
  • 1980년대 이후, 소프트웨어 위기에 대응하기 위한 다양한 소프트웨어 공학적 기법들이 출현하기 시작 하였고, 현재 소프트웨어의 질적 향상 및 생산성 향상을 꾀하기 위한 개발 지침으로 소프트웨어 컴포넌트 개발 프로세스를 구축하는데 관심이 집중되어지고 있다. 그러나 대부분의 방법론들이 앞으로 구축할 새로운 시스템의 재사용성 확보에 치중할 뿐, 실질적으로 기존 레거시 시스템의 자원을 재사용하여 새로운 시스템을 구축하는 방법은 효율적으로 지원하지 못하고 있는 실정이다. 본 논문에서는 레거시 시스템의 효율적 재사용을 위한 재공학 프로세스(Reengineering Process)로 RUP를 확장, 커스터마이징하여 구성한 RUP+re을 제시한다. RUP+re은 크게 역공학 워크플로우(Reverse Engineering Workflow), 재공학 워크플로우(Re-Engineering Workflow), 순공학 프로세스(Forward Engineering Process)로 구성되어진다. RUP+re의 각 워크플로우와 세부스텝을 제공하고 실사례 연구를 통하여 실질적으로 프로세스를 검증함으로서 레거시 시스템 자원의 재사용을 위한 소프트웨어 재공학 프로세스 구축에 효율적인 지침을 제공한다.

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

  • 최일우;류성열
    • 정보처리학회논문지D
    • /
    • 제10D권5호
    • /
    • pp.845-858
    • /
    • 2003
  • 1980년대 이후, 소프트웨어 위기에 대응하기 위한 다양한 소프트웨어 공학적 기법들이 출현하기 시작 하였고, 현재 소프트웨어의 질적 항상 및 생산성 향상을 꾀하기 위한 개발 지침으로 소프트웨어 개발 프로세스를 적용하는데 관심이 집중되어지고 있다. 그러나 대부분의 방법론들이 앞으로 구축한 새로운 시스템의 재사용성 확보에 치중할 뿐, 기존의 레거시 시스템 자원을 재사용하여 새로운 시스템을 구축하는 재공학 방법은 지원하지 못하고 있는 실정이다. 본 논문에서는 레거시 시스템의 효율적 진화를 위한 재공학 프로세스(Reengineering Process)로 RUP를 확장, 커스터마이징하여 구성한 RUP+re을 제시한다. RUP+re는 Small-h 모델을 바탕으로 크게 역공학 워크플로우(Reverse Engineering Workflow), 변환 워크플로우(Transformation Workflow), 진화 워크플로우(Evolution Workflow)로 구성되어진다. RUP+re의 각 워크플로우와 세부스텝을 제공하고 재공학 사례 연구론 통하여 실질적으로 프로세스를 검증함으로서 레거시 시스템 자원의 진화론 위한 소프트웨어 재공학 프로세스 구축에 효율적인 지침을 제공한다.

소프트웨어 재사용과 설계에 관한 고찰 (Reusable Software Design Guidelines)

  • 윤창섭
    • 한국국방경영분석학회지
    • /
    • 제15권1호
    • /
    • pp.1-13
    • /
    • 1989
  • 소프트웨어 위기(software crisis)라는 용어가 소프트웨어 공학분야의 연구보고서에서 자주 언급되고 있는 이유는, 오늘날의 소프트웨어 개발환경에서 소프트웨어의 품질과 생산성의 문제해결이 매우 어렵기 때문이다. 소프트웨어 개발과 관련되는 프로그램의 설계, 프로그램의 명세서, 계발방법론 및 기술과 도구들 중에서 기존의 개발사업에서 이미 사용하였던 요소들을 새로운 개발사업에서 효율적으로 재사용할 수 만 있다면, 품질과 생산성에 관한 위험 부담을 최소화할 수가 있다. 본 연구는 지금까지 연구발표된 연구보고서를 중심으로 소프트웨어 재사용의 대상과 잇점, 재사용에 따른 장애요인들을 소개하였고, 재사용을 목적으로 소프트웨어를 설계할 때에 고려할 몇가지 지침들을 고찰하였다.

  • PDF

분산 객체 프레임웍을 지원하기 위한 재공학 시스템의 설계 (A Reengineering System Design for Supporting Distributed Object Framework)

  • 조성림;이은주;이기열;우치수
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.514-516
    • /
    • 2001
  • 소프트웨어 응용분야에서 재사용을 통한 프레임적 기반의 개발 기술이 발전하고 있으며, 특히 CORBA와 같은 분산 객체 환경과 GUI를 지원하는 프레임웍들의 구현 및 응용기술에 대한 연구가 이루어지고 있다. 본 논문에서는 객체 지향 언어인 C++로 만들어진 독립적인 시스템 또는 클라이언트/서버 환경의 시스템을 CORBA를 이용한 분산 객체 프레임웍 환경으로 이주시키는 재공학 시스템 설계를 제안한다. 이 시스템을 이용하여 레거시 시스템을 재공학 하면 신뢰성과 상호 운용성이 높은 프레임적 기반의 소프트웨어 개발을 효과적으로 지원할 수 있다.

  • PDF

웹 시스템 군의 개발을 위한 소프트웨어 제품라인 공학의 적용 (Application of Software Product Line Engineering for Developing Web Application Families)

  • 황병한;진영택
    • 한국전자거래학회지
    • /
    • 제22권2호
    • /
    • pp.39-60
    • /
    • 2017
  • 소프트웨어 제품라인 공학은 체계적인 소프트웨어 재사용을 위한 효과적인 방법으로 널리 인식되고 있으며, 기존 소프트웨어 개발 실무와 프로세스를 소프트웨어 제품라인으로 전환하기 위한 연구가 진행되어 오고 있다. 기존 소프트웨어 개발을 제품라인으로 전환하기 위해서는 수행조직, 적절한 프로세스 선택 및 수정, 도구의 지원 등 많은 투자가 요구된다. 특히 소규모 기업에서 소프트웨어 제품라인 공학 기술을 본격적으로 도입하기 앞서 적절한 비즈니스 사례와 소프트웨어 제품라인 공학의 적용에 대한 구체적인 실무가 필요하다. 본 논문에서는 웹 시스템 군의 개발에 소프트웨어 제품라인 공학을 적용하는데 따른 실질적인 사례와 소프트웨어 자산을 체계적으로 구축하고 재사용하는 과정을 제시하였다. 이를 위해, 다수의 웹 개발 프로젝트를 분석하였으며 소규모의 기업이 소프트웨어 제품라인을 채택하는데 따른 경험과 다양한 고려사항들을 제시하였다.

레거시 시스템의 소프트웨어 컴포넌트화를 위한 재공학 프레임워크 (A Reengineering Framework for Software Componentization on Legacy System)

  • 박옥자;유철중;장옥배
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.376-378
    • /
    • 2000
  • 최근 시스템의 컴포넌트화 경향은 인터넷 환경이 보편화되면서 플러그앤플레이(plug and play) 형태로 조립하여 재사용하려는 기업의 요구에 가장 핵심적인 패러다임으로 등장하고 있다. 따라서, 기업은 기존의 레거시 시스템을 컴포넌트화하여 유지보수뿐만 아니라 새로운 시스템 도입에 있어서도 유연성 및 확장성을 용이하게하기 위한 재공학 솔루션을 필요로 하고 있다. 따라서, 본 논문에서는 레거시 시스템을 소프트웨어 컴포넌트화하기 위한 재공학 프레임워크를 제안하였다. 이 프레임워크는 컴포넌트 개발 방법론에서 필요한 절차와 Robert C. Seacord와 John Robert가 제안한 레거시 시스템 현대화 방법론을 통합하여 제시하였으며, 프레임워크의 각 단계는 레거시 시스템의 분석 단계, 컴포넌트화 방법 결정 단계, 마지막으로 컴포넌트로의 변환 단계로 이루어져 있다. 각 단계에서는 다시 세부 절차와 이에 필요한 제반사항을 기술하여 레거시 시스템을 소프트웨어 컴포넌트화하는데 있어서 필요한 절차와 가이드라인을 상세하게 제공하고자 한다.

  • PDF

기록장치 소프트웨어 개발을 위한 프레임워크 재사용 사례 (A Case on Framework Reuse for Data Recorder Software Development)

  • 김찬수;심준용;위성혁
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 추계학술발표대회
    • /
    • pp.1369-1371
    • /
    • 2011
  • 효과적이고 체계적인 소프트웨어의 재사용을 위해서는 해당 도메인에 대한 공통된 자산을 먼저 개발해야 한다. 재사용을 위한 컴포넌트 집합은 복잡한 소프트웨어를 컴포넌트 단위의 구조로 분해하고 이를 다시 조립할 수 있도록 하여 생산성을 향상시키지만 광범위한 분석으로 인해 컴포넌트를 개발하는데 필요한 비용과 기간을 증가시키기도 한다. 이러한 문제점을 극복하기 위해 소프트웨어 제품 라인 공학을 적용하여 해당 도메인의 수요나 업무 수행을 만족하는 일련의 공통된 기능들을 이용하여 재사용할 단위인 핵심 자산을 구축하고 요구사항에 따라 목표 시스템을 단기간에 저비용으로 개발할 수 있다. 본 논문에서는 소프트웨어 제품 라인 공학을 통해 정의된 M&S프레임워크의 핵심 자산을 제시하고 이를 재사용해 기록장치 소프트웨어를 개발한 사례에 대하여 설명한다.

소프트웨어 재사용성 증대를 위한 재사용 관련 지식의 표현, 관리 및 공유 방법 (Representation, Management and Sharing of Reuse-related Knowledge for Improving Software Reusability)

  • 구형민;고인영
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제24권1호
    • /
    • pp.9-17
    • /
    • 2011
  • 소프트웨어 재사용이란 새로운 소프트웨어를 개발할 때 처음부터 모든 것을 새로 개발하는 것이 아니라 기존에 개발 된 재사용 가능한 자산을 활용하여 개발하는 개념이다. 기존 자산들은 다른 개발자에 의해 다른 목적으로 개발되었으므로 개발자들은 이러한 자산을 올바르게 재사용함에 있어서 어려움에 직면할 수 있다. 이러한 어려움에 직면했을 때 개발자들은 도움을 얻기 위하여 그 자산들과 관련된 적절한 지식이나 과거 유사한 어려움을 겪었던 개발자로부터의 정보를 얻고자 하는 경향이 있다. 따라서 개발 도메인 전문가나 다른 개발자의 지난 경험은 소프트웨어 자산 재사용 시의 참고자료로서 중요한 역할을 할 수 있다. 재사용 관련 지식은 같거나 유사한 문제나 어려움을 해결함에 있어서 시간과 노력을 줄일 수 있게 도와주고, 이미 여러 번의 재사용으로 검증된 자산을 이용할 수 있게 해 줌으로써 재사용의 위험요소 또한 줄일 수 있다. 본 논문에서는 재사용 관련 지식의 표현 모델을 제시하고, 지식의 협력적인 공유 및 증식을 용이하게 하기 위한 소프트웨어 재사용 위키의 아키텍처 및 프로토타입을 설명한다. 또한 재사용 관련 지식 모델과 그에 따른 관리 방법의 효과를 검증하기 위해 재사용 문제해결에 관한 검증 계획을 설명한다. 본 연구를 통해 개발자들의 참여를 유도하여 재사용 관련 지식의 효과적인 공유 및 증식이 가능하고, 정형화되고 체계적인 저장 및 관리를 통해 재사용 문제 해결에 도움을 줄 수 있으리라 기대한다.

  • PDF