オフショアソフトウェア開発会社、信頼性の高いソフトウェアのプログラミング
110ビューソフトウェア信頼性ソフトウェアの品質の重要な面である。 この失敗の確率は、コンピュータプログラムのない操作は、指定された環境では、指定された時間"と"定義されている
ソフトウェアの信頼性を改善するには、プログラムの開発のさまざまな段階で、実際のソフトウェアの場合に適用することができます。 これらの段階を主に含める:要件、設計、プログラミング、テスト、および実行時の評価。 この調査は、主に理論的なソフトウェアの信頼性の正しさの概念を、コンピュータ科学の理論は、言語とオートマトンを増殖されている数学の分野にかかわっている。
要件
プログラムの場合は、プログラムの開発者は、実際には、事前に、または希望するプログラムの振る舞いを知ってる場合は、少なくとも開発と並行して、その目的の行動を決定することはできませんが、十分な詳細については希望の仕事に期待することはできません。 詳しくはどのようなレベルの十分な議論が盛んであると考えています。 完璧なディテールの考え方が、非現実的かもしれないが、実際には不可能ではない、実際に魅力的です。 これは、希望の動作は、動作可能な範囲の変更を、実際の試みとして、またはより正確にして決定されると、失敗してしまった傾向がある、それを達成するためです。
プログラムの目的の動作が正常かどうかを事前に指定することができる場合は、これは、すべての未解決の問題で指定することはできませんされており、この試み、新しいソフトウェアプロジェクトのための要件を作成するプロセスを正式にフォーカスされています。 現場では、形式化の努力をするうえで参考にする試み以外の専門家、特に非プログラマは、コンピュータソフトウェアの十分な知識がなくては、手数料のソフトウェアプロジェクトは実際の能力にある。 この知識は、実際の通信は、上記のようにも、プログラマーは常に可能なソフトウェアを事前に実際に試してみるのを事前に知ることができない困難を示唆しています。
設計する
中に必要なプログラムが何をすべきかを指定することを意味している、デザイン、高レベル以上で、どのようにプログラムを行うかを指定するためのものです。 デザインもいくつかの有用性が疑問視されますが、人々はしばしば見良いソフトウェア設計を提供する信頼性確保のプロセスを正式に最も重要な手段として、それを達成するためのプロセス。 ソフトウェアの設計は通常、ソフトウェアの部分を抽象的にどうするかを指定すると一般的な手段の使用を伴います。 このように、それを多くの小さなプログラムを、そのような小さな破片には、これらのプログラムの全体を一緒に仕事をするには、大規模なプログラムを破る方法として見ることができます。
高レベルのデザインの目的は以下のとおり。 それは建築の問題、または全体のプログラムのコンセプトと構造を、実際のデータ処理の問題を解決する実際のコーディングの問題と考えられているから分離します。 これは、開発プロセスには、小規模なソフトウェアコンポーネントの範囲を縮小し、これには追加的な制約が適用される-が期待されている-は、プログラミングエラーの可能性を増すことの変数を削除します。 これはプログラムを、インターフェイスの異なる部分は、開発者の作業は、別のチームでは、あらかじめ知ることができるようにそれぞれの貢献の方法は、他のチームとのインターフェイスが共有することができるの仕様を含め、テンプレートを提供しています。 最後に、そしておそらく最も論議を呼ぶと、独立して実装言語または言語の、言語固有の偏見と、それ以外のデザインに潜り込むと制限、おそらく知らずにプログラマの一部を削除、デザイナーがプログラムを指定します。
プログラミング
コンピュータプログラミング言語の発達の歴史は、しばしば最高の試みは、それ以外の多くの割合で(おそらく指数)は、プログラムのサイズを理解することは困難となるコンピュータプログラムの複雑さのマスターへの光の中で理解することができます。 プログラミング言語の進化を見て(もう1つの方法だけではないとの仕事をするためにコンピュータを得るための手段としてですが、これは同じことを言うのは別の方法が5月)のプログラム'の理解の欠如全体的な構造と機能を、プログラムでエラーを検出するために失敗するための確実な方法であり、より良い言語の使用すると、逆に、より良い理解を有効にして、エラーの数を減らす必要があります。
インクリメンタル改善の言語でのソフトウェアの設計を1つで何をしようとしましたを提供するために急降下安:抽象化のレベルでは、ソフトウェアを検討するが大きい傾向がある。 声明は、サブルーチンの発明のような、 、 、 、ライブラリ、コンポーネント、テンプレートなど、プログラムの部品の配置を認めている層、階層やモジュール、 granularitiesでは、さまざまな構造を提供するような抽象概念を使用して指定することで、クラスファイルこれは、プログラムのコード秩序を想像し、理解することができますビューの任意の点から。
また、言語の改善は、形状やデータ要素の使用を、抽象データ型のちょうより正確なコントロールを有効にしている 。 これらのデータの種類、アクセスする方法や時期などは非常に微細度に、前のデータでも、国家と指定することができます後にアクセスしている。
テスト
ソフトウェアのテストは、正しく行うには、その要件に適合する製品の適合性をテストすることによって全体のソフトウェア品質を高めることができます。 テストが含まれていますに限定されていません:
- ユニットテスト
- 機能テスト
- パフォーマンステスト
- フェイルオーバーのテスト
- ユーザビリティテスト
アジャイル方法論にも数多くの開発サイクルの早い段階で自社製品の品質保証のためにテストを使用しています。 例えば、このテストは、エクストリームプログラミングの品質保証のために使用されている開発の練習、ここでのテストは、テストするコードの前に書かれている。
ランタイム
実行時の信頼性判断のテストに似ているが、品質の評価をするという単純な動作性能と相互運用性の確認を超えて、他のコードや、特定のハードウェア構成で行くような...
ソース : http://www.articlesbase
関連Webサイトデザインの記事
タグ: ソフトウェア受託開発
このエントリは14日 、 2008年11月7日 9:07 時およびFlash 、 Flexの設計 、 ソフトウェア開発 、 ソフトウェアの受託開発 、 ウェブ 開発の下に提出され午前投稿されました 。 あなたはRSS 2.0 の供給を通してこのエントリへの応答に従うことができます 。 することができますあなた自身のサイトからの応答 、 かtrackbackを残す 。

















