Skip to content

Tag: class diagram

パターン編(1) 注文書を表現するヘッダー明細パターン

業務上非常によく出てくるパターンとして「ヘッダー明細」を取り上げます。基本編(1) まずはクラス図の「顧客ー注文」の先にあるものです。 [スクリプト] モデリングしてますか? このビデオシリーズ、パターン編の第1回目は、ヘッダー明細パターンというのを、やってみたいと思います。 このパターンは非常に、よく使われるので、色々な場面で出てきます。 「注文」のパターンを考える 今回は、前回基礎編でご説明した「クラス図」で出てきた、「顧客」やそれに対する「注文」がありましたね。 その「注文」を、詳しくみていきたいと思います。 前回の通り、「顧客」には「名前」と「メールアドレス」があって「注文」には、「日付」があり「金額」がありますね。 このような描き方になっていますが、一般的に、「注文」というのは複数の商品からなっていますよね。 「注文書」を思い浮かべてください。 よくビジネスで使われているので、皆さん、当然見た事があると思いますが、注文書には、お客さまの名前、件名があり、金額があります。メールアドレスや電話番号もあると思います。そして上部には、注文の日付がありますね。それから注文の番号があります。 次に、自分の会社の名前があって、下部には合計金額の内訳があります。内訳として、品名、単価、数量、金額があります。 つまり、この例でいくと、「ロゴマークデザイン」というデザイン料として単価が1万円、数量が1ケ、金額が1万円となり、「タオル」の単価が1000円が10ケで2万円となっています。それで、金額の欄を足したものが、合計の金額となっているわけです。 注文書をモデリングしてみる 非常によく出てくるフォーマットと思いますので、これをモデリングしてみたいと思います。 この「注文」の中に「金額」がありますが、「金額」の下をみていくと、1行1行クラスとして表現しています。 その1行の事を、「注文行」という事もありますし、「注文明細」と呼ぶ事もありますね。そこには、「単価」があって、「数量」があります。「注文」は、「注文明細」を保持していますよね。 もし「注文」がなくなれば、「注文明細」の意味が無くなるわけですから、正確に描くと、「注文」の多重度は1になります。 「注文」には、複数の「注文明細」があり、そして「注文明細」に「単価」と「数量」があり、これを掛け算したものが、1つの行の 商品に対する金額になります。 これを足し合わせたものが、注文全体の金額になるというパターンになっています。この強い保持している関係を、UMLでは「コンポジット」という黒い四角で表します。 このように全体があって、部分が行に分かれていて、それぞれの行の合計が、全体になっている、というのをヘッダー明細パターンと 呼んで、注文も、注文明細も、例えば見積もりや、売上に対して、このようなパターンが成り立ちます。 もう1度、先ほどの注文書で復習すると、1行1行書かれているものが、注文明細になるんですね。 「商品」という概念があって、「商品」との関係を描くことによってもう少し注文書全体を、細かくみていきたいと思います。 まとめ このようなUMLを使ったパターンは、多く本が出ていますので、また次回紹介したいと思います。 例えば、細川さんが書かれた、「UMLによる一気通貫DBシステム設計 […]

基本編(1) クラス図

UMLクラス図の基本を、モデリングツール astah*を使って解説。 [スクリプト] モデリングしてますか? この短いビデオシリーズでは、astah*を使って基本的なUMLの図の描き方について、実践的なレクチャーをしていきたいと思います。このコンテンツは、どんどん増えていきますので、随時チェックしてください。  概念レベルのクラス図 クラス図には、実装レベルのクラス図と、それから概念レベルのクラス図があります。概念レベルのクラス図は、ユーザーが使う言葉を分析して、それをダイアグラムにしたものです。 ここでは、概念レベルについて説明していきたいと思います。例えばここに、「顧客」と「注文」という2つの言葉があります。例えば「顧客」ですと、「名前」という属性や、「email」という属性を持っているでしょう。 それから「注文」ですと、「日時」や「金額」といった属性を持っていることになると思います。  モデリングツールでクラス図を描いてみる では、実際にクラス図を描いていきましょう。 ここにクラス図のアイコンがあります。ここをクリックして、 クラスを描きますが、astahではダブルクリックでもクラスを描く事ができます。 「顧客」と入力しましょう。 次に、属性ですが、ここにオレンジ色のボタンがあるのが見えますでしょうか。これをクリックして、属性を追加する事が出来ます。 「名前」と入力しましょう。 それからもう1つ、もう1回、このオレンジをクリックして「email」と入力します。 さて、同じように「注文」クラスを作っていきます。 ダブルクリックをして「注文」と入力。今度は、ショートカットの[Ctrl + R]で入力しましょう。 そして、注文の日時を入力し、ここで改行を入力すると自動的にもう1つ属性が追加できます。 「金額」と入力します。 このクラスの関係を、次に作っていきます。 関係を作るには、ここに関連のアイコンがありますが、astahで同じように、簡単に関連を作る事ができます。 クラスをホバーすると、ここに関連のアイコンが出てきますね。これを引っ張って描く事もできます。 あるいは、ここに色んな関連の種類を選ぶ事も出来ます。 今回は普通の関連を選んで、2つを結びます。そして名前を入れてみましょう。 名前は例えば、「顧客」から見たときに、「注文を発行する」がよろしいでしょうか。ここに名前を入れます。 次に多重度も入れてみましょう。 […]