소프트웨어 개발에 있어서 구현에 앞서 아키텍처를 설계하는 일은 프로젝트의 성공을 위해 필수적이다. 본 논문은 한국원자력연구소 내에서 가동 중인 하나로 원자로의 방사선감시시스템 소프트웨어 개발과정에서 품질속성 기반 설계방법을 적용하여 소프트웨어 아키텍처를 설계한 사례를 보여준다. 품질속성 기반 설계방법은 Bass[1]가 제시한 속성 기반 설계방법을 변형한 것이다. 이는 먼저 시스템의 기능요건 및 품질요건을 아키텍처 드라이버(driver)로서 도출하고, 이를 만족하기 위한 전술(tactic)을 선택하고, 선택된 전술에 근거하여 아키텍처를 결정하고, 결정된 아키텍처를 구현 및 검증하는 과정으로 이루어진다. 하나로 원자로 방사선감시시스템의 개발요건으로부터 가용성, 유지보수성, 호환성과 같은 품질요건이 추출되었으며, hot-standby 서버 이중화와 약결합의 모듈화와 같은 전술이 선택되었으며, 이중화 서버에 다수의 클라이언트가 연결되는 클라이언트-서버 구조와 객체지향적 데이터 처리 구조가 방사선감시시스템을 위한 아키텍처로 결정되었다. 상용도구인 Adroit를 이용하여 아키텍처가 구현되었으며, 아키텍처 검증은 기능 중심의 시험을 통해 이루어졌다. 적은 예산과 단기간 내에 완수해야 하는 방사선감시시스템 개발에 품질속성, 기반 설계방법을 적용함으로써, 보다 효율적으로 과제를 성공시킬 수 있었다. 방사선감시시스템 개발에서 설계된 아키텍처는 한국원자력연구소 내 다른 설비의 방사선감시시스템 개발에 재사용할 예정이다. 추가적으로 방사선감시시스템 아키텍처를 정량적으로 평가하는 작업이 필요하다.B-트리, CR-트리를 구현하는 방법을 기술한다. CC-GiST를 이용함에 따라 메인 메모리 데이터베이스 응용에서 여러 개의 캐시 인식 트리를 관리하는 번거로움에서 벗어날 수 있고, 응용의 요구에 따른 새로운 캐시 인식 트리를 최소한의 노력으로 효율적으로 구현할 수 있다.에 따라 증가한다. 에틸렌 함량이 50 wt% 보다 많을 경우, 혼합용매들의 극성인력 효과가 밀도 효과보다 커서 온도가 낮아짐에 따라 cloud-point 압력은 증가하였다. 에틸렌 함량이 50 wt% 보다 적을 경우, 혼합용매들의 극성인력 효과가 밀도 효과보다 작아서 온도가 낮아짐에 따라 cloud-point 압력은 감소하였다. 2번 150.2 cGy, 200 cGy, 환자 3번 150.5 cGy, 211.4 cGy, 환자 4번 155.5 cGy 198.6 cGy의 결과를 얻었다. 결 론: 본 원에서 변형 근치적 유방절제술 후 흉벽 방사선치료의 가장 적절한 볼루스 적용 횟수는 전 치료횟수의 $50{\sim}60%$ 적용이다.적인 기준을 마련하고 환자들이 치료과정에서 실질적으로 알고자 하는 의문점들을 체계적으로 교육해 나간다면 지금까지 보다 훨씬 더 나은 환자 만족과 치료 결과를 얻을 수 있으리라 기대된다.적 교육 훈련이 더 엄격하게 진행되므로, 부서 관의 협력으로 방사선사 보수교육에 합산하는 방안이 필요할 것이다. 임신이 확인된 방사선관계종사자의 피폭관리도 새로이 반영되어야 할 것이다. 따라서 업무의 특성상 사용되는 특별한 용어 외에 공통적으로 사용되는 용어의 통일은 반드시 필요하며, 방사선분야의
소프트웨어 개발에 있어서 구현에 앞서 아키텍처를 설계하는 일은 프로젝트의 성공을 위해 필수적이다. 본 논문은 한국원자력연구소 내에서 가동 중인 하나로 원자로의 방사선감시시스템 소프트웨어 개발과정에서 품질속성 기반 설계방법을 적용하여 소프트웨어 아키텍처를 설계한 사례를 보여준다. 품질속성 기반 설계방법은 Bass[1]가 제시한 속성 기반 설계방법을 변형한 것이다. 이는 먼저 시스템의 기능요건 및 품질요건을 아키텍처 드라이버(driver)로서 도출하고, 이를 만족하기 위한 전술(tactic)을 선택하고, 선택된 전술에 근거하여 아키텍처를 결정하고, 결정된 아키텍처를 구현 및 검증하는 과정으로 이루어진다. 하나로 원자로 방사선감시시스템의 개발요건으로부터 가용성, 유지보수성, 호환성과 같은 품질요건이 추출되었으며, hot-standby 서버 이중화와 약결합의 모듈화와 같은 전술이 선택되었으며, 이중화 서버에 다수의 클라이언트가 연결되는 클라이언트-서버 구조와 객체지향적 데이터 처리 구조가 방사선감시시스템을 위한 아키텍처로 결정되었다. 상용도구인 Adroit를 이용하여 아키텍처가 구현되었으며, 아키텍처 검증은 기능 중심의 시험을 통해 이루어졌다. 적은 예산과 단기간 내에 완수해야 하는 방사선감시시스템 개발에 품질속성, 기반 설계방법을 적용함으로써, 보다 효율적으로 과제를 성공시킬 수 있었다. 방사선감시시스템 개발에서 설계된 아키텍처는 한국원자력연구소 내 다른 설비의 방사선감시시스템 개발에 재사용할 예정이다. 추가적으로 방사선감시시스템 아키텍처를 정량적으로 평가하는 작업이 필요하다.B-트리, CR-트리를 구현하는 방법을 기술한다. CC-GiST를 이용함에 따라 메인 메모리 데이터베이스 응용에서 여러 개의 캐시 인식 트리를 관리하는 번거로움에서 벗어날 수 있고, 응용의 요구에 따른 새로운 캐시 인식 트리를 최소한의 노력으로 효율적으로 구현할 수 있다.에 따라 증가한다. 에틸렌 함량이 50 wt% 보다 많을 경우, 혼합용매들의 극성인력 효과가 밀도 효과보다 커서 온도가 낮아짐에 따라 cloud-point 압력은 증가하였다. 에틸렌 함량이 50 wt% 보다 적을 경우, 혼합용매들의 극성인력 효과가 밀도 효과보다 작아서 온도가 낮아짐에 따라 cloud-point 압력은 감소하였다. 2번 150.2 cGy, 200 cGy, 환자 3번 150.5 cGy, 211.4 cGy, 환자 4번 155.5 cGy 198.6 cGy의 결과를 얻었다. 결 론: 본 원에서 변형 근치적 유방절제술 후 흉벽 방사선치료의 가장 적절한 볼루스 적용 횟수는 전 치료횟수의 $50{\sim}60%$ 적용이다.적인 기준을 마련하고 환자들이 치료과정에서 실질적으로 알고자 하는 의문점들을 체계적으로 교육해 나간다면 지금까지 보다 훨씬 더 나은 환자 만족과 치료 결과를 얻을 수 있으리라 기대된다.적 교육 훈련이 더 엄격하게 진행되므로, 부서 관의 협력으로 방사선사 보수교육에 합산하는 방안이 필요할 것이다. 임신이 확인된 방사선관계종사자의 피폭관리도 새로이 반영되어야 할 것이다. 따라서 업무의 특성상 사용되는 특별한 용어 외에 공통적으로 사용되는 용어의 통일은 반드시 필요하며, 방사선분야의
in a software development, the design or architecture prior to implementing the software is essential for the success. This paper presents a case that we successfully designed a software architecture of radiation monitoring system (RMS) for HANARO research reactor currently operating in KAERI by app...
in a software development, the design or architecture prior to implementing the software is essential for the success. This paper presents a case that we successfully designed a software architecture of radiation monitoring system (RMS) for HANARO research reactor currently operating in KAERI by applying the quality attribute-driven design method which is modified from the attribute-driven design (ADD) introduced by Bass[1]. The quality attribute-driven design method consists of following procedures: eliciting functionality and quality requirements of system as architecture drivers, selecting tactics to satisfy the drivers, determining architectures based on the tactics, and implementing and validating the architectures. The availability, maintainability, and interchangeability were elicited as duality requirements, hot-standby dual servers and weak-coupled modulization were selected as tactics, and client-server structure and object-oriented data processing structure were determined at architectures for the RMS. The architecture was implemented using Adroit which is a commercial off-the-shelf software tool and was validated based on performing the function-oriented testing. We found that the design method in this paper is an efficient method for a project which has constraints such as low budget and short period of development time. The architecture will be reused for the development of other RMS in KAERI. Further works are necessary to quantitatively evaluate the architecture.
in a software development, the design or architecture prior to implementing the software is essential for the success. This paper presents a case that we successfully designed a software architecture of radiation monitoring system (RMS) for HANARO research reactor currently operating in KAERI by applying the quality attribute-driven design method which is modified from the attribute-driven design (ADD) introduced by Bass[1]. The quality attribute-driven design method consists of following procedures: eliciting functionality and quality requirements of system as architecture drivers, selecting tactics to satisfy the drivers, determining architectures based on the tactics, and implementing and validating the architectures. The availability, maintainability, and interchangeability were elicited as duality requirements, hot-standby dual servers and weak-coupled modulization were selected as tactics, and client-server structure and object-oriented data processing structure were determined at architectures for the RMS. The architecture was implemented using Adroit which is a commercial off-the-shelf software tool and was validated based on performing the function-oriented testing. We found that the design method in this paper is an efficient method for a project which has constraints such as low budget and short period of development time. The architecture will be reused for the development of other RMS in KAERI. Further works are necessary to quantitatively evaluate the architecture.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
반면에 아키텍처 또는 패턴 중심의 개발에 치우치면 소프트웨어 개발공정들이 생략될 우려도 있다. 본 논문은 소프트웨어 공학적 개발 프로세스를 준수하면서 단시간 내에 개발을 완료해야 하는 RMS 개발과제에 Bass가 제시한 속성 기반 설계방법을 변형한 품질 속성 기반 설계방법을 적용한 아키텍처 기반 설계 방법이 성공적으로 적용된 사례를 제시하였다. 이로써 아키텍처 기반설계 방법이 적절히 적용된 사례가 제시되었다.
즉, 분석단계에서 도출한 아키텍처 드라이버를 만족하는 전술이 선정되며, 이를 근거로 적절한 아키텍처를 결정하는 업무가 수행된다. 본 논문은 시스템, 하드웨어, 소프트웨어를 모두 포괄하는 상위수준의 아키텍처 설계에 관점을 둔다. 아키텍처 설계과정의 하나인 전술 선택은 도메인 특성에 의해 제약을 받을 수 있다.
그것은 RMS 개발과제에 아키텍처 기반 설계방법을 적용하는 과정을 통해 해답을 얻을 수 있다. 본 논문은 아키 텍처 기반 설계방법이 RMS와 같은 특수한 개발과제에 어떻게 적용되었는가를 하나의 사례로서 제시하는 것이다.
본 논문의 2장 연구의 필요성에서는 국내외에서 발표되었던 아키텍처 기반 설계방법에 대한 연구내용을 알아보고, 이 설계 방법을 RMS 개발에 적용할 필요성에 대해 언급한다. 3장에서는 Bass가 제시한 속성 기반 설계(ADD, Attribute-Driven Design)방법[1]을 RMS 개발에 부여된 제한사항에 맞게 현실적인 측면에서 수정한 품질속성 기반 설계방법을 제시한다.
시스템 개발의 최종 목표는 사용자가 요구하는 품질을 만족하는 것과 생산물의 재사용을 통해 생산성 향상을 추구하는 것이다. 특정 품질요건에 한정된 특정 아키텍처가 정해져 있는 것은 아니다.
가설 설정
② 프로토타이핑과 전술 선택과정은 상호보완적이다. 따라서 전술 선택의 확신은 프로토타이핑을 통해 얻을 수 있었다.
제안 방법
품질 시나리오를 검증한다.
가용성 검증은, 마스터 서버와 슬레이브 서버의 실시간 데이터 일치성 시험과, 마스터 서버에 고장을 발생시켜 슬레이브 서버에 의한 운전 연속성 시험과, 고장이 복구된 서버가 클러스터에 연결되었을 때, 마스터 서버의 데이터가 슬레이브 서버에 완전히 복구되는 시험 등을 통해 이루어졌으며, 이에 대한 개략적 시나리오는과 같다.
Adroit가 제공하는 에이전트로는 (그림 12)와 같이 아날로그, 디지털, 알람, 로그, 익스프레션, 커스텀, 스캔 등이 있다. 개발자는 Admit가 제공하는 에이전트를 이용하거나 커스텀 에이전트를 이용하여 새로운 에이전트 설계가 가능한데, RMS에서는 (그림 9)의 UI®과 LCU 클래스를 커스텀 에이전트를 이용하여 설계하였다.
만족도를 검증하는 업무가 수행된다. 검증 방법으로는 기능시험이 채택되었다. 기능요건을 추상적으로 명시한 RMS 소프트웨어 요건명세서를 기반으로 기능중심의 알파 테스트를 수행하였으며, 사용자에게 프로토타입을 시연 및 동작하게 함으로써 사용성을 검증하였다.
검증 방법으로는 기능시험이 채택되었다. 기능요건을 추상적으로 명시한 RMS 소프트웨어 요건명세서를 기반으로 기능중심의 알파 테스트를 수행하였으며, 사용자에게 프로토타입을 시연 및 동작하게 함으로써 사용성을 검증하였다. RMS 개발에서 시간적으로 전술의 구현 가능성을 판단하는 일과 기능요건을 확정하는 일이 병행될 필요가 있었는데 이를 위해 신속한 프로토타이핑은 필연적이었다.
국내에서는 UML을 확장하여 일반적인 아키텍처 명세언어 개발 연구도 있었다[21]. 본 논문은 가급적 UML 표기법을 사용하되 최상위 수준의 아키텍처 표현을 위해 필요한 요소만 이용하여 RMS 아키텍처를 표현하는 것을 원칙으로 설정했다. 품질 속성 기반 설계방법을 적용한 RMS 아키텍처 설계과정은 본 논문의 4장에서 설명한다.
이로써 아키텍처 기반설계 방법이 적절히 적용된 사례가 제시되었다. 본 논문이 제시한 품질속성 기반 설계방법은 시스템의 품질요건이 아키텍처 드라이버로서 개발초기에 먼저 분석되고, 이를 우선순위화 하여 우선순위에 따라 적절한 전술을 선택하는 과정을 밟음으로써 아키텍처가 자연적으로 결정되는 아이디어로부터 비롯된 것이다. 이것은 소프트웨어 개발목표를 수립한 후 각각의 목표를 달성하기 위한 전술을 수립하여 아키텍처를 결정하는 과정이 소프트웨어를 구현에만 집중하였을 때 발생할 수 있는 과제의 실패 위험을 방지하는 효과가 있다.
기반 설계방법을 제시하였다. 본 장에서는 품질속성 기반 설계방법 적용사례로써 RMS 소프트웨어 아키텍처 설계과정을 분석, 설계, 구현, 시험단계로 구분하여 제시하고자 한다.
이러한 절차를 통해 도출된 RMS 소프트웨어 아키텍처의 평가결과를<표 2>를 통해 요약하였다.<표 2>의 평가 이외에 사용성 품질속성을 사용자의 편리성을 중심으로 평가하였으며, 성능의 만족성을 평가하였으며, 보안성을 평가하였다.
이 도구는 본 논문에서 채택한 전술을 만족하는 것으로 평가되었다. 이 도구를 이용하여 RMS 데이터 처리 서버와 사용자 인터페이스를 구현하였다. Adroit는 에이전트 (agent) 개념을 제공한다.
있다. 이 연구소와 미해군이 협력하여 A-7E 항공기 조종실의 위치추적시스템[8], 훈련시스템[9] 등을 개발하는데 아키텍처 기반 설계방법을 적용하였다. 이러한 사례에서 강조하는 점은 도메인 분석이 제대로 되어야 올바른 아키텍처가 도출될 수 있다는 점이다.
RMS 개발은 짧은 개발기간으로 인해 코딩의 최소화가 필요하고, 프로토타이핑과 병행할 수 있는 아키텍처를 설계 초기단계에서 신속히 결정하여야 하는 목표를 두고 있다. 이러한 목표를 만족하기 위해 RMS 개발에서는 ADD 방법을 아래와 같이 수정하여 적용하였다. 본 논문에서는 아래와 같은 설계과정을 품질속성 기반 설계방법이라 명명한다.
추상적인 요건과 짧은 개발 기간이 주어진 RMS 소프트웨어 개발을 위와 같은 개발과정을 준수하며 성공시킬 수 있는 전략이 필요하였다. 이를 위해 프로토타이핑 전략과 이와 병행하여 아키텍처를 조기에 결정하는 전략을 고려하였다. RMS 개발에서 프로토타이핑은 필수적이었다.
같이 RMS 구조를 개선하였다. 특히, (그림 2)의 RS232C/ RS485 통신을 LAN 구조로 통일함으로써 확장성이 용이하도록 하였다. (그림 3)에서 서버의 이중화 전술로는 hot-standby 이중화 전술이 채택되었다.
호환성에 대한 만족성은 이기종으로 개발한 외부 시스템과의 OPC 서버를 통해 데이터 교환 시험과 MS-SQL™ DB와의 호환성 시험을 통해 검증하였다. 확장성에 대한 만족성은 새로운 화면 추가, 현장감시기 추가, 원격컴퓨터 추가 등의 시험을 통해 검증하였다.
호환성에 대한 만족성은 이기종으로 개발한 외부 시스템과의 OPC 서버를 통해 데이터 교환 시험과 MS-SQL™ DB와의 호환성 시험을 통해 검증하였다. 확장성에 대한 만족성은 새로운 화면 추가, 현장감시기 추가, 원격컴퓨터 추가 등의 시험을 통해 검증하였다.
이론/모형
이것은 일반적인 호환성 정의와 다소 차이가 있다. RMS 개발에서 호환성요건을 만족하기 위해 OPC 국제산업표준을 채택하였다. OPC1*는 "OLE (Object Linking and Embedding) for Process Control”의 약어 이 다[221 OPC는 Microsoft사의 OLE/COM (Component Object Model) 기술을 기초로 한다.
(그림 10)에서 보는 바와 같이 OPC Foundation에서 발행한 인터페이스 표준을 따르는 OPC 서버가 동작되는 환경에서 그 인터페이스 표준을 따르는 응용프로그램들은 OPC 표준 하에서 데이터교환이 가능하다. 범용 데이터베이스와의 연결은 Microsoft사의 ODBC (Open Database Connectivity) 또는 OLE DB 방식을 이용하여 데 이터교환이 가능하도록 하였다.
프로그래밍을 최소화 하는 전략이 불가피하다. 이를 위해 SCADA 시스템 구축 도구인 AdroitTM[23]가 선택되었다. Adroit는 분산 실시간 시스템을 객체지향적으로 구축할 수 있는 상용도구이다.
성능/효과
소프트웨어가 동작하는 환경요건에 따라 만족하여야 할 품질속성의 우선순위가 결정된다. RMS 개발요건 분석 결과, 가용성, 유지보수성, 데이터 호환성이라는 품질속성이 우선적으로 만족되어야 함을 알 수 있었다. 이와 같이 품질 속성의 만족성을 우선적으로 고려하여야 하는 과제에서는 ABD 방법보다는 ADD 방법을 적용하는 것이 바람직 하다.
Bass의 설계방법을 변형한 본 논문의 설계방법이 아키텍처를 신속하게 결정, 전달, 이해할 수 있는 방법임을 확인하였다.
유지보수성에 대한 만족성은 임의의 고장 또는 변경 사례를 만들어 그 임무가 최소한 24시간 이내에 완료됨으로 검증하였다. 호환성에 대한 만족성은 이기종으로 개발한 외부 시스템과의 OPC 서버를 통해 데이터 교환 시험과 MS-SQL™ DB와의 호환성 시험을 통해 검증하였다.
RMS의 경우 modele 서버에 존재하는 데이터 처리 객체이며 view는 클라이언트에 존재하는 그래픽객체이며 controller 역할은 인터페이스가 담당한다. 이상과 같이 유지보수성요건 만족을 위해 채택된 전술을 통해 약결합의 객체지향적 아키텍처를 유도할 수 있었다.
후속연구
단기간 내에 개발을 완수해야 하는 방사선감시시스템을 아키텍처 중심의 설계방법을 적용하여 개발함으로써 보다 효율적으로 과제를 성공시킬 수 있었으며, 이 아키텍처를 한국 원자력연구소 내 다른 설비의 방사선감시시스템 개발에 재사용할 예정이다. 본 논문에서 제시한 아키텍처를 정량적으로 분석하여 아키텍처의 타당성을 검증하는 연구가 추가적으로 필요할 것이다.
예정이다. 본 논문에서 제시한 아키텍처를 정량적으로 분석하여 아키텍처의 타당성을 검증하는 연구가 추가적으로 필요할 것이다.
위와 같은 재사용 가능한 인자는 미래의 RMS 개발에 있어서 참조(reference) 아키텍처가 될 수 있으며, 높은 가용성과 유지 보수성 을 요구하는 다른 RMS 개발에 사용될 것이다. 클라이언트—서버 아키텍처에서 채택된 객체지향 설계 및 처리 구조는 재사용 가능한 인자이다.
따라서 오류의 원인이 용이하게 발견되고 수정되거나, 확장이 용이할 수 있는 소프트웨어 구조가 요구되었다. 향후 RMS의 데이터를 활용하고자 하는 시설에서 RMS 데이터를 요구할 경우, 이러한 설비와 용이하게 데이터를 호환할 수 있는 데이터 호환성 요구가 있었다. 이와 같은 요구사항을 RMS 아키텍처의 드라이버로서 도출되었으며, 이 가운데 중요성을 고려하여 우선순위가 높은 순서로 품질 요건을 요약하면 아래와 같다.
참고문헌 (23)
L. Bass, P. Clements, R. Kazman, 'Software Architecture in Practice', 2nd Ed., Addison Wesley, 2003
김정택 외, 'Y2k 문제 해결을 위한 하나로 및 부속설비의 방사선감시 계통 전산설비 개선', KAERI;RR-2059/99, 한국원자력 연구소, 2000
박수용 외, '서비스 로봇을 위한 Self-Managed 소프트웨어 프레임워크 개발' 정보과학회지 제24권 제3호, pp.35-42, 2006
M. Klein, F. Bachmann, 'Quality Attribute Design Primitives', CMU/SEI-2000-TN-017, CMU, 2000
F. Bachmann, L. Bass, M. Klein, 'An Application of the Architecture- Based Design Method to the Electronic House', CMU/SEI-2000-SR-009, CMU, 2000
J. Georgas, E. Dashofy, R. Taylor, 'Architecture-Centric Development: A Different Approach to Software Engineering', www.acm.org/crossroads/xrdsI2-4/arqcentric.html
R. Monroe, et al., 'Architectural Styles, Design Patterns, and Objects', IEEE Software, pp. 43-52, JANUARY 1997
※ AI-Helper는 부적절한 답변을 할 수 있습니다.