软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt

上传人(卖家):罗嗣辉 文档编号:2046156 上传时间:2022-01-21 格式:PPT 页数:27 大小:466.50KB
下载 相关 举报
软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt_第1页
第1页 / 共27页
软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt_第2页
第2页 / 共27页
软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt_第3页
第3页 / 共27页
软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt_第4页
第4页 / 共27页
软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

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

2、小结小结复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程4/27 JSD方法简介方法简介 小结小结复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程5/27 总结了总结了COBOL事务处理程序中的开发方事务处理程序中的开发方法而发展起来的,特点:法而发展起来的,特点: 重点不是自顶向下逐步求精,而是在数据结构基础上进行构造 根据输入/输出的数据结构建立程序结构 目标:获得简单清晰的设计方案目标:获得简单清晰的设计方案 设计原则:使程序结构与问题结构设计原则:使程序结构与问题结构(数据数据结构结构)相对应相对应复旦大学计算机科学与工程系复

3、旦大学计算机科学与工程系 软件工程课程软件工程课程6/27 一般的数据处理系统处理的是具有层次结一般的数据处理系统处理的是具有层次结构的数据,因而其问题结构可以用它所处构的数据,因而其问题结构可以用它所处理的数据结构来表示理的数据结构来表示复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程7/27 JSP方法采用方法采用Jackson图来表示数据结图来表示数据结构和程序结构构和程序结构 结构图是一种从左到右阅读的树状层次结构图是一种从左到右阅读的树状层次结构图结构图 数据结构图中方框表示数据,程序结构图中方框就表示模块(过程或函数) 底部的叶子节点称为基本元素 在底

4、部枝干以上的节点称为结构元素 三种元素类型:顺序元素、选择元素、重复元素复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程8/27 一个顺序元素由一个或多个从左到右的一个顺序元素由一个或多个从左到右的元素组成元素组成 每个组成的元素只出现一次每个组成的元素只出现一次复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程9/27 选择是选择是“If Then Else”或或“Case”的结构,而且的结构,而且必须有两个或多个元素必须有两个或多个元素 使用选择元素时根据指定的条件从这些子元素中使用选择元素时根据指定的条件从这些子元素中选择一个子元

5、素选择一个子元素 供选择的子元素用右上角标以小圆的矩形表示供选择的子元素用右上角标以小圆的矩形表示 示例:左图中A、B、C是D的可选项,而S是选择条件 如果需要一个如果需要一个“If A=B Then X Else do nothing”那么需要加入一个空元素那么需要加入一个空元素 示例:右图 中空元素用一个标有连字符的矩形表示复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程10/27 重复元素仅由一个子元素构成,表示重重复元素仅由一个子元素构成,表示重复元素由子元素重复复元素由子元素重复0次或多次组成次或多次组成 子元素用右上角标以星号的矩形表示子元素用右上角标

6、以星号的矩形表示 下图表示元素下图表示元素D由元素由元素A重复重复0次或多次次或多次组成,其中组成,其中I是重复条件是重复条件复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程11/27 结构正文又称伪码,完全与结构图相对应结构正文又称伪码,完全与结构图相对应 分为:顺序结构正文、选择结构正文、重分为:顺序结构正文、选择结构正文、重复结构正文复结构正文 顺序结构正文顺序结构正文D Seq 顺序顺序 A; 元素元素D是由一个元素是由一个元素A B; 跟随一个元素跟随一个元素B C; 跟随一个元素跟随一个元素C组成组成D END 元素元素D是元素是元素A、元素、元素B、

7、元素、元素C的序列的序列复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程12/27选择结构正文选择结构正文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 END 元素元素D 是元素是元素A的重

8、复的重复或或 D Iter while cond A; 元素元素D是由是由0至多个元素至多个元素A组成组成D END cond为循环条件为循环条件复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程13/27复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程14/27例例6.2:一个正文文件由若干个记录组成,:一个正文文件由若干个记录组成,每个记录是一个字符串,要求统计每个记每个记录是一个字符串,要求统计每个记录中空格个数,以及文件中空格的总数。录中空格个数,以及文件中空格的总数。要求输出的格式是:每复制一行输入字符要求输出的格式是:每复制

9、一行输入字符串后,另起一行输出该字符串中的空格数,串后,另起一行输出该字符串中的空格数,最后输出文件空格的总数最后输出文件空格的总数复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程15/27 第第1步步.分析并确定输入和输出数据结构的分析并确定输入和输出数据结构的逻辑结构,并用逻辑结构,并用Jackson图画出图画出复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程16/27 第第2步步.找出输入数据结构与输出数据结构找出输入数据结构与输出数据结构中有对应关系的数据元素中有对应关系的数据元素有对应关系是指有直接因果关系,即在程序中可以同

