콘텐츠로 건너뛰기
Home » 무기체계 SW 신뢰도 향상을 위한 신뢰성 보증 프로세스 적용사례 및 효과 분석

무기체계 SW 신뢰도 향상을 위한 신뢰성 보증 프로세스 적용사례 및 효과 분석

 

  • 해당 컨텐츠는 (주)모아소프트에서 2022 한국군사과학기술학회 종합학술대회 체계공학 분야에 제출했던 논문으로 ‘무기체계 SW 신뢰도 향상을 위한 신뢰성 보증 프로세스 적용사례 및 효과 분석’ 을 주제로 발표되었습니다.

 

무기체계 SW 신뢰도 향상을 위한 신뢰성 보증 프로세스 적용사례 및 효과 분석

A Case Study on the Reliability Assurance Process for Improving the Reliability of Weapon System Software

 

박상건* · 류인수*

* 모아소프트

 

ABSTRACT

When developing a weapon system, the reliability of the system plays an important part from the design stage. In the weapon system research and development project, the hardware part is developed to meet quantitative reliability values such as MTBF. The modern weapon system is designed based on software, but the reliability of the installed software is not managed. Already, developed countries manage reliability throughout all stages of software development based on IEEE-1633. This paper presents the application case of the reliability management process applied to the stage of developing the combat management system software, which is the heart of the combat ship, and the results of analyzing its effects. Applying the Mission Critical system to software reliability management will facilitate software testing by eliminating defects that may occur in the development stage in advance, reducing development time and cost.

 

Key Words: Software Reliability, Software Supportability, Software Metrics

 

1. 서론

무기체계 연구개발 과정에서 하드웨어에 대한 신뢰도 분석은 실시하지만, 소프트웨어 부분은 신뢰도 분석을 실시하지 않고 있다. 방산 선진국에서는 무기체계 연구개발 과정에서 소프트웨어에 대한 신뢰도 관리를 엄격하게 다루고 있으며, 이에 대한 표준으로 IEEE 1633를 발간하여 활용하고 있다. 본 논문에서는 소프트웨어 신뢰도관리 프로세스 적용 사례를 제시한다.

 

2. 본론

2.1 IEEE 1633

IEEE 1633에서는 소프트웨어 품질을 정량적으로 측정하는 다양한 방법들을 제시하고 있다. 소프트웨어 신뢰도 모델은 소프트웨어 개발 단계에 따라 예측모델(시스템분석 단계~구현 단계)과 추정모델(시험 단계 이후)로 구분하여 설명하고 있다.

2.2 적용사례

2.2.1 신뢰도 관리 프로세스 적용

00 함정 전투관리체계에서 소프트웨어 신뢰도 관리 프로세스를 적용할 CSCI와 소프트웨어 개발 단계별 적용할 척도, 신뢰성 모델을 선정하였다. 선정과정에서 체계의 특성과 수집 가능한 데이터, 신뢰도 관리가 필요한 대상 등을 고려하여 소프트웨어 개발 관계 기관과 협의 하에 Table 1과 같이 선정하였다.

[Table 1. 소프트웨어 신뢰도 적용 척도 및 모델]

분류

비고

신뢰성 척도

SRS 관리 척도, 예측모델 척도, 추정모델 척도 등 14종 적용

유지보수성 척도

무기체계 소프트웨어 개발 및 관리 매뉴얼의 6종 척도 적용

예측모델

5종 예측모델 적용

추정모델

6종 추정모델 적용

선정된 20종의 척도는 척도의 정의에 따라 적용하는 개발 단계를 아래와 같이 설정하였다.

[Fig. 1. 소프트웨어 개발 단계별 적용 척도]

2.2.2 척도 수집 및 분석

소프트웨어 신뢰성 예측 모델은 일반적으로 과거 경험 자료를 기반으로 소프트웨어 개발 사이클 동안 수집된 정량적인 데이터를 활용하여 계산한다. 즉, 대상 시스템에 대한 개발 환경 및 경험적인 요소들, 프로세스 활동과 연계한 척도로부터 수집된 값을 입력으로 하여 신뢰도를 예측하는 것이다.

소프트웨어 신뢰도 예측모델 중 RADC모델은 아래와 같이 시스템 분석 단계부터 단위시험 단계까지의 각 단계별 소프트웨어에 내재된 결함밀도를 예측하여 신뢰도를 관리한다.

[Fig. 2. RADC모델의 신뢰도 계산 프로세스]

