VBAで仕様書(設計の仕様書?)を書く人はいらっしゃいますでしょうか?それともVBAくらいでは書かないと言う人は多いのでしょうか?
サンプルがあるかググって見ましたがほとんどありません。
勉強がてらもし私がいなくなっても何がやりたかったのかわかるように書いてみています。
いなくなったあとド素人コーディングと陰口を叩かれるために書くわけではありませんが…(笑)
ワードにまず
1・作ったものの目的
2・物を作ったパソコンのスペックと動作確認したOS
3・各シートで出来る処理を箇条書き(プログラムではありません)
4・プログラムの内容 処理として重要!という部分を抜粋して載せる 例えばプログラムを書きそこに説明として"For Each~Nextステートメントでシート名を検出し無ければシート名を作成する"などコメントを箇条書きしてみましたがどんなものでしょうか?
もし皆さんがこのような記述の仕様書をみたらどんな感想を持ちますでしょうか?参考にしたいので意見をお聞かせください。お願いいたします。
また、Visual Basic 6.0 仕様書作成サポートというソフトがあるらしいですがVBAで利用できるようになりますでしょうか?
No.5ベストアンサー
- 回答日時:
>サンプルがあるかググって見ましたがほとんどありません。
無いでしょうね。
そもそも、仕様書は「VBAだから書かない」「C/C++だから書く」という性格のものではないからです。
言語はあくまでもそれを実現するための道具であって、
仕様書自体は、書く必要があれば書きますし、必要が無ければ書きません。
そして、どのような言語であっても仕様書の体裁は基本的に変わりません。
(少なくとも私は変えてはいけないと思っています。理由は後述。)
最近はPGとSEの分業化も進んでいますので
(SEが最新の言語についていけない・・・という説も(笑))
言語に依存しない仕様書を書くのが普通ですし、
仕様書として優れていると思います。
ユーザーに対して「このような機能のものを作ります」と言う意味で書く仕様書は
お金をもらう為にも、そして仕様を明確にする為にも必要です。
家を建てたときに施工主が「部屋の数が1つ少ない」といってゴネても
事前に渡した図面通りであれば、突っぱねることが出来る・・・というわけです。
>このような記述の仕様書をみたらどんな感想を持ちますでしょうか
仕様書は基本的に「プログラムがわからない人が読むもの」・・・
という意識が足りないように思います。
>1・作ったものの目的
目的というよりは、「何をしてくれるものか」と言うことを
概要として最初に書いておくのがいいと思います。
小説でいうならあらすじのようなものです。
>2・物を作ったパソコンのスペックと動作確認したOS
これはあまり重要ではないと思います。
OSはともかく、VBAであるならExcel等のバージョンのほうが重要でしょうし。
>3・各シートで出来る処理を箇条書き(プログラムではありません)
これはいいと思います。
基本的に仕様書は箇条書きです。
>4・プログラムの内容 処理として重要!という部分を抜粋して載せる
不要です。
わざわざ処理を日本語で噛み砕いて書くのは、
プログラムが分からない人でも何をやっているのかを理解してもらうためです。
プログラムが分かるのであればソースコードを読めば事足りますし
第一、載せたコードを修正した場合はこちらも書き換えないといけませんよね。
No.4
- 回答日時:
ANo.3です。
すみません、ちょっと追記しておきます。
本来は、仕様書はプログラム作成「前」に書くものですし、プログラム自体を
仕様書に盛り込んで、それに説明を加えるといった書き方は、普通はしないですかね。
別にダメって訳では ないと思いますが、後になって改修の必要が出た場合、
仕様書の修正も面倒な事になりそうですし…
基本設計書として処理の流れを書く場合は、基本的には段落番号等を付けながら
インデントも行いつつ、処理の内容(意味)を、そこそこ簡潔に書いてしまえばいいと思います。
例えば、
1.初期処理
1-1.○○○ファイルオープン
1-1-1.○○○からファイル名を取得
1-1-2.オープン処理
エラーの場合はメッセージ「○○○」を出力して処理終了
2.メイン処理
2-1.以下の処理をデータ数分ループ
2-1-1.取得したデータの○○○を○○○に追加
2-1-2. .....
2-2.データ書き込み
2-2-1. .....
3.終了処理
3-1.○○○ファイルクローズ
3-2.オブジェクト解放
3-2-1.○○○解放
...
3-3.アプリ終了
…かなり曖昧な書き方ですが、こういう流れとか。
もちろんVBAですので、イベント別に書いたりする必要は出てきますが…
あと、もちろん、後で他人が見ても やりたい事が十分分かるよう、省略し過ぎないように
する事も大事です(汗)。
No.3
- 回答日時:
一口にVBAとは言っても、いろいろですので…
それなりにデカいプログラムも当然書けますし、やろうと思えば
クラス等を定義したExcelファイルを共有して、それを参照設定して使い回すとか
多少難儀な事も出来ます。
そうなって来ると、ドキュメントが残っていないと、後で困ることになるかもしれません。
開発業務での話でしたら、仕様書、設計書の作成・納入が契約上定められているかが
もちろん大きな要因になりますが、そうでなくても書く余裕があれば、
書いておいた方が無難では あるでしょうね。
(時間が経ったら、作った自分でさえ内容を忘れたりしますし…)
私が過去に携わったVBAを使ったシステムでは、基本設計書の作成は義務付けられ、
詳細設計書は必要ないと判断されれば作らない、って程度のものでしたが、Excel VBAアプリの設計書は作りましたよ。
ちなみに基本設計書だと、処理の流れも多少 概要的な書き方をしますので
(参照するデータ等は、きっちり定義しますが)、それを元にプログラムを
作成する場合、多少の脳力が必要となります。
komarimonoさんが書かれてるのは、こっちが近いかな?
要は、処理の流れや使用するデータがはっきり分かれば、それでいいかと思います。
もうちょっと細かい事を言うと、画面定義や画面入出力項目の一覧、エラーメッセージ一覧とかも
表などで付加したりする場合もありますが、フォーマルなものでなければ、そこまでは
必要無い気もします。
(きっちり書こうとすると、表を書く場合が多いので、Excelの方が楽かも)
詳細設計書は(書いた事ありませんが)、ほとんどプログラムを文章にしただけって
感じの詳細な内容らしいので、その文章をプログラムに翻訳すればプログラムが
出来てしまう、ぐらいのもののようです。
その辺の定義は、企業等によって色々あるかとは思いますが、ネットで検索してみれば
色々出てくるかもしれませんね。
(サンプルは なかなか無いでしょうけど、どういう事を書くかという定義的な部分は、あるような気も)
No.2
- 回答日時:
私は趣味でプログラムを作っているので、ソースをひと様に見せることは、めったにありません。
しかし、仕様、処理や変数の一覧、コメント、修正情報などは「将来の自分のために」なるべく書きます。その際、一瞥して自明のものは省略しますが。
No.1
- 回答日時:
仕様書が必要であると思われるなら仕様書を書くと思います。
趣味で作成されたプログラムの仕様書は当然ながら必須ではありませんが、仕事で作ったもので、納品物としてプロ仕が必要なのであれば作るでしょう。
仕様書を自動で作成するソフトですが、
質問者さまは VBA とかいておられますが、Access でも Excel でもその他オフィス製品でも VBA が動くと思いますが、どの VBA でしょう?
うちの会社でもだいぶ前に、仕様書作成ソフトを購入しました。
その際、使用したのは A Hot Document だったと思います。
プロ仕は必須ではありませんが、適切なコメントは、最終的に自分を助けてくれる存在になりますので、入れるのはよいことだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 多数のファイルから値を抜き出したい 4 2022/12/12 16:49
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) Excel 散布図グラフ 外れ値 セル番地参照方法 4 2022/04/19 18:56
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- 大学受験 AO、総合型選抜出願時に使用する活動実績報告書について 4 2022/06/27 01:21
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- Excel(エクセル) エクセル VBAでBook モジュールのプロシージァ(コード)に除外シートを設定したい 1 2023/01/11 15:53
- 建設業・製造業 河川の積算の勉強に役立つ本はありませんか? 例えば数量計算書や図面から間違いがないか確認し、 確認後 2 2023/02/09 19:40
- Excel(エクセル) 【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。 3 2023/03/23 17:30
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
プログラム設計書の書き方
IT・エンジニアリング
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
-
4
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
5
エクセルでエラーが出て困っています。
Excel(エクセル)
-
6
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
-
9
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
12
わかりやすい仕様書の書き方
その他(コンピューター・テクノロジー)
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
split関数で区切り文字がない場合
Visual Basic(VBA)
-
15
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
16
VBAで「致命的なエラー」が出ました。どのくらい致命的なんでしょうか?
Access(アクセス)
-
17
Excel VBA 定数にオブジェクトを指定したい
Visual Basic(VBA)
-
18
UserForm1.Showでエラーになります。
工学
-
19
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
20
i=cells(Rows.Count, 1)とi=cells(Rows.Count, 2)の違い
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語(gcc), Linux, FTPプログ...
-
VBAで仕様書は書きますか?
-
BIOSってどんなCPUで処理してる...
-
格闘ゲームを作るのは大変なん...
-
プログラミングの読み方、書き...
-
VBからシャットダウンさせる方法
-
実行コマンドのプロセス管理
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
このプログラミング誰か教えて...
-
65536は2の何乗なのでしょうか?
-
C++ で、「)」が必要 というエ...
-
正しい五十音順について
-
0除算して、落ちるプログラムと...
-
C言語の課題で、1年の秒数を計...
-
フローチャートで 変数に代入す...
-
バッチファイルでUSB挿入時に実行
-
変化させるセルが変化しない
-
Dijkstraて
-
コンパイルできない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
プログラミングのコード量に関...
-
空elseの有無
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
きれいなコード vba vbaを勉強...
-
PCの時刻精度
-
VBからシャットダウンさせる方法
-
クリップボードを排他的に利用...
-
MFC,C++/CLI,C#の共存
-
逆フーリエ変換のプログラムに...
-
【VB】データグリッドビューで...
-
COBOLのCALL文がいまいちつかめ...
-
GDLでH8/3052Fのi2cプログラム...
-
プログラム動作時のCPU処理時間...
-
「ルーチン」という言葉の意味
-
例外処理があまり使われない理...
-
良いプログラムとは?
-
実行コマンドのプロセス管理
おすすめ情報