GOST 19.402に基づくプログラムの説明 78.若手戦闘機コース:プログラム文書(文書)の準備について

02.07.2020 問題点

一般情報

プログラムの指定と名前

データベースプログラム « HOA の公共料金の支払いの計算 ».

プログラムが機能するために必要なソフトウェア

Delphi 7 パッケージは、最新および既存の Web サービスを完全にサポートしています。

Delphi 7 では、最も単純な単一ウィンドウ アプリケーションから分散データベースを管理するプログラムまで、幅広いプログラムを作成できます。 このパッケージには、データベースや XML ドキュメントの操作、ヘルプ システムの作成、その他の問題の解決を可能にするさまざまなユーティリティが含まれています。 7 番目のバージョンの特徴は、.NET テクノロジのサポートです。

プログラムが書かれているプログラミング言語

プログラムは Object Pascal で書かれており、コンパイラーによって処理されることを目的としています。

機能的な目的

情報システム「光熱費支払額計算 HOA-99」は、HOA管理者の作業を自動化し、テナントの光熱費支払額を計算するための情報システムです。

論理構造の説明

論理構造は付録 A に示されています。

使用される方法

ADOConnection テクノロジーは、データベースを Delphi に接続するために使用されます。

ADO – ActiveXDataObjects。Microsoft Active X DataObjects テクノロジは、データベース アプリケーションからデータ ソースへのユニバーサル アクセスを提供します。 この機会は、共通の COM オブジェクト モデル (コンポーネント オブジェクト モデル) に基づいて作成され、OLE DB 仕様に記述されている一連のインターフェイスの関数によって提供されます。 ADO プロバイダーは、ADO を通じてデータを消費するアプリケーションとデータ ソース (SQL サーバー、ローカル DBMS、ファイル システムなど) の間の接続を提供します。 データ ストアの種類ごとに ADO プロバイダーが必要です。 Microsoft Jet OLE DB Provider は、Access DBMS データへの接続を提供します。 ADO を使用すると、開発中のデータベース アプリケーションのエンド ユーザーの PC に BDE をインストールしたり、追加のライブラリを提供したりする必要がなくなります。

プログラム構成

プログラムファイルの構造

Delphi プログラミング環境でプロジェクトを開発して保存すると、プロジェクト ファイル、フォーム、その他のファイルが共有フォルダーに保存されます。

*.ddp – Delphi 開発用のファイル。

*.dfm- フォームの構造の説明を含むファイル。

*.pas - モジュールのソースコード。

*.dcu - コンパイルされた Delphi モジュール。

*.dof - 現在のプロジェクトパラメータ。

*.cfg - プロジェクト構成ファイル

*.dpr- プロジェクト ファイル;

*.exe - 実行可能ファイル。

*.res – 結果ファイル、リソース ファイル。

*.gui – データ ファイル。

*.chm – 参照用ファイル。



*.mdb – アクセス データベース ファイル。

プログラムモジュールの構造

ユニット – モジュール (ファイル) 名。

インターフェイス – 外部モジュール定義に使用されます。

用途 - 標準ライブラリとモジュールの接続。

(Windows、メッセージ、SysUtils、クラス、グラフィックス、コントロール、フォーム、ダイアログ)

Type – TForm クラスとそのフィールドおよびメソッドの説明。

private – このクラスのプライベート (内部) であるクラスのデータ (フィールド) とルーチン (メソッド) の説明。

(私的宣言)

パブリック - 変数はすべてのモジュールに開かれます。

(公的宣言)

Var – グローバル変数の説明。

実装 – モジュール内の実行可能コードのセクションを開始します。

関数 - ユーザー関数。

($R *.DFM) – フォーム ファイルの接続。

手順<имя>(送信者: TObject);

Var – ローカル変数の説明。

アクティブ化されたプロシージャのブロック

使用される技術的手段

コンピューターのハードウェアには次のものが含まれます。

プロセッサ: IntelCore i54460、プロセッサ周波数 3.2 GHz、プロセッサ コア数 - 4、マザーボード チップセット - Intel H81;

RAM: DIMM、DDR34096 MB 1600 MHz、最大 RAM 容量 - 16 GB;

ハードドライブ: 500 GB、7200 rpm、SATA III;

マウス、モニター、キーボード。

入力データ

入力データは次のとおりです。

データ モジュール DFM: ADO 接続 BD – Delphi へのデータベース接続。 ADO Table Sob、ADO Table Voda、ADO Table Giljo、ADO Table Oopl、ADO Table Svet、ADO Table Obslug、ADO Table Quit、ADO Table Requisites – データベースからのテーブル。

フォーム認証: コンボボックス ユーザー名 - ユーザーの選択。 パスワードの編集 – パスワードを入力します。

