Programming-methodologies-applying-modular-techniques
モジュラーテクニックの適用
実際の問題は複雑で大きなものです。 モノリシックソリューションが開発された場合、これらの問題が発生します-
- 1つの大きなプログラムの作成、テスト、実装が困難
- 最終製品の納入後の変更はほぼ不可能です
- プログラムのメンテナンスが非常に難しい
- 1つのエラーでシステム全体が停止する可能性があります
これらの問題を克服するには、ソリューションを*モジュール*と呼ばれる小さな部分に分割する必要があります。 開発、実装、変更、および保守を容易にするために、1つの大きなソリューションを小さなモジュールに分割する手法は、プログラミングまたはソフトウェア開発の「モジュラー手法」と呼ばれます。
モジュラープログラミングの利点
モジュール式プログラミングはこれらの利点を提供します-
- 各モジュールを並行して開発できるため、開発期間を短縮できます
- モジュールは再利用できます
- 各モジュールは個別にテストされるため、テストはより高速で堅牢です
- プログラム全体のデバッグとメンテナンスが簡単に
- モジュールは小さく、複雑さが低いため、理解しやすい
モジュールの特定
ソフトウェア内のモジュールを特定することは、気が遠くなるような作業です。なぜなら、正しい方法が1つあるからです。 モジュールを識別するためのいくつかのポインタがあります-
- データがシステムの最も重要な要素である場合、関連データを処理するモジュールを作成します。
- システムが提供するサービスが多様な場合、システムを機能モジュールに分割します。
- 他のすべてが失敗した場合は、要件収集フェーズでシステムを理解することにより、システムを論理モジュールに分割します。
コーディングの場合、プログラミングを容易にするために、各モジュールを再び小さなモジュールに分割する必要があります。 これも、上記で共有した3つのヒントを特定のプログラミングルールと組み合わせて使用して実行できます。 たとえば、C ++やJavaのようなオブジェクト指向プログラミング言語の場合、データとメソッドを持つ各クラスは単一のモジュールを形成できます。
ステップバイステップのソリューション
モジュールを実装するには、各モジュールのプロセスフローを段階的に説明する必要があります。 ステップごとのソリューションは、*アルゴリズム*または*擬似コード*を使用して開発できます。 段階的なソリューションを提供することは、これらの利点を提供します-
- ソリューションを読んでいる人は誰でも問題とソリューションの両方を理解できます。
- プログラマーと非プログラマーが等しく理解できます。
- コーディング中に、各ステートメントをプログラムステートメントに変換するだけです。
- これはドキュメントの一部であり、プログラムのメンテナンスを支援します。
- 識別子名、必要な操作などのマイクロレベルの詳細 自動的に解決する
例を見てみましょう。
制御構造
上記の例でわかるように、プログラムロジックを*順次*実行する必要はありません。 プログラミング言語では、*制御構造*は与えられたパラメータに基づいてプログラムの流れについて決定を下します。 これらはソフトウェアの非常に重要な要素であり、コーディングを開始する前に特定する必要があります。
アルゴリズムと*擬似コード*は、アナリストやプログラマーが制御構造が必要な場所を特定するのに役立ちます。
制御構造は、これらの3つのタイプです-
決定制御構造
決定制御構造は、実行される次のステップが基準に依存する場合に使用されます。 この基準は通常、評価する必要がある1つ以上のブール式です。 ブール式は常に「true」または「false」に評価されます。 基準が「true」の場合、ステートメントの1つのセットが実行され、基準が「false」と評価された場合に別のセットが実行されます。 たとえば、ifステートメント
選択制御構造
選択制御構造は、プログラムシーケンスが特定の質問への回答に依存する場合に使用されます。 たとえば、プログラムにはユーザー向けの多くのオプションがあります。 次に実行されるステートメントは、選択したオプションによって異なります。 たとえば、 switch ステートメント、 case ステートメント。
繰り返し/ループ制御構造
一連のステートメントが何度も繰り返される場合、繰り返し制御構造が使用されます。 繰り返しの回数は、開始する前にわかっているか、式の値に依存する場合があります。 たとえば、 for ステートメント、 while ステートメント、 do while ステートメントなど。
上の画像でわかるように、選択構造と決定構造の両方がフローチャートで同様に実装されています。 選択制御は、連続して行われる一連の決定ステートメントに他なりません。
これらのステートメントがどのように機能するかを示すプログラムの例を次に示します-