블루버드

cdc wiki
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 기후 재해 상황 길잡이 애플리케이션

영문 : Assistant application to cope with climate disaster

과제 팀명

블루버드

지도교수

안*현 교수님

개발기간

2022년 9월 ~ 2022년 12월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20199200** 홍*섭(팀장)

서울시립대학교 컴퓨터과학부 20169200** 김*훈

서울시립대학교 컴퓨터과학부 20129200** 김*훈

서울시립대학교 컴퓨터과학부 20169200** 이*현

서울시립대학교 컴퓨터과학부 20169200** 최*선

서론

개발 과제의 개요

개발 과제 요약

◇ 여러 출처와 기관에서 제공하는 기상 예보를 종합하여 제공하고, 비교할 수 있는 기능을 구현한다.

◇ 폭우, 폭설과 같은 기후 재난 상황의 경우 푸쉬 알림 기능으로 경고뿐 아니라, 구체적인 행동 요령을 알리고, 대피가 필요할 시 인근의 지정대피소를 함께 안내하는 기능을 제공한다.

◇ 지역 즐겨찾기 기능을 설정하여 위치한 곳이 아니더라도 원하는 지역의 기상 상황을 받을 수 있도록 한다.

◇ 침수와 같은 직접적인 피해뿐 아니라 교통 지연 상황, 도로 통제와 같은 간접적인 피해 상황전달이나 저지대에 있는 건물의 침수 이력을 통한 침수 위험 경고와 같은 정보를 분석하여 제공하는 기능으로의 확장을 목표로 한다. 최근 8월 폭우로 인해 침수 피해가 많이 발생한 관악구와 서초구의 분석을 우선순위로 한다.

◇ 기상 예보는 악천후에 대비하거나, 재난 상황을 경고하는 데 필요한 것만은 아니다. 수집한 데이터를 통해 야외 활동, 관광, 쇼핑 등에 기상 데이터를 활용할 수 있는 기능으로 확장하는 것도 사회적으로 긍정적 영향을 미칠 수 있다. 시민의 생명, 재산의 보호를 위한 직간접적 재해 정보 전달과 사고 예방을 1차 개발 목표로 삼고, 기상 데이터의 추가 수집과 활용에 관한 가능성을 열어둔다.

개발 과제의 배경

◇ 2022년 8월경에는 중부 지방 피해로 인해 여러 사상자가 발생했는데, 관악구 반지하 사건의 경우에는 여러 가지 악재들이 겹쳐지며 사망자가 발생했는데, 그중 하나의 이유는 긴급재난 문자의 발송이 늦어져 피해자들이 문자를 받았던 시점에는 이미 물이 많이 밀려온 것이다. 긴급재난 문자는 발송 결정을 위해서 신중한 판단을 거쳐야 해서 늦어진 것으로 보인다. 그렇지만 해당 지역의 경우 이전의 폭우에도 침수가 된 적이 있는 만큼 기존의 강우량과 피해 데이터를 가지고 위험성을 예측하여 조금 더 낮은 수준의 경보를 미리 알려준다면 대피 가능성이 커질 것으로 예상된다.

◇ 같은 사건의 경우에서 피해 장소에는 발달장애 가족들이 살고 있었지만, 보호자는 해당 시간 병원에 있었고, 적시에 상황을 알지 못한 채 침수가 진행된 뒤에야 딸의 전화를 받고 상황을 알게 되었다. 이처럼 보호자가 같이 있지 않았을 때 재난 상황을 알기 어렵다는 점 또한 개선이 필요한 부분이다.

◇ 평소 사람들은 재난 상황에 따른 대피소의 위치를 기억하고 있지 않기 때문에 대피 상황 발생 시 문제없이 대처할 수 있도록 대피소의 위치와 추천 경로, 대처법을 신속하게 전달하는 기능이 있으면 좋을 것이다.

