名称 MIRS1904 ソフトウェア詳細設計書
番号 MIRS1904-SOFT-0001

版数 最終更新日 作成 承認 改訂記事
A01 2019.11.15 杉山七海 牛丸

ドキュメント内目次


1.はじめに

 本ドキュメントMIRS1904班のソフトウェア詳細設計書についてのドキュメントである。

2.画面遷移とデザイン

(ア)アプリの挙動
   アプリを起動後、メイン画面に遷移する。アプリ上でプログラミング・シミュレーションを行い、情報をMIRS本体に送信することで、MIRSの動作をプログラミングすることが出来る。
   コマンド送信後、MIRSから送信されたゲームの得点データを表示する。

(イ)画面デザイン
Fig.1 tablet画面
fig.1 tablet画面

fig.2 スコア画面
fig.2 スコア画面

① シミュレーション画面
   実際に動作する3[m]×3[m]のフィールドを模した6[マス]×6[マス]のグリッドを表示する。(1[マス]あたり50[cm])
② 操作ボタン
   ・リセットボタン
    入力されたコマンドをすべて消し、初期状態にする。
   ・再生ボタン
    入力されたコマンドを1から順にシミュレーションする。
   ・送信ボタン
    MIRS本体にコマンド情報を送信する。
③ MIRS君
   ・④コマンド選択画面内のコマンド(矢印など)が押された際に実際にMIRS本体が移動する場所、向いている方向を示す
   ・②再生ボタンが押された際に⑤コマンド画面に入力されているコマンドを1から順にシミュレーションする(MIRS本体にプログラムを送信した際にどういう挙動をするのかを示す)
④ コマンド選択画面
   MIRS本体にどういう挙動をさせるかを入力する画面。例えば、「→」のボタンを押した場合MIRS本体を右に50cm移動させることを示す。
⑤ コマンド表示画面
    ④コマンド選択画面で入力されたコマンドを一覧で表示する画面。

・動作シナリオ
   1.下画面のボタン(矢印など)を押すと右画面のリストに番号順で並んでいく
   2.再生ボタンを押すと左画面でMIRSの動作シミュレーションが再生される
   3.送信ボタンを押すとMIRS本体に動作シナリオが送信される
   4.MIRSが動き始めるとシーンが切り替わり、MIRS本体の的に銃の玉が当たったポイントがリアルタイムで表示される
    ※現時点では全ての数字マスを埋めないと動作しないが、途中までしか埋まってなくとも動作する予定です

3.実行プロセスおよび実行プロセス間の通信

tabletのアプリケーションとMIRSのアプリケーションはgoogleのRealTimeDataBaseを介して通信を行う
 ・フロー
    ① タブレット側から、全てDBを初期値にリセット
    ② タブレットでプログラミングをする
   ③ プログラミングをした走行データをJson形式にする
   ④ RunDirDataにJsonファイルを投げる
   ⑤ MIRS側でデータを受信
   ⑥ データを処理後、START_SIGNAL待機状態へ
    ⑦ タブレット側でスタートボタンを押してSTART_SIGNALをtrueにする
   ⑧ MIRSがSTART_SIGNALのtrueの確認後、falseに切り替え。 isRunをtrueにして走行開始
    ⑨ 走行時は、各走行データに対してMIRSのAPIをコマンドラインから叩いていく
   ⑩ MIRSがisRunをfalseにして走行終了
   ⑪ MIRSがScoreに点数を入力
   ⑫ タブレット側で受信をして、表示
   ⑬ 終了

4.テスト項目

・単体テスト
   ディスプレイアプリケーション単体で以下の項目をテストする。
   テスト方法として、何人かにアプリを使ってもらいバグが発生しないか確認する方式を用いる。
・正しい挙動でコマンドのシミュレーションが出来ること
・入力されたコマンド、MIRS本体から送信された得点データを正しく相互通信できること

・統合テスト
   走行プログラム、ディスプレイアプリケーションおよび完成した機体と合わせて、屋内で以下の項目をテストする。
・アプリで選択したプログラミング通りにMIRS本体を走行できること
・MIRS本体が処理した得点データを正しく受信し、処理できること

5.コーディングルール

   ・C#、JavaScriptを用いることから各言語の命名規則に従うものとする。



基本設計(全体)
基本設計(メカ)
基本設計(エレキ)

MIRS DATABASE