フォームの要件: DB Edit Adr - 正式な住所の入力、DB Edit Naim TSG - HOA の名前の入力、DB Edit Tel - 電話番号の入力、DB Edit INN - INN の入力、DB Edit BIK - BIK の入力、DB Edit RS - 現在のアカウントを入力、DB Edit KS - コルレスアカウントを入力。

フォームテーブル Sobstvennikov: Edit Poisk - テナントのフルネームで検索を入力、DB Edit FIO - テナントのフルネームを入力、DB Edit LS - 個人アカウントを入力、DB Edit kolvo - 居住者の数を入力、DB Edit PL - 入力総面積、DB Edit Adr - アドレスの入力。



表の料金表を作成します。 DB Edit Naimvoda – 水の料金表の名前を入力します。 DB Edit edvoda – 水の測定単位を入力します。 DB Edit voda – 水の料金表を入力します。 DB Edit Naimgiljo – 水の料金表の名前を入力します。 Housing、DB Edit ed giljo – 住宅の測定単位を入力、DB Edit giljo – 住宅の料金表を入力、DB Edit Naim otopl – 暖房料金表の名前を入力、DB Edit ed otopl – 暖房の計測単位を入力、DB Edit otopl – 暖房料金表の入力、DB Edit Naimsvet – 照明料金表の名前の入力、DB Edit edsvet – 光の測定単位の入力、DB Edit svet – 照明料金表の入力、DB Edit Naimobslug – 名前の入力リファナテック。 メンテナンス、DB edobslug の編集 – テクニカルの測定単位を入力します。 メンテナンス、DB 編集障害 - タリフテックと入力します。 サービス;

フォームテーブル Kvitanzia: DB Edit NP voda - 水の最初のメーター読み取り値の入力、DB Edit KP voda - 水の最終メーター読み取り値の入力、DB Edit kolvovoda - 水のメーター量の入力、DB Edit NP giljo - の入力住宅用メーターの初期測定値、DB 編集 KP giljo - 住宅用メーターの最終測定値を入力、kolvogiljo 編集 - 住宅用メーターの数量を入力、DB 編集 NP otopl - 加熱メーターの初期測定値を入力、DB 編集KP otopl - 加熱計の最終読み取り値を入力、DB Edit kolvootopl - 加熱計の量を入力、DB Edit NP svet - 露出計の初期読み取り値を入力、DB Edit KP svet - 光の最終読み取り値を入力meter、DB Edit kolvosvet – 露出計の量を入力、DB Edit NP obs lug – メンテナンス用の最初のメーター読み取り値を入力、DB Edit KP obslug – メンテナンス用の最終メーター読み取り値を入力、DB Edit kolvoobslug – メートル数を入力メンテナンス用、DB ルックアップ コンボ ボックス Number - 個人番号の選択、DB ルックアップ コンボ ボックス LS - 個人アカウントの選択、DB ルックアップ コンボボックスadr - 住所の選択、DB ルックアップ コンボ ボックス kolvo - 居住者数の選択、DB ルックアップ コンボ ボックスpl - アパートのエリアを選択、DB ルックアップ コンボ ボックス NaimVoda - 水道料金の名前を選択、DB ルックアップ コンボ ボックス NaimGiljo - 住宅料金の名前を選択、DB ルックアップ コンボ ボックス NaimOtopl - 暖房料金の名前を選択、DB ルックアップ コンボボックス NaimSvet - 光料金の名前を選択、DB ルックアップ コンボ ボックス NaimObslug - メンテナンス料金の名前を選択、DB ルックアップ コンボ ボックス Voda - 水道料金を選択、DB ルックアップ コンボ ボックス Giljo - 宿泊料金の選択、DBルックアップ コンボ ボックスotopl – 暖房料金の選択、DB ルックアップ コンボ ボックス Svet – 光熱料金の選択、DB ルックアップ コンボ ボックス Obslug – メンテナンス料金の選択、DB ルックアップ コンボ ボックス Ed Voda – 水測定単位の選択、DB ルックアップ コンボ ボックス Ed Giljo – 住宅測定単位選択、DB ルックアップ コンボ ボックス Edotopl – 加熱測定単位の選択、DB ルックアップ コンボ ボックス Ed Svet – 光の測定単位を選択、DB ルックアップ コンボ ボックス Ed Obslug – メンテナンスの測定単位を選択、DB ルックアップ コンボ ボックス FIO – テナントのフルネームを選択します。

フォームのエクスポート: DB ルックアップ コンボ ボックス Number - 個人番号の選択、DB ルックアップ コンボ ボックス LS - 個人アカウントの選択、DB ルックアップ コンボ ボックス adr - 住所の選択、DB ルックアップ コンボ ボックス kolvo - 居住者数の選択、DB ルックアップコンボ ボックス pl - アパートのエリアの選択、DB ルックアップ コンボ ボックス FIO - テナントのフルネームの選択、DB 日付時刻ピッカー ワード - 印刷された領収書の日付を入力します。

