サンプルアプリケーション

サンプルアプリケーション

2022 年 1 月 12 日

割り勘支援アプリ

Warikan 仕様書

Ver. 1.0
テスト設計コンテスト U-30 クラス

本仕様書は JaSST 東北実行委員よりご提供いただいた GoCo(i)n 仕様書をもとに作成しました。
本文書の Warikan、ジャス Pay は JaSST/テスト設計コンテストのために作成した架空サービスです。実在のサービスやアプリケーションとは関係ありません。

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

1

2022 年 1 月 12 日

1.

サンプルアプリケーション

はじめにWarikan は、割り勘を支援するためのスマートフォンアプリケーションです。割り勘の割合、人数、支払い合計金額を入力することで集金金額を計算できます。また外部サービスとの連携で送金処理もサポートします。
用途として「食事会の幹事と参加者」や「飲み会に参加する上司と部下」のような、2 グループで支払い割合を調整する場面を想定しています。
2.

共通機能
Warikan はアプリケーション全体に共通する機能として以下を持ちます。

2.1. エラー通知
Warikan はエラー通知を画面中央のポップアップメッセージで通知します。表示されたポップアップメッセージは、アプリケーション画面エリアのいずれかをタップすることで消去されます。ポップアップメッセージ表示中は、消去操作以外の操作が不能になります。
2.2. 戻るボタン
Warikan の一部の画面では、画面上部タイトルバーの左側に戻るボタンを表示します（どの画面で戻るボタンを表示するかは、後述する画面ごとの説明で明記します）。このボタンを押下すると、画面の機能を実行せず、前画面に遷移します。

2.3. 入力中の表示
Warikan の一部の画面では、テキスト入力およびプルダウン選択するための項目があります。
それらの項目欄説明テキストは、現在どの項目を入力しているか示すために、通常時と入力中で色を変化させます。通常時は灰色で、入力中は青色になります。

2.4. ログアウト処理
Warikan を終了すると、自動的にログアウト処理が行われます。終了前に開いていた画面がどの画面であっても、Warikan 再起動後は初期画面であるログイン画面が表示されます。
2

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

2022 年 1 月 12 日

2.5. 通信エラー処理
Warikan はいくつかの機能実行で Warikan サービスサーバと通信します（どの機能で通信するかは、後述する画面ごとの説明で明記します）。その通信が不能だった場合、また通信に異常が発生した場合は、Warikan アプリケーションは「サービスサーバと正常に通信できません」とエラー通知し、対象機能の実行を中止します。

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

3

2022 年 1 月 12 日

3.

サンプルアプリケーション

各機能と操作の仕様

3.1. ログイン機能
Warikan は割り勘履歴の保存や送金サービス連携のため、Warikan アカウント管理機能を持ちます。

3.1.1. 初期登録

ログイン画面

4

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

2022 年 1 月 12 日

新規登録画面

初期画面のログイン画面で「新規登録」ボタンを押すと、新規登録画面へ遷移します。新規登録画面では、アカウントの新規登録を行います。
新規登録画面は次の入力項目を持ちます。
•「ユーザ ID」にはアカウントの ID を入力します。テキストフィールドの設定により 15文字以内の半角英数字しか入力できません。

•「パスワード」「パスワード（確認用）」にはアカウントのパスワードを入力します。テキストフィールドの設定により 20 文字以内の半角英数字しか入力できません。入力されたパスワードは「●」でマスクされます。

•「ジャス PayID」には登録済みのジャス PayID を入力します。テキストフィールドの設定により、20 文字以内の半角英数字しか入力できません。

「登録」ボタンを押下すると、入力文字チェックを実行します。入力チェック時では、「パスワード」と「パスワード（確認用）」に同じ文字列が入力されていないと「パスワードと確
Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

5

2022 年 1 月 12 日

サンプルアプリケーション

認用パスワードが異なります」とエラー通知します。また各入力項目が 1 つでも空の場合、「入力文字が無効です」とエラー通知します。
入力文字チェックでエラーが発生しなかった場合、次にサービスサーバと通信し、サービスサーバのアカウント登録処理を実行します。アカウント登録処理では、入力された ID が既に登録されていた場合は、サービスサーバは登録処理を中止し、アプリケーションに登録済みエラーを通知します。通知を受けた Warikan アプリケーションは「登録済みの ID です。別の IDを入力ください」とエラー通知します。
アカウント登録処理でエラーが発生しなかった場合、次にサービスサーバはジャス Pay システムサーバと連携し、入力されたジャス PayID が利用可能か認証を行います。ジャス PayIDがジャス Pay システムサーバで認証されなかった場合、サービスサーバは認証エラーをWarikan アプリケーションに通知します。通知を受けた Warikan アプリケーションは「ジャス PayID が無効です」のエラー通知を表示します。
ジャス PayID 認証がエラーなく完了すると、サービスサーバはアカウント登録成功通知をWarikan アプリケーションに通知します。通知を受けた Warikan アプリケーションは、その際「登録が完了しました」のポップアップメッセージを 1 秒間のみ表示した後、表示画面をログイン画面へ自動遷移させます。

