忍者ブログ
雇われるだけの人生から目指せ独立、社会人2年目なゲーム脳SEのブログ。更新頻度=週2~3回。
[155]  [154]  [153]  [152]  [151]  [150]  [147]  [148]  [149]  [146]  [145
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

さーそれでは何を作るかも決まりましたので、最初に作る機能を決めます。
  • 本システムにはノートブックとメモが存在する
  • ノートブックを作成、名称変更、削除できる
  • メモをノートブック上に作成、更新、削除できる
  • メモをノートブック間で移動できる
  • メモは書いている間に自動的に保存される
最初ですからこれだけ機能があれば十分でしょう。
それでは、まずはユースケース図でも記述しましょうか。

ユースケース図とは何かって?↓こんな図です。

TO000025.JPG

棒人間さんがやりたいことを○(ユースケース)書いてつらつら説明文を書いて線でつなぐだけです。OSを作るのと比べると、とっても簡単ですよね。
もちろん実際には、この線には「関係(relationship)」を表しているとか、その中でも特に「関連(association)」を意味する線なんだとか、いろいろと複雑きわまりないルールが存在するわけですが。
それから、いくらやりたいことを書けるからと言っても、本当にやりたいことを全部書いてしまうと後からとんでもないことになりますので、最初はつつましく、本当に必須の機能だけを挙げてみました。ここは我慢の時です。

さて、こうして図を眺めていると、これらのユースケースの間で、共通的に使えそうな機能がいくつか見つかりそうです。
  • ノートブックを選択する
  • メモを選択する
この二つの機能は、ほかのたとえばメモを書いたり、ノートブックを削除したりするときにも、共通的に必要になりそうですよね。ですから、ここは「拡張(extend)」という関係を使って図を拡張してみましょう。

TO000026.JPG

こんな感じになりました。

・・・って、書きながら本を調べて気づいたのですが、拡張とは別に「包含(include)」という関係もあって、そちらのほうが今回のケースにふさわしいと言うことがわかりました。
  • 包含は、常にその機能が使用される場合
  • 拡張は、その機能が使われたり使われなかったり分岐したり、オプショナルに使用される場合
メモを選択しないでメモを削除することはできませんよね。ですから、この場合は包含が正しそうです。

さらに、「メモを選択」するときには、必ず先に「ノートブックを選択」しなくてはなりませんから、この二つの間にも何らかの関係がありそうです。包含でしょうか?
・・・いえ、メモを選択するという処理の中でノートブックを選択するという処理が必ず行われる、というわけではありません。あくまでこの二つの関係は、先にノートブックを選択しておかなければならないという「前提条件」関係ですよね。というわけでココでは「依存(depandency)」関係を使うことにしました。

ただの楽しいお絵かきから面倒くさい数学の授業みたいに話が変わってきてげんなりムードですよね!私もです。数学大嫌いですから。

というわけで、ココまでの修正をまとめたのがこちらの図↓です。

TO000027.JPG

コレでユースケースはだいたい完成です。
次は画面イメージの作成と、初期クラスの抽出(概念モデルの作成)をやる予定です。

しかしなかなか大変だ、こんなペースでいつまで続くかなぁ・・・
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
10 2024/11 12
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
最新コメント
[11/13 DSLR-A850]
[08/29 逆援助交際]
[08/23 クンニ]
[08/22 熟女]
[08/19 痴漢]
はてなブックマーク
プロフィール
HN:
akisute
性別:
男性
職業:
システムエンジニア
趣味:
ゲーム・東方・ニコ動。あと散歩。
バーコード
推奨環境

横幅900px以上、Firefox 3, Safari 3, Opera 9.5, Chrome 0.2以上。IE7ギリギリ対応。IE6未対応。

忍者ブログ [PR]