電子書籍の厳選無料作品が豊富!

組み込みプログラムを作る方法がわかりません。

多分、プログラムの流れとか、関数の定義とか、割り込みのタイミングとかそういった設計書を作るのかなとは思うんですが、
先輩や上司に聞いても、書いててシステム仕様書ぐらいでプログラムを作り始めるので、参考になるものがないんです。
(ひどい人はプログラムを作ってからシステム仕様書を書いてます)


なにか設計のしかたとか、プログラムを作る過程が具体的にわかる参考書などはないでしょうか?

A 回答 (6件)

コーディングしたことがないなら、はっきり言ってろくな設計書は書けません。

といっても書かないでコーディングを始めたのでは勉強になりませんから何かを「エイヤ」で書くしかないです。頭の底から湧いてこない書類に時間掛けても無駄。

コーディングして困ったことがあって、はじめて意味のある書類が書けます。

逆の言い方をすると、コーディングしようとしてみて、何かが決まってないとか設計が必要と感じて行き詰まることが出てきたら書類を書くと良いです。

詳細設計はCやオブジェクト指向の場合、クラス定義そのものですので詳細設計の工程をわざわざ取る意味はないです。コードそのものが書類になってるようなものは全くの無駄ですけど、コードでは見渡せないような「マップ」を作ることは役に立ちます。

ただし、設計書は作れば作るほどメンテナンスに稼動が取られる負の資産となるということを忘れずに。

意味のある最低限の書類を作るコツは、その書類はなんの役にたつのか? を常に問うことです。他人に説明する必要があるとか、自分が忘れてしまうから、何が正しいのかわからなくなるからなどですね。
    • good
    • 0

●書籍としては以下をお勧めします。


・「派生開発」を成功させるプロセス改善の技術と極意
・オブジェクト指向でなぜつくるのか

●設計時の留意点
(本来であれば飯を食べる種ですので教えたくはないのですが。。。)

組込みということであれば、多分オブジェクト指向で作られているのだと思います。
その事を前提として記載します。

オブジェクトが、どの状態で、どのメッセージを受信したら、何をして、どの状態に遷移するのか?
オブジェクトの生成から消滅まで矛盾が無ければ良いと思います。

「状態遷移 マトリクス」でググルと幸せになれるでしょう。

各オブジェクト(クラス)毎にマトリクスを作成し、シーケンス図と併せて突き合わせると良いでしょう。

プログラム設計書もソースコードを設計書に載せるような記述は古いというより意味がありません。
(「ソースコードを見れ」という話になります)

設計書は何をしたくて何処をどう変えるかです。
そのためにマトリックス図等があります。

フローチャートは書くに値しないと馬鹿にしている書籍等見かけますが、詳細を説明する場合には意味があります。

支離滅裂で申し訳ありませんでした。
    • good
    • 0

何か難しく考えているようですが、


組み込みだろうと一般的なOSアプリケーションであろうとやることに違いはほとんどありません。
組み込みで「割り込み」といっても、アプリなら「イベント」と言っているのとほとんど違いはありません。
「キー入力」「画面表示」等もしくみはともあれ「やること」という意味では一緒ですから、設計手法に違いはありません。

>書いててシステム仕様書ぐらいでプログラムを作り始めるので、参考になるものがないんです。
とりあえず「詳細設計書」(プログラム設計書)は書くようにしましょう。
この時点で違いについて留意する必要が出てきます。
組み込み系は直接H/Wを制御するような場合が多くあります。
その為には「H/Wについて理解」していないとプログラムはできません。
・使用するH/W(特にCPU)
・開発環境(組み込み系はOSの種類が豊富)
について理解する必要があります。
最近は、ミドルウェア等で隠ぺいされる場合もありますが必須のスキルになります。


>(ひどい人はプログラムを作ってからシステム仕様書を書いてます)
これは根本的に論外。
それは「仕様書」ではなく「取扱説明書」だと思う。
    • good
    • 0

組み込みといえばCQ出版社って事で、こちらも紹介しておきます。


「組み込みソフトウェア開発スタートアップ」
http://www.cqpub.co.jp/hanbai/books/37/37191.htm
「組み込みソフトウェアの設計&検証」
http://www.cqpub.co.jp/hanbai/books/33/33441.htm
→内容がRTOSに偏ってますが。
    • good
    • 0
この回答へのお礼

わざわざ調べていただいてありがとうございます。
早速探してみようと思います。

お礼日時:2010/02/22 09:25

調べてみましたが、確かに組み込みと名が付くとUMLが多く登場しますね。

携帯電話とか規模が大きくなると別ですが、小さなプロジェクトだと大きなお世話かも。
C言語やアセンブラだと構造化設計とか、そちらを参考にした方が良いと思いますので、本を紹介されてもらいます。
ただ、私も中身をちゃんとチェックしてないので本屋でご確認下さい。古い本も混じってますが現役なのは意味があるってことです。

「組込みソフトウェア開発のための構造化モデリング 要求定義/分析/設計からソースコード作成までソフトウェア開発上流工程の基本を構造化手法に学ぶ」
http://www.amazon.co.jp/dp/4798110477
「これだけは理解しておきたい ソフトウェア開発の知識」
http://www.amazon.co.jp/gp/product/4904551001
「ソフトウェアの複合/構造化設計」
http://www.amazon.co.jp/dp/4764900521/

参考に無れば幸いです。
    • good
    • 0

結構本で出てると思いますが、自分で探されましたか?

この回答への補足

本屋で探してはいますが、具体的なものが見つかりません。
UMLの参考書はよくありますが、オブジェクト指向でなくても使えるのでしょうか?

補足日時:2010/02/17 11:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!