"삼삼"의 두 판 사이의 차이
(→제품의 요구사항) |
(→설계 사양) |
||
183번째 줄: | 183번째 줄: | ||
* F12 : 관리자는 생리대 함을 이름과 위치로 관리(추가, 수정, 삭제)한다. | * F12 : 관리자는 생리대 함을 이름과 위치로 관리(추가, 수정, 삭제)한다. | ||
− | ==== | + | ====세부기술 선택사항==== |
− | + | [[파일:삼삼기술.png]]<br/> | |
+ | ◆ 백엔드 – Java Spring, MariaDB, Amazon EC2<br/> | ||
+ | ◆ 프론트엔드 – Google Play, React Native<br/> | ||
+ | ◆ 디자인 – Adobe Photoshop, Figma<br/> | ||
+ | ◆ 협업 도구 – Github, Swagger, dbdiagram.io<br/> | ||
+ | ◆ 하드웨어 – 아두이노 wifi rev2, 라즈베리파이 zero w<br/> | ||
+ | ◆ 기타 – JWT(보안 토큰), REST API(통신)<br/> | ||
===개념설계안=== | ===개념설계안=== |
2021년 6월 10일 (목) 17:45 판
프로젝트 개요
기술개발 과제
국문 : 날개를 달다
영문 : UOSWing
삼삼
지도교수
김민호 교수님
개발기간
2019년 3월 ~ 2019년 6월 (총 4개월)
구성원 소개
서울시립대학교 컴퓨터과학부 20179200** 우*은(팀장)
서울시립대학교 컴퓨터과학부 20169200** 최*기
서울시립대학교 컴퓨터과학부 20169200** 유*온
서울시립대학교 컴퓨터과학부 20179200** 김*빈
서론
개발 과제의 개요
개발 과제 요약
서울 시립 대학교에는 ‘양심 생리대 함을 운영하는 소모임 ‘날개’가 있다. ‘양심 생리대 함’이란 여학우들이 생리대를 무료로 가져갈 수 있도록 모아두는 서비스를 뜻하며 현재 서울 시립대 내에는 4개의 양심 생리대 함이 위치 하고 있다. ‘날개’팀이 생리대 함을 관리하는 과정에서 겪는 불편함과 이용자가 겪는 불편함을 파악하여 이를 개선하고자 ‘양심 생리대 함 관리 IoT 시스템’을 구축하여 서비스 애플리케이션인 ‘날개를 달다’를 개발하고자 한다.
개발 과제의 배경
<배경>
- 이용자나 관리자가 생리대 함의 위치를 파악하기 어렵다.
- 이용자나 관리자가 각 생리대 함의 생리대 개수를 파악하기 위해 반드시 직접 현장에 가서 확인해야 한다.
- 관리 인력의 문제로, 생리대 함을 추가로 설치할 때마다 유지비용이 계속 증가한다.
- 평균적으로 사용되는 생리대 양을 파악하여 대비하기 어렵다.
- 이용자와 관리자가 커뮤니케이션할 수 있는 수단이 제한적이다.
- 생리대 함이 설치된 위치를 관리자가 직접 기억하고 있다가 다른 봉사자에게 인수인계해주어야 한다.
<효과>
- 양심 생리대 함 관련 관리자의 수고를 절감한다.
- 양심 생리대 함 이용자의 편리를 증대시킨다.
- 관리자와 이용자의 소통이 증가한다.
- 기존보다 적은 비용으로 생리대 함을 증설할 수 있다.
- 생리대 함뿐만 아니라 다양한 상태 측정으로 응용될 수 있다.
개발 과제의 목표 및 내용
<개발 목표>
- 각 생리대 함의 위치와 상태(생리대의 개수, 온습도)에 대한 정보를 제공한다.
- 이용자, 관리자 간 커뮤니케이션 수단을 확립한다.
- 각 생리대 함의 사용 통계 정보를 제공한다.
<개발 내용>
4차 산업혁명의 중심 기술인 ‘IoT’의 센싱 기술, 유무선 통신 기술, IoT 서비스 인터페이스 기술을 통합한 애플리케이션을 제작한다.
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
<전 세계적인 기술 현황>
- IoT(Internet of Things, 사물인터넷) 기술은 현재 4차 산업혁명 시대의 핵심 성장동력으로 여겨지는 기술이다.
IoT 기술을 이용하는 중에 데이터를 생성, 전달, 처리, 서비스하는 과정을 거치게 되는데, 이 과정에서 하드웨어와 관련된 센싱 기술, 통신과 관련된 유무선 통신 기술, 서비스와 관련된 서비스 인터페이스 기술이 골고루 고려되어야 한다.
현재 IoT 기술을 활용한 사례는 집 안의 사물들을 확인하고 제어할 수 있는 스마트 홈이 있다. 앞으로는 도시 전체가 스마트시티가 되어 대부분의 사물이 IoT로 이루어지게 될 것이라는 전망에 따라 IoT 기술이 빠르게 발전할 것으로 보인다.
- 하이브리드 앱은 네이티브 앱과 웹 앱의 기능을 결합한 기술로써 다양한 언어를 이용하여 앱을 구현할 수 있고 다양한 플랫폼에서 사용 가능하다는 장점이 있다.
하나의 앱을 개발하면 약간의 설정 파일 조정만을 통해 안드로이드, IOS 두 가지 플랫폼에서 모두 작동 가능하므로 경제적으로 유리하다.
간단한 프로젝트를 빠르게 구현해보기에 알맞은 기술이다.
- REST(Representational State Transfer)는 별도의 전송 계층 없이 HTTP 계층을 이용하여 데이터를 전송하는 네트워크 아키텍처 원리이다.
REST API란 REST 아키텍처를 사용하는 API 설계를 의미하며 별도 전송 인프라를 구축할 필요가 없고 HTTP 프로토콜을 사용하는 모든 플랫폼에서 사용할 수 있다는 장점이 있다.
또한, 서버와 클라이언트의 역할을 명확하게 분리할 수 있고 직관성이 좋다는 점에서 유지보수에 유리하다.
<특허조사>
1. IoT 기반의 생리대 보관함 및 생리대 재고관리 장치
- 출원번호 / 일자 1020190147041 (2019.11.15.)
- 상태 : 출원
- IoT 기반의 생리대 보관함 및 생리대 재고관리 장치는 IoT(Internet of Things) 센서가 부착되고 복수개의 칸들로 가변 구획되어 상기 복수 개의 칸들에 생리대가 수납 보관되고 상기 복수개의 칸들에 센서가 장착되어 보관된 생리대의 재고량을 감지하는 생리대 보관함, 스마트폰으로부터 상기 생리대 보관함에 부착된 IoT 센서를 태그하여 생리대 보관 정보를 수신하는 생리대 보관 정보 수신부, 및 수신된 생리대 보관 정보에 기초하여 생리대 재고를 관리하고 최저가 사이트를 추천하는 생리대 재고 관리부를 포함한다.
2. 생리대 보관함
- 공개번호/일자 1019950023387 (1995.08.18.)
- 상태 : 거절
1. 청구범위에 기재된 발명이 속한 기술분야 : 사용 하기전 여성 생리대 보관함은 전에 없었던 새로운 아이디어 상품으로서 새롭게 사용할 수 있는 가정 위생용 생활용품이다.
2. 발명이 해결하려고 하는 기술적 과제 : 이 발명품은 자세한 내용의 도면이 없이 설명만으로도 상품이 될 수 있는 경우이다.
3. 발명의 해결방법의 요지 : 이 발명품은 과거나 현재도 미래도 필요한 것이지만 지금까지 없었기에 좋은 상품이라 할 수 있다.
4. 발명의 중요한 용도 : 여성들이 사용하고 있는 생리대를 보관하는 함이다. 화장실이나 그밖에 노출되지 않도록 하며 미리 준비하지 못하여 겪는 불편함을 들어주는 역할을 한다.
<특허 전략>
아래와 같은 특징을 부각한다.
- 새롭게 생리대 함을 설치할 필요 없이 현재 시설들에 설치되어있는 생리대 함에 적용할 수 있다.
- 저렴한 하드웨어 모듈을 이용하여 인력 보급보다 경제적으로 효과적이다.
- 관리 인원의 인수인계 및 생리대 관리에 필수적인 서비스이다.
- 사용자가 공공생리대 함을 편리하게 이용할 수 있는 인프라를 갖출 수 있다.
<기술 로드맵>
1. 애플리케이션 구현 언어 선택
네이티브 앱 언어인 Java, Kotlin을 이용할 수도 있었지만, 대학생들이 사용하는 플랫폼을 모두 만족시켜야 했기 때문에 android와 ios를 동시에 구현할 수 있는 하이브리드 앱으로 개발하게 되었다.
또한, 기존에 알고 있던 React를 활용하면 낮은 러닝 커브를 지니고 있는 React Native를 사용함으로써 개발 난이도를 낮추었다.
2. API Server 프레임워크의 선택 API Server는 생리대 함의 생리대 현황을 갱신하고 조회하는 기능을 제공한다.
API Server의 프레임워크로는 Spring을 사용하였다. Spring을 선택한 이유는 다음과 같다.
① 의존성 주입을 통해서 두명 이상이 협업하기 좋다.
② JUnit을 통해서 테스트를 자동화하기 용이하다.
③ spring jpa를 통해 ORM(Object Relational Mapping) 기술을 사용할 수 있다.
④ swagger를 활용하면 API 문서화를 자동화 할 수 있다.
3. 하드웨어 sleep, timer 라이브러리 선택
기존 아두이노 UNO rev3 버전을 사용할 때는 LowPower라는 라이브러리를 사용하였다.
하지만, 아두이노 WIFI rev2 버전은 해당 라이브러리와 연동되지 못했기 때문에 RocketScream_LowPowerAVRZero를 대체로 사용하게 되었다.
마찬가지로 기존에 사용하던 LowPower 내장 타이머 함수를 사용할 수 없게 되었기 때문에 RocketScream_RTCAVRZero를 사용하여 일정 시간마다 sleep 모드를 해지해주는 타이머를 구현하였다.
4. 하드웨어 wifi 라이브러리 선택
기존 아두이노 UNO rev3 버전의 하드웨어는 와이파이를 지원하지 않기 때문에 WiFi 모듈이 필요했다.
그래서 ESP-01 모듈을 사용하였고, 아두이노 공식 홈페이지에 있는 라이브러리인 WiFiESP 라이브러리를 이용했다.
추후, PEAP 방식의 WiFi를 이용해야 함에 따라, 라이브러리 역시 아두이노 공식 홈페이지에서 UNO rev2 wifi를 지원한다고 명시된 WiFiNiNa 라이브러리를 이용했다.
시장상황에 대한 분석
<경쟁제품 조사 비교>
시장에 출시된 비슷한 제품은 없으며, 특허 출원한 “IoT 기반의 생리대 보관함 및 생리대 재고관리 장치”가 비슷한 기능을 하여 조사 후 비교하였다.
개인에게 특화된 특허 제품과 여러 시스템으로 확장할 수 있는 ‘날개를 달다’는 추구하는 바가 달라 서로 명확한 경쟁상대가 되지 않는다고 판단된다.
<마케팅 전략 제시>
- SWOT 분석
‘날개를 달다’의 강점은 한번 인프라를 구축해두면 시스템을 확장 시킬 때 드는 비용이 저렴하다는 것이다. 저렴한 하드웨어를 사용하였고, 확장 시에는 추가로 드는 서버 비용 또한 없기 때문이다. 또한, 기존에 존재하는 생리대 함에 하드웨어를 설치하기만 하면 되어서 해당 시스템의 도입이 번거롭지 않다. 마지막으로 학교에서 벗어나 다른 지역의 생리대 함도 관리할 수 있도록 확장할 수 있으며, 생리대 함뿐만 아니라 재고관리가 필요한 다른 시스템에도 도입할 수 있다.
하지만 ‘날개를 달다’ 시스템은 서버를 계속 구동시켜야 하므로 매달 서버 비용이 소모되며, 하드웨어 설치 시 비용이 발생하므로 초기 비용과 정기적인 비용 부담이 존재한다. 약간의 미관상 불편함을 끼칠 수 있지만, 하드웨어가 설치된 생리대 함 내부는 봉사자들만 볼 수 있는 것이므로 큰 불편은 없을 듯하다.
현재 공공생리대 함이 증설되고 생리대 함에 관한 사회적 인식이 증가하고 있으며, 이에 따라 해당 산업의 국가 지원율이 증가하고 있다. 따라서 충분한 지원을 받아 개발 및 유지보수를 이어나갈 수 있을 것이라 예상한다.
이러한 생리대 함 IoT 시스템 구축은 현재 사용된 부품들보다 저렴한 비용으로 설치 가능할 것이며 회로도만 있다면 누구든 설치할 수 있다는 점에서 다른 업체와의 경쟁이 발생할 수 있다.
‘날개를 달다’는 약점인 미관상의 불편함과 구축 비용을 줄이도록 노력할 것이며 강점인 기존 설치된 생리대 함에 구축할 수 있다는 점과 다른 재고관리 시스템에 사용될 수 있다는 점을 강조하여 마케팅할 것이다.
마케팅 대상은 해당 사업을 지원해 줄 수 있는 국가기관 또는 기업체가 될 것이다.
개발과제의 기대효과
기술적 기대효과
- 적외선 센서를 이용한 효율적인 개수 측정
적외선 거리 측정 센서를 이용하여 생리대까지의 거리를 측정하여 생리대 개수를 파악하는 알고리즘이 실제로도 제대로 수행되는지를 파악한다. 생리대 개수 측정이 정확하기만 하다면 적외선 센서는 무게 측정 센서와 비교하여 가격도 저렴하고 기존 생리대 함의 기능을 훼손하지 않기 때문에 효율적이다.
- 슬립 모드를 활용한 배터리 지속 기간 연장
아두이노의 슬립 모드를 이용하여 전력 소모를 최소화함으로써 배터리 지속 기간을 늘린다. 보조배터리 10,000mAh 기준 최소 2주의 배터리 유지 기간을 유지하도록 노력한다.
- 하이브리드 앱을 이용한 확장 가능성 고려
하이브리드 앱을 이용하여 안드로이드 앱뿐만 아니라 IOS 앱까지도 한 번에 개발할 수 있도록 확장 가능성을 열어둔다.
- REST API를 통한 통신
낮은 러닝 커브로 인한 빠른 개발과 서버의 부하 감소를 위해 하드웨어와 서버, 서버와 앱 간의 통신을 REST API를 이용한 HTTP 통신으로 처리한다.
경제적, 사회적 기대 및 파급효과
- 현재 활발히 이루어지고 있는 양심 생리대 함 사업에 이바지하여 더욱 많은 곳에 양심 생리대 함이 설치될 수 있다.
- 상태 측정이라는 분야에서 다양하게 활용될 수 있으며, 필요한 기능만을 수행하는 단가가 낮은 하드웨어를 사용함으로써 경제적 부담을 줄일 수 있다.
- 상태 관리에 필요한 인력 소모가 줄어들면서 유지비용이 저렴해지고, 상태에 대한 정확하고 신속한 관리와 통계를 제공할 수 있다.
기술개발 일정 및 추진체계
개발 일정
구성원 및 추진체계
- API, DB 설계 및 백엔드 개발 : 유시온, 최문기
- 프로토타입 디자인 및 프론트엔드 개발 : 김수빈, 우희은
- 아두이노, 라즈베리 파이, 센서 모듈을 이용한 하드웨어 구현 : 전원
설계
설계사양
제품의 요구사항
양심 생리대 함 이용의 불편함을 파악하기 위해 현장에서 직접 봉사하고 ‘날개’ 팀과 세 차례 인터뷰를 거친 결과 다음과 같은 요구사항을 도출했다.
[D : 필수, W ; 선택]
- 각 생리대 함의 생리대 잔고를 실시간으로 확인한다. (D)
- 각 생리대 함의 상태(온습도)를 실시간으로 확인한다. (D)
- 시각적으로 각 생리대 함의 위치를 확인한다. (D)
- 생리대 함이 신설되었을 시 편리하게 추가, 수정, 삭제한다. (D)
- 관리자 기능에는 관리자만 접근할 수 있다. (D)
- 이용자는 생리대 함에 문제 발생 시 신고할 수 있다. (W)
- 관리자는 신고를 확인하고 처리 상태를 변경할 수 있다. (W)
- 관리자는 공지사항을 남길 수 있다. (W)
- 관리자는 기간별 생리대 소모 통계를 확인할 수 있다. (W)
- Application의 모든 동작에 대해 로딩 시간은 2초를 넘기지 않는다. (D)
- 사용자에게 직관적인 UI/UX를 제공한다. (W)
- 배터리를 약 한 달간 유지한다. (W)
기능 정의 및 기능별 정량목표
- F1 : 생리대 함의 생리대 개수를 측정한다.
- F2 : 생리대 함의 온습도를 측정한다.
- F3 : 생리대 함의 위치와 생리대 개수, 온습도를 지도에 표시한다.
- F4 : 사용자는 공지사항을 확인한다.
- F5 : 사용자는 생리대 함에 대한 불편사항을 신고한다.
- F6 : 관리자는 키로 로그인한다.
- F7 : 관리자는 신고를 분류 별로 확인한다.
- F9 : 관리자는 해결된 신고를 해결 처리한다.
- F10 : 관리자는 측정된 생리대 소모 통계를 확인한다.
- F11 : 관리자는 공지사항을 제목과 내용으로 관리(추가, 수정, 삭제)한다.
- F12 : 관리자는 생리대 함을 이름과 위치로 관리(추가, 수정, 삭제)한다.
세부기술 선택사항
◆ 백엔드 – Java Spring, MariaDB, Amazon EC2
◆ 프론트엔드 – Google Play, React Native
◆ 디자인 – Adobe Photoshop, Figma
◆ 협업 도구 – Github, Swagger, dbdiagram.io
◆ 하드웨어 – 아두이노 wifi rev2, 라즈베리파이 zero w
◆ 기타 – JWT(보안 토큰), REST API(통신)
개념설계안
내용
이론적 계산 및 시뮬레이션
내용
상세설계 내용
내용
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
내용
포스터
내용
관련사업비 내역서
내용
완료작품의 평가
내용
향후계획
내용
특허 출원 내용
내용