ネタつつき21−アクセス指向分析(AOA)2009-01-11 Sun 06:33
数日前にいきなり思いついたアクセス指向が色々な意味で評判だったので、アクセス指向という概念を作るのであればどのようになるのかを考えてみました。始めに言っておきますが、この記事は知的遊戯なので、真に受けないで下さい。1時間(この文章を書くのに掛かった時間)でいきなり実用的な○○指向が作れるはずはありません。
以前「ネタつつき16−オブジェクト指向の難しさと、実装を知らない設計者が駄目な訳(その逆も真なり)。」 で分析・設計・実装の三位一体を説いたのでアクセス指向分析から考えて見ます。遊ぶにしてもある程度真面目に書かないと面白くありませんからね♪ということで、今回はアクセス指向分析を書きます。まともに考えたのは1時間未満だからリラックスして読んでね♪決してプロとして読まないでね! アクセス指向分析はオブジェクト指向分析を補完するものです。オブジェクト指向分析と併用すると良いでしょう。アクセス指向分析では、問題領域を「アクセス」から眺めます。分析系の記事は事例が無いと書けませんので、ここでは本屋を想定して書き進めます。 インドリ商店の店長インドリは、或る日業務をシステム化しようと考えました。そこで、先ずは仕様を考える所から始めました。「えっと・・・どんな本があるかを管理したいピヨ。本はタイトル、ISBN、価格、著者、出版社のデータがあればいいピヨ。でもボクは鳥頭だから本の場所直ぐに忘れるんだよね。だから、本の配置場所も管理対象にしよう!あと、やっぱり売上データは重要ピヨ。他には・・・・・まぁいいか!」 あれ?仕様はそれだけ?単純なインドリは仕様をすぐさま決めてしまいました。次にする事は、やはりオブジェクトを抽出です。インドリはオブジェクトを早速考えました。 「ピヨピヨピヨピヨ。。。。。。。本オブジェクトは居るピヨ。それから出版社オブジェクト、著者オブジェクト、売上オブジェクト。他には・・・アクセス(認識)できないからいいや!ピョーピヨッピヨッピヨッピヨッピヨッピヨッピヨッピヨッピヨッ」 アクセス指向分析では、問題領域を特定するために、アクセスできない余計な事象は考えません。そうする事により、より早く問題領域が特定できます。オブジェクト分析の初心者は、余計な事まで考える傾向がありますからこれは大事なポイントです。えっ?私?私も初めての分析は勿論余計な事ばかり考えて周囲を混乱させました!えっへん!・・・話しを戻します。 アクセス指向分析でもやはりオブジェクト分析と同じく、何度も分析を繰り返します。その際アクセス指向では、アクセス出来るものを手繰り寄せる感覚でオブジェクトを特定していきます。さて、インドリはどうしているのでしょうか?引き続きインドリを観察してみましょう。 「あれ?今のままでは、置き場所はどうやっても管理できないジャン。置き場所ってのは、自分の店にあるものだから・・・店オブジェクトが必要ピヨ♪あと、売上って事は、レジで清算する。レジでは、お客様も居るピヨ。ボクの店は会員制なんだ。それからバイト君も居るし、お客オブジェクトとスタッフオブジェクトも追加ピヨッ♪」 このように仕様の中で一のオブジェクトから手繰り寄せるようにしてオブジェクトを特定していきます。リレーション(関連)と考えると分かりやすいかと思います。このようにしてオブジェクトが特定できたら、どのようにしてそのオブジェクトをアクセスするのかを考えて関係性について分析します。 「ボクは本を販売元から取り寄せる。販売元は沢山本を売っているから、関係は1対多ピヨ。本はスタッフが本棚へ配置する。1冊につき1人雇うだけのお金は無いからこれも1対多の関係ピヨ。あれ?本棚オブジェクトを忘れていたピヨッ!」 このようにして、分析を進めていくとどんどん必要なオブジェクトが割り出せ、それと共に後にデータベース化する純場整う事になります。でれもそれだけじゃあデータ中心アプローチと同じですね。アクセス指向ではさらにどのようにアクセスするのかと言う考察を進めます。 「そういえば、棚卸しをしている時漸く気付くんだけど、正常な在庫と実数が合わないんだよね。多分万引きされているピヨォッ!!!それも管理しなくっちゃ!という事は、本の在庫数チェックもシステム要件に含めよう。リスクは本の価格と等しいピヨ。ということは、防犯カメラもつける必要があるピヨ。」 このようにして、どの事象がどのようにアクセスされ何の情報生むのか、どのような不正なアクセス(危険)があってどんな被害が生じるのかといったセキュリティ分析も行います。セキュリティはなるべく早い段階で考える必要があります。アクセスを伴いと言う事はセキュリティを考えなくてはなりません。ですからアクセス指向分析ではセキュリティを重視します。なので、なるべく早い段階でセキュリティについて考えます。 以上でアクセス分析の説明は終わりです♪次はアクセス設計について書きます♪なるべく早く書くのでお楽しみに♪ |
この記事のコメント× たぐい寄せる
○ たぐり寄せる、手繰り寄せる 有難うございます。
直ぐに訂正します。
2009-01-11 Sun 20:49 | URL | インドリ #-[ 内容変更]
> 決してプロとして読まないでね!
オブジェクト指向はド素人ですので気楽にコメントしてみます。 > 「ボクは本を販売元から取り寄せる。販売元は沢山本を売っているから、関係は1対多ピヨ。 本屋の販売管理システムで販売元の品揃えまで気にする必要あるのかな?本屋から販売元が分かればそれだけでいいと思うんだけど。 > 多分万引きされているピヨォッ 万置きされたらもっと厄介w
2009-01-12 Mon 15:21 | URL | あんどちん #-[ 内容変更]
あんどちんさんコメント有難う。
>本屋の販売管理システムで販売元の品揃えまで気にする必要あるのかな?本屋から販売元が分かればそれだけでいいと思うんだけど。 質問の内容について答えます。 「ボクは本を販売元から取り寄せる。販売元は沢山本を売っているから、関係は1対多ピヨ。 」についてですが、この情報は基本的にはテーブルを作る際に使用するものです。 ※プログラム言語としてもDataTableの形で必要になるかもしれない この様なイメージになります・・・ 「本テーブル」 ・本ID ・題名 ・販売元 (省略) 「会社テーブル」 ・会社ID ・会社名 この例の場合、本テーブルは会社テーブルを参照しています。 なので 本テーブルから見れば会社テーブルは1 会社テーブルから見れば本テーブルは多 の関係となります。 コメントを頂けると嬉しいです♪ また気楽にコメントしてね♪
2009-01-12 Mon 15:36 | URL | インドリ #-[ 内容変更]
|
コメントの投稿 |
||
|
|
||
| 管理者だけに閲覧 | ||
|
|
||
この記事のトラックバック |
|
| 無差別に技術をついばむ鳥 |
|