ソフトウェアの信頼性の方法および技術を向上させます

      1.品質基準の中核としての信頼性を確立するために、

    信頼性は、ソフトウェアプロジェクトの計画と要件分析フェーズのコアに品質基準を確立する必要があります。品質の機能性、信頼性、保守性、移植性、セキュリティ、スループットなどの実現を含めた基準、ソフトウェアシステムの品質の完全な対策はありませんが、それでも一定の標準ベースライン指標によって指定することができます。

    構成元素からソフトウェアの品質は、製品の品質とプロセスの品質に分けることができます。

    製品の品質は、様々な文書の種類、コードの読みやすさ、信頼性、妥当性、会うユーザーニーズの度合いなど、完成品のソフトウェアの品質、です。

    品質は、高品質の開発環境のプロセスであり、そして技術が使用され、開発者、企業のコミュニケーションの開発、設備稼働率やその他の要因の開発の品質。

    品質も動的品質及び静的品質に分割されています。静的品質はモジュール性、のしやすさ、完全性、および多くを含む開発プロセスの品質の見直しの結果によって確認されました。品質は故障間の平均時間(MTBF)などの品質、ソフトウェア障害修復時間(MTRF)、利用可能なリソースの使用率を確認するために、動的な動作条件を検討することです。静的な品質を無視して、多くの実用的なエンジニアリングでは、それは一般的に、動的品質をより重視です。

    所定の品質標準測定、少なくとも次の二つの目的であるべきです。

    (1)開発プロセス(要求分析、設計、試験、検査工程)の明確な部門、エラーの品質フィードバック早期排除を確保し、一定の品質を確保するためにテストを通ります。

    できるだけ早く対策を取るために、非準拠製品の開発プロセスにおける(2)実装、スケジュール管理、品質評価レポート生成相、。

    措置の区分を決定するために、開発プロセスの品質:

    (1)需要分析の品質メトリクス

    明確な目標の信頼性要件、分析、設計、信頼性管理措置と、このような文書の完了などの要件分析の定義(または曖昧さなし)完全かつ正確である、様々な状況の開発者とユーザの間に理解がありません、、。

    (2)結果のメトリックの設計品質

    時間は、プログラム容量と読みやすさ、わかりやすさ、テストケース、評価、完了およびその他の文書の結果を設計する必要がありました。

    (3)試験結果の品質メトリクス

    試験時間、エラーステータス、エラーの数、誤り検出率と残留誤差の数、エラー影響評価、ドキュメント、等、ならびに不正エントリの処理に関する措置。

    (4)受入結果品質メトリクス

    完全な機能、パフォーマンス指標と信頼性の数。

    最後に、このような時間計測としての信頼性の予測成長曲線モデル、個々の測定値、可用性を選択し、後期開発プロセスにおいて、成長曲線の収束誤差の信頼度を計算するために使用されます。

    品質基準、設計品質のレポートや評価フォームの確立した後、我々は厳密に開発プロセス全体を実装しなければならないし、タイムリーに品質評価を行うために、レポートフォームに記入してください。

    2.開発手法

    ソフトウェア開発方法は、ソフトウェアの信頼性にとって重要な意味を持っています。

    現在のソフトウェア開発方法は、主にパルナス法、ヨードン法、ジャクソン法とWarnierデータ指向の構造、PSL / PSA法、プロトタイピング、オブジェクト指向の方法であって、可視化方法、ICASE法、スイスの管理開発方法、さらに他のありますそこBSP方法、CSF法など。ここでは、特定のパルナスの方法に言及する必要があります。

    パルナスは、ソフトウェア開発方法論の最も古い方法であり、パルナスが1972年に提唱され、基本的な考え方は、将来的に発生する可能性の変化を予測するために設計されたアウトラインにある、ソフトウェアの信頼性と保守性を向上させるために、前方の情報隠蔽の原則を置きます。

    第一の要因を列挙された設計要件では、モジュールを分割する要因のいくつかは、モジュールの内部で暗黙的に変更される場合があり、将来的に変更することも、他のモジュールの何もは、このようにソフトウェアの保守性を向上させること、これを行わないしますスプレッドのミスを避けるために、それはソフトウェアの信頼性を向上します。また、信頼性を向上させるための措置を提案しました。

    (1)エラーを検出するために、ハードウェアのチェックを行うことが近いハードウェアモジュールに、考慮可能なハードウェア障害をとります。

    可能なオペレータエラーを考慮し、(2)、入力データ入力モジュールの正当性を検査、合法、越権、タイムリーな修正。

    (3)アカウントにソフトウェア自体の可能な故障を取って、エラーの拡散を防止するために、モジュール間のチェックを強化します。

    多くの人々のためにスイスの処理方法は、ここでは、簡単な概要馴染みがないかもしれません。

   ルイリー(合理的)モードでは、米国、スイスのエンジニアリング会社は、管理ソフトウェアを開発している、そしてそのモデルは次のとおりです。 
  オブジェクト指向; 
  スパイラル; 
  管理と制御、 
  高度に自動化されました。

    技術的な観点を管理するには、ソフトウェアのライフサイクルを開始、計画、建設、移転に分割され、進化の5つの段階はまた、これらの5つの段階(建設および転送研究期間(開始と計画)、生産期間にマージすることができます)、そして最終的にはメンテナンス期間(進化)、高リスクの一部と需要の変化を処理するために特に適しています。

    多くの点上に、可視化方法は、主にグラフィックス関連のアプリケーションのために使用される、現在のビジュアル開発ツールは、ユーザインターフェイスは、この方法を使用する必要はない複雑なグラフィカル・インターフェースを必要としないアプリケーションのビジュアル開発を提供することができる。ICASE技術をも完全にのみ視覚プロセスの助けとメソッドICASE法として使用することができる、成熟していません。データ構造、PSL / PSA法のための方法及びプロトタイピング方法は、中小システムの開発のためにのみ適しています。

    人間の思考の習慣と一致制御ソフトウェアの複雑さ、生産性の向上を容易にするためのオブジェクト指向のアプローチ、自然エンティティと現実世界の問題を表現し、モデルへの自然な能力を持って、解空間に問題空間から到達することができますより直接的な自然なマッピング。

    オブジェクト指向のアプローチでは、信頼性の高いライブラリーの大規模な使用のために、そして、その信頼性を確保する必要がありますが、オブジェクト指向の方法はまた、ソフトウェアの再利用を実現するために助長しています。

    これは、オブジェクト指向のアプローチを提案し、スイスのリファレンスパルナスは、他の方法の利点を学ぶために、他の結合方法を使用するように開発中管理モードを考えられています。

  3.ソフトウェアの再利用  

    既存の成熟したソフトウェアの最大化、再利用、開発サイクルを短縮し、開発効率を向上するだけでなく、ソフトウェアの保守性と信頼性を向上させることができないだけ。既存の成熟したソフトウェアは、厳密に除外の開発、運用・保守にテスト、エラーを大量に実行されているので、より信頼できるものでなければなりません。プロジェクト計画ソフトウェアの再利用の初期段階で改善する手段として必要な信頼性の不可欠な一部の作業に含まれるべきです。 
  
    ソフトウェアの再利用があるだけでなく、ソフトウェア自体を指し、また、三つの側面の再利用など、ソフトウェア開発の考え方、文書化、さらには環境、および他のデータであってもよいです。

    開発プロセス、標準化手段は、種々の開発方法、ツール、規格の開発を再利用する(1)。

    (2)ソフトウェアコンポーネントの再利用は、文書、プログラムやデータを指します。

    そのような関連分野における専門知識の再利用として(3)知識の再利用、。

    もっと一般的な使用は、ソフトウェア・コンポーネントの再利用です。

    、候補選択、資格、分類およびストレージを検索し、検索:次のようにソフトウェアの再利用があります。再利用可能なコンポーネントの選択では、厳格な選択基準にする必要があり、再利用可能なコンポーネントを厳密にテストしなければならない、でも、正確性と信頼性のコンポーネントの証明の後に、(シングル、完全な機能を実現するために)、モジュラーでなければなりません明確な構造(読み出し、理解、適切なスケール)、および適応性の高いです。

    4.開発管理ツール

    大規模なソフトウェアシステムの開発、管理が十分でないだけではプロジェクト管理者、として、開発および管理ツールと不可分である、開発プロセスで発生した問題の様々な解決を支援する管理ツールを開発する必要性、開発効率と製品の品質を向上するためです。

    仕様の開発プロセスを、開発サイクルを短縮し、開発コストを削減し、投資リスクのプロジェクトを減らす、自動的に完全なを作成:のIntersolvのPVCSソフトウェア開発管理ツールとしては、70%以上の米国市場のシェアでは、使用PVCSは、多くの利点をもたらすことができますドキュメント、ソフトウェア・メンテナンスの容易さ、管理ソフトウェア、複数のバージョン、欠陥および変更危うく開発プロセスのソフトウェア開発ライフサイクル管理および追跡の質と影響、ソフトウェアの再利用を容易に回避データ損失だけでなく、ソフトウェアの信頼性を向上させるために、開発者の交換を容易にします、品質保証が重要な役割を果たしています。

    中国では、開発および管理ツールを効果的に使用されていない多くのソフトウェア企業は、まだマニュアル管理フェーズに残って、ソフトウェアの品質の開発は高くありません。

    より困難な人々の管理は、人のスタッフの安定性、可能な限り避け頻繁に運動を維持するために、同時に人材育成の品質を確保します。モビリティは後継者は、状況は非常に明確であることを理解することは不可能で、継続性を確保するのは難しいソフトウェア、仕事の質に影響するだけでなく、業務プロセスなどに影響を与える可能性があります。PVCSは、適切な人事管理を提供します。

    5.強化テスト

    初期のソフトウェア開発のさまざまな段階が完了した後、さらに信頼性を向上させるために、唯一達成するために試験を強化することによって。ソフトウェアの信頼性を向上させることが、ソフトウェア・エラーの除去を最大限にするために、ソフトウェアがテストを完了します。完全なテストは、テストの数を決定するために、実際のプロセスでは、そう最小数および試験の最大数をテストすることを確認し、前者が後者の技術的意思決定、意思決定管理され、不可能である大規模なソフトウェアシステムへ下限。一般的に、我々は、可能な場合、テストで可能な限り完全なようにしたいです。

    誰がテストをしますか?一般的には、ユーザーがモジュールのテストにはほとんどありません、プログラマによって書かれるべきコードをテストモジュールは、初期実行するために、モジュールは、それらの間の交換プログラムでテストするために、一般的に良いよりも低くなっている、独自の設計プログラムをテスト効果。

    完全なテストドキュメントを確立するために、試験規格、規範、テストプロセスを決定するための試験の前に、ソフトウェアがエラーやミスの任意のアクションを適時に提出することができることを確実にするために、それを変更するには、正式な手順で、構成制御下に置かれています。

    テスト仕様書は、次の3つの文書を含む: 
  
    (1)試験設計仕様:試験方法は、所定の特性が設計に関連し、含まれるテスト、詳細に説明。また、所定のテスト手順とテストケースを完了するために、パス/フェイル決意基準の所定の特性を必要とすべきです。

    (2)試験仕様:リスト特定の値と入力の期待出力。特定のテストケースを使用することで、様々なテスト手順の提供の制限。

    (3)試験プロトコル仕様:システムの、必要なすべてのステップを実装するためにテストに指定されたテストを実行するための所定の操作。

    試験方法を変えます:

    (1)コード、およびコメントを読むために(ウォークスルー)、別のプログラマにより、手動で(ないモジュールデザイナー)が行われるウォークスルー。

    (2)試験機は、所与の入力のためのスプリアス出力を生成しません。

    (3)実証ハンドオーバ手順又はプログラムを表します。

    (4)試験、アナログハードウェア、I / Oデバイスをシミュレートします。

    その上の欠陥や地域の基準の違反とを識別するために、得られた情報を使用してデザインセミナーのあらゆる側面、上の(5)デザインレビューチーム。

    上記サイクルが交互に効率を改善するためのツールを試験中に使用される実際の試験では、並行して実行することができます。

    通常の試験だけでなく、ソフトウェアの信頼性試験に加えて、ソフトウェアは、障害の信頼性に大きな影響がないことを確認します。テストプランプログラム、ランダムに選択された入力の実際の使用、実行時間の確率分布に応じて正確な結果を記録し、結果を評価しました。 
 
    永久運動機械のようなエラー・手順は、達成することは不可能ではありません。一般的に、トレース、誘導、控除をデバッグする方法のヒューリスティックを使用していました。また、UNIXが提供するなど、適切なトラブルシューティングツールを使用しSDBとdbxのトラブルシューティングツールをコードする、これらのトラブルシューティングツールは閲覧のみ、何の編集機能は、それが間違っツールまで実際の吠えではありません。

    6.フォールトトレラント設計 

    一般的に2つのカテゴリに分けることが技術の信頼性を向上させる、1はエラーや欠陥がソフトウェアをこっそり防ぐために、可能な限り、開発プロセスの失敗を回避することである、そのような一般的に使用される技術は、以下のとおりです。

    アルゴリズムのモデリング、アルゴリズムは、要求仕様の正しい実施を確実にするためにモデル化することができます。

    シミュレーション、モデリング、ソフトウェアは時間、メモリ使用量と実行モデルの制御を実行するように、決定したプレーで、リソース条件を確保するために、予測性能。

    信頼性モデル、エラーの発生頻度から、予測の信頼性が信頼性モデルを用いて。

    正しさの証明、アルゴリズムの正しさの証明はそうでシンボルと数学的帰納との形で使用されています。

    ソフトウェア危害分析と故障の木解析:構造設計からまたはシステムの欠陥に潜入するためのソフトウェア開発プロセスの理由を追跡し、コーディング。

    分配インタフェース要件仕様:設計の様々な段階における形態、完全性を達成する可能性の分布を確認するために、インタフェース要件を使用してインターフェイスの要件仕様。

    これらの技術は、一般的な数学的理論とモデリング技術のより深い知識を必要とします。

    他には、冗長フォールトトレラント技術のアイデアを使用することです。

    フォールトトレラント技術の基本的な考え方は、最小限に減らすソフトウェアのエラーの信頼性への潜在的な影響です。

    原則からフォールトトレラントソフトウェアは、損傷の程度、エラー回復、エラー4段階の取り扱いを決定するために、エラー解析に分けることができます。

    ソフトウェアフォールトトレランス技術は、一般的にバージョンN-アート、回復ブロック技術、複数のバックアップ技術を使用しています。

    プログラムのN-設計バージョンが同じ仕様に応じて独立N同等の機能プログラム(すなわち、解放)が設計されています。異なるアルゴリズム、異なる言語、異なるテスト技術、さらには異なるコマンド体系を使用して独立した手段。

    障害回復ブロック処理技術は、以前に自動エラー回復を使用することです。

    これらの技術は、文献を参照することが、ここではプログラムでのプログラミング、エラーチェックのエラー保護ということです。パッシブエラー保護技術のチェックポイントに到達すると、コンピュータは、番組情報の適切なポイントを確認してください。積極的なエラー防止技術は、定期的に自分の空いた時間に異常な条件を探して全体のプログラムやデータ、またはを検索することです。エラープルーフプログラミングの使用は、ソフトウェア・プログラマの設計に基づいており、彼らは、彼があまりにも自分を信じすることができるので、その基づき、確か間違っている、いくつかのプログラマは、これに慣れないかもしれない持っていると信じて、自分のプログラムだけを信じていますプロジェクト管理者として、いくつかのエラー、またはエラーなしには、彼を説得か、いくつかの時間を取るように設計されたものの、この技術を採用するために彼を強制することができるはずですが、信頼性を向上させるために有用です。

 

:から転送https://blog.csdn.net/vbloveshllm/article/details/9350503

おすすめ

転載: www.cnblogs.com/WayneKhouTech/p/12078824.html