KR101164849B1 - 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치 - Google Patents

소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치 Download PDF

Info

Publication number
KR101164849B1
KR101164849B1 KR1020110067082A KR20110067082A KR101164849B1 KR 101164849 B1 KR101164849 B1 KR 101164849B1 KR 1020110067082 A KR1020110067082 A KR 1020110067082A KR 20110067082 A KR20110067082 A KR 20110067082A KR 101164849 B1 KR101164849 B1 KR 101164849B1
Authority
KR
South Korea
Prior art keywords
software
evaluation information
parsing
information
source resource
Prior art date
Application number
KR1020110067082A
Other languages
English (en)
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 KR1020110067082A priority Critical patent/KR101164849B1/ko
Application granted granted Critical
Publication of KR101164849B1 publication Critical patent/KR101164849B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Landscapes

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

Abstract

소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치이 제공된다. 본 소프트웨어 평가정보 제공방법은, 소프트웨어에 대한 소스 자원을 입력받아 파싱하고, 파싱 결과를 이용하여 소스 자원에 대해 구문 분석하며, 구문 분석 결과를 이용하여 특정 국가의 기준에 따라 소프트웨어에 대한 평가정보를 산출하여 특정 국가의 언어로 제공한다. 이에 의해, 다양한 국가에서의 기준에 입각한 기능점수를 산출하고, 이를 해당 국가의 사용자/관리자가 이해할 수 있는 언어로 제공할 수 있게 된다.

Description