出力

出力は次のとおりです。

FormTarifes: DBGridVoda - テーブル内の水道料金に関する情報の表示、DBGridGiljo - テーブル内の住宅料金に関する情報の表示、DBGridotopl - テーブル内の暖房料金に関する情報の表示、DBGridsvet - テーブル内の電気料金に関する情報の表示、DBGridobslug - 情報の表示表の技術サービスの料金について。

FormKvitanzia: DBGridQuit - テーブル内のレシートに関する情報を表示します。

FormSobstvenniki: DBGridSob - 所有者に関する情報をテーブルに表示します。

プログラムの説明は GOST 19.402-78 に従って編集されています。 ESPD。 コンテンツとデザインの要件。

開発プロセス

IS「HOA の公共サービスの支払いの計算」を開発するには、ADO コンポーネントを介して MSAccess 環境と対話する Delphi7 ツール環境を使用します。メイン プログラム ウィンドウには次の部分が含まれます。

システムメニュー (1);

ツールバー(2);

すべてのテーブルのウィンドウ (3);

コンポーネントパレット (4);

モジュール(6)。

図 9 – Delphi 7 プログラムのメイン ウィンドウ

まずはユーザー認証フォームを作成しましょう。 ログインには Combobox コンポーネント、パスワードには Edit コンポーネント、ログインには Button コンポーネント、ログインのロードには Timer および ProgressBar コンポーネントを使用します。

Combobox コンポーネントでリストを追加するには、アイコンをクリックする必要があります。<…>Items プロパティで。

図 11 – ComboBox コンポーネントの Items プロパティの操作

次にメインフォームを作成しましょう。 メインフォームに「MainMenu」コンポーネントを追加します。 MainMenu コンポーネントで、メニューリストを追加するには、 アイコンをクリックします。<…>Items プロパティで。

図 12 – MainMenu コンポーネントの Items プロパティの操作

図 13 – MainMenu コンポーネントのセットアップ

コンポーネントを配置しやすくするために、データ コンポーネントを格納するための DataModule モジュールが使用されます。 DataModule コンポーネントは、データにアクセスするための非ビジュアル コンポーネントをホストすることのみを目的としています。

DataModule ウィンドウと通常のフォームの違いは、非ビジュアル コンポーネントのみを配置できることです。 これらは、データにアクセスするためのコンポーネントだけでなく、アプリケーションのさまざまな部分で必要なその他のコンポーネントも含めることができます。 DataModule ウィンドウには、ADOConnection、ADOTable、DataSource など、データベース テーブルとの通信に必要なコンポーネントが含まれています。 .

図 14 - データモジュールウィンドウ

MSAccess で作成されたデータベースとのインターフェイス接続の場合、[ADO] タブに ADOConnection コンポーネントがあります。 データベースに接続するには、コンポーネントをフォーム上に配置し、接続時にパスワードが要求されないように LoginPrompt プロパティを False に設定します。 これはインターフェイスの作成段階でのみ行われます。 次に、ConnectionString プロパティで […] アイコンをクリックし、開いたウィンドウで UseConnectionString を選択し、表示されたウィンドウの [データ プロバイダー] タブで [ビルド] ボタンをクリックする必要があります。 MicrosoftJet 4.0 OLE DB Provider プロバイダーを選択する必要があり、[接続] タブの適切なフィールドにデータベース名を入力する必要があります。 次に、MSAccess プログラムに接続するには、Connected プロパティを True に設定する必要があります。

図 15 – 接続文字列

図 16 – 接続プロパティ

データベース内の特定のテーブルに接続するには、ADOTable コンポーネントの [ADO] タブを使用します。 Connection プロパティで、ADOConnection を選択し、Active プロパティを True に設定します。 (23ページ参照)

他の Delphi コンポーネントが (ADOTable 経由で) テーブルに接続するには、[DataAccess] タブにある DataSource コンポーネントが使用されます。 DataSet プロパティで、対応する ADOTable コンポーネントを選択する必要があります。 (24ページ参照)

データベース データを表形式で表示するには、[DataControls] タブにある DBGrid コンポーネントを使用し、[DataSource] プロパティで対応する DataSource コンポーネントを選択します (22 ページを参照)。

データベース フィールドをテーブル フォームに入力するには、[DataControls] タブにある DBEdit コンポーネントを使用し、対応する DataSource コンポーネントを選択します。DBEdit の主な違いは、DataSource プロパティが存在することです。情報元。 別のプロパティ DataField は、このコンポーネントに表示されるフィールドを指定します (29 ページを参照)。

