\documentclass[a4j,11pt]{jbook} \usepackage{graphicx} \usepackage{url} \thispagestyle{empty} \addtolength{\topmargin}{-2cm} \addtolength{\textheight}{3cm} \addtolength{\textwidth}{1cm} \addtolength{\oddsidemargin}{-0.5cm} \addtolength{\evensidemargin}{0.5cm} \usepackage{ulem,color,graphicx,eclbkbox} \usepackage{multicol} \begin{document} \pagestyle{empty} \thispagestyle{empty} \item 個別アカウントによるグループ管理 \item 災害時に利用者の避難状況を把握できる機能 \item 少人数グループで情報共有するためのマップ作成アプリケーション \item 一定範囲の地域内の分布を表示するマップ作成アプリケーション \end{enumerate} \chapter{システムの概観} 本研究で開発するシステムの内容について記述する。 \section{用語解説} システムを提案する上で必要となる用語の解説を記述する。 \subsection{データの正規化} 今回DBMSでデータを管理するため、データを正規化する必要がある。正規化と は、データを効率良く扱うために特定のルールにしたがって整理することであ る。 \subsection{Leaflet} LeafletとはWeb地図を作成する際に使用するオープンソースのJavaScriptライ ブラリである。 \subsection{JSON形式} JSON (JavaScript Object Notation)とは、データを表現するための記法である。 \subsection{CGI} CGI(Common Gateway Interface)とは、 Webサーバとプログラム間のデータの 送受信の規格で、ブラウザからの要求に応じてプログラムを起動し、その 結果をブラウザに返すためのインターフェイスである。 \section{システムの概観} 構築するシステムの概観と内容について記述する。 \section{作業環境} 開発は以下の環境で行う。 \begin{itemize} \item Ruby 2.3.0 \item Leaflet 1.3.4 \item SQlite3 \end{itemize} \section{扱うデータ} \label{data} 今回は正規化を行った以下のテーブルでデータを管理する。 \begin{itemize} \item user(ユーザ名, パスワード) \item users(クッキーID, ユーザ名, 最終ログイン時刻) \item ginfo(グループ名, グループの管理ユーザ名) \item gmember(ユーザ名, 所属するグループ名) \item latlng(グループ名, ユーザ名, 取得した経度, 取得した緯度) \item time(ユーザ名, グループ名, 取得した時刻) \item local(ユーザ名, 設定した地域) \end{itemize} \section{個別アカウントによるグループ管理} 本システムを利用する際、利用者を特定するための個人アカウント周辺 の機能に関して記述する。 \subsection{個人アカウント作成} ユーザ名とパスワードを設定し、利用者個人を判別するためのアカウントを作 成する機能である。ユーザ名をuserテーブルにおけるユニークキーとするため、 ユーザが既存のアカウントと重複していた際にはエラーを表示する(エラー時 のスクショ)。 \subsection{ログイン} 作成したアカウントのユーザ名とパスワードを入力し、システムにログインす るための機能である。ログインと同時にクッキーIDを取得する。認証期限は24 時間に設定している。 \subsection{グループ作成・管理} \label{group} 後述の少人数グループでの利用をするためのグループを作成・管理する機能で ある。以下の3つの機能からなる。 \begin{itemize} \item 新規グループの作成 \item グループへの加入 \item 加入済みグループからの脱退 \end{itemize} \section{位置情報を利用した情報共有} 本システムのメインとなる機能である。利用者が意図的に送信した情報をマッ プ上に表示して共有する機能と、そこで得た情報を元に地域ごとに利用者の分 布を表示する機能の大きく2つに分かれる(概念図挿入)。 \subsection{少人数グループでの利用} \label{shounin} (\ref{group})を用いて作成したグループ単位で利用するシステムである。グルー プメンバーが最後に利用した位置情報、名前、時刻をマップ上のピンで表示す る。一度情報を送信し始めると1秒毎に自動で情報を送信・マップを更新する (スクショ挿入)。 \typeout{=== Region from (point) to (mark) ===} \end{document}