• 검색 결과가 없습니다.

Kunda and Brook [2002]의 연구에서는 사회기술적인(Social-technical) 이론에 근거하여 CBD(Component-Based Development)에 미치는 조직적인 요인을 연 구하였다. 사회기술적인 방법은 통합된 방법으로 사회적 그리고 기술적인 하위 시스템을 개발하는 것에 초점을 맞추고 있다. Frakes and Isoda [1994]의 연구 와 Morisio, Ezran and Tully(2002)의 연구에서는 포괄적으로 기술적인 문제 뿐 아니라 비 기술적인 문제를 다루고 있다.

따라서, 본 연구에서는 소프트웨어 재사용 효과에 영향을 미치는 요인들 중에 서 기술적인 요인들을 배제하고 비 기술적인 요인을 중심으로 다루고자 한다.

본 연구의 목적은 다음과 같다.

첫째, 소프트웨어 재사용 효과에 영향을 미치는 비 기술적인 변수를 살펴보고 둘째, 현업에서의 소프트웨어 재사용에 대한 인식 및 현황을 확인 하고 소프 트웨어 재사용 확산을 방해하는 장애요인들을 확인하며

셋째, 성공적으로 소프트웨어 재사용이 조직에 도입됨으로써 소프트웨어를 개발 할 경우 재사용 효과를 누릴 수 있는 방안을 살펴보도록 하자.

이를 통하여 소프트웨어 재사용이 우리기업에 도입되어 적절히 활용될 수 있 는 비 기술적인 측면을 제공함으로써 변화하는 환경에서 경쟁우위를 확보할 수 있는 기초를 제공할 수 있을 것이다.

제 2 절 연구방법 및 구성 1. 연구의 방법

본 연구의 목적은 소프트웨어 재사용 효과에 영향을 미치는 비 기술적인 요인 들을 실증적인 방법을 통하여 도출하는 것이다. 이러한 연구 목적을 달성하기 위하여 본 연구는 문헌연구와 실증연구를 병행하여 연구를 수행할 것이며 다음 과 같은 연구 절차로 연구를 진행할 것이다.

우선 본 연구의 이론적 배경으로 소프트웨어 재사용 효과에 영향을 미치는 비 기술적인 요인들에 대한 문헌 연구를 통하여 소프트웨어 재사용 효과에 영향을 미칠 수 있는 비 기술적 요인들을 통하여 본 연구의 모형과 가설을 설정하게 될 것이다.

다음으로 실증연구를 수행하기 위해서 현재 실질적으로 소프트웨어를 개발하 거나 프로젝트를 수행할 때 소프트웨어 재사용을 적용하고 있는 국내 SI 업체 및 소프트웨어 개발 업체의 개발자들을 대상으로 설문조사를 실시하여 자료를 수집한다.

자료는 이메일과 직접방문을 이용하여 수집하고, 수집된 자료를 근거로 하여 설문지의 신뢰성과 타당성을 조사하기 위하여 신뢰성 분석과 요인 분석을 실시 하고 연구가설을 검증하기 위하여 회귀분석을 시행할 것이다.

2. 연구의 구성

본 연구의 구성과 내용은 다음과 같다. 제 1 장에서는 본 연구의 배경과 목적 을 밝히고, 본 연구를 수행하기 위한 연구방법, 연구범위 및 구성에 관하여 논 의한다.

제 2 장에서는 본 연구의 이해를 돕기 위해 소프트웨어 재사용에 대한 일반적 인 정의 및 종류를 살펴본 후에 이론적 고찰 및 선행 연구를 통하여 소프트웨 어 재사용 효과에 영향을 미칠 수 있는 비 기술적인 요인들을 살펴본다. 이를 위하여 제 1 절에서는 소프트웨어 재사용의 등장배경과 정의와 재사용 프로세 스를 확인하고 제 2 절에서는 소프트웨어 재사용 효과에 영향을 미치는 비 기 술적인 요인에 대한 기존의 문헌을 검토하고 제 3 절에서는 소프트웨어 생산성 에 영향을 주는 요인에 대한 문헌을 검토한다.

