Jackson设计方法和JACKSON分析方法
方法概要
1975年,M.A.Jackson提出了一类至今仍广泛使用的软件开发方法。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方法结合,用于模块的详细设计。
Jackson方法有时也称为面向数据结构的软件设计方法。
1
分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构
分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。
2
找出输入数据结构和输出数据结构中有对应关系的数据单元
找出输入数据结构和输出数据结构中有对应关系的数据单元。
3
按既定规则由输入、输出的数据结构导出程序结构
规则一:对每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框。
规则二:根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。
规则三:根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。
4
列出基本操作与条件,并把它们分配到程序结构图的适当位置
列出基本操作与条件,并把它们分配到程序结构图的适当位置
5
用伪码写出程序
与三种基本结构对应的伪码是:
顺序结构:
A seq
B
C
D
A end
选择结构:
A select cond1
B
A or cond2
C
A or cond3
D
A end
重复结构:
A iter until (或while) cond
B
A end
示例:
图中的“O”表示选择,“*”表示重复;在顺序结构中,表示A由B和C两部分组成;在选择结构中,表示A可以包古B或c;在循环结构中,表示A由B重复H次组成。
Jackson图具有如下优点:
(1) 便于表示层次结构,是对结构进行自顶向下分解的有力工具。
(2) 形象直观可读性好。
(3) 既能表示数据结构也能表示程序结构(因为程序结构也只有上述三种基本类型)。
缺点是:
用这种图形工具表示选择或重复结构时,选择条件或循环结束条件不能直接在图上表示出来,影响了图的表达能力,也不易直接把图翻译成程序,此外,框间连线为斜线,不易在行式打印机上输出.为了解决上述问题,我们建议使用改进的Jackson图.
面向数据流的分析方法
1975年,英国人M.A.Jackson提出了软件工程领域中著名的Jackson方法,当时它只用于软件设计。1983
年,Jackson又对它进行了多方面的扩充和完善,最终发展成为一种需求分析方法。其核心思想是:根据作用于数据的行为序列的结构(顺序、选择、重复),建立目标软件系统的模型,然后在软件设计阶段将模型转换为相应的程序结构 。
Jackson方法在需求分析阶段的主要步骤是:
(1)标识实体与行为。
(2)生成实体结构图。
(3)创建软件系统模型。
类似于面向对象分析中对象及其行为的识别,Jackson方法针对初步需求分析形成的用户需求描述进行语法分析:
名词及名词短语——潜在的实体,
相关的动词——构成实体的潜在行为。
分析人员根据应用问题的边界及自己的理解,决定对潜在实体和行为的取舍。
在Jackson方法中,实体结构是指实体在时间坐标系中的行为序列。这种序列以顺序、选择和重复三种结构
进行复合。Jackson给出的实体结构图的表示机制如图所示。其中的子结点既可以是行为,也可以是
子实体。在后一种情况下,子实体应该继续分解,不能作为实体结构图的叶结点。
参见:
http://211.64.47.133/web/kcghjs/wwb_rjgc/subject/kejian/7.pdf 面向数据的分析方法