- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九讲 详细设计 本讲(第六章)的主要内容 一、详细设计及其任务 二、结构程序设计 三、人机界面设计 四、详细设计的工具 五、 Jackson程序设计方法 六、程序复杂度的定量度量 一、详细设计及其任务 什么是详细设计? 从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。这就是过程设计的任务。 针对一个个模块的设计,是过程设计、算法设计。 详细设计仅仅是设计出程序的“蓝图”,是编码的先导,但不是编写程序。 模块的属性:功能、逻辑和状态 模块的内部特性和外部特性 详细设计的任务 每个模块内的数据结构 每个模块的控制算法 内部接口描述 为每一模块设计出一组测试用例(test cases) 。 评审 二、结构程序设计 定义:结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。 结构化程序设计的要点 自顶向下逐步求精 采用三种基本结构,消除goto语句 设计单入口、单出口的模 3. 结构程序设计的提出 1965年E. W. Dijkstra指出GO TO 语句对程序质量的负面影响,建议取消它。 Bohm等证明了任何单入口单出口的程序都可以用“顺序”、“选择”和“循环”三种控制结构实现。 Mills基于在IBM的实践,提出程序应该只有一个入口和一个出口。 Wirth通过对抽象层次的论述,对逐步求精方法进行了肯定。 4. 结构程序设计的类型 经典的结构程序设计 Seq; if-then-else; do-While 扩展的结构程序设计 增加do-case; do-until 修正的结构程序设计 允许leave; break 5. 结构程序设计的优点 符合人类解决复杂问题的规律。 自顶向下逐步求精,使得相邻两次精化之间变化甚小,不难验证前后内容是否一致和有效。使得程序具有清晰的结构层次。 不使用GO TO 语句,避免了“病态连接”,消除“涟漪效应”,提高可理解性、可靠性、可测试性和可维护性。 清晰的模块化程序利于重用和复用。 利于程序的正确性证明和形式化开发。 三、人机界面设计 设计问题 系统响应时间 用户帮助设施 出错信息处理 命令交互 设计过程(p111) 人机界面设计指南(p112) 1. 设计问题 系统响应时间(p110) 用户帮助设施(p110) 出错信息处理(p110) 命令交互(p111) 2. 设计过程(p111) 原型化设计与GUI工具 对GUI 设计模型的早期评价标准 系统及其界面的规格说明书的长度和复杂程度决定了用户学习使用该系统所付出的代价。 命令或动作的数量、命令的参数个数等对系统交互时间和效率的影响。 命令或动作的数量、系统状态的数量对用户操作的影响(如迷航问题)。 界面风格、在线帮助、出错处理协议等决定了用户是否能够顺利接受你所设计的界面。 3. 人机界面设计指南(p112) 四、详细设计的工具(P114) 程序流程图(Program flow diagram) N-S图(Nassi和Shneiderman提出) PAD图(Problem Analysis Diagram) 判定表(Decision Table) 过程设计语言PDL(Program Design Language, also called Structured English or Pseudo code) 1.程序流程图 程序流程图也称为程序框图,程序流程图使用五种基本控制结构是: 循环的标准符号 注解的使用 多出口判断 2. N-S图 N-S图,即盒图 五种基本控制结构由五种图形构件表示 N-S图的嵌套定义形式 3. 问题分析图(PAD) PAD也设置了五种基本控制结构的图式,并允许递归使用。 PAD描述的示例 对应于增量型循环结构 for i := n1 to n2 step n3 do在PAD中有相应的循环控制结构 4.程序流程的判定表 判定表用于表示程序的静态逻辑 在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理 要求将程序流程图中的多分支判断都改成两分支判断 建立判定表的步骤 列出与一个具体过程(或模块)有关的所有处理。 列出过程执行期间的所有条件(或所有判断)。 将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。 将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。 5. PDL (Program Design Language) PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。 伪码的语法规则分为“外语法”和“内语法”。 PDL具有
文档评论(0)