结构化分析
结构化分析
分析师使用各种工具来理解和描述信息系统。其中一种方法是使用结构化分析。
什么是结构化分析?
结构化分析是一种开发方法,它允许分析师以逻辑方式理解系统及其活动。
它是一种系统方法,它使用图形工具来分析和改进现有系统的目标,并开发出用户可以轻松理解的新系统规范。
它具有以下属性 –
-
它是指定应用程序呈现的图形。
-
它将进程划分为清晰的系统流程图。
-
它是逻辑的而不是物理的,即系统的元素不依赖于供应商或硬件。
-
这是一种从高级概述到低级细节的方法。
结构化分析工具
在结构化分析期间,各种工具和技术用于系统开发。他们是 –
- 数据流图
- 数据字典
- 决策树
- 决策表
- 结构化英语
- 伪代码
数据流图 (DFD) 或气泡图
它是由 Larry Constantine 开发的一种以图形形式表达系统需求的技术。
-
它显示了系统各种功能之间的数据流,并指定了当前系统的实现方式。
-
它是设计阶段的初始阶段,在功能上将需求规格划分为最低的细节级别。
-
它的图形特性使其成为用户与分析师或分析师与系统设计师之间的良好沟通工具。
-
它概述了系统处理哪些数据、执行了哪些转换、存储了哪些数据、产生了哪些结果以及它们流向何处。
DFD的基本要素
当所需的设计不明确并且用户想要一种符号语言进行交流时,DFD 很容易理解并且非常有效。但是,它需要大量的迭代才能获得最准确和完整的解决方案。
下表显示了用于设计 DFD 的符号及其重要性 –
Symbol Name | 象征 | 意义 |
---|---|---|
Square | 数据的来源或目的地 | |
Arrow | 数据流 | |
Circle | 流程转换数据流 | |
Open Rectangle | 数据存储 |
DFD的类型
DFD 有两种类型:物理 DFD 和逻辑 DFD。下表列出了区分物理 DFD 和逻辑 DFD 的要点。
Physical DFD | 逻辑DFD |
---|---|
It is implementation dependent. It shows which functions are performed. | 它是独立于实现的。它只关注进程之间的数据流。 |
It provides low level details of hardware, software, files, and people. | 它解释了系统的事件和每个事件所需的数据。 |
It depicts how the current system operates and how a system will be implemented. | 它展示了企业的运作方式;不是系统如何实施。 |
上下文图
上下文图有助于通过一个 DFD 来理解整个系统,它给出了系统的概述。它首先以很少的细节提及主要流程,然后使用自上而下的方法提供更多的流程细节。
混乱管理的上下文图如下所示。
数据字典
数据字典是系统中数据元素的结构化存储库。它存储所有 DFD 数据元素的描述,即数据流、数据存储、存储在数据存储中的数据和过程的详细信息和定义。
数据字典改善了分析师和用户之间的沟通。它在构建数据库中扮演着重要的角色。大多数 DBMS 都将数据字典作为标准功能。例如,请参阅下表 –
Sr.No. | 数据名称 | 描述 | 字符数 |
---|---|---|---|
1 | 国际标准书号 | ISBN 号 | 10 |
2 | 标题 | 标题 | 60 |
3 | 子 | 书籍主题 | 80 |
4 | 一个名字 | 作者姓名 | 15 |
决策树
决策树是一种通过描述决策和避免沟通中的问题来定义复杂关系的方法。决策树是一个图表,显示了水平树框架内的替代行动和条件。因此,它描述了首先要考虑的条件,其次,等等。
决策树描述了每个条件及其允许的操作之间的关系。方形节点表示动作,圆圈表示条件。它迫使分析师考虑决策的顺序并确定必须做出的实际决策。
决策树的主要限制是它缺乏格式信息来描述您可以采用哪些其他条件组合进行测试。它是条件和动作之间关系的单一表示。
例如,参考以下决策树 –
决策表
决策表是一种以易于理解的精确方式描述复杂逻辑关系的方法。
-
在结果操作取决于一个或多个独立条件组合的发生的情况下,它很有用。
-
它是一个包含用于定义问题和操作的行或列的矩阵。
决策表的组成部分
-
条件存根– 它位于左上象限,列出了所有要检查的条件。
-
动作存根– 它位于左下象限,概述了为满足此类条件而要执行的所有动作。
-
条件条目– 它位于右上象限,提供条件存根象限中提出的问题的答案。
-
动作条目– 它位于右下象限,表示由条件条目象限中的条件的答案产生的适当动作。
决策表中的条目由定义条件组合和行动过程之间关系的决策规则给出。在规则部分,
- Y 表示条件的存在。
- N 表示不满足的条件。
- 空白 – 反对行动表明它是被忽略的。
- X(或一个复选标记会做)反对行动表示要执行。
例如,请参阅下表 –
CONDITIONS | 规则1 | 规则 2 | 规则 3 | 规则 4 |
---|---|---|---|---|
Advance payment made | 是 | N | N | N |
Purchase amount = Rs 10,000/- | —— | 是 | 是 | N |
Regular Customer | —— | 是 | N | —— |
ACTIONS | ||||
Give 5% discount | X | X | —— | —— |
Give no discount | —— | —— | X | X |
结构化英语
结构英语源自结构化编程语言,它提供了更易于理解和精确的过程描述。它基于程序逻辑,使用构造和命令式语句来执行操作。
-
当必须考虑程序中的序列和循环并且问题需要带有决策的动作序列时,最好使用它。
-
它没有严格的语法规则。它根据顺序决策结构和迭代来表达所有逻辑。
例如,请参阅以下操作序列 –
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 以提供良好的系统文档。
-
使用数据字典来简化结构以满足系统的数据需求。
-
如果有很多循环并且动作很复杂,请使用结构化英语。
-
当要检查的条件很多且逻辑复杂时,请使用决策表。
-
当条件排序很重要并且要测试的条件很少时,请使用决策树。