KR100586503B1 - System for tailoring a software development process using neural network and method of the same - Google Patents

System for tailoring a software development process using neural network and method of the same Download PDF

Info

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

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

신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법이 개시된다. 데이터베이스부에는 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 태스크 추출 규칙을 포함하는 테일러링 관련정보가 저장된다. 테일러링 관련정보 관리부는 외부로부터 입력되는 테일러링 관련정보를 데이터베이스부에 저장하거나 정보상호간의 관련성을 설정한다. 테일러링 학습자료 관리부는 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 태스크 추출 규칙을 적용하여 학습자료로 생성한다ㅏ. 신경망 생성/학습부는 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하고, 프로세스의 수행결과로 도출되는 목표값과 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 학습자료에 의해 신경망을 학습시킨다. 태스크 적합 판별부는 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별한다. 본 발명에 따르면, 프로세스 테일러링 작업의 경험과 지식을 이미 발생한 상황에만 사용할 수 있는 규칙 기반 시스템에 비해 경험과 지식을 효율적으로 재사용할 수 있고 작업의 자동화를 더욱 높일 수 있다.A software process tailoring system and method using neural networks is disclosed. The database unit stores tailoring related information including information on a target process, tailoring parameters, and task extraction rules. The tailoring related information management unit stores the tailoring related information input from the outside in the database unit or sets the relation between information information. The tailoring learning material management unit generates a learning material by applying a task extraction rule to the combination values generated by combining the values of the tailoring parameters. The neural network generation / learning unit generates a neural network by setting the number of units including an input unit, an output unit, and a hidden unit, an activation function of each unit, and a connection state of the unit, and a target value derived from the performance of the process. The neural network is trained by the learning data so that an error between prediction values derived by the neural network is smaller than a predetermined threshold value. The task suitability determining unit converts the result of the process performed by the neural network into a percentage to determine the suitability of the task based on the criteria desired by the organization. According to the present invention, the experience and knowledge can be efficiently reused and the automation of the work can be further improved compared to a rule-based system that can use the experience and knowledge of the process tailoring work only in situations where it has already occurred.

Description

신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법{System for tailoring a software development process using neural network and method of the same}System for tailoring a software development process using neural network and method of the same}

도 1은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템의 상세한 구성을 도시한 블록도,1 is a block diagram showing a detailed configuration of a software process tailoring system using a neural network according to the present invention;

도 2는 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 적용되는 다층 전방향 신경망의 구조도, 그리고,2 is a structural diagram of a multi-layer forward neural network applied to a software process tailoring system and method using a neural network according to the present invention;

도 3은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 방법의 수행과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of performing a software process tailoring method using a neural network according to the present invention.

본 발명은 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 관한 것으로, 보다 상세하게는, 소프트웨어를 개발하는 데 있어서 원하는 수준의 품질을 얻기 위한 프로세스의 효율성 제고, 개발환경에 적합한 프로세스의 개발 등을 위한 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 관한 것이다. The present invention relates to a software process tailoring system and method using a neural network, and more particularly, to improve the efficiency of a process for obtaining a desired level of quality in software development, and to develop a process suitable for a development environment. The present invention relates to a software process tailoring system and method.

소프트웨어 프로세스 테일러링은 많은 소프트웨어 프로세스 지식과 소프트웨어 프로세스 테일러링 경험을 필요로 한다. 하지만 이러한 지식과 경험을 획득하기 어렵기 때문에 소프트웨어 프로세스 테일러링 작업은 소프트웨어 프로세스 지식과 소프트웨어 프로세스 테일러링 경험이 많은 소수의 전문가에 의해서 진행되고 있다. 이와 같이 전문가에 의한 소프트웨어 프로세스 테일러링 작업은 경험 많은 전문가가 희소하기 때문에 비용이 많이 들고, 각 소프트웨어 프로세스 테일러링 작업이 해당 상황에 최적화되어 수행되기 때문에 새로운 상황에 과거 테일러링 경험이나 자료를 이용하기 어렵다는 단점이 있다. Software process tailoring requires a lot of software process knowledge and software process tailoring experience. However, since this knowledge and experience is difficult to obtain, the software process tailoring work is performed by a small number of professionals with a lot of software process knowledge and software process tailoring experience. As such, software process tailoring work by experts is expensive because it is rare for experienced professionals, and each software process tailoring work is optimized for the situation, making it difficult to use past tailoring experiences or materials in new situations. have.

이를 해결하기 위해 기존의 규칙 기반 시스템이나 프로세스 패턴의 연구를 통해 소프트웨어 프로세스 테일러링 작업과 관련된 경험과 지식을 획득/저장하여 경험과 지식을 재사용하려는 노력이 진행되고 있다. 하지만 이러한 방법들은 소프트웨어 프로세스를 테일러링할 수 있는 상황이 이미 과거에 발생한 적이 있는 상황인 경우에 국한되어 해당 작업의 지식과 경험의 재사용이 제한적이라는 문제가 있다. In order to solve this problem, efforts are being made to reuse experience and knowledge by acquiring and storing experience and knowledge related to software process tailoring through research of existing rule-based systems or process patterns. However, these methods are limited to situations where the tailoring of software processes has already occurred in the past, and the reuse of knowledge and experience of the task is limited.

본 발명이 이루고자 하는 기술적 과제는 전문가의 경험이나 지식을 신경망을 통해 학습시키고 이를 이용하여 새로운 상황에도 소프트웨어 프로세스 테일러링 작업이 가능하도록 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is to provide a software process tailoring system and method using a neural network to learn the experience or knowledge of experts through a neural network and to enable the software process tailoring work in a new situation.