◇ 폭우와 폭설의 경우에는 교통을 마비시킬 수 있다. 대피가 필요한 상황의 경우 이로 인해 발생하는 지연 문제에 민감할 것이다. 그와 같이 심각한 경우는 아니더라도 직장이나 학교로 오가는 상황에서는 폭우, 폭설과 같은 기상 악화로 인해 교통 상황이 어느 정도로 지연이 될지 파악하는 것은 연기나 재택 전환 등의 변경을 고려할 때 유용한 정보가 될 수 있다. 기상 데이터는 위에서 언급한 것처럼 다양한 정보와 응용력을 가지고 있으므로 교통과 기상에 관한 데이터를 수집하여 분석한다면 이러한 예측이 가능할 것으로 보인다.

◇ 기상정보는 데이터 중에서도 활용성이 높고, 2015년 19조1000억 원 수준이던 세계 기상 산업 시장은 올해 26조7000억 원 이상으로 성장할 것이 예상될 만큼 성장성이 크다. 기상 상황은 건설, 관광 같은 분야처럼 날씨의 영향을 직접 받는 곳뿐만 아니라, 커피 전문점, 편의점 같은 일상생활에서 자주 접하는 업종의 매출에도 영향을 주는 만큼 기상 데이터는 다양한 곳에 활용될 수 있다.

개발 과제의 목표 및 내용

◇ 기상과 관련된 문제는 쉽게 볼 수 있는 편의성이 중요하므로 모바일 환경에서 동작할 수 있도록 모바일 애플리케이션으로 제작한다. 상대적으로 다양한 기기에서 작동하는 안드로이드 애플리케이션 개발에 우선순위를 더 높게 잡고, Kotlin 언어를 활용하여 개발을 진행한다.

◇ 실시간 날씨 정보를 제공하는 기능 또한 구현한다. 기상청에서 제공하는 API를 이용한 날씨 예보를 먼저 전달하고, 다른 ‘수치 예보모델’을 사용하는 출처들에서 제공하는 날씨 정보 또한 취합 하여 비교해 볼 수 있는 기능을 구현한다.

◇ 과거의 폭우와 폭설 피해 정보를 분석하여 현재 날씨 상황이 피해가 우려되는 수준일 경우 미리 주의를 요하는 알림을 보낸다. 특히 관련된 피해가 자주 발생한 서울의 관악구와 강남구 지역에서 잘 작동되는 것을 우선순위로 하여 구현한다.

◇ 기상 악화로 인한 비상 상황 발생 시 적절한 행동 요령을 제시하며, 대피가 필요한 경우 신속하게 대피할 수 있도록 가까운 거리의 대피소를 안내한다. 스마트폰을 가진 사람이 알 수 있도록 화면에 나타나는 알림과 소리가 나는 알림을 전송한다. 대피 상황 시 발송되는 알림과 길안내서비스 API를 이용하여 알림 수신 시 자동으로 목적지를 대피소로 설정함으로써 지정된 대피로로 안내하여 재난 발생에 대한 피해를 최소화하는 것을 목표로 한다.

◇ 기상청 데이터와 스마트카드 빅데이터, 도로 교통량 등 교통정보 데이터를 이용하여 날씨에 따른 교통량, 교통 시간의 관계를 분석한다. 이를 통해 날씨에 따라 교통수단에 의한 이동 시간에 얼마나 변동이 있을 수 있는지 안내하는 기능을 구현한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

◇ 안드로이드: 안드로이드는 스마트폰, 태블릿 PC 같은 터치스크린 모바일 장치용으로 디자인된 운영 체제이자 수정된 리눅스 커널 버전을 비롯한 오픈 소스 소프트웨어에 기반을 둔 모바일 운영 체제다. 안드로이드는 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 소프트웨어 개발 키트(SDK)를 통해 응용 프로그램을 개발하는 데 필요한 각종 도구와 응용 프로그램 인터페이스(API)를 제공한다.

◇ 오픈 API: API는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. API를 사용하면 구현 방식을 알지 못하는 제품 또는 서비스와도 통신할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있다. API는 공개 범위에 따라 Private API, Partner API, Public API로 나뉜다. 오픈 API는 누구나 사용할 수 있도록 공개된 API를 말한다. 데이터를 표준화하고 프로그래밍해 외부 소프트웨어 개발자나 사용자가 바로 개발(애플리케이션)에 활용할 수 있는 형태의 개방 형식이다. 개방된 오픈 API를 이용해 다양한 형태의 플랫폼을 개발할 수 있다.