제 3 장의 제 1 절에서는 제 2 장에서 논의한 비 기술적인 요인에 관한 선행 연구를 바탕으로 하여 본 연구의 연구모형을 개발하고 가설을 설정한다. 제 2 절에서는 본 연구의 연구 변수들의 조작적 정의와 본 연구에서 사용될 설문 측 정 항목들을 정의하여 설문지를 개발한 후 제 3 절에서는 자료 수집 및 표본 특성에 대한 논의를 한다.

제 4 장에서는 본 연구의 자료수집 방법, 자료 분석 방법, 분석 결과들을 제시 하고, 마지막 제 5 장에서는 본 연구의 결과를 요약하고 연구 결과를 토대로 연구의 시사점과 한계점을 제시한 후 향후 연구방향도 제시하게 될 것이다.

제 2 장 이론적 고찰 제 1 절 소프트웨어 재사용

1. 소프트웨어 재사용의 등장배경과 개요

소프트웨어 개발 프로젝트가 완성되지 못하고 중단되거나 개발된 후에도 요구 사항에 맞지 않아 개발된 시스템이 폐기되는 등의 개발비용이 점차 상승하는 이러한 소프트웨어 위기현상을 극복하고자 하는 노력의 일환으로 소프트웨어 생산성을 증가시킬 수 있는 잠재력을 가진 “재사용 가능한 소프트웨어”를 제안 하고 있다[Horowitz, 1984]. 한 조사에서는 소프트웨어 전체 코드 중에서 40∼

60%가 하나의 응용프로그램에서 다른 응용프로그램을 개발 할 경우 재사용이 가능하다고 보고하고 있으며 모든 비즈니스 응용프로그램 상에서 설계와 코드 의 60% 그리고 프로그램 기능의 75%가 한 개 이상의 프로그램에서 공통적이 라고 보고하고 있다. 또한 대부분의 프로그램에서 발견된 코드의 15%는 특정 응용프로그램에서만 적용되는 코드라는 것을 밝히고 있다.

이렇듯 소프트웨어 엔지니어링의 생산성을 높일 수 있는 방법의 하나로 소프 트웨어 재사용이 이용될 수 있으며 이것은 생산성뿐만 아니라 다른 장점을 제 공하기도 한다. 첫째, 향후 개발 노력에 들어갈 생산비용을 낮추고 개발 생명주 기를 줄일 수 있으며 둘째, 이미 정확한 것으로 판단된 컴포넌트를 재사용함으 로써 시스템 신뢰도를 높이며 시스템 테스트에 대한 필요성을 줄일 수 있으며.

셋째, 프로그램 변경으로 인한 파급효과를 줄임으로써 생명주기 유지보수 비용 을 줄일 수 있으며 넷째, 새로운 프로그램을 생산할 때 개발조직으로 하여금 현존하는 소프트웨어 시스템에 대한 투자를 회복할 수 있도록 해준다[Zand, 1994].

소프트웨어 재사용이 주는 많은 장점을 제대로 누리기 위해서는 이를 뒷받침 해줄 환경이 필요하다. 단지 소스 코드(Source Code)만을 재사용한다고 하여 그것이 앞에서 언급한 장점을 제공해 주는 것은 아니다. 다양한 수준에서 재사 용을 할 수 있으며 재사용을 할 수 있는 산출물 또한 다양하다는 것이다[Diaz, 1993]. 우선 먼저 재사용을 하기위한 성공적인 환경설정을 하기 위해서는 첫째, 사용자 요구사항에 근거한 프로그램 모듈 혹은 코드에 접근할 수 있어야 하며

둘째, 프로그램을 수정 할 수 있어야 하며 셋째, 재사용 가능한 컴포넌트를 효 율적으로 저장, 추출하고 통합할 수 있는 설비가 있어야 할 것이다 [Zand, 1994].

