利用者の出力から分析して、DOAでも、オブジェクト指向でも、どっちにでも展開して、プログラムまで落とし込める業務をまとめたシートと、入出力についてまとめたシートを作る方法について書く、シリーズ(になってしまった)利用者の出力から業務を分析していく手順の3回目です。
まず、手順は以下のとおり
(1)利用者を体系づけて分けます (2)今回対象の利用者について、システム利用(入出力)場面を考え、業務シート作成 (3)利用者が利用する一場面をとって、入出力を、まず出力から確認します (3-あ)まず、外部に対して出力になっているものを取り上げます。 (3-い)その外部出力の具体的内容を考え、入出力のシートに書きます。 (3-う)その外部出力を出すために必要な情報が、入力されているかどうか、確認 (3-えお)(3-う)までで、入出力のシートはできているので、それに対応する 業務シートがなかったら追加、完成させます。 (4)利用者からの入力を受け取ってから、利用者への出力まで、 システム内の業務を追加します (5)利用者への出力ごとに、シナリオをつくります (6)利用者の範囲を広げていきます。 |
(ちなみに、そこから先、DOAやオブジェクト指向に持っていくにはこちら)
で、前回は(3)について書いたので、今回は(4)、利用者からの入力を受け取ってから、利用者への出力まで、システム内の業務を追加するところ(モデル部分)について書きます。
■まず、システムトップを書き加える
前回までで、各場面ごと(場面内に画面が1つしかなければ、兼用になるが、今回、これは場面用として取り扱います)の業務シートはできました。
そこで、このシステムのトップの業務シートを作ります。
親アクティビティはありません(自分がトップですから)
アクティビティ名は適当に付けてください。
入出力は、書くとしたら、子アクティビティの入出力全部なのですが、それをやっているとたいへんなので、エンティティ名.*で書きます。
このエンティティ名が、システムに対する、外部入出力になります(=DFDで、外から入ってくる、外に出て行くものです)
子アクティビティは、たとえば、メニュー画面を立ち上げて起動するような場合は、
(矢印は子アクティビティを示す)
1.メニュー画面→メニュー画面(入出力)
2.以降は、ボタンが押されたとき、起動する子アクティビティを書くことになります。
そして、メニュー画面を入出力シートに書くことになります。
ただ、バッチ起動などなど、いろいろあると思うので、それらを書くことになります。
でも、システムが小さい場合は、今まで書いた場面を、このトップに全部つるさげて、今まで書いた場面のシート(空欄になっていると思います)に、このトップのアクティビティ名を書いてOKかもしれませんが、大きくなると、それはそれは、たいへんなことになるので、中間層のアクティビティを生成します。
■中間のアクティビティとデータ加工を追加する
ということで、トップから、各場面にいきなり行くと、たいへんなことになっちゃう場合は、適当にいくつかの場面をまとめて、1つの場面とし、それについて、中間層のアクティビティとします。これは、適当にとっていいです。
実際には、ヒアリングで一連の内容を聞くとき、いくつかの画面をつかって、1つの仕事をするっていう感じになると思います。なので、この一連の仕事で1シートをつくり、その一連の仕事の中で、利用する画面のシートを子アクティビティにして書くという感じになると思います。
なお、このシートを作ると、入出力以外で、別のタイミングで、データ加工(システム内の業務)が必要になるということがあります。たとえば、給与入力してもらった後、支払いまでの間、ある日、給与計算をしないといけないなどというケースです。
この場合、子アクティビティとして、そのデータ加工をするシートを作成し、記入します
そして、その子アクティビティも、コレにつなげます。
また、入出力と同じ場面で行う場合には、場面のシートがあると思うので、その場面のシートの子アクティビティとして、このデータ加工するシートを作成・記入して、場面につなげます。
で、この一連の仕事がまとまって、さらに大きな仕事になる場合もあるし、直接トップにつながる場合もあるという感じじゃないかと思います。
■出力から考えて、足りない部分のアクティビティがないか、確認する
で、現在、出力の画面と、入力の画面ができましたけど、入力画面がデータベース書き出しすれば、出力できるって言う場合は、OKなんですけど、たぶん、たいていは、出力する前になにか、処理加工をしないといけないと思います。
それについては、上記の「中間のアクティビティを生成する」の作業で、「データ加工」(システム内の業務)として、あがっているはずですけど、ここで、ちゃんと、入力データが入っていれば、処理加工して、出力まで来るか、その流れを確認します。
そして、その流れをメモして置きます(メモすると、シナリオ作成に楽)
足りなかったら、付け足します。
これで、一連のシートは完成したことになります。
あとは、シナリオについてです。