質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

1333閲覧

クラス図を書く上で大事なコツや事前にやっておくべき事

m_etekusat

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/10/31 10:24

現在ゲーム制作をしており
企画書→仕様書→フローチャート→クラス図
の順序で進めてきたのですが、クラス図を書くところで詰まってしまいました...
ゲームが将棋をベースにしている&クラス図の練習も兼ねてまず従来の将棋のクラス図を書こうと思ったのですが
これも上手くいきません。
具体的にはオブジェクト同士の関係をどのように構築していけば良いのか考えても手が止まってしまうのです。

何かコツや予めやっておくべき事等あれば教えていただきたいです。
非常に曖昧な質問となってしまい申し訳ありません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2021/10/31 10:26

質問は編集できますので、今度からは新しく投稿しなおすのではなく質問を編集しましょう。
m_etekusat

2021/10/31 10:30

確かに編集出来ますね... 申し訳ないです、少し慌ててしまいました。
guest

回答1

0

企画書→仕様書→フローチャート→クラス図
の順序で進めてきたのですが

クラス図がリバースエンジニアリングでないなら、順序がおかしいです。
思考のパターンもこの通りなら、それが邪魔しているかもしれません。

通常は、
要件(企画書)→クラス図(機能仕様)→シーケンス図(フローチャート)
です。

クラス設計のポイントの一つとして、それぞれの相互関係(継承、集約、関連)を意識する事にあります。
UML辺りを切っ掛けに、そもそもクラス図とは何なのかの理解を深められた方が良いかと思います。

投稿2021/10/31 11:09

編集2021/10/31 12:02
sazi

総合スコア25206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m_etekusat

2021/10/31 11:22

なるほど...そもそも開発順序が違うのですね 個人的にクラス図は各パーツの情報&行動を記載し、かつパーツ同士の関係性を記した図だと認識しています。 なのでクラス図を書けば後はその通りにコーディングして行けば良いと思っていたので 順序も処理の流れを書くフローチャートから最も細かく記載するクラス図を書こうと考えていました。 実際には先にクラス図を書くようですが、何故処理の流れを最後に書くのでしょうか? 処理を書く=各オブジェクトにどのような役割が必要なのか分かると思うのですが、そもそも今私が考えているクラス図及びフローチャートの役割の認識が違うのでしょうか。
sazi

2021/10/31 11:37 編集

クラスで入出力の定義を行うのですから、それが決まらないと流れ(シーケンス・フロー)を決められないからです。
sazi

2021/10/31 11:42 編集

y=f(x)という関数があったとして、この関数のxやy(入出力)が定義されないと、流れは決められないですよね。 この関数をクラスと置き換えてみると考えやすいのではないでしょうか。
sazi

2021/10/31 11:58 編集

多分開発に選択した言語がオブジェクト指向言語で先ずクラスの定義を行う必要があって、それでクラス図を作ろうとされているのでは? それであれば、仕様書を元にクラスの定義を行って行くという事になると思いますので、 やっぱりクラスとは何か?を理解されないと駄目だと思います。 当然観点が異なるので、仕様書とクラスが1:1にならない事もあるでしょうし。
m_etekusat

2021/10/31 12:02

なるほど、確かにクラスは必須となっているのでそちらに引っ張られていました。 ありがとうございます。 やり直し、クラス図から考えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問