10、时处理的数据元素对于表示“重复”的数据元素,只有其重复次数和次序都相同时才有对应关系输入/输出数据结构最高层次的两个数据元素总是有对应关系的复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程17/27 第第3步步.从描述数据结构的从描述数据结构的Jackson图导出图导出描述程序结构的描述程序结构的Jackson图,导出规则:图,导出规则: 有对应关系的数据元素,按照它们在数据结构图中的层次在程序结构图的相应层次上画一个处理框(如果它们在输入和输出图中的层次不同,则程序结构图中处理框层次与较低的那个对应 为输入数据结构图中剩余的每个数据元素,在程序结构图的相应层次上

11、画一个处理框, 在模块名称上增加“分析”或“处理”或取一个具有实际含义的名称 为输出数据结构图中剩余的每个数据元素,在程序结构图的相应层次上画上一个处理框复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程18/27 程序结构图导出结果程序结构图导出结果复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程19/27 第第4步步.列出所有操作和条件,并将它列出所有操作和条件,并将它们分配到程序结构图的适当位置们分配到程序结构图的适当位置 首先从输出操作开始,再回到输入操作 加入必须的与条件有关的操作 最后把每个操作都分配到程序结构中去复旦大学计

12、算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程20/27设变量设变量sum存放一行字符串中的空格数;存放一行字符串中的空格数;totalsum存放空格总数;存放空格总数;pointer用来指示当前分析的字符用来指示当前分析的字符在字符串中的位置,可列出其所有操作,并对其在字符串中的位置,可列出其所有操作,并对其编号如下:编号如下:停止停止 打开文件打开文件 关闭文件关闭文件 打印字符串打印字符串 打印空格数打印空格数 打印空格总数打印空格总数 sum:=sum+1 totalsum:=totalsum+1 读入字符串读入字符串 sum:=013121113 totalsu

13、m:=0 pointer:=1 pointer:=pointer+1条件列表如下:条件列表如下:I(1):文件结束:文件结束I(2):字符串结束:字符串结束S(3):字符是空格:字符是空格将条件与相应的循环条件关联,并将将条件与相应的循环条件关联,并将 操作操作按次序与相当的模块进行关联,按从左至右决定按次序与相当的模块进行关联,按从左至右决定先后顺序,关联后的程序结构图先后顺序,关联后的程序结构图 13121113复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程21/27 第第5步步.把带有把带有操作的程序结操作的程序结构图转换成结构图转换成结构正文,同时构正文

14、,同时加入选择及迭加入选择及迭代条件代条件统计空格统计空格 seq打开文件打开文件读入字符串读入字符串totalsum := 0程序体程序体 iter until 文件结束文件结束 处理字符串处理字符串 seq 印字符串印字符串 seq 打印字符串打印字符串 印字符串印字符串 end sum := 0 pointer := 1 分析字符串分析字符串 iter until 字符串结束字符串结束 分析字符分析字符 select 字符是空格字符是空格 处理空格处理空格 seq sum := sum + 1 pointer := pointer + 1 处理空格处理空格 end 分析字符分析字符 or

15、 字符不是空格字符不是空格 处理非空格处理非空格 seq pointer := pointer + 1 处理非空格处理非空格 end 分析字符分析字符 end 分析字符串分析字符串 end 印空格数印空格数 seq 打印空格数打印空格数 印空格数印空格数 end totalsum := totalsum + 1 读入字符串读入字符串 处理字符串处理字符串 end程序体程序体 end印空格总数印空格总数 seq 打印空格总数打印空格总数印空格总数印空格总数 end关闭文件关闭文件停止停止统计空格统计空格 end复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程22/2

16、7 简单、易学、形象直观、可读性好简单、易学、形象直观、可读性好 便于表示层次结构便于表示层次结构 适用于小型数据处理系统适用于小型数据处理系统复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程23/27 JSP方法方法 小结小结复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程24/27 JSP广泛使用十多年后,广泛使用十多年后,Jackson把它进把它进行了扩充,不再局限于中小规模范围的问行了扩充,不再局限于中小规模范围的问题及顺序范围,新的开发方法称为题及顺序范围,新的开发方法称为JSD JSD覆盖了整个系统的分析到实现覆盖了整个系

17、统的分析到实现 JSD的本质:先建立一个现实模型,然后的本质:先建立一个现实模型,然后加入功能性处理,最后阶段逻辑系统才转加入功能性处理,最后阶段逻辑系统才转换为实际设计换为实际设计复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程25/27 标识实体与行为:建立现实的模型,列出与系统有关的实标识实体与行为:建立现实的模型,列出与系统有关的实体表及活动表体表及活动表 生成实体结构图:分析实体表中实体之间的关系,形成实生成实体结构图:分析实体表中实体之间的关系,形成实体结构图体结构图 创造软件系统模型:根据现实世界,对实体与行为的组合创造软件系统模型:根据现实世界,对

18、实体与行为的组合建立进程模型建立进程模型 扩充功能性过程:说明系统输出的功能,必要时在规格说扩充功能性过程:说明系统输出的功能,必要时在规格说明中加入附加的处理明中加入附加的处理 施加时间控制:开发者考虑进程调度的某些特征,这些特施加时间控制:开发者考虑进程调度的某些特征,这些特征可能影响系统功能所输出的结果的正确性及时间关系征可能影响系统功能所输出的结果的正确性及时间关系 实现:开发者考虑运行系统的软硬件方面的问题,采用变实现:开发者考虑运行系统的软硬件方面的问题,采用变换技术、调度技术、数据库定义技术等,以使系统能有效换技术、调度技术、数据库定义技术等,以使系统能有效地运行地运行复旦大学计

19、算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程26/27 JSP方法方法 JSD方法简介方法简介复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程27/27 面向数据结构的分析和设计方法是以数据面向数据结构的分析和设计方法是以数据结构为中心,从输入结构为中心,从输入/输出的数据结构导输出的数据结构导出程序结构出程序结构 由于这种方法在国内用得比较少,因此只由于这种方法在国内用得比较少,因此只作了简单介绍,主要是通过一个实例来介作了简单介绍,主要是通过一个实例来介绍绍JSP方法,使读者对这种方法有一个大方法,使读者对这种方法有一个大致的了解致的了解

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(软件工程课件:6%-第06章 面向数据结构的分析与设计.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|