あるテーブルを別のテーブルにリンクするには、[DataControls] タブにある DBLookUPCombobox コンポーネントを使用します。ListSource プロパティでは参照テーブルの対応する DataSource コンポーネントを選択する必要があり、ListField プロパティでは参照の対応するフィールドを選択する必要があります。テーブルでは、KeyField プロパティでキー フィールドを選択する必要があります。 DataSource プロパティではターゲット テーブルの対応する DataSource コンポーネントを選択する必要があり、DataField プロパティではターゲット テーブルの対応するフィールドを選択する必要があります (31 ページを参照)。

日付と時刻については、[Win 32] タブにある DataTimePicker コンポーネントが使用され、Date プロパティで形式 dd.mm.yyyy を指定する必要があります (30 ページを参照)。

残りのフォームはソフトウェア インターフェイスで作成します。

図 17 – プログラム情報フォーム

ディレクトリを操作するには、Dr. プログラムを使用します。 説明する。 ディレクトリを作成すると、プロジェクト選択ウィンドウが表示されます (図 18 を参照)。 このウィンドウで、ローカル プロジェクトの作成を選択します。

図 18 - プロジェクトの作成

この後、プロジェクト作業フィールドが表示されます。 プロジェクト作業フィールドには左側と右側の 2 つの部分があり、左側の部分はさらに 2 つの部分に分割されています (図 19.20 を参照)。

図 19 - プロジェクト構造の作成

図 20 - ページ情報

Dr.Explain メイン ウィンドウの左上部分では、ドキュメントの構造を直接設定し、ドキュメント内に新しいトピックやセクションを作成できます。 これを行うには、キーボード ショートカットを使用するか、プロジェクト名を右クリックします。 デフォルトでは、Dr.Explain のプロジェクトには次の 3 つのページがあります。 目次;<НЕ ЗАБЫТЬ: Имя темы>。 最初のページには、プロジェクトの名前とファイルの内容が表示されます (デフォルトは「ユーザー ガイド」)。

図 21 – ホームページ

図 22 - プロジェクト インターフェイス

ディレクトリ内に次のセクションを作成して (図 23-27 を参照)、プログラムをコンパイルしてファイル形式 (*.chm) にエクスポートしましょう。

図 23 – ユーザーガイド

図 24 – プログラムの目的

図 25 – プログラムの実行条件

図 26 – プログラムの実行

図 27 – オペレーターへのメッセージ

Delphi プログラムでディレクトリを作成した後、Delphi をディレクトリに接続するための ShellApi モジュールを追加します。


テストとデバッグ

エラーの分類

デバッグは、ソフトウェアのテスト中に見つかったエラーを特定して修正するプロセスです。 ローカリゼーションは、プログラム ステートメントを特定するプロセスであり、その実行により通常の計算プロセスが中断されます。 エラーを修正するには、その原因を特定する必要があります。つまり、エラーを含むステートメントまたはフラグメントを特定する必要があります。 エラーの原因は、明らかな場合もあれば、非常に深く隠されている場合もあります。

一般に、デバッグが難しいのは次の理由によるものです。

プログラマーは、使用するハードウェアの管理の詳細、オペレーティング システム、環境とプログラミング言語、実装されているプロセス、さまざまなエラーの性質と詳細、デバッグ手法および関連ソフトウェアについての深い知識を持っている必要があります。

たとえば、アドレス指定エラーにより、あるモジュールのメモリ領域が別のモジュールによって消去されるなど、プログラムのさまざまな部分のエラーが相互作用する可能性があります。

明確に定義されたデバッグ手法はありません。

エラーが発生する処理段階に応じて、エラーは次のように区別されます。

構文エラー - プログラムの構文解析および部分意味解析を実行するときにコンパイラ (トランスレータ、インタプリタ) によって記録されるエラー。

リンク エラー - プログラム モジュールを結合するときにリンカ (リンク エディタ) によって検出されたエラー。

ランタイム エラーは、プログラムの実行中にオペレーティング システム、ハードウェア、またはユーザーによって発生するエラーです。

構文エラー。 言語の構文は原則として厳密に形式化されており、エラーにはその場所を示す詳細なコメントが付けられるため、構文エラーは最も単純なものとして分類されます。 このようなエラーの原因を特定することは、通常は難しくありません。言語のルールがよく分からなくても、数回実行すれば、このタイプのエラーをすべて取り除くことができます。

レイアウトエラー。 名前が示すように、レイアウト エラーは、外部リンクの解決中に見つかった問題に関連しています。 たとえば、別のモジュールのサブルーチンへの呼び出しが提供されていますが、モジュールを結合するときに、このサブルーチンが見つからないか、パラメータ リストが一致しません。 ほとんどの場合、この種のエラーもすぐに場所を特定して排除できます。

