タグ

ブックマーク / masuda220.jugem.jp (5)

  • ICONIX:ロバストネス分析 | システム設計日記

    ロバストネス分析は、要求を分析し、実装への橋渡しをする重要なステップです。 ICONIXプロセスの特徴、考え方がもっとも良くでているステップです。 要求モデルを強靭(ロバスト)にする ICONIXプロセスの要件定義は、初期のドメインモデル(用語集)を2時間くらいで描いて、画面の紙芝居を使いながらユースケースを記述します。 初期バージョンのドメインモデルやユースケース記述は、いろいろな曖昧さや不整合が残ります。 ロバストネス分析は、「ユースケースを絵にしてみる」だけの作業です。しかし、驚くほど、ドメインモデルに不足していたオブジェクトや、ユースケース記述の課題を発見できます。 ロバストネス図を描くことは、とても簡単かつ実践的な分析テクニックです。 ロバストネス分析によって、要求モデル(ドメインモデル、ユースケースモデル)は、強靭(ロバスト)になります。 実装を強靭(ロバスト)にする ICON

    labunix
    labunix 2014/02/02
  • ICONIX:ロバストネス分析 | システム設計日記

    ロバストネス図の作成はユースケースの文章を絵にするだけの作業です。 絵にするためには、ユースケース記述の一文一文を見ていく必要がある。ただこれだけのことですが、やっていくうちにユースケース記述の曖昧な点、不完全な点、不正確な点が見つかる。 理論的には、ユースケース記述を丁寧に読み直せば、同じ発見ができるはず。でも、実際は、なかなか発見できない。 ところが、絵にしてみる、という単純な作業をやるだけで、自然に文を読み直し、問題点を発見することができる。マジックといえばマジックです。 ロバストネス分析は、ユースケース記述の改善に、抜群の効果がある実践的な手法です。 文章を丁寧に読め、というだけでは、掛け声倒れになりがち。 「絵にしてみる」という単純な約束事があるだけで、実際に文章を読むし、また、読んで理解した結果を「絵」で確認できる。 作成者以外のメンバーが、ユースケース記述と「絵」を見比べれば

    labunix
    labunix 2014/02/02
  • オブジェクト指向プログラミングの教え方? | システム設計日記

    技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・モデルの説明から ■基用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き

    labunix
    labunix 2013/01/10
  • ドメイン駆動設計:4つのアンチパターン | システム設計日記

    6月23日(土)午後、大阪で、ドメイン駆動設計について、しゃべる予定。 第47回 SEA関西プロセス分科会のご案内 紹介の紹介の紹介、みたいな不思議なつながりで、講演の依頼があった。 「ドメイン駆動設計」を監訳された今関さんも参加いただける。 土曜の午後なので、時間が多め。 一方的にしゃべって終わりではなく、今関さんも交え参加者で、いろいろ話す時間を一時間以上とってもらいました(さらに懇親会もゆっくりと)。とても楽しみなイベントです。 ドメイン駆動設計は、訳がでてから、あちこちで勉強会や読書会が開かれているようだし、ドメイン駆動設計に興味持ったり、現場で取り組む人が、すごく増えた気がしている。 ネットで流れる情報も「ドメイン駆動ってなんぞや?」的なものだけでなく「私は、こう理解している、やっている」的なものが多くなったんじゃないかなあ。 訳の威力は絶大。 さて、講演の準備は、いつものよ

    labunix
    labunix 2012/06/15
  • アーキテクトを考える | システム設計日記

    Bruce A. Tate 著、まつもとゆきひろさん監訳、田和勝さん訳の 「7つの言語 7つの世界」 を楽しみながら読んでいる。 最初のページの「読者の声」の、 「複数のパラダイムを理解すると、設計能力が大幅に強化される」by Dr. Venkat Subramaniam に、はっとさせられた。 読み進めるうちに、この言葉の意味が、実感できてきた。 「異なるパラダイムを、実感してみる」と「設計の発想やセンスが変化する」手ごたえがあった。 9章「まとめ」に、プログラミングパラダイムを4つに分類した要約がある。 ●オブジェクト指向 --> Ruby, Scala ●プロトタイプ型 --> Io ●制約論理型 --> Prolog ●関数型 --> Scala, Erlang, Clojure, Haskell ※「手続き型」がないのは、このでは C, FORTRAN, COBOL, BASI

    labunix
    labunix 2011/09/30
  • 1