欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章.详细设计.ppt

    • 资源ID:2348150       资源大小:2.16MB        全文页数:107页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章.详细设计.ppt

    第4章 详细设计,目标:确定应该怎样具体地实现所要求的系统。作用:在总体设计阶段采用自顶向下逐步求精的方法,可以把一个复杂问题的解法分解和细化成一个由多个模块组成的层次结构的软件系统。在详细设计或编码阶段可采用自顶向下逐步求精的方法,可以把一个模块的功能逐步分解、细化为一系列的具体处理描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。,目录,4.1 详细设计的任务与原则4.2 结构化程序设计4.3 过程设计的工具4.4 用户界面设计4.5 面向数据结构的设计方法,详细设计的任务详细设计的原则,详细设计阶段的根本目标确定应该怎样具体地实现所要求的系统,不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图,写出实际的程序代码。,详细设计任务,详细设计的任务,主要任务,是编写软件的“详细设计说明书”。因此,设计人员应该做到如下几方面:(1)为每个模块确定所采用的算法,并选择某种适当的工具表达算法的执行过程,写出模块的详细过程性描述。(2)确定每一模块使用的数据结构。(3)确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及模块的输入数据、输出数据及局部数据的全部细节。(4)为每一个模块设计出一组测试用例,以便在编码阶段对模块代码进行预定的测试。,详细设计的任务,详细设计的原则,1.模块的逻辑描述要清晰易懂,正确可靠2.采用结构化设计方法3.选择恰当描述工具来描述各种模块算法,目录,4.1 详细设计的任务与原则4.2 结构化程序设计4.3 过程设计的工具4.4 用户界面设计4.5 面向数据结构的设计方法,结构化程序设计,定义:如果一个程序的代码块仅仅通过顺序、选择和循环三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口。,结构化程序设计的主要原则,使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。选用的控制结构只准许有一个入口和一个出口。程序语句组成容易识别的块,每块只有一个入口和一个出口。复杂结构应该用基本控制结构进行组合嵌套来实现。严格控制GOTO语句。,目录,4.1 详细设计的任务与原则4.2 结构化程序设计4.3 过程设计的工具4.4 用户界面设计4.5 面向数据结构的设计方法,过程设计的工具,1、流程图,6.3.1 程序流程图(III),程序流程图的标准符号,(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。(3)程序流程图不易表示数据结构。,程序流程图的主要缺点如下:,N-S图由而且仅由顺序、选择、循环三种基本结构组成。,2、盒图 NS图,N-S图举例,盒图(N-S图)(II),嵌套的表示,主要优点:强制设计人员使用结构化技术,从而可以保证设计的质量。功能域明确,容易确定局部和全程数据作用域容易表现嵌套,容易表现模块的层次结构没有箭头,不能任意转移控制缺点:盒图的修改比较麻烦,且结构嵌套层次较多时不太容易绘制,以致盒图的使用至今仍不流行。,3、问题分析图PAD,PAD图问题分析图(problem Analysis Diagram),PAD图,PADL图基本结构,PAD示例,PAD图,对应于增量型循环结构for i:=n1 to n2 step n3 do在PAD中有相应的循环控制结构,PAD图,例:N-S图与PAD的转换,例1:对数组X进行排序。“自顶而下,逐步求精”,1、循环一次,排好一个Xh,2、细化,(a),(b),(b),(a),3、连接各图,构成完整的PAD图,W:=XhXh:=XjXj:=w,PAD图应用举例,特点,结构清晰,层次分明,易读;支持逐步求精的设计思想;容易将PAD自动转换为高级语言源程序。,下面以计算应发工资模块为例,用上述三种图形工具:程序流程图、盒图以及PAD图,分别来设计。,PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。伪码的语法规则分为“外语法”和“内语法”。PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法可使用自然语言的词汇。,4、PDL语言,例如:if X is not negative then return(square root of X as a real number);else return(square root of-X as an imaginary number);外层语法IF-ELSE-THEN是确定的,内层操作“square root of X”是不确定的。,示例:拼词检查程序,PROCEDURE spellcheck IS BEGIN*split document into single words*loop up words in dictionary*display words which are not in dictionary*create a new dictionary END spellcheck,使用PDL语言,逐步求精:,PROCEDURE spellcheckBEGIN-*split document into single wordsLOOP get next word add word to word list in sortorder EXIT WHEN all words processedEND LOOP-*look up words in dictionaryLOOP get word from word list,IF word not in dictionary THEN-*display words not in dictionary display word prompt on user terminal IF user response says word OK THEN add word to good word list ELSE add word to bad word list ENDIF ENDIF EXIT WHEN all words processedEND LOOP,-*create a new words dictionary dictionary:merge dictionary and good word listEND spellcheck,判定表,下面以行李托运费的算法为例,说明判定表的组织方法。假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表可以清楚地表示与上述每种条件组合相对应的计算行李费的算法。,例,判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来的,初次接触这种工具的人,理解它需要有一个简短的学习过程。判定树是判定表的变种,它的形式简单到不需任何说明,一眼就可以看出其含义,因此易于掌握和使用。,判定树,用判定树表示计算行李费的算法,目录,4.1 详细设计的任务与原则4.2 结构化程序设计4.3 过程设计的工具4.4 用户界面设计4.5 面向数据结构的设计方法,用户界面应具备的特性用户界面的基本类型用户界面设计指南,(1)可使用性 使用简单 用户界面中所用术语的标准化和一致性 具有HELP功能 快速的系统响应和低的系统成本 具有容错能力(2)灵活性 考虑用户的特点、能力、知识水平 提供不同的系统响应信息 提供根据用户需求制定和修改界面(3)界面的复杂性与可靠性 复杂性界面规模及组织的复杂程度,应该愈简单愈好。可靠性指无故障使用的时间间隔,用户界面应该能够保 证用户正确、可靠地使用系统,及程序、数据的安全。,1 用户界面应具有的特性,1、用户特性分析 用户模型 了解所有用户的技能和经验,针对用户能力设计或更改界面。从以下方面分析:用户类型通常分为:外行型、初学型、熟练型、专家型。用户特性度量与用户使用模式和用户群体能力有关。包括:用户使用频度、用户用机能力、用户的知识、思维能力等。,2 用户界面设计的任务,这部分工作应该与软件需求分析同步进行。包括以下内容:,2、用户界面的任务分析 任务模型(DFD图)是对系统内部活动的分解,不仅要进行功能分解(用DFD图描述),还要包括与人相关的活动。每个加工即一个功能或任务。3、确定用户界面类型,(1)、菜单(menu)按照显示方式 正文菜单、图标菜单、正文和图标混合菜单,如:开始菜单。,3 用户界面的基本类型,从用户角度出发,用户界面设计的类型主要有问题描述语言,数据表格、图形与图标、菜单、对话框及窗口等。每一种类型都有不同的特点和性能。讨论以下类型:菜单、图象、对话框和窗口。,按屏幕位置和操作风格 固定位置、浮动位置(弹出)、下拉式、嵌入式,图3.54 混合菜单,(2)、图 象 在用户界面中,加入丰富多彩的画面,将能够更加行象地为用户提供有用的信息,以达到可视化的目的。主要的处理操作有:图象的隐蔽和再现、屏幕滚动和图案显示、动画等。,(3)、对话框 对话框是在需要时,显示在屏幕上一个矩形区域内的图形和正文信息。通过对话,实现系统和用户之间的通信。对话框显示的方式与弹出式菜单类似,即瞬时弹出。同时,系统还应将对话框所覆盖的原图象进行保存,以便在对话结束后能立即恢复。有三种对话形式:,必须回答式如图1 所示无需回答式 如图2 所示警告式 如图3 所示,图1 必须回答式对话框,图2 无需回答式对话框,图3 警告式对话框,(4)、窗口(window)图形学中称为视图区(Viewport),视为虚拟屏幕。一个实用窗口,可包含部件:菜单区(menu bar)图标区(icon bar)标题区(title bar)移动区(move bar)大小区(size bar)退出区(quit bar)用户工作区(users work bar)横向滚动区(horizontal scroll bar)纵向滚动区(vertical scroll bar),图3.61 窗口,数据I/O界面,是系统的重要组成部分。主要从输入速度和减少出错率考虑。,1、尽量减少输入工作量 对相同内容输入设置默认值 自动填入 列表选择或点击选择,2、输入屏幕与输入格式匹配 即屏幕显示按照数据使用频率、重要性、次序等组织。,3、数据输入的一般规则确定输入交互动作确定删除提供反馈,4 数据I/O界面设计,用户界面设计指南,一般交互指南数据输入指南信息显示指南,目录,4.1 详细设计的任务与原则4.2 结构化程序设计4.3 过程设计的工具4.4 用户界面设计4.5 面向数据结构的设计方法,Jackson方法简介Jackson方法的设计过程使用Jackson方法应注意的问题,上一章介绍了面向数据流的设计方法,也就是根据数据流确定软件结构的方法;下面介绍的面向数据结构的设计方法,根据数据结构进行过程设计,也就是每个模块的处理过程。,面向数据结构的设计方法,典型方法有Jackson方法和Warnier方法 JSP:Jackson结构程序设计方法JSD:Jackson系统开发方法,面向数据结构的设计方法,Jackson方法,1975年,MAJackson总结COBOL事务处理的开发方法,提出了该方法。用数据结构作为程序设计的基础。从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。,Jackson方法,重点不是自顶向下逐步求精,而是在数据结构基础上进行构造根据输入/输出的数据结构建立程序结构 目标:获得简单清晰的设计方案设计原则:使程序结构与问题结构(数据结构)相对应,数据结构与程序结构的表示,采用Jackson图来表示数据结构和程序结构结构图是一种从左到右阅读的树状层次结构图数据结构图中方框表示数据,程序结构图中方框就表示模块(过程或函数)底部的叶子节点称为基本元素在底部枝干以上的节点称为结构元素三种元素类型:顺序元素、选择元素、重复元素,74,Jackson图,75,S(i),I(i),S(i),(1)加上判断条件,(2)斜线改直线,改进的Jackson图,数据结构和程序结构,一般的数据处理系统,处理的是具有层次结构的数据,因而其问题结构,可以用它所处理的数据结构来表示,示例:打印表格程序的输出数据结构和对应的程序结构,又称伪码,表示程序或者进程的执行逻辑。(1)、顺序:sep和end是关键字 A sep Do B;Do C;Do D;A end,2、纲要逻辑:,(2)、选择:selsct、or和end关键字。A select cond1 Do B;or cond2 Do C;or cond3 Do D;A end(4)、重复:iter、until、while、end是关键字。A iter until(while)cond Do B;A end,JACKSON简单设计过程,1、建立数据结构 JACKSON方法中数据结构通常表示为树型结构,有顺序,选择和循环三种基本结构。2、以数据结构为基础,建立相应的程序结构图 一般情况,数据结构与模块结构是相对应的,因此不难从数据结构导出程序结构。3、细化程序结构图,将基本操作分配到各模块。,合并文件(输入和输出之间的对应关系),输入、输出数据结构在内容、数量、次序上是对应的。1、数据结构,(a)输入数据结构,(b)输出数据结构,2.设计程序图,由于输入、输出数据结构在内容、数量、次序上是对应的,不难导出结构图,(1).分析确定输入/输出数据的逻辑结构,并用Jackson图描绘数据结构。(2).找出输入/输出数据结构中有对应关系的数据单元。(3).按一定的规则由输入、输出的数据结构导出程序结构。(4).列出基本操作与条件,并分配到程序结构图的适当位置。(5).用伪代码写程序。,Jackson方法的设计过程,规则,为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框。根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上相应的处理框。,示例,期末考试后将学生的基本情况文件(简称学籍文件)和学生成绩文件(简称成绩文件)合并成一个新文件。解析步骤如下:,(a)输入,(1)确定输入和输出数据的数据结构,学生成绩系统中输入/输出结构的Jackson图,(b)输出,学生成绩系统中输入/输出结构的Jackson图,(2)确定在输入数据结构和输出数据结构中有对应关系的数据单元,输入/输出结构中有对应关系的Jackson图,(3)从数据结构中导出程序结构图,根据前面介绍的3条规则,画出程序结构图,程序结构图,(4)列出所有操作和条件,并且把它们分配到程序结构图的适当位置,停止打开两个输入文件建立输出文件从输入文件中各读一条记录生成一条新记录将新记录写入输出文件关闭全部文件文件结束,当把操作2、3、4、7、1分配到第一层时,改进的Jackson图规定,在顺序执行的处理中,不允许混有重复执行或选择执行的处理。所以,在“在处理学生记录”这个处理框上面,又填加了一个处理框“分析学生记录”。,4,(4)列出所有操作和条件,并且把它们分配到程序结构图的适当位置,停止打开两个输入文件建立输出文件从输入文件中各读一条记录生成一条新记录将新记录写入输出文件关闭全部文件文件结束,产生新文件seq打开两个输入文件建立输出文件从输入文件中各读一条记录分析学生记录iter until文件结束 处理学生记录seq产生学号产生姓名产生成绩产生地址生成一条新记录将新记录写入输出文件从输入文件中各读一条记录 处理学生记录end分析学生记录end关闭全部文件停止产生新文件end,(5)用伪码表示程序处理过程,Jackson方法的特点,简单、易学、形象直观、可读性好便于表示层次结构适用于小型数据处理系统,使用Jackson方法应注意的问题,关于结构冲突问题。输入数据与数据结构找不到对应的情况,称为结构冲突。对结构冲突问题,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。JSP方法主要体现程序结构的设计,不明确地划分软件概要设计和详细设计的两个阶段。可将它与结构化方法相结合,用结构化方法设计体系结构,用Jsp方法设计它的局部模块。Jsp方法主要用于规模不大的处理系统,能较容易地描述出输入、输出数据结构。,示例:,产生报文分析报告。一组报文穿在若干卡片上,卡片上词与词之间用空格分隔,最后两张结束卡片的内容分别是“0000”和“EOF”,所有卡片以“EOB”结束。输出报文形式:报文分析报告(标题)本报文有11个词 其中有11个词多于12个字符 分析报告结束(报告底),(报告体),(a)输入数据结构,(b)输出数据结构,产生报文分析报告为了解决输入、输出的数据结构冲突问题,引入两个中间结构:(1)第一中间结构S1 简化输入、去掉报文中多余的字符(“EOB”,“EOF”,多余空格),由过程P1完成。(2)第二中间结构S2识别“正常词”与“超长词”。由过程P2完成。,输入结构,输出结构,程序结构,输出数据结构,显然,中间结构的选取依赖于设计者对问题的理解和设计者的设计风格.,小结,4.1 详细设计的任务与原则4.2 结构化程序设计4.3 过程设计的工具4.4 用户界面设计4.5 面向数据结构的设计方法,详细设计是进行逻辑系统开发的最后一个阶段,其质量的好坏将直接影响到系统的编码实现。合理选择和正确使用有关工具、深入理解和掌握有关设计思想和方法,对搞好详细设计是非常重要的。,小结,图形工具 利用图形工具可以把过程的细节用图形描述出来。表格工具可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。语言工具用某种高级语言(称之为伪码)来描述过程的细节。,程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。N-S图盒图 是一种符合结构化程序设计原则的图形描述工具,又称之为N-S图。PAD图 是用结构化程序设计思想表现程序逻辑结构的图形工具。PDL(过程设计语言)是所有非正文形式的过程设计工具的统称,到目前为止已出现多种PDL语言。判定表(Decision table)也是描述加工的一种图形工具,呈表格形。,Jackson系统开发方法(JSD,Jackson System Development)是一种典型的面向数据结构的分析设计方法。,作业,本文观看结束!,谢 谢欣 赏!,

    注意事项

    本文(第4章.详细设计.ppt)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开