태양광 측정장치 데이터 db를 위한 사용자 interface 설계

8
SYS - SoCID - 001, 1 태양광 측정장치 데이터 DB 를 위한 사용자 Interface 설계 Design for User Interface for Database of Device Measuring Solar Energy 김선영 Kim SeonYeong 부산대학교 컴퓨터공학과 [email protected] ABSTRACT 최근 녹색 사업의 성장으로 인해 태양광을 이용한 실험이 증가하고 있다. 그러나 대부분의 태양광 과학 자들은 자신의 실험 결과를 정리하고 분석하는데 어려움을 겪고 있다. 본 보고서에서는 실험 결과를 효 율적으로 정리하고 시각화하기 위한 인터페이스에 대해 논의한다. 먼저 인터페이스의 초기 구성단계로써 McScience 로부터 서로 다른 서식의 태양광 측정 실험 데이터들을 받아서 데이터베이스를 구축하여 웹 상에서 개발상황을 파악할 수 있는 환경을 제공하였다. 여러 대의 태양광 측정 장치로 실험을 수행하면 각 데이터는 해당 장치에만 저장되므로 서로 다른 장치에 저장된 실험결과를 얻고자 한다면 일일이 해당 장치에 접근을 해야 하는 어려움이 있다. 논의한 시스템을 활용한다면 태양광 과학자들이 각기 다른 측정 장치에 직접 접근하지 않고도 저장되어 있는 데이터들을 파악할 수 있는 효과를 기대할 수 있다. Keywords Database, Web, User Interface 1 서론 최근 녹색 사업의 성장으로 태양광을 이용한 실험이 증가하고 있다. 태양광을 이용한 실험을 하는 과학자들의 대부분은 실험 결과로 얻은 자료를 효과적으로 정리하고 분석하는데 어려움을 겪고 있으며, 각기 다른 측정 장치로 실험을 하기 때문에 장치 별 실험 데이터들을 한눈에 파악하기가 쉽지 않다. 또한 실험결과가 누적될 수록 사용자가 특정 조건에 부합하는 데이터들만 찾아내서 살펴보기가 매우 어렵다. 따라서 데이터를 저장하고 원하는 데이터를 검색하여 쉽게 얻을 수 있는 사용자 인터페이스에 대한 필요성이 대두되었다. 본 보고서에서는 일차적으로 McScience 로부터 받은 서로 다른 형식의 4 종류 데이터 K3000, K3100, K3400, K3600 를 전달받아 사용자들이 이 데이터들을 Web 상에서 쉽게 확인하고 검색할 수 있기 위한 인터페이스를 설계하였다. 여러 대의 태양광 측정 장치들로부터 얻는 데이터들은 각 장치에만 저장되므로 사용자가 여러 장 치의 데이터들을 찾고자 할 경우 일일이 해당 장치를 살펴보아야 하는 번거로움이 있으며, 누적된 데이터들이 많아지거나 특정 조건 만을 만족하는 데이터를 찾고자 할 때 사용자가 직접 데이터들을 하나씩 확인할 경우 정확한 결과를 얻기가 어렵다. 웹을 통해 수집한 데이터를 바탕으로 데이터베이스를 구축하고 본 보고서에서 제안하는 인터페이스를 활용한다면 사용자는 효과적으로 분류된 데이터를 확인할 수 있고 특정 조건을 만족하는 데이터의 목록을 쉽게 얻을 수 있다. Copyright © Graphics Application Lab. Pusan National University

Upload: vanlien

Post on 28-Jan-2017

224 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 1

태양광측정장치데이터 DB를위한사용자 Interface설계Design for User Interface for Database of Device Measuring Solar Energy

김선영Kim SeonYeong

부산대학교 컴퓨터공학과

[email protected]

ABSTRACT

최근 녹색 사업의 성장으로 인해 태양광을 이용한 실험이 증가하고 있다. 그러나 대부분의 태양광 과학

자들은 자신의 실험 결과를 정리하고 분석하는데 어려움을 겪고 있다. 본 보고서에서는 실험 결과를 효

율적으로 정리하고 시각화하기 위한 인터페이스에 대해 논의한다. 먼저 인터페이스의 초기 구성단계로써

McScience로부터 서로 다른 서식의 태양광 측정 실험 데이터들을 받아서 데이터베이스를 구축하여 웹상에서 개발상황을 파악할 수 있는 환경을 제공하였다. 여러 대의 태양광 측정 장치로 실험을 수행하면

각 데이터는 해당 장치에만 저장되므로 서로 다른 장치에 저장된 실험결과를 얻고자 한다면 일일이 해당

장치에 접근을 해야 하는 어려움이 있다. 논의한 시스템을 활용한다면 태양광 과학자들이 각기 다른 측정

