# オブジェクト指向設計の勉強会を終えて ## 反省から 本来の目的は「分析まで含めたオブジェクト指向設計について」その結果を共有する感じでした。 しかし、 1. 主催者の一人が分析よりもオブジェクト指向プログラミングの方を向いていた 2. イベントのタイトルや趣旨に「分析」って言葉が入ってなかった ことから、どちらかというと実装に近い勉強会になってしまった上に、参加者を迷わせてしまい、大変申し訳ありませんでした。 提案者は「分析 -> 論理設計 -> 実装」ってみんなどうやってるの?という流れを取るつもりでした。 ## 目的 実装した後に仕様変更が発生して大幅に書き直すのがだるい。仕様変更が発生するのは分析がまずいんじゃないか? と思って、分析をちゃんとやってみたかった。 ## まさくらさんの発表スライドを分析モデリング視点で見てみる 「オブジェクト思考設計」というのに「分析」が必要なのかって議論したのちに、 うっかり「設計するには論理設計に至る分析が必要」、 「まさくらさんの発表スライドって実装からのアプローチで論理設計から入っているよね」という 旨発してしまったために始まった長ーいチャット合戦での延長戦。 **発表スライドの図** ![](https://i.imgur.com/hnqN9Be.png) *うすいさんの指摘事項のまとめ* * 設計するには論理設計に至る分析が必要 * 「実装からのアプローチだよね」 * →じゃあ、うすい的にはどういうのが分析なの? * 検査って「実行」するじゃなくて「検査の実施」だよね * 検査するなら「検査結果」って出てくるはずだよね? * 関係を表したいならメソッドを書かずに、それぞれ関連線引くんじゃないかな? * 「検査群」って利用者からみたら群にはならず、「検査」じゃないかな。 「利用者」→「検査」→「検査項目」→「検査結果」となりそう * 実施した検査結果の履歴っていらないんだっけ? 利用者ごとに検査して履歴を取る必要があるなら、利用者と検査結果と関連した履歴が必要かも **指摘後の分析の図 (何パターンか)** ![](https://i.imgur.com/AHj4sRK.png) ![](http://www.plantuml.com/plantuml/png/Iyv9B2vMUDgnylcK5IyQMXMgkMgvk9B1Wi-Mp7asV_VphHEUpPlpP4V3YsNB8RA9ISKbHOd99Gh8obukQ7q-UnqkxPZYZWgf5IMfUIc4z3lXKOTmjMvHPdf6YIuM9rifs4557pUkUxfk_hDfUxcmU4mBcmc4zCAijKDn6nPT0000) やってみると色々変わるので、まだまだ分析不足なんじゃないかと思われる。 参考までに、うすいさん版はこっち。 ![](https://i.imgur.com/DDahAqT.png)