본 발명이 이루고자 하는 다른 기술적 과제는 전문가의 경험이나 지식을 신 경망을 통해 학습시키고 이를 이용하여 새로운 상황에도 소프트웨어 프로세스 테일러링 작업이 가능하도록 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.Another technical problem to be achieved by the present invention is a program for executing a software process tailoring method using a neural network on a computer to learn the experience or knowledge of experts through a neural network and to use the software process tailoring work in a new situation. To provide a computer-readable recording medium for recording.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템은, 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보가 저장되는 데이터베이스부; 외부로부터 입력되는 상기 테일러링 관련정보를 상기 데이터베이스부에 저장하는 테일러링 관련정보 관리부; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 테일러링 학습자료 관리부; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하고, 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 신경망 생성/학습부; 및 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 태스크 적합 판별부;를 구비한다.According to an aspect of the present invention, there is provided a software process tailoring system using a neural network, including: a database unit configured to store tailoring related information including information on a target process, a tailoring parameter, and a learning material generation rule; A tailoring related information manager configured to store the tailoring related information input from the outside in the database unit; A tailored learning material management unit generating the learning material by applying the learning material generation rule to the combined values generated by combining the values of the tailoring parameter; The neural network is generated by setting the number of units including the input unit, the output unit, and the hidden unit, the activation function of each unit, and the connection state of the unit, and the target value derived from the performance of the process and the neural network derived by the neural network. A neural network generation / learning unit for learning the neural network by the learning material such that an error between the predicted values is smaller than a predetermined threshold value; And a task suitability determining unit for converting the result of the process performed by the neural network into a percentage to determine the suitability of the task based on a criterion desired by the organization.

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 방법은, 대상 프로세스에 대한 정보, 테일러링 파라 미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보를 소정의 데이터베이스부에 저장하는 단계; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 단계; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하는 단계; 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 단계; 및 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 단계;를 포함한다.In order to achieve the above technical problem, the software process tailoring method using the neural network according to the present invention includes tailoring related information including information on a target process, a tailoring parameter, and a learning data generation rule to a predetermined database unit. Storing; Generating the learning material by applying the learning material generation rule to the combined values generated by combining the values of the tailoring parameter; Generating a neural network by setting the number of units including an input unit, an output unit, and a hidden unit, an activation function of each unit, and a connection state of the units; Training the neural network by the learning data such that an error between a target value derived as a result of performing the process and a predicted value derived by the neural network is smaller than a predetermined threshold value; And converting a result of the process performed by the neural network into a percentage to determine a fitness of the task based on criteria desired by the organization.

이에 의해, 프로세스 테일러링 작업의 경험과 지식을 이미 발생한 상황에만 사용할 수 있는 규칙 기반 시스템에 비해 경험과 지식을 효율적으로 재사용할 수 있고 작업의 자동화를 더욱 높일 수 있다.This allows for more efficient reuse of experience and knowledge than rule-based systems that can use the experience and knowledge of process tailoring tasks only in situations where they have already occurred.

이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법의 바람직한 실시예에 대해 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the software process tailoring system and method using a neural network according to the present invention.

도 1은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템의 상세한 구성을 도시한 블록도이다.1 is a block diagram showing a detailed configuration of a software process tailoring system using a neural network according to the present invention.

도 1을 참조하면, 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템(100)은 테일러링 관련정보 관리부(110), 테일러링 학습자료 관리부(120), 신경망 생성/학습부(130), 태스크 적합 판별부(140), 데이터베이스부(150) 를 구비한다. Referring to FIG. 1, the software process tailoring system 100 using the neural network according to the present invention includes a tailoring related information management unit 110, a tailoring learning material management unit 120, a neural network generation / learning unit 130, and a task suitability determination unit. 140, a database unit 150 is provided.

테일러링 관련정보 관리부(110)는 대상 프로세스, 테일러링 파라미터, 학습 자료 생성 규칙 등의 프로세스 테일러링과 관련된 정보를 입력받아 관리한다. 테일러링 관련정보 관리부(110)는 입력된 프로세스 테일러링 관련정보를 데이터베이스부(150)의 적절한 위치에 저장하거나 정보상호간의 관련성을 설정한다. 대상 프로세스는 필요한 작업의 ID, 작업의 명칭, 작업자로 간략하게 정의될 수 있다. 본 실시예에서는 RUP(Rational Unified Process) 프로젝트 관리 단계(Project Management Discipline)의 액티비티들을 대상으로 프로세스 테일러링 관련정보의 정의 및 관리에 대해 설명한다. 다음으로, 테일러링 파라미터가 정의된다. 테일러링 파라미터는 소프트웨어 프로세스 테일러링이 요구되는 프로젝트 상황을 평가할 수 있는 파라미터로서 다음의 표에 기재된 바와 같은 항목으로 정의될 수 있다. The tailoring related information management unit 110 receives and manages information related to process tailoring such as a target process, a tailoring parameter, a learning material generation rule, and the like. The tailoring related information management unit 110 stores the input process tailoring related information in an appropriate location of the database unit 150 or sets the relation between information information. The target process can be briefly defined as the ID of the required job, the name of the job, and the worker. This embodiment describes the definition and management of process tailoring related information for activities in a Rational Unified Process (RUP) Project Management Discipline. Next, the tailoring parameters are defined. The tailoring parameter is a parameter that can evaluate a project situation where software process tailoring is required and can be defined as an item as described in the following table.

항목Item 노미널 값 (nominal value)Nominal value 항목값Item value 조직의 외부요소External elements of the organization 프로젝트 개발형태 Project development type 계약기반의 발주 프로젝트Contract based ordering project 44 상업적인 제품개발 프로젝트Commercial product development projects 33 내부 프로젝트Internal project 22 실험적 프로젝트Experimental project 1One 프로젝트 관련자 협력관계Project Partners 높음height 1One 낮음lowness 22 조직의 내부요소Internal Elements of Organization 프로젝트 규모 Project scale 매우 큼 (125명 이상)Very large (more than 125 people) 44 큼 (26~125명)Large (26 ~ 125 people) 33 보통 (6~25명)Normal (6 ~ 25 people) 22 적음 (~5명)Low (~ 5 people) 1One 지리적 분포Geographical distribution 분산Dispersion 22 집중Concentration 1One 개발팀의 프로세스 성숙 Development process maturity 높음height 1One 중간middle 22 낮음lowness 33 개발팀의 도메인 경험 Development team domain experience 높음height 1One 중간middle 22 낮음lowness 33 대상시스템의 특징Characteristics of the target system 새로운 정도 New degree 높음height 33 중간middle 22 낮음lowness 1One 아키텍처 측면의 위험요소 Architectural risks 높음height 33 중간middle 22 낮음lowness 1One 기술측면의 복잡도 Technical complexity 높음height 33 중간middle 22 낮음lowness 1One 관리측면의 복잡도 Management Complexity 높음height 33 중간middle 22 낮음lowness 1One

표 1을 참조하면, 항목은 크게 조직의 외부 요소와 내부 요소, 개발하려는 대상 시스템의 특징으로 구분된다. 각 항목은 조직의 요구나 프로젝트 상황에 따라 조정될 수 있다. 다만, 항목의 조정시 고려해야 할 사항은 프로세스 테일러링 파라미터가 신경망 모델 구성시 입력속성(input attribute)으로 매핑되고, 할당되는 값은 입력 속성의 값으로 매핑된다는 점이다. 따라서 신경망 모델의 입력 속성값으로 사용되기 위해 프로세스 테일러링 파라미터 값은 숫자 형태로 전환되어야 한다. Referring to Table 1, items are largely divided into external and internal elements of the organization and characteristics of the target system to be developed. Each item can be adjusted according to the needs of the organization or the project situation. However, an item to consider when adjusting the item is that the process tailoring parameter is mapped to an input attribute when constructing a neural network model, and an assigned value is mapped to an input attribute value. Therefore, in order to be used as an input attribute value of the neural network model, the process tailoring parameter value must be converted into a numeric form.

