软件工程第6章-面向数据结构的分析与设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件工程第6章面向数据结构的分析与设计复旦大学计算机科学技术学院软件工程(第二版)面向数据结构的需求分析与设计•主要特点:–以信息对象及其操作为核心进行需求分析–认为复合信息对象具有层次结构,并且可按顺序、选择、重复三种结构分解为成员信息对象–提供由层次信息结构映射为程序结构的机制,从而为软件设计奠定良好的基础•JSP:Jackson结构程序设计方法•JSD:Jackson系统开发方法2复旦大学计算机科学技术学院软件工程(第二版)内容摘要•JSP方法•JSD方法简介•小结3复旦大学计算机科学技术学院软件工程(第二版)内容摘要•JSP方法•JSD方法简介•小结4复旦大学计算机科学技术学院软件工程(第二版)JSP方法•总结了COBOL事务处理程序中的开发方法而发展起来的,特点:–重点不是自顶向下逐步求精,而是在数据结构基础上进行构造–根据输入/输出的数据结构建立程序结构•目标:获得简单清晰的设计方案•设计原则:使程序结构与问题结构(数据结构)相对应5复旦大学计算机科学技术学院软件工程(第二版)数据结构和程序结构•一般的数据处理系统处理的是具有层次结构的数据,因而其问题结构可以用它所处理的数据结构来表示6复旦大学计算机科学技术学院软件工程(第二版)数据结构与程序结构的表示•JSP方法采用Jackson图来表示数据结构和程序结构•Jackson图是一种从左到右阅读的树状层次结构图–数据结构图中方框表示数据,程序结构图中方框就表示模块(过程或函数)–底部的叶子节点称为基本元素–在底部枝干以上的节点称为结构元素–三种元素类型:顺序元素、选择元素、重复元素7复旦大学计算机科学技术学院软件工程(第二版)顺序元素•一个顺序元素由一个或多个从左到右的元素组成•每个组成的元素只出现一次8复旦大学计算机科学技术学院软件工程(第二版)选择元素•选择是“IfThenElse”或“Case”的结构,而且必须有两个或多个元素•使用选择元素时根据指定的条件从这些子元素中选择一个子元素•供选择的子元素用右上角标以小圆的矩形表示–示例:左图中A、B、C是D的可选项,而S是选择条件•如果需要一个“IfA=BThenXElsedonothing”那么需要加入一个空元素–示例:右图中空元素用一个标有连字符的矩形表示9复旦大学计算机科学技术学院软件工程(第二版)重复元素•重复元素仅由一个子元素构成,表示重复元素由子元素重复0次或多次组成•子元素用右上角标以星号的矩形表示•下图表示元素D由元素A重复0次或多次组成,其中I是重复条件10复旦大学计算机科学技术学院软件工程(第二版)结构正文的表示形式-1•结构正文又称伪码,完全与结构图相对应•分为:顺序结构正文、选择结构正文、重复结构正文•顺序结构正文DSeq顺序A;元素D是由一个元素AB;跟随一个元素BC;跟随一个元素C组成DEND元素D是元素A、元素B、元素C的序列11复旦大学计算机科学技术学院软件工程(第二版)结构正文的表示形式-2•选择结构正文DSelectcond1选择A元素D或是由一个元素AOrcond2B或是由一个元素BOrcond3C或是由一个元素C组成DENDcond1、cond2、cond3分别是选择A,B,C的条件12复旦大学计算机科学技术学院软件工程(第二版)结构正文的表示形式-3•重复结构正文DIteruntilcond重复A;元素D是由1或多个元素A组成DEND元素D是元素A的重复或者DIterwhilecond重复A;元素D是由0至多个元素A组成DENDcond为循环条件13复旦大学计算机科学技术学院软件工程(第二版)示例:打印表格程序的输出数据结构和对应的程序结构14复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-1例:一个正文文件由若干个记录组成,每个记录是一个字符串,要求统计每个记录中空格个数,以及文件中空格的总数。要求输出的格式是:每复制一行输入字符串后,另起一行输出该字符串中的空格数,最后输出文件空格的总数15复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-2•第1步.分析并确定输入和输出数据结构的逻辑结构,并用Jackson图画出16复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-3•第2步.找出输入数据结构与输出数据结构中有对应关系的数据元素–有对应关系是指有直接因果关系,即在程序中可以同时处理的数据元素–对于表示“重复”的数据元素,只有其重复次数和次序都相同时才有对应关系–输入/输出数据结构最高层次的两个数据元素总是有对应关系的17复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-4•第3步.从描述数据结构的Jackson图导出描述程序结构的Jackson图,导出规则:–有对应关系的数据元素,按照它们在数据结构图中的层次在程序结构图的相应层次上画一个处理框(如果它们在输入和输出图中的层次不同,则程序结构图中处理框层次与较低的那个对应–为输入数据结构图中剩余的每个数据元素,在程序结构图的相应层次上画一个处理框,在模块名称上增加“分析”或“处理”或取一个具有实际含义的名称–为输出数据结构图中剩余的每个数据元素,在程序结构图的相应层次上画上一个处理框18复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-5•导出的程序结构图19复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-6•第4步.列出所有操作和条件,并将它们分配到程序结构图的适当位置–首先从输出操作开始,再回到输入操作–加入必须的与条件有关的操作–最后把每个操作都分配到程序结构中去20复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-713121113设变量sum存放一行字符串中的空格数;totalsum存放空格总数;pointer用来指示当前分析的字符在字符串中的位置,可列出其所有操作,并对其编号如下:①停止②打开文件③关闭文件④打印字符串⑤打印空格数⑥打印空格总数⑦sum:=sum+1⑧totalsum:=totalsum+1⑨读入字符串⑩sum:=013121113totalsum:=0pointer:=1pointer:=pointer+1条件列表如下:I(1):文件结束I(2):字符串结束S(3):字符是空格将条件与相应的循环条件关联,并将①~操作按次序与相当的模块进行关联,按从左至右决定先后顺序,关联后的程序结构图21复旦大学计算机科学技术学院软件工程(第二版)JSP方法的分析和设计步骤-8•第5步.把带有操作的程序结构图转换成结构正文,同时加入选择及迭代条件统计空格seq打开文件读入字符串totalsum:=0程序体iteruntil文件结束处理字符串seq印字符串seq打印字符串印字符串endsum:=0pointer:=1分析字符串iteruntil字符串结束分析字符select字符是空格处理空格seqsum:=sum+1pointer:=pointer+1处理空格end分析字符or字符不是空格处理非空格seqpointer:=pointer+1处理非空格end分析字符end分析字符串end印空格数seq打印空格数印空格数endtotalsum:=totalsum+1读入字符串处理字符串end程序体end印空格总数seq打印空格总数印空格总数end关闭文件停止统计空格end22复旦大学计算机科学技术学院软件工程(第二版)JSP方法的特点•简单、易学、形象直观、可读性好•便于表示层次结构•适用于小型数据处理系统23复旦大学计算机科学技术学院软件工程(第二版)内容摘要•JSP方法•JSD方法简介•小结24复旦大学计算机科学技术学院软件工程(第二版)JSD方法•JSP广泛使用十多年后,Jackson把它进行了扩充,不再局限于中小规模范围的问题及顺序范围,新的开发方法称为JSD•JSD覆盖了整个系统的分析到实现•JSD的本质:先建立一个现实模型,然后加入功能性处理,最后阶段,逻辑系统才转换为实际设计25复旦大学计算机科学技术学院软件工程(第二版)JSD方法步骤•标识实体与行为建立现实的模型,列出与系统有关的实体表及活动表•生成实体结构图分析实体表中实体之间的关系,形成实体结构图•创造软件系统模型根据现实世界,对实体与行为的组合建立进程模型•扩充功能性过程说明系统输出的功能,必要时在规格说明中加入附加的处理•施加时间控制开发者考虑进程调度的某些特征,这些特征可能影响系统功能所输出的结果的正确性及时间关系•实现开发者考虑运行系统的软硬件方面的问题,采用变换技术、调度技术、数据库定义技术等,以使系统能有效地运行26复旦大学计算机科学技术学院软件工程(第二版)内容摘要•JSP方法•JSD方法简介•小结27复旦大学计算机科学技术学院软件工程(第二版)小结•面向数据结构的分析和设计方法是以数据结构为中心,从输入/输出的数据结构导出程序结构•由于这种方法在国内用得比较少,因此只作了简单介绍,主要是通过一个实例来介绍JSP方法,使读者对这种方法有一个大致的了解28

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功