昨今、プログラムを極力書かずとも、自分がほしいアプリを作成することができるという理由で「ローコード」の需要が非常に高まっていると感じます。
弊社でもMicrosoftのローコードツールである「Power Automate/Power Apps」のコンサルティングやアプリ開発を通じて、 多くの企業様の支援をさせていただいております。
また、少し前に市民開発者の方を支援する「DX教育プログラム」というサービスも立ち上げました。
前回のブログでは、「Power Appsって本当に誰でも作れるの?」という内容で、 Power Appsでアプリを構築するためには、その前段階として、データベース(以下、DBと呼びます)やシステム設計の知識が必要であるという話をしました。
今回は「Power Appsでアプリを構築する最低限の知識(DB・システム設計について)とはなにか」について私なりの意見を紹介させていただきます。
(あくまで私なりの意見ですので、正確な内容ではないと思いますが、そこはご愛嬌でお願いします(笑))
市民開発者の方や、Power Apps初心者の方に向けた内容です。
前回のおさらい:自分がほしいアプリを構築するまでの知識レベル
前回のブログでは、
DBやシステム設計の知識を持っていない人にとっては、いくらPower Appsを勉強しても、「自分が欲しいアプリを構築する」ことのハードルは高いので、Power Appsの勉強を始める前に、まずDBやシステム設計の知識を得ることをおすすめします。とお伝えしました。
今回はDBやシステム設計の知識とは具体的になにを指すのかについて紹介いたします。
DBの知識とは
そもそも「アプリ(システム)とはなにか?」についてざっくり説明すると、画面上に表示されているデータを編集・削除、あるいは新規登録するものだと私は考えています。
(本当にざっくりですいません、、、)
そしてDBとは、画面の”裏”にあるデータの保存場所を指しており、画面とデータのやり取りを行っています。
(ユーザーが直接DBを参照できるわけではなく、画面を通して参照しているため、あえて”裏”と呼んでいます。)
また、DBを具体的に説明すると、Excelの表のことであり、行と列でデータを管理します。
「DBとは」とネットで調べると、とてつもない情報量が検索結果として表示されると思いますが、市民開発者の方はそこまで細かく知る必要はなく、あくまでDBとはExcelの表だとイメージしていただければと思います。
ただし、以下の知識は抑えておくと良いのではないでしょうか。
マスタ・トランザクション
これは、表の種類のことを指します。
(マスタはディメンションと呼ばれたり、トランザクションはファクトと呼ばれたりします。)
マスタ:データ処理の基となるデータのこと。(イメージとしては、選択肢の参照元となるデータ一覧です。)
トランザクション:アプリを使用する中で蓄積されるデータのこと。
家計簿アプリを例に取ると、日付や種類(交通・娯楽・食費など)・金額といったデータを登録すると思います。
その中で、種類一覧はマスタに該当し、日付・種類・金額を登録したデータはトランザクションに該当します。
マスタ・トランザクションの細かい話はネットで調べるとたくさん出てくると思いますので、詳細は割愛します。
大切なこととしては、DBを設計する際、マスタとして必要なデータは何か?トランザクションとして必要なデータは何か?を意識することです。
リレーション
リレーションとは、各表がどのように連携しているのかを指します。
データを登録する際に、選択肢から項目を選択することがあるかと思います。
(上記家計簿アプリの「種類」のことです。)
このような場合、「トランザクションとマスタは1対多でつながっている(1対多でのリレーション)」といいます。
リレーションについてもネットで調べると多くの情報が出てくると思いますので詳細は割愛しますが、 細かいことは覚える必要はなく、「データを登録する際に、選択肢から登録したい項目はあるか」程度の認識で良いと思っています。
、、、自分で書いていて申し訳ないですが、わかりづらい説明となっていますね(笑)
私がお伝えしたいのは、リレーションそのものの知識ではなく、アプリを構築する際には、複数の表が連携している(リレーションで繋がっている)ということです。
(そしてその連携は多くの場合、リレーションは選択肢項目として表現されます。)
アプリを構築する際、1つの表ですべてを賄う必要はありません。
必要に応じて、複数の表を用いてデータを保存しましょう。
システム設計の知識とは
システム設計とは、とても簡単に説明すると、やりたいことをアプリとして構築するためのレシピづくりです。 (レシピは、具体的に言うと「設計書」のことを指します。)
大規模かつ複雑なシステムを設計する場合は、幅広い知識や多くの経験が必要となりますが、市民開発者の方がターゲットにするアプリの場合は、そんなに片肘張る必要はありません。
(逆に、難易度の高いシステム設計が必要となるアプリは自身で構築せず、外部業者に依頼したほうが良いでしょう。)
システム設計を行う際には、私は以下の手順にて設計することが多いです。
※手順と記載していますが、順番通りに考えるのではなく、すべて項目を行ったり来たりしながら設計します。
<システム設計の手順>
登場人物の整理と、各登場人物が何をするかを考える
アプリを使用する人物の種類を考えます。
その後、各登場人物がどのような操作を行うのかを考えます。データを考える
どのようなデータを保存するかについて考えます。
マスタやトランザクションとして必要なデータを検討します。画面を考える
データを表示するための画面について考えます。
よく使われる画面としては、以下が挙げられます。一覧画面:データの一覧を表示する画面のこと。検索もこの画面で行われることが多い。
編集画面:データを編集・新規登録する画面のこと。
詳細画面:データの詳細を表示する画面のこと。編集画面とほぼ同じだが、データを編集することはできない。
市民開発者の方が「アプリを構築したい!」と思っても、何から手をつければいいのかわからないという方が多いと思います。
そのような場合には、まず上記手順を参考にシステム設計を実施していただければと思います。
おわりに
少し長くなってしまいましたので、今回はここまでとさせてください。
次回のブログでは、具体的なアプリを例に取り、実際にシステム設計を行ってみたいと思います。
お楽しみに!
本年最後のブログです!少し早いですが良いお年を!
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200
こんにちは。アーティサン株式会社の小刀稱(ことね)です。