장치에 직접 접근하지 않고도 저장되어 있는 데이터들을 파악할 수 있는 효과를 기대할 수 있다.

Keywords Database, Web, User Interface

1 서론

최근 녹색 사업의 성장으로 태양광을 이용한 실험이 증가하고 있다. 태양광을 이용한 실험을 하는 과학자들의

대부분은 실험 결과로 얻은 자료를 효과적으로 정리하고 분석하는데 어려움을 겪고 있으며, 각기 다른 측정

장치로 실험을 하기 때문에 장치 별 실험 데이터들을 한눈에 파악하기가 쉽지 않다. 또한 실험결과가 누적될

수록 사용자가 특정 조건에 부합하는 데이터들만 찾아내서 살펴보기가 매우 어렵다. 따라서 데이터를 저장하고

원하는 데이터를 검색하여 쉽게 얻을 수 있는 사용자 인터페이스에 대한 필요성이 대두되었다.

본 보고서에서는 일차적으로 McScience로부터 받은 서로 다른 형식의 4종류 데이터 K3000, K3100, K3400,K3600를 전달받아 사용자들이 이 데이터들을 Web 상에서 쉽게 확인하고 검색할 수 있기 위한 인터페이스를설계하였다. 여러 대의 태양광 측정 장치들로부터 얻는 데이터들은 각 장치에만 저장되므로 사용자가 여러 장

치의 데이터들을 찾고자 할 경우 일일이 해당 장치를 살펴보아야 하는 번거로움이 있으며, 누적된 데이터들이

많아지거나 특정 조건 만을 만족하는 데이터를 찾고자 할 때 사용자가 직접 데이터들을 하나씩 확인할 경우

정확한 결과를 얻기가 어렵다. 웹을 통해 수집한 데이터를 바탕으로 데이터베이스를 구축하고 본 보고서에서

제안하는 인터페이스를 활용한다면 사용자는 효과적으로 분류된 데이터를 확인할 수 있고 특정 조건을 만족하는

데이터의 목록을 쉽게 얻을 수 있다.

Copyright © Graphics Application Lab. Pusan National University

Page 2: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 2

2 인터페이스 구성

2.1 실험 데이터 구조

실험 결과로 얻은 4종류의 데이터들은 서로 다른 형식을 가진다. 실험 데이터는 Class, Experiment, Sheet, Spot의 계층으로 나뉘며 각각 실험의 단위, 파일의 단위, 데이터 묶음의 단위, 데이터의 단위를 의미한다. 하나의

실험 Class에 여러가지 파일 Experiment가 지정되고 그 안에는 데이터 묶음 Sheet가 존재하며 이것들은 단하나의 데이터 Spot을 구분하는 요소이다. 현재까지 수집한 실험의 종류는 K3000, K3100, K3400, K3600 네가지이며 각각 xls, xls, csv, csv의 다른 형식과 파일 양식을 가지고 있다. xls 파일은 mysql-connector 라이브러리를 사용하여 파싱하였고 cvs 파일은 OpenCSV 라이브러리를 사용하여 파싱하며, 파서는 자바로 제작하여이식성을 높였다.

2.2 실험 현황 보고

실험 진행 상황을 파악하려면 자료의 수집 정보를 감독하는 것이 필요하다. 본 보고서에서는 실험 현황을 요

약해서 사용자가 한눈에 실험에 따른 데이터의 양을 확인할 수 있도록 하였는데 데이터 수집량은 앞서 분류한

데이터 구조를 기준으로 나타내었고 이 모듈은 FLEX로 제작하였다.

그림 1. 실험 현황 보기를 적용하여 분류된 데이터 개수를 쉽게 확인 가능.

2.3 실험 보기

실험 현황과 달리 실험 보기에서는 실험 별로 수집한 데이터의 내용을 자세하게 확인할 수 있다. 파싱한 데이

터를 바탕으로 데이터베이스를 구축하고 이를 FLEX로 접근하여 실험 데이터의 목록을 출력하였다. 실험 목록은 기본적으로 파일 작성 시간 순서대로 오름차순 정렬되는데 데이터 속성을 선택하면 해당 요소를 기준으로

오름차순 또는 내림차순 정렬할 수 있다.

데이터를 선택하면 그에 해당하는 리포트를 볼 수 있고 이를 통해 데이터의 상세 내용을 확인할 수 있다.

삽입된 그래프는 Raw Data를 시각화 한 것으로 사용자는 데이터 값의 변화 추이를 한눈에 알 수 있으며 그래프에 포인터를 가져가면 해당하는 위치의 정확한 값도 볼 수 있다.

Copyright © Graphics Application Lab. Pusan National University

Page 3: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 3

