ユースケース入門 - 企画編 - 

企画編では、若手エンジニアの佐藤さんが、作成するアプリケーションの仕様を検討し、開発に必要な準備を整えるまでの流れを紹介します。

まずは、どのようなアプリケーションを作成するのか、必要な機能や画面を整理します。そのうえで、intra-martの機能やテンプレートをどのように組み合わせて利用するかを検討していきます。

また、アプリケーションの作成に必要なデータやID・名称なども事前に整理します。佐藤さんと一緒に、アプリケーションを作成する前にどのような準備をしておくとよいのか確認していきましょう。

アプリケーションの仕様を固める

アプリケーションの開発を始める前に、まずは作成するアプリケーションの目的や機能を整理します。今回は、ローコード開発プロジェクトで利用する「タスクボードアプリ」を作成します。プロジェクトや業務のタスクを登録・管理し、進捗や状態を確認できるアプリケーションを目指します。

佐藤さん

いろいろな機能をアプリに実装したくなるけど、ローコード開発は初めてだし、まずはシンプルな機能にして、intra-martのツールに慣れていこう。

システム要件

タスクボードアプリでは、プロジェクトや業務のタスクを視覚的に管理できるようにします。タスクの進捗や状態は、ボード上にカード形式で表示します。想定ユーザは、プロジェクト管理者とプロジェクトメンバーです。主な機能は、以下の3つに整理しました。

(1) タスク登録機能

  • タイトルや詳細を入力し、ステータスを選択する
  • 入力した情報をもとにタスクを登録する

(2) タスク管理機能

  • タスクを一覧で表示する
  • タスク・ステータス・更新日時を条件に、タスクを検索・ソートする

(3) タスク編集機能

  • 自分が登録したタスクを編集・削除する
  • 他人が登録したタスクは、ステータスのみ変更できる
必要な画面

洗い出した機能をもとに、画面の構成や画面間の遷移を整理します。今回は、一覧画面・登録画面・詳細画面・編集画面を用意することにしました。

佐藤さん

この画面構成は、チュートリアルガイドで何度か見たことがあるから、ガイドを参考にしながらアプリを作っていけそうだね。

intra-martの機能を検討する

アプリケーションの仕様が決まったら、必要な機能をintra-martのどのツールで実現するかを検討します。佐藤さんは、これまでに学習したチュートリアルガイドなどを参考に、まず以下の3つのツールを利用することにしました。

  • Accel Studio:アプリケーションの管理やテンプレートの利用
  • IM-LogicDesigner:アプリケーションの処理の作成・編集
  • IM-BloomMaker:アプリケーションの画面の作成・編集
テンプレートを活用する

今回は、アプリケーションを一から作成するのではなく、Accel Studioのテンプレートを活用して開発します。「Accel Studioテンプレートカタログ」を確認したところ、「自己紹介」テンプレートがタスクボードアプリの画面に近い構成になっていました。そこで、まずは「自己紹介」テンプレートを画面のベースとして利用し、どの部分を変更すればタスクボードアプリとして利用できるかを整理しました。

[ 各画面共通 ]

  • 画面タイトルの表記を変更する

[ 一覧画面 ]

  • 選択ボックス内のテキストを変更する(どの項目でソートするかを確認)
  • ボタン名を変更する(一度カードを作成すると、ボタン名が変更する制御なので修正)
  • カードの表示内容を変更する
  • 検索枠内の文言を変更する
  • 検索項目に「ステータス」を追加し、「所属部署」を削除する

[ 登録・編集・詳細画面 ]

  • 「名前」の表記を「タイトル」に変更する(名前をどこに表示するかを検討)
  • 所属部署などの個人情報を削除する
  • 「自己紹介」の表記を変更する
  • 詳細画面に編集ボタンを追加し、編集画面へ遷移できるようにする

佐藤さんは、ここまで検討したシステム要件や画面構成を簡単な資料にまとめ、リーダーの高橋さんに相談することにしました。

佐藤さん

来期から始まるローコード開発プロジェクトに向けて、そこで使用できるタスクボードアプリを作成しようと考えています。「自己紹介」テンプレートをカスタマイズして簡単に作れそうですが、見落としている点がありましたら教えてください。

高橋さん

それは良い試みですね。ぜひチャレンジしてみてください。ただ、今回のアプリケーションは、タスクの登録・更新・参照・削除といったシンプルなCRUD処理が中心なので、処理には「マスタメンテナンス」テンプレートを利用してみましょう。「空のアプリケーション」テンプレートをベースにして、画面は「自己紹介」テンプレートから、処理は「マスタメンテナンス」テンプレートから、それぞれ流用する形にするとよいでしょう。

佐藤さん

この場合、データベースはどのように準備したら良いでしょうか? 「空のアプリケーション」テンプレートでは、データベースは自動で作成されませんよね?

高橋さん

そうですね。「マスタメンテナンス」テンプレート上でIM-Repositoryのエンティティを作成すると、テーブルを自動で作成できます。また、作成したエンティティは画面変数にも簡単にインポートできるので便利ですよ。

佐藤さんは、高橋さんのアドバイスをもとに、以下のツールも利用することにしました。

  • IM-Repository:アプリケーションで使用するデータを定義する

タスクボードアプリでは、画面にIM-BloomMaker、処理にIM-LogicDesigner、データ定義にIM-Repositoryを使用します。これらのアプリケーションをAccel Studioでまとめて管理することで、アプリケーションの作成を進めやすくなります。