또한, 프로세스 테일러링 파타미터의 노미널(nominal)값을 숫자로 전환할 때에는 프로세스의 정형성을 높이는 쪽으로 갈수록 큰 값을 할당하도록 한다. 여기서 말하는 프로세스 정형도는 프로세스가 태스크를 얼마나 가지는 지에 대한 정도로서, 많은 태스크를 가지는 프로세스일수록 정형도가 높다고 말한다.In addition, when the nominal value of the process tailoring parameter is converted into a number, a larger value is assigned toward increasing the stereotype of the process. The process formality here refers to how much a process has a task, and a process having many tasks is said to have a high degree of formality.

본 발명에서는 소프트웨어 프로세스 테일러링 자료를 신경망을 이용하여 학습시키기 때문에 기존의 소프트웨어 프로세스 테일러링 경험 자료를 가지고 있어야 한다. 하지만 소프트웨어 프로세스 테일러링에 대한 기존의 자료가 없을 경우 소프트웨어 프로세스 테일러링에 대한 일반적인 지식을 바탕으로 학습 자료 생성 규칙을 정의한다. 그리고 이를 이용하여 일반적인 지식을 학습 자료로 생성하고 신경망 생성/학습에 사용한다.In the present invention, since the software process tailoring material is trained using a neural network, the existing software process tailoring experience data must be obtained. However, if there is no existing data on software process tailoring, we define the rules for generating learning materials based on general knowledge about software process tailoring. Using this, general knowledge is generated as a learning material and used for neural network generation / learning.

학습 자료 생성 규칙은 환경 제약 조건과 태스크 추출 규칙으로 나눌 수 있다. The training material generation rule can be divided into environmental constraints and task extraction rules.

환경 제약 조건은 조직에서 정의한 테일러링 파라미터간의 발생하는 모순적인 상황을 제거하기 위한 조건이다. 일례로, 표 1에 기재되어 있는 테일러링 파라미터를 참고하면, '프로젝트 형태'가 '상업적인 제품 개발 프로젝트'인 경우 미래의 불특정 다수의 고객을 대상으로 하기 때문에 제품 개발시 '프로젝트 관련자 협력관계'가 높을 수 없다. 이와 같은 지식이나 사실을 다음과 같이 규칙화할 수 있다. Environmental constraints are conditions that eliminate contradictions that arise between tailoring parameters defined by the organization. For example, referring to the tailoring parameters listed in Table 1, when the project type is a commercial product development project, it is likely that a large number of 'project related partnerships' will be high in product development because it targets a large number of unspecified customers in the future. Can not. This knowledge or fact can be regularized as follows:

IF (프로젝트 개발 형태=3) THEN (프로젝트 관련자 협력 관계=2)IF (Project Development Type = 3) THEN (Project Related Partners = 2)

태스크 추출 규칙은 특정 상황에 특정 작업의 사용 여부에 관련된 지식을 규칙으로 정의한다. 태스크 추출 규칙에 대해서는 조직이 채택한 프로세스, 조직의 정책, 프로세스 엔지니어의 경험과 주관 등에 의해서 상이하게 정의될 수 있는 부분이다. 다만, 이 규칙은 본 방법을 사용하고자 하는 조직 내부의 합의에 의해 자명한 규칙을 기본으로 한다. Task extraction rules define the knowledge about whether a particular job is used in a particular situation. Task extraction rules can be defined differently according to the process adopted by the organization, the organization's policies, and the experience and control of the process engineer. However, this rule is based on a rule that is self-explanatory by consensus within the organization intending to use this method.

태스크 추출 규칙에 해대 RUP의 프로젝트 관리 단계에 속하는 액티비티 중에서 "비즈니스 유스케이스 작성"을 예로 들어 설명한다. "비즈니스 유스케이스"란 조직의 업무 흐름을 파악하기 위한 시나리오를 말한다. 일반적으로 "비즈니스 유스케이스 작성"이란 업무는 프로젝트의 성격이 계약 기반의 발주된 프로젝트여서 업무의 파악이 중요한 경우거나 수행하고자 하는 프로젝트 규모가 큰 경우에 한해서 실시하게 된다. 즉, 프로젝트 개발 형태가 실험적 프로젝트이거나 프로젝트의 규모가 적을 경우 적용하지 않는다는 사실을 다음과 같이 태스크 추출 규칙으로 생성할 수 있다. The task extraction rule describes "Creating a business use case" as an example of activities in the RUP's project management phase. A "business use case" is a scenario for understanding the flow of work in an organization. In general, "business use case creation" is performed only when the nature of the project is a contract-based project and it is important to understand the work or when the project is large. In other words, if the project development type is an experimental project or the project is small, the fact that it does not apply can be created as a task extraction rule as follows.

IF {(프로젝트 개발 형태=1) & (프로젝트 규모=1)} THEN (Develop Business Use Case=0)IF {(Project Development Type = 1) & (Project Scale = 1)} THEN (Develop Business Use Case = 0)

테일러링 학습자료 관리부(120)는 테일러링 관련정보 관리부(110)에 의해 정의된 학습 자료 생성 규칙에 의한 학습 자료를 생성하거나 기존의 프로세스 테일러링 경험 자료 등을 학습 자료로 생성하여 추가하는 등 신경망에 필요한 여러 자료를 학습자료화하는 작업을 수행한다. The tailoring learning material management unit 120 generates a learning material based on the learning data generation rule defined by the tailoring related information management unit 110 or generates and adds existing process tailoring experience data as learning material, and so on. Carry out the work of turning the material into learning materials.

또한, 테일러링 학습자료 관리부(120)는 학습 자료들을 신경망에서 요구하는 학습 자료의 형식인 입력값과 입력에 따른 목표 출력값의 쌍으로 표시한다. 도 2에는 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 적용되는 다층 전방향 신경망의 구조가 도시되어 있다. 도 2를 참조하면, 입력값과 목표 출력값은 각각

Figure 112004036225365-pat00001
로 표시되고, 학습 자료는 <
Figure 112004036225365-pat00002
>로 표시된다. 이 때,
Figure 112004036225365-pat00003
는 테일러링 파라미터 값들,
Figure 112004036225365-pat00004
는 해당 테일러링 파라미터 값들로 표현되는 프로젝트 상황에서 요구되는 태스크 선별 여부 값들로 주어진다.In addition, the tailored learning data management unit 120 displays the learning materials as a pair of input values and target output values according to the input, which are types of learning materials required by the neural network. Figure 2 shows the structure of a multi-layer forward neural network applied to the software process tailoring system and method using the neural network according to the present invention. Referring to Figure 2, the input value and the target output value, respectively
Figure 112004036225365-pat00001
, And the learning material is <
Figure 112004036225365-pat00002
Is indicated by>. At this time,
Figure 112004036225365-pat00003
Is the tailoring parameter values,
Figure 112004036225365-pat00004
Are given as task selection values required in the project situation represented by corresponding tailoring parameter values.