소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치{Method for providing software estimation information, recording medium, and apparatus for providing software estimation information}
본 발명은 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치에 관한 것으로, 더욱 상세하게는 소프트웨어에 대한 평가정보를 산출하여 제공하는 방법, 기록매체, 및 장치에 관한 것이다.
기능 점수(Function Point : FP)는 논리적 설계를 기초로 소프트웨어의 기능을 정량화하고, 계수적 측정을 통한 실험적 관계를 통해 개발 규모를 산정하는 방법이다. 즉, 기능 점수는 소프트웨어의 규모 및 복잡도를 기능별로 점수화하여 수치적으로 소프트웨어 개발에 필요한 인력 및 기간을 산정하는데 사용되는 점수에 해당된다.
기능 점수는 사용자가 요구하고 복수개의 기능을 정량적으로 산정하고, 구현 기술과 독립적으로 소프트웨어 개발 및 유지 규모를 측정하여 최종 소프트웨어의 규모를 산정한다. 그리고, 기능 점수는 구매하고자 하는 응용 패키지의 규모와 사용자 요구의 부합성, 소프트웨어 개발과 유지보수를 위한 비용과 자원 소요 산정 등에 활용된다. 기능 점수는 기존의 프로그램 스텝 수에 의한 SW 가격 산정 방식을 개선한 방식으로, 소프트웨어 비교를 위한 하나의 공통 기준이 되고 있다
종래에 기능점수를 산출하는 방법은 수동으로 소스를 전부 체크하여 수작업으로 집계하여 기능점수를 산출하는 방법이 이용된다. 따라서 수백만, 수천만 라인을 전부 체크하여 기능 점수를 계산하는 데에는 시간 및 작업 인원을 투입하여 계산하는 데에 엄청난 비용이 소요되며, 또한 계산된 기능점수도 정확하지가 않으며, 소스를 임의로 분류하여 계산함으로 사람에 따라, 년도 별로 계산하는 경우 기능 점수가 차이가 심하여 객관적인 기준으로 사용하기 어려운 것이 현실이다.
또한, 프로그램 영향관계가 참조되지 않은 상태에서 기능점수가 산출이며, 수 십만 개의 프로그램의 상호관계, 내외부 매소드의 상호관계, DB(파일)의 각 항목의 읽기, 쓰기, 변경, 삭제, 등의 관계를 전부 체크하여 정확한 기능점수를 수작업으로 산출한다는 것은 거의 불가능한 일이다.
이에 따라, 기능점수를 더욱 쉽게 산출하기 위한 방안의 모색이 요청된다.
뿐만 아니라, 다양한 국가에서의 기준에 입각한 기능점수를 산출하고, 이를 해당 국가의 사용자/관리자에게 제공하기 위한 방안의 모색이 요청된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 소스 자원을 파싱하고 소스 자원에 대한 구문 분석을 통해 특정 국가의 기준에 따라 소프트웨어에 대한 평가정보를 산출하여 제공하는 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 소프트웨어 평가정보 제공방법은, 소프트웨어에 대한 소스 자원을 입력받는 단계; 상기 소스 자원을 파싱하는 단계; 파싱 결과를 이용하여 상기 소스 자원에 대해 구문 분석하는 단계; 상기 구문 분석 결과를 이용하여, 특정 국가의 기준에 따라 상기 소프트웨어에 대한 평가정보를 산출하는 단계; 및 상기 평가정보를 상기 특정 국가의 언어로 제공하는 단계;를 포함한다.
그리고, 본 소프트웨어 평가정보 제공방법은, 사용자의 선택 명령에 따라 상기 특정 국가를 선택하는 단계;를 더 포함하고, 상기 평가정보 산출단계는, 상기 선택된 국가의 기능점수 산정기준을 적용하여 상기 평가정보를 산출하는 것이 바람직하다.
또한, 본 소프트웨어 평가정보 제공방법은, 사용자의 선택 명령에 따라 상기 특정 국가를 선택하는 단계;를 더 포함하고, 상기 특정 국가의 언어로 상기 평가정보를 화면에 표시하는 단계;를 더 포함하는 것이 바람직하다.
그리고, 상기 구문 분석단계는, 상기 소스 자원에 대한 구문 분석을 통해 소스 자원에 포함된 기능을 파악하고, 상기 소스 자원의 기능에 대한 정보인 구문 분석 정보를 생성하는 단계; 및 상기 구문 분석 정보를 이용하여 상기 소프트웨어에 대한 영향분석 정보를 생성하는 단계;를 포함하고, 상기 평가정보 산출단계는, 상기 구문 분석 정보 및 영향분석 정보를 이용하여, 기능점수(Function Point)를 산출할 수 있다.
또한, 상기 영향분석 정보 생성단계는, 다른 프로그램과의 상호관계, 프로그램 내부의 매소드와 매소드의 상호관계, 내부 매소드와 타 프로그램 내의 매소드와의 상호관계, DB 테이블과 프로그램의 상호관계, DB 테이블의 각 항목과 프로그램의 관계, 각 항목에 대한 처리 등 프로그램 측정, 및 기능점수를 산출하기 위한 ILF(Internal Logic File : 내부 논리파일), EIF(External Interface File : 외부 인터페이스), EI(External Input : 외부입력), EO(External Output : 외부출력), EQ(External Query : 외부조회) 중 적어도 하나를 포함하는 영향분석 정보를 생성할 수 있다.
그리고, 상기 소스자원은, 프로그램 소스, 데이터베이스 소스, 및 그래픽 화면 정의 소스 중 적어도 하나를 포함할 수 있다.
또한, 상기 파싱 단계는, 상기 프로그램 소스의 프로그램 언어 종류, 데이터베이스 소스의 종류, 및 그래픽 화면 정의 소스의 종류에 대응되는 파싱을 수행할 수 있다.
그리고, 상기 소프트웨어 평가정보는, 소스 자원을 바탕으로 분석된 소프트웨어에 대한 정보이며, 소프트웨어의 복잡도, 불용 프로그램, 불용 변수, 및 사이즈 정보 중 적어도 하나를 포함할 수 있다.
한편, 본 발명에 따른, 컴퓨터로 읽을 수 있는 기록매체에는, 소프트웨어 평가정보 제공방법을 수행하기 위한 컴퓨터 프로그램이 수록된다.
한편, 본 발명에 따른, 소프트웨어 평가정보 제공장치는, 소프트웨어에 대한 소스 자원을 입력받고 상기 소스 자원을 파싱하는 소스 자원 파싱 엔진부; 파싱 결과를 이용하여 상기 소스 자원에 대해 구문 분석하는 분석부; 및 상기 구문 분석 결과를 이용하여, 특정 국가의 기준에 따라 상기 소프트웨어에 대한 평가정보를 산출하고, 상기 평가정보를 상기 특정 국가의 언어로 제공하는 엔진부;를 포함한다.
본 발명의 다양한 실시예에 따르면, 소스 자원을 파싱하고 소스 자원에 대한 구문 분석을 통해 특정 국가의 기준에 따라 소프트웨어에 대한 평가정보를 산출하여 제공할 수 있게 되어, 다양한 국가에서의 기준에 입각한 기능점수를 산출하고, 이를 해당 국가의 사용자/관리자가 이해할 수 있는 언어로 제공할 수 있게 된다.
또한, 기존의 수동방식으로 계산하는 기능점수에 비하여, 본 실시예에 따른 기능점수 산출 장치는 사실적인 소프트웨어의 소스자원을 기준으로 구문분석 및 영향분석정보를 이용하여 정확한 ILF(내부 논리파일), EIF(외부 인터페이스), EI(외부입력), EO(외부출력), EQ(외부조회) 정보를 산출함으로서 보다 더 정확한 기능점수 산출이 가능해진다.
도 1은 본 발명의 일 실시예에 따른, 소프트웨어 평가정보 제공방법을 설명하기 위해 제공되는 흐름도,
도 2는 본 발명의 일 실시예에 따른, 소프트웨어 평가정보 제공장치의 구성을 도시한 블럭도,
도 3은 본 발명의 일 실시예에 다른, 소스자원 파싱 엔진부의 상세한 구조를 도시한 도면,
도 4는 본 발명의 일 실시예에 따른, 국가별 기능점수 산출 엔진의 구조를 도시한 도면,
도 5는 본 발명의 일 실시예에 따른, 다국어 기능점수 제공 시스템의 구조를 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 평가정보 제공방법의 설명에 제공되는 흐름도이다. 본 실시예에서는, 소프트웨어 평가정보로 기능점수(Function Point : FP)를 산출하여 제공하는 과정을 상정한다.
기능점수 산출/제공은 독립적인 소프트웨어 평가정보 제공장치에 의해 수행될 수도 있고, 소프트웨어 평가정보 제공 프로그램이 컴퓨터에서 실행됨으로써 수행될 수도 있다. 도 1에 대한 설명에서는 소프트웨어 평가정보 제공장치에 의해 수행되는 것을 전제로 설명한다.
일단, 소프트웨어 평가정보 제공장치는 소스 자원을 입력받는다(S110). 여기에서 소스 자원은 기능점수 산출의 대상이 되는 소프트웨어의 소스 자원을 나타낸다. 소스 자원으로는 프로그램 소스, 데이터베이스 소스, 그래픽 화면 정의 소스 등이 포함될 수도 있다. 소스 자원에 포함되는 프로그램 소스는 C, C++, VB, JAVA, Delphi 등 백 여가지 이상이 있으며, 데이터베이스 소스도 십여 가지가 있으며, 그래픽 화면 정의 소스도 다양한 종류가 존재한다.
그 후에, 소프트웨어 평가정보 제공장치는 입력된 소스 자원을 파싱(parsing)한다(S120). 소스 자원에 포함되는 프로그램 소스는 C, C++, VB, JAVA, Delphi 등 백 여가지 이상이 있으며, 데이터베이스 소스도 십여 가지가 있으며, 그래픽 화면 정의 소스도 다양한 종류가 존재하기 때문에, 각 언어별 데이터베이스별 구문 분석 및 영향 분석을 위한 파싱 과정이 필요하다. 따라서, 소프트웨어 평가정보 제공장치는 프로그램 소스의 프로그램 언어 종류, 데이터베이스 소스의 종류, 및 그래픽 화면 정의 소스의 종류에 대응되는 파싱을 수행하게 된다.
그리고, 소프트웨어 평가정보 제공장치는 파싱된 결과를 이용하여 입력된 소스 자원에 대한 구문 분석을 통해 소스 자원에 포함된 기능을 파악한다(S130). 예를 들어, 소프트웨어 평가정보 제공장치는 파싱된 소스 자원의 구문 분석을 통해, 현재 소스 자원에 포함된 기능은 로그인 기능, 이메일 기능, 및 검색 기능이 포함된 소프트웨어에 해당된다는 점을 파악할 수도 있다. 또한, 소프트웨어 평가정보 제공장치는 파싱된 소스 자원의 구문분석을 통해, 개발 프로잭트, 개선 프로젝트, 및 어플리케이션 중 어느 것에 해당되는지 파악할 수도 있다. 그리고, 소프트웨어 평가정보 제공장치는 소스 자원에 포함된 기능들에 대한 정보인 구문 분석 정보를 생성하게 된다.
그 후에, 소프트웨어 평가정보 제공장치는 구문 분석 정보를 이용하여 다른 프로그램과의 상호관계, 프로그램 내부의 매소드와 매소드의 상호관계, 내부 매소드와 타 프로그램 내의 매소드와의 상호관계, DB 테이블과 프로그램의 상호관계, DB 테이블의 각 항목과 프로그램의 관계, 각 항목에 대한 처리 등 프로그램 측정, 및 기능점수를 산출하기 위한 ILF(Internal Logic File : 내부 논리파일), EIF(External Interface File : 외부 인터페이스), EI(External Input : 외부입력), EO(External Output : 외부출력), EQ(External Query : 외부조회)를 포함하는 모든 영향분석 정보를 생성하게 된다(S140).
그리고, 소프트웨어 평가정보 제공장치는 구문 분석 정보 및 영향 분석 정보를 이용하여 소프트웨어 측정정보 및 소프트웨어의 기능점수를 산정한다(S150).
여기에서, 소프트웨어 측정 정보는 소스 자원을 바탕으로 분석된 소프트웨어에 대한 정보를 나타내는 것으로, 소프트웨어의 복잡도, 불용 프로그램, 불용 변수, 및 사이즈 등을 들 수 있다.
또한, 기능 점수는 국가별 산정 기준이 다르게 규정되어 있다. 따라서, 소프트웨어 평가정보 제공장치는 사용자의 선택 명령에 따라 기능 점수 산정의 기준이 되는 국가를 선택할 수 있으며, 선택된 국가의 기준에 따라 기능점수를 산출하게 된다. 예를 들어, 소프트웨어 평가정보 제공장치는 국제 기준, 한국 기준, 미국 기준, 일본 기준 중 사용자의 선택 명령에 따라 어느 하나를 선택하고, 선택된 국가의 기준을 적용하여 기능점수를 산출하게 된다.
이를 위해, 소프트웨어 평가정보 제공장치는 산정 기준을 국가별로 보유하고 있거나, 네트워크를 통해 선택된 국가의 산정 기준을 획득할 수 있다.
그 후에, 소프트웨어 평가정보 제공장치는 선택된 언어의 UI로 기능점수를 화면에 표시하게 된다(S160). 소프트웨어 평가정보 제공장치는 사용자에 의해 선택된 언어에 따라 해당 국가의 언어로 UI 화면을 표시한다. 이를 위해, 소프트웨어 평가정보 제공장치는 UI 화면에 나타날 용어들을 언어별로 수록하고 있는 테이블을 포함하고 있다.
소프트웨어 평가정보 제공장치는 기능점수 표시 화면 및 UI 화면 자체에서 언어를 선택할 수 있다. 따라서, 사용자는 시스템 자체의 언어를 변경하지 않더라도, 기능점수 표시화면 자체에서 원하는 언어를 선택하여 기능 점수 표시 화면에 표시되는 언어를 설정할 수 있게 된다.
한편, 소프트웨어 평가정보 제공장치는 외부 기기(예를 들어, 컴퓨터, 노트북 등)에 무선 통신을 통해 연결되어 원격제어될 수도 있다. 따라서, 사용자는 원격지에서 자신의 컴퓨터 또는 노트북을 이용하여 소프트웨어 측정 정보 및 기능점수를 확인할 수도 있게 된다.
상술한 바와 같은 과정을 통해, 소프트웨어 평가정보 제공장치는 소프트웨어의 소스 자원을 자동으로 분석하여 소프트웨어 측정 정보 및 소프트웨어의 기능 점수를 제공할 수 있게 된다.
이에 따라, 기존의 수동방식으로 계산하는 기능점수에 비하여, 본 실시예에 따른 기능점수 산출 장치는 사실적인 소프트웨어의 소스자원을 기준으로 구문분석 및 영향분석정보를 이용하여 정확한 ILF(내부 논리파일), EIF(외부 인터페이스), EI(외부입력), EO(외부출력), EQ(외부조회) 정보를 산출함으로서 보다 더 정확한 기능점수 산출이 가능해진다.
또한, 기존의 수동방식으로 기능 점수를 계산하기 위해서는 시간 및 인원투입이 많아 비용이 많이 투입되었으나, 본 실시예에 따른 소프트웨어 평가정보 제공장치의 경우 거의 즉시에 기능점수를 산출할 수 있으며, 이에 따라, 초기 시스템 구축 시의 시간 및 비용을 절감할 수 있게 된다.
그리고, 정확한 기능점수를 산출할 수 있게 되어, 소프트웨어의 평가가 정확하게 이루워짐으로서 아웃소싱 시에 공정한 단가 산정이 가능하게 된다. 그리고, 방대한 소프트웨어 시스템인 경우 서브 시스템 단위로 기능점수를 비교함으로서 적정한 인원배치가 가능해진다.
또한, 소프트웨어 수주 시에 기능점수를 쉽고 빠르게 계산할 수 있게 되어, 즉시 원가 계산이 가능함으로써 고객 및 수주자에게 적절한 소프트웨어의 수주금액을 신속하게 산정할 수 있게 된다.
그리고, 한국 이외에도 해당국가의 언어 시스템의 추가만으로 어떤 국가에서도 사용이 가능하게 된다.
이하에서는, 도 2 내지 도 5를 참고하여, 소프트웨어 평가정보 제공장치(200)의 구성에 대해 상세히 설명한다. 도 2 내지 도 5에 도시된 소프트웨어 평가정보 제공장치(200)의 각 구성요소는 하드웨어로 구현될 수도 있고, 소프트웨어로 구현될 수도 있다. 소프트웨어로 구현된 경우, 소프트웨어 평가정보 제공장치(200)는 소프트웨어 평가정보 제공 프로그램이 실행되는 컴퓨터이고, 도 2 내지 도 5의 구성요소들은 소프트웨어 평가정보 제공 프로그램 내에 구현된 기능 블럭의 객체 또는 함수 등에 해당된다.
도 2는 본 발명의 일 실시예에 따른, 소프트웨어 평가정보 제공장치(200)의 구성을 도시한 블럭도이다. 도 2에 도시된 바와 같이, 소프트웨어 평가정보 제공장치(200)는 소스자원 파싱엔진부(210). 구문분석 및 영향 분석부(220), 및 소프트웨어 측정 및 기능점수 산출 엔진부(230)를 포함한다.
소스 자원 파싱 엔진부(210)는 소스 자원을 입력받는다. 여기에서 소스 자원은 기능점수 산출의 대상이 되는 소프트웨어의 소스 자원을 나타낸다. 소스 자원으로는 프로그램 소스, 데이터베이스 소스, 그래픽 화면 정의 소스 등이 포함될 수도 있다. 소스 자원에 포함되는 프로그램 소스는 C, C++, VB, JAVA, Delphi 등 백 여가지 이상이 있으며, 데이터베이스 소스도 십여 가지가 있으며, 그래픽 화면 정의 소스도 다양한 종류가 존재한다.
소스자원 파싱 엔진부(210)는 입력된 소스 자원을 파싱(parsing)한다. 소스 자원에 포함되는 프로그램 소스는 C, C++, VB, JAVA, Delphi 등 백 여가지 이상이 있으며, 데이터베이스 소스도 십여 가지가 있으며, 그래픽 화면 정의 소스도 다양한 종류가 존재하기 때문에, 소스자원 파싱 엔진부(210)는 각 언어별 데이터베이스별 구문 분석 및 영향 분석을 위한 파싱 과정을 수행하게 된다.
따라서, 도 2 및 도 3에 도시된 바와 같이, 소스자원 파싱 엔진부(210)는 프로그램 언어별 파서(310), DB별 SQL 파서(320), 화면정의 소스 파서(330), 및 기타 소스 파서(340)를 포함한다. 이하에서는, 도 3을 참고하여, 소스자원 파싱 엔진부(210)에 대해 상세히 설명한다. 도 3은 본 발명의 일 실시예에 다른, 소스자원 파싱 엔진부(210)의 상세한 구조를 도시한 도면이다.
도 3에 도시된 바와 같이, 프로그램 언어별 파서(310)는 JAVA 파서, DelPhi 파서, C, C++ 파서, 기타 프로그램 언어 파서 등을 포함한다. 따라서, 프로그램 언어별 파서(310)는 다양한 프로그램 언어를 해석할 수 있게 된다.
DB별 SQL 파서(320)는 오라클 SQL DB 파서, MS SQL DB 파서, 사이베스 SQL DB 파서, 및 기타 SQL DB 파서를 포함한다. 따라서, DB별 SQL 파서(320)는 다양한 종류의 DB를 해석할 수 있게 된다.
화면정의 소스 파서(330)는 프로그램 언어별 화면정의 파서 및 기타 화면 정의 파서를 포함한다. 따라서, 화면정의 소스 파서(330)는 다양한 화면 정의에 대해서도 해석할 수 있게 된다.
도 3에 도시된 바와 같이, 소스자원 파싱엔진(210)은 다양한 종류의 프로그램 언어, DB, 화면정의 소스에 대한 파서들을 포함하므로, 다양한 종류의 소스 자원을 파싱할 수 있게 되어, 다양한 소프트웨어의 소스 자원에 대해 구문 분석 및 영향 분석을 수행할 수 있게 된다.
다시 도 2로 돌아가, 구문분석 및 영향 분석부(220)는 파싱된 결과를 이용하여 소스 자원에 대한 구문 분석을 통해 소스 자원에 포함된 소프트웨어의 종류 및 기능을 파악한다. 예를 들어, 구문분석 및 영향 분석부(220)는 파싱된 소스 자원의 구문 분석을 통해, 현재 소스 자원에 포함된 기능이 로그인 기능, 이메일 기능, 및 검색 기능이 포함된 소프트웨어에 해당된다는 점을 파악할 수도 있다. 또한, 구문분석 및 영향 분석부(220)는 파싱된 소스 자원의 구문분석을 통해, 개발 프로잭트, 개선 프로젝트, 및 어플리케이션 중 어느 것에 해당되는지 파악할 수도 있다. 그리고, 구문분석 및 영향 분석부(220)는 소스 자원에 포함된 기능들에 대한 정보인 구문 분석 정보를 생성하게 된다.
그 후에, 구문분석 및 영향 분석부(220)는 구문 분석 정보를 이용하여 다른 프로그램과의 상호관계, 프로그램 내부의 매소드와 매소드의 상호관계, 내부 매소드와 타 프로그램 내의 매소드와의 상호관계, DB 테이블과 프로그램의 상호관계, DB 테이블의 각 항목과 프로그램의 관계, 각 항목에 대한 처리 등 프로그램 측정, 및 기능점수를 산출하기 위한 ILF(Internal Logic File : 내부 논리파일), EIF(External Interface File : 외부 인터페이스), EI(External Input : 외부입력), EO(External Output : 외부출력), EQ(External Query : 외부조회)를 포함하는 모든 영향분석 정보를 생성하게 된다.
소프트웨어 측정 및 기능점수 산출 엔진부(230)는 구문 분석 정보 및 영향 분석 정보를 이용하여 소프트웨어 측정정보 및 소프트웨어의 기능점수를 산정한다.
여기에서, 소프트웨어 측정 정보는 소스 자원을 바탕으로 분석된 소프트웨어에 대한 정보를 나타내는 것으로, 소프트웨어의 복잡도, 불용 프로그램, 불용 변수, 및 사이즈 등을 들 수 있다.
또한, 기능 점수는 국가별 산정 기준이 다르게 규정되어 있다. 따라서, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 사용자의 선택 명령에 따라 기능 점수 산정의 기준이 되는 국가를 선택할 수 있으며, 선택된 국가의 기준에 따라 기능점수를 산출하게 된다. 예를 들어, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 국제 기준, 한국 기준, 미국 기준, 일본 기준 중 사용자의 선택 명령에 따라 어느 하나를 선택하고, 선택된 국가의 기준을 적용하여 기능점수를 산출하게 된다.
따라서, 도 2에 도시된 바와 같이, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 국제기준 기능점수 산출엔진(231) 및 국가별 기능점수 산출 엔진(233)을 포함한다. 이하에서는, 도 4를 참고하여, 국가별 기능점수 산출 엔진(233)에 대해 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른, 국가별 기능점수 산출 엔진(233)의 구조를 도시한 도면이다. 도 4에 도시된 바와 같이, 국가별 기능점수 산출 엔진(233)은 한국 기능점수 산출 엔진, 미국 기능점수 산출 엔진, 일본 기능점수 산출 엔진, 중국 기능점수 산출 엔진 및 기타 국가 기능점수 산출 엔진으로 구성된 것을 확인할 수 있다. 그리고, 국가별 기능점수 산출 엔진(233)은 각 국가별 기능점수 산출 기준이 저장되어 있으며, 해당 국가의 기능점수 산출 기준을 적용하여 기능 점수를 산출하게 된다. 한편, 국가별 기능점수 산출 엔진(233) 사용자가 선택한 국가별의 산정 기준을 네트워크를 통해 획득할 수도 있다.
다시 도 2로 돌아가서, 이와 같이, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 선택된 언어의 UI로 기능점수를 화면에 표시하게 된다. 이를 위해, 도 2에 도시된 바와 같이, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 다국어 기능점수 제공 시스템(235)이 포함되어 있다. 다국어 기능점수 제공 시스템(235)에 대해 도 5를 참고하여 이하에서 상세히 설명한다.
도 5는 본 발명의 일 실시예에 따른, 다국어 기능점수 제공 시스템(235)의 구조를 도시한 도면이다. 도 5에 도시된 바와 같이, 다국어 기능점수 제공 시스템(235)은 한국어 기능점수 제공 시스템, 영어 기능점수 제공 시스템, 일본어 기능점수 제공 시스템, 중국어 기능점수 제공 시스템, 및 기타 국가 언어 기능점수 제공 시스템을 포함한다. 그리고, 다국어 기능점수 제공 시스템(235)은 사용자에 의해 선택된 언어에 따라 해당 국가의 언어로 기능 점수에 대한 UI 화면을 표시한다. 이를 위해, 다국어 기능점수 제공 시스템(235)은 UI 화면에 나타날 용어들을 언어별로 수록하고 있는 테이블을 포함하고 있으며, 이 테이블에 수록된 용어들을 선택된 언어에 따라 선택적으로 이용할 수 있다.
다국어 기능점수 제공 시스템(235)은 기능점수 표시 화면 및 UI 화면 자체에서 언어를 선택할 수 있다. 따라서, 사용자는 기기 자체의 언어를 변경하지 않더라도, 기능점수 표시화면 자체에서 원하는 언어를 선택하여 기능 점수 표시 화면에 표시되는 언어를 설정할 수 있게 된다.
다시 도 2로 돌아가, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 내부 네트워크 및 외부 네트워크(238)를 통해 다른 기기와 통신을 수행하게 된다. 구체적으로, 외부 기기는 내부 네트워크 및 외부 네트워크(238)를 통해 소프트웨어 측정 및 기능점수 산출 엔진부(230)를 통해 소프트웨어 측정 정보 및 기능점수 정보를 수신할 수 있다. 따라서, 사내 사용자 및 사외 사용자는 외부에서 소프트웨어 측정 정보 및 기능점수 정보를 확인할 수 있게 된다.
이와 같이, 소프트웨어 측정 및 기능점수 산출 엔진부(230)는 외부 기기(예를 들어, 컴퓨터, 노트북 등)에 무선 통신을 통해 연결되어 원격제어될 수도 있다. 따라서, 사용자는 원격지에서 자신의 컴퓨터 또는 노트북을 이용하여 프로그램 측정 정보 및 기능점수를 확인할 수도 있게 된다.
상술한 바와 같은 구조의 소프트웨어 평가정보 제공장치(200)는 소프트웨어의 소스 자원을 자동으로 분석하여 소프트웨어 측정 정보 및 소프트웨어의 기능 점수를 제공할 수 있게 된다.
이에 따라, 기존의 수동방식으로 계산하는 기능점수에 비하여, 본 실시예에 따른 기능점수 산출 장치(200)는 사실적인 소프트웨어의 소스자원을 기준으로 구문분석 및 영향분석정보를 이용하여 정확한 ILF(내부 논리파일), EIF(외부 인터페이스), EI(외부입력), EO(외부출력), EQ(외부조회) 정보를 산출함으로서 보다 더 정확한 기능점수 산출이 가능해진다.
또한, 기존의 수동방식으로 기능 점수를 계산하기 위해서는 시간 및 인원투입이 많아 비용이 많이 투입되었으나, 본 실시예에 따른 소프트웨어 평가정보 제공장치(200)의 경우 거의 즉시에 기능점수를 산출할 수 있으며, 이에 따라, 초기 시스템 구축 시의 시간 및 비용을 절감할 수 있게 된다.
그리고, 정확한 기능점수를 산출할 수 있게 되어, 소프트웨어의 평가가 정확하게 이루워짐으로서 아웃소싱 시에 공정한 단가 산정이 가능하게 된다. 그리고, 방대한 소프트웨어 시스템인 경우 서브 시스템 단위로 기능점수를 비교함으로서 적정한 인원배치가 가능해진다.
또한, 소프트웨어 수주 시에 기능점수를 쉽고 빠르게 계산할 수 있게 되어, 즉시 원가 계산이 가능함으로써 고객 및 수주자에게 적절한 소프트웨어의 수주금액을 신속하게 산정할 수 있게 된다.
그리고, 한국 이외에도 해당국가의 언어 시스템의 추가만으로 어떤 국가에서도 사용이 가능하게 된다.
한편, 본 실시예에 따른 기능점수 산출 장치(200)의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
200 : 소프트웨어 평가정보 제공장치 210 : 소스자원 파싱 엔진부
220 : 구문분석 및 영향 분석부
230 : 소프트웨어 측정 및 기능점수 산출 엔진부

