合計 昨日 今日

c++における設計について

フォーラムルール
フォーラムルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Name: たてろく
[URL]
Date: 2017年7月21日(金) 22:29
No: 1
(OFFLINE)

 c++における設計について

初めまして。
趣味でc++プログラミングをしています。
文法などは一通り勉強し、
おもむろに真っ白からコーディングを始め、
メソッドの追加などを含む試行錯誤をしながら
簡単なものを作ることはできます。

今回質問させて頂きたいのは、
設計に関してです。

調べてみたところ、
やりたいことが決まったら
必要なクラスを洗い出し、
更にメソッドや定数など細かいことを
決めていくとのこと。

そこで疑問です。
メソッドや定数まで洗い出したあと、
そのメソッドやらは
誰がどのタイミングで使うかどうかは
設計書には組み込まないと
いうことでしょうか?
それともfor文やswitch文などの
処理まで更に細部まで
設計書に落とすのでしょうか?

設計書とは誰がプログラミングをしても
期待した処理が実装されるように
書くものだと思っていますが、
洗い出したクラスやメソッドを
使うタイミングを決めないと
それは満たされない
という認識でいて、
前に進めずに困っています。

更に、設計書ですら誰が作っても
同じ、又は限りなく同様の物に近いものが
できると思うのですが、
設計前に、簡単なフローなども
描いてみたりしたのですが、
それをインプットにして
設計書を作ったときに、
上記を満たすイメージが全く湧かず、
途方にくれています。

以上、長くなりましたが
⑴ 設計書のレベルとは
⑵ 設計書を作るときのインプットとは
⑶ 設計書を作るときの効率的な方法

過去ログなども探して見たのですが、
求めている回答は
見当たらなかったので
質問させていただきます。
存在しているようでしたら、
お手数ですが教えてください。

また、グーグル先生にも聞いて見たのですが
わからなかったので
参考になるサイト等もありましたら、
是非教えてください。

最後に、この質問自体が
見当違いでしたら、申し訳ありません。

以上、長文失礼致しました。
よろしくお願いします。

※開発環境等は、省略させて頂きます

Name: ANASTASIA
[URL]
Date: 2017年8月03日(木) 01:44
No: 2
(OFFLINE)

 Re: c++における設計について

設計書の定義が曖昧ではあるが、オブジェクト指向という趣旨での質問であるならば、その設計書が指すものは"UML"だろうか?

参考サイト http://www.itsenka.com/contents/development/uml/

C++に限った事ではないものですが。

これを嫌うエンジニアも多いです。

ただ、計算機科学的な話をすると、実はUMLでも厳密には表現できない世界は存在するとは言えます。(この件に関しては、一旦頭の片隅に入れておく程度にして、UMLの理解を深める事を優先するべきかとは思いますが。)

Name: usao
[URL]
ハッカー(133,707 ポイント)
Date: 2017年8月03日(木) 09:53
No: 3
(OFFLINE)

 Re: c++における設計について

> 設計書
ってのは,どうすればいいの? という事柄に対する一般解(?)が存在するのか否か知りませんが……

あなたが 【誰向けに どの程度のレベルの物を 出さねばならないのか?】
という背景条件が存在するかと思いますので,
何があれば良いのかを判断できる相手(その設計書を必要とする相手? その設計書を用意しろとあなたに指示した人?)に対して,
どのようなものがあれば必要十分かを問うべきではないでしょうか.

(ネット検索結果や,こういった掲示板等で,誰かが「設計書ってのは,こうするのですな」とか書いていたとしても
 それがそのままあなたの置かれている状況に合致するとは限らないのではないかな,と.)

Offtopic :
> for文やswitch文などの処理まで更に細部まで設計書に落とす

「ここの部分の具体実装にはswitchを用いること!」とかいう指示文書をせっせと作ることを考えておられるのでしょうか?
個人的には誰が得するのかわからん話です.
(「ものすごい細かいLVの話のフローチャート」ですら,分岐やループに用いる具体的な言語文法を限定しないと思う.)

完全な実装詳細まで全てを決めるけど絶対に自分自身ではコードを書かない人 と 言われたとおりにひたすらタイピングしてコードを生成する人
という分業体制を想定?

Name: BluOxy
[URL]
Date: 2017年8月09日(水) 15:14
No: 4
(OFFLINE)

 Re: c++における設計について

設計は突き詰めていけば、
「使うひとがその設計書を見ながら実際のモノが完成できればOK」
です。

で、実際はどこまで作り込めばいいのか…とお悩みになっていらっしゃいますね。
まず考えることとして「誰がその設計書を見るのか」を決める必要があります。
その人に見せてモノを完成させられるレベルまで設計することができたらゴールです。

しかし、人や会社によっては詳細まで詰める必要があったりします。
それでもまずは概略レベルで設計書は作らないと始まらないです。

オブジェクト指向であればUMLを使うべきなので、例えば以下のような流れで作ります。

①ユースケース図
「もし○○なら■■で△△する」など仕様を日本語ベースでかく
②クラス図
ここは人のセンスでいくらでも変わります。
必要そうなクラスをいくつか洗い出し、ユースケース図の仕様で必要と判断できたデータ(属性)やメソッド(操作)を
クラス毎に追加していきます。
③シーケンス図
シーケンス図は、各メソッド毎に作ります。
そのメソッドが、どの様な処理で、またどのオブジェクトに影響を及ぼすかを考えて設計します。
この際には分岐や繰り返しなども含めてなるべく細かく処理を決めていきます。
しかし、あくまで何がしたいか判ればいいので、コードを処理内容に書くなどはせず、まずは日本語で書いてみてください。

設計書が必要な大元は「伝わるかどうか」です。


Return to C言語何でも質問掲示板

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[8人]