第六章面向数据结构的分析与设计.doc
文本预览下载声明
第6章 面向数据结构的分析与设计
除了第五章所述的面向数据流的需求分析方法外,还有一些在各自领域具有一定的优越性的方法,本章给出了面向数据结构的需求分析与设计方法,其典型方法有Jackson方法和Warnier方法,这类方法具有如下特点:
以信息对象及其操作为核心进行需求分析,与面向对象分析具有相似之处。
认为复合信息对象具有层次结构,并且可按顺序、选择、重复三种结构分解为成员信息对象。
提供对层次信息结构映射为程序结构的机制,从而为软件设计奠定良好的基础。
70年代早期,由英国M.Jackson提出了面向数据结构的软件开发方法,简称JSP。当时主要是总结了COBOL事务处理程序中的开发方法而发展起来的。这个方法的重点不是自顶向下逐步求精,而是建立在数据结构的基础上的一种构造性方法,根据输入输出数据的结构建立程序结构的对应关系。由Jackson提出的这种构造性的程序设计方法在欧洲较为流行,特别适合设计企业事业管理一类数据处理系统。构造是把方法分成不同步,正确地执行每一步时不必参考设计者尚未执行的其他步,在逐步求精方法中很难做到这一点,因为并非人人都能有良好的预见性,该技术方法有机地把人的主观直觉与现实世界的客观性结合起来。当然,Jackson方法还不能说是纯构造性的,还没有完全达到以上要求,只能说其特点是倾向构造性方法,该方法在70年代末又被Jackson扩充为JSD方法(Jackson System Development)。
6.1 Jackson图的定义
系统网络图SND
本方法中引入了系统网络图SND(system network diagram)来表示问题,SND常用于描述但也经常表示并发数据流的情况,它描述了程序对数据流的处理,再SND中用圆圈代表顺序数据流,用长方块代表程序。
图6-1 系统网络图SND
2)结构图
本方法引入了过程结构框图(Process Structure Diagram,PSD)的组合来表达系统的结构。过程结构框图是一种从左到右阅读的树状层次结构图。树状图底部的叶子节点称为基本成分,在底部枝干以上的节点称为结构成分。只有活动才能够成为叶子。在PSD中共有四种成分类型:
顺序成分D。一个顺序成分由一个或多个从左到右的成分组成。在图6-2中,成分D由成分A、成分B及成分C组成的序列组成。
图6-2 PSD中的顺序成分
选择成分D。如图6-3所示,其中被选择项成分A、成分B、成分C所处的矩形的右上角标以小圆。选择必须包含两个或者多个成分,并从中只能选取一个。也就是说,每一次选择或者是成分A或者是成分B或者是成分C从来不会同时出现成分A和成分B。选择从来都是“If Then Else”的结构,而且必须有两个或多个成分。如果需要一个“If A=B Then X Else do nothing”,那么就需要加入一个空成分。注意,逻辑条件必须包含在父成分D中。
图6-3 PSD中的选择成分
重复成分D。它仅仅由一个成分构成,如图6-4所示,在矩形右上角标上一个星号。和选择成分一样,条件逻辑必须包含在父成分D中。重复可以进行零次或者多次。
空成分。如图6-5所示,空操作或者空成分用一个矩形中的连字符表示。它用于选择中的一个成分为“空操作”选项,表示模型中的一个事件不会发生。
图6-4 PSD中的重复成分 图6-5 PSD中的空成分
3)结构文本
可以采用另一种形式来表示设计的系统结构,即用结构文本的方式。结构文本完全与PSD相对应。其形式如下:
·顺序结构文本
D Seq 顺序
A; 成分D是由一个成分A
B; 跟随一个成分B
C; 跟随一个成分C组成
D END 成分D是成分A、成分B、成分C的序列。
·选择结构文本
D Select 选择
Alt A; 成分D或是由一个成分A
Alt B; 或是由一个成分B
Alt C; 或是由一个成分C
D END 组成。
·重复结构文本
D Iter
显示全部