물론, 위와 같이 기술적인 문제들을 다루어야 하는 것도 사실이지만 여러 연 구에서 밝히듯이 기술적인 측면뿐만 아니라 비 기술적인 면 즉, 관리적, 경제 적, 사회적 그리고 법적인 문제에 대해서도 관심을 가져야 할 것이다. 그전에 우선 소프트웨어 재사용에 대해서 좀 더 자세히 알아보도록 하자[David, 1997:

Griss, 1993: Isoda, 1992: Rebecca, 1994: Apter, 1990]..

2. 소프트웨어 재사용의 정의

소프트웨어 재사용에 대한 정의는 여러 가지로 나타나고 있다. Davis [1994]는 다른 문제의 해결책 혹은 문제의 다른 버전에 쓰인 자산의 이용이라고 밝히고 있다. Frakes and Fox [1996]는 현존하는 소프트웨어 산출물의 이용 혹은 새로 운 소프트웨어를 만들기 위한 지식의 이용이라고 말하고 있다. Dusink and Katwijk [1995]의 연구에서는 새로운 소프트웨어를 구축하는 프로세스동안 현 존하는 소프트웨어 산출물의 시스템적인 응용 혹은 새로운 소프트웨어 시스템 에서 현존하는 소프트웨어 산출물의 물리적인 혼합이라고 말한다고 정의하고 있으며 Kim and Stohr [1998]는 새로운 응용프로그램에서 소프트웨어 개발 생 명주기의 모든 단계로부터 나온 기존에 개발된 소프트웨어 자원을 프로그래머 와 시스템 분석가와 같은 다양한 사용자에 의해서 이용되는 것으로 정의되어진 다고 나타내고 있다. 물론, 이 뿐만 아니라 다른 연구자들에 의한 제시된 정의 가 있지만 위의 내용을 벗어나지는 못하고 있다.

위의 정의들을 종합하여 보면 다음과 같은 특징이 있음을 알 수 있다.

첫째, 소프트웨어 재사용의 대상은 물리적인 대상과 논리적인 대상으로 구분 할 수 있으며

둘째, 특정 개발 프로세스 단계에 적용되는 것이 아니라 전체 개발 프로세스 에 적용될 수 있음을 알 수 있으며.

셋째, 재사용을 통하여 새로운 소프트웨어를 만드는 것뿐만 아니라 재사용을 위해 소프트웨어 산출물을 만드는 과정 또한 소프트웨어 재사용 프로그램에 포 함될 수 있음을 알 수 있다.

기본적인 재사용에 대한 정의뿐만 아니라 다음으로는 재사용의 유형에 따른

2.3 소프트웨어 재사용의 장점

소프트웨어 재사용을 통하여 얻을 수 있는 장점 중에는 대표적으로 소프트웨 어 개발 생산성 향상을 통한 개발 시간 감소, 전체적인 소프트웨어 개발비용 절감 및 소프트웨어 품질의 개선이라고 할 수 있을 것이나 이외에도 [표 2]와 같이 여러 가지 가시적인 혜택을 줄 수 있다. [Taylor, 1995]

3. 소프트웨어 재사용 프로세스

개인적으로 프로그래머가 비공식적으로 현존하는 소프트웨어를 재사용 할지라 도 전통적인 소프트웨어 개발 생명주기는 재사용 가능한 자원으로부터 소프트 웨어를 개발하는 것을 지원하지 못한다. 재사용 개발 프로세스는 두 가지로 나 눌 수 있다. 즉, 재사용할 수 있는 소프트웨어 산출물을 만드는 것과 그 산출물 을 이용하여 새로운 소프트웨어를 만드는 것 즉, 생산과 소비라는 측면으로 [표 3]과 같이 분리를 하였다[Kim and Stohr, 1998].

[표 2] 재사용의 장점

[표 2] 재사용의 장점