KR20060015028A - 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법 - Google Patents

신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법 Download PDF

Info

Publication number
KR20060015028A
KR20060015028A KR1020040063833A KR20040063833A KR20060015028A KR 20060015028 A KR20060015028 A KR 20060015028A KR 1020040063833 A KR1020040063833 A KR 1020040063833A KR 20040063833 A KR20040063833 A KR 20040063833A KR 20060015028 A KR20060015028 A KR 20060015028A
Authority
KR
South Korea
Prior art keywords
neural network
tailoring
unit
input
value
Prior art date
Application number
KR1020040063833A
Other languages
English (en)
Other versions
KR100586503B1 (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 KR1020040063833A priority Critical patent/KR100586503B1/ko
Publication of KR20060015028A publication Critical patent/KR20060015028A/ko
Application granted granted Critical
Publication of KR100586503B1 publication Critical patent/KR100586503B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법이 개시된다. 데이터베이스부에는 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 태스크 추출 규칙을 포함하는 테일러링 관련정보가 저장된다. 테일러링 관련정보 관리부는 외부로부터 입력되는 테일러링 관련정보를 데이터베이스부에 저장하거나 정보상호간의 관련성을 설정한다. 테일러링 학습자료 관리부는 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 태스크 추출 규칙을 적용하여 학습자료로 생성한다ㅏ. 신경망 생성/학습부는 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하고, 프로세스의 수행결과로 도출되는 목표값과 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 학습자료에 의해 신경망을 학습시킨다. 태스크 적합 판별부는 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별한다. 본 발명에 따르면, 프로세스 테일러링 작업의 경험과 지식을 이미 발생한 상황에만 사용할 수 있는 규칙 기반 시스템에 비해 경험과 지식을 효율적으로 재사용할 수 있고 작업의 자동화를 더욱 높일 수 있다.

Description

신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법{System for tailoring a software development process using neural network and method of the same}
도 1은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템의 상세한 구성을 도시한 블록도,
도 2는 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 적용되는 다층 전방향 신경망의 구조도, 그리고,
도 3은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 방법의 수행과정을 도시한 흐름도이다.
본 발명은 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 관한 것으로, 보다 상세하게는, 소프트웨어를 개발하는 데 있어서 원하는 수준의 품질을 얻기 위한 프로세스의 효율성 제고, 개발환경에 적합한 프로세스의 개발 등을 위한 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 관한 것이다.
소프트웨어 프로세스 테일러링은 많은 소프트웨어 프로세스 지식과 소프트웨어 프로세스 테일러링 경험을 필요로 한다. 하지만 이러한 지식과 경험을 획득하기 어렵기 때문에 소프트웨어 프로세스 테일러링 작업은 소프트웨어 프로세스 지식과 소프트웨어 프로세스 테일러링 경험이 많은 소수의 전문가에 의해서 진행되고 있다. 이와 같이 전문가에 의한 소프트웨어 프로세스 테일러링 작업은 경험 많은 전문가가 희소하기 때문에 비용이 많이 들고, 각 소프트웨어 프로세스 테일러링 작업이 해당 상황에 최적화되어 수행되기 때문에 새로운 상황에 과거 테일러링 경험이나 자료를 이용하기 어렵다는 단점이 있다.
이를 해결하기 위해 기존의 규칙 기반 시스템이나 프로세스 패턴의 연구를 통해 소프트웨어 프로세스 테일러링 작업과 관련된 경험과 지식을 획득/저장하여 경험과 지식을 재사용하려는 노력이 진행되고 있다. 하지만 이러한 방법들은 소프트웨어 프로세스를 테일러링할 수 있는 상황이 이미 과거에 발생한 적이 있는 상황인 경우에 국한되어 해당 작업의 지식과 경험의 재사용이 제한적이라는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는 전문가의 경험이나 지식을 신경망을 통해 학습시키고 이를 이용하여 새로운 상황에도 소프트웨어 프로세스 테일러링 작업이 가능하도록 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 전문가의 경험이나 지식을 신 경망을 통해 학습시키고 이를 이용하여 새로운 상황에도 소프트웨어 프로세스 테일러링 작업이 가능하도록 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템은, 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보가 저장되는 데이터베이스부; 외부로부터 입력되는 상기 테일러링 관련정보를 상기 데이터베이스부에 저장하는 테일러링 관련정보 관리부; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 테일러링 학습자료 관리부; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하고, 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 신경망 생성/학습부; 및 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 태스크 적합 판별부;를 구비한다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 방법은, 대상 프로세스에 대한 정보, 테일러링 파라 미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보를 소정의 데이터베이스부에 저장하는 단계; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 단계; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하는 단계; 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 단계; 및 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 단계;를 포함한다.
이에 의해, 프로세스 테일러링 작업의 경험과 지식을 이미 발생한 상황에만 사용할 수 있는 규칙 기반 시스템에 비해 경험과 지식을 효율적으로 재사용할 수 있고 작업의 자동화를 더욱 높일 수 있다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템의 상세한 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템(100)은 테일러링 관련정보 관리부(110), 테일러링 학습자료 관리부(120), 신경망 생성/학습부(130), 태스크 적합 판별부(140), 데이터베이스부(150) 를 구비한다.
테일러링 관련정보 관리부(110)는 대상 프로세스, 테일러링 파라미터, 학습 자료 생성 규칙 등의 프로세스 테일러링과 관련된 정보를 입력받아 관리한다. 테일러링 관련정보 관리부(110)는 입력된 프로세스 테일러링 관련정보를 데이터베이스부(150)의 적절한 위치에 저장하거나 정보상호간의 관련성을 설정한다. 대상 프로세스는 필요한 작업의 ID, 작업의 명칭, 작업자로 간략하게 정의될 수 있다. 본 실시예에서는 RUP(Rational Unified Process) 프로젝트 관리 단계(Project Management Discipline)의 액티비티들을 대상으로 프로세스 테일러링 관련정보의 정의 및 관리에 대해 설명한다. 다음으로, 테일러링 파라미터가 정의된다. 테일러링 파라미터는 소프트웨어 프로세스 테일러링이 요구되는 프로젝트 상황을 평가할 수 있는 파라미터로서 다음의 표에 기재된 바와 같은 항목으로 정의될 수 있다.
항목 노미널 값 (nominal value) 항목값
조직의 외부요소
프로젝트 개발형태 계약기반의 발주 프로젝트 4
상업적인 제품개발 프로젝트 3
내부 프로젝트 2
실험적 프로젝트 1
프로젝트 관련자 협력관계 높음 1
낮음 2
조직의 내부요소
프로젝트 규모 매우 큼 (125명 이상) 4
큼 (26~125명) 3
보통 (6~25명) 2
적음 (~5명) 1
지리적 분포 분산 2
집중 1
개발팀의 프로세스 성숙 높음 1
중간 2
낮음 3
개발팀의 도메인 경험 높음 1
중간 2
낮음 3
대상시스템의 특징
새로운 정도 높음 3
중간 2
낮음 1
아키텍처 측면의 위험요소 높음 3
중간 2
낮음 1
기술측면의 복잡도 높음 3
중간 2
낮음 1
관리측면의 복잡도 높음 3
중간 2
낮음 1
표 1을 참조하면, 항목은 크게 조직의 외부 요소와 내부 요소, 개발하려는 대상 시스템의 특징으로 구분된다. 각 항목은 조직의 요구나 프로젝트 상황에 따라 조정될 수 있다. 다만, 항목의 조정시 고려해야 할 사항은 프로세스 테일러링 파라미터가 신경망 모델 구성시 입력속성(input attribute)으로 매핑되고, 할당되는 값은 입력 속성의 값으로 매핑된다는 점이다. 따라서 신경망 모델의 입력 속성값으로 사용되기 위해 프로세스 테일러링 파라미터 값은 숫자 형태로 전환되어야 한다.
또한, 프로세스 테일러링 파타미터의 노미널(nominal)값을 숫자로 전환할 때에는 프로세스의 정형성을 높이는 쪽으로 갈수록 큰 값을 할당하도록 한다. 여기서 말하는 프로세스 정형도는 프로세스가 태스크를 얼마나 가지는 지에 대한 정도로서, 많은 태스크를 가지는 프로세스일수록 정형도가 높다고 말한다.
본 발명에서는 소프트웨어 프로세스 테일러링 자료를 신경망을 이용하여 학습시키기 때문에 기존의 소프트웨어 프로세스 테일러링 경험 자료를 가지고 있어야 한다. 하지만 소프트웨어 프로세스 테일러링에 대한 기존의 자료가 없을 경우 소프트웨어 프로세스 테일러링에 대한 일반적인 지식을 바탕으로 학습 자료 생성 규칙을 정의한다. 그리고 이를 이용하여 일반적인 지식을 학습 자료로 생성하고 신경망 생성/학습에 사용한다.
학습 자료 생성 규칙은 환경 제약 조건과 태스크 추출 규칙으로 나눌 수 있다.
환경 제약 조건은 조직에서 정의한 테일러링 파라미터간의 발생하는 모순적인 상황을 제거하기 위한 조건이다. 일례로, 표 1에 기재되어 있는 테일러링 파라미터를 참고하면, '프로젝트 형태'가 '상업적인 제품 개발 프로젝트'인 경우 미래의 불특정 다수의 고객을 대상으로 하기 때문에 제품 개발시 '프로젝트 관련자 협력관계'가 높을 수 없다. 이와 같은 지식이나 사실을 다음과 같이 규칙화할 수 있다.
IF (프로젝트 개발 형태=3) THEN (프로젝트 관련자 협력 관계=2)
태스크 추출 규칙은 특정 상황에 특정 작업의 사용 여부에 관련된 지식을 규칙으로 정의한다. 태스크 추출 규칙에 대해서는 조직이 채택한 프로세스, 조직의 정책, 프로세스 엔지니어의 경험과 주관 등에 의해서 상이하게 정의될 수 있는 부분이다. 다만, 이 규칙은 본 방법을 사용하고자 하는 조직 내부의 합의에 의해 자명한 규칙을 기본으로 한다.
태스크 추출 규칙에 해대 RUP의 프로젝트 관리 단계에 속하는 액티비티 중에서 "비즈니스 유스케이스 작성"을 예로 들어 설명한다. "비즈니스 유스케이스"란 조직의 업무 흐름을 파악하기 위한 시나리오를 말한다. 일반적으로 "비즈니스 유스케이스 작성"이란 업무는 프로젝트의 성격이 계약 기반의 발주된 프로젝트여서 업무의 파악이 중요한 경우거나 수행하고자 하는 프로젝트 규모가 큰 경우에 한해서 실시하게 된다. 즉, 프로젝트 개발 형태가 실험적 프로젝트이거나 프로젝트의 규모가 적을 경우 적용하지 않는다는 사실을 다음과 같이 태스크 추출 규칙으로 생성할 수 있다.
IF {(프로젝트 개발 형태=1) & (프로젝트 규모=1)} THEN (Develop Business Use Case=0)
테일러링 학습자료 관리부(120)는 테일러링 관련정보 관리부(110)에 의해 정의된 학습 자료 생성 규칙에 의한 학습 자료를 생성하거나 기존의 프로세스 테일러링 경험 자료 등을 학습 자료로 생성하여 추가하는 등 신경망에 필요한 여러 자료를 학습자료화하는 작업을 수행한다.
또한, 테일러링 학습자료 관리부(120)는 학습 자료들을 신경망에서 요구하는 학습 자료의 형식인 입력값과 입력에 따른 목표 출력값의 쌍으로 표시한다. 도 2에는 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 적용되는 다층 전방향 신경망의 구조가 도시되어 있다. 도 2를 참조하면, 입력값과 목표 출력값은 각각
Figure 112004036225365-PAT00001
로 표시되고, 학습 자료는 <
Figure 112004036225365-PAT00002
>로 표시된다. 이 때,
Figure 112004036225365-PAT00003
는 테일러링 파라미터 값들,
Figure 112004036225365-PAT00004
는 해당 테일러링 파라미터 값들로 표현되는 프로젝트 상황에서 요구되는 태스크 선별 여부 값들로 주어진다.
테일러링 학습자료 관리부(120)는 테일러링 파라미터의 값들을 조합하여 테일러링 파라미터에서 발생할 수 있는 모든 상황을 생성하고, 생성한 상황 가운데 환경 제약 규칙을 적용하여 발생하지 않을 상황을 제거한다. 이러한 과정을 통해 테일러링 학습자료 관리부(120)는 환경 제약 규칙을 모두 만족시키는 테일러링 파라미터 조합 값들에 태스크 추출 규칙을 적용하여 규칙에 의해 필요 없는 작업들을 0으로 설정하여 학습자료를 생성한다. 이렇게 변환된 학습 자료를 통해서 환경 제약 조건과 태스크 추출 규칙을 신경망에 학습시킬 수 있다.
한편, 데이터베이스부(150)에 저장되어 있는 학습자료는 소프트웨어 프로세스 테일러링에 대한 일반적인 지식이기 때문에, 조직의 특수한 환경이나 성격 등 실제 소프트웨어 프로세스 테일러링에서 발생하는 상황을 충분히 반영할 수 없게 된다. 이러한 문제를 해결하기 위해 기존의 조직에서 발생한 실제 테일러링 경험 자료를 추가하여 신경망을 학습시킴으로써 실제 상황이 반영될 수 있도록 한다. 또한, 신경망에 의해 수행된 프로세스 테일러링 예측값은 오차를 가지고 있을 수 있 다. 따라서, 본 발명에 따른 프로세스 테일러링을 실제 프로젝트 상황에 적용하여 프로세스 테일러링 결과를 산출한 후 추가적으로 필요한 태스크나 해당 상황에 필요하지 않는 태스크들을 프로세스 테일러링 결과에 반영한다. 수행결과가 반영된 프로세스 테일러링 결과는 추가적인 피드백 학습자료로서 생성되며, 이를 기존의 학습 자료에 추가하여 다시 신경망에 학습시킴으로써 발생된 오차를 수정할 수 있도록 한다.
신경망 생성/학습부(130)는 테일러링 학습자료 관리부(120)에 의해 생성된 학습자료에 맞는 신경망의 생성 및 신경망의 학습을 수행한다. 이 과정을 통해서 신경망은 프로세스 테일러링에 관련한 기본적인 규칙, 과거에 실제 조직에서 발생했던 프로세스 테일러링 경험, 기존의 프로세스 테일러링을 예측한 값들의 피드백 자료 등을 학습하게 된다.
신경망 생성/학습부(130)는 학습자료의 원하는 결과값과 신경망 예측값 사이의 오차를 줄이는 방식으로 신경망을 학습시키고 각 층의 유닛들 간의 연결 강도를 이용하여 예측값을 계산한다. 신경망의 전형적인 예는 도 2에 도시된 역전파 알고리즘을 이용하는 다층 전방향 신경망(Multi-Layered Feed Forward Neural Network)이다. 다층 전방향 신경망(Multi-Layered Feed Forward Neural Network)은 입력층과 출력층 사이에 하나 이상의 중간층이 존재하는 신경망이다. 이 때, 입력층과 출력층을 은닉층이라고 부르며 신경망은 입력층, 은닉층, 및 출력층 방향으로 연결된다. 각 층 내의 연결과 출력층에서 입력층으로의 직접적인 연결은 존재하지 않는다. 신경망 생성/학습부(130)는 이와 같은 신경망 구조를 역전파(Back Propagation) 알고리즘을 이용하여 학습시킨다. 역전파 알고리즘은 입력값 벡터
Figure 112004036225365-PAT00005
을 각 층으로 전달하여 출력값 벡터
Figure 112004036225365-PAT00006
를 계산하는 전파 단계와 출력층에서 발생되는 에러를 줄이기 위해 신경망 내의 연결 가중치를 수정하는 역전파 단계로 나뉜다.
전파 단계에서 각 유닛들은 자신들에게 연결된 입력값을 연결의 가중치와 곱한 후에 합산한다. 각 유닛들의 입력값을 합산하는 수식은 다음과 같다.
Figure 112004036225365-PAT00007
위의 식에서 n은 입력값의 개수를 의미하고, xn은 학습 자료의 입력 벡터를 의미한다. wn은 입력 벡터와 입력층 유닛을 연결하는 가중치를 의미한다.
위와 같이 각 유닛의 입력값이 합산되면 신경망 생성/학습부(130)는 시그모이드(sigmoid)활성화 함수를 이용하여 출력값을 생성한다. 활성화 함수를 적용하여 결과를 생성하는 수식은 다음과 같다.
Figure 112004036225365-PAT00008
은닉층과 출력층도 위와 같은 방법으로 입력값을 해당 가중치와 곱하여 이를 시그모이드 활성화 함수를 통해 출력값을 생성하여 전파한다.
이렇게 전파된 입력값 벡터
Figure 112004036225365-PAT00009
에 따라 각 출력 유닛에서 출력값 벡터
Figure 112004036225365-PAT00010
를 계산하게 된다. 이 때, 해당 입력값 벡터
Figure 112004036225365-PAT00011
에 신경망이 출력해야 하는 출력값벡터
Figure 112004036225365-PAT00012
와의 차이가 발생하게 된다. 각 출력 유닛의 오차는 다음의 수학식에 의해 계산된다.
Figure 112004036225365-PAT00013
수학식 3에 의해 산출되는 출력 유닛의 오차를 줄이기 위해 역전파 단계를 통해 신경망의 각 연결 가중치가 수정된다. 우선, 연결 가중치를 갱신하기 위해서 각 유닛에서의 에러텀(error term)의 계산이 필요하다.
출력층에서의 에러텀
Figure 112004036225365-PAT00014
은 다음의 수학식에 의해 계산된다.
Figure 112004036225365-PAT00015
또한, 은닉층에서의 에러텀
Figure 112004036225365-PAT00016
은 다음의 수학식에 의해 계산된다.
Figure 112004036225365-PAT00017
입력층의 에러텀도 은닉층의 에러텀과 동일한 방식으로 계산된다. 이 때, 입력층에서 은닉층으로의 가중치는 다음의 수학식에 의해 계산된다.
Figure 112004036225365-PAT00018
여기서,
Figure 112004036225365-PAT00019
를 만족한다.
은닉층에서 출력층의 가중치도 위와 같은 방법으로 반복되어 갱신된다.
이와 같은 신경망은 다음과 같은 세부 설정으로 구성될 수 있다. 신경망 구성과 설정은 필요에 의해 변경될 수 있다.
항목 설명
신경망 설정
입력 유닛 n 개 테일러링 파라미터 계수
출력 유닛 m 개 조직에서 선택한 프로세스가 가지고 있는 작업의 수
은닉 유닛 (n+m)/2 개 입력값을 전달하는 역할의 중간 유닛의 수
활성 함수 Sigmoid 각 유닛의 활성화 함수
연결 상태 Feed-Forward 신경망의 유닛 연결 상태
BackPropagation 알고리즘 사용 학습 설정
학습율 0.3 가중치가 갱신되는 양
학습횟수 10 학습하는 주기의 횟수
다음으로, 신경망 생성/학습부(130)는 규칙을 기반으로 생성한 기본 학습자료와 조직이 가지고 있는 경험들을 학습자료화하여 생성한 신경망에 학습시킨다. 학습이 끝나면 학습자료에서 원하는 목표값에 가깝도록 출력할 수 있게 신경망 내부의 연결 가중치가 조정된다. 이 과정에서 사전에 정의된 테일러링 파라미터의 값들을 이용하여 프로젝트 상황이 입력된다.
태스크 적합도 판별부(140)는 프로세스 테일러링의 필요시 학습된 신경망을 통해서 해당 상황에 맞는 프로세스 테일러링 작업을 수행한다. 이 과정에서 사전에 정의된 테일러링 파라미터의 값들을 이용하여 프로젝트 상황이 입력된다. 테일러링 파라미터를 이용하여 프로젝트 상황이 입력되면 각 입력이 출력층으로 전파되고, 태스크 적합도 판별부(140)는 이에 의해 발생되는 결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크 적합도를 생성/판별한다.
도 3은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 방법의 수행과정을 도시한 흐름도이다.
도 3을 참조하면, 테일러링 관련정보 관리부(110)는 운영자로부터 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 데이터베이스(150)에 저장한다(S300). 대상 프로세스에 대한 정보는 작업 ID, 작업 명칭, 및 작업자를 포함하며, 테일러링 파라미터는 조직의 외부요소, 내부요소, 그리고 개발하려는 시스템의 특징을 포함한다. 한편, 학습 자료 생성 규칙은 조직에서 정의한 테일러링 파라미터간에 발생하는 모순적인 상황을 제거하기 위한 조건인 환경 제약 규칙과 특정상황에 특정작업의 사용여부에 관련된 지식으로 정의된 태스크 추출 규칙으로 구성된다.
다음으로, 테일러링 학습자료 생성부(120)는 테일러링 파라미터값들을 조합하여 테일러링 파라미터에서 발생할 수 있는 모든 상황을 생성한다(S310). 이 때 테일러링 학습자료 생성부(120)는 생성한 상황 중에서 환경 제약 규칙을 적용하여 발생하지 않을 상황을 제거하고, 이 범위안에서 태스크 생성 규칙을 적용하여 필요없는 작업들을 0으로 설정하여 학습자료를 생성한다. 아울러, 테일러링 학습자료 생성부(120)는 기존의 조직에서 발생한 실제 테일러링 경험자료의 존재여부를 확인하고(S320), 새로운 테일러링 경험자료가 존재하면 이를 데이터베이스의 학습 자료에 추가한다(S360).
신경망 생성/학습부(130)는 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 그리고, 신경망의 유닛 연결 상태를 설정하 여 신경망을 생성하고, 학습자료의 원하는 결과값과 신경망 예측값 사이의 오차를 줄이는 방식(즉, 일정한 프로세스를 반복적으로 수행하여 오차가 소정의 임계값보다 작아지거나 오차가 0가 되도록 하는 방식)에 의해 생성한 신경망을 학습시킨다(S330). 신경망에 대한 학습이 완료되면, 결과값이 학습자료에서 원하는 목표값에 가까워지도록 신경망 내부의 가중치가 조절되며, 이 때, 신경망 생성/학습부(130)는 프로젝트 상황을 나타내는 테일러링 파라미터값의 입력여부를 확인한다(S340). 만약, 테일러링 파라미터값이 입력되면, 입력되는 각각의 테일러링 파라미터값은 출력층으로 전파된다(S370).
태스크 적합도 판별부(140)는 우선 프로젝트 상황을 나타내는 테일러링 파라미터값의 입력여부를 확인한다(S340). 만약, 테일러링 파라미터값이 입력되면, 입력되는 각각의 테일러링 파라미터값은 출력층으로 전파된다(S370). 다음으로, 태스크 적합도 판별부(140)는 출력층으로의 전파에 의해 발생하는 결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별한다(S380). 다음으로 태스크 적합도 판별부(140)는 신경망에 의해 수행된 프로세스 테일러링 여측값의 오차여부를 확인한다(S390). 만약, 오차가 존재하면 테일러링 학습자료 관리부(120)는 피드백 학습자료를 생성한다(S400). 피드백 학습자료가 생성되면 S330단계가 다시 수행된다. 만약 프로세스 테일러링을 수행하고자 하는 프로젝트 환경을 나타나는 데 기존의 테일러링 파라미터가 없어서 추가되거나 변경되어야 한다면, 프로세스 테일러링 판단 기준이 변한 것이므로 이를 새로운 프로세스 테일러링 작업으로 보고 현재의 프로세스 테일러링 작업을 중단하고 새로운 프로세스 테일러링 작업으로 재시작한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 의하면, 프로세스 테일러링 작업에 관련한 지식과 경험을 신경망에 학습시킴으로써 새로운 상황에 대해서 프로세스 테일러링에 대해 예측할 수 있으며, 이에 의해 프로세스 테일러링 작업의 경험과 지식을 이미 발생한 상황에만 사용할 수 있는 규칙 기반 시스템에 비해 경험과 지식을 효율적으로 재사용할 수 있고 작업의 자동화를 더욱 높일 수 있다. 또한, 프로세스 테일러링 작업을 기존 시스템에 비해 자동화시킴으로써 작업의 비용과 수행 시간을 절감할 수 있다.

Claims (13)

  1. 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보가 저장되는 데이터베이스부;
    외부로부터 입력되는 상기 테일러링 관련정보를 상기 데이터베이스부에 저장하는 테일러링 관련정보 관리부;
    상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 테일러링 학습자료 관리부;
    입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하고, 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 신경망 생성/학습부; 및
    상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 태스크 적합 판별부;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
  2. 제 1항에 있어서,
    상기 태스크 추출 규칙은 조직에서 정의한 테일러링 파라미터간에 발생하는 모순적인 상황을 제거하기 위한 조건인 환경 제약 규칙과 특정상황에 특정작업의 사용여부에 관련된 지식으로 정의된 태스크 추출 규칙으로 구성되는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
  3. 제 1항에 있어서,
    상기 신경망은 역전파 알고리즘을 이용하며, 입력층과 출력층 사이에 적어도 하나의 중간층이 존재하는 다층 전방향 신경망인 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
  4. 제 3항에 있어서,
    상기 테일러링 학습자료 관리부는 상기 테일러링 파라미터의 값과 해당 테일러링 파라미터 값들로 표현되는 프로젝트 상황에서 요구되는 태스크 선별여부 값을 각각 입력값과 목표출력값으로 설정하고, 상기 입력값과 목표출력값으로 구성되는 순서쌍을 상기 신경망의 입력층에 제공하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
  5. 제 3항 또는 제 4항에 있어서,
    상기 신경망을 구성하는 각각의 유닛들은 자신에게 연결된 입력값을 연결의 가중치와 곱한 후에 합산하고, 합산결과를 각각의 유닛에 대해 설정되어 있는 활성 화함수의 입력으로 하여 출력값을 생성하여 다른 유닛으로 전파하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
  6. 제 5항에 있어서,
    상기 신경망 생성/학습부는 상기 신경망으로 입력되는 입력값에 대해 상기 신경망이 출력해야 하는 목표출력값과 상기 신경망이 출력하는 출력값의 차이를
    Figure 112004036225365-PAT00020
    에 의해 계산하여 각각의 출력 유닛의 오차를 산출하고, 상기 신경망을 구성하는 각각의 유닛의 연결 가중치를 수정하여 상기 산출된 오차를 감소시키는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
  7. 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보를 소정의 데이터베이스부에 저장하는 단계;
    상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 단계;
    입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하는 단계;
    프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신 경망을 학습시키는 단계; 및
    상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.
  8. 제 7항에 있어서,
    상기 태스크 추출 규칙은 조직에서 정의한 테일러링 파라미터간에 발생하는 모순적인 상황을 제거하기 위한 조건인 환경 제약 규칙과 특정상황에 특정작업의 사용여부에 관련된 지식으로 정의된 태스크 추출 규칙으로 구성되는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.
  9. 제 7항에 있어서,
    상기 신경망은 역전파 알고리즘을 이용하며, 입력층과 출력층 사이에 적어도 하나의 중간층이 존재하는 다층 전방향 신경망인 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.
  10. 제 9항에 있어서,
    상기 테일러링 학습자료 생성단계는,
    상기 테일러링 파라미터의 값과 해당 테일러링 파라미터 값들로 표현되는 프로젝트 상황에서 요구되는 태스크 선별여부 값을 각각 입력값과 목표출력값으로 설 정하는 단계; 및
    상기 입력값과 목표출력값으로 순서쌍을 구성하여 상기 신경망의 입력층에 제공하는 학습자료를 생성하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.
  11. 제 9항 또는 제 10항에 있어서,
    상기 신경망 학습단계는,
    상기 신경망을 구성하는 각각의 유닛들에 연결된 입력값을 연결의 가중치와 곱한 후에 합산하는 단계; 및
    상기 합산결과를 각각의 유닛에 대해 설정되어 있는 활성화함수의 입력으로 하여 출력값을 생성하여 다른 유닛으로 전파하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.
  12. 제 11항에 있어서,
    상기 신경망 학습단계는,
    상기 신경망으로 입력되는 입력값에 대해 상기 신경망이 출력해야 하는 목표출력값과 상기 신경망이 출력하는 출력값의 차이를
    Figure 112004036225365-PAT00021
    에 의해 계산하여 각각의 출력 유닛의 오차를 산출하는 단계; 및
    상기 신경망을 구성하는 각각의 유닛의 연결 가중치를 수정하여 상기 산출된 오차를 감소시키는 단계;를 더 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.
  13. 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보를 소정의 데이터베이스부에 저장하는 단계;
    상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 단계;
    입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하는 단계;
    프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 단계; 및
    상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040063833A 2004-08-13 2004-08-13 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법 KR100586503B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040063833A KR100586503B1 (ko) 2004-08-13 2004-08-13 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040063833A KR100586503B1 (ko) 2004-08-13 2004-08-13 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법

Publications (2)

Publication Number Publication Date
KR20060015028A true KR20060015028A (ko) 2006-02-16
KR100586503B1 KR100586503B1 (ko) 2006-06-07

Family

ID=37123899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063833A KR100586503B1 (ko) 2004-08-13 2004-08-13 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법

Country Status (1)

Country Link
KR (1) KR100586503B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021080175A1 (ko) * 2019-10-21 2021-04-29 옴니스랩스 주식회사 컨텐츠 처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239617A (en) 1990-01-05 1993-08-24 International Business Machines Corporation Method and apparatus providing an intelligent help explanation paradigm paralleling computer user activity
US5659666A (en) 1994-10-13 1997-08-19 Thaler; Stephen L. Device for the autonomous generation of useful information
KR19990047854A (ko) * 1997-12-05 1999-07-05 정선종 메타데이타에 의한 정보 검색의 지능형 사용자 인터페이스 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021080175A1 (ko) * 2019-10-21 2021-04-29 옴니스랩스 주식회사 컨텐츠 처리 방법

Also Published As

Publication number Publication date
KR100586503B1 (ko) 2006-06-07

Similar Documents

Publication Publication Date Title
Wu et al. A risk analysis model in concurrent engineering product development
Motawa et al. An integrated system for change management in construction
Etemadinia et al. Using a hybrid system dynamics and interpretive structural modeling for risk analysis of design phase of the construction projects
An et al. On developing system dynamics model for business process simulation
Yang et al. Implementation of knowledge-based engineering methodology in ship structural design
Newman et al. Model and experimental development for business data science
Wang et al. Use of advances in technology for maritime risk assessment
Yassine Investigating product development process reliability and robustness using simulation
US20210350294A1 (en) Operations optimization assignment control system with coupled subsystem models and digital twins
Reddi et al. Modelling engineering change management in a new product development supply chain
Ghaddar et al. Spare parts stocking analysis using genetic programming
Jonkers et al. A design change, knowledge, and project management flight simulator for product and project success
Giaglis et al. It’s time to engineer re-engineering: investigating the potential of simulation modelling for business process redesign
US20110112889A1 (en) Proactive demand shaping for a configurable product portfolio with uncertain demand
Can et al. Digital Twin and Manufacturing
Saad et al. A DES approach for the contextual load modelling of supply chain system for instability analysis
KR100586503B1 (ko) 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및방법
Griffiths et al. Predicting risk in missions under sea ice with autonomous underwater vehicles
Fernández et al. A model driven development approach based on a reference model for predicting disruptive events in a supply process
Naim et al. Supply chain dynamics
Alrashoud et al. Perception-based software release planning
Khan et al. A novel approach for No Fault Found decision-making
KR20210032725A (ko) 조선소 판넬조립공장 최적 실행계획 수립 시스템 및 방법과 그를 저장하는 컴퓨터 판독 가능한 기록매체
Sabouni Improving engineering change processes in a local forestry machine manufacturer
Patel Dynamic modeling of the effectiveness of software development methods on DoD programs

Legal Events

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

Payment date: 20130528

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140526

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150519

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161018

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170419

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee