KR20180136163A - 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 - Google Patents

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

Info

Publication number
KR20180136163A
KR20180136163A KR1020170074758A KR20170074758A KR20180136163A KR 20180136163 A KR20180136163 A KR 20180136163A KR 1020170074758 A KR1020170074758 A KR 1020170074758A KR 20170074758 A KR20170074758 A KR 20170074758A KR 20180136163 A KR20180136163 A KR 20180136163A
Authority
KR
South Korea
Prior art keywords
software
quality evaluation
quality
project
integrated quality
Prior art date
Application number
KR1020170074758A
Other languages
English (en)
Other versions
KR102007719B1 (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 KR1020170074758A priority Critical patent/KR102007719B1/ko
Publication of KR20180136163A publication Critical patent/KR20180136163A/ko
Application granted granted Critical
Publication of KR102007719B1 publication Critical patent/KR102007719B1/ko

Links

Images

Classifications

    • 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/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

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

Abstract

본 발명은 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체에 관한 것으로, 좀 더 상세하게는 다양한 종류의 소프트웨어 분석 도구들로부터 출력된 여러 실제 분석 결과들을 통합하여 소프트웨어의 객관성 있는 통합 품질 결과를 제공하는 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체에 관한 것이다.
실시 형태에 따른 소프트웨어 통합 품질 평가 방법은, 다수의 소프트웨어 분석 도구가 제공하는 다수의 팩터(factor)를 기초로 품질 평가 모델을 생성하는, 품질 평가 모델 생성 단계; 상기 품질 평가 모델이 적용되는 프로젝트를 생성하는, 프로젝트 생성 단계; 및 상기 다수의 소프트웨어 분석 도구로부터 상기 프로젝트에 대한 실제 분석 결과들을 제공받고, 제공된 상기 실제 분석 결과들을 상기 품질 평가 모델에 대입하여 통합 품질 결과를 생성하는, 통합 품질 결과 생성 단계;를 포함한다.

Description

소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체{METHOD FOR MASURING INTEGRATED QUALITY OF SOFTWARE AND COMPUTER READABLE RECORDING MEDIUM HAVING PROGRAM PERFORMING THE SAME}
본 발명은 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체에 관한 것으로, 좀 더 상세하게는 다양한 종류의 소프트웨어 분석 도구들로부터 출력된 여러 실제 분석 결과들을 통합하여 소프트웨어의 객관성 있는 통합 품질 결과를 제공하는 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체에 관한 것이다.
컴퓨터나 온라인 상에서만 접하던 소프트웨어(SW)가 최근에는 다양한 기기에 탑재되어 일상 생활과 산업 현장에 편리함을 더해주고 있다. 그에 따라 시장에 배포되기 전에 SW를 충분히 시험(test)해서 오류를 잡아야 할 필요성은 점차 증가하고 있다. 특히, 자동차나 철도, 항공기의 경우 운행 중에 장애가 발생할 경우 인명피해를 입을 수도 있다.
SW를 테스트하는 다양한 소프트웨어 분석 도구들이 존재한다. 예를 들어, SW 소스코드를 그대로 분석하여 SW 소스코드에 잠재되어 있는 오류를 찾아내는 정적 분석 도구, 개발된 SW를 실제로 동작시키면서 발생하는 오류를 찾아내는 동적 분석 도구가 대표적이다. 또한, 코드 커버리지를 측정할 수 있는 코드 커버리지 측정 도구도 존재한다.
이와 같이, SW를 테스트하는 다양한 도구들이 존재하지만, 각 도구들 별로 품질 기준이 제 각각이기 때문에, 객관적인 품질 기준이 부재한 실정이다. 객관적인 품질 기준이 부재하기 때문에, 소프트웨어의 개발 방향의 수립이 어렵고, 각 도구들에서 출력된 실제 분석 결과에만 의존하게 되는 문제가 있다. 또한, 제품 출시 기준이 모호하기 때문에, 주관적인 판단으로 제품을 출시하는 문제가 있다. 또한, 통합 품질 시스템이 부재하기 때문에, 시험 종류별 담당자 간의 소통이 어려운 문제가 있다.
본 발명의 해결하고자 하는 과제는, 소프트웨어를 시험하는 다양한 종류의 도구들로부터 출력된 실제 분석 결과들을 통합하여 해당 소프트웨어의 품질을 객관적으로 평가 가능한 통합 품질 결과를 제공하는 것이다.
또한, 해당 소프트웨어의 통합 품질 결과에 대한 현황을 지속적으로 누적 및 관리하여 추이를 확인할 수 있게 한다.
또한, 해당 소프트웨어의 품질에 대한 명료한 품질 지표 및 지표 별 점수 제공하는 것이다.
또한, 해당 소프트웨어의 통합 품질 결과를 효과적으로 시각화하여 다양한 분석 결과 제공하는 것이다.
본 발명의 해결하고자 하는 과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
실시 형태에 따른 소프트웨어 통합 품질 평가 방법은, 다수의 소프트웨어 분석 도구가 제공하는 다수의 팩터(factor)를 기초로 품질 평가 모델을 생성하는, 품질 평가 모델 생성 단계; 상기 품질 평가 모델이 적용되는 프로젝트를 생성하는, 프로젝트 생성 단계; 및 상기 다수의 소프트웨어 분석 도구로부터 상기 프로젝트에 대한 실제 분석 결과들을 제공받고, 제공된 상기 실제 분석 결과들을 상기 품질 평가 모델에 대입하여 통합 품질 결과를 생성하는, 통합 품질 결과 생성 단계;를 포함한다.
여기서, 상기 품질 평가 모델 생성 단계는, 상기 다수의 팩터 중 선택된 하나 또는 다수의 팩터를 기초로 적어도 하나 이상의 지표를 생성하는, 지표 생성 단계; 및 상기 하나 이상의 지표 중 선택된 하나 또는 다수의 지표를 기초로 상기 품질 평가 모델을 생성하는, 모델 생성 단계;를 포함할 수 있다.
여기서, 상기 모델 생성 단계는, 상기 하나 이상의 지표 중 선택된 하나 또는 다수의 지표를 그룹화하여 적어도 하나 이상의 특성을 생성하는 단계; 및 상기 적어도 하나 이상의 특성 중 선택된 하나 또는 다수의 특성을 기초로 상기 품질 평가 모델을 생성하는 단계;를 포함할 수 있다.
여기서, 상기 프로젝트 생성 단계는, 상기 프로젝트의 이름과 상기 프로젝트의 기준 점수가 설정 및 저장되는 단계를 포함할 수 있다.
여기서, 상기 통합 품질 결과를 화면에 출력하는 출력 단계;를 더 포함하고, 상기 통합 품질 결과는 통합 품질 점수를 포함하고, 상기 통합 품질 점수는 상기 실제 분석 결과들이 상기 품질 평가 모델에 대입되어 산출된 특성값 또는 지표값을 가중 평균한 것일 수 있다.
여기서, 상기 통합 품질 결과는, 이전 회차와의 증감, 회차 점수 추이와 상기 다수의 소프트웨어 분석 도구에서 분석된 개별 점수를 표시하는 그래프, 상기 프로젝트를 구성하는 각 지표들의 값과 이전 회치와의 증감을 표시한 표, 및 상기 프로젝트 내의 각 파일의 값과 이전 회차와의 증감을 표시한 표 중 적어도 하나 이상을 더 포함할 수 있다.
또 다른 실시 형태는, 상술한 소프트웨어 통합 품질 평가 방법들 각각을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.
실시 형태에 따른 소프트웨어 통합 품질 평가 방법을 사용하면, 소프트웨어를 시험하는 다양한 종류의 도구들로부터 출력된 실제 분석 결과들을 통합하여 해당 소프트웨어의 품질을 객관적으로 평가 가능한 통합 품질 결과를 제공할 수 있는 이점이 있다.
또한, 해당 소프트웨어의 통합 품질 결과에 대한 현황을 지속적으로 누적 및 관리하여 추이를 확인할 수 있는 이점이 있다.
또한, 해당 소프트웨어의 품질에 대한 명료한 품질 지표 및 지표 별 점수 제공할 수 있는 이점이 있다.
또한, 해당 소프트웨어의 통합 품질 결과를 효과적으로 시각화하여 다양한 분석 결과 제공할 수 있는 이점이 있다.
도 1은 실시 형태에 따른 소프트웨어 통합 품질 평가 방법의 순서도이다.
도 2는 도 1에 도시된 품질 평가 모델을 생성하는 단계(110)를 설명하기 위한 순서도이다.
도 3은 도 2에 도시된 팩터를 설명하기 위한 예시 도면이다.
도 4 내지 도 5는 도 2에 도시된 지표를 설명하기 위한 예시 도면이다.
도 6은 도 2에 도시된 품질 평가 모델을 설명하기 위한 예시 도면이다.
도 7 내지 도 8은 도 1에 도시된 프로젝트를 생성하는 단계(130)를 설명하기 위한 예시 도면이다.
도 9 내지 도 10은 도 1에 도시된 통합 품질 결과를 생성 및 출력하는 단계(150)를 설명하기 위한 예시 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시 형태를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 형태는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시형태는 서로 다르지만 상호 배타적일 필요는 없음을 이해하여야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시형태에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시형태로 구현될 수 있다. 또한, 각각의 개시된 실시 형태 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정될 수 있다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭할 수 있다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 형태에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 실시 형태에 따른 소프트웨어 통합 품질 평가 방법의 순서도이다.
도 1을 참조하면, 실시 형태에 따른 소프트웨어 통합 품질 평가 방법은, 품질 평가 모델을 생성하는 단계(110), 프로젝트를 생성하는 단계(130) 및 통합 품질 결과를 생성 및 출력하는 단계(150)를 포함한다.
품질 평가 모델을 생성하는 단계(110)는, 객관적인 통합 품질 결과를 출력하기 위한 품질 평가 모델을 생성하는 단계이다. 품질 평가 모델은 하나 또는 다수일 수 있으며, 하나 또는 다수의 품질 평가 모델은, 사용자의 선택에 따라 결정될 수도 있고, 소프트웨어 분석 도구에 따라 자동으로 생성될 수도 있다.
실시 형태에 따른 소프트웨어 통합 품질 평가 방법에서는, 하나 또는 다수의 품질 평가 모델을 생성하기 위해서 소정의 단계들을 수행하고, 소정의 단계들을 수행하는 과정에서 사용자의 선택 입력 신호 또는 미리 설정된 방법에 기초하여 하나 또는 다수의 품질 평가 모델을 생성한다. 이하, 도 2를 참조하여 소정의 단계들에 대해 구체적으로 설명한다.
도 2는 도 1에 도시된 품질 평가 모델을 생성하는 단계(110)를 설명하기 위한 순서도이다.
도 2를 참조하면, 품질 평가 모델을 생성하는 단계(110)는, 다수의 팩터를 입력받는 단계(111), 다수의 팩터로부터 지표를 생성하는 단계(113) 및 다수의 지표로부터 품질 평가 모델을 생성하는 단계(115)를 포함할 수 있다.
다수의 팩터를 입력받는 단계(111)를 설명함에 앞서, 팩터(factor)를 정의한다.
팩터(factor)란 하나 또는 다수의 소프트웨어 분석 도구가 제공하는 분석 결과(또는 분석 데이터)의 단위를 의미한다. 팩터는 소정의 소프트웨어 분석 도구로부터 제공되고 저장되는 수준에 따라 함수, 파일, 프로젝트(리비전)으로 구분될 수 있다. 따라서, 팩터는 소프트웨어 분석 도구에 따라 함수일 수도 있고, 파일일 수도 있으며, 프로젝트일 수도 있다. 팩터는 화면에서 표시하기 위한 출력 명칭을 별도로 가질 수도 있다. 예를 들어, 도 3에 도시된 바와 같이, 팩터(F)는 하나 또는 다수의 소프트웨어 분석 도구로부터 제공되는 '유효 코드 라인 수', '함수의 복잡도', '전체 코딩 규칙 위배 항목 수', '위배 규칙 심각도 매우 높음 개수', 및 '위배 규칙 심각도 높음 개수'를 의미할 수 있다.
팩터는 소프트웨어 분석 도구에 따라 결정된다. 구체적으로, 팩터는 소프트웨어 분석 도구에 따라 다를 수도 있고 같을 수도 있다. 예를 들어, 제1 소프트웨어 분석 도구에서 제공하는 팩터(들)과 제2 소프트웨어 분석 도구에서 제공하는 팩터(들)이 서로 다를 수도 있다. 뿐만 아니라 제1 소프트웨어 분석 도구에서 제공하는 팩터(들)과 제2 소프트웨어 분석 도구에서 제공하는 팩터(들) 중 일부는 공통될 수도 있다. 뿐만 아니라 제1 소프트웨어 분석 도구에서 제공하는 팩터(들)과 제2 소프트웨어 분석 도구에서 제공하는 팩터(들)이 동일할 수도 있다.
다시, 도 2를 참조하면, 다수의 팩터를 입력받는 단계(111)는, 하나 또는 다수의 소프트웨어 분석 도구에서 제공하는 다수의 팩터를 입력받는 단계이다. 앞서 설명한 바와 같이, 팩터는 소프트웨어 분석 도구에 따라 결정된다.
다수의 팩터로부터 지표를 생성하는 단계(113)는, 입력된 다수의 팩터로부터 적어도 하나 이상의 지표를 생성하는 단계이다.
지표란, 품질 구성 단위로서, 선택된 팩터들을 미리 정의한 계산식에 따라 평가(계산)된 것을 의미한다. 예를 들어, 도 3에 도시된 '복잡도(G)'가 하나의 지표일 수 있다. '복잡도'라는 하나의 지표는, 유효 코드 라인 수, 함수의 복잡도, 전체 코딩 규칙 위배 항목 수, 위배 규칙 심각도 매우 높음 개수, 및 위배 규칙 심각도 높음 개수라는 다수의 팩터들에 기초한다.
하나의 지표를 생성하기 위해서, 실시 형태에 따른 소프트웨어 통합 품질 평가 방법은, 도 4 내지 도 5에 도시된 바와 같이, 팩터 목록, 상수 목록, 지표 계산식 편집기를 화면에 시각적으로 제공할 수 있다. 여기서, 팩터 목록은 하나의 지표(복잡도)의 계산 대상 팩터들을 나열한 것이며, 사용자의 선택 입력 신호에 의해 일부 또는 전부가 선택될 수 있다. 지표 계산식 편집기는 하나의 지표(복잡도)를 계산하기 위한 식을 화면에 제공하는데, 제공되는 식은 디폴트로 제공되는 식일 수도 있고, 사용자에 의해 미리 편집된 식일 수 있다. 사용자는 지표 계산식 편집기를 통해 제공된 식을 수정 및 변경할 수도 있다.
하나의 지표를 구성하는 다수의 팩터들 각각에는 소정의 가중치가 부여될 수 있다. 가중치는 디폴트로 설정된 것일 수도 있고, 사용자의 선택 입력 신호에 의해 각 팩터별 가중치가 달라질 수도 있다.
하나의 지표는 하나의 소프트웨어 분석 도구로부터 제공된 팩터들이 조합되어 생성될 수도 있고, 둘 이상의 소프트웨어 분석 도구들로부터 제공된 팩터들이 조합되어 생성될 수도 있다.
생성된 지표는 다수일 수 있다. 다수의 지표는, 도 4에 도시된 바와 같이, 지표 목록을 통해 화면에 시각적으로 제공될 수 있다. 각 지표마다 팩터 목록, 상수 목록 및 지표 계산식 편집기가 화면에 시각적으로 제공된다. 지표 목록에 있는 지표들은 삭제될 수도 있고, 사용자에 의해 새로운 지표가 생성될 수도 있다.
다수의 지표 각각은 가중치를 가질 수 있다. 가중치는 디폴트로 자동 설정될 수도 있고, 사용자에 선택 입력 신호에 의해 각 지표별 가중치가 설정될 수 있다.
다시, 도 2를 참조하면, 다수의 지표로부터 품질 평가 모델을 생성하는 단계(115)는, 다수의 지표로부터 하나의 품질 평가 모델을 생성하는 단계이다.
품질 평가 모델은, 품질 특성 단위로서, 하나 또는 다수의 지표를 기초로 생성된다. 예를 들어, 도 6에 도시된 바와 같이, '샘플 모델(기본)'이라는 하나의 품질 평가 모델은, 다수의 지표들(코딩 규칙 위배, 코딩 규칙 위배 밀도, 복잡도, 주석 비율, 유효 라인 수, 조건식 논리 연산자 수, 전역 변수 개수, 구문 커버리지, 분기 커버리지, MC/DC)에 기초하여 생성될 수 있다. 다수의 지표들은 사용자의 선택 입력 신호에 따라 또는 디폴트로 자동 선택된 것일 수 있다.
품질 평가 모델은 다수로 생성할 수 있다. 생성된 다수의 품질 평가 모델은 이름, 모델 생성일 및 모델 설명을 포함하여 데이터 베이스 또는 메모리에 각각 저장되고, 도 6의 좌측의 품질 평가 모델 리스트 창을 통해 시각적으로 화면에 출력될 수 있다.
한편, 다수의 지표로부터 하나의 품질 평가 모델을 생성하는 과정 중에 다수의 지표들을 그룹화하여 특성을 생성할 수 있고, 생성된 특성 그룹들이 하나의 품질 평가 모델을 생성할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 다수의 지표들 중 일부 지표들이 소위 정적 테스트 기반이라는 제1 특성(T1)으로 그룹화되고, 나머지 지표들이 소위 동적 테스트 기반이라는 제2 특성(T2)으로 그룹화될 수 있다. 특성 그룹들(T1, T2) 각각은 소정의 가중치를 가질 수 있다. 가중치는 디폴트로 자동 설정될 수도 있고, 사용자의 선택 입력 신호에 따라 설정될 수 있다.
다수의 지표를 그룹화하는 방법은, 사용자의 선택 입력 신호에 따라 그룹핑될 수도 있고, 소프트웨어 분석 도구 별로 자동으로 그룹핑될 수도 있으며, 지표의 성질이나 기능이 동일 또는 유사한 것들끼리 자동으로 그룹핑될 수도 있다.
다시, 도 1을 참조하면, 프로젝트를 생성하는 단계(130)는, 통합 품질 평가를 받고자 하는 대상을 생성하고, 생성된 대상을 앞서 생성된 품질 평가 모델과 연계시키기 위한 단계이다.
프로젝트는 실시 형태에 따른 소프트웨어 통합 품질 평가 방법에서의 관리 단위이다. 실시 형태에 따른 소프트웨어 통합 품질 평가 방법은 프로젝트 별로 통합 품질 결과를 출력할 수 있다.
프로젝트는 통합 품질 평가를 받고자 하는 특정 소프트웨어 전체일 수도 있고, 특정 소프트웨어의 일부 기능일 수도 있다. 예를 들어, A라는 소프트웨어 자체가 하나의 프로젝트일 수도 있고, A 소프트웨어의 a 기능이 하나의 프로젝트일 수 있다.
도 7을 참조하면, 프로젝트 생성 시, 프로젝트 명, 품질 평가 모델, 목표 점수 및 생성 날짜를 입력할 수 있는 화면을 제공할 수 있다. 여기서, 품질 평가 모델은, 앞서 도 1에 도시된 품질 평가 모델 생성 단계(110)를 통해 미리 생성된 하나 또는 다수의 품질 평가 모델 중 하나가 사용자의 선택 입력 신호에 의해 선택된다. 목표 점수(또는 기준 점수)는 해당 프로젝트의 통합 품질 점수와는 구별되는 것으로, 사용자가 원하는 해당 프로젝트의 통합 품질 점수를 의미한다.
생성된 프로젝트는 데이터 베이스 또는 메모리에 저장되며, 도 8에 도시된 바와 같이, 다수의 프로젝트를 화면을 통해 시각적으로 출력할 수 있다. 각 프로젝트 별로, 점수(또는 통합 품질 결과 값), 기준 점수, 최신 회자 일차 및 품질 모델(또는 품질 평가 모델)이 화면에 제공된다.
다시, 도 1을 참조하면, 통합 품질 결과를 생성 및 출력하는 단계(150)는, 생성된 프로젝트의 통합 품질 결과를 품질 평가 모델을 이용하여 생성하고, 생성된 통합 품질 결과를 화면을 통해 시각적으로 제공하는 단계이다.
통합 품질 결과는, 하나 또는 다수의 소프트웨어 분석 도구로부터 해당 프로젝트의 소스 코드에 대한 실제 분석 결과를 입력받은 후, 입력된 실제 분석 결과를 해당 프로젝트의 품질 평가 모델에 대입함으로써 산출될 수 있다.
도 9를 참조하면, 해당 프로젝트의 통합 품질 결과는, 통합 품질 점수(S)를 포함할 수 있다. 통합 품질 점수(S)는, 다수의 소프트웨어 분석 도구로부터 제공되는 실제 분석 결과들이 품질 평가 모델에 대입되어 산출된 특성값들 또는/및 지표값들을 가중 평균한 것일 수 있다. 여기서, 실제 분석 결과들은 해당 프로젝트에 대응되는 소스 코드를 다수의 소프트웨어 분석 도구가 출력한 데이터일 수 있다.
예를 들어, 도 10에 도시된 바와 같이, 통합 품질 점수(S)의 55.56 %는 정적 테스트 기반의 제1 특성 값에 기초하고, 나머지 44.44%는 동적 테스트 기반의 제2 특성 값에 기초한 것일 수 있다. 여기서, 제1 특성 값은 미리 설정된 지표별 가중치에 따라, 제1 지표(코딩 규칙 위배)의 값이 60%를, 제2 지표(코딩 위배 밀도)의 값이 10%를, 제3 지표(복잡도)의 값이 10%를, 제4 지표(주석 비율)의 값이 5%를, 제5 지표(유효 라인 수)의 값이 5%를, 제6 지표(조건식 논리 연산자 수)의 값이 5%를, 제7 지표(전역 변수 개수)의 값이 5%를 차지할 수 있다. 그리고, 제2 특성 값은 미리 설정된 지표별 가중치에 따라, 제8 지표(구문 커버리지)의 값이 35%를, 제9 지표(분기 커버리지)의 값이 35%를, 제10 지표(MC/DC)의 값이 30%를 차지할 수 있다.
통합 품질 결과는, 도 9에 도시된 바와 같이, 이전 회차와의 차이(R)를 더 포함할 수도 있으며, 회차 점수 추이와 다수의 소프트웨어 분석 도구에서 분석된 개별 점수(품질평가모델 특성 점수)를 표시하는 그래프(P1)를 더 포함할 수도 있다. 또한, 해당 프로젝트를 구성하는 각 지표들의 값(점수)과 이전 회치와의 증감을 표시한 표(P2)와 해당 프로젝트 내의 각 파일의 값(점수)과 이전 회차와의 증감을 표시한 표(P2)를 더 포함할 수도 있다.
도 1 내지 도 10에 도시된 실시 형태에 따른 소프트웨어 통합 품질 평가 방법은, 다양한 종류의 소프트웨어 분석 도구들을 통해 얻어진 분석 결과들을 미리 생성된 품질 평가 모델에 적용하여 하나의 통합 품질 결과를 생성하고, 생성된 통합 품질 결과를 화면을 통해 시각적으로 제공할 수 있다. 따라서, 실시 형태에 따른 소프트웨어 통합 품질 평가 방법을 사용하면, 소프트웨어의 객관적인 품질 기준을 만들 수 있고 객관적인 분석 결과를 얻을 수 있으므로, 소프트웨어의 개발 방향을 명확히 수립할 수 있고, 소프트웨어 분석 도구들 각각의 분석 결과를 주관적으로 해석할 필요가 없는 등의 이점이 있다.
도 1 내지 도 10에 도시된 실시 형태에 따른 소프트웨어 통합 품질 평가 방법은 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록매체를 통하여 수행될 수 있다. 상기 컴퓨터 판독가능 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 예를 들어, 상기 컴퓨터 판독가능 기록매체는, 도 1에 도시된 각 단계들을 수행하는 기능 모듈들을 포함할 수 있다. 구체적으로, 상기 컴퓨터 판독가능 기록매체는, 품질 평가 모델을 생성하는 품질 평가 모듈, 프로젝트를 생성하는 프로젝트 생성 모듈, 및 통합 품질 결과를 생성 및/또는 출력하는 통합 품질 결과 제공 모듈을 포함할 수 있다.
상기 컴퓨터 판독가능 기록매체는 실시 형태를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상 첨부된 도면을 참조하여 본 발명의 실시 형태를 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 형태의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 형태에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. 다수의 소프트웨어 분석 도구가 제공하는 다수의 팩터(factor)를 기초로 품질 평가 모델을 생성하는, 품질 평가 모델 생성 단계;
    상기 품질 평가 모델이 적용되는 프로젝트를 생성하는, 프로젝트 생성 단계; 및
    상기 다수의 소프트웨어 분석 도구로부터 상기 프로젝트에 대한 실제 분석 결과들을 제공받고, 제공된 상기 실제 분석 결과들을 상기 품질 평가 모델에 대입하여 통합 품질 결과를 생성하는, 통합 품질 결과 생성 단계;
    를 포함하는, 소프트웨어 통합 품질 평가 방법.
  2. 제 1 항에 있어서, 상기 품질 평가 모델 생성 단계는,
    상기 다수의 팩터 중 선택된 하나 또는 다수의 팩터를 기초로 적어도 하나 이상의 지표를 생성하는, 지표 생성 단계; 및
    상기 하나 이상의 지표 중 선택된 하나 또는 다수의 지표를 기초로 상기 품질 평가 모델을 생성하는, 모델 생성 단계;
    를 포함하는, 소프트웨어 통합 품질 평가 방법.
  3. 제 2 항에 있어서, 상기 모델 생성 단계는,
    상기 하나 이상의 지표 중 선택된 하나 또는 다수의 지표를 그룹화하여 적어도 하나 이상의 특성을 생성하는 단계; 및
    상기 적어도 하나 이상의 특성 중 선택된 하나 또는 다수의 특성을 기초로 상기 품질 평가 모델을 생성하는 단계;
    를 포함하는, 소프트웨어 통합 품질 평가 방법.
  4. 제 1 항에 있어서, 상기 프로젝트 생성 단계는,
    상기 프로젝트의 이름과 상기 프로젝트의 기준 점수가 설정 및 저장되는 단계를 포함하는, 소프트웨어 통합 품질 평가 방법.
  5. 제 1 항에 있어서,
    상기 통합 품질 결과를 화면에 출력하는 출력 단계;를 더 포함하고,
    상기 통합 품질 결과는 통합 품질 점수를 포함하고,
    상기 통합 품질 점수는 상기 실제 분석 결과들이 상기 품질 평가 모델에 대입되어 산출된 특성값 또는 지표값을 가중 평균한 것인, 소프트웨어 통합 품질 평가 방법.
  6. 제 5 항에 있어서,
    상기 통합 품질 결과는, 이전 회차와의 증감, 회차 점수 추이와 상기 다수의 소프트웨어 분석 도구에서 분석된 개별 점수를 표시하는 그래프, 상기 프로젝트를 구성하는 각 지표들의 값과 이전 회치와의 증감을 표시한 표, 및 상기 프로젝트 내의 각 파일의 값와 이전 회차와의 증감을 표시한 표 중 적어도 하나 이상을 더 포함하는, 소프트웨어 통합 품질 평가 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항의 소프트웨어 통합 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
KR1020170074758A 2017-06-14 2017-06-14 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 KR102007719B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170074758A KR102007719B1 (ko) 2017-06-14 2017-06-14 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170074758A KR102007719B1 (ko) 2017-06-14 2017-06-14 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체

Publications (2)

Publication Number Publication Date
KR20180136163A true KR20180136163A (ko) 2018-12-24
KR102007719B1 KR102007719B1 (ko) 2019-08-07

Family

ID=65010010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170074758A KR102007719B1 (ko) 2017-06-14 2017-06-14 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체

Country Status (1)

Country Link
KR (1) KR102007719B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235690B1 (ko) * 2020-06-05 2021-04-02 주식회사 코딩로봇연구소 인공지능 기반의 프로그램 코드 평가 시스템 및 방법
CN113076622A (zh) * 2021-02-22 2021-07-06 南京远思智能科技有限公司 Fmu仿真模型规范性分析与校验系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056961A (ja) * 1998-08-12 2000-02-25 Hitachi Ltd ソフトウェア品質評価装置
KR20110070743A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 정적 분석 도구 통합 관리 장치 및 시스템
KR20150067454A (ko) * 2013-12-10 2015-06-18 슈어소프트테크주식회사 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR20150067827A (ko) * 2013-12-10 2015-06-19 슈어소프트테크주식회사 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056961A (ja) * 1998-08-12 2000-02-25 Hitachi Ltd ソフトウェア品質評価装置
KR20110070743A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 정적 분석 도구 통합 관리 장치 및 시스템
KR20150067454A (ko) * 2013-12-10 2015-06-18 슈어소프트테크주식회사 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR20150067827A (ko) * 2013-12-10 2015-06-19 슈어소프트테크주식회사 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235690B1 (ko) * 2020-06-05 2021-04-02 주식회사 코딩로봇연구소 인공지능 기반의 프로그램 코드 평가 시스템 및 방법
WO2021246742A1 (ko) * 2020-06-05 2021-12-09 주식회사 코딩로봇연구소 인공지능 기반의 프로그램 코드 평가 시스템 및 방법
CN113076622A (zh) * 2021-02-22 2021-07-06 南京远思智能科技有限公司 Fmu仿真模型规范性分析与校验系统及方法
CN113076622B (zh) * 2021-02-22 2023-12-12 南京远思智能科技有限公司 Fmu仿真模型规范性分析与校验系统及方法

Also Published As

Publication number Publication date
KR102007719B1 (ko) 2019-08-07

Similar Documents

Publication Publication Date Title
US8375364B2 (en) Size and effort estimation in testing applications
US20090070734A1 (en) Systems and methods for monitoring software application quality
KR101547247B1 (ko) 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
EP3059676B1 (en) A method and apparatus for analyzing the availability of a system, in particular of a safety critical system
WO2013179076A1 (en) A simulation system and method for testing a simulation of a device against one or more violation rules
KR101547248B1 (ko) 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR102007719B1 (ko) 소프트웨어 통합 품질 평가 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
Lochmann A benchmarking-inspired approach to determine threshold values for metrics
Wallshein et al. Software cost estimating for CMMI Level 5 developers
US8762874B2 (en) Method of quantitative analysis
Schroeder et al. Unveiling anomalies and their impact on software quality in model-based automotive software revisions with software metrics and domain experts
Gallego et al. Software project effort estimation based on multiple parametric models generated through data clustering
Yamashita Experiences from performing software quality evaluations via combining benchmark-based metrics analysis, software visualization, and expert assessment
Patel et al. A study of component based software system metrics
Tagharobi et al. Introducing a Framework for Code based Fairness Audits of Learning Analytics Systems on the Example of Moodle Learning Analytics.
Bucci et al. Metrics and tool for system assessment
Flemström et al. A case study of interactive development of passive tests
Guillerm et al. Information model for model driven safety requirements management of complex systems
Illes-Seifert et al. Exploring the relationship of history characteristics and defect count: an empirical study
Mizuno et al. On estimating testing effort needed to assure field quality in software development
Sanusi et al. Development of an Enhanced Automated Software Complexity Measurement System
Ellsel et al. Using MBSE With SysML to Analyze Change Impacts, Including Efforts, in Technical Systems
Dixit et al. Test metrics for maintainability of software: A case study on searching and sorting programs
Staron et al. Information Needs for SAFe Teams and Release Train Management: A Design Science Research Study.
de Oliveira Neto et al. Visualisation to support fault localisation in distributed embedded systems within the automotive industry

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant