マインドマップギャラリー 要件分析 ソフトウェアテスト ソフトウェアエンジニアリング ソフトウェア設計 自習マインドマップ
要件分析、ソフトウェアテスト、ソフトウェアエンジニアリング、ソフトウェア設計の自習用マインドマップ 要件分析、ソフトウェア設計、ソフトウェアテスト、ソフトウェア保守、ソフトウェア再利用、ソフトウェア開発環境の内容を整理したマインドマップです。あなたへ。
2023-02-23 22:55:01 に編集されました要件分析 ソフトウェアテスト ソフトウェアエンジニアリング ソフトウェア設計 自習マインドマップ
需要分析
要件の分類
機能要件 (ソフトウェアが行うこと、システムが達成する必要がある内容、およびその品質)、パフォーマンス要件 (信頼性、フォールト トレランス、パフォーマンス、応答時間)、設計制約 (データベース、オペレーティング システム、開発の指定などの制限を指定する制約)ツール)
ビジネスニーズ(部長は…ビジネスを実現するために…システムを開発したいと言った)、ユーザーニーズ(経営責任者は…機能と性能が必要だと言った)、システムニーズ(開発と利用)
基本ニーズ(ユーザーが明示した要件)、期待ニーズ(ユーザーが明示していないが当然だと思っていること)、刺激ニーズ(ユーザーの期待を超える、ユーザーが予期していなかった、やらなくてもよい機能の追加)
要件エンジニアリング
要件開発(機能、性能、データ、インターフェースの決定。要件の把握、分析、仕様の作成、要件の検証の 4 つの段階を含む)
需要管理
要件管理計画の作成、要件ベースラインの定義、要件の理解とコミットメントの取得、要件の変更の管理、要件の双方向追跡の維持、プロジェクト作業と要件の間の不一致の特定
要件の双方向追跡: 順方向追跡では、どのユースケースで元の要件が実現されるか、元の要件がすべて実現されているかどうか、逆方向追跡では、ユースケースが元の要件をまったく実現しない場合、それは刺激的なニーズになります。 。
要件の取得
捕捉する情報(何を)
問題領域に関連する情報、解決すべき問題に関連する情報、ユーザーの期待と制約
情報源(どこ)
利害関係者、レガシー システム、競合他社、ドメインの専門家
要件を把握するテクニック (方法)
共同討議要件会議(多者協議)、ユーザーインタビュー(主要ユーザーが質問を作成)、書面調査(人数が多い場合)、現地視察、史料閲覧、実務参加
グラフィカル ツール: 階層ブロック図、ユースケース図、IPO 図、ワーニア図
要件の把握戦略
要件開発は非ウォーターフォールの反復的な進化プロセスであり、問題を上から下に層ごとに分解し、システムの論理ビューと物理ビューを提供します。
需要分析
タスク
システムと外部エンティティとの関係のスコープ図の作成、ユーザーインターフェイスのプロトタイプの作成、要件の実現可能性の分析、要件の優先順位の決定、要件の分析モデルの確立(ユースケースモデル、ER図、データフロー図) 、データディクショナリを作成し、品質関数を使用して割り当てます
方法
構造化分析手法
データ フロー図のトップダウンの段階的な分解に依存して、システム内の情報の変換および転送プロセスをグラフィカルに表現するモデリング手法。
ビジネスプロセス分析
基本的な状況の調査・把握、既存の業務プロセスの記述・確認・分析、問題点の発見、解決策の提案、最適な業務プロセスの提案
データフロー図 DFD を描画する
トップレベルの図は、システムがどの外部エンティティと関係があるのか、どのデータを送信する必要があるのかを明確にし、上から下まで層ごとに分解され、コンポーネントの詳細が示されます。
データ フロー (名前とフロー方向を持つデータ)、処理 (データ フローの変換)、データ ストレージ (アクセス可能な格納情報)、外部エンティティ (データ ソースとデータ宛先) が含まれます。
データディクショナリ
データ フロー図に表示されるすべてのデータ要素に論理的な定義を与える
構造化言語、デシジョンツリー、デシジョンテーブルを含む
オブジェクト指向の分析手法
地域問題領域分析手法
ソフトウェア要件仕様を作成する
メソッド (適切な構造と自然言語を使用してテキストドキュメントを作成し、グラフィカルモデルを構築し、正式な仕様を作成します)
要件(完全性、一貫性、変更可能性、トレーサビリティ)
要件の検証
要求レビュー: 署名確認への顧客の参加は承認基準の 1 つであり、要求がプロセスに従って行われているか、要求結果が客観的、公正かつ合理的であるかどうかをレビューします。
要件のテスト
ソフトウェア設計
基本原則
情報隠蔽 (モジュール間のデータとメソッドは、関連のないモジュールによる使用は許可されません)、抽象化、トップダウン、レイヤーごとの洗練、モジュールの独立性 (高い凝集性と低い結合性)
ステップ
建築デザイン
論理ビュー (機能要件を満たす)、プロセス ビュー (同時実行の問題)、コンポーネント ビュー (実装の問題)、展開ビュー (配布の問題)
概要設計
ソフトウェア要件をデータ構造とソフトウェアシステム構造に変換し、機能をモジュールに分割し、モジュールの機能やモジュール間の呼び出しと構成関係を決定するなど、主に全体の設計を完了します。
きめ細かなデザイン
トップダウン、段階的な改良、情報隠蔽(操作インターフェイス)、独立したモジュール(高凝集性、低結合)
各モジュールのデータ構造とアルゴリズム、パフォーマンス、ターンアラウンドタイム、応答時間、スループット、精度などを設計します。
設計書を書く
デザインレビュー
設計手法
システム構成図のモジュール
受信モジュール、送信モジュール、変換モジュール、調整モジュール
共通システム構成図
変換、トランザクション、混合
ユーザーインターフェース
使いやすさ、柔軟性、複雑さ、信頼性
デザインレビュー
設計リーダー、上級管理職、主任審査員、審査チーム
ソフトウェアテスト
テストの原則
プログラマーは、設計したプログラムをできるだけ早くテストすることを避け、変更後には、まだ発見されていないエラーの数だけ回帰テストを実行する必要があります。プログラムによって発見されたエラーの数と同じです。
入力、実行条件、期待される出力を含むテスト ケースを設計する
試験方法
ブラックボックステスト
プログラムの構造や処理に関わらず、機能仕様に従ってテストケースを設計し、機能が要件を満たしているかどうかを確認します。
等価クラス分け
同値クラスを分割します。同値クラスの代表値をテストすることは、このタイプの他の値をテストすることと同じです。各同値クラスは、有効と無効の 2 つのケースでテストされます。
境界値解析
入力境界と出力境界のテスト ケースを設計します。境界値は最もエラーが発生しやすい値です (境界と完全に等しい、境界よりわずかに大きい、または境界よりわずかに小さい値を取得します)。
推測エラー
経験と直感による推測には誤りがある可能性がある
因果関係図
要求仕様を分析して、さまざまな入力と出力(原因と結果)を見つけ、入力条件と出力のさまざまな組み合わせの対応関係を見つけ、特性特性図に変換します。デシジョンテーブル。デシジョンテーブルの各列はテストケースです。
ホワイトボックステスト
試験内容
プログラムの内部ロジックのテスト ケースを設計して、ロジック パスが所定の要件に従って機能するかどうかを確認します。これは、ブラック ボックス テストよりも包括的かつ詳細です。
プログラム モジュールのすべてのパスを少なくとも 1 回テストし、すべての論理的判断 (真と偽) を少なくとも 1 回テストし、ループ境界と実行制限をテストし、内部データ構造の有効性をテストします。
試験方法
ステートメント カバレッジ、判定カバレッジ、条件カバレッジ、判定条件カバレッジ、条件組み合わせカバレッジ、パス カバレッジ
グレーボックステスト
ブラックボックステストとホワイトボックステストを組み合わせる
テスト段階
単体テスト
コーディング段階で、モジュールインターフェイス機能テスト、ローカルデータ構造テスト、パステスト、エラー処理テスト、境界条件テストなどの一般的なホワイトボックステストで実施されます。
統合テスト
設計段階でのエラーが発見された場合、モジュールが組み立てられた後、モジュール間のインターフェイスと通信がテストされます (通常はブラック ボックス テスト)。
確認テスト
模擬環境での要求仕様、妥当性試験、ソフトウェア構成レビュー、受入試験(解析レポート、ユーザーマニュアル、開発概要レポート)に基づき、ソフトウェアの機能・性能がユーザーのニーズと一致しているか確認します。
システムテスト
本番環境テスト、要求仕様に基づくブラックボックステスト、すべての結合コンポーネントを対象としたソフトウェア製品の品質評価
ソフトウェア、ハードウェア、周辺機器、データ、サポート ソフトウェアなどが含まれます。具体的には、回復テスト、セキュリティ テスト、強度テスト、パフォーマンス テスト、信頼性テスト、設置テストなどです。
テスト
製品型ソフトウェアの場合、@ 開発者が存在し、顧客がテストを実装します。b 開発者は存在しません。
テストの種類
機能テスト
性能試験
目的 (システム機能の評価、弱点の特定、システムのチューニング、安定性と信頼性の検証)、タイプ (負荷テスト、強度テスト、容量テスト)
受け入れテスト
ソフトウェア要件分析、受入テスト計画およびプロジェクト受入基準の作成、テスト設計およびテストケース設計、テスト環境構築、テスト実施、結果分析、テストレポート
第三者によるテスト
仲介者 -- 北京ソフトウェア評価センター
回帰テスト(以前に発生したが修復された欠陥が再発しないことを検証)、回復テスト、信頼性テスト、起動/停止テスト、構成テスト、セキュリティテスト、ユーザビリティテスト、インストールテスト、プロセステスト、互換性テスト
オブジェクト指向のテスト
オブジェクト指向解析テスト、オブジェクト指向設計テスト、オブジェクト指向プログラミングテスト(オブジェクト指向単体テスト、オブジェクト指向結合テスト、オブジェクト指向システムテスト)
テストツール
適合性を維持するための定期的な検証、校正、検証、構成管理は必要ありません。
テスト管理
テスターのパフォーマンス指標をカウントするのは簡単ではないため、テスト チームの管理は困難です。 専門家と初心者が作成したプログラムのバグの数には大きな差があります。 テスターのバグを見つける能力を判断するにはどうすればよいでしょうか。
エラー(欠陥)追跡管理
ソフトウェアのメンテナンス
ソフトウェア メンテナンスは、ソフトウェア サポートを必要とするすべてのアクティビティを提供し、理解可能、テスト可能、変更可能、および保守可能です。
ソフトウェアの保守性
ソフトウェアエンジニアリングにより保守性が向上
要件分析 -- 考えられる改善点と修正点について説明します
設計段階 - 拡張が容易、移植可能、再利用可能なソリューション、オブジェクト指向
コーディングフェーズ - アノテーション、品質、オブジェクト指向
テスト段階 - テストが良好であれば、メンテナンスも良好です。テスト関連のドキュメントはすべて利用可能です。
メンテナンスフェーズ - 適切な構成管理と同期されたドキュメント
システム文書(保守要件、ソースコード、設計文書、テスト文書)
ユーザーマニュアル (ユーザーマニュアル、インストールマニュアル、リファレンスマニュアル、管理者ガイド)
保守性メトリクス
ループ数(ソースコードの複雑さ)、ソフトウェアのサイズ、その他の要因
ソフトウェア保守分類
修正 (エラーを診断して修正するプロセス)
適応型(オペレーティングシステムのアップグレードやソフトウェアの変更など、外部環境の新しいソフトウェアやハードウェア、データ環境のデータベース、データ形式、記憶媒体の変更に適応してソフトウェアを変更するプロセス)
予防型(ソフトウェアの保守性と信頼性を向上させ、ソフトウェアの将来の改善の基礎を築くためにソフトウェアを修正するプロセス。今は間違いではありませんが、ミレニアムバグの問題が解決されるなど、時間の経過とともに間違いになります) 1999年)
完成型(新しい機能や性能に合わせてソフトウェアを修正したり、再開発したりするプロセス)
ソフトウェアメンテナンスの実施
保守組織の確立、保守要件の提案、保守作業の実施、保守要素の記録、保守活動の評価
納品前保守には納品後の運用計画と保守計画が含まれ、納品後保守にはソフトウェアの修正、トレーニング、ヘルプ資料などが含まれます。
ソフトウェアの再利用
既存のソフトウェアに関するさまざまな関連知識を活用して新しいソフトウェアを構築し、ソフトウェアの開発コストと保守コストを削減することは、ソフトウェアの生産性と品質を向上させるための重要なテクノロジーです。
コードの再利用、設計の再利用、分析の再利用、テストケースの再利用
コンポーネントは、独立して動作することも、他のコンポーネントと組み合わせて調整することもできる、特定の機能を備えたプログラム本体です。実用的でより効果的に再利用するには、コンポーネントに多様性と柔軟性を持たせて汎用性を高める必要があります。
ソフトウェア開発環境
関連ソフトウェアツール群、統合開発環境(データ統合、制御統合、インターフェース統合)