- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 详细设计37169.ppt
5.3 结构化程序设计 缺点:当程序内嵌套的层数较多时,内层的方块越画越小,不仅会增加画图的困难,并将使图形的清晰性受到影响。 5.3 结构化程序设计 3、PAD图 PAD图,问题分析图(Problem Analysis Diagram) 用二维树形结构的图来表示程序的控制流。 图符: 图中最左纵线是程序的主干线,即程序的第一层结构。 其后每增加一个层次,图开向右扩展一条纵线。 5.3 结构化程序设计 5.3 结构化程序设计 5.3 结构化程序设计 4、过程设计语言 过程设计语言(PDL,Program Design Language)采用严格语法定义伪代码方式,来定义软件的控制结构和数据结构。 可使用自然语言的词汇 5.3 结构化程序设计 5.4 面向数据结构的设计 面向数据结构的设计方法 Jackson 方法 Warnier方法 Michael Jackson mcs.open.ac.uk/mj665/ 5.4 面向数据结构的设计 Jackson 方法 Jackson方法发展的两个阶段: 阶段一:20世纪70年代Jackson方法的核心是面向数据结构的设计,以数据驱动为特征,形成了最初的JSP(Jackson Structure Programming)方法。 Jackson方法把问题分解为可由三种基本结构形式表示的各部分层次结构。 JSP方法是以数据结构为驱动的,适合于小规模的项目。当输入数据结构与输出数据结构无对应关系时,难于应用该方法。 5.4 面向数据结构的设计 阶段二:20世纪80年代初开始,Jackson方法已经演变到基于进程模型的事件驱动。 基于JSP方法的局限性,又发展了JSD(Jackson System Development)方法,它是JSP方法的扩充。 JSD方法是一个完整的系统开发方法。该方法以事件作为驱动,是一种基于进程的开发方法,应用于时序特点较强的系统,包括数据处理系统和一些实时控制系统。 JSD方法的缺陷 5.4 面向数据结构的设计 结构化设计方法(SD):面向数据流的设计方法 Jackson方法( JSP ):面向数据结构的设计方法 比较异同 SD方法和JSP方法的共同点都是数据信息驱动的,都试图将数据表示转换成软件表示; 不同之处在于面向数据结构的设计不利用数据流图,而根据数据结构的表示来设计。JSP方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,最终目标是生成软件过程的描述,即程序结构,而不是软件的体系结构。而SD方法是根据数据流图来设计,最终目标是建立软件体系结构的描述,即软件模块的层次结构。 JSP方法与SD方法 数据结构(Jackson 图) 程序结构(Jackson 图) 程序的过程性表示(Jackson 伪代码) 问题结构 (DFD) 软件结构 (SC) 模块的过程描述 (PDL) 5.4 面向数据结构的设计 Jackson方法把问题分解为可由三种基本结构形式表示的各部分层次结构。这三种基本结构形式就是顺序、选择和重复。 设计原则:程序结构同数据结构相对应 描述工具: Jackson图 纲要逻辑 5.4 面向数据结构的设计 Jackson图 三种基本结构:由方框、连线和一些附加标记组成。标记“0”代表选择,标记“*”代表重复。连线代表“包含”或“由……组成”。 纲要逻辑 纲要逻辑是一种描述算法过程的语言,分别用seq、iter和sel-alt三类关键字描述顺序、重复和选择三种结构。 5.4 面向数据结构的设计 5.4 面向数据结构的设计 示例:信用卡记账系统的Jackson表示 表示输入数据结构的Jackson图 5.4 面向数据结构的设计 表示输出数据结构的Jackson图 5.4 面向数据结构的设计 表示程序结构的Jackson图 5.4 面向数据结构的设计 PROCESS_CUST_DATA seq Open PAY FILE: open CUST M FILE;{分别打开支付文件和顾客主文件} PROCESS_CNO_GROP iter until eof:PAY_FILE; {处理顾客号码组} Read PAY FILE: {读支付文件一个记录) PROCESS_CNO; {读顾客主文件一个记录,找老结余} PROCESS PAY RECORD iter until end:CNOGROP: {处理顾客号码组中每个支付记录} write report line; {写出报告行} compute total payments; {计算总支付额} read PAY_FI
您可能关注的文档
- 11级电子技术综合设计第1讲.ppt
- 网络存储导论_part1.ppt
- 3D游戏道具制作.ppt
- 职业生涯管理理论第一节_职业选择理论.ppt
- 自适应控制新版_2.ppt
- 政治经济学 垄断利润.ppt
- 外国文学幻灯4.ppt
- 容错软件设计.ppt
- 专利信息分析利用实务培训(王康银).ppt
- 第5章 宏观经济政策分析.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)