データの流れを事前にチェック!

Silicon Valley Super Ware

2020年5月26日


データの流れを事前にチェック!

今日も、Vue.jsを使った「お問合せフォーム」のWebサービスのまとめの続きです。
良く使う機能の部品化を進めるためには、UI(ユーザーインターフェース)と データ処理を出来るだけきれいに分ける事が大切です。
今日はUIとデータ処理の「分離」のコツをまとめてみました

「データマップ」の作成がポイントです!

効果的な方法は、「ページマップ」と「データマップ」を最初に作る事です!

ページマップとは?

最初に作るのがページマップです。これは、Webサービスのページ構成がどうなっているかを 図式化した物です。
Webサービスと言っても、作り方はWebサイトのデザインに近いものがあります。 Webサイトの作成で良く行わえるように、実際にサイトのコーディングをする前に サイトのレイアウトの概要を作るのが普通ですが、Webサービスでも同じ作業が必要です。
実際に仕事でWebサービスを作る場合、Webサイトのデザインと一緒でその構成やイメージを お客様に提示して方向性を決めるのが普通なので、特別な作業というわけではありません。 今回の「お問合せフォーム」のWebサービスのように、「練習」で作る場合は、自分がわかれば よいので、手書きのラフなスケッチでも良いと思いますが、将来仕事で使う場合の練習だと 考えれば、お客様に見せられる形で作った方が練習になります。
良く使われているのがアドビのXDとかフォトショップで提供する場合が多いようです。

Webサービスの場合は画面がどのように切り替わるかを図式化します。

Webサービスは、基本的にアプリですから、利用者の操作、「ボタンのクリック」「メニューなどの選択」 などで、画面が切り替わっていきます。画面やデータの表示が切り替わるための操作や条件を 「イベント」と良く呼びますが、このイベントを決めて画面の移り変わりを矢印で結んでいきます。
お問合せフォームのWebサービスの場合は余り複雑ではないので簡単です。
  • 利用者がメニューからページを選択する(メニューのクリック)
  • お問合せ内容の送信(送信ボタンのクリック)
  • 管理者のページの選択(URLの入力)
  • 管理者のログイン操作(ログインボタンのクリック)
  • メッセージ一覧の表示(ログイン成功後、戻るボタンのクリックの後)
  • メッセージの選択(メッセージのクリック)
  • 個別メッセージの表示(メッセージの選択後)
  • 個別メッセ―区から一覧に戻る(戻るボタンのクリック)
  • メッセージの削除(削除ボタンのクリック)
単純ですが結構ありますよね。ポイントはページ表示の流れと条件を 明確にすることです。
もう一つは、各ページは幾つかの部品から構成されるので、 どのページ(表示)で使われている部品はなにかもこのページ表示の中に きちんと入れる事です。

データマップとは?

データマップは各ページ、各部品でデータをどのように使うかと どのようなデータ受け渡しがあるかを先ほどのページマップに追加したものです。
ポイントは、そのページ、部品で使うデータと、データの流れです。 どのページがどのページにデータを渡すかという流れです。
例えば、お問合せフォームのページは、入力されたデータがページの フォームにあります。送信ボタンが押されたら、このデータを取り込んで データベースに送るという処理になります。

ここで考えるのが「どの部品」がデータベースに送るかです!

例えばフォームが送る場合、別のWebサービスで使う場合はこの 送る部分は多くの場合書き換える必要があります
一方で、フォームを部品として使って、フォームを使っている部品(ページ)が 送るようにした場合、フォーム自体は「親」に取り込んだデータを渡すという 機能にすれば、フォームを変更しないで別のWebサービスに使えます。
この場合、フォームの部品がする事は、ボタンが押されたイベントの通知と、 取り込んだデータを渡す事です。このイベントとデータを受け取ったページ(部品)が データをデータベースに送る処理をすると、部品化が効率よくできます。 今回はお問合せフォームの処理は非常に少ないため敢えて処理は分けませんでした。
ログインのフォームにも同じような事が言えます。 ログインのフォームでログインの処理をしないで、親のページ(部品)に ログインのイベントと取り込んだデータを送れば、ログインのフォームは いろいろなWebサービスで変更なしで使えます。 特に今回は管理ページのデータ処理を管理ページにまとめる事で、 他のページの作りを簡単にしてみました。

データマップがあると作業がやりやすくなる!

このデータマップが出来ると、どれくらい複雑なデータの処理や データの受け渡しがあるかがわかります。
また、どの部品を部品化できるかも分かり易くなります。

データの流れが複雑な場合はデータは一元管理する!

同じデータを複数のいろいろなページや部品で使う場合は データを受け渡すのが面倒になりますし、各部品やページで 独自にデータを取得したりすると、データの一貫性が取れなくなったりします。
一元管理しないで、実現する事は殆どの場合で可能だと思いますが、 プログラムが複雑になって、実装に時間もかかりますし「バグ」を 作りやすくなります。その場合は最初から一元管理する方針で作る方が 開発も早いですし、分かり易く管理しやすいプログラムにする事ができます。 今回は一元管理をしていませんが、主な処理を管理ページに集約する事で データの流れをシンプルにしました。
今回は利用しませんでしたが「VUEX」など、データを一元管理するための プラグインなどは上手く使うとこのUIとデータ処理の分離に大きく役立てる 事ができます。 大切なのはいかにバランス良い構成を作れるかがカギです!

はまならいコツは?

データマップを最初に作ると、開発で「はまる」可能性を小さくできます。
単純に見えるお問合せフォームでも意外にデータの受け渡しはあるものです。 最初に全体像をつかめるとWebサービスの設計は簡単にできるものです。
すぐに、開発にかかりたいという所もあると思いますが、最初にこの ページマップとデータマップを作るとWebサービスの制作効率も 品質も大きくアップします!
シリコンバレースーパーウエアでは、シンプルなWebサービスの作り方だけではなく、 より複雑なWebサービスをテーマにした講座も同時に提供しています。 さらに、作ったWebサービスを利用したビジネスの展開まで考えたWebサービスの 作り方がわかるようになります。

興味のある方は今すぐお問合せください!



またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。


Copyright(c) 2020 by Silicon Valley Super Ware, all rights reserved.

コメント

このブログの人気の投稿

ユーザーインターフェースの設計

足し算以外もできるようにする

改良版足し算プログラム