"거벤져스"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(완료작품의 평가)
(기능 정의)
 
(같은 사용자의 중간 판 17개는 보이지 않습니다)
47번째 줄: 47번째 줄:
 
====시장상황에 대한 분석====
 
====시장상황에 대한 분석====
 
*'''경쟁제품 조사 비교'''
 
*'''경쟁제품 조사 비교'''
**안전디딤돌
+
**'''안전디딤돌'''
 
*** 행정안전부에서 만든 어플리케이션으로 맞춤형 재난안전서비스를 제공한다.
 
*** 행정안전부에서 만든 어플리케이션으로 맞춤형 재난안전서비스를 제공한다.
 
*** 재난문자를 지역별, 재난별로 분류하여 조회할 수 있다.
 
*** 재난문자를 지역별, 재난별로 분류하여 조회할 수 있다.
92번째 줄: 92번째 줄:
 
**필터는 재난분류, 지역설정, 위험레벨 설정, 기간설정으로 구성되어 있다.
 
**필터는 재난분류, 지역설정, 위험레벨 설정, 기간설정으로 구성되어 있다.
 
**재난분류는 크게 기상특보, 질병, other 세 가지로 구성되며, 각각의 하위 카테고리가 존재한다.
 
**재난분류는 크게 기상특보, 질병, other 세 가지로 구성되며, 각각의 하위 카테고리가 존재한다.
***기상특보는 기상청에서 발표하는 기상특보 발표기준을 참고했으며, 해당 내용은 아래와 같다.
+
::기상특보는 기상청에서 발표하는 기상특보 발표기준을 참고했으며, 해당 내용은 아래와 같다.
****강풍 | 호우 | 한파 | 건조 | 풍랑 | 태풍 | 대설 | 황사 | 폭염 | 홍수 | 폭풍해일
+
    강풍 | 호우 | 한파 | 건조 | 풍랑 | 태풍 | 대설 | 황사 | 폭염 | 홍수 | 폭풍해일
***질병은 전염성이 높은 질병 등에 대한 정보를 포함하며, 2020.06 기준 제공하는 정보는 아래와 같다.
+
 
****구제역 | AI | 코로나
+
::질병은 전염성이 높은 질병 등에 대한 정보를 포함하며, 2020.06 기준 제공하는 정보는 아래와 같다.
***other는 앞서 상술한 2가지 카테고리에 해당하는 내용을 제외한 나머지 모든 문자를 포함한다.
+
    구제역 | AI | 코로나
**지역설정은 시·도 단위부터 구·군 단위까지 설정할 수 있다.
+
 
**위험레벨은 위험 수준에 따라 INFO와 WARNING의 두 가지 레벨을 가지며, 중복 선택할 수 있다.
+
::other는 앞서 상술한 2가지 카테고리에 해당하는 내용을 제외한 나머지 모든 문자를 포함한다.
**기간설정은 검색할 기간을 사용자가 직접 설정할 수 있으며, 서비스 실행 시 초기 설정 값은 '최근 3개월'로 설정되어 있다.
+
:*지역설정은 시·도 단위부터 구·군 단위까지 설정할 수 있다.
 +
:*위험레벨은 위험 수준에 따라 INFO와 WARNING의 두 가지 레벨을 가지며, 중복 선택할 수 있다.
 +
:*기간설정은 검색할 기간을 사용자가 직접 설정할 수 있으며, 서비스 실행 시 초기 설정 값은 '최근 3개월'로 설정되어 있다.
  
 
*'''F2: 사용자에게 친숙한 인터페이스를 사용하여 사용자가 각 기능의 결과를 예측할 수 있도록 한다.'''
 
*'''F2: 사용자에게 친숙한 인터페이스를 사용하여 사용자가 각 기능의 결과를 예측할 수 있도록 한다.'''
172번째 줄: 174번째 줄:
 
{| cellpadding="0" cellspacing="0" border="1" width="50%"
 
{| cellpadding="0" cellspacing="0" border="1" width="50%"
 
|- align="center" style="background-color:#E5E5E5"
 
|- align="center" style="background-color:#E5E5E5"
| 시스템
+
| '''시스템'''
| Level1
+
| '''Level1'''
| Level2
+
| '''Level2'''
| Level3
+
| '''Level3'''
| Level4
+
| '''Level4'''
 
|- align="center"
 
|- align="center"
 
| rowspan="5" | 사용자용<br>프로그램
 
| rowspan="5" | 사용자용<br>프로그램
197번째 줄: 199번째 줄:
 
|}
 
|}
 
<br/>
 
<br/>
 +
 
====화면 설계====
 