Claims (10)

  1. 소프트웨어 평가정보 제공장치가, 소프트웨어에 대한 소스 자원을 입력받는 단계;
    상기 소프트웨어 평가정보 제공장치가, 상기 소스 자원을 파싱하는 단계;
    상기 소프트웨어 평가정보 제공장치가, 파싱 결과를 이용하여 상기 소스 자원에 대해 구문 분석하는 단계;
    상기 구문 분석 결과를 이용하여, 상기 소프트웨어 평가정보 제공장치가 사용자의 선택 명령에 따라 선택된 특정 국가의 기준에 따라 상기 소프트웨어에 대한 평가정보를 산출하는 단계; 및
    상기 소프트웨어 평가정보 제공장치가, 시스템 자체의 언어를 변경하지 않고 상기 평가정보를 언어별로 수록하고 있는 테이블을 이용하여, 상기 평가정보를 상기 사용자의 선택 명령에 따라 선택된 상기 특정 국가의 언어로 제공하는 단계;를 포함하고,
    상기 평가정보 산출단계는,
    선택된 특정 국가의 기능점수(Function Point : FP) 산정기준을 네트워크에 액세스하여 획득하고, 획득한 산정기준을 적용하여 상기 평가정보를 산출하고,
    상기 구문 분석단계는,
    상기 소프트웨어 평가정보 제공장치가, 상기 소스 자원에 대한 구문 분석을 통해 소스 자원에 포함된 기능을 파악하고, 상기 소스 자원의 기능에 대한 정보인 구문 분석 정보를 생성하는 단계; 및
    상기 소프트웨어 평가정보 제공장치가, 상기 구문 분석 정보를 이용하여 상기 소프트웨어에 대한 영향분석 정보를 생성하는 단계;를 포함하고,
    상기 평가정보 산출단계는,
    상기 구문 분석 정보 및 영향분석 정보를 이용하여, 기능점수(Function Point)를 산출하며,
    상기 영향분석 정보 생성단계는,
    다른 프로그램과의 상호관계, 프로그램 내부의 매소드와 매소드의 상호관계, 내부 매소드와 타 프로그램 내의 매소드와의 상호관계, DB 테이블과 프로그램의 상호관계, DB 테이블의 각 항목과 프로그램의 관계, 각 항목에 대한 처리 프로그램 측정, 및 기능점수를 산출하기 위한 ILF(Internal Logic File : 내부 논리파일), EIF(External Interface File : 외부 인터페이스), EI(External Input : 외부입력), EO(External Output : 외부출력), EQ(External Query : 외부조회)를 포함하는 영향분석 정보를 생성하는 것을 특징으로 하는 소프트웨어 평가정보 제공방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 소스자원은,
    프로그램 소스, 데이터베이스 소스, 및 그래픽 화면 정의 소스 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 평가정보 제공방법.
  7. 제6항에 있어서,
    상기 파싱 단계는,
    상기 프로그램 소스의 프로그램 언어 종류, 데이터베이스 소스의 종류, 및 그래픽 화면 정의 소스의 종류에 대응되는 파싱을 수행하는 것을 특징으로 하는 소프트웨어 평가정보 제공방법.
  8. 제1항에 있어서,
    상기 소프트웨어 평가정보는,
    소스 자원을 바탕으로 분석된 소프트웨어에 대한 정보이며, 소프트웨어의 복잡도, 불용 프로그램, 불용 변수, 및 사이즈 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 평가정보 제공방법.
  9. 제1항, 제6항, 제7항 및 제8항 중 어느 한 항에 개시된 소프트웨어 평가정보 제공방법을 수행하기 위한 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
  10. 소프트웨어에 대한 소스 자원을 입력받고 상기 소스 자원을 파싱하는 소스 자원 파싱 엔진부;
    파싱 결과를 이용하여 상기 소스 자원에 대해 구문 분석하는 분석부; 및
    상기 구문 분석 결과를 이용하여, 사용자의 선택 명령에 따라 선택된 특정 국가의 기능점수 산정기준을 네트워크에 액세스하여 획득하고, 획득한 산정기준에 따라 상기 소프트웨어에 대한 평가정보를 산출하고, 시스템 자체의 언어를 변경하지 않고 상기 평가정보를 언어별로 수록하고 있는 테이블을 이용하여, 상기 평가정보를 상기 사용자의 선택 명령에 따라 선택된 상기 특정 국가의 언어로 제공하는 엔진부;를 포함하고,
    상기 분석부는,
    상기 소스 자원에 대한 구문 분석을 통해 소스 자원에 포함된 기능을 파악하고, 상기 소스 자원의 기능에 대한 정보인 구문 분석 정보를 생성하고, 상기 구문 분석 정보를 이용하여 상기 소프트웨어에 대한 영향분석 정보를 생성하며,
    상기 엔진부는,
    다른 프로그램과의 상호관계, 프로그램 내부의 매소드와 매소드의 상호관계, 내부 매소드와 타 프로그램 내의 매소드와의 상호관계, DB 테이블과 프로그램의 상호관계, DB 테이블의 각 항목과 프로그램의 관계, 각 항목에 대한 처리 프로그램 측정, 및 기능점수를 산출하기 위한 ILF(Internal Logic File : 내부 논리파일), EIF(External Interface File : 외부 인터페이스), EI(External Input : 외부입력), EO(External Output : 외부출력), EQ(External Query : 외부조회)를 포함하는 영향분석 정보를 생성하고, 상기 구문 분석 정보 및 영향분석 정보를 이용하여, 기능점수(Function Point)를 산출하는 소프트웨어 평가정보 제공장치.
