전자정부표준프레임워크 기반 공공정보화사업의정보시스템 개발 스케줄링 최적화 모델 연구
연구논문
2018. 04. 06
서울과학기술대학교 IT정책전문대학원 산업정보시스템전공
정훈
0
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 1 -
1 서론
2 스케줄링 모델
3 연구설계
4 결론 및 향후 과제
목 차
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 2 -
1. 서론
연구 개요연구 개요
1. 연구 주제 : 전자정부표준프레임워크 기반 공공정보화사업의 정보시스템 개
발 스케줄링 최적화 모델 연구
2. 연구 필요성
• 개발공정에 적절한 개발 인력을 할당하는 방법에 따라 사업 효율성이 달라짐.
• 제한된 개발인력으로 사업을 완수하기 위한 최적의 스케줄링 결과 필요.
3. 연구 목적
• 정보화사업을 완수하기 위해 필요한 최적의 인력 스케줄링 방법을 유전자 알
고리즘을 이용하여 찾고자 함.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 3 -
2. 스케줄링 모델
문제 정의문제 정의
1) 프로젝트 공정
2) 개발인력
3) 할당(스케줄링)
할당
소요 비용소요 기간할당 균형인력의 만족도
1)
2)
3)
스킬숙련도연봉선호 영역
선행공정소요 기간필요 스킬
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 4 -
2. 스케줄링 모델
상황 시나리오(공정과 인력)상황 시나리오(공정과 인력)
1) 개발 공정
• 서버 및 어댑터 개발
• 업무 응용 개발
• 인프라 구축
• 데이터 전환
• 분석->설계->구현->테스트->운영전환
2) 개발 인력
• 보유기술(스킬): 디자인, WEB, Java, DB
• 기술 역량 : 초급,중급,고급
• 여러 개발자간 협업
• 선호 영역
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 5 -
3. 연구설계
유전자 해 표현(Encoding Scheme)유전자 해 표현(Encoding Scheme)
1) 의사결정 변수- 여러 개발 대상(프로그램)에 대해서 개발자에게 분배한다. - 개발 대상(프로그램) i가 작업자 j에게 배정되면 1, 배정되지 않으면 0.
개발자공정 WRKR1 WRKR2 WRKR3 … WRKRj
서버 분석 0 0 1 … 0어댑터 설계 1 0 0 … 1응용 구현 0 1 0 … 1
서버 테스트 1 0 1 … 0데이터 전환 0 1 0 … 1
… … … … … …공정 i 0 0 0 … 1 Z축 : 시간
(기간, 주/월 단위)
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 6 -
3. 연구설계
Fitness FunctionFitness Function
1) 목적함수1- 전체 공정의 처리 시간이 최소화 되어야 함.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 7 -
3. 연구설계
Fitness FunctionFitness Function
1) 목적함수2- 개발자들 간에는 개발 분량이 균등 분배되어야 함.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 8 -
3. 연구설계
Fitness FunctionFitness Function
1) 목적함수3- 여러 개발자들 협력하여 하나의 공정에서 개발하는 경우,
각 개발자들의 소요시간을 구하고, 개발자 중 가장 많은 소요시간이 해당 프로그램을 개발하는데 필요한 소요시간이 됨
공정i
개발자j 소요시간
(할당)
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 9 -
3. 연구설계
Fitness FunctionFitness Function
2) 제약식1
- 모든 프로그램은 반드시 한 사람 이상의 작업자에게 배정되어야 한다. 배
정이 안 되는 경우 패널티 값을 적용하여 부적절한 해로 처리한다.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 10 -
3. 연구설계
Fitness FunctionFitness Function
2) 제약식2
프로그램을 여러 개발자들에게 할당되는 경우, 의사소통 시간이 추가되어
개발소요시간이 늘어난다. 추가되는 시간은 작업자들 간의 의사소통 채널 수
에 비례하여 소요된다.
의사소통 채널 수 = = n(n-1)/2
의사소통 반영 소요시간 = (예상 소요시간)ⅹ (의사소통 채널 수)ⅹ(1/4)
*1/4 가중치는 2명 일 때는 나은 생산성을, 3명 이상부터는 생산성이 떨어지도록 적용하기 위함.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 11 -
3. 연구설계
Fitness FunctionFitness Function
2) 제약식3
작업자의 역량(기술등급)에 따라
초급의 경우 1.4 배,
중급의 경우 1 배,
고급의 경우 0.7 배 시간이 소요된다.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 12 -
3. 연구설계
Fitness FunctionFitness Function
2) 제약식4
• 프로그램 처리순서를 고려하여, 균등하게 분배하고, 가능한 병렬처리를
찾아 빨리 끝낼 수 있는 개발자 할당 및 스케줄링을 목표로 한다.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 13 -
3. 연구설계
Fitness FunctionFitness Function
3) 수리모형 요약 정리구분 수식 설명 비고
의사결정변수 • 프로그램i를 작업자 j에게 할당한다.
목적함수
• 각 작업자별 개발소요시간 중 최대값이전체 소요시간 임, 이를 최소화 해야 함.
• 각 개발자들간 개발분량 할당이균등해야 함
제약함수
• 작업 시간은 여러 사람이 함께하는 경우경감하여, 작업자의 역량(기술등급)에따른 소요시간을 반영한다.
초급: 1.4중급: 1고급: 0.7
• CSR을 여러 작업자들이 진행하는 경우, 의사소통 소요시간이 더 추가된다. 추가되는 시간은 작업자들 간의의사소통 채널수에 비례하여 소요된다.
1/4
• 모든 CSR은 최소한 1명 이상의작업자에게 배정한다.
패널티 1,000 시간
개발자 중복 체크 • 작업자가 중복되지 않는 다면 CSR은동시에 진행할 수 있다.
평가함수 • CSR 총 처리시간 + 개발자별 처리시간표준편차
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 14 -
3. 연구설계
협력 개발의 생산성(의사소통에 따른 부작용)협력 개발의 생산성(의사소통에 따른 부작용)
브룩스 법칙 : 일정 지연 시, 개발자를 추가 투입해도 생산성이 향상되지 않는다.
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 15 -
협력 개발의 생산성(의사소통에 따른 부작용) 고려협력 개발의 생산성(의사소통에 따른 부작용) 고려
작업의 성격에 따라 투입공수와 개발기간의 관계가 달라진다.
3. 연구설계
서울과학기술대학교SEOUL NATIONAL UNIVERSITY OF SOCIENCE & TECHNOLOGYSEOULTECH
- 16 -
연구 결과연구 결과
유전 알고리즘을 통해 최적(에 가까운) 해, 즉 가장 단기간이면서 저비용, 균형
할당을 동시에 만족하는 스케줄링 결과를 도출하였다. 이는 관리자보다 빠르게
계산해 주며, 더 나은 결과를 찾아낼 수 있었다.
4. 결론 및 향후 과제
구분 작업자1 작업자2 작업자3 작업자4 작업자5 작업자6 작업자7 작업자8 작업자9 작업자10 소요시간
공정1 0 0 0 1 0 0 1 1 1 0 17.5공정2 0 1 1 0 0 1 0 0 0 0 24.33공정3 1 0 0 0 1 0 0 0 0 0 28.5공정4 0 1 0 0 0 0 0 0 0 0 56공정5 0 0 0 0 0 0 0 0 0 1 35공정6 1 0 1 0 0 0 0 0 0 0 57공정7 0 0 0 1 0 0 0 0 0 0 70공정8 0 0 0 0 1 0 0 0 0 1 60공정9 0 0 0 0 0 1 1 0 0 0 67.5공정10 0 0 0 0 0 0 0 1 1 0 60
소요시간 85.5 80.33 81.33 87.5 82.5 89.17 85 76.75 76.75 83 -
<적합도 추이><최적에 가까운 해>
감사합니다.
17