Tips-07.資源の棚卸 で棚卸の手順をご紹介しましたが、もう少し説明を補足しつつ、なぜこんな作業を行うことになったかをお話したいと思います。気楽にお読みください。
1.改修作業への制約
そもそもの発端は、大掛かりな全社的なシステム改修が必要となったからです。
該当のシステムは、グループ他社及び複数の事業所間で行われている日常業務の統一化を図ると同時に、他システム間でのデータの連携をめざして設計されたものです。
それゆえ、改修作業における影響の及ぶ範囲については確実に把握する必要がありますが、それ以上に配慮しなければならないのは、日常的な運用中のシステムである、ということです。
特に厳しい制約には、
①長時間システムを止めることができない
②他の連携システムへの影響は最小限に抑える
➂操作者の負担にならないよう、操作手順には大きな変更を行わない
④トラブルが発生した場合には、とりあえず日常業務は手作業でも対応できるようにする
などがありました。
2.対応策と発生した課題
そこで以下の対応策をとったところ、後々に問題を残すことになってしまいました。
①改修範囲を分割して段階的に移行するようにした
→次の段階に進むときに手戻りの処理が発生した
②他システムへの影響を抑えるため、稼働中のファイルは変更せず連携ファイルを追加した
→ファイル数が増え、ファイル構成が複雑になった
➂画面構成、操作など、操作者の負担になるような変更は行わない
→日常業務は日付を切って自動的に分岐するようにした結果、ロジックがたどり難くなった
④トラブル発生時の避難的な処理を追加した
→不要になった後もあえて止める必要がなかったため、残り続けることになった
過去の修正履歴は残されているものの、入り組んだロジックを追うのは至難の業でした。
そこで、個々のプログラムからではなく、フォーム、ファイル、モジュールから使用プログラムを逆引きしようと考えたのです。
3.PGの逆引き
システム資源の棚卸表としてご紹介したEXCEL表ですが、ここでは少し修正を加えました。
| (1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
|---|---|---|---|---|---|---|---|---|---|
| メニュー№ | メニュー名 | ページ | PFキー | タイトル | PG名 | フォーム名 | ファイル名 | 更新か参照か | 参照モジュール |
(5)の制御文は必要としない言語もありますので、PGのタイトル名(メニューに表示される名称)に変更しました。またファイル検索にはインデックスキーを使用しない場合もありますので(10)の検索キーを省き、参照モジュール名を記入するようにしました。
(1)メニューNo、メニュー名、ページ、PFキー、タイトル、PG名
メニューはサブシステム毎にナンバリングし、メニュー名を記入します。
次に、メニューから直接呼び出しているPGとPGのタイトル名をメニュー表の該当位置に記入します。
メニューにある以上は現役のPGと思われますが、念のために実際に存在するかも含めて確認します。
メニュー表があると問い合わせがあった場合に、調査するPGが即座に判明するので楽です。
説明する場合にも、どのメニューの何ページ目のどのPFキーと指定できれば、話は早いです。
(2)フォーム名、ファイル名
個々のプログラムで使用している、フォーム名とファイル名を記入します。
ファイルは種別(テキストファイルやRDBなど)と、参照か更新かも記入します。
あるファイルやフォームを使用しているPGが特定できれば、影響の及ぶ範囲を限定できます。
ファイルの構成図や連携図は別途作成します。
(3)参照モジュール
システムには複数の共通モジュールがあると思いますが、メニューからはこのモジュールはどのPGで使用されているかは把握できません。個々のPGから拾うしかないので面倒ですが、共通モジュールの修正は影響範囲が広い可能性が高いと思いますので、使用PGが把握できると有難いです。
(4)メニュー外PG
共通モジュールもそうですが、メニューから直接呼ばれないPGも存在すると思います。
EXCEL表の最後にメニュー外PGとして、使用しているフォームとファイルを記入します。
そこから更に参照しているPGや共通モジュールがある場合は参照モジュール欄にその名称を記入すると同時に、メニュー外PGとして新しい行に追加記入します。
根気のいる作業になるかもしれませんが、過去のシステムの改修作業時に分岐して作成されたことも多いので、最後まで辿っておくほうが安心です。
フォームやファイル、モジュールなどには1列では足りないと思います。一つのセル内にすべての要素を記入するか、複数の列や行を用意するかは悩むところです。
このサンプル表も既に横長ですが、検索した結果が一覧できることを優先しました。
蛇足ですが、この作業を通じて全く使用されていない資源をはじき出すこともできました。
最後まで読んで下さりありがとうございました。