테일러링 학습자료 관리부(120)는 테일러링 파라미터의 값들을 조합하여 테일러링 파라미터에서 발생할 수 있는 모든 상황을 생성하고, 생성한 상황 가운데 환경 제약 규칙을 적용하여 발생하지 않을 상황을 제거한다. 이러한 과정을 통해 테일러링 학습자료 관리부(120)는 환경 제약 규칙을 모두 만족시키는 테일러링 파라미터 조합 값들에 태스크 추출 규칙을 적용하여 규칙에 의해 필요 없는 작업들을 0으로 설정하여 학습자료를 생성한다. 이렇게 변환된 학습 자료를 통해서 환경 제약 조건과 태스크 추출 규칙을 신경망에 학습시킬 수 있다.The tailoring learning material manager 120 generates all situations that may occur in the tailoring parameters by combining the values of the tailoring parameters, and removes the situations that do not occur by applying environmental constraint rules among the generated conditions. Through this process, the tailoring learning material management unit 120 applies the task extraction rule to the tailoring parameter combination values satisfying all of the environment constraint rules, and sets the unnecessary work by the rule to 0 to generate the learning material. This transformed learning material can be used to train neural networks with environmental constraints and task extraction rules.

한편, 데이터베이스부(150)에 저장되어 있는 학습자료는 소프트웨어 프로세스 테일러링에 대한 일반적인 지식이기 때문에, 조직의 특수한 환경이나 성격 등 실제 소프트웨어 프로세스 테일러링에서 발생하는 상황을 충분히 반영할 수 없게 된다. 이러한 문제를 해결하기 위해 기존의 조직에서 발생한 실제 테일러링 경험 자료를 추가하여 신경망을 학습시킴으로써 실제 상황이 반영될 수 있도록 한다. 또한, 신경망에 의해 수행된 프로세스 테일러링 예측값은 오차를 가지고 있을 수 있 다. 따라서, 본 발명에 따른 프로세스 테일러링을 실제 프로젝트 상황에 적용하여 프로세스 테일러링 결과를 산출한 후 추가적으로 필요한 태스크나 해당 상황에 필요하지 않는 태스크들을 프로세스 테일러링 결과에 반영한다. 수행결과가 반영된 프로세스 테일러링 결과는 추가적인 피드백 학습자료로서 생성되며, 이를 기존의 학습 자료에 추가하여 다시 신경망에 학습시킴으로써 발생된 오차를 수정할 수 있도록 한다.On the other hand, since the learning material stored in the database unit 150 is a general knowledge of software process tailoring, it may not sufficiently reflect the situation that occurs in the actual software process tailoring such as a special environment or personality of an organization. To solve this problem, the actual tailoring experience data generated in the existing organization is added so that the neural network can be learned to reflect the actual situation. In addition, the process tailoring prediction performed by the neural network may have an error. Accordingly, after applying the process tailoring according to the present invention to the actual project situation, the process tailoring result is calculated, and additionally required tasks or tasks not required for the situation are reflected in the process tailoring result. The process tailoring result reflecting the execution result is generated as an additional feedback learning material, and it can be added to the existing learning material to correct the error generated by learning the neural network again.

신경망 생성/학습부(130)는 테일러링 학습자료 관리부(120)에 의해 생성된 학습자료에 맞는 신경망의 생성 및 신경망의 학습을 수행한다. 이 과정을 통해서 신경망은 프로세스 테일러링에 관련한 기본적인 규칙, 과거에 실제 조직에서 발생했던 프로세스 테일러링 경험, 기존의 프로세스 테일러링을 예측한 값들의 피드백 자료 등을 학습하게 된다. The neural network generation / learning unit 130 performs neural network generation and learning of neural networks in accordance with the learning data generated by the tailoring learning material management unit 120. Through this process, the neural network learns the basic rules related to process tailoring, the process tailoring experience that occurred in the actual organization in the past, and feedback data of the values predicting the existing process tailoring.

신경망 생성/학습부(130)는 학습자료의 원하는 결과값과 신경망 예측값 사이의 오차를 줄이는 방식으로 신경망을 학습시키고 각 층의 유닛들 간의 연결 강도를 이용하여 예측값을 계산한다. 신경망의 전형적인 예는 도 2에 도시된 역전파 알고리즘을 이용하는 다층 전방향 신경망(Multi-Layered Feed Forward Neural Network)이다. 다층 전방향 신경망(Multi-Layered Feed Forward Neural Network)은 입력층과 출력층 사이에 하나 이상의 중간층이 존재하는 신경망이다. 이 때, 입력층과 출력층을 은닉층이라고 부르며 신경망은 입력층, 은닉층, 및 출력층 방향으로 연결된다. 각 층 내의 연결과 출력층에서 입력층으로의 직접적인 연결은 존재하지 않는다. 신경망 생성/학습부(130)는 이와 같은 신경망 구조를 역전파(Back Propagation) 알고리즘을 이용하여 학습시킨다. 역전파 알고리즘은 입력값 벡터

Figure 112004036225365-pat00005
을 각 층으로 전달하여 출력값 벡터
Figure 112004036225365-pat00006
를 계산하는 전파 단계와 출력층에서 발생되는 에러를 줄이기 위해 신경망 내의 연결 가중치를 수정하는 역전파 단계로 나뉜다.The neural network generation / learning unit 130 trains the neural network in a manner to reduce the error between the desired result value of the learning data and the neural network prediction value and calculates the predicted value by using the connection strength between units of each layer. A typical example of a neural network is a multi-layered feed forward neural network using the backpropagation algorithm shown in FIG. Multi-Layered Feed Forward Neural Networks are neural networks in which one or more intermediate layers exist between the input and output layers. At this time, the input layer and the output layer are called hidden layers, and the neural network is connected in the input layer, hidden layer, and output layer directions. There is no connection in each layer and a direct connection from the output layer to the input layer. The neural network generation / learning unit 130 learns the neural network structure using a back propagation algorithm. Backpropagation algorithm is an input vector
Figure 112004036225365-pat00005
Is passed to each layer to output vector
Figure 112004036225365-pat00006
It is divided into a propagation step of calculating a and a back propagation step of modifying a connection weight in a neural network to reduce an error occurring in an output layer.

전파 단계에서 각 유닛들은 자신들에게 연결된 입력값을 연결의 가중치와 곱한 후에 합산한다. 각 유닛들의 입력값을 합산하는 수식은 다음과 같다.In the propagation phase, each unit multiplies the input values connected to them by the weight of the connection and then sums them. The formula for summing input values of each unit is as follows.

