|5| 業務フロー 2

|5| 業務フロー 2

by Guantare.com

フローを考える時のツール

 

業務フローを考えるとき、ポストイットに業務内容を書き込んで順番に貼っていくと後からメモも書き込めますし、順番の入れ替えも楽になります。あるいはアウトラインエディタやWordのアウトライン機能を使うといいかもしれません。そのときに人が考えるべき内容なのか、データベースを利用するべき内容なのかも区別していきます。ただ、入力作業は人がやらなければならないので、できるだけ同じ作業を繰り返さないように、あるいは人が入力する以外の手立てはないのかよく考えます。

 

Wordのアウトライン機能を使い、業務内容を項目ごとに入力してみます。行の先頭にマウスポインタを置いてtabキーを押せば、一段下がって親子関係を作れます。shiftキーを押しながらtabキーを押すと元の位置に戻ります。

 

親をダブルクリックすれば子を隠すことができます。親を上下にドラッグすると子供ごと順番を入れ替えることができます。孫も作れます。便利な機能なので使ってみてください。

 

Windows版Word
Mac版Word

Windows版は表示タブでアウトラインを選択します。
Mac版はメニューバーの表示からアウトラインを選択します。

業務フローの概要

色々な担当者へインタビューして次のような業務フローの概略がわかりました。

基本データの入力
・学生(年度当初)
・実習(年度当初)
受け入れ、人数の打診
・打診書送付
打診書回答受け取り
受け入れ先決定
・実習先の基本データ入力(名称、住所、電話番号、担当部署など)
実習に参加する学生を決定
・実習生レコード作成(一括・個別作成)
実習生の実習先を仮決定
割り振り作業
・学校斡旋
・学生自己開拓
・自治体、教育委員会斡旋(管理団体)
実習生受け入れ依頼
・依頼状送付(実習先の場合、自治体などの場合)
承諾書受け取り
・自治体、教育委員会が斡旋した場合は実習先に再度割り振り
実習日程の確定
書類送付
・実習先
・必要書類の種類
実習開始
実習訪問
・訪問担当者を決定
・実習訪問報告書作成
実習終了
礼状送付
実習評価票受け取り
実習日誌の点検
業務報告書作成(翌年度当初)

このフローの中で注意しないといけないのは打診書を送付する実習と電話や学生が訪問して内諾をとる実習があること、依頼状は実習先に送付する場合と教育委員会や自治体の担当部署に送付する場合があることです。

学生テーブル、実習テーブル、実習先テーブル、実習生テーブルの他に訪問担当者のテーブル、教育委員会などここでは管理団体ということにしますが、そのテーブルが必要になりそうです。また、業務報告書は保育士の資格を取得して卒業した学生たちが実習した実習先のリストを監督官庁に提出するのだそうです。簡単に抽出する方法を考えなければなりません。

どのタイミングで入力作業をするのか、入力されたデータをどのように利用するのかも明確にします。

実習先や管理団体には依頼状や書類の送付があるので住所の入力は必須です。また、重複して入力しないような工夫も必要です。学生の場合だと学生番号があるので重複を避けることは簡単ですし、実習も多くはないので年度と実習名称あるいは科目IDを組み合わせれば重複を避けることはできます。実習先や管理団体だとユニークなIDがあるわけではないので入力担当者が複数になると難しくなります。

そして学生は毎年々々、入れ替わりますし、同じ名称の実習は毎年繰り返されます。前年度の実績を見たり、その年の実習に関わる作業をしたり、翌年度の準備もしなければなりません。時系列の中で年度が大切になってきます。年度更新ということを考えると年度テーブルが必要になりそうです。

 

関連図を書いてみる


テーブルごとの関連性を図で表しています。「1:n」は1:多 のことです。

年度テーブルに2019年度というレコードが1件あるとします。実習は1年間で複数回あるので1:n になります。1年間に在籍する学生も複数ですし、実習生も複数になります。1件の管理団体に所属する実習先は複数、訪問担当者1人が訪問する実習先は複数になります。学生個人は1回の実習で1件の実習先でしか実習しませんが、複数の実習生が実習するので実習先との関係は n:1 の関係になります。

実際にリレーションを組むときには 多:多 ではうまく機能しないので、必ず1:n か 1:1 の関係にします。

また、関連する図に従ってリレーションを組むと考えやすいのですが、全く同じようには組めません。

 

前回のサンプルファイルに年度のテーブルを追加し、実習テーブルの実施年度とリレーションを組みます。次に年度テーブルと実習生テーブルの実施年度とリレーションを組もうとすると「グラフ内の2つのテーブルの間に複数のリレーションバスを指定することはできません。」と叱られてしまいます。別のTOを作ってリレーションを組むことになります。

関連図は概念であり、頭の中を整理するためのものです。実際にデータベースを構築するときには別の観点から考えなければなりません。第3回アンカー・ブイモデルはその方法論の一つになります。

関連図で頭の中を整理したら、必要となる帳票類を考えます。真っ先に考えられるのは打診書や依頼状を送付するための宛名ラベルです。プリントするかしないかは別にして、同じ実習先で複数の学生が実習する場合は学生にその情報を伝えておく必要がありますし、訪問担当者が実習先に訪問するときに誰が実習をしているのか知っておく必要があります。

このような帳票、必要な情報を書き出してみます。そしてどのテーブルを起点にして情報を抽出するかを考えます。

宛名ラベルの場合、管理団体と実習先の2つのテーブルにまたがっています。依頼状の送付と他の書類の送付先が異なることもあります。依頼状には実習を希望する学生のリストを添えなければなりません。業務報告書では卒業生が実習した実習先を事業区分ごとに並び替えて出力する必要があります。

