软件工程第四章详细设计(wx).ppt
文本预览下载声明
1 Jackson图 Jackson为了表达程序中使用的数据结构,使用了与程序结构相同的三种基本结构形式,即顺序结构、选择结构和重复结构。使用这三种基本的数据结构表达方法,可以形成更复杂的数据结构。 1 Jackson图 Jackson图有以下优点: ⑴.便于表示层次结构,是对结构进行自顶向下分解的有力工具。 ⑵.形象直观,可读性好。 ⑶.能表示数据结构也能表示程序结构(因为程序结构也只有上述三种基本类型)。 ⑷.便于结构化程序设计,因为只使用了三种基本结构。 Jackson图和描绘软件结构的层次图非常相似,但两者表示的含义有本质的不同。层次图中的一个方框通常代表一个模块,模块上下级之间表示的是调用关系,通常一个模块除了调用下级模块外,还完成其他操作;而Jackson图表示的是组成关系,在描绘程序结构时,一个方框并不代表一个模块,通常一个方框只代表几个语句,上层方框中包括的操作仅仅由它下层框中的那些操作组成。 2 图解逻辑 Jackson为了将Jackson图表达的设计思想用语言形式准确的描述出来,使用了与Jackson图完全对应的3种基本结构相对应的图解逻辑。图解逻辑是一种描述算法过程的语言,实际上它是一种伪码。 与顺序结构相对应的Jackson图解逻辑,使用‘seq’和‘end’关键字: A seq do B; do C; do D; A end 2 图解逻辑 与选择结构相对应的Jackson图解逻辑,使用‘select’、‘or’和‘end’是关键字,其中cond1、cond2和cond3分别是执行B、C或D的条件: A select cond1 do B; or cond2 do C; or cond3 do D; A end 与重复结构相对应的Jackson图解逻辑,使用‘iter’、‘until’、‘while’和‘end’是关键字,其中cond是条件: A iter until(或while) cond do B; A end 3 JSP方法设计步骤 JSP设计方法分为五个步骤: 第1步:将数据结构化表示 。 第2步:找出输入数据结构与输出数据结构的对应关系 。 第3步:确定程序结构 。 以输出数据结构为基础,将描绘数据结构的Jackson图映射成描绘程序结构的Jackson图。映射遵从下面三条规则: ⑴.为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框。如果这对数据单元在输入数据结构和输出数据结构中所处的层次不同,则和它们对应的处理框在程序结构图中所处的层次与它们之中在数据结构图中层次低的那个对应。 3 JSP方法设计步骤 ⑵.在输入数据结构中有,但与输出数据结构没有对应关系的数据单元,在程序结构图的适当位置上画一个程序框。 ⑶.在输出数据结构中有,但与输入数据结构没有对应关系的数据单元,在程序结构图的适当位置上画一个程序框。 第4步:列出和分配可执行操作 。 第5步:用Jackson图解逻辑来表示程序 。 例 设计一个程序,要求统计一个正文文件里每个记录中空格字符的个数,以及文件中空格字符的总个数。已知正文文件是由若干个记录组成,每个记录是一个字符串,字符串是由若干字符组成,而字符可能是由空格和非空格字符组成;输出数据的表格格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。 4 JSP方法小结 JSP方法的基本思想是使程序结构与问题结构相对应,即与数据结构相对应。与传统的SD方法不同,JSP方法强调对问题解的组合而不是分解,而且两种方法有不同的出发点,一个是数据结构,一个是数据流。另外两种方法有不同的最终目的,SD方法得到的是软件结构的整体描述,JSP方法最后得到的程序过程描述实际上已接近详细过程描述。因此JSP方法的优点主要表现在以下几个方面: ⑴.数据结构表现的结构型式与问题的结构型式一致,因而易于理解。当问题发生局部性变化时也易于修改。 ⑵.数据结构是对问题环境的客观猫述,这样就不会依赖于设计者自身的经验,使软件系统的开发“有章可循”。 ⑶.对能导出树型数据结构一类问题的设计是行之有效的,特别适合于以数据为主,顺序文件的处理以及“计算”较简单的事务型数据处理系统。 4 JSP方法小结 在JSP方法中关键是要找出输入数据和输出数据之问的对应关系,但是在许多软件项目中输入数据和输出数据之问很少有或者没有结构上的对应关系,
显示全部