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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- その他(趣味・アウトドア・車) Arudino nanoが正常に動作しない原因 1 2022/10/30 18:29
- WordPress(ワードプレス) 「あるサイトのリンクを踏まないと、次のサイトを見れない仕組み」を作りたい 2 2022/07/20 02:43
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ryzen 3700(無印)はWin11に対応...
-
UNIX環境でのCプログラム上でC...
-
プログラミングに興味がありま...
-
汎用的・将来的なプログラムに...
-
基本情報技術者 午前 リバース...
-
プログラミング言語の覚え方習得法
-
プログラミング言語を習得した...
-
作曲のアプリを作りたいのですが
-
今年の新規開発でVB6を使って...
-
プログラミング言語について御...
-
CGIとは?
-
Vix総合画像ビュアーは動作を...
-
文系大学生ですが応用情報技術...
-
1年無職の彼氏 別れるべきですか?
-
6~7割の正解で、なぜ合格?
-
今職業訓練のパソコン教室行っ...
-
IT業界に勤めていた人の末路は?
-
就職のため、どのプログラミン...
-
全豊田作業責任者
-
個人HPにログイン機能付けられる?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
API、OCX、DLLって何でしょう?
-
VBプログラムをEXCEL VBAに移植...
-
C言語のHP-UXからLinuxへのポ...
-
OSとCPUの関係について
-
コンソールアプリでファイル選...
-
SNMPトラップ情報をC#.netで作...
-
変数の大きさを超える代入
-
WEBページに読み書きするプログ...
-
Perl5とActivePerl
-
UNIX環境でのCプログラム上でC...
-
3ウェイハンドシェイクの流れ...
-
.Net とは何ですか?
-
i,j,k
-
VBS:コンピュータ名を取得し、...
-
DLLってなに?
-
Ryzen 3700(無印)はWin11に対応...
-
CGIとは?
-
プログラミング 素数か素数では...
-
プログラマやシステムエンジニ...
-
このプログラミング誰か教えて...
おすすめ情報