KR101547247B1 - 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 - Google Patents

소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 Download PDF

Info

Publication number
KR101547247B1
KR101547247B1 KR1020130152817A KR20130152817A KR101547247B1 KR 101547247 B1 KR101547247 B1 KR 101547247B1 KR 1020130152817 A KR1020130152817 A KR 1020130152817A KR 20130152817 A KR20130152817 A KR 20130152817A KR 101547247 B1 KR101547247 B1 KR 101547247B1
Authority
KR
South Korea
Prior art keywords
quality
index
quality characteristic
software
values
Prior art date
Application number
KR1020130152817A
Other languages
English (en)
Other versions
KR20150067454A (ko
Inventor
박철민
이규열
한익준
윤광식
배현섭
Original Assignee
슈어소프트테크주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 슈어소프트테크주식회사 filed Critical 슈어소프트테크주식회사
Priority to KR1020130152817A priority Critical patent/KR101547247B1/ko
Priority to PCT/KR2013/011426 priority patent/WO2015088066A1/ko
Publication of KR20150067454A publication Critical patent/KR20150067454A/ko
Application granted granted Critical
Publication of KR101547247B1 publication Critical patent/KR101547247B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

실시 형태는 소프트웨어의 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체에 관한 것이다.
실시 형태에 따른 소프트웨어의 품질 평가 모듈은, 수신된 품질 요소들을 미리 설정된 품질 지표 계산식들에 대입하여 품질 지표들 각각의 품질 지표 값들을 추출하는, 품질 지표 추출부; 상기 품질 지표들을 복수의 품질 특성 그룹들로 그룹화하고, 상기 품질 지표 값들 각각에 미리 설정된 제1 가중치를 부여하여 상기 복수의 품질 특성 그룹별 품질 특성 값들을 추출하는, 품질 특성 추출부; 및 상기 그룹별 품질 특성 값들 각각에 미리 설정된 제2 가중치를 부여하여 종합 품질 점수를 추출하는, 품질 점수 추출부;를 포함한다.

Description

소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체{MOULDE AND METHOD FOR MASURING QUALITY OF SOFTWARE, AND COMPUTER READABLE RECORDING MEDIUM HAVING PROGRAM THE METHOD}
실시 형태는 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체에 관한 것이다.
소프트웨어의 개발 과정에서, 소프트웨어의 품질을 평가하기 위한 방법은, 대부분 시스템 개발자들에 의해 소프트웨어의 품질 데이터들을 분석하는 수동적인 방법에 의하고 있다.
수동적인 방법의 하나의 예로, 품질 데이터들을 모니터와 같은 디스플레이 장치에 시각적으로 단순 나열하고 있다.
이러한 수동적인 방법은, 적지 않은 품질 데이터들을 단순 나열하고 있기 때문에, 해당 소프트웨어가 현재 어느 정도의 품질을 유지하고 있는지 개발자가 직관적으로 판단하기 어려운 문제가 있다.
실시 형태는 소프트웨어 개발 과정에서, 소프트웨어의 품질을 점수화하여 상기 소프트웨어가 어느 정도의 품질을 유지하고 있는지를 직관적으로 판단할 수 있는 소프트웨어의 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체를 제공한다.
실시 형태에 따른 소프트웨어의 품질 평가 모듈은, 수신된 품질 요소들을 미리 설정된 품질 지표 계산식들에 대입하여 품질 지표들 각각의 품질 지표 값들을 추출하는, 품질 지표 추출부; 상기 품질 지표들을 복수의 품질 특성 그룹들로 그룹화하고, 상기 품질 지표 값들 각각에 미리 설정된 제1 가중치를 부여하여 상기 복수의 품질 특성 그룹별 품질 특성 값들을 추출하는, 품질 특성 추출부; 및 상기 그룹별 품질 특성 값들 각각에 미리 설정된 제2 가중치를 부여하여 종합 품질 점수를 추출하는, 품질 점수 추출부;를 포함한다.
실시 형태에 따른 소프트웨어의 품질 평가 방법은, 수신된 품질 요소들을 미리 설정된 품질 지표 계산식들에 대입하여 품질 지표들 각각의 품질 지표 값들을 추출하는, 품질 지표 추출 단계; 상기 품질 지표들을 복수의 품질 특성 그룹들로 그룹화하고, 상기 품질 지표 값들 각각에 미리 설정된 제1 가중치를 부여하여 상기 복수의 품질 특성 그룹별 품질 특성 값들을 추출하는, 품질 특성 추출 단계; 및 상기 그룹별 품질 특성 값들 각각에 미리 설정된 제2 가중치를 부여하여 종합 품질 점수를 추출하는, 품질 점수 추출 단계;를 포함한다.
실시 형태에 따른 소프트웨어의 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체를 사용하면, 소프트웨어 개발 과정에서, 소프트웨어의 품질을 점수화하여 상기 소프트웨어가 어느 정도의 품질을 유지하고 있는지를 직관적으로 판단할 수 있는 이점이 있다.
도 1은 실시 형태에 따른 소프트웨어 품질 관리 시스템의 블록도.
도 2는 도 1에 도시된 품질 요소 추출 모듈(300)을 구체적으로 설명하기 위한 블록도.
도 3은 산출 파일의 일 예.
도 4는 도 1에 도시된 품질 평가 모듈(500)의 구체적인 블록도.
도 5 내지 도 8은 품질 점수가 디스플레이 장치에 표시된 일 예.
도 9는 실시 형태에 따른 소프트웨어 품질 관리 방법의 순서도.
도 10은 도 9에 도시된 품질 요소 추출 단계(S300)를 구체화한 순서도.
도 11은 도 9에 도시된 품질 평가 단계(S500)를 구체화한 순서도.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명하기로 한다.
도 1은 실시 형태에 따른 소프트웨어 품질 관리 시스템의 블록도이다.
도 1을 참조하면, 실시 형태에 따른 품질 관리 시스템은, 소스 코드 파일 저장소(100), 품질 요소 추출 모듈(300), 품질 평가 모듈(500) 및 표시 모듈(700)를 포함할 수 있다.
소스 코드 파일 저장소(100)는 특정 소프트웨어의 소스 코드 파일을 저장하는 장치이다. 여기서, 소스 코드 파일은 상기 소프트웨어를 구성하는 소스 코드가 포함된 파일로서, 소스 코드 파일은 하나로 존재할 수도 있고, 복수로 존재할 수도 있다. 복수의 소스 코드 파일들이 하나의 프로젝트를 구성할 수 있다.
품질 요소 추출 모듈(300)는 소스 코드 파일을 수신한다. 수신되는 소스 코드 파일은 복수의 소스 코드 파일들일 수 있다. 단일 또는 복수의 소스 코드 파일은 외부의 소스 코드 파일 저장소(100)에 저장된 것으로서, 품질 요소 추출 모듈(100)의 요청 또는 외부 사용자의 요구에 의해 품질 요소 추출 모듈(100)로 입력될 수 있다.
품질 요소 추출 모듈(300)는 수신되는 소스 코드 파일로부터 복수의 품질 요소들을 추출하고, 추출된 품질 요소들을 출력한다. 출력된 품질 요소들은 품질 평가 모듈(500)로 입력된다.
품질 요소 추출 모듈(300)이 소스 코드 파일로부터 추출하는 품질 요소란, 특정 소프트웨어의 품질을 판단할 수 있는 여러 기준들을 의미한다. 품질 요소 추출 모듈(300)이 품질 요소를 어떻게 추출하는지는 도 2 내지 도 3을 참조하여 구체적으로 설명하도록 한다.
품질 평가 모듈(500)는 품질 요소를 수신하고, 수신된 품질 요소를 이용하여 품질 점수를 추출 및 출력한다. 품질 평가 모듈(500)이 품질 요소를 이용하여 품질 점수를 어떻게 추출하는지는 도 4를 참조하여 구체적으로 설명하도록 한다.
품질 요소 추출 모듈(300)과 품질 평가 모듈(500)은 하나의 소프트웨어로 구현될 수도 있고, 품질 요소 추출 모듈(300)과 품질 평가 모듈(500)이 서로 별개의 소프트웨어로서 구현될 수도 있다.
표시 모듈(700)은 품질 평가 모듈(500)로부터 출력되는 품질 점수를 사용자에게 보여준다. 표시 모듈(700)은 모니터와 같은 하드웨어로서 구현될 수 있다.
도 2는 도 1에 도시된 품질 요소 추출 모듈(300)을 구체적으로 설명하기 위한 블록도이다.
도 2를 참조하면, 품질 요소 추출 모듈(300)은 검증 수행기(310)와 품질 요소 추출기(330)을 포함할 수 있다.
검증 수행기(310)는 소스 코드 저장소(100)로부터 소스 코드 파일을 수신하고, 수신된 소스 코드 파일을 검증한다. 검증 수행기(310)는 소스 코드 파일 내의 소스 코드를 검증하기 위해, 적어도 하나 이상의 검증 도구부(제1 검증 도구부(311), 제2 검증 도구부(313) 및 제3 검증 도구부(315))를 포함할 수 있다. 검증 도구부들(311, 313, 315)은, 코드 조사기(code inspector), 컨트롤러 테스터(controller tester), 컴파일러(compiler) 및 기타 다른 검증 도구부들을 포함할 수 있다.
예를 들어, 제1 검증 도구부(311)가 코드 조사기인 경우, 제1 검증 도구부(311)는 소스 코드로부터 소정의 검증 데이터들을 산출하고, 산출된 검증 데이터들을 하나의 산출 파일로 출력할 수 있다. 상기 산출 파일에는, 도 3에 도시된 바와 같이, 특정 프로젝트(MISRA Test Suite)에서 코딩 규칙을 위배한 항목의 개수(전체 위배 수)와, 전체 위배 수 별로 각각 진단 메시지, 규칙, 심각도, 소스, 함수, 라인 및 경로에 관한 데이터가 포함될 수 있다. 여기서, 제2 검증 도구부(313)와 제3 검증 도구부(315)도 제1 검증 도구부(311)과 마찬가지로 산출 파일을 출력할 수 있다.
한편, 검증 수행기(310)의 제2 검증 도구부(313)는 소스 코드로부터 산출된 검증 데이터를 별도의 산출 파일로 출력하지 않고, 데이터 베이스(DB)에 저장시킬 수 있다. 여기서, 제1 검증 도구부(311)와 제3 검증 도구부(315)도 제2 검증 도구부(313)와 마찬가지로 검증 데이터를 데이터 베이스에 저장시킬 수 있다.
한편, 검증 수행기(310)의 제3 검증 도구부(315)는 소스 코드로부터 산출된 검증 데이터를 품질 평가 모듈(500)로 직접 전송할 수 있다. 구체적으로, API(Application Programming Interface)를 사용하여 제3 검증 도구부(315)에서 산출된 검증 데이터를, 품질 요소 추출기(330)를 거치지 않고, 품질 평가 모듈(500)로 전송할 수 있다. 이 경우, 제3 검증 도구부(315)는 산출된 검증 데이터에서 품질 평가 모듈(500)이 필요로 하는 검증 데이터를 선택하고, 선택된 검증 데이터를 품질 평가 모듈(500)로 전송할 수 있다. 여기서, 품질 평가 모듈(500)로 전송된 선택된 검증 데이터는 품질 평가 모듈(500)의 저장소에 저장될 수 있다. 여기서, 제1 검증 도구부(311)와 제2 검증 도구부(313)도 제3 검증 도구부(315)와 마찬가지로 검증 데이터를 품질 평가 모듈(500)로 직접 전송할 수 있다.
품질 요소 추출기(330)는 검증 수행기(310)에서 산출된 검증 데이터에서 품질 요소를 추출한다. 품질 요소 추출기(330)는 적어도 하나 이상의 품질 요소 추출부들(제1 품질 요소 추출부(331), 제2 품질 요소 추출부(333))을 포함할 수 있다.
품질 요소 추출부들(331, 333) 각각은 검증 수행기(310)의 검증 도구부들(311, 313, 315)과 일대일 또는 일대다로 대응할 수 있다. 즉, 어느 하나의 품질 요소 추출부는 검증 수행기(310)의 어느 하나의 검증 도구부에서 산출된 검증 데이터를 사용하여 품질 요소를 추출할 수도 있고, 또 다른 어느 하나의 품질 요소 추출부는 검증 수행기(310)의 복수의 검증 도구부들에서 산출된 검증 데이터들을 사용하여 품질 요소를 추출할 수도 있다.
구체적으로, 검증 수행기(310)의 제1 검증 도구부(311)가 코드 조사기이고, 이러한 제1 검증 도구부(311)가 소정의 산출 파일을 출력한 경우, 품질 요소 추출기(330)의 제1 품질 요소 추출부(331)는 산출 파일을 사용하여 품질 요소를 추출할 수 있다. 또한, 검증 수행기(310)의 제2 검증 도구부(313)가 코드 조사기이고, 제2 검증 도구부(313)가 검증 데이터를 데이터 베이스에 저장시킨 경우, 품질 요소 추출기(330)의 제2 품질 요소 추출부(333)는 데이터 베이스에 저장된 검증 데이터를 사용하여 품질 요소를 추출할 수 있다. 제1 또는 제2 품질 요소 추출부(331, 333)에서 추출된 품질 요소의 일 예는 아래의 <표 1>과 같다.
ID 이름 가용 여부
프로젝트 파일 함수
41000 심각도 매우 높음 개수 O O X
41001 심각도 높음 개수 O O X
41002 심각도 낮음 개수 O O X
41003 심각도 매우 낮음 개수 O O X
41004 심각도 기타 개수 O O X
위 <표 1>는 ‘심각도 종류별 코딩 규칙 위배 지표 값’을 추출하기 위해 필요한 품질 요소들로서, 상기 품질 요소들은 심각도의 종류(매우 높음, 높음, 낮음, 매우 낮음, 기타)에 따른 ID들을 갖고, ID들 별로 소정의 값(개수)을 갖는다. 위 <표 1>에서, 가용 여부는 해당 ID가 프로젝트 단위, 파일 단위 및 함수 단위에서 사용될 수 있는지 여부를 나타내는 것이다. 여기서, 하나의 프로젝트는 복수의 파일(소스 코드 파일)들로 구성되고, 하나의 파일은 복수의 함수로 구성된다.
만약, 위 <표 1>에서 ID 41000이 5이면, 프로젝트 또는 파일에 매우 심각한(critical) 코딩 오류가 5개라는 의미이다. 또한, ID 41001이 10이면, 프로젝트 또는 파일에 심각한(major) 코딩 오류가 10개라는 의미이다.
제1 또는 제2 품질 요소 추출부(331, 333)에서 추출된 품질 요소의 또 다른 예는 아래의 <표 2>와 같다.
ID 이름 가용 여부
프로젝트 파일 함수
11000 Expected Value가 포함된 TC(Test Case)의 수 O O O
11001 Expected Value가 포함된 TC 중 시험 수행된 TC의 수 O O O
11002 Expected Value가 포함되고 시험 수행된 TC 중 패스(pass)의 수 O O O
위 <표 2>는 ‘요구 사항에 대한 시험 커버리지(Coverage) 지표 값’을 추출하기 위해 필요한 품질 요소들이다.
도 4는 도 1에 도시된 품질 평가 모듈(500)의 구체적인 블록도이다.
도 4를 참조하면, 품질 평가 모듈(500)은 품질 요소 추출 모듈(300)로부터 수신되는 품질 요소들을 사용하여 종합 품질 점수를 추출할 수 있다. 이러한 품질 평가 모듈(500)은 품질 지표 추출부(510), 품질 특성 추출부(530) 및 품질 점수 추출부(550)를 포함할 수 있다.
품질 지표 추출부(510)는, 품질 요소들을 수신하고, 수신된 품질 요소들을 사용하여 품질 지표 별 정량적인 품질 지표 값을 추출할 수 있다. 품질 지표 값은 수신된 품질 요소들을 미리 설정된 품질 지표 계산식 대입하여 추출될 수 있다. 여기서, 품질 지표 계산식은 사용자에 의해 미리 결정된 계산식일 수도 있고, 소프트웨어 제공자에 의해 미리 결정된 계산식일 수도 있다.
예를 들어, 품질 지표 추출부(510)가 위 <표 1>의 품질 요소들을 사용하여 심각도 별 코딩 규칙 위배 지표의 품질 지표 값을 추출하는 경우, 상기 심각도 별 코딩 규칙 위배 지표의 품질 지표 계산식은 아래의 <수학식 1>일 수 있다. 여기서, 상기 심각도 별 코딩 규칙 위배 지표의 의미는 소프트웨어에 영향을 미치는 코딩 규칙 위배 항목의 수를 통해 신뢰성을 측정할 수 있는 지표로서, 본 지표 값이 클수록 소프트웨어에 잠재적인 오류가 많고 신뢰도가 낮다고 판단될 수 있다.
Figure 112013112778239-pat00001
위 <수학식 1>에서, M은 심각도 별 코딩 규칙 위배 지표 값이고, NumOfViolationseverity는 심각도의 종류 별 위배 항목의 수이다. 여기서, 심각도의 종류에는, 심각도 매우 높음(Critical), 심각도 높음(Major), 심각도 낮음(Minor) 및 심각도 매우 낮음(Trivial)이 있다. 심각도 매우 높음(Critical)은, 소프트웨어에 매우 심각한 영향을 미치므로 오류 수정이 필요하다는 의미이고, 심각도 높음(Major)은 소프트웨어에 영향을 미칠 수 있으므로 오류 수정이 강력히 권고된다는 의미이고, 심각도 낮음(Minor)은 소프트웨어에 영향을 줄 수 있으므로 오류 수정이 권장된다는 의미이고, 심각도 매우 낮음(Trivial)은 소프트웨어에 큰 영향은 없지만 오류 수정이 권장된다는 의미이다.
위 <수학식 1>은 소프트웨어 제공자에 의해서 또는 사용자에 의해서도 수정 및 변경될 수 있다.
또 다른 예를 들어, 품질 지표 추출부(510)가 위 <표 2>의 품질 요소들을 사용하여 요구 사항에 대한 시험 커버리지 지표의 품질 지표 값을 추출하는 경우, 상기 요구 사항에 대한 시험 커버리지 지표의 품질 지표 계산식은 아래의 <수학식 2>일 수 있다. 여기서, 상기 요구 사항에 대한 시험 커버리지 지표의 의미는 요구사항 대비 요구사항에 대한 시험 수행 여부를 확인함으로써 검증 요구 기능의 완전성을 측정하기 위한 지표이다.
Figure 112013112778239-pat00002
위 <수학식 2>에서, CVRreq는 요구 사항 커버리지 지표 값이고, NumOfReqExecutedTest는 시험 수행을 통해 확인한 요구 사항 개수이고, NumOfReqTotal는 전체 요구 사항 개수이다.
위 <수학식 2>는 소프트웨어 제공자에 의해서 또는 사용자에 의해서도 수정 및 변경될 수 있다.
품질 지표 추출부(510)는 하나의 품질 지표뿐만 아니라 복수의 품질 지표들 각각의 품질 지표 값들도 추출할 수 있다. 예를 들어, 품질 지표 추출부(510)는 앞서 설명한 심각도 별 코딩 규칙 위배 지표 값과 요구사항에 대한 시험 커버리지(Coverage) 지표 값뿐만 아니라, 코딩 규칙 위배 밀도 지표 값, 경고/에러(Warning/Error) 지표, 복잡도 지표 값, MC/DC 유효성 지표, 주석 비율 지표 값, 유효 라인수 지표 값, 조건식의 and/or 개수 지표 값, 함수별 인자 및 글로벌 변수 개수 지표 값, 상태 커버리지(Statement Coverage) 지표 값, 브렌치 커버리지(Branch Coverage) 지표 값, MC/DC 지표 값, 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표 값, 모듈의 재배포 지표 값, 다수 개발자 관리 함수/모듈 지표 값, 이식성 확인 지표 값, 이식성 체크 리스트 지표 값 및 자원 효율성 체크 리스트 지표 값을 추출할 수 있다.
코딩 규칙 위배 밀도 지표는, 소스 코드 라인(line) 당 코딩 규칙 위배 항목의 수를 이용하여 다른 소프트웨어와의 상대적 비교를 통해 신뢰성을 측정하기 위한 지표이다. 본 지표 값이 낮을수록 소프트웨어의 잠재적 오류가 적음을 뜻하고, 이는 신뢰도가 높다는 의미이다.
경고/에러(Warning/Error) 지표는, 소프트웨어의 컴파일 시에 발생하는 경고와 에러에 따른 심각도 지표이다.
복잡도(Cyclomatic Complexity) 지표는, 각 함수 별 복잡도 정도의 현황을 보여주는 지표이다. 이 지표를 통해, 허용치 이상의 함수 복잡도를 가진 함수의 개수를 바탕으로 소프트웨어의 유지 보수의 용이성을 확인할 수 있다.
MC/DC 유효성 지표는, 각 함수 별 MC/DC 별 유효성 결과 현황을 확인할 수 있는 지표이다. 이 지표를 통해, MC/DC를 측정하는 시험 케이스에 대해 함수 내 모든 불린(Boolean) 수식의 MC/DC를 만족시키는 시험 케이스와 함수 내 모든 분기 조건식의 MC/DC를 만족시키는 시험 케이스의 비율을 측정함으로서 소프트웨어의 유지 보수의 용이성을 확인할 수 있다.
주석 비율 지표는, 소프트웨어의 파일 별로 포함된 주석들의 비율 현황을 확인할 수 있는 지표이다. 이 지표를 통해, 각 파일 및 함수의 내용을 설명하는데 활용하는 주석의 비율이 충분한지 여부를 확인함으로서 소프트웨어의 유지 보수 용이성을 확인할 수 있다. 주석이 하나도 기록되지 않았을 때는 0%의 값을 갖고, 소스와 동일한 양만큼 주석이 기록되면 100% 값을 갖고, 소스보다 더 많은 양의 주석이 기록되면 100% 이상의 값을 가질 수 있다.
유효 라인수 지표는, 각 함수 별 공백 라인 및 주석을 제외한 유효 라인수의 제한 위배 여부 현황을 확인할 수 있는 지표이다. 이 지표를 통해, 제한된 유효 라인 수 평가 기준을 사용하여 각 함수 별 유효 라인 수 제한 위배 여부를 확인함으로써 소프트웨어의 유지 보수 용이성을 확인할 수 있다.
조건식의 and/or 개수 지표는, 함수 내 각 조건식의 and/or 조건의 개수가 제한 개수를 초과하는지 여부를 확인할 수 있는 지표이다. 함수 내 각 조건식의 and/or 조건 개수의 증가는 소프트웨어의 유지 보수 시 소스 코드의 이해도를 떨어뜨려 소프트웨어의 유지 보수 용이성을 떨어뜨릴 수 있다.
함수별 인자 및 글로벌 변수 개수 지표는, 함수의 인자 개수 및 글로벌 변수의 개수에 관한 지표로서, 함수의 인자 개수와 글로벌 변수의 개수가 많다는 의미는 소프트웨어의 변인이 많아 오류 발생 가능성이 많다는 의미이다.
상태 커버리지(Statement Coverage) 지표는, 상태 커버리지 현황을 확인함으로써 소프트웨어 시험의 품질을 측정하여 신뢰성을 측정하기 위한 지표이다. 이 지표 값이 클수록 소프트웨어의 검증이 충분했음을 의미하고, 신뢰도가 높다는 의미이다.
브렌치 커버리지(Branch Coverage) 지표는, 브렌치 커버리지 현황을 확인함으로써 소프트웨어 시험의 품질을 측정하여 신뢰성을 측정하기 위한 지표이다. 이 지표 값이 클수록 소프트웨어의 검증이 충분했음을 의미하고, 신뢰도가 높다는 의미이다.
MC/DC 지표는, MC/DC 현황을 확인함으로써 소프트웨어 시험의 품질을 측정하여 신뢰성을 측정하기 위한 지표이다. 이 지표 값이 클수록 소프트웨어의 검증이 충분했음을 의미하고, 신뢰도가 높다는 의미이다.
칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표는, 칼리브레이션 메모리 영역의 크기 및 최대 사용량을 확인함으로써 설계한 메모리 사용에 대한 확인이 가능한 지표이다. 본 지표를 확인하면, 올바른 설계가 되었는지, 충분한 자원 사용 테스트(Resource Usage Test)가 수행되었는지를 확인할 수 있다.
모듈의 재배포 지표는, 주요 모듈의 재배포 여부 현황을 확인할 수 있는 지표이다. 이 지표를 통해, 제한된 모듈 재배포 횟수를 초과하는 행위를 정해진 프로세스 위반 여부를 확인할 수 있다.
다수 개발자 관리 함수/모듈 지표는, 함수 또는 모듈의 변경이 다수의 개발자에 의해 발생하는지 여부를 확인할 수 있는 지표이다. 복수의 개발자가 특정 함수 및 모듈의 변경을 동시에 할 경우, 그 반영이 의도하지 않게 될 가능성이 있으므로, 본 지표를 통해 이를 확인할 수 있다.
이식성 확인 지표는, 변경이 일어나면 안 되는 파일들의 변경 이력을 확인할 수 있는 지표이다. 이 지표를 통해, 변경이 일어나면 안 되는 파일들에 대한 변경 시도 여부를 확인함으로써 소프트웨어의 이식성을 측정할 수 있다.
이식성 체크 리스트 지표는, 이식성 품질 특성과 관련된 평가 체크 리스트에서 긍정 응답 비율을 확인할 수 있는 지표이다. 상기 체크 리스트의 응답은 사용자가 직접 입력한다.
자원 효율성 체크 리스트 지표는, 소프트웨어의 자원 효율성을 고려한 평가 체크 리스트에서 긍정 응답 비율을 확인할 수 있는 지표이다. 상기 체크 리스트의 응답은 사용자가 직접 입력한다.
위에서 예로 든 각 여러 품질 지표 값들을 추출하기 위해, 필요한 품질 요소들과 품질 지표 계산식이 소프트웨어 제공자 또는 사용자에 의해 미리 설정된다.
품질 특성 추출부(530)는, 품질 지표 추출부(510)에서 추출된 복수의 품질 지표들과 품질 지표들 별 품질 지표 값들을 수신하고, 수신된 품질 지표들을 미리 설정된 조건에 따라 그룹화하여 복수의 품질 특성 그룹들을 생성한다. 여기서, 미리 설정된 조건은 소프트웨어 제공자 또는 사용자에 의해 결정될 수 있는데, 구체적인 일 예로서, 아래 <표 3>을 참조하면, 미리 설정된 조건은 복수의 품질 지표들을 정적 품질 특성, 동적 품질 특성 및 프로세스 품질 특성으로 그룹화하는 것일 수 있다.
품질 특성(a, b)
a: 프로젝트일 때의 제2 가중치,
b: 파일일 때의 제2 가중치
품질 지표(c, d)
c: 프로젝트일 때의 제1 가중치
d: 파일일 때의 제1 가중치
정적 (40%, 60%) 1. 심각도 별 코딩 규칙 위배 지표 (12%, 15%)
2. 코딩 규칙 위배 밀도 지표 (12%, 15%)
3. 경고/에러(Warning/Error) 지표 (11%, none)
4. 복잡도 지표 (15%, 15%)
5. MC/DC 유효성 지표 (10%, 15%)
6. 주석 비율 지표 (10%, 15%)
7. 유효 라인수 지표 (10%, none)
8. 조건식의 and/or 개수 지표 (10%, 15%)
9. 함수별 인자 및 글로벌 변수 개수 지표 (10%, 10%)
동적 (30%, 40%) 1. 요구사항에 대한 시험 커버리지(Coverage) 지표 (25%, none)
2. 상태 커버리지(Statement Coverage) 지표 (10%, 30%)
3. 브렌치 커버리지(Branch Coverage) 지표 (20%, 30%)
4. MC/DC 지표 (20%, 40%)
5. 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표 (25%, none)
프로세스 (30%, none) 1. 모듈의 재배포 지표 (20%, none)
2. 다수 개발자 관리 함수/모듈 지표 (20%, none)
3. 이식성 확인 지표 (20%, none)
4. 이식성 체크 리스트 지표 (20%, none)
5. 자원 효율성 체크 리스트 지표 (20%, none)
품질 특성 추출부(550)는 위 <표 3>과 같이 복수의 품질 지표들을 그룹화한 후, 각 그룹 내의 품질 지표들 각각의 품질 지표 값들에 소정의 가중치(제1 가중치)를 부여한다.
구체적으로, 위 <표 3>과 같이, 정적 품질 특성 내의 9개의 품질 지표 값들 각각에 제1 가중치를 부여하고, 동적 품질 특성 내의 6개의 품질 지표 값들 각각에 제1 가중치를 부여하고, 프로세스 품질 특성 내의 5개의 품질 지표 값들 각각에 제1 가중치를 부여한다.
위 <표 3>과 같이, 제1 가중치는 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정될 수 있다. 예를 들어, 프로젝트에서 심각도 별 코딩 규칙 위배 지표 값의 제1 가중치를 12%로 설정되고, 파일에서 심각도 별 코딩 규칙 위배 지표 값의 제1 가중치를 15%로 설정될 수 있다.
제1 가중치는 소프트웨어 제공자 또는 사용자에 의해 미리 설정된 값으로서, 위 <표 3>으로 한정되는 것은 아니며, 소프트웨어 제공자 또는 사용자에 의해 다양한 값으로 변경될 수 있다.
품질 특성 추출부(550)는 품질 지표 값들 각각에 제1 가중치를 부여한 후, 정량적인 품질 특성 값을 추출한다.
구체적인 예를 위 <표 3>을 참조하여 설명하면, 만약, 정적 품질 특성의 1번 지표 값이 90, 2번 지표 값이 100, 3번 지표 값이 90, 4번 지표 값이 100, 5번 지표 값이 100, 6번 지표 값이 100, 7번 지표 값이 100, 8번 지표 값이 100, 9번 지표 값이 100이면, 정적 품질 특성 값은 97.7(= (1번 지표 값)*(제1 가중치) + …… + (6번 지표 값)*(제1 가중치))이 된다.
품질 점수 추출부(550)는, 품질 특성 추출부(530)에서 추출된 복수의 품질 특성 값들을 수신하고, 수신된 품질 특성 값들 각각에 미리 설정된 소정의 가중치(제2 가중치)를 부여한다.
구체적으로, 위 <표 3>과 같이, 정적 품질 특성 값에는 제2 가중치(40%)를 부여하고, 동적 품질 특성 값에는 제2 가중치(30%)를 부여하고, 프로세스 품질 특성 값에는 제3 가중치(30%)를 부여한다.
위 <표 3>과 같이, 제2 가중치는 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정될 수 있다. 예를 들어, 프로젝트에서 정적 품질 특성 값의 제2 가중치를 40%로 설정되고, 파일에서 정적 품질 특성 값의 제2 가중치를 60%으로 설정될 수 있다.
여기서, 제2 가중치는 소프트웨어 제공자 또는 사용자에 의해 미리 설정된 값으로서, 위 <표 3>으로 한정되는 것은 아니며, 소프트웨어 제공자 또는 사용자에 의해 다양한 값으로 변경될 수 있다.
품질 점수 추출부(550)는 수신된 품질 특성 값들 각각에 소정의 가중치(제2 가중치)를 부여한 후, 정량적인 종합 품질 점수를 추출한다.
구체적인 예를 위 <표 3>을 참조하여 설명하면, 만약, 정적 품질 특성 값이 97.7, 동적 품질 특성 값이 98.4, 프로세스 품질 특성 값이 96.4이면, 종합 품질 점수는 97.52(= (정적 품질 특성 값)*(제2 가중치) + (동적 품질 특성 값)*(제2 가중치) + (프로세스 품질 특성 값)*(제2 가중치))이 된다.
품질 점수 추출부(550)에서 종합 품질 점수가 추출되면, 추출된 종합 품질 점수는 도 1에 도시된 표시 모듈(700)로 전송되고, 표시 모듈(700)은 품질 점수 추출부(550)로부터 수신된 종합 품질 점수를 사용자에게 모니터와 같은 디스플레이 장치에 표시할 수 있다.
프로젝트 별 또는 파일 별로 품질 점수가 디스플레이 장치에 표시된 일 예가 도 5 내지 도 8에 도시되어 있다.
도 5는 프로젝트 목록을 보여주는 창으로서, 프로젝트 001과 프로젝트 002가 창에 디스플레이되고 있다. 각 프로젝트 별로 생성일, 최신 회차, 품질 평가 모델, 종합 품질 점수가 기재되어 있고, 종합 품질 점수의 기간에 따른 변화에 대한 그래프가 도시되어 있다.
도 6은 도 5의 어느 한 프로젝트의 구체적인 정보를 보여주는 창으로서, 종합 품질 점수, 파일 목록 및 품질 지표 목록이 기재되어 있다.
도 7 내지 도 8은 어느 한 프로젝트의 복수의 파일들 중 어느 한 파일의 목록과 구체적인 종합 품질 점수를 보여주는 창이다.
도 9는 실시 형태에 따른 소프트웨어 품질 관리 방법의 순서도이다.
도 9를 참조하면, 실시 형태에 따른 품질 관리 방법은, 품질 요소 추출 단계(S100), 품질 평가 단계(S300) 및 품질 점수 표시 단계(S500)을 포함할 수 있다.
품질 요소 추출 단계(S100)는 소프트웨어의 소스 코드 파일로부터 품질 요소를 추출한다. 품질 요소의 추출 방법은 도 10을 참조하여 구체적으로 설명하도록 한다.
품질 평가 단계(S300)는 S100 단계에서 추출된 품질 요소를 사용하여 품질 점수를 추출한다. 품질 점수의 추출 방법은 도 11을 참조하여 구체적으로 설명하도록 한다.
품질 점수 표시 단계(S500)는 S300 단계에서 추출된 품질 점수를 모니터와 같은 디스플레이 장치에 표시한다.
도 10은 도 9에 도시된 품질 요소 추출 단계(S300)를 구체화한 순서도이다.
도 10을 참조하면, 품질 요소 추출 단계(S300)는 소스 코드 검증 단계(S310) 및 품질 요소 생성 단계(S330)를 포함할 수 있다.
소스 코드 검증 단계(S310)는 입력된 소소 코드 파일을 적어도 하나 이상의 검증 도구(tool)들을 사용하여 검증한다. 구체적으로, 입력된 소스 코드 파일을 코드 조사기(code inspector), 컨트롤러 테스터(controller tester), 컴파일러(compiler) 및 기타 다른 검증 도구들을 사용하여 검증할 수 있다.
소스 코드 검증 단계(S310)를 수행하면, 각 검증 도구에 따라 소정의 검증 데이터들이 산출된다. 산출된 검증 데이터들은 도 3에 도시된 바와 같은 산출 파일로서 출력될 수도 있고, 데이터 베이스(DB)에 저장될 수 있다.
한편, 소스 코드 검증 단계(S310)에서 산출된 검증 데이터들이 산출 파일로 출력되거나 데이터 베이스에 저장되지 않고, 미리 약속된 일부 검증 데이터들이 품질 요소로서 바로 이용될 수 있다. 품질 요소는 API(Application Programming Interface)를 통해 도 4의 품질 평가 모듈(500)로 전송되어, 도 9의 품질 평가 단계(S500)에서 곧바로 이용될 수 있다.
품질 요소 생성 단계(S330)는 S310 단계에서 산출된 검증 데이터에서 품질 요소를 생성한다. 구체적으로, S310 단계에서 산출된 검증 데이터가 산출 파일 형태로 출력되는 경우, 상기 산출 파일에서 일부 검증 데이터를 선택하여 품질 요소를 생성할 수 있다. 여기서, 선택되는 일부 검증 데이터는 품질 평가 단계(S500)에서 요구되는 데이터들일 수 있다.
예를 들어, 품질 요소 생성 단계(S330)는 소스 코드의 심각도와 관련된 검증 데이터에서 위 <표 1>과 같은 품질 요소를 생성할 수 있다.
도 11은 도 9에 도시된 품질 평가 단계(S500)를 구체화한 순서도이다.
도 11을 참조하면, 품질 평가 단계(S500)는 품질 지표 추출 단계(S510), 품질 특성 추출 단계(S530) 및 품질 점수 추출 단계(S550)를 포함할 수 있다.
품질 지표 추출 단계(S510)는 도 10의 품질 요소 생성 단계(S330)에서 출력된 품질 요소들을 사용하여 품질 지표 별 정량적인 품질 지표 값을 추출한다. 품질 지표 값은 수신된 품질 요소들을 미리 설정된 품질 지표 계산식에 대입하여 추출될 수 있다. 여기서, 품질 지표 계산식은 사용자에 의해 미리 결정된 계산식일 수도 있고, 소프트웨어 제공자에 의해 미리 결정된 계산식일 수도 있다.
품질 지표를 추출하는 일 예로서, 위 <표 1>의 품질 요소들을 위 <수학식 1>을 사용하여 정량적인 품질 지표 값을 추출할 수 있고, 위 <표 2>의 품질 요소들을 위 <수학식 2>를 사용하여 정량적인 품질 지표 값을 추출할 수 있다.
품질 지표는 하나일 수도 있고, 복수일 수도 있다. 예를 들어, 품질 지표는 심각도 별 코딩 규칙 위배 지표, 코딩 규칙 위배 밀도 지표, 경고/에러(Warning/Error) 지표, 복잡도 지표, MC/DC 유효성 지표, 주석 비율 지표, 유효 라인수 지표, 조건식의 and/or 개수 지표, 함수 별 인자 및 글로벌 변수 개수 지표, 요구사항에 대한 시험 커버리지(Coverage) 지표, 상태 커버리지(Statement Coverage) 지표, 브렌치 커버리지(Branch Coverage) 지표, MC/DC 지표, 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표, 모듈의 재배포 지표, 다수 개발자 관리 함수/모듈 지표, 이식성 확인 지표, 이식성 체크 리스트 지표, 및 자원 효율성 체크 리스트 지표를 포함할 수 있다.
품질 특성 추출 단계(S530)는 위 S510 단계에서 추출된 복수의 품질 지표들을 미리 설정된 조건에 따라 그룹화하여 복수의 품질 특성 그룹들을 생성한다. 그리고, 각 그룹 내의 품질 지표들 각각에 소정의 가중치(제1 가중치)를 부여한다. 그리고, 각 그룹의 정량적인 품질 특성 값을 추출한다. 구체적인 설명은 위 <표 3>과 그에 대한 설명으로 대체한다.
품질 점수 추출 단계(S550)는 위 S530 단계에서 추출된 복수의 품질 특성 값들을 각각에 미리 설정된 소정의 가중치(제2 가중치)를 부여하여 정량적인 종합 품질 점수를 추출한다. 구체적인 방법은 위 품질 점수 추출부(550)에서 설명한 품질 점수 추출 방법에 대한 설명으로 대체한다.
이상 설명된 실시 형태들은 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100: 소스 코드 파일 저장소
300: 품질 요소 추출 모듈
500: 품질 평가 모듈
700: 표시 모듈

Claims (11)

  1. 수신된 품질 요소들을 미리 설정된 품질 지표 계산식들에 대입하여 품질 지표들 각각의 품질 지표 값들을 추출하는, 품질 지표 추출부;
    상기 품질 지표들을 복수의 품질 특성 그룹들로 그룹화하고, 상기 품질 지표 값들 각각에 미리 설정된 제1 가중치를 부여하여 상기 복수의 품질 특성 그룹별 품질 특성 값들을 추출하는, 품질 특성 추출부; 및
    상기 그룹별 품질 특성 값들 각각에 미리 설정된 제2 가중치를 부여하여 종합 품질 점수를 추출하는, 품질 점수 추출부;를 포함하고,
    상기 복수의 품질 특성 그룹들은, 정적 품질 특성 그룹, 동적 품질 특성 그룹, 및 프로세스 품질 특성 그룹을 포함하고,
    상기 정적 품질 특성 그룹은, 심각도 별 코딩 규칙 위배 지표, 코딩 규칙 위배 밀도 지표, 경고/에러(Warning/Error) 지표, 복잡도 지표, MC/DC 유효성 지표, 주석 비율 지표, 유효 라인수 지표, 조건식의 and/or 개수 지표, 및 함수별 인자 및 글로벌 변수 개수 지표 중에서 적어도 하나 이상을 포함하고,
    상기 동적 품질 특성 그룹은, 요구사항에 대한 시험 커버리지(Coverage) 지표, 상태 커버리지(Statement Coverage) 지표, 브렌치 커버리지(Branch Coverage) 지표, MC/DC 지표, 및 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표 중에서 적어도 하나 이상을 포함하고,
    상기 프로세스 품질 특성 그룹은, 모듈의 재배포 지표, 다수 개발자 관리 함수/모듈 지표, 이식성 확인 지표, 이식성 체크 리스트 지표, 및 자원 효율성 체크 리스트 지표 중에서 적어도 하나 이상을 포함하는, 소프트웨어의 품질 평가 모듈.
  2. 제 1 항에 있어서,
    상기 제1 가중치는, 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정된, 소프트웨어의 품질 평가 모듈.
  3. 제 1 항에 있어서,
    상기 제2 가중치는, 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정된, 소프트웨어의 품질 평가 모듈.
  4. 삭제
  5. 삭제
  6. 품질 지표 추출부가 수신된 품질 요소들을 미리 설정된 품질 지표 계산식들에 대입하여 품질 지표들 각각의 품질 지표 값들을 추출하는, 품질 지표 추출 단계;
    품질 특성 추출부가 상기 품질 지표들을 복수의 품질 특성 그룹들로 그룹화하고, 상기 품질 지표 값들 각각에 미리 설정된 제1 가중치를 부여하여 상기 복수의 품질 특성 그룹별 품질 특성 값들을 추출하는, 품질 특성 추출 단계; 및
    품질 점수 추출부가 상기 그룹별 품질 특성 값들 각각에 미리 설정된 제2 가중치를 부여하여 종합 품질 점수를 추출하는, 품질 점수 추출 단계;를 포함하고,
    상기 복수의 품질 특성 그룹들은, 정적 품질 특성 그룹, 동적 품질 특성 그룹, 및 프로세스 품질 특성 그룹을 포함하고,
    상기 정적 품질 특성 그룹은, 심각도 별 코딩 규칙 위배 지표, 코딩 규칙 위배 밀도 지표, 경고/에러(Warning/Error) 지표, 복잡도 지표, MC/DC 유효성 지표, 주석 비율 지표, 유효 라인수 지표, 조건식의 and/or 개수 지표, 및 함수별 인자 및 글로벌 변수 개수 지표 중에서 적어도 하나 이상을 포함하고,
    상기 동적 품질 특성 그룹은, 요구사항에 대한 시험 커버리지(Coverage) 지표, 상태 커버리지(Statement Coverage) 지표, 브렌치 커버리지(Branch Coverage) 지표, MC/DC 지표, 및 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표 중에서 적어도 하나 이상을 포함하고,
    상기 프로세스 품질 특성 그룹은, 모듈의 재배포 지표, 다수 개발자 관리 함수/모듈 지표, 이식성 확인 지표, 이식성 체크 리스트 지표, 및 자원 효율성 체크 리스트 지표 중에서 적어도 하나 이상을 포함하는, 소프트웨어의 품질 평가 방법.
  7. 제 6 항에 있어서,
    상기 제1 가중치는, 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정된, 소프트웨어의 품질 평가 방법.
  8. 제 6 항에 있어서,
    상기 제2 가중치는, 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정된, 소프트웨어의 품질 평가 방법.
  9. 삭제
  10. 삭제
  11. 제 6 항 내지 제 8 항 중 어느 하나의 항에 따른 소프트웨어의 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020130152817A 2013-12-10 2013-12-10 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 KR101547247B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130152817A KR101547247B1 (ko) 2013-12-10 2013-12-10 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
PCT/KR2013/011426 WO2015088066A1 (ko) 2013-12-10 2013-12-10 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130152817A KR101547247B1 (ko) 2013-12-10 2013-12-10 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Publications (2)

Publication Number Publication Date
KR20150067454A KR20150067454A (ko) 2015-06-18
KR101547247B1 true KR101547247B1 (ko) 2015-08-25

Family

ID=53371358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130152817A KR101547247B1 (ko) 2013-12-10 2013-12-10 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Country Status (2)

Country Link
KR (1) KR101547247B1 (ko)
WO (1) WO2015088066A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101940538B1 (ko) * 2016-12-08 2019-01-21 동국대학교 산학협력단 소프트웨어 품질 시각화 장치 및 방법
KR102007719B1 (ko) * 2017-06-14 2019-08-07 슈어소프트테크주식회사 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
CN109471787B (zh) * 2017-09-07 2022-09-06 北京京东尚科信息技术有限公司 软件质量评价方法及装置、存储介质、电子设备
CN107766249A (zh) * 2017-10-27 2018-03-06 广东电网有限责任公司信息中心 一种基于过程监控的软件质量综合评估方法
CN111767212B (zh) * 2020-06-17 2024-05-14 中国船舶重工集团公司第七一九研究所 一种软件代码质量评价方法、装置、设备及存储介质
CN112463589B (zh) * 2020-11-04 2024-09-13 贝壳技术有限公司 质量化参数确定方法、装置、电子设备及存储介质
CN114510407A (zh) * 2020-11-17 2022-05-17 上海交通大学 开源软件生态系统指标计算方法
CN113377642B (zh) * 2021-06-28 2023-03-24 中国西安卫星测控中心 一种基于产品线开发的软件质量评估方法
CN116991746B (zh) * 2023-09-25 2023-12-22 航天中认软件测评科技(北京)有限责任公司 一种软件通用质量特性评估方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165491A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd ソフトウェア品質評価装置及び方法
JP2012256211A (ja) * 2011-06-09 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> 支援装置、支援方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086319A (ja) * 2002-08-23 2004-03-18 Hitachi Information Systems Ltd ソフトウェアの品質評価方法及び品質評価システム
US8195983B2 (en) * 2008-10-22 2012-06-05 International Business Machines Corporation Method and system for evaluating software quality
US9600395B2 (en) * 2011-12-07 2017-03-21 Siemens Aktiengesellschaft Software quality evaluating system and methods for determining an extent of software code changes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165491A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd ソフトウェア品質評価装置及び方法
JP2012256211A (ja) * 2011-06-09 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> 支援装置、支援方法およびプログラム

Also Published As

Publication number Publication date
KR20150067454A (ko) 2015-06-18
WO2015088066A1 (ko) 2015-06-18

Similar Documents

Publication Publication Date Title
KR101547247B1 (ko) 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR101547248B1 (ko) 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
US9710257B2 (en) System and method to map defect reduction data to organizational maturity profiles for defect projection modeling
US20140372083A1 (en) Derived restrictions in a combinatorial model
US9454466B2 (en) Explaining partially illegal combinations in combinatorial models
Wauters et al. Study of the stability of earned value management forecasting
Kang et al. Development of a Bayesian belief network model for software reliability quantification of digital protection systems in nuclear power plants
US10185612B2 (en) Analyzing the availability of a system
US20140033174A1 (en) Software bug predicting
Jee et al. Automated test case generation for FBD programs implementing reactor protection system software
US9424379B2 (en) Simulation system and method for testing a simulation of a device against one or more violation rules
Jin et al. Uncertainty assessment of reliability estimates for safety-instrumented systems
Bluemke et al. Software testing effort estimation and related problems: A systematic literature review
Zakaria et al. Safety climate factors at selected chemical manufacturing plant in Malaysia
KR101591300B1 (ko) 원전 기기의 인간 공학 적합성 평가를 위한 장치 및 방법
JP2020517018A (ja) 偶発的なハードウェア故障の確率的メトリック
KR101665962B1 (ko) 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체
US20160329996A1 (en) Failure sensitivity analysis
KR102007719B1 (ko) 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
Tagharobi et al. Introducing a Framework for Code based Fairness Audits of Learning Analytics Systems on the Example of Moodle Learning Analytics.
CN112631852B (zh) 宏检查方法、装置、电子设备和计算机可读存储介质
Hira et al. Using software non-functional assessment process to complement function points for software maintenance
Höfig et al. MetaFMEA-A framework for reusable FMEAs
Bollin Is there evolution before birth? Deterioration effects of formal Z specifications
Matsumura et al. Analyzing factors of defect correction effort in a multi-vendor information system development

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181029

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190808

Year of fee payment: 5