構造化分析
アナリストは、さまざまなツールを使用して、情報システムを理解および説明します。方法の1つは、構造化分析を使用することです。
構造化分析とは何ですか?
構造化分析は、アナリストがシステムとそのアクティビティを論理的に理解できるようにする開発方法です。
これは体系的なアプローチであり、既存のシステムの目的を分析および改良し、ユーザーが簡単に理解できる新しいシステム仕様を開発するグラフィカルツールを使用します。
次の属性があります-
アプリケーションの表示を指定するグラフィックです。
プロセスを分割して、システムフローを明確に把握できるようにします。
これは物理的ではなく論理的です。つまり、システムの要素はベンダーやハードウェアに依存しません。
これは、高レベルの概要から低レベルの詳細まで機能するアプローチです。
構造化分析ツール
構造化分析では、システム開発にさまざまなツールや手法が使用されます。彼らは-
- データフロー図
- データディクショナリ
- デシジョンツリー
- デシジョンテーブル
- 構造化された英語
- Pseudocode
データフロー図(DFD)またはバブルチャート
これは、システムの要件をグラフィック形式で表現するためにLarryConstantineによって開発された手法です。
システムのさまざまな機能間のデータの流れを示し、現在のシステムがどのように実装されているかを指定します。
これは、要件仕様を最も低い詳細レベルに機能的に分割する設計フェーズの初期段階です。
そのグラフィカルな性質により、ユーザーとアナリスト、またはアナリストとシステム設計者の間の優れたコミュニケーションツールになります。
システムが処理するデータ、実行される変換、保存されるデータ、生成される結果、およびそれらが流れる場所の概要を示します。
DFDの基本要素
DFDは理解しやすく、必要な設計が明確でなく、ユーザーがコミュニケーションに表記言語を必要とする場合に非常に効果的です。ただし、最も正確で完全なソリューションを取得するには、多数の反復が必要です。
次の表に、DFDの設計に使用される記号とその重要性を示します。
シンボル名 | シンボル | 意味 |
---|---|---|
平方 |
|
データのソースまたは宛先 |
矢印 |
|
データフロー |
サークル |
|
データフローを変換するプロセス |
長方形を開く |
|
データストア |
DFDの種類
DFDには、物理DFDと論理DFDの2つのタイプがあります。次の表に、物理DFDと論理DFDを区別するポイントを示します。
物理DFD | 論理DFD |
---|---|
実装に依存します。実行される機能を示します。 | 実装に依存しません。プロセス間のデータの流れにのみ焦点を当てています。 |
ハードウェア、ソフトウェア、ファイル、および人の低レベルの詳細を提供します。 | システムのイベントと各イベントに必要なデータについて説明します。 |
これは、現在のシステムがどのように動作し、システムがどのように実装されるかを示しています。 | それはビジネスがどのように運営されているかを示しています。システムの実装方法ではありません。 |
コンテキスト図
コンテキスト図は、システムの概要を示す1つのDFDによってシステム全体を理解するのに役立ちます。それは、ほとんど詳細のない主要なプロセスに言及することから始まり、トップダウンアプローチでプロセスの詳細を提供することに続きます。
混乱管理のコンテキスト図を以下に示します。
データディクショナリ
データディクショナリは、システム内のデータ要素の構造化されたリポジトリです。すべてのDFDデータ要素の説明、つまり、データフロー、データストア、データストアに格納されているデータ、およびプロセスの詳細と定義が格納されます。
データディクショナリは、アナリストとユーザー間のコミュニケーションを改善します。データベースを構築する上で重要な役割を果たします。ほとんどのDBMSには、標準機能としてデータディクショナリがあります。たとえば、次の表を参照してください-
シニア番号 | データ名 | 説明 | 文字数 |
---|---|---|---|
1 | ISBN | ISBN番号 | 10 |
2 | 題名 | 題名 | 60 |
3 | サブ | 本の主題 | 80 |
4 | 名前 | 著者名 | 15 |
デシジョンツリー
デシジョンツリーは、デシジョンを記述し、コミュニケーションの問題を回避することにより、複雑な関係を定義する方法です。デシジョンツリーは、水平ツリーフレームワーク内の代替アクションと条件を示す図です。したがって、最初、2番目などに考慮する条件を示します。
デシジョンツリーは、各条件の関係とそれらの許容されるアクションを示します。四角いノードはアクションを示し、丸は条件を示します。これにより、アナリストは一連の決定を検討し、実際に行わなければならない決定を特定する必要があります。
デシジョンツリーの主な制限は、テストに使用できる条件の他の組み合わせを説明するための形式の情報が不足していることです。これは、条件とアクションの間の関係の単一の表現です。
たとえば、次の決定木を参照してください-
デシジョンテーブル
デシジョンテーブルは、複雑な論理関係を正確に記述し、簡単に理解できる方法です。
結果として生じるアクションが、独立した条件の1つまたは複数の組み合わせの発生に依存する状況で役立ちます。
これは、問題とアクションを定義するための1つまたは複数の行を含むマトリックスです。
デシジョンテーブルのコンポーネント
Condition Stub −チェックするすべての条件をリストするのは左上の象限にあります。
Action Stub −このような条件を満たすために実行されるすべてのアクションの概要を示すのは、左下の象限です。
Condition Entry −条件スタブ象限で尋ねられた質問への回答を提供するのは右上の象限にあります。
Action Entry −条件入力象限の条件への回答から生じる適切なアクションを示す、右下の象限にあります。
デシジョンテーブルのエントリは、条件の組み合わせと一連のアクションの間の関係を定義するデシジョンルールによって提供されます。ルールセクションでは、
- Yは条件の存在を示します。
- Nは、満たされていない条件を表します。
- 空白-アクションに対して、無視する必要があることを示します。
- 実行されるアクション状態に対するX(またはチェックマークが実行されます)。
たとえば、次の表を参照してください-
条件 | ルール1 | ルール2 | ルール3 | ルール4 |
---|---|---|---|---|
前払い | Y | N | N | N |
購入金額= Rs 10,000 /- | - | Y | Y | N |
常連客 | - | Y | N | - |
ACTIONS | ||||
5%割引 | バツ | バツ | - | - |
割引なし | - | - | バツ | バツ |
構造化された英語
構造英語は、プロセスのより理解しやすく正確な説明を提供する構造化プログラミング言語から派生しています。これは、アクションの操作を実行するように設計された構文と命令文を使用する手続き型ロジックに基づいています。
これは、プログラム内のシーケンスとループを考慮する必要があり、問題に決定を伴う一連のアクションが必要な場合に最適です。
厳密な構文規則はありません。これは、すべてのロジックを順次決定構造と反復の観点から表現します。
たとえば、次の一連のアクションを参照してください-
if customer pays advance
then
Give 5% Discount
else
if purchase amount >=10,000
then
if the customer is a regular customer
then Give 5% Discount
else No Discount
end if
else No Discount
end if
end if
擬似コード
擬似コードはどのプログラミング言語にも準拠しておらず、論理を平易な英語で表現しています。
物理設計中および設計後に実際のコーディングなしで物理プログラミングロジックを指定する場合があります。
構造化プログラミングと組み合わせて使用されます。
これは、プログラムのフローチャートを置き換えます。
適切なツールを選択するためのガイドライン
要件に最も適したツールを選択するには、次のガイドラインを使用してください-
優れたシステムドキュメントを提供するために、高レベルまたは低レベルの分析でDFDを使用します。
データディクショナリを使用して、システムのデータ要件を満たすための構造を簡素化します。
ループが多く、アクションが複雑な場合は、構造化された英語を使用してください。
チェックする条件が多数あり、ロジックが複雑な場合は、デシジョンテーブルを使用します。
条件の順序付けが重要であり、テストする条件が少ない場合は、決定木を使用します。