KR1020110067082A 2011-07-06 2011-07-06 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치 KR101164849B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110067082A KR101164849B1 (ko) 2011-07-06 2011-07-06 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110067082A KR101164849B1 (ko) 2011-07-06 2011-07-06 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치

Publications (1)

Publication Number Publication Date
KR101164849B1 true KR101164849B1 (ko) 2012-07-11

Family

ID=46716663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110067082A KR101164849B1 (ko) 2011-07-06 2011-07-06 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치

Country Status (1)

Country Link
KR (1) KR101164849B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101403298B1 (ko) * 2012-11-14 2014-06-05 (주)큐브젠소프트 프로그램 소스 특성 자동인식 방법
KR101441854B1 (ko) * 2012-11-14 2014-09-22 (주)큐브젠소프트 시스템 복잡도 자동 계산방법
KR101705465B1 (ko) 2015-10-22 2017-02-09 이승창 공개소프트웨어 서비스 평가 시스템
CN106648613A (zh) * 2016-10-31 2017-05-10 中国银行股份有限公司 一种fpac功能点估算书自动生成方法及装置
KR20230006998A (ko) 2021-07-05 2023-01-12 삼성에스디에스 주식회사 소프트웨어의 기능점수를 산출하는 방법 및 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101403298B1 (ko) * 2012-11-14 2014-06-05 (주)큐브젠소프트 프로그램 소스 특성 자동인식 방법
KR101441854B1 (ko) * 2012-11-14 2014-09-22 (주)큐브젠소프트 시스템 복잡도 자동 계산방법
KR101705465B1 (ko) 2015-10-22 2017-02-09 이승창 공개소프트웨어 서비스 평가 시스템
CN106648613A (zh) * 2016-10-31 2017-05-10 中国银行股份有限公司 一种fpac功能点估算书自动生成方法及装置
CN106648613B (zh) * 2016-10-31 2019-11-29 中国银行股份有限公司 一种fpac功能点估算书自动生成方法及装置
KR20230006998A (ko) 2021-07-05 2023-01-12 삼성에스디에스 주식회사 소프트웨어의 기능점수를 산출하는 방법 및 장치

