A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
コーディングしたことがないなら、はっきり言ってろくな設計書は書けません。
といっても書かないでコーディングを始めたのでは勉強になりませんから何かを「エイヤ」で書くしかないです。頭の底から湧いてこない書類に時間掛けても無駄。コーディングして困ったことがあって、はじめて意味のある書類が書けます。
逆の言い方をすると、コーディングしようとしてみて、何かが決まってないとか設計が必要と感じて行き詰まることが出てきたら書類を書くと良いです。
詳細設計はCやオブジェクト指向の場合、クラス定義そのものですので詳細設計の工程をわざわざ取る意味はないです。コードそのものが書類になってるようなものは全くの無駄ですけど、コードでは見渡せないような「マップ」を作ることは役に立ちます。
ただし、設計書は作れば作るほどメンテナンスに稼動が取られる負の資産となるということを忘れずに。
意味のある最低限の書類を作るコツは、その書類はなんの役にたつのか? を常に問うことです。他人に説明する必要があるとか、自分が忘れてしまうから、何が正しいのかわからなくなるからなどですね。
No.5
- 回答日時:
●書籍としては以下をお勧めします。
・「派生開発」を成功させるプロセス改善の技術と極意
・オブジェクト指向でなぜつくるのか
●設計時の留意点
(本来であれば飯を食べる種ですので教えたくはないのですが。。。)
組込みということであれば、多分オブジェクト指向で作られているのだと思います。
その事を前提として記載します。
オブジェクトが、どの状態で、どのメッセージを受信したら、何をして、どの状態に遷移するのか?
オブジェクトの生成から消滅まで矛盾が無ければ良いと思います。
「状態遷移 マトリクス」でググルと幸せになれるでしょう。
各オブジェクト(クラス)毎にマトリクスを作成し、シーケンス図と併せて突き合わせると良いでしょう。
プログラム設計書もソースコードを設計書に載せるような記述は古いというより意味がありません。
(「ソースコードを見れ」という話になります)
設計書は何をしたくて何処をどう変えるかです。
そのためにマトリックス図等があります。
フローチャートは書くに値しないと馬鹿にしている書籍等見かけますが、詳細を説明する場合には意味があります。
支離滅裂で申し訳ありませんでした。
No.4
- 回答日時:
何か難しく考えているようですが、
組み込みだろうと一般的なOSアプリケーションであろうとやることに違いはほとんどありません。
組み込みで「割り込み」といっても、アプリなら「イベント」と言っているのとほとんど違いはありません。
「キー入力」「画面表示」等もしくみはともあれ「やること」という意味では一緒ですから、設計手法に違いはありません。
>書いててシステム仕様書ぐらいでプログラムを作り始めるので、参考になるものがないんです。
とりあえず「詳細設計書」(プログラム設計書)は書くようにしましょう。
この時点で違いについて留意する必要が出てきます。
組み込み系は直接H/Wを制御するような場合が多くあります。
その為には「H/Wについて理解」していないとプログラムはできません。
・使用するH/W(特にCPU)
・開発環境(組み込み系はOSの種類が豊富)
について理解する必要があります。
最近は、ミドルウェア等で隠ぺいされる場合もありますが必須のスキルになります。
>(ひどい人はプログラムを作ってからシステム仕様書を書いてます)
これは根本的に論外。
それは「仕様書」ではなく「取扱説明書」だと思う。
No.3
- 回答日時:
組み込みといえばCQ出版社って事で、こちらも紹介しておきます。
「組み込みソフトウェア開発スタートアップ」
http://www.cqpub.co.jp/hanbai/books/37/37191.htm
「組み込みソフトウェアの設計&検証」
http://www.cqpub.co.jp/hanbai/books/33/33441.htm
→内容がRTOSに偏ってますが。
No.2
- 回答日時:
調べてみましたが、確かに組み込みと名が付くとUMLが多く登場しますね。
携帯電話とか規模が大きくなると別ですが、小さなプロジェクトだと大きなお世話かも。C言語やアセンブラだと構造化設計とか、そちらを参考にした方が良いと思いますので、本を紹介されてもらいます。
ただ、私も中身をちゃんとチェックしてないので本屋でご確認下さい。古い本も混じってますが現役なのは意味があるってことです。
「組込みソフトウェア開発のための構造化モデリング 要求定義/分析/設計からソースコード作成までソフトウェア開発上流工程の基本を構造化手法に学ぶ」
http://www.amazon.co.jp/dp/4798110477
「これだけは理解しておきたい ソフトウェア開発の知識」
http://www.amazon.co.jp/gp/product/4904551001
「ソフトウェアの複合/構造化設計」
http://www.amazon.co.jp/dp/4764900521/
参考に無れば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.net エラーメッセージを英文...
-
API、OCX、DLLって何でしょう?
-
バージョンのつけ方
-
VBで暗号化した文字列をJavaで...
-
VBS:コンピュータ名を取得し、...
-
UNIX環境でのCプログラム上でC...
-
SNMPトラップ情報をC#.netで作...
-
地域と言語のオプションをプロ...
-
Perl5とActivePerl
-
VBプログラムをEXCEL VBAに移植...
-
プログラミングでどうしてもよ...
-
stdio.hのバッファについて。
-
1年無職の彼氏 別れるべきですか?
-
nslookupするとローカルドメイ...
-
全豊田作業責任者
-
ホームページが削除されている...
-
6~7割の正解で、なぜ合格?
-
HTML 特殊文字の タブ:	...
-
Excelで用語辞典を作成するには?
-
SEO対策と外部上位ランクサイト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
API、OCX、DLLって何でしょう?
-
Ryzen 3700(無印)はWin11に対応...
-
VB.net エラーメッセージを英文...
-
VBプログラムをEXCEL VBAに移植...
-
コンソールアプリでファイル選...
-
VBS:コンピュータ名を取得し、...
-
UNIX環境でのCプログラム上でC...
-
SNMPトラップ情報をC#.netで作...
-
変数の大きさを超える代入
-
Perl5とActivePerl
-
プログラミング 素数か素数では...
-
私は23歳です 新たにプログラ...
-
VB2005の自作ブログラムをWin10...
-
ソフトイーサ開発者(登大遊 氏)...
-
ASPとASP.NET両方の...
-
小中学校でプログラミングなん...
-
JCA手順
-
プログラム言語の種類
-
i,j,k
-
stdio.hのバッファについて。
おすすめ情報