• 검색 결과가 없습니다.

설계 및 개발

문서에서 K-Ecohub 시스템 설계 보고서 (페이지 28-83)

IV. 설계 및 개발

1. 개요

K-ecohub는 국내 장기생태데이터의 통합 저장소로써, 기존 KNLTER 프로젝트에서 의 프로토콜 부재, 데이터 파편화, 품질관리 부재, 효율적 데이터 통합을 위한 저장소 부 재, 해외연계 미흡 등의 문제를 해결하는 것을 목표로 한다. K-ecohub는 사전 정의된 표준화된 프로토콜에 따른 데이터 처리 및 서비스 모델을 제공하고, 수집된 데이터에 대 한 품질 보장 방안을 제시하고, 메타데이터의 효율적 검색 및 국제적 연계 기능과, 통합 분석 및 가시화 모델을 제시한다.

¡ 주요기능

<K-ecohub 주요기능>

요구사항에 따른 K-ecohub의 주요기능은 상기의 그림과 같다. 첫째는 메타데이터와 데이터의 입력 및 검증 기능이다. 장기생태연구에서 데이터의 품질은 무엇보다도 중요한 다. 이 때문에 정해진 프로토콜에 따라 데이터가 수집되고, 수집된 데이터는 정해진 스 키마를 따르고 있는지 검증된다. 데이터의 품질 검증은 먼저 데이터에 대한 타입, 범위, 카타고리 등에 대한 시스템적인 자동 검증이고, 다음으로는 데이터에 대한 가시화 자료 를 통한 전문가의 의미론적인 검증을 거친다. 둘째는 효율적 메타데이터 관리이다. 각

할 수 있다. 그리고 메타데이터 중 표준화된 키워드 검색 및 관리를 위해 Controlled Vocabulary를 지원할 수 있다. 셋째는 검색 기능이다. 검색은 다면검색, 지도검색, 키워 드 검색, 통합검색을 포함한다. 넷째는 메타데이터의 EML 변환이다. EML은 장기생태 분야 메타데이터 기술을 위한 표준이며, 해외 생태연구 사이트들과의 연계를 위해서는 메타데이터를 EML 형식으로 저장하거나 변환한다. 다섯째는 데이터 변환 가공이다. 서 로 다른 형식으로 저장된 데이터의 통합을 지원하기 위해서는 통일된 형식의 데이터로 의 변환을 지원할 수 있어야 한다. 이를 위해서는 프로토콜마다 변환가공 규칙을 정의하 고, 데이터가 새로 입력되거나 업데이터 되는 경우 규칙에 따라 변환가공을 수행한다.

이 기능은 데이터의 가시화 자료 생성에 있어서도 매우 유용하게 활용될 수 있다. 여섯 째는 데이터 가시화이다. 프로토콜과 사이트들을 기준으로 데이터를 시계열 차트로 표현 하는 것과, 데이터 분석의 현이성을 향상시키기 위해 두 개 프로토콜간 데이터를 비교하 는 기능을 포함한다. 일곱 번째는 확장성 있는 데이터의 관리이다. 이를 위해 대용량 데 이터를 클라우드를 기반으로 관리함으로써 데이터 용량의 증가에도 대응할 수 있다.

¡ 주요기능 제공을 위한 기존 기술 벤치마킹

K-ecohub 구축에서 상기의 주요기능을 제공하기 위해 기존의 여러 툴들이 벤치마킹 되었다. AMGA 메타데이터 카탈로그는 그리드에 특화되어 있어 확장성을 지원할 수 있 지만, 장기생태 분야에 활용하기 위해서는 많은 개발을 요구한다. Metacat은 데이터 품 질관리, 데이터 변환가공 및 데이터 가시화 기능들을 제공하지 못한다. PASTA는 데이 터 가시화와 확장성 있는 데이터의 관리가 어려울 뿐만 아니라, 코드에 대한 문서화가 미흡하여 customize가 어렵다. DEIMS는 데이터 품질관리와, 데이터 가공 및 가시화를 지원하지 못하지만 Drupal을 기반으로 하여 확장이 매우 용이하다. ECN은 K-ecohub 와 매우 유사하지만 오픈소스로 공개되어 있지 않고, EML 지원과 확장성 있는 데이터 관리 측면에서 미흡하다.

