欢迎来到天天文库
浏览记录
ID:45077901
大小:412.34 KB
页数:14页
时间:2019-11-09
《SE9面向数据的分析及设计方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章面向数据的分析及设计方法软件工程面向数据的设计面向数据设计方法是基于软件所处理的有层次结构的数据信息来设计软件。面向数据设计方法淡化了软件结构的概念,主要借助一组有条不紊的步骤,确定单个模块或小规模(子)系统程序结构和处理过程的描述。因此,这一类方法适合于总体设计和详细设计“合而为一”的软件设计。面向数据的设计Jackson方法(JSD)Warnier方法(LCP)Jackson方法(JSD)Jackson方法,也称JSD(JacksonStructuredDesign)方法。程序=算法+数据结构,表明算法和数据结构
2、是程序设计中两个不可分割的侧面。算法的结构往往在很大程度上依赖于它要处理的数据结构。因此,由数据结构导出它的程序结构是Jackson方法的基本思想。Jackson图Jackson图既可以描述问题的数据结构,也可以描述软件的程序结构,其优点是便于表示层次结构,利于结构自顶向下分解,形象直观、可读性好。(a)顺序结构(b)选择结构(c)可选结构(d)重复结构Jackson图三种结构形式的示例BACDI(j)AB*S(i)BoDoACoBo—oAS(i)JSD方法设计步骤1.确定问题的输入和输出数据的逻辑结构,用Jackson图
3、描绘它们。2.找出输入数据结构和输出数据结构中对应关系的数据单元。3.根据下述三条规则从数据结构的Jackson图导出程序结构的Jackson图。①为每个有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框。JSD方法设计步骤②根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。③根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。4.列出所有的操作和条件,包括分支条件和循环条件,并把它们分配到程序结
4、构图的适当位置。5.用某种形式的伪码给出程序结构图对应的过程描述。JSD方法与DFA方法设计步骤图解Jackson方法(JSD)数据结构程序结构程序过程性描述(Jackson图)(Jackson图)(伪码)程序分析程序设计映射面向数据流分析的设计方法(DFA)问题结构软件结构各个模块的过程性描述(DFD图)(软件结构图)(过程描述工具)概要设计详细设计映射JSD方法设计示例设计一个“统计文件空格数和输出空格统计表”程序(a)输入数据结构(b)输出数据结构统计文件空格数的数据结构Jackson图I空格数字符串串信息*空格总数
5、表格体输出表格正文文件I字符串*非空格o空格o字符*SJSD方法设计示例统计文件空格数的程序结构Jackson图I(1)空格总数处理文件统计表格处理字符串*23167分析字符串分析字符串*I(2)打印空格数8打印字符串109125413处理非空格o处理空格o分析字符S(3)1113结构冲突:输入、输出很少或者不存在对应性解决方法:建立中间结构Warnier方法(LCP)Warnier方法,也称逻辑构造程序(LCP,LogicallyConstructedProgram)方法。LCP方法采用的描述工具是Warnier图。Wa
6、rnier图(Warnier-Orr图)是用花括号、伪代码、少量说明和符号组成的有层次的“树”形式描述数据,或者程序信息的逻辑结构(可以表示重复、条件、或、非等逻辑)。Warnier图(示例)1层2层3层4层空格(0或i次)字符⊕字符串(m次)非空格(0或j次)输入正文文件(k次)(0或1次)正文文件输入数据结构的Warnier图LCP方法设计步骤①分析和确定输入数据和输出数据的逻辑结构,用Warnier图描绘数据结构;②根据输入数据结构导出程序结构,并用Warnier图描述程序的处理层次;③将程序结构图改成程序流程图,并
7、自上而下依次给流程图的每个处理框编序号;④列出每个处理框的操作细节,分类写出伪码指令,得到的程序伪码序列,即为所设计程序的过程性描述。LCP方法设计示例从“统计正文文件空格数”程序的输入数据结构的Warnier图,导出程序处理层次的Warnier图开始(1次)处理(0或1次)处理(0或1次)结束(1次)程序开始(1次)字符串(k次)字符串(0或1次)结束(1次)开始(1次)字符(m次)结束(1次)开始(1次)空格(0或i次)⊕非空格(0或j次)结束(1次)
此文档下载收益归作者所有