ソフトウェア エンジニアリング - 第 12 章 ナレッジ ポイントのオブジェクト指向実装

このコラムはブロガーの個人的なメモであり、主な目的は、断片的な時間を利用してソフトエンジニアリングの知識ポイントを暗記することです、ここに宣言します!

記事ディレクトリ

1. オブジェクト指向言語技術の特徴は何ですか?

2. オブジェクト指向プログラミング言語を選択する際に考慮すべき要素は何ですか?

3. オブジェクト指向の設計結果はオブジェクト指向言語でのみ実現できますか?

4. オブジェクト指向の実装にはどのプログラミング言語を使用する必要がありますか? なぜ?

5. オブジェクト指向プログラムの独自のカプセル化、継承、ポリモーフィズムのメカニズムは、オブジェクト指向のテストにどのような新機能をもたらしますか?

6. 優れたオブジェクト指向プログラミング スタイルの主な原則は何ですか?

7. 再利用性を高めるためのガイドラインは何ですか?

8. スケーラビリティを向上させるためのガイドラインは何ですか?

9. 堅牢性を向上させるためのガイドラインは何ですか?

10. オブジェクト指向の単体テストでテスト可能な最小単位は何ですか?

11. オブジェクト指向統合テストの主な 2 つの異なる戦略は何ですか?

12. テストケースを確認するためのオブジェクト指向確認テストの主な基礎は何ですか?

13. オブジェクト指向テストではどの 2 つの点に重点が置かれますか?

14.単体テストケースを設計する主な方法は何ですか? (つまり、テストクラスのメソッド)

 15. 統合テストケースを設計する主な方法は何ですか?

16. テストケースを設計および確認するための主な方法は何ですか?

章の最後にまとめ


1. オブジェクト指向言語技術の特徴は何ですか?

  1. クラスとオブジェクトの概念をサポートするメカニズム
  2. 集合(全体)構造を実現する仕組み
  3. 一般化された (一般固有の) 構造を実装するためのメカニズム
  4. プロパティとサービスを実装するためのメカニズム
  5. 便利なクラスライブラリを提供する
  6. クラス ライブラリを使用して高効率を実現する
  7. 永続オブジェクト

2. オブジェクト指向プログラミング言語を選択する際に考慮すべき要素は何ですか?

  1. 将来制覇できるかどうか:数年経っても生命力の強い製品にするために
  2. 再利用性: オブジェクト指向アプローチによるソフトウェア開発の基本的な目的と主な利点は、再利用によってソフトウェアの生産性を向上させることです。
  3. クラスライブラリと開発環境:再利用性を決める要素はオブジェクト指向プログラミング言語そのものだけではなく、開発環境やクラスライブラリも非常に重要な要素です
  4. その他の要素: オブジェクト指向の分析、設計、コーディング手法を学習するためにユーザーに提供できるトレーニング サービス、オブジェクト指向言語の使用中に提供できる技術サポート、開発ツール、開発プラットフォーム、配布プラットフォームなど。開発者に提供されるもの、マシンのパフォーマンスとメモリの需要、既存のソフトウェアの統合の容易さなど。

3. オブジェクト指向の設計結果はオブジェクト指向言語でのみ実現できますか?

いいえ。オブジェクト指向の設計結果は、オブジェクト指向言語と非オブジェクト指向言語の両方で実装できます。

4. オブジェクト指向の実装にはどのプログラミング言語を使用する必要がありますか? なぜ?

問題領域のセマンティクスをより完全かつ正確に表現するオブジェクト指向言語を選択する必要があります。

オブジェクト指向言語には、非オブジェクト指向言語に比べて優れた利点があるためです。

  1. 一貫した表現
  2. 再利用性
  3. 保守性

5. オブジェクト指向プログラムの独自のカプセル化、継承、ポリモーフィズムのメカニズムは、オブジェクト指向のテストにどのような新機能をもたらしますか?

オブジェクト指向のテストとデバッグの難易度の増加

6. 優れたオブジェクト指向プログラミング スタイルの主な原則は何ですか?

  1. 再利用性の向上
  2. スケーラビリティの向上
  3. 堅牢性の向上

7. 再利用性を高めるためのガイドラインは何ですか?

  1. メソッドの凝集性を向上させる
  2. メソッドのサイズを減らす
  3. アプローチの一貫性を保つ
  4. 戦略と実装を分離する
  5. 方法は考えられるすべての結果を包括的にカバーする必要があります
  6. グローバル情報は使用しないようにしてください
  7. 継承メカニズムを使用する

8. スケーラビリティを向上させるためのガイドラインは何ですか?

  1. カプセル化の実装戦略
  2. 1 つのメソッドを使用して複数の関連付けチェーンを横断しないでください。
  3. 複数分岐ステートメントの使用を避ける
  4. パブリックメソッドを慎重に特定する

