• Title/Summary/Keyword: 소프트웨어 재공학

Search Result 272, Processing Time 0.023 seconds

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

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

  • PDF

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

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

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

  • Choi, Il-Woo;Rhew, Sung-Yul
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.9
    • /
    • pp.619-630
    • /
    • 2002
  • The various software engineering techniques have been come out in order to cope with the software crisis since 1980's. The software Engineering has focused on the process of software component development. The process products a development guide for a quality and productive improvement of software. But, most of the methodologies assume that a new system will be constructed and reused in the future. these do not actually support efficiently how we reuse legacy system's resources and construct a new system. In this paper, we present an efficient Reengineering Process for reusing legacy systems, RUP+re, which extends and customizes RUP. Rup+re consists of Reverse Engineering Workflow, Re-Engineering Workflow and forward Engineering Process. We describe RUP+re's workflows with their own detail steps and verify them practically through the case study. So, we provide efficient guidelines to the software Reengineering process construction which reuses the resources of a legacy system.

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

  • Choi, Il-Woo;Rhew, Sung-Yul
    • The KIPS Transactions:PartD
    • /
    • v.10D no.5
    • /
    • pp.845-858
    • /
    • 2003
  • The various software engineering techniques have been come out in order to cope with the software crisis since 1980's. These days the software Engineering has focused on the process of software development which is the guide for a qualify and productive improvement of software. But, most of the methodologies assume that a new system will be constructed and reused in the future. these do not support how we reuse legacy system's resources and construct a new system efficiently. In this paper, we present an efficient Reengineering Process for legacy system evolutions, RUP+re, which extends and customizes RUP. RUP+re consists of Reverse Engineering Workflow, Transformation Workflow and Evolution Workflow based on Small-h model. We describe RUP+re's workflows with their own detail steps and verify the process through the case study practivally. So, we provide efficient guidelines to the software Reengineering process construction which evolutes the resources of a legacy system.

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

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

  • PDF

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

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

  • PDF

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

  • Hwang, ByungHan;Jin, YoungTaek
    • The Journal of Society for e-Business Studies
    • /
    • v.22 no.2
    • /
    • pp.39-60
    • /
    • 2017
  • Software product line engineering is widely recognized as an effective way for systematic software reuse, and many studies have been conducted to convert existing software development practices and processes into software product line. In order to convert existing software development into product line, a lot of investments are required such as dedicated development units, appropriate process selection and adaptation, and tool support. In particular, small businesses need business cases and specific practices for applying software product line engineering before its full-scale adoption. In this paper, we present a practical case of applying software product line engineering to the development of web system families and a process of systematically building and reusing software assets. To do this, we analyzed a number of web development projects and presented the experiences and various considerations of small software companies adopting software product line.

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

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

  • PDF

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

  • Kim, Chan-Su;Shim, Jun-Yong;Wi, Soung-Hyouk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.11a
    • /
    • pp.1369-1371
    • /
    • 2011
  • 효과적이고 체계적인 소프트웨어의 재사용을 위해서는 해당 도메인에 대한 공통된 자산을 먼저 개발해야 한다. 재사용을 위한 컴포넌트 집합은 복잡한 소프트웨어를 컴포넌트 단위의 구조로 분해하고 이를 다시 조립할 수 있도록 하여 생산성을 향상시키지만 광범위한 분석으로 인해 컴포넌트를 개발하는데 필요한 비용과 기간을 증가시키기도 한다. 이러한 문제점을 극복하기 위해 소프트웨어 제품 라인 공학을 적용하여 해당 도메인의 수요나 업무 수행을 만족하는 일련의 공통된 기능들을 이용하여 재사용할 단위인 핵심 자산을 구축하고 요구사항에 따라 목표 시스템을 단기간에 저비용으로 개발할 수 있다. 본 논문에서는 소프트웨어 제품 라인 공학을 통해 정의된 M&S프레임워크의 핵심 자산을 제시하고 이를 재사용해 기록장치 소프트웨어를 개발한 사례에 대하여 설명한다.

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

  • Koo, Hyung-Min;Ko, In-Y oung
    • Journal of Software Engineering Society
    • /
    • v.24 no.1
    • /
    • pp.9-17
    • /
    • 2011
  • Software reuse the concept of developing software by using existing software assets, rather than developing it from scratch. Developers may face difficulties of reusing existing software assets because existing assets are normally developed by other developers for different purposes. Developers tend to seek appropriate knowledge about effectively reusing software assets from the developers who have faced and solved similar problems in reusing software assets previously. In other words, the reuse-related knowledge of domain experts or other developers usually provides important clues to solve reuse-related problems. Such reuse-relalted knowledge can help developers to reduce the time and effort to identify and solve the difficulties and problems that may arise in reusing software assets and in minimizing the risks of reusing them by allowing them to reuse reliable software assets in an appropriate way and by recognizing similar requirements or constraints of resuing the assets. In this paper, we describe a model to represent reuse-related knowledge in a formal way, and explain the architecture and a prototype implementation of Software Reuse Wiki (SRW) that enables collaborative organization and sharing of software reuse-related knowledge. We have conducted an experiment pertaining to problem solving in reusing assets based on reuse-related knowledge. We also discuss about our evaluation plan for showing the benefits and contributions of reuse knowledge representation model and management methods in SRW. We expect that SRW can contribute to facilitate users' participations and make efficient sharing and growing of reuse-related knowledge. In addition, the representation model of reuse-related knowledge and management methods can make developers acquire more reliable and useful reuse-related knowledge in a straightforward manner without spending additional efforts to find solutions to solve reuse-related problems.

  • PDF