"챌린저스조"의 두 판 사이의 차이
잔글 |
(→개발 과제의 목표 및 내용) |
||
33번째 줄: | 33번째 줄: | ||
◇ 블록체인의 분산원장 기술을 활용하여 각 부대가 갖고 있는 서버의 정보를 통합하는 효과가 발생한다. 군은 작게는 대대 단위, 크게는 군, 사령부, 본부 단위로 각각 다른 서버를 운영하고 있다. 서버들은 각기 다른 체계와 표준을 갖고 있기에 각 부대별로 정보를 통합하려면 통합용 서버와 표준이 따로 있어야 한다. 또한 군용 인트라넷망도 각 부대마다 전송용량이 달라 정보 전송에 걸리는 시간도 천차만별이다. 블록체인의 분산원장 기술을 적용한다면 모든 서버가 같은 하나의 원장을 가질 수 있기에 비용과 시간이 훨씬 절약될 수 있다. | ◇ 블록체인의 분산원장 기술을 활용하여 각 부대가 갖고 있는 서버의 정보를 통합하는 효과가 발생한다. 군은 작게는 대대 단위, 크게는 군, 사령부, 본부 단위로 각각 다른 서버를 운영하고 있다. 서버들은 각기 다른 체계와 표준을 갖고 있기에 각 부대별로 정보를 통합하려면 통합용 서버와 표준이 따로 있어야 한다. 또한 군용 인트라넷망도 각 부대마다 전송용량이 달라 정보 전송에 걸리는 시간도 천차만별이다. 블록체인의 분산원장 기술을 적용한다면 모든 서버가 같은 하나의 원장을 가질 수 있기에 비용과 시간이 훨씬 절약될 수 있다. | ||
====개발 과제의 목표 및 내용==== | ====개발 과제의 목표 및 내용==== | ||
− | 1) 블록체인 개발 하이퍼레저를 이용하여 군수품의 목록과 이동 현황을 블록체인의 형태로 저장한다. private 형태로 허가된 사용자만이 블록체인에 접근할 수 있도록 하고 적절한 분산합의 알고리즘을 사용하여 효율적인 작동이 이루어지도록 한다. | + | 1) 블록체인 개발 하이퍼레저를 이용하여 군수품의 목록과 이동 현황을 블록체인의 형태로 저장한다. private 형태로 허가된 사용자만이 블록체인에 접근할 수 있도록 하고 적절한 분산합의 알고리즘을 사용하여 효율적인 작동이 이루어지도록 한다.<br/> |
− | 2) Smart Contract 개발 중개자가 없이 P2P로 쉽고 편리하게 계약을 체결하고 수정할 수 있어야 한다. 블록체인의 분산원장기술이라는 특성을 이용하여 다양한 형태의 계약과 계약의 결과에 대한 신뢰를 쌓아나갈 수 있는 자동화된 계약 처리의 형태를 개발하도록 한다. | + | 2) Smart Contract 개발 중개자가 없이 P2P로 쉽고 편리하게 계약을 체결하고 수정할 수 있어야 한다. 블록체인의 분산원장기술이라는 특성을 이용하여 다양한 형태의 계약과 계약의 결과에 대한 신뢰를 쌓아나갈 수 있는 자동화된 계약 처리의 형태를 개발하도록 한다.<br/> |
− | 3) 클라이언트 구축 JavaScript에서 대표적인 프론트엔드 라이브러리, 프레임워크는 vue.js, react.js, angular.js가 있다. vue.js 기반인 nuxt.js를 이용하여 클라이언트를 구축하도록 한다. nuxt.js는 클라이언트 사이드 렌더링(CSR)인 vue.js를 서버 사이드 렌더링(SSR)이 가능하도록 만든 프레임워크이다. 클라이언트 사이드 렌더링(CSR)은 빈 페이지를 받아와 JavaScript를 실행하여 렌더링하는 방식이고 서버 사이드 렌더링(SSR)은 서버에서 JavaScript가 실행된 결과를 렌더링하는 방식이다. 프레임워크로서 nuxt.js는 비동기 데이터, 미들웨어, 레이아웃 등과 같이 클라이언트 측과 서버 측 사이에서 개발하는 데 도움이 되는 많은 기능을 제공한다. | + | 3) 클라이언트 구축 JavaScript에서 대표적인 프론트엔드 라이브러리, 프레임워크는 vue.js, react.js, angular.js가 있다. vue.js 기반인 nuxt.js를 이용하여 클라이언트를 구축하도록 한다. nuxt.js는 클라이언트 사이드 렌더링(CSR)인 vue.js를 서버 사이드 렌더링(SSR)이 가능하도록 만든 프레임워크이다. 클라이언트 사이드 렌더링(CSR)은 빈 페이지를 받아와 JavaScript를 실행하여 렌더링하는 방식이고 서버 사이드 렌더링(SSR)은 서버에서 JavaScript가 실행된 결과를 렌더링하는 방식이다. 프레임워크로서 nuxt.js는 비동기 데이터, 미들웨어, 레이아웃 등과 같이 클라이언트 측과 서버 측 사이에서 개발하는 데 도움이 되는 많은 기능을 제공한다.<br/> |
− | 4) 서버 구축 JavaScript에서 가장 대표적인 서버 엔진은 node.js이다. node.js에서는 express, koa, hapi를 사용하여 서버를 만드는데, express를 활용하여 서버를 구축하도록 한다. express는 MVC 모델에 기반을 두며, node.js 패키지로 제공되고 있다. npm에서 간단히 설치하고, 이를 통합한 서버 프로그램을 만들 수 있다. express에는 웹 응용 프로그램을 위한 기본적인 시스템이 구축되어 있으며, 이에 필요한 처리를 추가하는 것이다. node.js에서만의 구현과 동일하게 이벤트 처리를 통합해 간다는 기본적인 개발 스타일은 변함이 없지만, 준비되어 있는 다양한 객체를 이용하여 아주 쉽게 필요한 처리를 조합할 수 있다. | + | 4) 서버 구축 JavaScript에서 가장 대표적인 서버 엔진은 node.js이다. node.js에서는 express, koa, hapi를 사용하여 서버를 만드는데, express를 활용하여 서버를 구축하도록 한다. express는 MVC 모델에 기반을 두며, node.js 패키지로 제공되고 있다. npm에서 간단히 설치하고, 이를 통합한 서버 프로그램을 만들 수 있다. express에는 웹 응용 프로그램을 위한 기본적인 시스템이 구축되어 있으며, 이에 필요한 처리를 추가하는 것이다. node.js에서만의 구현과 동일하게 이벤트 처리를 통합해 간다는 기본적인 개발 스타일은 변함이 없지만, 준비되어 있는 다양한 객체를 이용하여 아주 쉽게 필요한 처리를 조합할 수 있다.<br/> |
− | 5) 데이터베이스 구축 MySQL을 이용하여 데이터베이스를 구축한다. MySQL은 다중 스레드, 다중 사용자를 지원하는 구조 질의어 형식의 데이터베이스 관리 시스템이다. MySQL을 선택한 이유는 고성능이면서 상대적으로 단순한 DBMS이고 또한 설치 및 관리도 쉬운 편이기 때문이다. 그리고 응용 프로그램에서 MySQL 데이터베이스에 접근하기 위해 C, C++, JAVA, Python 등 다양한 프로그래밍 언어로 된 API를 사용할 수 있다는 장점도 있다. | + | 5) 데이터베이스 구축 MySQL을 이용하여 데이터베이스를 구축한다. MySQL은 다중 스레드, 다중 사용자를 지원하는 구조 질의어 형식의 데이터베이스 관리 시스템이다. MySQL을 선택한 이유는 고성능이면서 상대적으로 단순한 DBMS이고 또한 설치 및 관리도 쉬운 편이기 때문이다. 그리고 응용 프로그램에서 MySQL 데이터베이스에 접근하기 위해 C, C++, JAVA, Python 등 다양한 프로그래밍 언어로 된 API를 사용할 수 있다는 장점도 있다.<br/> |
− | 6) 서버/데이터베이스 연동 서버 구축에 사용될 프레임워크인 node.js는 MySQL 연동 모듈을 지원한다. 먼저 npm을 이용하여 MySQL 모듈을 설치한 후 node.js와 MySQL을 연동함으로써 서버와 데이터베이스를 연동한다. | + | 6) 서버/데이터베이스 연동 서버 구축에 사용될 프레임워크인 node.js는 MySQL 연동 모듈을 지원한다. 먼저 npm을 이용하여 MySQL 모듈을 설치한 후 node.js와 MySQL을 연동함으로써 서버와 데이터베이스를 연동한다.<br/> |
7) RBAC 시스템 보안을 위한 접근통제를 위해 역할 기반 접근통제(Role-Based Access Control)를 사용한다. 역할 기반 접근통제란, 조직의 사용자가 수행해야 하는 직무(역할)와 직무 권한 등급을 기준으로 객체에 대한 접근을 제어하는 접근통제 방식이다. 접근 권한은 직무(역할)에 허용된 연산을 기준으로 허용하므로 조직의 기능 변화에 따른 관리적 업무의 효율성을 높일 수 있다. 사용자가 적절한 직무(역할)에 할당되고, 직무에 적합한 접근 권한이 할당된 경우에만 자원에 접근할 수 있다. | 7) RBAC 시스템 보안을 위한 접근통제를 위해 역할 기반 접근통제(Role-Based Access Control)를 사용한다. 역할 기반 접근통제란, 조직의 사용자가 수행해야 하는 직무(역할)와 직무 권한 등급을 기준으로 객체에 대한 접근을 제어하는 접근통제 방식이다. 접근 권한은 직무(역할)에 허용된 연산을 기준으로 허용하므로 조직의 기능 변화에 따른 관리적 업무의 효율성을 높일 수 있다. 사용자가 적절한 직무(역할)에 할당되고, 직무에 적합한 접근 권한이 할당된 경우에만 자원에 접근할 수 있다. | ||
+ | |||
===관련 기술의 현황=== | ===관련 기술의 현황=== | ||
====관련 기술의 현황 및 분석(State of art)==== | ====관련 기술의 현황 및 분석(State of art)==== |
2018년 12월 19일 (수) 06:48 판
프로젝트 개요
기술개발 과제
국문 : 블록체인 기반의 군수 관리 시스템
영문 : A blockchain-based military logistics management system
과제 팀명
챌린저스 (Challengers)
지도교수
이병정 교수님
개발기간
2018년 9월 ~ 2018년 12월 (총 4개월)
구성원 소개
서울시립대학교 컴퓨터과학부 2011XXX0** 오**(팀장)
서울시립대학교 컴퓨터과학부 2011XXX0** 최**
서울시립대학교 컴퓨터과학부 2013XXX0** 정**
서론
개발 과제의 개요
개발 과제 요약
◇ 군에서 정보에 중요성은 매우 높다. 정보는 하나하나의 전투와 이를 넘어 전략, 심지어는 전쟁 그 자체의 승패에 곧장 직결되기 때문이다. 그렇기에 군은 정보의 획득과 기밀성 유지에 심대한 노력을 기울이고 있다. 군이 관리하는 정보에는 여러 종류가 있는데, 적군에 대한 정보, 부대의 작전 지역과 세부 전투 작전에 대한 정보, 군수품에 대한 정보, 부대원과 부대 자산의 배치 상태 등 그 종류가 매우 다양하다. 그 중에서도 군수품에 대한 정보는 그 중요성에 비해 관리가 까다로워 작성된 정보와 실제 군수품의 수량이 일치하지 않는 경향이 많다. 또 현재 한국군은 각 부대별로 각각의 서버를 따로 두고 관리하고 있으며, 군 특성상 연결망이 민간에 비해 전송 용량과 속도가 좋지 않아 필요한 정보가 통합되기 어렵다는 단점도 갖고 있다. 이에 대해 우리는 블록체인이 제공해주는 투명성과 분산 원장 기술에 주목하여 이를 군수물품 관리에 적용하려고 한다. 우리 조가 제시한 목표는 그 중에서도 군 차량과 이에 속한 군의 인적, 물적 자산 이동에 대한 정보를 블록체인에 적용시키는 것이다.부대에서 군수품이 이동을 할 때 부대원이 부대장에게 해당 군수품에 대하여 불출을 요구한다. 이 때 블록체인 거래가 시도되며 부대장이 이를 허가하는 순간 스마트 컨트랙트에 의해서 거래가 성사되게 된다. 부대마다 각각 군사기밀을 갖고 있으며 군수품 목록과 이동 현황도 군사기밀에 속한다. 따라서 이 정보들은 해당되는 상위 권한자만이 열람할 수 있어야 한다. 이에 따라 ACL(Access Control List)를 작성하여 군수품의 이동 현황을 마음대로 열람할 수 없도록 해야 한다. UI는 구글맵에서 이루어지며 차량을 이동시키는 것으로 한다. 차량은 기본적으로 차량 제원(차량 종류)이 있으며, 구성원과 갖고 있는 군수품목은 같을 수도, 다를 수도 있다. 또한 맵에서 비주기적으로 임의의 상황이 발생하여 군수품 목록이 변동하고 이를 블록체인에 적용할 수 있어야 한다.
개발 과제의 배경
◇ 블록체인 기반으로 군수품을 더욱 투명하고 효율적으로 관리할 수 있도록 한다. 기존의 군수품의 불출 절차는 대략 소요가 정식으로 제기되면 이에 대한 권한을 가진 사람이 승인하고 이후에 군수품이 실제로 불출하는 형태이다. 이를 블록체인의 스마트 컨트랙트로 구현할 수 있다. 그렇게 되면 먼저 소요품을 제기하는 측에서 해당 책임자에게 거래를 신청한다. 책임자가 이 거래에 응하면 거래가 이루어지고 이에 대한 트랜잭션이 블록체인에 기록된다. ◇ 군수 차량의 이동정보를 GPS로 받아들여 위치를 바로 알 수 있다. 차량에 군수품을 적재하여 이동시킬 때 해당 차량의 종류, 차 번호, 이동 인원, 내부 물품 등에 대한 정보가 블록체인에 입력된다. 이후해당 차량에 부착된 OBD를 통해 차량의 실시간 위치와 상태를 지속적으로 수신하여 관리한다. ◇ 블록체인의 분산원장 기술을 활용하여 각 부대가 갖고 있는 서버의 정보를 통합하는 효과가 발생한다. 군은 작게는 대대 단위, 크게는 군, 사령부, 본부 단위로 각각 다른 서버를 운영하고 있다. 서버들은 각기 다른 체계와 표준을 갖고 있기에 각 부대별로 정보를 통합하려면 통합용 서버와 표준이 따로 있어야 한다. 또한 군용 인트라넷망도 각 부대마다 전송용량이 달라 정보 전송에 걸리는 시간도 천차만별이다. 블록체인의 분산원장 기술을 적용한다면 모든 서버가 같은 하나의 원장을 가질 수 있기에 비용과 시간이 훨씬 절약될 수 있다.
개발 과제의 목표 및 내용
1) 블록체인 개발 하이퍼레저를 이용하여 군수품의 목록과 이동 현황을 블록체인의 형태로 저장한다. private 형태로 허가된 사용자만이 블록체인에 접근할 수 있도록 하고 적절한 분산합의 알고리즘을 사용하여 효율적인 작동이 이루어지도록 한다.
2) Smart Contract 개발 중개자가 없이 P2P로 쉽고 편리하게 계약을 체결하고 수정할 수 있어야 한다. 블록체인의 분산원장기술이라는 특성을 이용하여 다양한 형태의 계약과 계약의 결과에 대한 신뢰를 쌓아나갈 수 있는 자동화된 계약 처리의 형태를 개발하도록 한다.
3) 클라이언트 구축 JavaScript에서 대표적인 프론트엔드 라이브러리, 프레임워크는 vue.js, react.js, angular.js가 있다. vue.js 기반인 nuxt.js를 이용하여 클라이언트를 구축하도록 한다. nuxt.js는 클라이언트 사이드 렌더링(CSR)인 vue.js를 서버 사이드 렌더링(SSR)이 가능하도록 만든 프레임워크이다. 클라이언트 사이드 렌더링(CSR)은 빈 페이지를 받아와 JavaScript를 실행하여 렌더링하는 방식이고 서버 사이드 렌더링(SSR)은 서버에서 JavaScript가 실행된 결과를 렌더링하는 방식이다. 프레임워크로서 nuxt.js는 비동기 데이터, 미들웨어, 레이아웃 등과 같이 클라이언트 측과 서버 측 사이에서 개발하는 데 도움이 되는 많은 기능을 제공한다.
4) 서버 구축 JavaScript에서 가장 대표적인 서버 엔진은 node.js이다. node.js에서는 express, koa, hapi를 사용하여 서버를 만드는데, express를 활용하여 서버를 구축하도록 한다. express는 MVC 모델에 기반을 두며, node.js 패키지로 제공되고 있다. npm에서 간단히 설치하고, 이를 통합한 서버 프로그램을 만들 수 있다. express에는 웹 응용 프로그램을 위한 기본적인 시스템이 구축되어 있으며, 이에 필요한 처리를 추가하는 것이다. node.js에서만의 구현과 동일하게 이벤트 처리를 통합해 간다는 기본적인 개발 스타일은 변함이 없지만, 준비되어 있는 다양한 객체를 이용하여 아주 쉽게 필요한 처리를 조합할 수 있다.
5) 데이터베이스 구축 MySQL을 이용하여 데이터베이스를 구축한다. MySQL은 다중 스레드, 다중 사용자를 지원하는 구조 질의어 형식의 데이터베이스 관리 시스템이다. MySQL을 선택한 이유는 고성능이면서 상대적으로 단순한 DBMS이고 또한 설치 및 관리도 쉬운 편이기 때문이다. 그리고 응용 프로그램에서 MySQL 데이터베이스에 접근하기 위해 C, C++, JAVA, Python 등 다양한 프로그래밍 언어로 된 API를 사용할 수 있다는 장점도 있다.
6) 서버/데이터베이스 연동 서버 구축에 사용될 프레임워크인 node.js는 MySQL 연동 모듈을 지원한다. 먼저 npm을 이용하여 MySQL 모듈을 설치한 후 node.js와 MySQL을 연동함으로써 서버와 데이터베이스를 연동한다.
7) RBAC 시스템 보안을 위한 접근통제를 위해 역할 기반 접근통제(Role-Based Access Control)를 사용한다. 역할 기반 접근통제란, 조직의 사용자가 수행해야 하는 직무(역할)와 직무 권한 등급을 기준으로 객체에 대한 접근을 제어하는 접근통제 방식이다. 접근 권한은 직무(역할)에 허용된 연산을 기준으로 허용하므로 조직의 기능 변화에 따른 관리적 업무의 효율성을 높일 수 있다. 사용자가 적절한 직무(역할)에 할당되고, 직무에 적합한 접근 권한이 할당된 경우에만 자원에 접근할 수 있다.
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
- 전 세계적인 기술현황
내용
- 특허조사 및 특허 전략 분석
내용
- 기술 로드맵
내용
시장상황에 대한 분석
- 경쟁제품 조사 비교
내용
- 마케팅 전략 제시
내용
개발과제의 기대효과
기술적 기대효과
내용
경제적, 사회적 기대 및 파급효과
내용
기술개발 일정 및 추진체계
개발 일정
내용
구성원 및 추진체계
내용
설계
설계사양
제품의 요구사항
내용
설계 사양
내용
개념설계안
내용
이론적 계산 및 시뮬레이션
내용
상세설계 내용
내용
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
내용
포스터
내용
관련사업비 내역서
내용
완료작품의 평가
내용
향후계획
내용
특허 출원 내용
내용