AMGA 공개S/W (Metacat, Pasta,

구분 미국 KNB

Controlled Vocabulary 지원 지원 지원

국제연계(EML) 지원 지원 지원

역할 수행 내용

권한 신이

성한 이터

asetDat Dat

a Site Me

asure ment

wsNe

administr

ator drupal 사이트

관리 RU

reviewer Data 검토 RU

D RU RU R R CR

contributordata Data 등록 및

update RU urceReso Species

Keyword

ator drupal 사이트

관리 CRU

contributordata Data 등록 및

update CR R - CR R

보장되지 않은 데이터는 신뢰할 수 없다. 데이터 수집부터 품질 표준을 설정하고, 이 품 질 표준이 지켜졌는지 모니터링하고 시스템적으로 스크리닝 할 수 있어야 한다.

K-ecohub는 ECN과 유사하게 여러 사이트들에서 적용될 수 있는 데이터 수집을 위한 표준화된 프로토콜을 정의한다. 이 프로토콜은 모니터링하는 대상, 내용, 방법뿐 아니라 측정 데이터의 타입, 단위까지도 정의함으로써 데이터 수집의 일관성을 보장한다. 이러 한 표준 프로토콜에 따라 수집된 데이터는 정해진 스키마에 따라 K-ecohub 시스템에 입력되며, 스키마와 일관성 있게 작성되었는지 검증된다.

<K-ecohub 데이터 QA 과정>

아래 그림은 K-ecohub에 데이터셋이 입력되는 경우의 검증 절차를 보여준다. 데이터 셋의 품질 관리를 위해 데이터셋은 6개의 상태로 관리된다. Draft 상태는 data contributor의 데이터셋의 입력 완료 이전 임시 저장된 상태이다. “Need Data Manager Work”는 data contributor의 입력 작업이 완료되어 검증을 요구하거나, 데이 터셋에 오류가 발견되어 data manager의 처리가 필요한 상태이다. “Need Review”는 분야별 전문가인 reviewer의 분석을 통한 상세 검토를 기다리는 상태이다. “Need Contributor Work”는 오류가 발견되어 최초 데이터셋 입력자인 data contributor의 수 정을 기다리는 상태이다. “Ready for Publication”은 data manager가 데이터셋의 최 종 publish를 위한 마지막 작업(DOI 발급 등) 처리하기를 기다리는 상태이고,

“Published“는 문서가 최종 Publish된 상태를 말한다. 일반적인 데이터셋의 입력은 Draft, Need Data Manager Work, Need Review, Ready for Publication의 과정을

거쳐 최종 Published 상태로 진입한다.

<K-ecohub 데이터셋 입력시 검증 절차>

이 과정 중에서 데이터 검증에 대한 핵심 역할은 data manager와 reviewer, 그리고 시스템에 의해 자동화된 검증 기능에 의해 수행된다. 시스템에 의해 자동화된 검증은 Draft의 마지막 단계에서 수행된다. 입력된 메타데이터의 필수 값 입력 여부, 값의 범위 등의 적합성 여부가 웹폼을 통해 자동 검증된다. 그리고 입력된 데이터에 대해서도 타 입, 범위, 카타고리 등에 대해 시스템적인 자동 검증이 수행된다.

data manager는 Need Data Manager Work 단계에서 data contributor가 입력한 메타데이터와 데이터에 대한 검증을 수동으로 진행한다. 데이터에 이상이 발견되지 않는 경우 데이터 변환과 가시화를 위한 데이터 생성 과정을 진행하고 reviewer에게 상세 검 토를 요청하는 Need Review 상태로 데이터셋의 상태를 변경하고, 오류가 발견되는 경 우 반려의견을 통해 data contributor에게 데이터셋에 대한 수정을 요청하는 Need Contributor Work 상태로 데이터셋의 상태를 변경한다.

reviewer는 Need Review 단계에서 데이터에 대한 상세 검증을 수행한다. data manager에 의해 생성된 데이터 가시화 자료 등을 통한 의미론적인 검증을 거친다. 데 이터에 이상이 발견되지 않는 경우 Ready for Publication 상태로, 오류가 발견되는 경우 Need Contributor Work 상태로 데이터셋의 상태를 변경한다.

Dataset

Published 오류가 없는

경우 data

Published 문서가 Publish된

상태 Draft 문서의 내용이

변경된 후 data

contributor

<데이터셋 상태 및 전이도>

Job 설명 수행주체 수행방법

data manager가 Data Validate 메뉴를 선택하여

data manager가 Data Validate 메뉴를 선택하여

data manager가 메뉴를 선택하여 Need Contributor Work 상태로 이동을 Confirm

data manager

data manager가 메뉴를 선택하여

data manager가 Data Rollback 메뉴를 선택하여

data manager가 Data Rollback 메뉴를 선택하여

reviewer reviewer 직접 수동 검증

11 Finalize Data

전체적인 상태를 검토, publication date, QA 정보,

DOI를 부여하여 최종 publish 결정

data manager

data manager가 메뉴를 선택하여

수행

<Data 검증 및 입력 과정의 작업 리스트>

¡ 체계적 소프트웨어 개발

본 시스템개발의 주요 목적 중 하나는 다양한 기능을 시험적으로 개발하고 결과를 관 리하는 것이다. 따라서 애자일 개발 방법론을 도입하여 체계적인 소프트웨어를 개발하게 되었다.

이 프로젝트는 설계 단계에서 미진한 부분이 많을 개연성이 크고 개발과정에서 문제를 협력해서 해결해야 할 부분이 많다. 그리고 일반적으로 요구자와 개발자간의 기술적 이 해 범위와 니즈가 다를 수 있다. 전통적인 폭포수 개발은 모든 기능에 대해 설계를 완벽 히 끝내고 개발을 하는 일방향적인 개발 방법이다. 애자일 개발은 부분적으로 모듈단위 기능을 개발하면서 요구자와 커뮤니케이션을 통해 기초적인 개발모델을 보완해 나가는 방식이다.

<기존방법론(폭포수 방법론)과 애자일 방법론 비교>

애자일 개발 방법론은 계획을 통해서 주도해 나갔던 과거의 방법론과는 다르게 앞을 예측하며 개발을 하지 않고, 일정한 주기를 가지고 끊임없이 프로토 타입을 만들어내며 그때 그때 필요한 요구를 더하고 수정하여 하나의 커다란 소프트웨어를 개발해 나가는 adaptive style 이라고 할 수 있다. 많은 개발인력이 투입되는 만큼 체계적인 개발이 중 요하고, 산출물의 버전관리, 요구사항에 따른 개발업무와 커뮤니케이션 관리, 그리고 개 발된 소스코드의 관리가 반드시 필요하다. 아래 표는 애자일 방법론을 적용한 체계적인 개발을 위해 상용 툴에 대한 내용이다.

Issue management tools:

요구사항에 따른 개발업무와 커

변수명 설명 단위 형식 필수여부 비고

Vname 변수 이름 string Varchar(20) Y  

Vtype 변수 타입 string Varchar(20) Y  

Vunit 단위 string Varchar(20)    

Mcode 조사방법 코드 string Varchar(3) Y (Auto Filling)

Ecode Entry 코드 string Varchar(20) Y  

ValidationRule 데이터검증 규칙 string Varchar(100)   csv schema reference

ProcesingsRule 데이터가공 규칙 string Varchar(100)  

SUM:값을모두더하는

Description 설명 string Varchar(200)    

변수명 설명 단위 형식 필수여부 비고

Mcode 조사방법 코드 string Varchar(3) Y  

Mname 조사방법 이름 string Varchar(20)    

ProtocolDocURL 프로토콜 문서 string Varchar(100)     AbstractType 요약(Type) string Varchar(200)     AbstractMethod 요약(Method) string Varchar(200)     AbstractFreq 요약(Frequency) string Varchar(200)    

Description 설명 string Varchar(200)    

Description 설명 string Varchar(200)    

문서에서 K-Ecohub 시스템 설계 보고서 (페이지 28-83)

관련 문서