上部の戻るボタンを押下すると、登録処理を実行せずに、ログイン画面へ遷移します。この戻るボタンは、「登録」ボタン押下からエラー中断するか、別画面から新規登録画面を開きなおすまで操作不能になります。

6

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

2022 年 1 月 12 日

3.1.2. ログイン

ログイン画面
アプリケーションの初期画面はログイン画面です。
ログイン画面で ID とパスワードを入力し、「ログイン」ボタンを押下すると、Warikan アプ
リケーションは Warikan のサービスサーバと通信し、入力情報の認証を行います。サービス
サーバが ID とパスワードが正しいと判断した場合、サービスサーバは Warikan アプリケーシ
ョンに ID 認証成功を通知します。ID 認証成功通知を受け取った Warikan アプリケーションは、画面を割り勘計算画面へ遷移させます。サービスサーバが ID とパスワードが間違っていると判断した場合（ID が登録されていない。またはパスワードが正しくない）、サービスサーバは Warikan アプリケーションに ID 認証失敗を通知します。ID 認証失敗通知を受け取ったWarikan アプリケーションは、「ID が登録されていないか、パスワードが不正です」のエラー通知を表示します。
入力情報は次のとおりです：
Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

7

2022 年 1 月 12 日•

サンプルアプリケーション「ユーザ ID」にはテキストフィールドの設定により 15 文字以内の半角英数字しか入力できません。

•「パスワード」にはテキストフィールドの設定により 20 文字以内の半角英数字しか入力できません。入力されたパスワードは「●」でマスクされます。

「アカウント情報を記録する」チェックボックスは、ユーザ ID、パスワードの再入力を省略するための機能を提供します。そのチェック状態は、アプリケーションの実行環境のローカルストレージに静的保存されます。例えばチェックした状態にすると、アプリケーションを終了し再起動しても、チェックした状態のままとなります。
「アカウント情報を記録する」チェックボックスをチェックした状態では、Warikan はユー
ザ ID、パスワード情報を実行環境 OS のパスワードマネージャ記録機能を使って、実行環境のローカルストレージに記録します。そしてアプリケーション起動時、Warikan はその記録データをロードし、ユーザ ID、パスワードのテキストフィールドに最初から入力した状態にします。
チェックを外しておくと、ユーザ ID、パスワードのテキストフィールドはアプリケーションを起動するたびに未入力状態に初期化されます。

8

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

2022 年 1 月 12 日

3.2. 計算機能

ログインが成功すると、支払い料金の計算をする割り勘計算画面に遷移します。

割り勘計算画面3.2.1. 自分側の人数と相手側の人数入力
初期表示は、「1～99 の数値を入力」と記載されています。テキストフィールドの設定で、数字しか入力できません。実際の入力は、1～99 で入力する必要があります。

3.2.2. 金額入力
初期表示は、「1～999999 の数値を入力」と記載されています。テキストフィールドの設定で、数字しか入力できません。合計金額は、1～999999 で入力する必要があります。
Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

92022 年 1 月 12 日

サンプルアプリケーション

3.2.3. 支払いの割合入力
支払いの割合は、初期状態でスライダーの 50 を指しています。スライダーを左右へ移動することで、10 ずつ変化することができます。スライダーを変化させることで、スライダーの下の文字も連動し、変化します。

スライダーによる割合の変化

3.2.4. 計算ボタン

人数入力と金額入力が正しい数字範囲内の状態で「計算する」ボタンを押下すると計算処理が実行されます。正しい数字範囲内に含まれない人数と金額が一つ以上存在する状態で「計算する」ボタンを押下すると、「入力された数字が不正です」のエラー通知を表示します。

10

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

2022 年 1 月 12 日

3.3. 計算「計算する」ボタンを押下すると、入力情報に基づいて計算処理を実行します。
計算では、自分側の支払金額と相手側の支払金額が、支払い割合になるように計算します。
最初に、自分側の支払い割合を 100 円単位切り上げで計算します。次に合計金額から、自分側の支払金額を差し引いた金額を使って、100 円単位切り上げで相手側の支払金額を計算します。
切り上げ処理により、計算では、自分側の支払金額が、設定した支払いの割合より大きくなることがあります。また自分側と相手側の支払い合計は、入力された支払金額に対して同じか、大きくなるように計算されます。大きくなった差分はお釣りとして算出します。

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

