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も見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
-
4
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
5
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
6
Application.Runエラー(1004)
Excel(エクセル)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
11
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
12
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
13
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
14
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
15
エクセルVBAでシートモジュールでのパブリック変数
Excel(エクセル)
-
16
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
17
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
18
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
19
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
20
UserForm1.Showでエラーになります。
工学
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
実行コマンドのプロセス管理
-
ソースコード改造 msペイント
-
プログラミングのコード量に関...
-
あるプログラムのコマンドライ...
-
正しい五十音順について
-
0除算して、落ちるプログラムと...
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
期間重複チェックがわかりません
-
変数の値が勝手に変化する原因
-
EXCELなどで「返す」という表現
-
Excelに埋め込んだVBAのプログ...
-
Vba UserFormを前面に出す方法...
-
PICマイコンのコピー(クローン...
-
フローチャートの菱形が狭い。。。
-
Excelで4096点以上のFFTの方法
-
VBAでユーザーフォームが自動的...
-
シードを考慮したトーナメント...
-
ドロップダウンリストの文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
空elseの有無
-
プログラミングのコード量に関...
-
きれいなコード vba vbaを勉強...
-
1~1000,1001~2000の間に素数が...
-
プログラム動作時のCPU処理時間...
-
クリップボードを排他的に利用...
-
C言語について教えてください。
-
他人の作ったソースの見方(どこ...
-
良いプログラムを書くためには
-
逆フーリエ変換のプログラムに...
-
立脚期の識別ができません…
-
「ルーチン」という言葉の意味
-
他人が作ったプログラムのメン...
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
ノベルゲームを作成中なのですが、
-
COBOLのCALL文がいまいちつかめ...
-
Javaプログラムをリバースエン...
おすすめ情報