Similar Documents

Publication Publication Date Title
CA2707916C (en) Intelligent timesheet assistance
KR101164849B1 (ko) 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치
US9613074B2 (en) Data generation for performance evaluation
KR101588027B1 (ko) 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법
CN111767334A (zh) 信息抽取方法、装置、电子设备及存储介质
US20230048310A1 (en) System and method for identifying members of a dynamic target segment
CN111143577A (zh) 数据标注方法、装置和系统
CN114925143A (zh) 逻辑模型血缘关系的描述方法、装置、设备、介质及产品
CN110866205A (zh) 用于存储信息的方法和装置
CN109408502A (zh) 一种数据标准处理方法、装置及其存储介质
US8707262B2 (en) Code scoring
CN113342692B (zh) 测试用例自动生成方法、装置、电子设备及存储介质
JP2020201607A (ja) 文章解析方法、文章解析プログラム、および文章解析システム
CN114860737B (zh) 教研数据的处理方法、装置、设备及介质
CN116400900A (zh) 生成指标的方法及装置
CN114881521A (zh) 业务评估方法、装置、电子设备以及存储介质
CN113064982A (zh) 一种问答库生成方法及相关设备
JP6695847B2 (ja) ソフトウェア部品管理システム、計算機
JP6204923B2 (ja) アセスメント装置、アセスメントシステム、アセスメント方法、及びプログラム
CN108268192B (zh) 列表操作方法和装置
CN110399411B (zh) 数据源切换方法、装置、设备及计算机可读存储介质
US20230259886A1 (en) Information processing apparatus, information processing method, and recording medium
CN117331795B (zh) 服务指标计算方法与系统
JP2019144757A (ja) プロジェクト見積り支援方法およびプロジェクト見積り支援装置
CN113672633B (zh) 一种基于环境监测数据的标签管理系统和方法

Legal Events

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

Payment date: 20150506

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160503

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180705

Year of fee payment: 7