前回の「サウナでととのう」のお題はいかがでしたでしょうか。今回も、身近にあるモノや出来事など、簡単な【お題】を出題し、皆様でモデリングを楽しむ活動を進めていきます。
今回は【お題】のみを出題し、次回に回答モデルをいくつか紹介する予定です。
モデルに完璧な正しさはないと思っていますので、
・意図に沿ってモデルを作成する
・よりよいモデルを作成する
にはどうしたら良いかについて、本連載でワイワイと議論できれば幸いです。
目次
1.今月号の問題 (出題)
いきなりですが、少し前の話です。
筆者らは、2024年9月28日にXP祭り2024で『UMLモデリングカフェ実演』というモデリングワークショップを実施しました。ワークショップ後、近くのソファで休みながら次のモデリングカフェのお題の話をしていたところ、近くで『TDDトレーニング』が行われていました。
そこで、
「『テスト駆動開発』って何やっているかわかる?」
という議論をきっかけに自然とモデリングしていたモデリングカフェ常連の2人だったのでした。
そこで、今回のお題です。
【お題02】テスト駆動開発
テスト駆動開発 (てすとくどうかいはつ、英: test-driven development; TDD) とは、プログラム開発手法の一種で、プログラムに必要な各機能について、最初にテストを書き(これをテストファーストと言う)、そのテストが動作する必要最低限な実装をとりあえず行なった後、コードを洗練させる、という短い工程を繰り返すスタイルである。 https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA
「テスト駆動開発」について語ろうとすると、視点や関心の違いなどから多くの議論が巻き起こりそうです(いろんなモデルが登場しそうで楽しみです♪)。
私自身は、設計や実装の方法として「テスト→実装」の細かいサイクルと分かりやすさが好きで、その繰り返しの中で、RED → GREEN → REFACTORINGのように、コードを洗練させていくのも気持ちがいいと感じています。
さて今回も、回答はクラス図とオブジェクト図で表現してください。クラスには必要な属性を、関連には多重度を明記するのがポイントです (回答時間の目安は30分です)。
2.回答モデルの送付について
締め切り
締め切りは 2025年1月31日 (金) です。
送付先
投稿方法は前回と同じです。
- Facebookへの投稿
- X(旧Twitter)への投稿
- 従来通りメールでの投稿
「Facebookへの投稿」で回答モデルの送付を受け付けます。可能であれば、こちらの形式でお願いします。オブジェクトの広場のFacebookページ(https://www.facebook.com/object.no.hiroba )の当該記事投稿に返信する形で投稿してください。
「X(旧Twitter)への投稿」はFacebookへの投稿が難しい場合にご利用ください。モデリングカフェへの投稿と分かるようにハッシュタグ「#ogis_modecafe」を付けて投稿をお願いします。
最後に、従来通りのメール投稿も受け付けます。モデルを他の人に見られるのは勇気が必要だと思うので、メールにて送付いただいても大丈夫です。電子メールの場合、下記アドレスまでご送付ください。
- 回答モデル送付先: modelingcafe@ogis-ri.co.jp
- メールのタイトル:モデリングカフェ読者回答モデル【お題02】
Facebook、X(旧Twitter)、メールでも、回答の画像ファイルまたは、astah*のモデルファイルと共に、以下の説明を付けて投稿ください。
- ペンネーム(お名前を記事に掲載しても構わない方は不要です)
- モデルのコンセプト
- 難しかったところ
- モデルについて自己評価
回答でいただいた個人情報につきましては、本連載記事の編集にのみ使用いたします。お客様の個人情報は、当社の個人情報保護方針に基づき、適切にお取り扱いいたします。また、ご本人の承諾なしに、第三者機関へ提供することはありません。
著作権について
送付いただいた回答モデルの著作権は回答者に帰属しますが、モデルの複製、配布、インターネット配信を行うことをオブジェクトの広場編集部ができるものとします。 特に取り決めのない事項については、オブジェクトの広場編集部の判断により決定します。回答者がその決定を了解できない場合は、回答を撤回できるものとします。
皆様からの投稿を記事で紹介する際には、個別に掲載(および掲載時の見栄えを整える修正)の了承をいただきたいと思いますが、掲載する可能性があることに同意の上で投稿いただくようお願いいたします。
モデルの作成について
モデルは手書きでも、ExcelやWordの作図機能を使って描いても OK です。「モデルの作成」には、以下のUMLモデリングツールなどが利用できます。他のツールや手描きでも構いません。
- astah* : https://astah.change-vision.com/ja/
- Enterprise Architect : https://www.sparxsystems.jp/
- PlantUML : https://plantuml.com/ja/
- Cacoo : https://cacoo.com/ja/
※提出するモデルについては、画像ファイルまたは、astah*のモデルファイルでお願いします。
3.プレゼント企画
今回も株式会社チェンジビジョン様のご厚意で、投稿者の中から優秀なモデル回答読者に「astah*の1年間のライセンス提供」をいただけることになりました。
ライセンスの提供は、ちゃんとライセンス登録し、チェンジビジョン社からのメールで情報を受け取ることが条件とはなるので、投稿時にライセンスを希望することを主張いただけると選ばれやすいかもしれません。
ぜひ、奮ってご参加ください。
4.さいごに
UMLモデリングカフェ「Square」の2問目はいかがでしょうか。
年末に出題したのは、冬休みの間にモデリングを行う時間が沢山あるのではないかと思ったからでもあります。
年末年始の特番を見ながら、ふとした時間に手元のチラシ裏に鉛筆でモデルを描いてみると考えすぎない素直なモデルが描けたりするかもしれません。
繰り返しますが、唯一の正解となるモデルというのはありません。観点が変われば違うモデルになることもモデリングしてみると分かります。そういった捉え方の違いも含めて、友人と会話し、様々な可能性やより良い観点を「見出す」ことが、私たちがモデリングカフェを再開した目的になります。
皆様から、Facebook、X(旧Twitter)、メールでの積極的な投稿をお待ちしております。