実行時エラー。 最も予測不可能なグループには、実行時エラーが含まれます。 一部のエラーはオペレーティング システムによって検出され、文書化されます。 このようなエラーが発生する可能性がある方法は 4 つあります。

マシンコマンド実行制御回路によって記録されるエラーメッセージの出現。たとえば、ビットグリッドオーバーフロー、ゼロ除算状況、アドレス指定違反など。

オペレーティング システムによって検出されたエラーに関するメッセージが表示されます。たとえば、メモリ保護違反、書き込み保護されたデバイスへの書き込みの試行、指定された名前のファイルの欠如などです。

- コンピューターの「フリーズ」。オペレーティング システムを再起動せずにプログラムを完了できる単純な場合と、作業を続行するために再起動が必要な場合の「重度のフリーズ」。

得られた結果と期待される結果との間の相違。

考えられるエラーの原因はすべて、次のグループに分類できます。

ソースデータの定義が間違っている、

論理エラー

計算結果の誤差の累積。

I/O 操作中に送信エラー、変換エラー、書き換えエラー、データ エラーなどのエラーが発生すると、ソース データが正しく識別されません。 さらに、特別な技術的手段とエラー防止プログラミングを使用することで、これらのエラーの一部のみを検出して防止することが可能になります。

最後のグループには次のものが含まれます。

変数の誤った使用によるエラー。たとえば、データ型の選択の失敗、初期化前の変数の使用、配列の定義を超えるインデックスの使用、見つかったデータ型の明示的または暗黙的な再定義を使用するときのデータ型の対応違反。型なし変数、開いた配列、共用体、動的メモリ、アドレス演算などを使用する場合のメモリ内。

計算エラー。たとえば、非算術変数の誤った計算、整数算術の誤った使用、計算中のデータ型の誤った変換、算術式および論理式の演算の優先順位の無視に関連するエラーなど。

モジュール間インターフェイスのエラー。たとえば、システム規約の無視、パラメータを渡すときの型とシーケンスの違反、形式パラメータと実際のパラメータの測定単位の統一への違反、ローカル変数とグローバル変数のスコープの違反。

その他のコーディング エラー、たとえば、特定のプログラミング言語の機能や制限を無視した、コーディング時のプログラム ロジックの不適切な実装。

図 28 - 実行時エラー

プログラムのデバッグ

デバッグは、ソフトウェアのテスト中に見つかったエラーを特定して修正するプロセスです。 ローカリゼーションは、プログラム ステートメントを特定するプロセスであり、その実行により通常の計算プロセスが中断されます。 プログラムのデバッグ中に、次のエラーが特定され、修正されました。

– レイアウト エラー – 検出および修正された構文エラーの数 –1。

図 29 - 指定されたアドレスにデータベース ファイルがない

– 構文エラー – 検出および修正された構文エラーの数は 5 です。

図 30—記号「;」 "else ステートメントの前に

– 実行エラー - 検出および修正された実行エラーの数は 9 です。

図 31 – ファイルへのエクスポート時のエラー

テスト

ソフトウェア テストは、製品の品質に関する情報を取得するためにソフトウェア製品を調査およびテストするプロセスです。

プログラムのテストには 2 つの原則があります。

機能テスト (ブラック ボックス テスト)。

構造テスト(ホワイトボックステスト)。

白い箱– プログラムのロジックとその動作の正確性を、コードが記述された言語のコンパイラの観点からテストします。

次のホワイト ボックス テスト方法が使用できます。

ベースパスのテスト

基本的なパス テスト方法により、次のことが可能になります。 プログラム全体の複雑さの推定値を取得します。 この推定値を使用して、必要なテスト ケースの数を決定します。

試験条件

次のタイプのテストが区別されます。 単純な条件は、ブール変数または関係式です。関係式の形式は次のとおりです。

E1<оператор отношения>E2 ,

ここで、E1、E2 は算術式であり、次の演算子のいずれかが関係演算子として使用されます。<, >, =, , .

複合条件は、いくつかの単純な条件、ブール演算子、および括弧で構成されます。 ブール演算子 OR、AND (&)、NOT を使用します。 関係式を含まない条件はブール式と呼ばれます。

サイクルテスト

ループ テストは「ホワイト ボックス」原則に従って実行されます。ループをチェックするときは、ループ設計の正確さに主な注意が払われます。

ループには、単純、入れ子、結合、非構造化の 4 種類があります。

シンプルなサイクル。単純なループの繰り返し回数を確認するには P次の一連のテストのいずれかを使用できます。サイクル全体を実行します。 ループの 1 パスのみ。 2 つのサイクルパス。 Tループが通過します。 T<п;п - 1, p、p + 1サイクルが経過します。

ネストされたループ - ありループのネストのレベルを高めると、可能なパスの数が急激に増加します。 これにより、実現不可能な数のテストが発生します。 テストの数を減らすために、囲みループやネストされたループなどの概念を使用する特別な手法が使用されます。

