- PR -

CRUDマトリックスの作成について

投稿者投稿内容
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2008-03-21 17:55
引用:

Mr.CBRさんの書き込み (2008-03-21 17:34) より:

ちなみに現在、GREPを使って影響プログラムの抽出を行っているのですが、
さすがにプログラム本数が600本と多く、この作業が負担になってきています。
幸いな事にテーブルとプログラムはきちんと管理しています。
よってCRUDマトリクス作成を考えました。

ひろれい様が言われている通り、Excelのフィルタ機能を使用しようと考えて
おります。ただしExcelのフィルタではOR条件は2つまでしか設定出来ないので、
C+U+Dの3つを抽出したい!と思っても、2回に分けて確認を行う必要がありますが、
正直この部分は諦めるしかないと考えています…。この点についても何か良い
アドバイスがあれば教えていただきたいです。


テーブルとプログラムは、現状、どのように管理されているのでしょう?
grep ということなのでテキストベースでしょうか。

私なら簡単なアプリを作ってしまいますね(^_^;)
既に Excel に取り込み済みなら Excel マクロとか。
工数も 1 人日あれば十分作成可能だと思いますし。

引用:

ラララさんの書き込み (2008-03-21 17:07) より:

フィルタだと、ターゲットを選択してフィルタリングすると思われるので、
複数のターゲットがある場合、複数回のオペレーションが発生し、
単純にCRUD図を見渡すという行為ができないと思うのですが。

また、印刷して提示する場合はどうしますか?


私の経験上、CRUD 図全体を見渡す必要性にあまり出会ったことがないので、必要な条件で絞れば良いかな、と。

よって、CRUD 図全体を印刷すべき必要性にも出会ったことがありません。
(Excel 上で閲覧・検索できれば実務上問題なかった)
(小さい規模で 1 ページで印刷できる場合はしていました)
納品は Excel ファイル自体でしてきましたし。

まあ、この辺はユーザによっても違うと思いますし、会社によっても違うと思います。
私から突っ込んでおいて何ですが、スレ主さんの求める話題からハズれてしまう内容なので、これ以上の議論が必要であれば、PM でお願いできますか。

誤字訂正
×PB → ○PM

[ メッセージ編集済み 編集者: ひろれい 編集日時 2008-03-21 20:15 ]
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-03-21 18:04
引用:

Mr.CBRさんの書き込み (2008-03-21 17:34) より:

ただしExcelのフィルタではOR条件は2つまでしか設定出来ないので、
C+U+Dの3つを抽出したい!と思っても、2回に分けて確認を行う必要がありますが、
正直この部分は諦めるしかないと考えています…。



「C, U, Dのいずれかを含む」という条件で探したいのだと思いましたが、
「Rと等しくない」かつ「と等しくない」ではどうですか?

ちなみに私は、Excelマクロを使って背景色を塗り分けています。
もし×を使うのであれば、前景色をグレーにすると見づらくなりにくいかも。
indigo-x
大ベテラン
会議室デビュー日: 2008/02/21
投稿数: 207
お住まい・勤務地: 太陽の塔近く
投稿日時: 2008-03-21 19:59
(私の×入力は便宜上わかりやすく書いただけだったんですが。。それはそれとして)

なぜ、グループ化と階層化を提案したかと言いますと。
例えば
1.「発注プログラムは在庫を更新しない」プログラムの本質に局所的な事が多いい。
2. サブシステム間のI/Fがはっきりするのでは(サブシステム間で共有しているのは何か)

ただ、今回は変更目的なのでフラットな感じでフィルタでも
よいのかなと思います。
EXCELが得意ならVBAで書けば結構複雑なものが書けますが。。。。
Mr.CBR
会議室デビュー日: 2008/03/19
投稿数: 6
投稿日時: 2008-03-21 20:06
ひろれい様へ
テーブルとプログラムは台帳としてExcelで管理しております。
GREPについては、以下の3工程で洗い出しを行っています。
1.全VBソースをGREP
2.全SQLスクリプトをGREP
3.全DBのプロシージャ、ファンクション、パッケージ、トリガーを
ツールによりテキスト出力してGREP

rain様へ
なるほど、そのような使い方がありますね!
勉強になります。
条件付き書式などを利用すると、使いやすくなりそうですね。
Mr.CBR
会議室デビュー日: 2008/03/19
投稿数: 6
投稿日時: 2008-03-21 20:08
誤記訂正です。
×3.全DBのプロシージャ、ファンクション、パッケージ、トリガーを
ツールによりテキスト出力してGREP

○3.DBの全プロシージャ、全ファンクション、全パッケージ、全トリガーを
ツールによりテキスト出力してGREP

※DBは1つのシステムです。
bangbangshoot
会議室デビュー日: 2008/03/22
投稿数: 1
投稿日時: 2008-03-22 01:17
こんにちは。
すごく興味深いスレッドなので、もし私ならどうするだろうということでアイデアだけ。

プログラム600、テーブル420では一枚のCRUDでみても
なんのことかよくわからないと思うし、印刷しても
すごい枚数が出るので、うまく絞り込めるように
ピボットテーブルをつかってみたらどうでしょうか。

当然、ピボットテーブルを使ってもそのまま出したら列数は制限
を超えてしまいますので、テーブルとプログラムはそれぞれ
適当にグループ化しておきます。
ピボットテーブルだと、行と列の見出しをそれぞれ階層化できるので、
うまく収まりそうな気がします。
また、データを作るのとピボットの結果を行き来しやすいので
整理しながら進められるかと思います。

あと、ピボットテーブルの場合、交差する値としては
数字になってしまう(本来は個数とか合計とかで使うため)ので
元ネタのデータに1列、数字をいれておいて合計値で表現するとか。
(Cだと1000, Rは100, Uは10, Dは1)
たとえばこんな感じです。

元ネタ:
ProgA | Table1 | 1100 | CR
ProgB | Table1 | 100 | R
ProgB | Table2 | 101 | R D

ピボット:
   | Table1 | Table2 |
ProgA | 1100 | |
ProgB | 100 | 101 |

実際には、ピボットテーブルの値を関数かなにかで"CRUD"の文字列に
置き換えられたらバッチリだと思いますが、その方法はわかりません。
どなたかご存知なら教えてください。

実際のところ、私が調べる場合はgrepかrubyで
プログラムとテーブルの関係を調べて、Excelにコピペしたら
ピボットテーブルで概要をつかむという使い方がほとんどです。

スキルアップ/キャリアアップ(JOB@IT)