第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt

上传人:rrsccc 文档编号:9561197 上传时间:2021-03-06 格式:PPT 页数:27 大小:468.50KB
返回 下载 相关 举报
第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt_第1页
第1页 / 共27页
第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt_第2页
第2页 / 共27页
第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt_第3页
第3页 / 共27页
第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt_第4页
第4页 / 共27页
第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt》由会员分享,可在线阅读,更多相关《第06章 软件工程(钱乐秋)面向数据结构的分析与设计.ppt(27页珍藏版)》请在三一文库上搜索。

1、软件工程,第6章 面向数据结构的分析与设计,复旦大学计算机科学与工程系 软件工程课程,2/27,面向数据结构的需求分析与设计,典型方法有Jackson方法和Warnier方法 主要特点: 以信息对象及其操作为核心进行需求分析 认为复合信息对象具有层次结构,并且可按顺序、选择、重复三种结构分解为成员信息对象 提供由层次信息结构映射为程序结构的机制,从而为软件设计奠定良好的基础 JSP:Jackson结构程序设计方法 JSD:Jackson系统开发方法,复旦大学计算机科学与工程系 软件工程课程,3/27,内容摘要,JSP方法 JSD方法简介 小结,复旦大学计算机科学与工程系 软件工程课程,4/27

2、,内容摘要,JSP方法 JSD方法简介 小结,复旦大学计算机科学与工程系 软件工程课程,5/27,JSP方法,总结了COBOL事务处理程序中的开发方法而发展起来的,特点: 重点不是自顶向下逐步求精,而是在数据结构基础上进行构造 根据输入/输出的数据结构建立程序结构 目标:获得简单清晰的设计方案 设计原则:使程序结构与问题结构(数据结构)相对应,复旦大学计算机科学与工程系 软件工程课程,6/27,数据结构和程序结构,一般的数据处理系统处理的是具有层次结构的数据,因而其问题结构可以用它所处理的数据结构来表示,复旦大学计算机科学与工程系 软件工程课程,7/27,数据结构与程序结构的表示,JSP方法采

3、用Jackson图来表示数据结构和程序结构 结构图是一种从左到右阅读的树状层次结构图 数据结构图中方框表示数据,程序结构图中方框就表示模块(过程或函数) 底部的叶子节点称为基本元素 在底部枝干以上的节点称为结构元素 三种元素类型:顺序元素、选择元素、重复元素,复旦大学计算机科学与工程系 软件工程课程,8/27,顺序元素,一个顺序元素由一个或多个从左到右的元素组成 每个组成的元素只出现一次,复旦大学计算机科学与工程系 软件工程课程,9/27,选择元素,选择是“If Then Else”或“Case”的结构,而且必须有两个或多个元素 使用选择元素时根据指定的条件从这些子元素中选择一个子元素 供选择

4、的子元素用右上角标以小圆的矩形表示 示例:左图中A、B、C是D的可选项,而S是选择条件 如果需要一个“If A=B Then X Else do nothing”那么需要加入一个空元素 示例:右图 中空元素用一个标有连字符的矩形表示,复旦大学计算机科学与工程系 软件工程课程,10/27,重复元素,重复元素仅由一个子元素构成,表示重复元素由子元素重复0次或多次组成 子元素用右上角标以星号的矩形表示 下图表示元素D由元素A重复0次或多次组成,其中I是重复条件,复旦大学计算机科学与工程系 软件工程课程,11/27,结构正文的表示形式-1,结构正文又称伪码,完全与结构图相对应 分为:顺序结构正文、选择

5、结构正文、重复结构正文 顺序结构正文 D Seq 顺序 A; 元素D是由一个元素A B; 跟随一个元素B C; 跟随一个元素C组成 D END 元素D是元素A、元素B、元素C的序列,复旦大学计算机科学与工程系 软件工程课程,12/27,结构正文的表示形式-2,选择结构正文 D Select cond1 选择 A 元素D或是由一个元素A Or cond2 B 或是由一个元素B Or cond3 C 或是由一个元素C组成 D END cond1、cond2、cond3分别是选择A,B,C的条件 重复结构正文 D Iter until cond 重复 A; 元素D是由1个或多个元素A组成。 D EN

6、D 元素D 是元素A的重复 或 D Iter while cond A; 元素D是由0至多个元素A组成 D END cond为循环条件,复旦大学计算机科学与工程系 软件工程课程,13/27,示例:打印表格程序的输出数据结构和对应的程序结构,复旦大学计算机科学与工程系 软件工程课程,14/27,JSP方法的分析和设计步骤-1,例6.2:一个正文文件由若干个记录组成,每个记录是一个字符串,要求统计每个记录中空格个数,以及文件中空格的总数。 要求输出的格式是:每复制一行输入字符串后,另起一行输出该字符串中的空格数,最后输出文件空格的总数,复旦大学计算机科学与工程系 软件工程课程,15/27,JSP方

