6详细设计3jackson.ppt
1,复习,过程设计的图形工具图形工具:流程图、N_S图(盒图)、问题分析图(PAD图)表格工具:判定表、判定树语言工具:过程设计语言(PDL),2,内容,面向数据结构的设计方法,3,6.4 面向数据结构的设计方法,数据结构既影响程序的结构又影响程序的处理过程。面向数据结构的设计方法的最终目标:是得出对程序处理过程的描述。这种方法不明显使用软件结构的概念,模块是设计过程的副产品,对于模块独立原理也没有给予应有的重视。适合于在详细设计阶段使用它来设计每个模块的处理过程。,4,6.4 面向数据结构的设计方法,面向数据结构的设计方法是按输入、输出以及计算机内部存储信息的数据结构进行软件结构设计,把对数据结构的描述变换为对软件结构的描述。面向数据结构的设计方法,首先需要分析确定数据结构,并且用适当的工具清晰地描绘数据结构。最著名的面向数据结构的设计方法:Jackson方法和Warnier方法。,5,6.4.1 Jackson图,描绘逻辑数据的基本结构:,6,6.4.1 Jackson图,Jackson图与层次图的区别方框不代表模块,通常一个方框只代表几个语句层次图表现的是调用关系,通常一个模块调用下级模块外,还完成其他操作;而Jackson图表现的是组成关系,即一个方框中包括的操作仅仅由它下层框中的那些操作组成。,7,6.4.2 Jackson方法,步骤:1分析并确定输入数据、输出数据的逻辑结构,并用Jackson图描绘这些数据结构。2找出输入数据结构和输出数据结构中有对应关系的数据单元。有对应关系:是指有直接的因果关系。对于重复出现的数据单元,必须重复的次序和次数都相同才可能有对应关系。,8,6.4.2 Jackson方法,3用下述三条规则从描绘数据结构的Jackson图中导出描绘程序结构的Jackson图。(1)为每对有对应关系的数据单元,按照其在数据结构图中的层次在程序结构图的相应层次画一个处理框。注意:若输入和输出中所处的层次不同按层次低的对应画一个处理框。(2)为输入数据结构中剩余的每个数据单元在程序结构图的相应层次画上处理框。(3)为输出数据结构中剩余的每个数据单元在程序结构图的相应层次画上处理框。,9,6.4.2 Jackson方法,4列出所有操作和条件(包括分支条件和循环结束条件),并把它们分配到程序结构图的适当位置。5用伪码表示程序。,A seq A select cond1 A iter until 或while cond B B C or cond2 D C B or cond3 end A D end A end A(a)顺序(b)选择(c)重复,10,Jackson程序设计-例1,高考后将考生的基本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)全并成一个新文件。,11,1分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。,12,2找出输入数据结构和输出数据结构中有对应关系的数据单元。,13,3从数据结构图导出程序结构图。,14,4列出所有操作和条件,并且把它们分配到程序结构图的适当位置。,15,Jackson程序设计-例2,用Jackson方法对学生成绩管理进行设计。,16,1分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。2找出输入数据结构和输出数据结构中有对应关系的数据单元。,17,3从数据结构图导出程序结构图。,18,19,4列出所有操作和条件(包括分支和循环条件),并把它们分配到程序结构图的适当位置。sum1:对所有学生都执行一次sum2:总评成绩不及格人数sum3:留级人数,20,Jackson程序设计-例3,例:信用卡报账系统(补充)某商店开展信用卡购物业务,建立两个帐目:付款帐目和用户总帐目。前者记录了每位用户每次付款的日期和金额,由用户帐号、日期和交易金额组成,后者记录了用户的存款余额。这两个帐目都是按照用户帐号进行登录的。店方每隔一段时间都要根据上述两个帐目产生会计报告,包括账号、日期、交易金额、旧余额、新余额的等,见下表:,21,例:信用卡报账系统(补充),付款账目,用户总账目,会计报告,22,例:信用卡报账系统(补充),输入数据 输出数据,23,例:信用卡报账系统(补充),程序结构,24,补充:,详细设计阶段撰写数据库设计说明书详细设计说明书,25,本章总结,详细设计的任务用户界面设计设计问题、设计过程、设计指南过程设计的图形工具流程图、N_S图、PAD图、判定表、判定树、PDL面向数据结构的设计方法Jackson图Jackson方法(步骤),