2.2.3 소프트웨어 신뢰성 척도 분석 결과

37개 CSCI 별 신뢰성 척도 상호 비교로 척도가 낮은 CSCI 8개를 선정하여 신뢰도를 높이는 활동을 실시하였다.

개발 단계별 신뢰성 척도의 변화를 지속적으로 관찰하여 이상 현상이 발견된 8개 CSCI의 소프트웨어에 내재된 결점밀도, 요구사항 변경률의 원인 분석 및 신뢰성 향상 활동을 실시하였다.

2.2.4 유지보수성 척도 분석 결과

유지보수성 척도는 총 6개 Metrics를 3회에 걸쳐 측정하고 관리하였다.

[Table 2. 유지보수성 척도 측정 결과(pass율)]

구 분

1차

2차

3차

Number of

Executable Code Line

99.66%

98.85%

99.64%

Cyclomatic Complexity

99.64%

98.74%

99.45%

Number of

Call Levels

100.0%

100.0%

100.0%

Number of

Calling Functions

99.97%

99.86%

99.90%

Number of

Called Functions

97.93%

95.32%

97.91%

Number of

Function Parameters

99.98%

99.96%

99.97%

 Table 2에서 보는 바와 같이 체계 전체의 단계별 척도 달성률이 매우 높음을 알 수 있다. 유지보수성 척도 분석을 위해 각 CSCI를 함수단위로 측정하여 소스코드를 검토 및 수정하고 기준을 충족하도록 개선업무를 진행하였다.

2.2.5 예측모델 분석 결과

예측 모델은 RADC 모델을 기본 모델로 선정하여 예측 결함 밀도를 측정하고 관리하였다.

[Table 3. 결함밀도 측정 결과(Fault/KSLOC)]

구 분

1차 측정

2차 측정

3차 측정

결함밀도

4.60

4.14

5.32

Table 3에서 보는 바와 같이 단계별 측정값이 감소하였다가 증가하였지만 RADC모델의 Strategic(전략) 기준값인 9.2 Fault/KSLOC보다 결함밀도가 모두 낮게 산출되었다.

3차에서 높아진 이유는 각 CSCI의 소프트웨어 규모가 매우 커서 모듈성 값이 높게 나타났기 때문이다. 구현단계이후 해당 내용과 관련하여 지속적으로 관리를 진행하였다.

 

3. 결론

00함정 전투관리체계 소프트웨어를 대상으로 신뢰도 관리 프로세스를 적용한 결과 우리는 소프트웨어 개발 단계별 신뢰성 척도 등을 관리함으로써 아래와 같은 이점이 있음을 확인할 수 있었다.

첫째, 개발 단계에서 소프트웨어 품질 향상으로 인한 버거 수정 시간, 테스트 시간 등의 SW 개발 시간을 절감할 수 있었다. SW 개발자들은 통상 시간에 쫓겨 SW 품질 관리를 소홀히 하다 보면 개발 단계에서 발견되지 않은 버그로 인해 테스트 단계에서 요구사항 분석, 설계 단계로 다시 돌아가 수정하는 등 많은 시간과 노력을 낭비한 사례가 있다. 따라서 개발 초기부터 체계적인 신뢰성 관리를 통해 불필요한 노력을 미연에 방지할 수 있는 것이다.

둘째, 정적시험 및 동적시험을 쉽게 수행할 수 있다. 신뢰도 예측 모델을 활용한 소스코드의 품질 관리로 복잡성과 모듈성을 낮출 수 있다. 따라서 정적 및 동적 테스트를 용이하게 할 수 있다.

00함정 전투관리체계에 적용한 소프트웨어 신뢰성 관리를 주요 무기체계의 소프트웨어 개발 관리에 적용한다면 소프트웨어 품질 향상과 동시에 개발 노력과 시간을 절감할 수 있을 것으로 판단된다.

References

[1] A. M. Neufelder, et al., “IEEE Recommended Practice on Software Reliability,” Standards Committee of the IEEE Reliability Society, pp. 132-148, 2017.

Send us a message!

앞선 품질, 끊임없는 도전, 정직한 기술로 함께합니다.
문의 글을 작성해 주시면, 담당자 확인 후 빠르게 연락드립니다.

대표전화: (+82)02-420-3203

FAX: (+82)02-407-3511

05770 서울특별시 송파구 오금로 422, 연암빌딩 4F~6F




FAMILY SITE

advanced-floating-content-close-btn