7、法的分析和设计步骤-2,第1步.分析并确定输入和输出数据结构的逻辑结构,并用Jackson图画出,复旦大学计算机科学与工程系 软件工程课程,16/27,JSP方法的分析和设计步骤-3,第2步.找出输入数据结构与输出数据结构中有对应关系的数据元素 有对应关系是指有直接因果关系,即在程序中可以同时处理的数据元素 对于表示“重复”的数据元素,只有其重复次数和次序都相同时才有对应关系 输入/输出数据结构最高层次的两个数据元素总是有对应关系的,复旦大学计算机科学与工程系 软件工程课程,17/27,JSP方法的分析和设计步骤-4,第3步.从描述数据结构的Jackson图导出描述程序结构的Jackson图,

8、导出规则: 有对应关系的数据元素,按照它们在数据结构图中的层次在程序结构图的相应层次上画一个处理框(如果它们在输入和输出图中的层次不同,则程序结构图中处理框层次与较低的那个对应 为输入数据结构图中剩余的每个数据元素,在程序结构图的相应层次上画一个处理框, 在模块名称上增加“分析”或“处理”或取一个具有实际含义的名称 为输出数据结构图中剩余的每个数据元素,在程序结构图的相应层次上画上一个处理框,复旦大学计算机科学与工程系 软件工程课程,18/27,JSP方法的分析和设计步骤-5,程序结构图导出结果,复旦大学计算机科学与工程系 软件工程课程,19/27,JSP方法的分析和设计步骤-6,第4步.列出

9、所有操作和条件,并将它们分配到程序结构图的适当位置 首先从输出操作开始,再回到输入操作 加入必须的与条件有关的操作 最后把每个操作都分配到程序结构中去,复旦大学计算机科学与工程系 软件工程课程,20/27,JSP方法的分析和设计步骤-7,设变量sum存放一行字符串中的空格数;totalsum存放空格总数;pointer用来指示当前分析的字符在字符串中的位置,可列出其所有操作,并对其编号如下: 停止 打开文件 关闭文件 打印字符串 打印空格数 打印空格总数 sum:=sum+1 totalsum:=totalsum+1 读入字符串 sum:=013121113 totalsum:=0 point

10、er:=1 pointer:=pointer+1 条件列表如下: I(1):文件结束 I(2):字符串结束 S(3):字符是空格 将条件与相应的循环条件关联,并将 操作按次序与相当的模块进行关联,按从左至右决定先后顺序,关联后的程序结构图,复旦大学计算机科学与工程系 软件工程课程,21/27,JSP方法的分析和设计步骤-8,第5步.把带有操作的程序结构图转换成结构正文,同时加入选择及迭代条件,统计空格 seq 打开文件 读入字符串 totalsum := 0 程序体 iter until 文件结束 处理字符串 seq 印字符串 seq 打印字符串 印字符串 end sum := 0 point

11、er := 1 分析字符串 iter until 字符串结束 分析字符 select 字符是空格 处理空格 seq sum := sum + 1 pointer := pointer + 1 处理空格 end 分析字符 or 字符不是空格 处理非空格 seq pointer := pointer + 1 处理非空格 end 分析字符 end 分析字符串 end 印空格数 seq 打印空格数 印空格数 end totalsum := totalsum + 1 读入字符串 处理字符串 end 程序体 end 印空格总数 seq 打印空格总数 印空格总数 end 关闭文件 停止 统计空格 end,复

12、旦大学计算机科学与工程系 软件工程课程,22/27,JSP方法的特点,简单、易学、形象直观、可读性好 便于表示层次结构 适用于小型数据处理系统,复旦大学计算机科学与工程系 软件工程课程,23/27,内容摘要,JSP方法 JSD方法简介 小结,复旦大学计算机科学与工程系 软件工程课程,24/27,JSD方法,JSP广泛使用十多年后,Jackson把它进行了扩充,不再局限于中小规模范围的问题及顺序范围,新的开发方法称为JSD JSD覆盖了整个系统的分析到实现 JSD的本质:先建立一个现实模型,然后加入功能性处理,最后阶段逻辑系统才转换为实际设计,复旦大学计算机科学与工程系 软件工程课程,25/27

13、,JSD方法步骤,标识实体与行为:建立现实的模型,列出与系统有关的实体表及活动表 生成实体结构图:分析实体表中实体之间的关系,形成实体结构图 创造软件系统模型:根据现实世界,对实体与行为的组合建立进程模型 扩充功能性过程:说明系统输出的功能,必要时在规格说明中加入附加的处理 施加时间控制:开发者考虑进程调度的某些特征,这些特征可能影响系统功能所输出的结果的正确性及时间关系 实现:开发者考虑运行系统的软硬件方面的问题,采用变换技术、调度技术、数据库定义技术等,以使系统能有效地运行,复旦大学计算机科学与工程系 软件工程课程,26/27,内容摘要,JSP方法 JSD方法简介 小结,复旦大学计算机科学与工程系 软件工程课程,27/27,小结,面向数据结构的分析和设计方法是以数据结构为中心,从输入/输出的数据结构导出程序结构 由于这种方法在国内用得比较少,因此只作了简单介绍,主要是通过一个实例来介绍JSP方法,使读者对这种方法有一个大致的了解,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1