リバーシで学ぶアプリケーション設計入門を受講して~ RDRA
概要
Udemyにて、しま (大嶋勇樹)さんが講義している「リバーシで学ぶアプリケーション設計入門」を受講しました。
リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜 | Udemy
受講した理由
現在の業務では、保守業務や既存のアプリの拡張開発などある程度仕様・実装手法が固められることが多く、アプリケーションを設計する機会がなかなか得られないと感じております。本講義では、リバーシを題材としてアプリケーション設計~実装までを一通り学ぶことができるため、段階アプリケーションエンジニアとしてステップアップできるのではと思い受講しました。
RDRA
今回設計では、RDRAと呼ばれる設計手法を用います。
下記の2つの記事が分かりやすくてよかったです。
モダンな要件定義手法「RDRA」をRPGゲーム風にカスタマイズして説明してみた - Goodpatch Tech Blog
コンテキスト図
開発する対象のシステムとかかわる人や他のシステムを整理した図です。
初めてコンテキスト図なるものを描きました。
今回はシンプルなアプリケーションであるため、描くことの効果が薄いように感じますが、大規模なアプリケーションではアプリの全体像が見やすいため、チームや顧客間でのアプリに対する認識を共有するのに便利だと思います。
ユースケース図
登場人物がシステムで何をするかを整理した図です。
プレイヤーのユースケースを描きました。こちらは「ゲームを起動する」⇒「自分の番になる」⇒「石を打つ」など細かく描くのではなく「対戦する」といった割と大雑把な粒度で言いそうです。
概念モデル
各ワード間の関係性を示した図です。
この図が後のDB設計、クラス設計の元となるそうです。