소프트웨어 설계 단계에서 기능성(functionality)과 더불어 비기능성 (non-functionality)에 관한 고려가 매우 중요하다. 그럼에도 불구하고 비기능성 고유의 복잡성으로 인해 두가지를 함께 해결하기는 매우 어려운 문제였고, 비기능성을 구현하는데 많은 난점이 있어왔다. 우리는 이러한 문제를 해결하기 위해 기능성의 유지를 보장하는 소프트웨어 수정 방법인 재구성(refactoring)에 착안하였다. 이를 사용하여 기능성과 독립적으로 비기능성을 획득하도록 설계를 수정할 수 있도록 도와주는 체계적인 비기능성 기반 디자인 재고성(Nonfunctionality-driven Design Refactoring)을 제안한다. 또한 우리가 제시한 방법을 간단한 웹 쇼핑몰 시스템 예제에 적용하여 확장성이 증가하도록 디자인 재구성을 하여 본다.
소프트웨어 아키텍쳐는 설계 과정 동안 수정과 대체로 인해 변경될 수 있고, 소프트웨어 개발에 적합한 설계는 하나 이상 존재할 수 있으므로 개발자는 다양한 관점에서 설계된 아키텍쳐의 서로 다른 버전들을 유지 관리할 수 있는 방법과 아키텍쳐의 변경 요소들을 효율적으로 명세할 수 있는 방법이 필요하다. 본 논문에서는 기존에 이미 정의되어 있는 아키텍쳐와 이를 재사용하여 설계한 새로운 아키텍쳐를 통합한 구조의 소프트웨어 아키텍쳐로 재구성할 수 있는 방법과 재구성 아키텍쳐 명세에 필요한 명세 요소와 명세 구조에 대해 정의하고 있다. 제안된 통합 구조의 명세 방법은 아키텍쳐 설계 과정에서 다양한 개발자 관점에서 정의된 아키텍쳐들을 참조 및 재사용할 수 있는 방법을 제공한다.
고객과 시장의 요구에 맞는 제품을 신속하게 개발하고 효율적인 유지 보수를 위해 소프트웨어 프로덕트 라인 공학의 관심이 확산되고 있다. 소프트웨어 프로덕트 라인 공학은 도메인을 분석하여 공통적인 부분과 가변적인 부분을 식별하여 공통적인 부분을 재사용 하면서 가변적인 부분을 선택적으로 적용하여 차별화된 프로덕트 라인을 생성 할 수 있는 재사용 패러다임이다. 이 논문의 목적은 국방 분야에 필요한 유도무기체계의 재사용성을 높이기 위해 소프트웨어 프로덕트 라인 공학을 적용하여 동적 재구성이 가능한 유도무기체계 아키텍처를 설계하고 재구성의 기본 단위인 기본 컴포넌트를 개발하는 것이다. 먼저 SPL을 통해 유도무기체계 아키텍처 설계하고, 이를 토대로 재구성이 가능한 기본 컴포넌트를 정의한다. 그리고 아키텍처와 기본 컴포넌트를 기반으로 물리와 행위 컴포넌트를 구성하여 물리 컴포넌트뿐만 아니라 OneSAF의 행위모델을 기초로 한 행위 컴포넌트에 대한 재구성기를 개발하였다.
공장의 설비들은 장비 교체가 아예 불가능하여 오랜 기간동안 사용되는 경우가 있다. 이러한 경우 공장의 설비 제어를 위한 소프트웨어 시스템도 노후 되어 현재 사용되는 운영체제나 새로운 시스템 상에서 정상적인 작동이 어렵게 되며, 또한 사용자의 새로운 요구사항을 수용하기도 어렵다. 이러한 문제점들은 기존 소프트웨어 시스템 분석을 바탕으로 한 재공학을 통해서 그 해결 방안을 모색하여야 한다. 제어용 소프트웨어 시스템의 재구성은 기존의 설비가 교체되지 않은 상태이므로 기존의 구성과 제어에 사용되는 통신 프로토콜등은 그대로 사용하되 운영체제와 사용자 인터페이스등을 변경하여 작업능률과 사용상의 편리함을 향상시킬 수 있다. 본 논문에서는 전파 송신 설비를 가상으로 구성하고 설비를 제어하는 기존의 DOS용 소프트웨어 시스템을 분석하여 Window용으로 재구성하는 과정을 재공학 관점에서 논하고 실제 적용결과를 보인다. 또한 사용자의 요구사항을 반영하여 사용편의성을 증대시키기 위한 사용자 인터페이스의 개선에 대해서도 논한다.
기존의 CNC Controller를 재구성하면 제어성과 절삭성의 재고에 큰 효과를 낼 수 있다. 현실적으로 시스템의 재구성은, 가) 시스템의 재구성으로 2축 CNC 기계를 다축으로 전환시킬 수 있고, 나) 모터의 직접제어에 의한 G-code 작성과정의 생략이 가능하며, 다) NC 동작의 제어가 소프트웨어로 (C 언어) 이루어 지기 때문에 사용자환경에 맞도록 고객화가 가능한 강점이 있다. 나아가서는 형상의 정의에서 NC 기계동작의 제어 및 온라인 모니터링에 이르는 전과정을 소프트웨어로 일식화 시킬 수 있는 통합 NC 시스템의 구현이 가능하다. 본 논문에서는 이러한 목적으로 연구되고 있는 INCS(Integrated NC System)의 개발현황을 소개한다. INCS는 PC-286, NC Controller, Drive Amplifier, Sensing Device의 하드웨어 시스템과 CAD, CAM 및 CNC 기능을 수행하는 소프트웨어 시스템으로 구성되어 있다. 그래픽 시뮬레이션 및 실제 절삭을 통하여 개발된 방식의 유효성과 효율성을 설명한다.
이동통신서비스 기술이 서비스 속도 측면에서의 차별화로 인하여 이동 통신 단말기 구축 기술 스펙트럼이 다양하게 확대되어감에 따라 이를 지원하는 기술 사이에 호환성에 대한 필요성이 대두되고 있으며, 이를 지원할 기술로 소프트웨어에 의한 단말기 형상의 재구성을 고려하게 되었다. 이를 Software Defined Radio(SDR)라고 하며, SDR의 핵심을 이루는 기술 중의 하나로 소프트웨어 다운로드 기술이 요구된다. SDR Forum에서 소프트웨어 다운로드 기술을 표준화하기 위한 작업이 진행되고 있으나 아직 확정된 바가 없다. 소프트웨어 다운로드 중에서도 global roaming의 기반이 되는 Over-the-air(OTA)에 의한 형상 재구성 방안은 각 단말기가 갖는 다양성과 다운로드 과정의 복잡성으로 인하여 요구사항을 정하는 것이 쉽지 않다. 이에 다운로드 프로토콜의 진화와 변경을 고려하여, 소프트웨어의 구조와 다운로드 프로토콜을 제시한다.
이동통신서비스 기술이 서비스 속도 측면에서의 차별화로 인하여 이동 통신 단말기 구축 기술 스펙트럼이 다양하게 확대되어감에 따라 이를 지원하는 기술 사이에 호환성에 대한 필요성이 대두되고 있으며, 이를 지원할 기술로 소프트웨어에 의한 단말기 형상의 재구성을 고려하게 되었다. 이를 Software Defined Radio(SDR)라고 하며, SDR의 핵심을 이루는 기술 중의 하나로 소프트웨어 다운로드 기술이 요구된다. SDR Forum에서 소프트웨어 다운로드 기술을 표준화하기 위한 작업이 진행되고 있으나 아직 확정된 바가 없다. 소프트웨어 다운로드 중에서도 globa1 roaming의 기반이 되는 Over-the-air(OTA)에 의한 형상 재구성 방안은 각 단말기가 갖는 다양성과 다운로드 과정의 복잡성으로 인하여 요구사항을 정하는 것이 쉽지 않다. 이에 다운로드 프로토콜의 진화와 변경을 고려하여, 소프트웨어의 구조와 다운로드 프로토콜을 제시한다.
소프트웨어 개발 단계 초기에 소프트웨어 제품군에 속하는 멤버들의 공통정과 차이점들을 미리 예측하고 분석하여 단위가 크고 전략적인 형태의 재사용을 가능하도록 함으로써 궁극적으로 소프트웨어 개발의 생산성을 향상시키고자 하는 것이 소프트웨어 프로덕트 라인 개발 방법론의 목적이다. 최근에는 소프트웨어 프로덕트 라인 개발에 자동 생성 프로그래밍 기법을 적용하기 위한 연구가 진행 중이다. 그런데, 어플리케이션 단위의 프로덕트 라인 개발 방법론은 단위가 너무 커서 자동 생성 기법을 효율적으로 적용하기가 힘들며, 따라서 그 초점을 컴포넌트 단위로 한정시킬 필요가 있다 본 논문에서는 도메인 공학의 주요 산물인 특성 다이어그램으로부터 특정 컴포넌트의 요구사항을 나타내는 특성 구성(Feature Configuration)을 만들고, 이를 바탕으로 컴포넌트 코드를 자동 생성하는 도구를 구현하였다. 본 논문의 컴포넌트 재구성 자동화 도구는 재사용자의 요구에 맞는 컴포넌트 소스 코드를 자동 생성함으로써 소프트웨어 프로덕트 라인 개발 생산성을 향상시킨다.
서버의 확장성, 즉 제한된 자원으로 처리할 수 있는 클라이언트의 수는 서버의 성능과 유지 비용에 직접적인 영향을 끼친다. 확장성이 큰 서버를 구현하기 위해 서버 컴포넌트는 클라이언트의 상태를 유지하지 않아야 한다는 것은 널리 받아들여지고 있다. 그러나, 이러한 상태 비유지 컴포넌트를 생성하는 것에 대한 체계적인 방법이 전무한 실정이다. 따라서, 본 논문에서는 재구성(refactoring)을 이용하여 상태 유지(stateful) 서버를 상태 비유지(stateless) 서버로 변환시키는 체계적인 방법을 제시한다. 다음으로 여러 개의 컴포넌트를 찾고, 각각에 재구성을 수행하는 방법을 제시한다. 다음으로 여러 개의 컴포넌트로 구성된 서버에 위 방법을 적용할 수 잇는 알고리즘을 제시한다. EJB 기반의 간단한 은행 시스템에 재구성 방법을 적용하여, 상태 유지 서버가 상태 비유지 서버로 성공적으로 변환되는 모습을 보인다.
소프트웨어 환경의 빈번한 변화 및 사용자의 요구사항의 변화로 인하여 소프트웨어 시스템은 과거의 정형화된 환경과는 다른 동적이고 연속적, 비결정적인 비정형화된 환경에 대응할 수 있어야 한다. 특히, 환경 및 사용자의 요구사항의 변화로 인하여 소프트웨어 시스템이 제공하는 서비스에 다른 품질 속성이 요구될 경우에는 이에 소프트웨어 시스템은 이에 대응할 수 있어야 한다. 따라서 본 연구는 환경 및 사용자의 요구사항의 변화로 인한 소프트웨어 시스템의 서비스의 품질속성의 변화에 대응할 수 있는 아키텍처 레벨의 동적 재구성 프레임 워크를 제안한다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.