フローを整理するの同時にどのように操作してもらうのかインターフェースも徐々にイメージしていかなければなりません。

 

インタフェースを作ってみる

頭の中で考えているだけですと疲れてくるので、トレーニングを兼ねてできるところを作っていきたいと思います。

 

年度テーブルと実習を関連付けてインタフェースを作ります。
実習管理ファイルを開き|ファイル > 管理 > データベース|でd01_年度テーブルを作ります。

d01_年度ID
d01_年度(数字フィールド)
d01_前年度(計算フィールド、数字)
d01_翌年度(計算フィールド、数字)
d01_翌々年度(計算フィールド、数字)

のフィールドを作ります。このテーブルでは1件のレコードしか作らないのでIDは不要ですが、先々どうなるかわからないので連番にしておきます。d01_年度は数字にして、d01_前年度、d01_翌年度、d01_翌々年度はd01_年度から数字を引いたり足したりする計算フィールドにします。

 

テーブルを作ったら、実習管理_UIファイルを開きリレーションシップグラフにd01_年度のTOを作ります。リレーションキーはui01_g_年度とd01_年度IDにします。通常の「=」ではなく「×」を使います。私はXジョイントと呼んでいますが、この呼び方が正しいかどうか分かりません。どういうリレーションかというとキーの値に関係なく関連するテーブルの全てレコードが参照できるというものです。
これでいつでもui01_実習管理テーブルからd01_年度テーブルの値を参照することができます。

 

データベースを起動した時に前回作業していた内容を初期化する必要があります。

「起動」という名前でスクリプトを作ります。どのような振る舞いをするかというとui01_g_年度フィールドに当該年度を入力し、ui_g_実習ID、ui_g_事業区分、ui_g_テキスト01フィールドを空欄にしてポータルに表示されている実習生や実習先とのリレーションを無効にします。ui_g_テキスト01は単に実習名称が入力されているだけですが、紛らわしいので空欄にします。

 

ファイルを開くときに「起動」スクリプトを走らせるには|ファイル > ファイルオプション|でダイアログを表示します。「スクリプトトリガー」をクリックし「OnFirstWindowOpen」にチェックを入れ、「選択」ボタンをクリックして「起動」スクリプトを選択します。ui01_g_年度に2020と入力してウインドウを閉じます。再びファイルを開くとui01_g_年度が2019になっているはずです。
年度が変わる節目でd01_年度フィールドを書き換えればその年の年度が保たれます。

 

ボタンで年度切り替え

前回まではui01_g_年度の値を書き換えていましたが、入力するにしても手間がかからない方法を考えます。
d01_年度テーブルの値を使って値一覧で入力するか、ボタンを作って入力する方法が考えられます。画面の表示内容を変えるだけであればボタンを選択する方がいいのではないかと思っていますので、ボタンでの切り替えを考えてみます。

 

ボタンで動かすスクリプトを書きます。名前を「年度切り替え」にします。d01_年度TOから当該年度を取得してスクリプト引数を使って計算させた値をui01_g_年度フィールドに格納させます。年度が変わるということは実習生と実習先も変わるということなのでそれらのポータルのキーを空欄にします。

 

レイアウトモードでボタンを作ります。ボタンをダブルクリックしてボタン設定のダイアログから年度切り替えスクリプトを選択し、ボタンの名前を入力します。年度によって表示する名前が変わるのでd01_年度のフィールドの値を表示させます。ボタンの上にd01_年度TOのフィールドを置いてもいいのですが、マウスポインタをボタンの上に置いたときに文字色を変えることができません。(これは先々の回で説明します。)マージフィールドを使います。マージフィールドとはフィールドの値をテキストとして扱う方法です。<<TO名::フィールド名>>と入力します。不等号とコロンは英数モードで入力します。ここでは「<<d01_年度::d01_前年度>>年度」というように入力してあります。文字数が多いのでボタンが縦に伸びますが、あとで修正します。スクリプト引数は前年度の場合-1にします。

 

できたボタンをコピーペーストし、ボタンの名前とスクリプト引数を修正します。名前はフィールド名、スクリプト引数は当該年度はなし、翌年度は1、翌々年度は2にします。

マウスで高さを調整するか高さの数値を入力することで調整できます。
4つのボタンを選択し、|配置 > 整列|で上辺に揃え、|配置 > 等間隔|で横方向を選択します。ボタンの高さを調整します。

 

4つのボタンを選択してコピーペースト、コピー元の方のボタン設定を「何もしない」にし、ボタンの色をグレーに、文字色を白にします。ボタンが縦に広がるので高さを調整します。

スクリプトが設定されたボタンが表示されている年度と同じときに隠すようにします。隠すとボタンを押すことができなくなり、スクリプトが機能しなくなります。

右側サイドバーのデータタブの中段ぐらい、「動作」項目の「次の場合にオブジェクトを隠す」の入力欄右側の編集ボタンをクリックします。

 

式を書きます。

ui01_実習管理::ui01_g_年度 = d01_年度::d01_翌々年度
翌々年度のところはボタンによって前年度や年度に変わります。

スクリプトを設定したボタンをグレーのスクリプトを設定していないボタンの上にぴったりと重ねます。

 

ブラウズモードにして試してください。

こうしておけば、編集中の年度のボタンをうっかり押してしまっても実習生と実習先のポータルが表示されなくなることはありません。また、何年度を編集しようとしているのか分かりやすくなります。


落葉松 蓼科山の山麓を歩いていたら朝靄の中に佇む落葉松(カラマツ)の林に出会いました。
iPhone5 4.10mm ISO50 1/800 F2.4 P
jpg
2013/3 Tateshina