テスト手順: 最も内側のループが選択され、他のすべてのループのパラメーターの最小値が設定されます (内側のループに対して単純なループ テストが実行されます)。 次の囲みサイクルに順番に進みます。 すべての外部 (包含) ループの最小パラメーター値とすべてのネストされたループの標準値を維持しながら、テストを実行します。

複合サイクル -各ループが他のループから独立している場合は、単純なループをテストする手法が使用されます。 依存関係がある場合 (たとえば、最初のループ カウンタの終了値が 2 番目のループ カウンタの開始値として使用される)、ネストされたループ手法が使用されます。

非構造化ループ -非構造化ループはテストの対象になりません。 このタイプのループは、構造化プログラミング構造を使用して再設計する必要があります。

「ブラック ボックス」をテストする場合、プログラムのシステム特性が考慮され、プログラムの内部論理構造は無視されます。

ブラックボックステスト次のカテゴリのエラーの検索を提供します: 不正または欠落している関数、外部データ構造または外部データベースへのアクセスにおけるエラー、初期化および終了エラー。

ブラック ボックスをテストするには 3 つの方法があります。

等価分割は、ブラック ボックスをテストする最も一般的な方法です。 この方法では、プログラムの入力データ領域を等価クラスに分割します。 等価クラスごとに 1 つのテスト ケースが開発されます。

境界値を解析する方法。 ほとんどのエラーは、入力領域の中心ではなく、入力領域の端で発生します。 境界値分析は、境界値を分析するテスト ケースを取得することで構成されます。 このテスト方法は、等価性分割方法を補完します。

1978 年 12 月 18 日付けのソ連国家基準委員会令第 3350 号により、導入日が定められました。

01.01から。 1980年

1. この規格は、GOST 19.101-77 で定義されたプログラム文書「プログラムの説明」の内容の構成と要件を確立します。

この規格は ST SEV 2092-80 に完全に準拠しています。

2. 文書の構造とデザインは、GOST 19.105-78 に従って確立されています。

情報部分(注釈や内容)の作成は必須です。

3. プログラムの説明には、次のセクションが含まれている必要があります。

  • 一般情報;
  • 機能的な目的。
  • 論理構造の説明。
  • 使用される技術的手段。
  • 入力データ。
  • 出力。

プログラムの機能に応じて、追加のセクションを導入したり、個々のセクションを結合したりすることができます。

4. 「一般情報」セクションには、次の事項を記載する必要があります。

  • プログラムの指定と名前。
  • プログラムの動作に必要なソフトウェア。
  • プログラムが書かれているプログラミング言語。

5. 「機能的目的」セクションには、解決される問題の種類および (または) プログラムの目的と使用上の機能制限に関する情報を示さなければなりません。

6. 「論理構造の説明」セクションでは、次のことを示す必要があります。

  • プログラムアルゴリズム。
  • 使用される方法。
  • コンポーネントの機能とコンポーネント間の接続の説明を含むプログラム構造。
  • プログラムと他のプログラムとの接続。

プログラムの論理構造の記述は、ソース言語によるプログラムのテキストを考慮して行われます。

3-6.(変更版、修正第 1 号)。

7. 「使用される技術的手段」のセクションには、プログラムの実行時に使用される電子コンピュータおよび装置の種類を示さなければなりません。

  • 対応する記憶媒体からプログラムを呼び出す方法。
  • プログラムへのエントリポイント。

ダウンロード アドレス、RAM 使用量に関する情報、プログラム サイズを指定できます。

9. 「入力データ」セクションでは、次のことを指定する必要があります。

  • 入力データの性質、構成、および事前準備。
  • 入力データのフォーマット、説明、エンコード方法。

10. 「出力データ」セクションでは、次のことを指定する必要があります。

  • 出力データの性質と構成。
  • 出力データのフォーマット、説明、エンコード方法。

11. セクションの内容を説明例、表、図、グラフで示すことは認められます。

12. プログラム説明の付録には、説明のセクションに含めるには不適切なさまざまな資料が含まれる場合があります。

7-12.(追加導入、修正第 1 号)。

* 変更番号 1 を含む再発行 (1987 年 11 月)、1981 年 9 月に承認 (IUS 11-81)

プログラム文書の統一システム

プログラムの説明

プログラムドキュメントの統合システム。 プログラムの説明。

1978 年 12 月 18 日付けのソ連国家標準委員会令第 3350 号により、導入日が定められました。
01.01から。 1980年
1. この規格は、GOST 19.101-77 で定義されたプログラム文書「プログラムの説明」の内容の構成と要件を確立します。
この規格は ST SEV 2092-80 に完全に準拠しています。
2. 文書の構造と形式は、GOST 19.105-78 に従って確立されています。
情報部分(注釈や内容)の作成は必須です。
3. プログラムの説明には、次のセクションが含まれている必要があります。

  • 一般情報;
  • 機能的な目的。
  • 論理構造の説明。
  • 使用される技術的手段。
  • 入力データ。
  • 出力。