Figure 112004036225365-pat00007
Figure 112004036225365-pat00007

위의 식에서 n은 입력값의 개수를 의미하고, xn은 학습 자료의 입력 벡터를 의미한다. wn은 입력 벡터와 입력층 유닛을 연결하는 가중치를 의미한다.In the above equation, n is the number of input values, and x n is the input vector of the training material. w n means a weight connecting the input vector and the input layer unit.

위와 같이 각 유닛의 입력값이 합산되면 신경망 생성/학습부(130)는 시그모이드(sigmoid)활성화 함수를 이용하여 출력값을 생성한다. 활성화 함수를 적용하여 결과를 생성하는 수식은 다음과 같다.When the input values of each unit are added as described above, the neural network generation / learning unit 130 generates an output value using a sigmoid activation function. The formula that generates the result by applying the activation function is as follows.

Figure 112004036225365-pat00008
Figure 112004036225365-pat00008

은닉층과 출력층도 위와 같은 방법으로 입력값을 해당 가중치와 곱하여 이를 시그모이드 활성화 함수를 통해 출력값을 생성하여 전파한다. In the same manner as above, the hidden and output layers multiply the input value with the corresponding weight and generate and propagate the output value through the sigmoid activation function.

이렇게 전파된 입력값 벡터

Figure 112004036225365-pat00009
에 따라 각 출력 유닛에서 출력값 벡터
Figure 112004036225365-pat00010
를 계산하게 된다. 이 때, 해당 입력값 벡터
Figure 112004036225365-pat00011
에 신경망이 출력해야 하는 출력값벡터
Figure 112004036225365-pat00012
와의 차이가 발생하게 된다. 각 출력 유닛의 오차는 다음의 수학식에 의해 계산된다.This propagated input vector
Figure 112004036225365-pat00009
Output vector at each output unit
Figure 112004036225365-pat00010
Will be calculated. At this time, the corresponding input vector
Figure 112004036225365-pat00011
Output vector that neural network should output
Figure 112004036225365-pat00012
And a difference occurs. The error of each output unit is calculated by the following equation.

Figure 112004036225365-pat00013
Figure 112004036225365-pat00013

수학식 3에 의해 산출되는 출력 유닛의 오차를 줄이기 위해 역전파 단계를 통해 신경망의 각 연결 가중치가 수정된다. 우선, 연결 가중치를 갱신하기 위해서 각 유닛에서의 에러텀(error term)의 계산이 필요하다.In order to reduce the error of the output unit calculated by Equation 3, each connection weight of the neural network is modified through a back propagation step. First, in order to update the connection weights, calculation of an error term in each unit is necessary.

출력층에서의 에러텀

Figure 112004036225365-pat00014
은 다음의 수학식에 의해 계산된다.Error term at the output layer
Figure 112004036225365-pat00014
Is calculated by the following equation.

Figure 112004036225365-pat00015
Figure 112004036225365-pat00015

또한, 은닉층에서의 에러텀

Figure 112004036225365-pat00016
은 다음의 수학식에 의해 계산된다. Also, the error term in the hidden layer
Figure 112004036225365-pat00016
Is calculated by the following equation.

Figure 112004036225365-pat00017
Figure 112004036225365-pat00017

입력층의 에러텀도 은닉층의 에러텀과 동일한 방식으로 계산된다. 이 때, 입력층에서 은닉층으로의 가중치는 다음의 수학식에 의해 계산된다.The error term of the input layer is also calculated in the same way as the error term of the hidden layer. At this time, the weight from the input layer to the hidden layer is calculated by the following equation.

Figure 112004036225365-pat00018
Figure 112004036225365-pat00018

여기서,

Figure 112004036225365-pat00019
를 만족한다.here,
Figure 112004036225365-pat00019
Satisfies.

은닉층에서 출력층의 가중치도 위와 같은 방법으로 반복되어 갱신된다. The weight of the output layer in the hidden layer is also updated in the same manner as above.

이와 같은 신경망은 다음과 같은 세부 설정으로 구성될 수 있다. 신경망 구성과 설정은 필요에 의해 변경될 수 있다.Such a neural network may be configured with the following detailed settings. Neural network configuration and settings can be changed as needed.

항목Item value 설명Explanation 신경망 설정Neural Network Settings 입력 유닛Input unit n 개n pcs 테일러링 파라미터 계수Tailoring Parameter Coefficient 출력 유닛Output unit m 개m pcs 조직에서 선택한 프로세스가 가지고 있는 작업의 수The number of tasks the selected process has in your organization 은닉 유닛Concealment unit (n+m)/2 개(n + m) / 2 입력값을 전달하는 역할의 중간 유닛의 수The number of intermediate units in the role that pass input 활성 함수Active function SigmoidSigmoid 각 유닛의 활성화 함수Activation function for each unit 연결 상태Connection status Feed-ForwardFeed-forward 신경망의 유닛 연결 상태Unit connection state of neural network BackPropagation 알고리즘 사용 학습 설정Set up learning to use the BackPropagation algorithm 학습율Learning rate 0.30.3 가중치가 갱신되는 양The amount by which weights are updated 학습횟수Number of learning 1010 학습하는 주기의 횟수Number of cycles to learn

다음으로, 신경망 생성/학습부(130)는 규칙을 기반으로 생성한 기본 학습자료와 조직이 가지고 있는 경험들을 학습자료화하여 생성한 신경망에 학습시킨다. 학습이 끝나면 학습자료에서 원하는 목표값에 가깝도록 출력할 수 있게 신경망 내부의 연결 가중치가 조정된다. 이 과정에서 사전에 정의된 테일러링 파라미터의 값들을 이용하여 프로젝트 상황이 입력된다. Next, the neural network generation / learning unit 130 learns the neural network generated by making the learning materials and the basic learning materials generated based on the rules and the experiences of the organization. At the end of the training, the connection weights in the neural network are adjusted so that the learning data can be output close to the desired target. In this process, the project status is entered using the values of the predefined tailoring parameters.

태스크 적합도 판별부(140)는 프로세스 테일러링의 필요시 학습된 신경망을 통해서 해당 상황에 맞는 프로세스 테일러링 작업을 수행한다. 이 과정에서 사전에 정의된 테일러링 파라미터의 값들을 이용하여 프로젝트 상황이 입력된다. 테일러링 파라미터를 이용하여 프로젝트 상황이 입력되면 각 입력이 출력층으로 전파되고, 태스크 적합도 판별부(140)는 이에 의해 발생되는 결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크 적합도를 생성/판별한다. The task suitability determination unit 140 performs a process tailoring operation for a corresponding situation through neural networks learned when necessary for process tailoring. In this process, the project status is entered using the values of the predefined tailoring parameters. When the project status is input using the tailoring parameter, each input is propagated to the output layer, and the task suitability determination unit 140 converts the result generated by the percentage into a percentage to generate / determine the task suitability based on the criteria desired by the organization.