◇ 코틀린: 코틀린(Kotlin)은 JVM에서 동작하는 크로스 플랫폼 오픈소스 프로그래밍 언어이다. 2011년 7월, 젯브레인사가 공개하였으며 코틀린 v1.0은 2016년 2월 15일 출시되었다. 이는 최초의 공식 안정판으로 간주하며 젯브레인즈는 이 버전을 기점으로 장기간의 하위 호환성을 약속하였다. 구글 I/O 2017에서 구글은 코틀린을 안드로이드 공식 지원 언어에 추가하였으며 2019년부터는 안드로이드 개발을 위한 공식 언어로 지정되었다.

◇ Apache: 아파치 HTTP 서버(영어: Apache HTTP Server)는 아파치 소프트웨어 재단에서 관리하는 오픈 소스, 크로스 플랫폼 HTTP 웹 서버 소프트웨어다. BSD, 리눅스 등 유닉스 계열뿐 아니라 마이크로소프트 윈도우나 노벨 넷 웨어 같은 기종에서도 무료로 운용할 수 있다.

◇ MongoDB: MongoDB는 NoSQL로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. MySQL처럼 전통적인 테이블-관계 기반의 RDBMS가 아니며 SQL을 사용하지 않는다. ACID를 포기함으로써 데이터의 일관성을 보장받지는 못하지만, RDBMS보다 성능이 강하다는 이점이 있다.

  • 특허조사 및 특허 전략 분석

◇ 공익적 목적으로 서비스하여 수익 분배와 같은 문제를 발생시키지 않도록 하여 법적 분쟁으로 이어지는 가능성이 없도록 한다.

◇ 서비스를 외부에 제공하게 되면 github를 통해 소스 코드를 공개하여 MongoDB에 대한 라이선스 문제가 발생하지 않도록 한다.

◇ 앱을 만드는 데 사용하는 툴들의 라이선스를 명시하여 특허와 저작권 분쟁이 일어나지 않도록 한다.

  • 기술 로드맵

◇ 사용자 인터페이스 구현

◇ API 연결 및 데이터 처리

◇ 사용자 정보와 재난 피해 상황 등 다양한 데이터베이스를 수집 및 활용

◇ 앱 테스트 및 디버깅

시장상황에 대한 분석

  • 경쟁제품 조사 비교

◇ 안전디딤돌 – 행정안전부 자연 재난, 사회재난, 시설물, 생활안전에 대한 정보를 제공한다. 각종 재난별 행동 요령 및 지도 서비스와 연계하여 대피소의 정보와 길 찾기 서비스를 제공한다. 재난 문자, 기상특보 수신 알림 설정을 통해 전국 혹은 즐겨찾기 지역의 해당 정보를 수신할 수 있다. 재난 상황을 최소 2개 이상 설정하여 사용자에게 필요한 재난 정보를 제공한다.

안전디딤돌에서 제공하는 정보는 다음과 같다.

자연 재난( 기상정보, 지진, 태풍, 하천ㆍ강우, 황사, 산사태, 급경사지, 해파리, 적조, 가뭄 예ㆍ경보 ) ○기상정보 : 관심 지역 3개, 현재 지역, 중기예보 제공, 전국단위 기상특보를 시각적 지도 정보와 함께 제공한다. ○하천, 강우 정보 : 지도 정보와 함께 전국 하천의 수위와 위험, 경보 수위를 함께 제공. 관측소의 강우량 정보를 10분 단위로 제공한다.

사회재난( 미세먼지, 전력 수급, 해양오염 대응, 감염병, 가축전염병, 가스, 방사선, 산불 )

시설정보( 민방위대피소, 지진 옥외대피 장소, 지진해일 긴급대피 장소, 무더위쉼터, 한파 쉼터, 미세먼지 쉼터, 임시주거시설, 응급의료센터, 병원, 약국, 혈액원, 소방서, 경찰서, 해양경찰서, 화학사고 대피장소 )