プログラムの機能に応じて、追加のセクションを導入したり、個々のセクションを結合したりすることができます。
4. 「一般情報」セクションには、次の事項を記載する必要があります。
プログラムの指定と名前。
プログラムの動作に必要なソフトウェア。
プログラムが書かれているプログラミング言語。
5. 「機能的目的」セクションには、解決される問題の種類および (または) プログラムの目的と使用上の機能制限に関する情報を示さなければなりません。
6. 「論理構造の説明」セクションでは、次のことを示す必要があります。

  • プログラムアルゴリズム。
  • 使用される方法。
  • コンポーネントの機能とコンポーネント間の接続の説明を含むプログラム構造。
  • プログラムと他のプログラムとの接続。

プログラムの論理構造の記述は、ソース言語によるプログラムのテキストを考慮して行われます。
3-6.(変更版、修正第 1 号)。
7. 「使用される技術的手段」のセクションには、プログラムの実行時に使用される電子コンピュータおよび装置の種類を示さなければなりません。

  • 対応する記憶媒体からプログラムを呼び出す方法。
  • プログラムへのエントリポイント。

ダウンロード アドレス、RAM 使用量に関する情報、プログラム サイズを指定できます。
9. 「入力データ」セクションでは、次のことを指定する必要があります。

  • 入力データの性質、構成、および事前準備。
  • 入力データのフォーマット、説明、エンコード方法。

10. 「出力データ」セクションでは、次のことを指定する必要があります。

  • 出力データの性質と構成。
  • 出力データのフォーマット、説明、エンコード方法。

11. セクションの内容を説明例、表、図、グラフで示すことは認められます。
12. プログラム説明の付録には、説明のセクションに含めるには不適切なさまざまな資料が含まれる場合があります。
7-12(追加導入、修正第 1 号)。

この標準は、結果として得られる開発製品を文書化することに重点を置いています。

厳密に言えば、2 つの異なる文書がありますが、多くの共通点があります。 これは、一般的な説明 (GOST 19.502-78) およびプログラムの説明 (GOST 19.402-78) です。 ただし、ほぼ完全に複製したり部分を切り離したりすることなく、実際に両方を高品質で作成することは非常に難しいため、より一般的な「ハイブリッド」ドキュメントを 1 つ実装すれば十分です。 これを「プログラムの説明」と呼びます。

実際、その内容の「プログラムの説明」は、他の説明文書やマニュアルの標準から抜粋したセクションや段落で補足できます。 GOST 19.404-79 ESPD。 説明メモ、GOST 19.503-79 ESPD。 システム プログラマ ガイド、GOST 19.504-79 ESPD。 プログラマーズ ガイド、GOST 19.505-79 ESPD。 オペレーターのマニュアル等々。 特に、説明ノートからは、アルゴリズムの図、アルゴリズムおよび (または) プログラムの機能の一般的な説明、および採用された技術的および技術的経済的決定の理論的根拠を取得できます。

プログラムの説明には、注釈とコンテンツという情報部分が含まれている必要があります。

ドキュメントの主要部分は、導入部分と次のセクションで構成されます。
機能的な目的。
ロジックの説明。
利用条件;
構成と機能。

プログラムの詳細に応じて、追加のセクションが導入される場合があります。

導入部この文書には、プログラムに関する一般情報 (正式名称、名称、考えられる用途など) が記載されています。

例えば: プログラム「自走砲開発者のための自動ワークステーション」は、... に実装されることを目的としています。 プログラムがサポートしているのは...

章内 目的プログラムの目的を示し、プログラムの機能の一般的な説明、その主な特性、プログラムの範囲に課せられる制限に関する情報を提供し、また、動作中に使用される電子コンピュータおよびデバイスの種類も示します。

例えば: このプログラムは問題を解決するように設計されています...このプログラムは自動化されたワークステーションの中核を表しています...

ユーザーには、...、実装...、実行...、分析...、分析と処理の結果の取得...、構築...などを行う機会があります。

「」の章では、 ロジックの説明" 示す:
プログラムの構造とその主要部分の説明 (例: プログラムには次のものが含まれます:
ユーザーインターフェース、
グラフ内のパスを決定するモジュール、
伝達関数計算モジュール、
振幅と位相の周波数特性を構築するためのモジュール、
多項式の影響に対する応答を構築するためのモジュール、
テキストエディタ)
コンポーネントの機能とコンポーネント間の接続の説明。
例えば: プログラムは 6 つのモジュールで構成されています。 定義モジュール...; 計算モジュール...; モジュール...など
インターフェイス モジュールは、「質問と回答」タイプのダイアログと「メニュー」タイプのダイアログの 2 種類のダイアログで構築されています。 インターフェースモジュールは...
定義モジュール…それは…
計算モジュール…など
プログラミング言語に関する情報。
例えば: プログラムは言語で書かれています ... コンパイラを使用しています ...
各コンポーネントの入力データと出力データの説明。

