RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      검색결과 좁혀 보기

      선택해제
      • 좁혀본 항목 보기순서

        • 원문유무
        • 원문제공처
          펼치기
        • 등재정보
          펼치기
        • 학술지명
          펼치기
        • 주제분류
          펼치기
        • 발행연도
          펼치기
        • 작성언어

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • 무료
      • 기관 내 무료
      • 유료
      • KCI등재

        소프트웨어공학을 위한 웹 2.0 기술 활동 동향 및 사례분석

        한대희,구형민,고인영 한국정보과학회 2012 정보과학회논문지 : 소프트웨어 및 응용 Vol.39 No.9

        소프트웨어의 규모 및 복잡도의 증가로 인해 전통적 소프트웨어공학 방법론을 이용한 소프트웨어 개발에는 여러 가지 한계점이 발생한다. 소프트웨어 개발 사이클인 요구사항분석, 디자인, 구현, 테스트, 유지보수 단계에서 제작되는 산출물 관리의 비효율성, 개발자 또는 이해당사자간의 의사소통의 어려움이 주된 한계점으로 분석되었다. 이러한 문제점들을 해결하고자 웹 2.0 패러다임을 소프트웨어공학에 활용하고자 하는 연구가 활발히 진행되고 있다. 이러한 연구들은 웹 2.0 패러다임을 이용하여 개발 사이클에서 발생한 산출물들을 조직적으로 관리하고, 이해당사자들의 참여를 유도하여 보다 효율적이고 생산적인 소프트웨어 프로세스로 개선하고자 하는 목적으로 진행되어 지고 있다. 본 논문에서는 현재 진행되고 있는 웹2.0기반의 소프트웨어 공학 관련 연구들을 조사 및 분석한다. 이를 위해 전통적인 소프트웨어공학 방법의 한계를 보완하기 위한 웹 2.0기술들을 살펴보고, 웹 2.0기반 소프트웨어공학 연구의 특징과 이와 관련된 기술적인 도전과제들을 도출한다. 그리고 지금까지 연구된 웹 2.0기반 소프트웨어공학 연구들을 검토하여 장단점을 분석, 비교하고 추후 나아가야할 연구의 방향을 제시하고자 한다. Software development using the traditional software engineering methodologies has revealed several limitations as the scale and complexity of software are growing rapidly. These limitations vary from communication difficulties among the developers and stakeholders to inefficient management of artifacts produced in software life cycles that are software requirement, design, implementation, test, and maintenance. To resolve these limitations, the research field exploiting Web 2.0 paradigm in software engineering is under active discussion. These researches aim for managing software artifacts that are generated in software life cycles in organization level and improving software process through inducements of stakeholders' participation using Web 2.0 paradigm. In this paper, we examine and analyze current issues of Web 2.0-based software engineering. Hence, we investigate Web 2.0 technologies to complement the limitations of the traditional software engineering methodologies; and then find characteristics of Web 2.0-based software engineering and their technical challenges. Moreover, we also provide a research direction in addition to the reviews of Web 2.0-based software engineering researches and the comparative analysis of their strengths and weaknesses.

      • KCI우수등재

        웹 시스템 군의 개발을 위한 소프트웨어 제품라인 공학의 적용

        황병한(ByungHan Hwang),진영택(YoungTaek Jin) 한국전자거래학회 2017 한국전자거래학회지 Vol.22 No.2

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

      • 무기체계 소프트웨어 신뢰성 시험을 위한 효율적 시험 환경 구축 방안

        최민관(Minkwan Choi),박다운(Daun Bak),국승학(Seunghak Kook) 한국정보과학회 소프트웨어공학 소사이어티 2019 소프트웨어공학회지 Vol.28 No.1

        최근 무기체계에서 소프트웨어가 차지하는 비중이 증가됨에 따라 소프트웨어의 품질이 매우 중요한 요소가 되고 있다. 무기체계 소프트웨어의 품질 향상을 위해 방위사업청은 무기체계 소프트웨어 개발 및 관리 매뉴얼에 소프트웨어 신뢰성을 제도화 하였고, 구체적인 방법 및 절차를 제시하고 있다. 매뉴얼에서 요구하는 소프트웨어 신뢰성 시험의 기준을 충족하기 위해서는 개발 전(全) 순기에 걸쳐 지속적인 시험을 통해 결함의 검출 및 수정이 필요하지만, 보안을 위한 망분리 환경, 시험 도구 확보를 위한 비용 문제로 인해 적정 수준의 시험 환경을 구축하는데 어려움이 따른다. 따라서 본 연구에서는 방위산업 분야에서 제한된 개발 환경과 한정된 자원을 활용해 효율적으로 소프트웨어 신뢰성 시험을 수행 할 수 있는 환경 구축 방안을 제시하고자 한다. Recently, as the weight of software in the weapon system increases, the quality of the software becomes a very important factor. In order to improve the quality of the weapon system software, DAPA(Defense Acquisition Program Administration) has institutionalized software reliability in Weapon System Software Development and Management Manual. The manual presents specific methods and procedures to improve the weapon system software quality. In order to meet the required reliability test standards specified in the manual, it is necessary to continuously detect and correct defects throughout the entire development period. However, it is difficult to build proper reliability test environment due to the cost of software reliability tools, setting up secured and separated network environment, and etc. Therefore, in this study, we propose an efficient environment construction method for software reliability test of defense industry field in restricted development environment and limited resources.

      • KCI등재

        MDA기반 이동 단말 시스템 소프트웨어 개발 기법

        이준상,채흥석,Lee Joon-Sang,Chae Heung-Seok 한국정보처리학회 2006 정보처리학회논문지D Vol.13 No.3

        현대의 소프트웨어공학 관련 연구 중에서, 산업계가 궁극적으로 추구하는 수준의 생산성을 제공할 수 있는 기술은 아마도 프로덕트라인 공학이 될 것이다. 지금까지의 소프트웨어공학 기술로는 소프트웨어 개발 분야에 프로덕트라인 기법을 실질적이고 실용적으로 적용하기에는 아직 충분히 성숙하지 못한 것이 사실이다. 본 논문에서는 저자가 산업체에서 접한 과거 3년 동안의 PDA 스마트폰 개발 경험을 바탕으로 실용적 수준의 프로덕트라인 기법을 Model-Driven Architecture(MDA) 접근 방법을 통해 제안한다. 이동 단말 시스템의 경우 단말기 제조사, 목적 사용자 층, 이동 단말 사업자 등에 따라 다양한 형태의 소프트웨어가 존재한다. 특히, 최근에는 단말기 사용자가 직접 느낄 수 있는 지원 기능 구성 및 인터페이스 형식은 매우 다양한 형태가 존재하며, 같은 제조사에 시리즈 제품으로 개발하더라도 이 부분에 대한 변이성이 매우 큰 특징이 있다. 하지만, 전형적인 폰 관련 기능 모듈 즉, 음성호 및 화상전화 기능, 메시지, 주소록, 데이터통신, 카메라 및 멀티미디어 기능, 웹 브라우징 과 같은 큰 기능 묶음에 대한 피처(Feature)들은 자체의 다양한 기능적 요구사항과 함께 피처 간 상호 연관성을 크고 다양한 형태로 구성될 수 있는 특성이 있다. 본 논문에서는 이동 단말기에서 구현해야 하는 다양한 형태의 사용자 소프트웨어의 요구사항에 대해 사용 시나리오 상에서 구분 가능하고 의미 있는 장면의 연속 관계로 정의하여 추후 설계, 구현, 시험 단계에서도 소프트웨어 아키텍쳐 역할을 할 수 있는 개발 기법을 제안한다. 따라서, 요구분석 단계에서도 사용자 인터페이스 관점에서 전반적인 소프트웨어 아키텍쳐에 대해 검증할 수 있게 될 뿐만 아니라 소프트웨어 개발 주기 전 과정에서 그 구조를 사용자 인터페이스 관점에서 유지, 관리 할 수 있는 핵심적인 방법을 제공한다. Product-line engineering is a dreaming goal in software engineering research. Unfortunately, the current underlying technologies do not seem to be still not much matured enough to make it viable in the industry. Based on our experiences in working on mobile telephony systems over 3 years, now we are in the course of developing an approach to product-line engineering for mobile telephony system software. In this paper, the experiences are shared together with our research motivation and idea. Consequently, we propose an approach to building and maintaining telephony application logics from the perspective of scenes. As a Domain-Specific Language(DSL), Menu Navigation Viewpoint(MNV) DSL is designed to deal with the problem domain of telephony applications. The functional requirements on how a set of telephony application logics are configured can be so various depending on manufacturer, product concept, service carrier, and so on. However, there is a commonality that all of the currently used telephony application logics can be generally described from the point of user's view, with a set of functional features that can be combinatorially synthesized from typical telephony services(i.e. voice/video telephony, CBS/SMS/MMS, address book, data connection, camera/multimedia, web browsing, etc.), and their possible connectivity. MNV DSL description acts as a backbone software architecture based on which the other types of telephony application logics are placed and aligned to work together globally.

      • KCI등재

        계산과학공학 분야를 위한 웹 기반 시뮬레이션 소프트웨어 관리 시스템 구축 및 서비스

        전인호,권예진,마진,이식,조금원,서정현,Jeon, Inho,Kwon, Yejin,Ma, Jin,Lee, Sik,Cho, Kum Won,Seo, Jerry 한국인터넷정보학회 2017 인터넷정보학회논문지 Vol.18 No.4

        오픈 사이언스는 연구 결과의 공유뿐 아니라 연구 과정을 공개하는 방향으로 발전하고 있다. 우리는 계산과학공학 분야의 오픈 사이언스 활성화를 위해 EDISON 플랫폼을 개발하고 있다. EDISON 플랫폼은 계산과학공학 연구자들이 개발한 시뮬레이션의 온라인 서비스를 제공할 뿐만 아니라 소스코드, 데이터, 관련 연구 출판물에 대해서도 공유할 수 있는 환경을 제공해준다. EDISON 플랫폼에 성공적인 서비스를 위해서는 시뮬레이션 소프트웨어의 효율적인 관리 시스템이 필요하다. 본 논문은 계산과학공학 연구자들이 개발한 시뮬레이션 소프트웨어를 EDISON 플랫폼에 제공하기 위한 등록 관리 시스템을 제안하였다. 제안된 시스템을 통해 개발자는 관리자의 개입 없이 시뮬레이션 소프트웨어를 EDISON 플랫폼에 등록할 수 있으며, 웹 기반의 시뮬레이션 제공 환경을 효과적으로 구축할 수 있다. Open Science is evolving not only to share research results, but also to open the research process. We are developing the EDISON platform for the spread of open science in computational science and engineering. The EDISON platform provides online simulation services developed by computational science and engineering researchers. It also provides an environment for sharing source code, data, and related research publications. An effective simulation software registration management system is required for successful service on the EDISON platform. In this paper, we proposes a simulation software management system to provide online simulation service through EDISON platform. The proposed system allows the developer to register the simulation software on the EDISON platform without administrator intervention and effectively build a web-based simulation environment.

      • KCI등재

        공정제어 PLC응용SW의 재사용성과 유지보수성 향상을 위한 SW공학 원칙 적용사례 연구

        양진석(Jin-Seok Yang),김용수(YoungSoo Kim),강교철(Kyo. C. Kang) 한국정보과학회 2011 정보과학회논문지 : 소프트웨어 및 응용 Vol.38 No.4

        국내에서 가장 큰 철강업체인 포스코는 공정제어를 위한 PLC 응용소프트웨어의 재사용성을 증가시키고 유지보수성을 좋게하는 방법들을 찾고 있다. 왜냐하면 같은 공정의 공정제어를 위한 PLC 응용소프트웨어는 유사한 기능을 수행함에도 불구하고, 반복적인 투자를 통해서 개발이 이뤄지기 때문이다. 본 연구는 새로운 PLC 응용소프트웨어를 개발할때 기 개발된 PLC 응용소프트웨어들을 어떻게 효과적으로 재사용 할 수 있을지에 대한 방법을 찾기 위해서 수행되었다. 우리는 연주공정을 위한 PLC 응용소프트웨어를 대상으로 하여 왜 기 개발된 소프트웨어가 재사용되기 어려운지 알기 위해서 분석을 진행 하였다. 분석은 기 개발된 소프트웨어의 소스코드, 설계 문서 그리고 복잡성을 파악하기 위해서 회전복합성 지표를 이용하여 진행되었다. 분석결과 소프트웨어가 유사한 기능을 수행함에도 불구하고 구현된 소프트웨어의 구조가 각각 다르다는 것을 확인 할 수 있었다. 각각 다른 소프트웨어의 구조가 재사용을 방해하는 가장 큰 원인으로 작용을 하였기 때문에 재사용을 위해서 소프트웨어 개발에 공통적으로 사용할 수 있는 아키텍처가 필요하였다. 그래서 본 논문에서는 소프트웨어공학 원칙을 적용하여 변화요소를 수용할 수 있는 PLC 응용소프트웨어의 표준화된 공용 아키텍처를 제안하였다. 연주공정 응용소프트웨어를 제안된 내용에 따라서 리엔지니어링을 하여 적용가능성을 확인하고 그 과정에서 배운 교훈에 대해서 논의한다. POSCO, the biggest steel making company in Korea, is exploring ways of increasing reusability of PLC applications for the process control area. Because PLC applications was developed every time even if they has same functionalities. Ways to effectively exploiting legacy software are being explored. We analyzed legacy applications to understand why they are difficult to reuse. We selected continuous casting applications as a our target domain. We analyzed legacy source code and their design documentation, and checked complexity using they cyclomatic complexity metrics. We exposed PLC applications has different design structure in analysis. The differences of design is a main reason to disturb legacy application reuse. So, we needed a common software architecture that can accept changes to develop PLC applications in POSCO. In this paper, we propose a reengineering method to meet our goals applying software engineering principles such as modularity, abstraction and adaptability.

      • 소프트웨어 재사용성 증대를 위한 재사용 관련 지식의 표현, 관리 및 공유 방법

        구형민,고인영 한국정보과학회 소프트웨어공학 소사이어티 2011 소프트웨어공학회지 Vol.24 No.1

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

      • KCI우수등재

        OSDEF: 객체지향 소프트웨어 개발 실습을 위한 통합 프레임워크

        정세진,유준범 한국정보과학회 2019 정보과학회논문지 Vol.46 No.8

        Software development starts with a specific software development process (SDP) which contains the start and end of the development, SDP plays an important role in the software engineering education. Object-oriented software development education uses several examples that contain object-oriented characteristics into education and practices. However, there is an immense burden on the implantation phases as per the scale of the program, thus creating difficulties in the identification of the connected relations between software design and implementation. In the present work, we propose the OSDEF (Object-oriented based Software Development Education Framework) framework for proceeding an efficient software engineering education based on the OOPT (Object-Oriented Process with Traceability). The framework contains artifact management tools which can directly write development artifacts inside the tool, traceability analysis tool, and emulating environment for embedded software, which can practice a layered architecture in an efficient manner. 소프트웨어는 개발 프로세스에 따라 개발되는 것이 일반적이며 이러한 개발 프로세스는 소프트웨어 공학 교육에서 중심적인 역할을 한다. 객체지향 소프트웨어 개발 교육에서는 객체지향적 특성 확인을 위해 여러 예제들을 통해 교육과 실습이 진행된다. 하지만 프로그램의 규모에 따라 객체의 확인은 적합하지만 구현에 많은 노력이 필요하거나 소프트웨어 디자인과 구현의 관계를 파악하기에 어려운 점들이 나타난다. 본 논문에서는 이러한 점을 지원하고 객체지향 소프트웨어 개발 교육의 효과적인 실습을 위해 OSDEF 프레임워크를 제안한다. 이는 기존에 제안한 객체지향 방법론 기반의 소프트웨어공학 교육용 프로세스 OOPT를 바탕으로 하여 산출물 작성 및 관리와 추적성 분석 도구를 포함한다. 또한 임베디드 소프트웨어를 중심으로 층 구조를 효과적으로 실습하고, 실행해 볼 수 있는 환경을 제공해 개발 프로세스에 따라 디자인 및 실행에 대한 실습을 효과적으로 진행할 수 있을 것으로 기대한다.

      • Z를 이용한 컴포넌트 정형 명세 활동의 제안

        장종표,이상준,김병기 한국정보처리학회 2001 정보처리학회논문지D Vol.8 No.1

        소프트웨어 위기를 해결하기 위한 한가지 대응책으로 최근 컴포넌트기반 소프트웨어공학(혹은 컴포넌트웨어)이 등장하였다. 컴포넌트기반 소프트웨어공학을 이루는 관련 기술들 중 하나로써 컴포넌트기반 소프트웨어 개발 프로세스들이 제안되고 있다. 컴포넌트기반 소프트웨어 개발 프로세스중 컴포넌트 명세활동은 재사용 가능한 컴포넌트를 생성하기 위해서 꼭 필요하며 매우 중요한 활동이다. 그러나, 기존의 컴포넌트기반 소프트웨어 개발 프로세스에서는 컴포넌트 명세를 자연어로 기술함으로써 명세에 있어서 정확성을 갖지 못했고 사용자의 요구사항이 제대로 반영되었는지 검증할 수 있는 방법을 제공하지 못하고 있다. 본 논문에서는 정형방법에서 사용되고 있는 분석력과 논리성이 검증된 정형 명세 언어 Z를 이용하여 컴포넌트를 명세 하는 정형 활동을 제안하였다. 제안 활동은 5개의 태스크와 12개이 서브태스크들로 구성되며 10개의 산출물을 구체적으로 제시함으로써 재사용을 위한 컴포넌트 기반 소프트웨어 개발의 기초가 되는 컴포넌트 정형 명세 활동을 제안하였다. 제안 활동은 컴포넌트기반 소프트웨어 개발 프로세스의 초기단계에 사용자의 요구사항 명세의 정확성과 검증을 통하여 컴포넌트의 품질을 향상시킬 수 있다. As a plan to counteract solving software crisis, the technology that is called Component Based Software Engineering (CBSE or Componentware) is introsuced. Component Based Software Developement (CBSD) Processes as one of the technique among CBSE have been proposed. Component specification activities among CBSD Processed are necessary and important for generating feusable component. However, the existing CBSD processed can't ensure the correctness in requirements are reflected. In this paper, we propose that formal activities wgich specify component using formal specification language Z which is verified with the ability of analysis and logicality. The proposed activities are composed of 5 tasks and 12 subtasks. By presenting specific 19 products, it is also proposed that component specification activities which are the base of CBSD for reusing. The proposed activities are able to improve qualities of component through correctness and verification of requirements specification of users in the early step of component-based software process.

      • KCI등재

        추출식 소프트웨어 제품라인 공학을 위한 자산 컴포넌트 탐색 및 재공학 방법

        조성배,이혜선,강교철 한국정보과학회 2012 정보과학회논문지 : 소프트웨어 및 응용 Vol.39 No.10

        소프트웨어 제품라인 공학은 동일한 도메인에 포함된 제품들의 공통점과 차이점을 분석하고 이를 고려하여 재사용 가능한 자산을 개발하여, 계획된 제품들에 자산을 재사용함으로써 소프트웨어의 품질과 생산성을 향상시키는 방법이다. 제품라인의 자산을 개발하는 방법 중 추출식 접근법은 기존에 주로 연구되던 선행식 접근법과 달리, 레거시 시스템으로부터 재사용 가능한 자산을 확보함으로써 자산 개발에 필요한 초기 비용을 줄이고 시간을 단축시킬 수 있는 접근법으로 제안되었다. 추출식 접근법을 성공적으로 적용하기 위해서는 레거시 시스템을 분석하고 그로부터 자산을 개발함으로써 자산 개발 시간을 줄여야 한다. 하지만 제품라인을 고려하지 않은 레거시 시스템은 설계자가 자신의 고려사항에 따라 하나의 컴포넌트에 여러 기능을 혼합하여 구현한 시스템이기 때문에 설계 및 코드를 이해하고 재사용 가능한 자산을 명확히 분리하여 확보하는데 어려움이 존재한다. 이를 해결하기 위해서 본 논문에서는 추출식 접근법을 적용하여 제품라인 자산을 확보함에 있어서, 레거시 시스템에 대한 이해를 높이고, 자산 후보의 파악 및 분리를 돕는 방법을 소개한다. 본 논문에서 제안하는 방법은 다음의 두 가지 프로세스로 구성되어 있다: 1) 시스템 구조의 이해를 높이기 위하여, 첫 번째 프로세스는 컴포넌트 타입을 정의하고, 레거시 시스템에서 정의된 컴포넌트 타입의 컴포넌트를 자동으로 탐색하는 단계로 구성된다. 탐색된 레거시 컴포넌트를 통하여 레거시 시스템에서 각 컴포넌트가 갖는 역할을 이해할 수 있게 된다. 2) 재사용 가능한 자산을 레거시 시스템으로부터 분리하기 위하여, 두 번째 프로세스에서는 컴포넌트 타입을 기반으로 응집도가 높은 컴포넌트를 분석하여 분리해내는 재공학 방법을 제안한다. 제안한 방법을 검증하기 위하여 하나의 구체적인 컴포넌트 타입의 탐색 방법 및 재공학 방법을 수립하고, 이를 지원하는 도구를 개발하여 실제 사례에 적용해보았다. Abstract Software product line engineering is a paradigm that helps organizations develop software systems from reusable assets rather than from scratch. It can improve both software quality and software productivity. The extractive approach to software product line engineering is an emerging approach that capitalizes on legacy systems when developing reusable assets. With the extractive approach, organizations can reduce time and costs required to initiate a product line, compared to the proactive approach. For the success of the extractive approach, it is important to reduce asset development time by analyzing legacy systems and extracting reusable assets from them. However, as developers who have developed these systems often combined many functions in one component, it is difficult to understand and separate reusable assets. To address these challenges, this paper suggests an approach that contains processes and tactics for analyzing legacy systems and extracting reusable assets from them. This approach consists of two major processes: 1) To analyze the legacy system structure, the first process includes steps that define “component type” which can be used to automatically identify legacy components of the defined component type. From the identified legacy components, the analyst can understand the role of each component in the legacy system. 2) To separate reusable assets from the legacy system, the second process includes steps that help analyst evaluate cohesiveness of candidate components based on the component type. To demonstrate the feasibility of the proposed approach, we defined one component type, a component identification method, and a separation method, and developed a tool that supports the method..

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