생활안전( 민방위 교육, 교통정보, 물놀이 정보, 산행 정보, 소방 정보, 수상레저, 지진에 안전한 우리 집, 생활 기상 ) 침수 위험 지역에 대한 경고 서비스는 제공하지 않는다.

◇ 경기 안전 대동여지도 – 경기도 소방재난본부 경기 지역에 대하여 자연 재난, 사회재난, 교통사고, 실종 사고, 출동 차량 위치 확인 등의 정보를 제공한다. 사용자의 현재 위치 정보를 이용하여 주변의 사회재난, 자연 재난 등 재난 정보를 네이버 지도 앱 위에 시각적으로 표기하는 서비스를 제공한다. 이 외에도 유해화학물질 취급 사업장 정보, 실시간 기상정보, 대기 측정망 오염도, 사고대응 정보, 화학사고 대피장소 등의 유해화학물질 관련 정보와 교통 사고다발지역, 위험시설정보, 강력범죄 다발 지역, 내진설계 조회 등 각종 안전 정보를 제공한다. 공중화장실, 병원, 대피 시설, 경찰서 등 사회 인프라의 위치와 지역에서 개최되는 문화 행사 정보들을 네이버 지도 앱 위에 시각적으로 표기하는 서비스를 제공한다.

경기도청에서 제작한 앱으로 재난 정보뿐 아니라 안전 정보, 경기 지역의 행사와 같은 다양한 정보를 제공한다. 침수 위험 지역에 대한 경고 서비스는 제공하지 않는다.

  • 마케팅 전략 제시

◇ 기존의 앱들은 지자체에서 발송하는 긴급재난 문자에 맞추어 행동 요령이나 대피소를 간편하게 제공하는 것이 주요 기능인데, 본 애플리케이션에서는 이전 강수, 침수 등 과거 재해 이력을 바탕으로 재난 문자 발송 이전에 주의사항을 안내하여 미리 대비할 수 있다는 점을 강조한다.

◇ 다른 재난 앱들은 비 재난 상황에서는 접근할 요인이 적지만, '블루버드'는 비 재난 상황에서도 여러 기관에서 제공하는 기상 예보를 종합하여 제공하여 접근성에 강점을 두어 마케팅한다.

개발과제의 기대효과

기술적 기대효과

◇ 재난 상황에 대한 피해 사실을 수집하고 분석하여 재난 상황을 예상하는 모델을 수립한다.

◇ 우천 데이터와 실시간 교통정보를 연결하여 기상 악화 시 발생할 수 있는 운전자의 이동 경로 데이터를 수집하고 활용할 수 있다.

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

◇ 침수 가능성에 대해 미리 경고할 수 있다면, 1차원적으로는 기존에 접하기 어렵던 침수 피해 예고를 통해 시민들의 권익을 보호할 수 있다. 또한 해당 정보를 토대로 가정 단위에서 침수 피해의 예방과 대처에 대해 준비할 기회를 얻게 될 것을 기대하며, 사회적으로는 많은 경제적 손실을 낳는 도심 침수 피해에 대하여 어느 지역의 기반 시설을 우선 보완하고 점검해야 할지, 어느 지역의 시민들에게 합당한 대처요령이 무엇일지 판단하는 데 도움이 될 수 있을 것이다.

◇ 서울 지역의 재난 정보 맞춤 데이터를 제공하여 해당 지역에 거주하거나 해당 지역을 이동하는 시민들의 안전을 도모할 수 있다.

기술개발 일정 및 추진체계

팀원의 구분을 위해 이름 뒤에 입학년도를 표기함.

개발 일정

BBPlan.PNG

구성원 및 추진체계

◇ 김*훈(16) : 침수 피해 지역 자료 수집 및 분석, 문서 정리

◇ 김*훈(12) : 데이터-애플리케이션 화면 간 연동, 대피소 안내 기능 구현

◇ 이*현 : 날씨 데이터 수집 및 분석, 재난 상황 제보 기능 구현