도 3은 본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 방법의 수행과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of performing a software process tailoring method using a neural network according to the present invention.

도 3을 참조하면, 테일러링 관련정보 관리부(110)는 운영자로부터 대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 데이터베이스(150)에 저장한다(S300). 대상 프로세스에 대한 정보는 작업 ID, 작업 명칭, 및 작업자를 포함하며, 테일러링 파라미터는 조직의 외부요소, 내부요소, 그리고 개발하려는 시스템의 특징을 포함한다. 한편, 학습 자료 생성 규칙은 조직에서 정의한 테일러링 파라미터간에 발생하는 모순적인 상황을 제거하기 위한 조건인 환경 제약 규칙과 특정상황에 특정작업의 사용여부에 관련된 지식으로 정의된 태스크 추출 규칙으로 구성된다. Referring to FIG. 3, the tailoring related information management unit 110 stores information about a target process, a tailoring parameter, and a learning material generation rule from an operator in the database 150 (S300). Information about the target process includes a job ID, a job name, and an operator, and the tailoring parameters include external elements of the organization, internal elements, and features of the system to be developed. On the other hand, the learning data generation rule consists of an environment constraint rule, which is a condition for eliminating contradictory situations occurring between the tailoring parameters defined by the organization, and a task extraction rule defined by knowledge related to the use of a specific task in a specific situation.

다음으로, 테일러링 학습자료 생성부(120)는 테일러링 파라미터값들을 조합하여 테일러링 파라미터에서 발생할 수 있는 모든 상황을 생성한다(S310). 이 때 테일러링 학습자료 생성부(120)는 생성한 상황 중에서 환경 제약 규칙을 적용하여 발생하지 않을 상황을 제거하고, 이 범위안에서 태스크 생성 규칙을 적용하여 필요없는 작업들을 0으로 설정하여 학습자료를 생성한다. 아울러, 테일러링 학습자료 생성부(120)는 기존의 조직에서 발생한 실제 테일러링 경험자료의 존재여부를 확인하고(S320), 새로운 테일러링 경험자료가 존재하면 이를 데이터베이스의 학습 자료에 추가한다(S360). Next, the tailoring learning material generation unit 120 generates all situations that may occur in the tailoring parameter by combining the tailoring parameter values (S310). At this time, the tailoring learning material generation unit 120 removes a situation that will not occur by applying environmental constraint rules among the generated situation, and generates the learning material by setting unnecessary tasks to 0 by applying a task generation rule within this range. do. In addition, the tailoring learning material generation unit 120 checks the existence of the actual tailoring experience material generated in the existing organization (S320), and if there is a new tailoring experience material is added to the learning material of the database (S360).

신경망 생성/학습부(130)는 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 그리고, 신경망의 유닛 연결 상태를 설정하 여 신경망을 생성하고, 학습자료의 원하는 결과값과 신경망 예측값 사이의 오차를 줄이는 방식(즉, 일정한 프로세스를 반복적으로 수행하여 오차가 소정의 임계값보다 작아지거나 오차가 0가 되도록 하는 방식)에 의해 생성한 신경망을 학습시킨다(S330). 신경망에 대한 학습이 완료되면, 결과값이 학습자료에서 원하는 목표값에 가까워지도록 신경망 내부의 가중치가 조절되며, 이 때, 신경망 생성/학습부(130)는 프로젝트 상황을 나타내는 테일러링 파라미터값의 입력여부를 확인한다(S340). 만약, 테일러링 파라미터값이 입력되면, 입력되는 각각의 테일러링 파라미터값은 출력층으로 전파된다(S370). The neural network generation / learning unit 130 generates a neural network by setting the number of units including an input unit, an output unit, and a hidden unit, an activation function of each unit, and a unit connection state of the neural network, A neural network generated by a method of reducing an error between a desired result value and a neural network prediction value (that is, by repeatedly performing a predetermined process so that the error becomes smaller than a predetermined threshold or the error becomes 0) is trained (S330). . When the learning of the neural network is completed, the weight in the neural network is adjusted so that the result value is closer to the desired target value in the learning material. At this time, the neural network generation / learning unit 130 inputs a tailoring parameter value representing the project situation. Check (S340). If the tailoring parameter value is input, each tailoring parameter value is propagated to the output layer (S370).

태스크 적합도 판별부(140)는 우선 프로젝트 상황을 나타내는 테일러링 파라미터값의 입력여부를 확인한다(S340). 만약, 테일러링 파라미터값이 입력되면, 입력되는 각각의 테일러링 파라미터값은 출력층으로 전파된다(S370). 다음으로, 태스크 적합도 판별부(140)는 출력층으로의 전파에 의해 발생하는 결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별한다(S380). 다음으로 태스크 적합도 판별부(140)는 신경망에 의해 수행된 프로세스 테일러링 여측값의 오차여부를 확인한다(S390). 만약, 오차가 존재하면 테일러링 학습자료 관리부(120)는 피드백 학습자료를 생성한다(S400). 피드백 학습자료가 생성되면 S330단계가 다시 수행된다. 만약 프로세스 테일러링을 수행하고자 하는 프로젝트 환경을 나타나는 데 기존의 테일러링 파라미터가 없어서 추가되거나 변경되어야 한다면, 프로세스 테일러링 판단 기준이 변한 것이므로 이를 새로운 프로세스 테일러링 작업으로 보고 현재의 프로세스 테일러링 작업을 중단하고 새로운 프로세스 테일러링 작업으로 재시작한다.The task suitability determination unit 140 first checks whether a tailoring parameter value indicating a project status is input (S340). If the tailoring parameter value is input, each tailoring parameter value is propagated to the output layer (S370). Next, the task suitability determination unit 140 converts the result generated by the propagation to the output layer into a percentage to determine the suitability of the task based on criteria desired by the organization (S380). Next, the task suitability determination unit 140 checks whether an error of the process tailoring measurement value performed by the neural network is detected (S390). If there is an error, the tailoring learning material management unit 120 generates feedback learning material (S400). When the feedback learning material is generated, step S330 is performed again. If the project environment that you want to perform process tailoring has to be added or changed because there are no existing tailoring parameters, the process tailoring criteria have changed and you can see it as a new process tailoring task and stop the current process tailoring task and create a new process tailoring task. Restart with.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

