利用者の出力から分析して、DOAでも、オブジェクト指向でも、どっちにでも展開して、プログラムまで落とし込める業務をまとめたシートと、入出力についてまとめたシートを作る方法について書く、シリーズ(になってしまった)利用者の出力から業務を分析していく手順の2回目です。
まず、手順は以下のとおり
(1)利用者を体系づけて分けます (2)今回対象の利用者について、システム利用(入出力)場面を考え、業務シート作成 (3)利用者が利用する一場面をとって、入出力を、まず出力から確認します (3-あ)まず、外部に対して出力になっているものを取り上げます。 (3-い)その外部出力の具体的内容を考え、入出力のシートに書きます。 (3-う)その外部出力を出すために必要な情報が、入力されているかどうか、確認 (3-えお)(3-う)までで、入出力のシートはできているので、それに対応する 業務シートがなかったら追加、完成させます。 (4)利用者からの入力を受け取ってから、利用者への出力まで、 システム内の業務を追加します (5)利用者への出力ごとに、シナリオをつくります (6)利用者の範囲を広げていきます。 |
(ちなみに、そこから先、DOAやオブジェクト指向に持っていくにはこちら)
で、前回は(1)、(2)について書いたので、今回は(3)、主に、シートの書き方についてです。
■(あ)まず、外部に対して出力になっているものを取り上げます
前回の(2)で、入出力の場面と内容(画面とか帳票)とかについて考えたので、出力についてあがっていると思います。というか、要求仕様にかかわることなので、出力は、確定しましょう(ここが狂うと、あとが、どんどん狂います)。
で、具体的に、どういう内容の帳票にするかなどを、決めます。
■(い)その外部出力の具体的内容を考え、入出力のシートに書きます。
で、上記で決まった出力内容(画面、帳票)について、入出力をまとめたシートに記入します。
コレは一般的な、画面名を書いて、項目名を書くという感じなので、まあ、問題なくかけると思います。なので、書き方は省略します。
■(う)その外部出力を出すために必要な情報が、入力されているかどうか、確認
次に、入力データについて考えます。
出力情報は、どこからか、入力されないといけません。
前回の給与の勤務表入力の例で言うと、勤務表は、従業員が、月と日に対して、勤務時間を入れていくものです。ということは、従業員データや、月日データ(これは、2月は何日まであるか?というレベルで良いか、会社の休みまで考えて出すかは、画面の仕様による)が、どっからか、入力されているはずです。入力されているかどうか確認し、なければ入力を追加します。
そして、追加された入力(これは、ファイルやDBの場合もあるし、画面の場合もある)についても、出力と同様に、入出力をまとめたシートに記入します。
■(えお)入出力のシートに対応する業務シートがなかったら追加します
(2)の時点で、場面と入出力のシートは作成していますが、ここで、再度チェックし、入出力と、業務シートが対応してあるかどうかを確認します。
まず、入出力のシート1つに対して、業務シートは1つあるようにします。
(バウンダリが必要なので、入出力に対しては1業務=クラスは必要と考えます)
そして、場面のシートも用意するわけですが、前回の例のように、場面に画面が1つしかない場合(勤務表入力しかない)場合は、画面のシートを場面のシートとしてしまい、両方で1枚を兼用する形でもいいです。
しかし、1場面で複数の入出力がある場合(勤務表入力とは、勤務表画面を入力したあとで、勤務表を帳票出力し、その紙を経理担当に渡すなど)、場面で1個、画面や帳票でそれぞれ1個作ります。
以下、その業務シートの書き方です。ここで、場面用と画面用に分かれます。
●画面に対応する業務シート
画面の場合は、業務をまとめたシートは、以下の感じになります。
親アクティビティ名:
場面と画面が一緒(1画面しかない場面)の場合空欄。
そうでない場合は、場面名
担当者:
その入力をする人、ないしはその出力を受け取る人
アクティビティ名:
画面名そのもの
前のアクティビティ、あとのアクティビティ:
画面入力、帳票出力などで、その前(または後)、かならずこの画面などの決まりが
ある場合には、その画面名を入れるが、いつ起動してもOKなら空欄
入出力
入力または、出力(両方もあり)に 画面名.*がくる。
そのほか、画面出力に必要なデータなどがあれば、書いておく
(この辺、この段階では適当でもOK。(4)や(5)で直します)
内容:
(→は、子アクティビティに各言葉)
1.画面表示します→画面名(入出力)
2以降
あとは、ボタンに応じて、書きます
上記の勤務表入力の例だとこんな感じ
親アクティビティ名:
担当者:社員(時給の人)
アクティビティ名:勤務表入力
前のアクティビティ:
後のアクティビティ:
入出力
入力:勤務表入力.*,社員データ.社員番号,社員データ.社員名,休日データ.*
出力:勤務表入力.*
(めんどくさかったら、この段階は全部.*でもOK(4)や(5)で直します)
内容:
1.画面表示します→勤務表入力(入出力)
2.実行ボタンを押すと勤務データ入力が起動→勤務データ入力
●場面に対応する業務シート
場面の場合は、業務をまとめたシートは、以下の感じになります。
親アクティビティ名:
この時点では空欄(あとの4,5で入れます)
担当者:
その入力をする人、ないしはその出力を受け取る人
アクティビティ名:
場面名
前のアクティビティ、あとのアクティビティ:
この時点では空欄(あとの4,5で入れます)
入出力
子アクティビティに書かれる入出力を足してまとめます。
(この辺、この段階では適当でもOK。(4)や(5)で直します)
内容:
(→は、子アクティビティに各言葉)
それぞれの画面や帳票の出力するときについて
書きます。
→画面名、帳票名のアクティビティ
と、こんな感じです。次回は(4)以降になります。