リバーシで学ぶアプリケーション設計入門を受講して~ RDRA

概要

Udemyにて、しま (大嶋勇樹)さんが講義している「リバーシで学ぶアプリケーション設計入門」を受講しました。

リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜 | Udemy

受講した理由

現在の業務では、保守業務や既存のアプリの拡張開発などある程度仕様・実装手法が固められることが多く、アプリケーションを設計する機会がなかなか得られないと感じております。本講義では、リバーシを題材としてアプリケーション設計~実装までを一通り学ぶことができるため、段階アプリケーションエンジニアとしてステップアップできるのではと思い受講しました。

 

RDRA

今回設計では、RDRAと呼ばれる設計手法を用います。

下記の2つの記事が分かりやすくてよかったです。

リレーションシップ駆動要件分析(RDRA) - Qiita

モダンな要件定義手法「RDRA」をRPGゲーム風にカスタマイズして説明してみた - Goodpatch Tech Blog

 

コンテキスト図

開発する対象のシステムとかかわる人や他のシステムを整理した図です。

初めてコンテキスト図なるものを描きました。

今回はシンプルなアプリケーションであるため、描くことの効果が薄いように感じますが、大規模なアプリケーションではアプリの全体像が見やすいため、チームや顧客間でのアプリに対する認識を共有するのに便利だと思います。

コンテキスト図

 

ユースケース

登場人物がシステムで何をするかを整理した図です。

プレイヤーのユースケースを描きました。こちらは「ゲームを起動する」⇒「自分の番になる」⇒「石を打つ」など細かく描くのではなく「対戦する」といった割と大雑把な粒度で言いそうです。

ユースケース

概念モデル

各ワード間の関係性を示した図です。

この図が後のDB設計、クラス設計の元となるそうです。

概念モデル