본 발명에 따른 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템 및 방법에 의하면, 프로세스 테일러링 작업에 관련한 지식과 경험을 신경망에 학습시킴으로써 새로운 상황에 대해서 프로세스 테일러링에 대해 예측할 수 있으며, 이에 의해 프로세스 테일러링 작업의 경험과 지식을 이미 발생한 상황에만 사용할 수 있는 규칙 기반 시스템에 비해 경험과 지식을 효율적으로 재사용할 수 있고 작업의 자동화를 더욱 높일 수 있다. 또한, 프로세스 테일러링 작업을 기존 시스템에 비해 자동화시킴으로써 작업의 비용과 수행 시간을 절감할 수 있다.According to the software process tailoring system and method using the neural network according to the present invention, by learning the neural network knowledge and experience related to the process tailoring task, it is possible to predict the process tailoring for a new situation, thereby experience and knowledge of the process tailoring task Compared to rule-based systems, which can only be used in situations that already exist, they can efficiently reuse experience and knowledge and further automate tasks. In addition, automating process tailoring tasks compared to existing systems can reduce the cost and execution time of tasks.

Claims (13)

대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보가 저장되는 데이터베이스부;A database unit for storing tailoring related information including information on a target process, tailoring parameters, and learning material generation rules; 외부로부터 입력되는 상기 테일러링 관련정보를 상기 데이터베이스부에 저장하는 테일러링 관련정보 관리부;A tailoring related information manager configured to store the tailoring related information input from the outside in the database unit; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 테일러링 학습자료 관리부;A tailored learning material management unit generating the learning material by applying the learning material generation rule to the combined values generated by combining the values of the tailoring parameter; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하고, 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 신경망 생성/학습부; 및The neural network is generated by setting the number of units including the input unit, the output unit, and the hidden unit, the activation function of each unit, and the connection state of the unit, and the target value derived from the performance of the process and the neural network derived by the neural network. A neural network generation / learning unit for learning the neural network by the learning material such that an error between the predicted values is smaller than a predetermined threshold value; And 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 태스크 적합 판별부;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.And a task suitability determining unit for converting the result of the process performed by the neural network into a percentage to determine the suitability of the task based on a criterion desired by the organization. 제 1항에 있어서,The method of claim 1, 상기 태스크 추출 규칙은 조직에서 정의한 테일러링 파라미터간에 발생하는 모순적인 상황을 제거하기 위한 조건인 환경 제약 규칙과 특정상황에 특정작업의 사용여부에 관련된 지식으로 정의된 태스크 추출 규칙으로 구성되는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.The task extraction rule comprises an environment constraint rule which is a condition for removing contradictions occurring between tailoring parameters defined by an organization and a task extraction rule defined by knowledge related to the use of a specific task in a specific situation. Software process tailoring system using neural network. 제 1항에 있어서,The method of claim 1, 상기 신경망은 역전파 알고리즘을 이용하며, 입력층과 출력층 사이에 적어도 하나의 중간층이 존재하는 다층 전방향 신경망인 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.The neural network is a multi-layer forward neural network using a back propagation algorithm and having at least one intermediate layer between an input layer and an output layer. 제 3항에 있어서,The method of claim 3, wherein 상기 테일러링 학습자료 관리부는 상기 테일러링 파라미터의 값과 해당 테일러링 파라미터 값들로 표현되는 프로젝트 상황에서 요구되는 태스크 선별여부 값을 각각 입력값과 목표출력값으로 설정하고, 상기 입력값과 목표출력값으로 구성되는 순서쌍을 상기 신경망의 입력층에 제공하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.The tailoring learning material management unit sets a task selection value required in a project situation represented by the tailoring parameter value and the corresponding tailoring parameter values as input values and target output values, respectively, and sets an ordered pair composed of the input value and the target output value. Software process tailoring system using a neural network, characterized in that provided to the input layer of the neural network. 제 3항 또는 제 4항에 있어서,The method according to claim 3 or 4, 상기 신경망을 구성하는 각각의 유닛들은 자신에게 연결된 입력값을 연결의 가중치와 곱한 후에 합산하고, 합산결과를 각각의 유닛에 대해 설정되어 있는 활성 화함수의 입력으로 하여 출력값을 생성하여 다른 유닛으로 전파하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.Each unit constituting the neural network multiplies the input value connected to the multiplier by the weight of the connection, and adds the sum result as an input of an activation function set for each unit to generate an output value and propagate it to another unit. Software process tailoring system using a neural network, characterized in that. 제 5항에 있어서,The method of claim 5, 상기 신경망 생성/학습부는 상기 신경망으로 입력되는 입력값에 대해 상기 신경망이 출력해야 하는 목표출력값과 상기 신경망이 출력하는 출력값의 차이를
Figure 112004036225365-pat00020
에 의해 계산하여 각각의 출력 유닛의 오차를 산출하고, 상기 신경망을 구성하는 각각의 유닛의 연결 가중치를 수정하여 상기 산출된 오차를 감소시키는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 시스템.
The neural network generation / learning unit may determine a difference between a target output value that the neural network outputs and an output value that the neural network outputs with respect to an input value input to the neural network.
Figure 112004036225365-pat00020
Calculating the error of each output unit, and modifying the connection weight of each unit constituting the neural network to reduce the calculated error.
대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보를 소정의 데이터베이스부에 저장하는 단계;Storing tailoring related information including information on a target process, tailoring parameters, and learning material generation rules, in a predetermined database unit; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 단계;Generating the learning material by applying the learning material generation rule to the combined values generated by combining the values of the tailoring parameter; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하는 단계;Generating a neural network by setting the number of units including an input unit, an output unit, and a hidden unit, an activation function of each unit, and a connection state of the units; 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신 경망을 학습시키는 단계; 및Training the neural network by the learning data such that an error between a target value derived as a result of the process and a predicted value derived by the neural network is smaller than a predetermined threshold value; And 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.And converting the result of the process performed by the neural network into a percentage to determine a fitness of the task based on a criterion desired by the organization. 제 7항에 있어서,The method of claim 7, wherein 상기 태스크 추출 규칙은 조직에서 정의한 테일러링 파라미터간에 발생하는 모순적인 상황을 제거하기 위한 조건인 환경 제약 규칙과 특정상황에 특정작업의 사용여부에 관련된 지식으로 정의된 태스크 추출 규칙으로 구성되는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.The task extraction rule comprises an environment constraint rule which is a condition for removing contradictions occurring between tailoring parameters defined by an organization and a task extraction rule defined by knowledge related to the use of a specific task in a specific situation. Software process tailoring method using neural network. 제 7항에 있어서,The method of claim 7, wherein 상기 신경망은 역전파 알고리즘을 이용하며, 입력층과 출력층 사이에 적어도 하나의 중간층이 존재하는 다층 전방향 신경망인 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.The neural network is a multi-layer forward neural network using a back propagation algorithm, wherein at least one intermediate layer exists between an input layer and an output layer. 제 9항에 있어서,The method of claim 9, 상기 테일러링 학습자료 생성단계는,The tailoring learning material generation step, 상기 테일러링 파라미터의 값과 해당 테일러링 파라미터 값들로 표현되는 프로젝트 상황에서 요구되는 태스크 선별여부 값을 각각 입력값과 목표출력값으로 설 정하는 단계; 및Setting a task selection value required in a project situation represented by the tailoring parameter value and corresponding tailoring parameter values as an input value and a target output value, respectively; And 상기 입력값과 목표출력값으로 순서쌍을 구성하여 상기 신경망의 입력층에 제공하는 학습자료를 생성하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.And generating a learning material provided to the input layer of the neural network by forming an ordered pair using the input value and the target output value. 제 9항 또는 제 10항에 있어서,The method according to claim 9 or 10, 상기 신경망 학습단계는,The neural network learning step, 상기 신경망을 구성하는 각각의 유닛들에 연결된 입력값을 연결의 가중치와 곱한 후에 합산하는 단계; 및Multiplying an input value connected to each unit constituting the neural network by a weight of a connection and then summing; And 상기 합산결과를 각각의 유닛에 대해 설정되어 있는 활성화함수의 입력으로 하여 출력값을 생성하여 다른 유닛으로 전파하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.And generating the output value as the input of the activation function set for each unit, and propagating the output to another unit. 제 11항에 있어서,The method of claim 11, 상기 신경망 학습단계는,The neural network learning step, 상기 신경망으로 입력되는 입력값에 대해 상기 신경망이 출력해야 하는 목표출력값과 상기 신경망이 출력하는 출력값의 차이를
Figure 112004036225365-pat00021
에 의해 계산하여 각각의 출력 유닛의 오차를 산출하는 단계; 및
The difference between a target output value that the neural network outputs and an output value that the neural network outputs with respect to an input value input to the neural network
Figure 112004036225365-pat00021
Calculating an error of each output unit; And
상기 신경망을 구성하는 각각의 유닛의 연결 가중치를 수정하여 상기 산출된 오차를 감소시키는 단계;를 더 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법.And reducing the calculated error by modifying the connection weight of each unit constituting the neural network.
대상 프로세스에 대한 정보, 테일러링 파라미터, 및 학습 자료 생성 규칙을 포함하는 테일러링 관련정보를 소정의 데이터베이스부에 저장하는 단계;Storing tailoring related information including information on a target process, tailoring parameters, and learning material generation rules, in a predetermined database unit; 상기 테일러링 파라미터의 값을 조합하여 생성한 조합값들에 상기 학습 자료 생성 규칙을 적용하여 학습자료로 생성하는 단계;Generating the learning material by applying the learning material generation rule to the combined values generated by combining the values of the tailoring parameter; 입력유닛, 출력 유닛, 및 은닉 유닛을 포함하는 유닛의 개수, 각 유닛의 활성화 함수, 및 유닛의 연결 상태를 설정하여 신경망을 생성하는 단계;Generating a neural network by setting the number of units including an input unit, an output unit, and a hidden unit, an activation function of each unit, and a connection state of the units; 프로세스의 수행결과로 도출되는 목표값과 상기 신경망에 의해 도출되는 예측값 사이의 오차가 소정의 임계값보다 작아지도록 상기 학습자료에 의해 상기 신경망을 학습시키는 단계; 및Training the neural network by the learning data such that an error between a target value derived as a result of performing the process and a predicted value derived by the neural network is smaller than a predetermined threshold value; And 상기 신경망에 의한 프로세스 수행결과를 백분율로 변환하여 조직이 원하는 기준에 의해 태스크의 적합도를 판별하는 단계;를 포함하는 것을 특징으로 하는 신경망을 이용한 소프트웨어 프로세스 테일러링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.And converting the result of the process performed by the neural network into a percentage to determine the suitability of the task based on a criterion desired by the organization. The computer recording a program for executing the software process tailoring method using the neural network on a computer Recordable media that can be read by
KR1020040063833A 2004-08-13 2004-08-13 System for tailoring a software development process using neural network and method of the same KR100586503B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040063833A KR100586503B1 (en) 2004-08-13 2004-08-13 System for tailoring a software development process using neural network and method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040063833A KR100586503B1 (en) 2004-08-13 2004-08-13 System for tailoring a software development process using neural network and method of the same