그림 2. K3100 실험 목록. 왼쪽 서브메뉴를 통해 각 실험에 해당하는 데이터의 목록을 확인할수 있다. 그림 2 는 No를 기준으로 오름차순 정렬된 모습.

그림 3. K3100 실험의 No가 1인 데이터를 선택한 모습. 데이터에 해당하는 Report를 볼 수있고 그래프를 통해 시각화한 데이터 값의 추이를 쉽게 파악할 수 있다. 그림 3 는 포인터를그래프 가까이 가져갔을 때 볼 수 있는 정보.

2.4 조건 별 실험 검색

태양광 측정과 같은 실험 데이터는 조건에 부합하는 데이터를 찾아내는 기능이 필수적으로 필요하다. 본 보고

서에서는 두 가지 경로를 통해 데이터를 검색할 수 있도록 구성하였다.

그 한 가지 방법은 그림 4 와 같이 실험 분류에 따라 나타나는 모든 요소 중 원하는 속성의 범위만 지정하여검색하는 방법이다. 이 방법은 모든 실험의 속성을 여러 번의 접근 과정을 거치지 않고 한번에 찾을 수 있다는

것이 장점이나 실험 목록을 살펴보던 중 검색을 하고자 할 때 그 위치에서 바로 할 수 없다는 점이 불편하다. 이

모듈은 모든 실험이 공통적으로 가지는 속성이 존재하지 않아 새로 노트 속성을 부여하여 사용자가 메모를 입력

Copyright © Graphics Application Lab. Pusan National University

Page 4: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 4

하면서 동시에 나중에 해당 내용을 검색어로 입력했을 때 원하는 실험을 추출할 수 있도록 차후 보완할 예정이다.

다른 한 가지는 그림 5 와 같이 해당 실험의 목록을 보다가 바로 검색 기능을 사용할 수 있는 방법으로, 다시처음 화면으로 돌아가지 않아도 되고 현재 창을 보면서 검색 내용을 입력할 수도 있다. 하지만 해당 페이지의

실험 외에 다른 실험을 검색하고자 한다면 원하는 실험의 목록을 직접 찾아가거나 실험 전체 검색 화면으로

전환해야 하는 점이 번거롭다.

조건 별 검색을 수행할 때는 크게 문자열 검색과 숫자 검색으로 나눌 수 있는데 수치로 나타나는 실험 데이터

값은 간단하게 범위를 지정함으로써 원하는 검색 결과를 얻을 수 있다. 범위를 지정할 때는 시작 조건과 끝 조건

모두를 지정하는 방법과 양쪽 조건 중 하나 만 지정하는 방법 모두 사용할 수 있다. 이는 그림 6 , 그림 7 , 그림8 의 과정을 통해 확인할 수 있다. 문자열로 나타나는 검색의 경우, 대표적인 예로 날짜 검색이 있을 수 있는데현재는 검색을 원하는 날짜를 정확하게 기재해야 검색 결과를 바르게 얻을 수 있는데 이를 개선하여 문자열도

날짜에 한해서는 범위 지정이 가능하게 보완할 예정이다.

그림 4. 실험 검색 첫 번째 방법. 실험 보기 첫 화면에서 바로 검색 가능하며 탭을 통해 다른실험을 검색할 수 있다.

그림 5. 실험 검색 두 번째 방법. 실험 목록에서 바로 검색을 수행할 수 있다.

Copyright © Graphics Application Lab. Pusan National University

Page 5: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 5

그림 6. 검색하기 전 K3600 실험 목록

그림 7. K3600의 속성인 Number of I-V Points에 30이상 50이하라는 조건을 부여하는 모습.

2.5 데이터 수집 제어

여러 대의 측정 장치로 데이터를 수집할 때 현재로써는 Polling 서버에서 해당 장치의 Polling 여부를 직접 설정하여야 한다. 그림 9 는 추후에 개발할 내요으로 데이터 Polling 제어 여부를 자동화하는 모듈이다. 데이터수집을 원하는 장치의 IP 주소와 Polling 주기, 데이터 타입, 오류 보고 여부를 설정하고 Polling 여부를 선택하면 사용자의 요청에 따라 관리자가 개입하여 설정하지 않아도 사용자가 원할 때 바로 Polling 수행할 수 있는것이 장점이다. 여기서 새로 등장하는 오류 보고 여부는 차후 개발 요소로써 Polling 시 데이터가 유효하지 않은값으로 간주될 경우 자동으로 해당 데이터를 제외한 나머지 자료들만 수집하는 모듈이다.

데이터 수집 제어와 연결하여 Class의 생성과 관리 또한 자동화하는 것을 목표로 개발할 예정이다.

3 시스템 구조

