- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第6章_详细设计
6 GIS软件工程的详细设计 6.1 详细设计 6.2 用户界面设计 6.3 标准化设计 6.1 详细设计 一、概述 二、详细设计的基本任务 三、详细设计方法 四、程序流程图 五、N-S图 六、PAD图 七、判断表 八、PDL语言 一、概述 详细设计也叫程序设计,但不是编制程序或编码。 详细设计也称为过程设计,确定每个模块的具体执行过程,通过详细设计的表达工具,精确表达实现算法。 详细设计的工具分为3类 图形工具、表格工具、语言工具 二、详细设计的基本任务 算法设计 内部数据结构设计 逻辑过程设计 处理方式设计 物理设计 可靠性设计 其他设计 编写详细设计说明书及评审 三、详细设计方法 自顶向下,逐步求精 3种基本结构设计程序 主程序员组织方式 四、程序流程图 程序流程图也称为程序框图,程序流程图使用五种基本控制结构 循环的标准符号 注解的使用 多出口判断 五、 N-S图 N-S图也叫做盒图。五种基本控制结构由五种图形构件表示。 N-S图的嵌套定义形式 六、PAD图(问题分析图) PAD也设置了五种基本控制结构的图式,并允许递归使用。 PAD描述的示例 对应于增量型循环结构 for i := n1 to n2 step n3 do在PAD中有相应的循环控制结构 七、判断表 判定表用于表示程序的静态逻辑 在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理 要求将程序流程图中的多分支判断都改成两分支判断 建立判定表的步骤 列出与一个具体过程(或模块)有关的所有处理。 列出过程执行期间的所有条件(或所有判断)。 将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。 将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。 八、PDL语言(Program Design Language) PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。 伪码的语法规则分为“外语法”和“内语法”。 PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法可使用自然语言的词汇。 示例: 拼词检查程序 PROCEDURE spellcheck is BEGIN split document into single words lood up words in dictionary display words which are not in dictionary create a new dictionary END spellcheck PDL的特点 提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之变得易于理解。 为了区别关键字,规定关键字一律大写,其它单词一律小写。或者规定关键字加下划线,或者规定它们为黑体字。 内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。 有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。 有子程序定义与调用机制,用以表达各种方式的接口说明。 使用PDL语言,逐步求精 PROCEDURE spellcheck BEGIN --* split document into single words LOOP get next word add word to word list in sortorder EXIT WHEN all words processed END LOOP --* look up words in dictionary LOOP 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
文档评论(0)