Publications (2)

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

Family

ID=37123899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063833A KR100586503B1 (en) 2004-08-13 2004-08-13 System for tailoring a software development process using neural network and method of the same

Country Status (1)

Country Link
KR (1) KR100586503B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102111002B1 (en) 2019-10-21 2020-05-14 옴니스랩스 주식회사 Method to process contents

Citations (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
KR19990047854A (en) * 1997-12-05 1999-07-05 정선종 Intelligent User Interface Method for Information Retrieval by Metadata
US6115701A (en) 1994-10-13 2000-09-05 Thaler; Stephen L. Neural network-based target seeking system

Patent Citations (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
US6115701A (en) 1994-10-13 2000-09-05 Thaler; Stephen L. Neural network-based target seeking system
KR19990047854A (en) * 1997-12-05 1999-07-05 정선종 Intelligent User Interface Method for Information Retrieval by Metadata

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문

Also Published As

Publication number Publication date
KR20060015028A (en) 2006-02-16

Similar Documents

Publication Publication Date Title
Islam et al. A knowledge-based expert system to assess power plant project cost overrun risks
Etemadinia et al. Using a hybrid system dynamics and interpretive structural modeling for risk analysis of design phase of the construction projects
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
Goswami et al. A predictive risk evaluation framework for modular product concept selection in new product design environment
JP4486657B2 (en) Staffing optimization program, staffing optimization method, and staffing optimization device
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
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
van Dam et al. Critical evaluation of paradigms for modelling integrated supply chains
US20110112889A1 (en) Proactive demand shaping for a configurable product portfolio with uncertain demand
Saad et al. A DES approach for the contextual load modelling of supply chain system for instability analysis
KR100586503B1 (en) System for tailoring a software development process using neural network and method of the same
Griffiths et al. Predicting risk in missions under sea ice with autonomous underwater vehicles
Zhang et al. Toward trustworthy software process models: an exploratory study on transformable process modeling
KR20210032725A (en) System and method for devising optimal action plan in panel building shop of shipyard and computer readable storage medium storing for the same
Fernández et al. A model driven development approach based on a reference model for predicting disruptive events in a supply process
Bezdelov et al. Effective management and optimization of business processes
Naim et al. Supply chain dynamics
Alrashoud et al. Perception-based software release planning
Eriksson et al. Quality assurance of digital twins
Fauzan et al. Simulation of agent-based and discrete event for analyzing multi organizational performance
Khan et al. A novel approach for No Fault Found decision-making

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