このコラムはブロガーの個人的なメモであり、主な目的は、断片的な時間を利用してソフトエンジニアリングの知識ポイントを暗記することです、ここに宣言します!
記事ディレクトリ
2. 大規模なソフトウェアの保守コストは開発コストの何倍ですか?
4. ソフトウェアのメンテナンスにはどのような種類がありますか? どのカテゴリーの割合が最も多く、最も少ないのでしょうか?
6. 非構造化メンテナンスと構造化メンテナンスの違いは何ですか?
7. ソフトウェアのメンテナンスはどのような手順で行われますか?
11. ソフトウェアの保守性に影響を与える決定的な要因は何ですか?
12. この文書の 2 つの部分は何ですか? それぞれの役割は?
13. ソフトウェア リエンジニアリング プロセスとは何ですか? 典型的なソフトウェア リエンジニアリング モデルで定義される 6 種類のアクティビティとは何ですか?
14. 保守性に影響を与える 2 つの要素のうち、コードレビューで重点を置く必要があるのはどれですか?
15. ソフトウェア製品の保守性を向上させるために、ソフトウェア開発プロセスでどのような対策を講じるべきですか?
1. 保守フェーズの基本的なタスクは何ですか?
運用および保守フェーズはソフトウェア ライフ サイクルの最後のフェーズであり、基本的なタスクはソフトウェアが長期間にわたって正常に実行できるようにすることです。
2. 大規模なソフトウェアの保守コストは開発コストの何倍ですか?
4回くらい
3. ソフトウェアメンテナンスとは何ですか?
ソフトウェア メンテナンスは、ソフトウェアが使用できるように配信された後に、エラーを修正したり、新しいニーズに対応したりするためにソフトウェアを変更するプロセスです。
4. ソフトウェアのメンテナンスにはどのような種類がありますか? どのカテゴリーの割合が最も多く、最も少ないのでしょうか?
- 事後保全
- 適応型メンテナンス
- 完全性の維持(最大の割合)
- 予防保守(最低限)
5. ソフトウェア保守の特徴は何ですか?
- 構造化メンテナンスと非構造化メンテナンスには大きな違いがあります
- 維持費がかかる
- 多くのメンテナンスの問題
6. 非構造化メンテナンスと構造化メンテナンスの違いは何ですか?
非構造化メンテナンス:ソフトウェア構成の唯一のコンポーネントはプログラム コードです
構造化されたメンテナンス:設計文書、プログラム コード、テスト手順などを含む、完全なソフトウェア構成があります。
7. ソフトウェアのメンテナンスはどのような手順で行われますか?
- 保守組織を作成する
- メンテナンスレポートを書く
- 維持されるイベントのストリームを指定します
- メンテナンス記録を保管する
- メンテナンス活動を評価する
8. プロセスを維持するための基本的な方法は何ですか?
- ソフトウェア設計を変更する
- レビュー
- 必要なコードの変更
- 単体テストと結合テスト
- 受け入れテストとレビュー
9. ソフトウェアの保守性はどのようなものですか?
保守者がソフトウェアを理解し、修正、変更、または改善する容易さを指します。
10. ソフトウェアの保守性を決定する要因は何ですか?
- わかりやすさ
- テスト容易性
- 変更可能性
- 携帯性
- 再利用性
11. ソフトウェアの保守性に影響を与える決定的な要因は何ですか?
ソフトウェアの保守性に影響を与える決定的な要素はドキュメントであり、プログラム コードよりも重要です。
12. この文書の 2 つの部分は何ですか? それぞれの役割は?
ドキュメントはユーザー ドキュメントとシステム ドキュメントに分かれています
システムの機能と使用法を説明するユーザードキュメント
システムの設計、実装、テストについて説明するシステム文書
13. ソフトウェア リエンジニアリング プロセスとは何ですか? 典型的なソフトウェア リエンジニアリング モデルで定義される 6 種類のアクティビティとは何ですか?
ソフトウェア リエンジニアリング プロセス、つまりソフトウェア リファクタリングはサイクル モデルです。
典型的なソフトウェア リエンジニアリング モデルは、次の 6 つのアクティビティ カテゴリに順番に分割されます。
- 在庫分析
- ドキュメントのリファクタリング
- リバースエンジニアリング
- リファクタリング
- データ再構築
- フォワードエンジニアリング
14. 保守性に影響を与える 2 つの要素のうち、コードレビューで重点を置く必要があるのはどれですか?
コーディングスタイルと内部ドキュメント
15. ソフトウェア製品の保守性を向上させるために、ソフトウェア開発プロセスでどのような対策を講じるべきですか?
- 明確なソフトウェア品質管理の目標と優先順位を確立する
- 技術とツールを使用してソフトウェアの品質を向上させる
- メンテナンスが簡単なプログラミング言語を選択する
- 明確かつ効果的な品質保証レビュー手段を採用する
- 完全なプログラムドキュメント
章の最後にまとめ
メンテナンスはソフトウェア ライフ サイクルの最後のフェーズであり、最も長く、最も費用がかかるフェーズでもあります。柔らかい
ソフトウェア エンジニアリングの主な目的は、ソフトウェアの保守性を向上させ、保守コストを削減することです。
ソフトウェア保守には通常、使用中に発生したエラーを修正する事後保守、外部環境の変化に適応する適応保守、元のソフトウェアを改善する完全保守、将来の保守性や信頼性を向上させる予防保守の4種類の活動が含まれます。
ソフトウェアのわかりやすさ、修正しやすさ、移植性、再利用性はソフトウェアの保守性を決定する基本要素ソフトウェア再利用技術はソフトウェアの保守性を根本的に向上させる重要な技術です オブジェクト指向ソフトウェア技術現在最も成功しているソフトエントリ再利用技術。
ソフトウェアのライフサイクルの各段階での作業は、ソフトウェアの保守性と密接に関連しています。優れた設計、完全かつ正確、読みやすく理解しやすいドキュメント、および一連の厳格なレビューとテストにより、エラーが見つかった場合の診断と修正が容易になり、ユーザーが必要なときにソフトウェアを簡単に適応させることができます。新しい要件や外部環境の変化があり、メンテナンスに起因するエラーを減らすことができます。したがって、ソフトウェアのライフサイクルの各段階でメンテナンスの問題を十分に考慮し、ソフトウェアのメンテナンスに向けて事前に準備する必要があります。
ドキュメントはソフトウェアの保守性を決定する要素であるため、ドキュメントは実行可能プログラム コードよりもさらに重要です。ドキュメントは、ユーザー ドキュメントとシステム ドキュメントの2 つのカテゴリに分類できます。どのような文書であってもプログラムコードと同時に整備する必要があり、プログラムコードと完全に一致した文書のみが真に価値のある文書となります。
現在、保守リソースが限られているため、予防保守がすべての保守活動に占める割合はわずかですが、このような保守活動を無視すべきではなく、状況が許せば予防保守を積極的に実行する必要があります。
予防保守は本質的にはソフトウェアの再エンジニアリングです。典型的なソフトウェア リエンジニアリング プロセス モデルは、インベントリ分析、ドキュメント再構築、リバース エンジニアリング、コード再構築、データ再構築、フォワード エンジニアリングの6 種類のアクティビティを定義します。場合によっては、これらのアクティビティは直線的な順序で実行されますが、常にではありません。上記のモデルはサイクル モデルです。これは、各アクティビティを繰り返すことができ、任意のサイクルで、いずれかのアクティビティの完了後にリエンジニアリング プロセスを終了できることを意味します。
次の章:ソフトウェアエンジニアリング - 第 9 章 オブジェクト指向方法論の概要 知識ポイント
繰り返し、地に足を着いて、決して忘れることなく、響き渡るでしょう!