11

2022 年 1 月 12 日

サンプルアプリケーション

3.4. 出力「計算する」ボタンを押下してから計算が終了すると、「計算する」ボタンの下に計算結果を表示します。そこでは自分側と相手側の 1 人あたりの支払金額を表示します。
また、自分側と相手側の合計から入力金額を差し引いた金額をお釣りとして表示します。さらに自分側・相手側の間で支払いが発生する場合は、金額表示の下に「ジャス Pay」ボタンを表示します。

計算結果の表示

12Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

4.

2022 年 1 月 12 日

ジャス Pay
ジャス Pay はスマホ決済アプリです。個人間送金の仕組みを持っています。
金額表示の下に「ジャス Pay」ボタンが表示された場合、ボタンを押下することで、QR コードが表示された画面を開くことができます。支払者はこれをジャス Pay のアプリで読み込むことで、QR コード表示者への送金処理をジャス Pay アプリで実行できます。
QR コードは、「ジャス Pay」ボタン押下時に、Warikan が Warikan サービスサーバと通信してデータ取得し生成します。
送金処理は Warikan とは別のアプリケーションで実現します。

ジャス Pay 画面
戻るボタンを押下すると、割り勘計算画面へ遷移します。その際、遷移先の割り勘計算画面は、ジャス Pay 画面遷移前の状態となっています。
（入力情報や計算結果が表示される）。

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

13

2022 年 1 月 12 日

5.

サンプルアプリケーション

割り勘結果登録計算結果が表示された状態で、「結果を登録する」ボタンを押下すると、割り勘結果登録画面に遷移します。この画面では割り勘計算結果をサーバに保存できます。なお計算結果が表示されない状態で「結果を登録する」ボタンを押下すると何も反応しません。
割り勘結果登録画面では、先に入力された自分側の人数、相手側の人数、合計金額、支払の割合、自分側の金額／人と相手側の金額／人が表示されています。
また、以下の項目を追加入力できます。
•

日付：カレンダーより今日～3 年前までの日付を選択できます（デフォルトは画面遷移時の実行環境 OS の現在日付）。

•

開催時刻：0:00～23:30 まで 30 分刻みで選択できます（デフォルトは 18:00）。

•

備考：テキストで任意の文字を入力できます。テキストフィールドの設定で、最大 200文字以内しか入力できません。

割り勘結果登録画面
14

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション

2022 年 1 月 12 日

「登録」ボタンを押下することで、表示された結果データを Warikan サービスサーバに送信し、サーバに内容を登録します。登録は 1 つのアカウントで 50 件まで記録できます。51件以上の登録を行おうとすると、Warikan サービスサーバは登録順で古い登録データを削除して、新しい登録データを追加します。
正常に登録が終わると、Warikan サービスサーバは Warikan に登録完了通知を送信します。
Warikan は登録完了通知を受信したら「登録が完了しました」のポップアップメッセージを 1秒間のみ表示した後、表示画面を割り勘計算画面へ自動遷移させます。

また戻るボタンを押下すると、登録せずに割り勘計算画面に遷移します。

登録完了、または戻るボタンで割り勘計算画面に遷移する場合、遷移先の割り勘計算画面は、割り勘結果登録画面遷移前の状態となっています（入力情報や計算結果が表示される）。

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

15

2022 年 1 月 12 日

6.

サンプルアプリケーション

割り勘結果記録表示
割り勘計算画面の「履歴を表示する」ボタンを押下すると、割り勘結果表示画面に遷移します。割り勘結果表示画面遷移時に、Warikan は Warikan サービスサーバから割り勘結果データを取得します。そしてこの画面では、過去登録されたすべての割り勘結果を表示します。

割り勘結果表示画面
左側のスクロールバー付きのリストに、開催日と時刻を登録順に従って表示します。リストの行をタップで選択すると、その開催日・時刻の右側に割り勘計算結果を表示します。

表示データは以下になります。
•自分側の人数•

相手側の人数•

合計金額•

支払いの割合16

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

サンプルアプリケーション•

自分側の金額／人•相手側の金額／人

•

お釣り

•

備考

2022 年 1 月 12 日戻るボタンの押下で、割り勘計算画面へ遷移します。その際、割り勘結果表示画面遷移前の状態を表示します（文字入力や計算結果表示は遷移前の状態に復帰する）
。
7.

動作環境
Warikan はスマートフォン/タブレットのネイティブアプリケーションとして動作します。

詳細は以下となります。
7.1. モバイル環境

・iOS 14 以降
・Android 9 以降

Copyright © 2022 JaSST 東北, テスコン U30. All Rights Reserved.

17