利用者指向として、利用者の入出力から分析していく方法を、いろいろと書いてきました。
その一方、DOAやオブジェクト指向の図を業務をまとめたシートと、入出力についてまとめたシートをつかってつくるというシリーズの話もかいてきました。
じゃあ、この2つがむすびつくと、
利用者指向として、利用者の出力から分析して、
DOAでも、オブジェクト指向でも、
どっちにでも展開して、プログラムまで落とし込める
ということになります。
ということで、この2つを結びつける、利用者指向で、業務をまとめたシートと、入出力についてまとめたシートを作る方法を書きましょう。
■その前に、前回のDFDの確認とAsIs、ToBeモデル作成との関係を考える
で、実は、手順は前回のDFDの確認と似た手順なのですが、そもそも、それと、AsIs、ToBeモデルの作り方と、どうつながるのかが良く分かりません。
そこで、それをまとめて置きます。
DFDの確認手順は、こうでした。
(あ)まず、外部に対して出力になっているものを取り上げます。 (い)その外部出力の具体的内容を考えます(というか、帳票・画面なら入手します) (う)その外部出力を出すために必要な情報が、入力されているかどうか、確認します。 (え)出力をもとに、出力するイベントを順番に並べます (お)それに、データ入力のイベントを加えていき、入力する前に出力することが ないかどうか確認する。 |
一方、AsIs,ToBeモデルを作るときは、こうでした。
(1)利用者を体系づけて分けます (2)今回対象の利用者について、システム利用(入出力)場面を考えます ●ToBeモデルの場合は、ここで利用者の入出力の最適化を考えます。 (3)利用者が利用する一場面をとって、入出力を、まず出力から確認します (4)利用者からの入力を受け取ってから、利用者への出力まで、システム内のプロセスを考える ●ToBeモデルの場合、4は、外部入出力をかえずに、システム内の最適化をします。 (5)利用者への出力ごとに、シナリオをつくる (6)利用者の範囲を広げていく |
まず、実は、(1)の利用者の体系付けに関しては、どんな場合でも初めにやることです。
で、作成の場合、(2)場面を考えて→(3)入出力(出力から考え入力へ)→シナリオへ
といっています。
そして、出来上がったものを確認する(DFDの確認)の場合、
入出力の(あ)出力から、(う)入力を考えて
→(え)場面が尽くされているか確認して、
→(お)場面のシナリオが書かれているかというのを確認しています。
つまり、どちらも、出力から考えていますが、なぜかというと、何を出力するかというのが、まさしく、要求になるからです。したがって、その要求が全部出ていれば、出力はきまっていることになります。それに対し、入力は、あくまでも、出力の必要情報を収集するための入力です。
■利用者指向で、業務をまとめたシートと、入出力についてまとめたシートを作る手順
ということで、シートを作成する場合は、AsIs,ToBeモデルを作るのと同じなので、基本的な順番は同じなのですが、途中、DFDの確認方法を応用したり、もっと具体的な話になります。
(1)利用者を体系づけて分けます (2)今回対象の利用者について、システム利用(入出力)場面を考え、業務シート作成 →入出力を集め、その場面を考えていきます →入力や場面はある程度適当でも大丈夫、まちがっていたら、あとで直せます →出力は要求として確定しているはず。そうでないと困ります →利用する場面で1シート、具体的な入出力画面1つにつき、1シートとなります。 (3)利用者が利用する一場面をとって、入出力を、まず出力から確認します ここから、DFDの考え方が入ります (3-あ)まず、外部に対して出力になっているものを取り上げます。 (3-い)その外部出力の具体的内容を考え、入出力のシートに書きます。 (3-う)その外部出力を出すために必要な情報が、入力されているかどうか、確認 →(2)で、入力場面の業務シートは作成しているはず。 なかったら、追加します。 また、入力を、入出力のシートに書きます。 (3-えお)(3-う)までで、入出力のシートはできているので、それに対応する 業務シートがなかったら追加、完成させます。 そして、(2)で、利用する場面の子アクティビティとして、入出力の業務を 入れます。 *あ~おは、「DFDの確認手順」のあ~おに相当します (4)利用者からの入力を受け取ってから、利用者への出力まで、 システム内の業務を追加します →モデル部分を追加します (5)利用者への出力ごとに、シナリオをつくります →シナリオ上、各利用場面をまとめた上位のシートができてきます。 (6)利用者の範囲を広げていきます。 |
具体的な内容については、長くなりそうなので別の機会に書きます。