アプリケーションの作業環境

佐藤さんは、高橋さんのアドバイスをもとに、アプリケーションの作業環境を整理しました。今回は、「空のアプリケーション」テンプレートからメインとなるアプリケーションを作成します。その上で、画面は「自己紹介」テンプレートから、処理とデータ定義は「マスタメンテナンス」テンプレートから流用します。

これらのローコード資材はAccel Studioからまとめて管理できます。そこで、タスクボードアプリ専用のカテゴリを作成し、その中に3つのアプリケーションを用意することにしました。

アプリ作成の準備を整える

ここまでで、作成するアプリケーションの構成が決まりました。続いて、Accel Studioからアプリケーションを作成する前に、カテゴリやアプリケーションのID・名称、アプリケーションで使用するデータなどを整理します。

アプリのカテゴリを準備する

Accel Studioの「アプリケーション管理」画面で、カテゴリを任意の場所に作成します。今回は1つのカテゴリ内に3つのアプリケーションを用意するため、他のアプリケーションとは分けて管理できるよう、タスクボードアプリ専用のカテゴリを作成します。

各アプリのIDとアプリ名を定義する

今回は、【メイン】タスクボードアプリを中心に、他の2つのアプリケーションから画面や処理を流用します。アプリケーション同士の関係が分かりやすくなるように、それぞれのIDと名称をあらかじめ決めておきます。

佐藤さんは、以下のように設定することにしました。ここで決めたアプリケーション名は、画面や処理などのリソース名にも反映されます。

ID 名称説明
taskboard_main【メイン】タスクボードアプリ       「空のアプリケーション」テンプレートから作成。メインの作業用として、【画面】と【処理】のリソースを紐づけて利用します。
taskboard_front【画面】タスクボードアプリ「自己紹介」テンプレートから作成。画面のリソースを【メイン】に紐づけて利用します。
taskboard_master【処理】タスクボードアプリ「マスタメンテナンス」テンプレートから作成。処理のリソースを【メイン】に紐づけて利用します。
アプリに必要なデータを検討する

「マスタメンテナンス」テンプレートでは、アプリケーションの作成時にデータ定義を設定します。そのため、あらかじめ必要なデータを整理しておきます。佐藤さんは、タスクボードアプリで扱うデータを整理するため、以下のER図を作成しました。

このER図をもとに、IM-Repositoryで使用するエンティティと辞書項目を決めていきます。

佐藤さん

タスクには、他の人の意見も入れられるようにコメント機能を追加できたらと思いましたが、登録や更新時の情報を紐づける必要があるので、できるかどうか自信がありません・・。 

高橋さん

コメント機能でやり取りできるのは良いですね。ただ、今回は少し複雑な設定になりそうなので、まずはテンプレートを使って開発を進めてみましょう。intra-martの使い方に慣れてから、追加機能として検討してみてはいかがでしょうか。

佐藤さん

そうですね。IM-Repositoryについてもまだあまり理解できていないので、まずは必要なエンティティを一つ作成してみます。

データ定義に必要な命名規則

Accel Studioでアプリケーションを作成する前に、エンティティIDやエンティティ名、辞書項目のIDや表示名などを決めておくと、アプリケーション作成時の設定をスムーズに進められます。今回は、エンティティ名とテーブル名を同じ名称にします。

エンティティIDエンティティ名エンティティに紐づくテーブル
taskboard_mastertaskboard_mastertaskboard_master

辞書項目についても、IDや表示名、物理名、データ型などをあらかじめ整理します。また、一覧画面で検索する項目についても、この段階で決めておきます。

辞書項目ID表示名物理名データ型表示形式最大
桁数
検索
条件
taskboard_master_idIDid文字列テキストボックス500
taskboard_master_titleタイトルtitle文字列テキストボックス500✓
taskboard_master_detail詳細detail文字列テキストボックス5000
taskboard_master_statusステータスstatus文字列プルダウン500✓
taskboard_master_register_user登録者register_user文字列テキストボックス500
taskboard_master_register_date登録日register_date日付テキストボックス-
taskboard_master_update_user更新者update_user文字列テキストボックス500
taskboard_master_update_date更新日update_date日付テキストボックス-✓
佐藤さん

アプリに必要なデータについて詳しく考えていくと、ステータスのような選択肢には列挙型を使えるのではと思いました。

高橋さん

そうですね。列挙型はIM-Repositoryを利用するメリットの一つです。列挙型はインポート機能を利用して簡単に設定できるので、ぜひ活用しましょう。

今回は、「ステータス」に列挙型を使用します。列挙IDと、プルダウンに表示する文字列や値などをあらかじめ決めておきます。

列挙ID表示文字列値
taskboard_master_status_list未着手not_yet_started
未着手(緊急)emergency
着手中under_construction
終了end

次のステップへ:開発編

ここまでで、タスクボードアプリの作成に必要な準備が整いました。e-learningやチュートリアルガイドでは、あらかじめIDや名称が用意されていますが、新しくアプリケーションを作成する場合は、アプリケーションの構成やデータ、ID・名称などを自分で整理する必要があります。命名ルールについては「intra-mart Low-Code HANDBOOK」に記載されていますので、ぜひ参考にしてください。

今回整理した内容をもとに、次の開発編ではAccel Studioを使用して、実際にアプリケーションを作成していきます。