시스템의 구조는 그림 11 과 같고 폴링 내부 공정은 그림 10 와 같다.실험 데이터 서버를 각 측정 장치에 구축하여 폴링 서버에서 TCP/IP Polling을 통해 실험 데이터들을 가져온다.

Copyright © Graphics Application Lab. Pusan National University

Page 6: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 6

그림 8. 검색 결과 조건을 만족하는 실험 목록만 나타난 모습.

그림 9. 검색 결과 조건을 만족하는 실험 목록만 나타난 모습.

이렇게 얻은 데이터를 각 파일 형식에 맞는 파서로 파싱하여 이것을 데이터베이스화한다. 저장된 데이터들은

SoCID 홈페이지에서 시각화되어 사용자가 그 내용을 파악하기 쉽게 설계하였다.

4 실험

시스템의 작동을 확인하기 위해서 클라이언트를 내부 네트워크 2대의 PC와 외부 네트워크 1대의 PC로 시스템의 동작을 실험하였다. 내부/외부 네트워크를 통해 파싱을 실험한 결과는 표 1 와 같다. 표의 내용은 Parsing성공파일 개수/전체파일개수 로 나타내었다. Parsing 하지 못한 K3600 데이터 두개는 기존의 양식에 어긋난데이터로 판정되었다.

K3000 K3100 K3600Client1(내부) 48/48 11/11 14/16Client2(내부) 48/48 11/11 14/16Clinet3(외부) 48/48 11/11 14/16

표 1. 내부 네트워크를 통해 데이터 Parsing을 수행한 결과. Parsing성공파일 개수/전체파일개수 로 나타내었다. K3600의 데이터 2개는 기존의 양식과 달라 Parsing 실패 하였다.

Copyright © Graphics Application Lab. Pusan National University

Page 7: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 7

그림 10. 데이터 Polling을 위해 구축해야할 Polling 서버의 구조. 실험 데이터 서버는 각 측정장치에 설치하고 Polling Server를 통해 데이터들을 Polling 한다. Polling한 데이터는 Parser와연계되어 Parsing 후 바로 데이터베이스에 구축되고 사용자는 이 데이터들을 SoCID 홈페이지에서 확인할 수 있다.

그림 11. 데이터 Polling 의 자동화 공정. 사용자는 SoCID 홈페이지를 통해 데이터를 파악할수 있고 기관들은 Internet을 통해 데이터를 자동으로 Polling 하고 Parsing할 수 있다.

5 결론

본 보고서에서는 태양광 측정 장치로 얻은 실험 데이터 값으로 구축한 데이터베이스에 사용자들이 웹을 통해

쉽게 접근하고 데이터를 파악할 수 있도록 도와주는 인터페이스를 설계하였다. 이를 통해 사용자는 실험 단위로

결과를 정리하여 볼 수 있고 실험 당, 파일 당 데이터들이 얼마나 누적되었는지도 한눈에 알 수 있었으며, 실험

결과 중 특정 속성에 조건을 부여하여 검색하는 조건 별 검색도 쉽게 행할 수 있었다.

추후 개발할 사항은 데이터 수집을 제어하는 부분이 주요점이 될 것이다. 이는 각 Class 마다 데이터 파일Polling 서버를 구축하여 이를 통해 데이터 Polling 여부를 쉽게 결정하고 바꿀 수 있도록 도와줄 수 있다. 여기에 더해 Polling하는 데이터들의 오류 검증 작업과 보정 작업을 자동화할 것이고 더불어 Class를 생성하고

Copyright © Graphics Application Lab. Pusan National University

Page 8: 태양광 측정장치 데이터 DB를 위한 사용자 Interface 설계

SYS - SoCID - 001, 8

관리하는 부분까지도 자동화 할 것으로 구상하고 있다.

추가적으로 현재 지원하는 데이터의 리포트 기능을 강화하여 리포트를 export, import 할 수 있도록 파일의업로드, 다운로드를 추가할 것이다. 그리고 현재는 실험 별 조건 검색이 가능한데 이것을 통합 실험 검색까지

지원하도록 노트 속성을 부여하여 이를 통해 사용자가 자신이 원하는 데이터를 전체 실험 데이터 내에서 찾을

수 있고 간단한 메모도 할 수 있을 것으로 기대한다. 이러한 추가 지원 사항들은 아직 게시판 단위로만 사용자

등급을 설정할 수 있는 것에 비해 더욱 강화된 글 별 권한 설정을 지원하도록 개선할 예정이다. 글 별 사용자

권한 설정이 이루어지면 이에 따라 메일과 SMS 문자를 통해 글의 등록 상황을 실시간으로 알려주는 서비스까지시행할 수 있을 것으로 기대한다.

참고 문헌

Copyright © Graphics Application Lab. Pusan National University