====화면 설계====
 
[[파일:flow_chart.png]]
 
[[파일:flow_chart.png]]
207번째 줄: 210번째 줄:
 
[[파일:map.jpg]]
 
[[파일:map.jpg]]
 
[[파일:message.jpg]]
 
[[파일:message.jpg]]
 +
 +
[https://drive.google.com/file/d/16233XdLhYEE3wo7ykn1l8YmD-U3MlX7T/view?usp=sharing 어플리케이션 다운로드 (7월 중 서버 닫힐 예정)]
 +
 +
시연 영상 및 발표자료는 문서의 Appendix 참고
  
 
====포스터====
 
====포스터====
[[파일:포스터.png]]
+
[[파일:redzone_poster.jpg | 360 px]]
 +
 
 +
====어플리케이션 아이콘====
 +
[[파일:redzone_icon.png]]
  
 
===관련사업비 내역서===
 
===관련사업비 내역서===
229번째 줄: 239번째 줄:
  
 
===완료작품의 평가===
 
===완료작품의 평가===
<table border="1">
+
{| cellpadding="0" cellspacing="0" border="1"
<th>평가항목</th>
+
|- align="center" style="background-color:#E5E5E5"
<th>평가방법</th>
+
| width="400" | '''평가항목'''
<th>적용기준</th>
+
| width="100" | '''평가방법'''
<th>개발 목표치</th>
+
| width="100" | '''적용기준'''
<th>비중(%)</th>
+
| width="100" | '''개발 목표치'''
        <th>평가결과</th>
+
| width="100" | '''비중(%)'''
<tr align = "center">
+
| width="100" | '''평가결과'''
    <th width="300">1. 지도 데이터를 잘 불러올 수 있는가?</th>
+
|- align="center"
    <td width="100">어플리케이션</td>
+
| align="left" |  1. 지도 데이터를 잘 불러올 수 있는가?
            <td width="70">유/무</td>
+
| 어플리케이션
    <td width="80"></td>
+
| 유/무
    <td width="60">25%</td>
+
|
    <td width="60">유</td>
+
| 25%
</tr>
+
| 유
<tr align = "center">
+
|- align="center"
    <th>2. 사용자가 원하는 조건으로 필터를 설정할 수 있는가?</th>
+
| align="left" |  2. 사용자가 원하는 조건으로 필터를 설정할 수 있는가?
    <td>어플리케이션</td>
+
| 어플리케이션
    <td>유/무</td>
+
| 유/무
    <td></td>
+
|
    <td>25%</td>
+
| 25%
            <td></td>
+
|
</tr>
+
|- align="center"
<tr align = "center">
+
| align="left" |  3. Pie Chart가 정상적으로 출력되는가?
    <th>3. Pie Chart가 정상적으로 출력되는가?</th>
+
| 어플리케이션
    <td>어플리케이션</td>
+
| 유/무
    <td>유/무</td>
+
|
    <td></td>
+
| 25%
    <td>25%</td>
+
|
            <td></td>
+
|- align="center"
</tr>
+
| align="left" |  4. 재난문자 목록을 잘 불러올 수 있는가?
<tr align = "center">
+
| 어플리케이션
    <th>4. 안전문자 목록을 잘 불러올 수 있는가?</th>
+
| 유/무
    <td>어플리케이션</td>
+
|
    <td>유/무</td>
+
| 20%
    <td></td>
+
|
    <td>25%</td>
+
|- align="center"
            <td></td>
+
| align="left" |  5. 특정 재난문자의 내용을 확인할 수 있는가?
</tr>
+
| 어플리케이션
<tr align = "center">
+
| 유/무
    <th>5. 특정 안전문자 내용을 확인할 수 있는가?</th>
+
|
    <td>어플리케이션</td>
+
| 5%
    <td>유/무</td>
+
|
    <td></td>
+
|}
    <td>25%</td>
+
<br />
            <td></td>
 
</tr>
 
    </table>
 
  
 
===향후계획===
 
===향후계획===
 
*어플리케이션 만족도 조사를 통한 서비스 개선
 
*어플리케이션 만족도 조사를 통한 서비스 개선
 +
 +
==Appendix==
 +
===소프트웨어 프로그램 소스===
 +
https://github.com/cnjxkdrk/RED-ZONE
 +
===어플리케이션 다운로드 링크===
 +
https://drive.google.com/file/d/16233XdLhYEE3wo7ykn1l8YmD-U3MlX7T/view?usp=sharing
 +
===어플리케이션 시연 영상 링크===
 +
youtu.be/yukwLz8c4sk
 +
===프로젝트 발표자료 링크===
 +
youtu.be/XSuLCq-agt8

2020년 6월 30일 (화) 03:12 기준 최신판

프로젝트 개요

기술개발 과제

국문 : 레드 존

영문 : Red Zone

과제 팀명

거벤져스

지도교수

이동희 교수님

개발기간

2020년 3월 ~ 2020년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20149200** 서*후 (팀장)

서울시립대학교 컴퓨터과학부 20149200** 박*록

서울시립대학교 컴퓨터과학부 20149200** 박*찬

서울시립대학교 컴퓨터과학부 20149200** 육*훈

서론

개발 과제의 개요

개발 과제 요약

  • 직관성 있는 전국 재난 지도 서비스를 제공한다.

개발 과제의 배경

현 재난문자 발송 시스템은 행정안전부 산하 국민안전처에서 특정 지역에 위치한 기지국 내 모든 단말기에 일괄적으로 문자 메시지를 발송하는 구조로, 다음과 같은 단점을 가지고 있다.

   1. 사용자가 본인의 활동 반경을 일시적으로 벗어났을 때 해당 지역으로 발송하는 재난문자를 확인할 수 없다.
   2. 메시지를 기지국 단위로 발송하기 때문에 목표지역의 인접구역까지 메시지가 동시에 발송되고 있다.
   3. 규격화된 재난 분류 체계가 없다.

이와 같은 문제점으로 인해 사용자는 원하는 시간, 장소, 내용의 재난문자를 확인하기 어렵다. 따라서 우리는 1차적으로 앞서 말한 기능들을 시각적으로 제공하고, 이어서 지역별로 발생하는 재난의 빈도, 비율 등을 분석해 응급의료기관, 기상청, 부동산, 생활안전 등 다양한 분야에 사용할 수 있는 API를 제공함을 목표로 한다.

개발 과제의 목표 및 내용

  • 재난문자발송 발령현황 API에 시각 자료를 첨부해서 직관성 있는 전국 재난 지도 서비스를 제공한다.
  • 여러 재난에 대한 정보를 모아 카테고리별로 구분, 사용자가 원하는 특정 조건에 따른 재난 문자 정보를 제공한다.
  • 재난 현황 데이터를 분석하여 2차 가공 후 API로 제공한다.

관련 기술의 현황

시장상황에 대한 분석

  • 경쟁제품 조사 비교
    • 안전디딤돌
      • 행정안전부에서 만든 어플리케이션으로 맞춤형 재난안전서비스를 제공한다.
      • 재난문자를 지역별, 재난별로 분류하여 조회할 수 있다.
      • 별도의 시각자료를 제공하지 않는다.
      • 재난문자 데이터를 분석하지 않고 단순히 그 정보를 나열하는 것에 그친다.
         
구분 안전디딤돌 레드 존
문자 분류 지역별, 재난별 지역별, 재난별, 위험레벨별, 기간별
분석 서비스 제공하지 않음 제공함
시각자료 제공하지 않음 지도, 레드 존, 파이 차트

개발과제의 기대효과

기술적 기대효과

  • 특정 지역에 있지 않더라도 해당 지역에 발송된 재난현황을 확인할 수 있다.
  • 시각적 자료를 활용한 데이터의 직관성을 확보할 수 있다.
  • 일상생활 내 다양한 분야에서 활용할 수 있다.

경제적, 사회적 기대 및 파급효과

  • 재난문자 분석으로 도출된 시각자료를 활용함으로써 사용자에게 재난의 위험성에 대한 경각심을 불러 일으킬 수 있다. 이에 따라 재난의 확산 및 피해 정도를 줄이는데 기여할 수 있다.

설계

설계사양

제품의 요구사항

  • R1: 사용자가 원하는 지역의 재난 문자 리스트를 볼 수 있어야 한다.
  • R2: 알기 쉽고 익숙한 인터페이스를 사용해야 한다.
  • R3: 재난 분석 결과를 쉽게 이해 할 수 있어야 한다.

기능 정의

  • F1: 필터 기능을 추가하여 사용자가 원하는 문자 리스트를 제공한다.
    • 필터는 재난분류, 지역설정, 위험레벨 설정, 기간설정으로 구성되어 있다.
    • 재난분류는 크게 기상특보, 질병, other 세 가지로 구성되며, 각각의 하위 카테고리가 존재한다.
기상특보는 기상청에서 발표하는 기상특보 발표기준을 참고했으며, 해당 내용은 아래와 같다.
   강풍 | 호우 | 한파 | 건조 | 풍랑 | 태풍 | 대설 | 황사 | 폭염 | 홍수 | 폭풍해일
질병은 전염성이 높은 질병 등에 대한 정보를 포함하며, 2020.06 기준 제공하는 정보는 아래와 같다.
   구제역 | AI | 코로나
other는 앞서 상술한 2가지 카테고리에 해당하는 내용을 제외한 나머지 모든 문자를 포함한다.
  • 지역설정은 시·도 단위부터 구·군 단위까지 설정할 수 있다.
  • 위험레벨은 위험 수준에 따라 INFO와 WARNING의 두 가지 레벨을 가지며, 중복 선택할 수 있다.
  • 기간설정은 검색할 기간을 사용자가 직접 설정할 수 있으며, 서비스 실행 시 초기 설정 값은 '최근 3개월'로 설정되어 있다.
  • F2: 사용자에게 친숙한 인터페이스를 사용하여 사용자가 각 기능의 결과를 예측할 수 있도록 한다.
    • 현재 상용되는 지도 API중 하나인 카카오맵 API를 사용한다.
    • 각 버튼의 기능을 나타내는 아이콘과 텍스트를 적절히 배치한다.
  • F3: 재난 분석 결과를 레드 존(red-zone)과 파이 차트(pie chart)로 나타낸다.
    • 지도 위에 각 지역의 위험 정도를 나타내는 붉은 원(레드 존)을 배치한다.
    • 레드 존의 크기는 필터가 적용된 각 지역의 문자수를 필터가 적용된 전국의 문자수로 나눈 비율을 사용한다.
    • 필터가 적용된 재난 문자의 분석 결과를 시각자료인 파이 차트로 나타낸다.

개념설계안

유스케이스

1. 유스케이스 다이어그램

Usecase diagram.png

2. 액터 목록

액터명 구분 설명
User 소비자 앱을 설치한 사용자
DB Server 공급자 재난 문자 API를 보관하는 DB
API Server 공급자 재난 문자 API를 제공
GPS System 공급자 GPS 기능을 제공


시스템 설계

System.png

  • 특정 주기로 재난문자방송 발령현황 API를 호출하고 파싱해 데이터베이스에 적재하는 배치 스크립트를 설정한다.
  • 원본 문자를 다시 지역별로 파싱해 별도의 테이블에 적재시킨다.
  • 안드로이드 앱 등의 클라이언트에서 발생한 api request를 nginx를 거쳐 flask 서버에서 처리한다.
  • 성능 저하를 최소화하기 위해 db replica를 구성하고 해당 서버에 redash docker를 세팅해 별도의 분석 서버를 운용한다.


데이터베이스 설계

1. DBMS

DBMS 설명
mariaDB 재난 문자 데이터베이스


2. 데이터 모형

Data model.png

상세설계 내용

UI 설계

1. UI Flow

Ui flow.png

2. 메뉴 구성

시스템 Level1 Level2 Level3 Level4
사용자용
프로그램
지도 필터 재난선택
지역선택
상세정보 문자보기 문자내용
메뉴 공지사항
Copyright


화면 설계

Flow chart.png

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

Piechart.jpg Filter.jpg Map.jpg Message.jpg

어플리케이션 다운로드 (7월 중 서버 닫힐 예정)

시연 영상 및 발표자료는 문서의 Appendix 참고

포스터

Redzone poster.jpg

어플리케이션 아이콘

Redzone icon.png

관련사업비 내역서

항목(품명, 규격) 수량 금액(단위:천원)
스터디룸 대여료(회의비) 5 167,000
Notion 사용료(협업 툴) 3 90,330

완료작품의 평가

평가항목 평가방법 적용기준 개발 목표치 비중(%) 평가결과
 1. 지도 데이터를 잘 불러올 수 있는가? 어플리케이션 유/무 25%
 2. 사용자가 원하는 조건으로 필터를 설정할 수 있는가? 어플리케이션 유/무 25%
 3. Pie Chart가 정상적으로 출력되는가? 어플리케이션 유/무 25%
 4. 재난문자 목록을 잘 불러올 수 있는가? 어플리케이션 유/무 20%
 5. 특정 재난문자의 내용을 확인할 수 있는가? 어플리케이션 유/무 5%


향후계획

  • 어플리케이션 만족도 조사를 통한 서비스 개선

Appendix

소프트웨어 프로그램 소스

https://github.com/cnjxkdrk/RED-ZONE

어플리케이션 다운로드 링크

https://drive.google.com/file/d/16233XdLhYEE3wo7ykn1l8YmD-U3MlX7T/view?usp=sharing

어플리케이션 시연 영상 링크

youtu.be/yukwLz8c4sk

프로젝트 발표자료 링크

youtu.be/XSuLCq-agt8