9. 堅牢性を向上させるためのガイドラインは何ですか?

  1. ユーザーの操作ミスを防ぐ
  2. パラメータの正当性をチェックする
  3. 制約をあらかじめ決めないでください
  4. 最初にテストしてから最適化する

10. オブジェクト指向の単体テストでテスト可能な最小単位は何ですか?

オブジェクト指向の単体テスト テスト可能な最小単位はカプセル化されたクラスとオブジェクトです

オブジェクト指向ソフトウェアをテストする場合、個々の操作を単独でテストすることはできませんが、操作はクラスの一部としてテストする必要があります

11. オブジェクト指向統合テストの主な 2 つの異なる戦略は何ですか?

  1. スレッドベースのテスト
  2. 使用量ベースのテスト

12. テストケースを確認するためのオブジェクト指向確認テストの主な基礎は何ですか?

オブジェクト指向の検証テストでは、主にシステムの動作を記述する動的モデルとスクリプトに基づいて検証テスト ケースを設計します。

13. オブジェクト指向テストではどの 2 つの点に重点が置かれますか?

  1. 適切な操作順序
  2. クラスの状況を確認する

14.単体テストケースを設計する主な方法は何ですか? (つまり、テストクラスのメソッド)

  1. ランダムテスト
  2. 分割テスト
  3. 失敗ベースのテスト

 15. 統合テストケースを設計する主な方法は何ですか?

        統合テスト手法では、クラス間の連携をテストする必要があります。これは、シナリオベースのテストや動作テストだけでなく、ランダムテスト手法やパーティションテスト手法によっても実行できます。

16. テストケースを設計および確認するための主な方法は何ですか?

従来のブラックボックスアプローチまたはシナリオベースのアプローチを使用可能

章の最後にまとめ

        オブジェクト指向の方法論は、分析、設計、実装を自然に結び付けますオブジェクト指向設計は原則として特定の実装環境に依存しませんが、実装結果や実装コストは実装環境に大きく依存しますしたがって、オブジェクト指向の設計パラダイムをサポートするオブジェクト指向プログラミング言語、開発環境、およびクラス ライブラリは、オブジェクト指向の実装にとって非常に重要です。

        オブジェクト指向の設計結果をオブジェクト指向プログラムにスムーズに変換するには、まず適切なプログラミング言語を選択する必要があります。オブジェクト指向プログラミング言語は、オブジェクト指向の設計結果を実装するのに非常に適しています。オブジェクト指向設計を実現するには、便利な開発環境と豊富なクラスライブラリを備えたオブジェクト指向プログラミング言語が最適です

        適切なプログラミング スタイルは、オブジェクト指向の実装では特に重要です。これには、従来のプログラミング スタイルのガイドラインだけでなく、オブジェクト指向手法の特性に合わせたいくつかの新しいガイドラインも含まれています。

        オブジェクト指向は独自の概念と手法を用いてソフトウェア開発作業を完了するため、オブジェクト指向プログラムをテストする際には、従来のテスト手法を継承するだけでなく、オブジェクト指向プログラムの特性に応じた新しいテスト手法を検討する必要があります。

オブジェクト指向テストの一般的な目標は、従来のソフトウェア テストの目標と同じで、最小限の作業量で最大限のエラーを検出することです。ただし、オブジェクト指向テストの戦略と手法は従来のテストとは異なり、テストの焦点はプロセス コンポーネント (従来のモジュール) からオブジェクト クラスに移りました。

        オブジェクト指向プログラミングが完了したら、各クラスの単体テストを開始します。クラスをテストするときに使用される方法は、主にランダム テスト、パーティション テスト、および失敗ベースのテストです。各メソッドは、クラスにカプセル化された操作をテストします。テスト シーケンスは、関連する操作が適切にテストされるように設計する必要があります。オブジェクトの状態 (オブジェクトのプロパティ値によって表される) をチェックして、エラーがあるかどうかを判断します。

統合テストは、スレッドベースまたは使用量ベースの戦略        で実行できます。入力またはイベントに応答するために連携する一連のクラスを統合するスレッドベースのテスト。使用テストに基づいて、サーバー クラスを使用しないクラスから始めて、システムを階層的に構造化します。統合テスト ケースを設計する場合は、ランダム テストやパーティション テスト手法を使用することもできます。さらに、動的モデルから派生したテスト ケースでは、指定されたクラスとそのコラボレータをテストできます。

        オブジェクト指向システムの確認テストもブラックボックス指向であり、従来のブラックボックス手法を適用してテスト作業を完了できます。ただし、シナリオベースのテストは、オブジェクト指向システムの検証テストの主な方法です。

次の章:ソフトウェアエンジニアリング—第 13 章 ソフトウェアプロジェクト管理の知識ポイント (完)

繰り返し、地に足を着いて、決して忘れることなく、響き渡るでしょう!

おすすめ

転載: blog.csdn.net/qq_52487066/article/details/131676232