例えば : データを入力します。 プログラムの入力データは、研究対象のシステムのグラフの拡張入射行列を記述するテキスト ファイルです。

出力。 出力は次のとおりです。

· 画面に表示されるグラフィックおよびテキスト情報 (システム分析結果)。

· いずれかのグラフィック形式のファイル - 構築された特性(周波数応答、位相応答など)の画像のコピー。

· テキスト ファイル - 実施された調査に関するレポート。

· システム状態の診断と、発生したすべてのエラーに関するメッセージ。

・構成部品のロジックの説明(必要に応じてプログラム図の説明も記載)。 プログラムのロジックを記述する場合、当然プログラム本文とリンクする必要があります。

章内 構成と機能プログラムの構成と機能、および問題を解決するために使用される方法の説明を示します。

章内 利用条件プログラムの実施に必要な条件(このプログラムおよび他のプログラムに必要な技術的手段の要件、入出力情報の一般的特性、組織的、技術的および技術的性質の要件と条件など)が示されています。 )。

例えば :プログラムはIBM PC/ATタイプのパーソナルコンピュータ(PC)上で動作します。 対話モードで作業するには、ディスプレイ画面、キーボード、およびマウスを使用します。 グラフィックス モードをサポートするには、EGA (VGA) アダプターが必要です。 入力データはフロッピーやハードディスクに保存されます。 プログラムはOS上で動作します...

説明の付録には、参考資料(図、表、グラフ、例など)が含まれる場合があります。

また、ロードモジュールの名前と手順全体の説明を忘れずに記入してください。

システムの呼び出しと起動

GOSUDARSTVENNYSSTANDADARTSOYWASSR

プログラム文書の統一システム

GOST 19.402-78*

(ST SEV 2092-80)

プログラムの説明

プログラム文書化のための統合システム。 プログラムの説明

1978 年 12 月 18 日付けのソ連国家標準委員会令第 3350 号により、導入日が定められました。

01.01から。 1980年

1. この規格は、GOST 19.101-77 で定義されたプログラム文書「プログラムの説明」の内容の構成と要件を確立します。

この規格は ST SEV 2092-80 に完全に準拠しています。

2. 文書の構造と形式は、GOST 19.105-78 に従って確立されています。

情報部分(注釈や内容)の作成は必須です。

3. プログラムの説明には、次のセクションが含まれている必要があります。

    一般情報;

    機能的な目的。

    論理構造の説明。

    使用される技術的手段。

    入力データ。

    出力。

プログラムの機能に応じて、追加のセクションを導入したり、個々のセクションを結合したりすることができます。

4. 「一般情報」セクションには、次の事項を記載する必要があります。

    プログラムの指定と名前。

    プログラムの動作に必要なソフトウェア。

    プログラムが書かれているプログラミング言語。

5. 「機能的目的」セクションには、解決される問題の種類および (または) プログラムの目的と使用上の機能制限に関する情報を示さなければなりません。

6. 「論理構造の説明」セクションでは、次のことを示す必要があります。

    プログラムアルゴリズム。

    使用される方法。

    コンポーネントの機能とコンポーネント間の接続の説明を含むプログラム構造。

    プログラムと他のプログラムとの接続。

プログラムの論理構造の記述は、ソース言語によるプログラムのテキストを考慮して行われます。

3-6.(変更版、修正第 1 号)。

7. 「使用される技術的手段」のセクションには、プログラムの実行時に使用される電子コンピュータおよび装置の種類を示さなければなりません。

    対応する記憶媒体からプログラムを呼び出す方法。

    プログラムへのエントリポイント。

ダウンロード アドレス、RAM 使用量に関する情報、プログラム サイズを指定できます。

9. 「入力データ」セクションでは、次のことを指定する必要があります。

    入力データの性質、構成、および事前準備。

    入力データのフォーマット、説明、エンコード方法。

10. 「出力データ」セクションでは、次のことを指定する必要があります。

    出力データの性質と構成。

    出力データのフォーマット、説明、エンコード方法。

11. セクションの内容を説明例、表、図、グラフで示すことは認められます。

12. プログラム説明の付録には、説明のセクションに含めるには不適切なさまざまな資料が含まれる場合があります。

7-12.(追加導入、修正第 1 号)。

* 変更番号 1 を含む再発行 (1987 年 11 月)、1981 年 9 月に承認 (IUS 11-81)