◇ 최*선 : 애플리케이션 UI 디자인 설계 및 관리, 대피시 행동 요령 기능 구현

◇ 홍*섭 : 교통 데이터 수집 및 분석, 교통 정보 및 지도 기능 구현

설계

설계사양

제품의 요구사항

BBReq.PNG

유스케이스 다이어그램

BBUC.png

개념설계안

◇ 사용자 위치 정보 수집

◇ 사용자 위치 데이터 기반 기상 예보

◇ 사용자 위치 데이터 기반 교통상황 안내

◇ 침수 흔적 데이터와 기상 및 교통상황을 이용한 재난 발생 가능 지역 안내

◇ 재난 대응 매뉴얼 제공

◇ 대피소 정보 제공

◇ 재난 상황 공유 게시판


모바일

사용 언어: Kotlin, 라이브러리: kakaoMap APi(지도 기능), Retrofit, OKHTTP3(http 통신)

서버

사용 플랫폼: Node.js, 프레임워크: Express.js, DB: MongoDB

목적 계통도

BB PPTree.PNG

상세설계 내용

소프트웨어 설계

BBSftDsn1.PNG

BBSftDsn2.PNG

유스케이스 명세서

BBUcRcp1.PNG

BBUcRcp2.PNG

BBUcRcp3.PNG

결과 및 평가

완료 작품의 소개

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

◇ 로딩 화면

BBAppLoading.png

◇ 날씨 확인

BBAppWeather.png

◇ 침수 대피 매뉴얼 목록

BBAppManualOpt.png

◇ 대피 매뉴얼 내용

BBAppManualCont.png

◇ 대피소 메뉴

BBAppShelterOpt.png

◇ 대피소 목록 확인

BBAppShelterCont.png

◇ 사고 접수

BBAppReport.png

◇ 도로 교통 돌발 사항 정보

BBAppTraffic.png

관련사업비 내역서

비용 지출 사항 없음

완료작품의 평가

평가항목 평가방법 적용기준 개발 목표치 비중(%) 평가결과
1. 응답시간 API 호출을 통해 정보를 불러온 후 보여주는데 걸리는 시간 기능 실행 시부터 걸리는 시간 측정 5초 이내 20% 100
2. 안정성 예외 상황이 발생하더라도 적절히 처리하는가, 정확하고 일관된 결과를 제공하는가 http 통신 실패 시 오류 처리가 되는가
일반 사용 시 오류 없이 작동하는가
2개 25% 85
3. 편의성 사용자가 이 프로그램을 사용할 때 쉽게 이해하고 쓸 수 있는가 대피소 기능을 탐색하는 것이 어렵지 않은가
매뉴얼, 제보 기능 등을 쉽게 접근할 수 있는가
화면의 UI가 통일성이 있는가
3개 25% 85
4. 기능의 유용성 실제 대피시에 도움이 되는 정보를 충분히 담고 있는가 재난 상황시 대피소를 빠르게 검색하여 대피할 수 있는가
교통 정보를 바탕으로 재난 시 이동경로를 파악할 수 있는가
사용자가 침수 재난 대비에 대한 정보를 잘 파악할 수 있는가
2개 30% 70

향후계획

어려웠던 내용

◇ 돌발교통정보를 보여주는 데는 성공했지만 길찾기 기능에는 구현이 어려웠다.

◇ 대피소를 조회하는 데만 그쳤고 전화 걸기, 가까운 대피소 찾기 등 다른 기능들은 구현이 어려웠다.

◇ 침수 흔적을 CAD의 형식으로 표시하는 데이터를 찾았지만 애플리케이션 개발에 활용하지는 못했다.

차후 구현할 내용

◇ 단순히 사고접수보다는 다른 사람들이 확인 가능하도록 게시판의 형태로 만들고 싶다.

◇ 대피소에 전화 걸기, 가까운 대피소 찾기 등의 세부 기능을 추가하고 싶다.

◇ 기존에 찾은 침수 흔적 데이터를 지도에 반영하여 과거의 침수 이력을 쉽게 알아볼 수 있도록 구현하고 싶다.

특허 출원 내용

해당사항 없음