电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

l-第五章2 软件设计 详细设计

63页
  • 卖家[上传人]:luoxia****01805
  • 文档编号:75809673
  • 上传时间:2019-02-01
  • 文档格式:PPT
  • 文档大小:2.90MB
  • / 63 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、软件工程,第五章 详细设计,2,1 结构程序设计 2 人机界面设计 3 过程设计的工具 4 面向数据结构的设计方法 5 程序复杂程度的定量度量 6 小结,3,1 、详细设计介绍,详细设计的根本目标是: 确定应该怎样具体地实现所要求的系统。 经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。,4,详细设计基本任务,主要确定每个模块具体执行过程,有: 为每个模块进行详细的算法设计。 为模块内的数据结构进行设计。 对数据库进行物理设计。 其他设计,如:代码设计、输入输出格式设计、人机对话设计。 编写详细设计说明书。 评审,5,1 结构程序设计( SP ),一、什么是结构化程序? 最早由 E . W . Di jkstra 在 60 年代中期提出。 经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这 3 种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 比较全面的定义:结构程序设计是尽可能少用 GOTO 语句的程序设计方法,最好仅仅在检测出错误时才使用 GOTO 语句,而且应该总

      2、是使用前向的 GOTO 语句。,6,二、结构化程序设计(S P)主要原则,(1 )使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。 ( 2 )选用的控制结构只准许有一个入口和一个出口。 ( 3 )复杂结构应该用基本控制结构进行组合嵌套来实现。 ( 4 )严格控制 GOTO 语句,仅在下列情形才可使用: 用一个非结构化的程序设计语言去实现一个结构化的构造。 在某种可以改善而不是损害程序可读性的情况下。,7,三、五种基本的结构化控制结构(程序流程图表示 ),8,2 人机界面设计,人机界面通常也称为用户界面 用户界面友好性属软件性特性,独立于所有具体功能 用户界面是否友好很大程度由人的主观因素决定。 问:请说说你心目中友好的界面是怎样的?,9,用户界面应具备的特性 可使用性 如:使用简单、界面中所用术语应该标准化,并保持一致性;拥有 He lp 功能;较快的系统响应速度和较低的系统开销;具有容错能力。 灵活性 能满足不同用户的要求;可以制定和修改界面方式;能提供各类的系统响应信息,如反馈、提示、帮助、报错等;与其他软件系统应有标准的界面。 复杂性 在完成预定功能的前提下,用户界

      3、面越简单越好。 可靠性 用户界面能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。,10,(1) 设计问题,在设计人机界面过程中,几乎总会遇到以下 4 个问题: 系统响应时间 用户帮助信息 出错信息处理 命令交互,11, 系统响应时间 系统响应时间指从用户完成某个控制动作到软件给出预期的响应之间的这段时间。有两个重要属性: 长度:响应时间的长短; 易变性:响应时间相对于平均响应时间的偏差。,12, 用户帮助信息 具体设计帮助信息时,应该解决以下问题: 在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息?(全部或部分) 用户怎样请求帮助?(帮助菜单、功能键、 Help 命令) 怎样显示帮助信息?(独立窗口、某个参考文档、屏幕固定位置显示简短提示) 用户怎样返回正常的交互方式?(返回按钮、功能键) 怎样组织帮助信息 ? (通过关键字访问、层次结构、超文本结构),13, 出错信息处理,出错信息或警告信息应具有的属性: 是用户可以理解的术语 应该提高有助于从错误中恢复的建设性意见 信息应该指出错误可能导致哪些负面后果(如破坏数据文件)等 信息应该伴随视觉听觉上的提

      4、示,如警告声等 信息不能带有指责色彩,14, 命令交互,多数情况,用户应该既可以从菜单中选择命令,也可以通过键盘输入命令。 提供命令交互应考虑的问题: 是否每个菜单选项都有对应的命令? 采用何种命令形式?(控制序列,如 ctrl ;功能键;键入命令) 学习和记忆命令的难度多大?忘了怎么办? 用户是否可以定制或缩写命令?,15,(2)设计过程,用户界面设计是一个迭代的过程,包括以下步骤:,16,人机界面设计指南,界面分类 一、一般交互界面 二、信息显示界面 三、数据输入界面,17,一、一般交互界面,1 、基本设计指南 保持一致性; 提供有意义的反馈和帮助信息; 执行较大破坏性动作之前要求用户确认; 允许犯错误,允许中断或撤销绝大多数操作; 减少两次操作之间必须记忆的信息量; 按功能对动作分类,并据此设计屏幕布局 用简单动词或短语作为命令名,18,2 、交互界面的基本类型,菜单界面 对话 其他,19,菜单界面 按显示形象分类: 正文菜单、图标菜单、正文图标混合菜单。 按屏幕位置和操作风格分类 固定、浮动、下拉式、嵌入式,20,21,22,23, 对话框 对话形式 必须回答式、无需回答式、警

      5、告式 对话实现方式 标准对话、定做式对话 其他 图像 窗口,24,二、信息显示界面 1 、界面显示的基本元素 数据 字符 图形 报告,25,2 、基本设计指南,可用多种不同方式显示信息。如用图形表示数据 只显示与当前工作内容有关的信息 使用一致的标记、缩写和可预知的颜色。 使用窗口分隔不同类型的信息 使用模拟方式表示信息。,26,27,界面举例网上红心大战,28,三、数据输入界面,1 、基本设计指南 尽量减少用户输入的动作 保持信息显示和数据输入的一致性 允许用户自定义输人,如键盘输入或鼠标输入 当前动作语境中,不适用的命令不起作用。 让用户控制交互流,如用户能跳过不必要的动作 消除冗余的输入,29,界面举例MSN,30,界面举例,31,3 过程设计的工具,( 1 )图形工具 程序流程图(FC) 盒图( NS ) 问题分析图 ( PAD ) ( 2 )表格工具 判定表 判定树 (3)语言工具 过程设计语言( PDL ),32,(1)程序流程图( FC ),又称程序框图。以图形方式说明系统中的控制流,是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。 优点:直观清晰、易于使用,是普遍

      6、采用的工具。 缺点: 反映的是最后的结果,不易反映逐步求精的过程 可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构。 不易表示数据结构。,33,程序流程图的标准符号,34,35,(2) 盒图( N- S 图),出于要有一种不允许违背结构程序设计精神的图形工具的考虑, Nassi 和 Shneiderman 提出用盒图代替传统的流程图,简称为 N 一 S 图。 优点: 只能描述结构化程序所允许的标准结构。 程序结构用方框表示,清晰可见。 缺点: 当程序内嵌套层数增多时,内层方块越画越小,增加了画图的困难,并使图形的清晰性受到影响。,36,五种基本控制结构在盒图中的表示,37,N 一 S 图的嵌套定义形式,38,盒图例1,39,日立公司发明。用二维树形结构的图来表示程序的控制流,控制流程自上而下,从左往右地执行。 优点: 程序结构清晰,结构化程度高。 支持自顶向下,逐步求精的设计方法。 既可以表示程序逻辑,也可以描绘数据结构。 用PA D图表现程序逻辑,易读易写,使用方便。 容易转换成高级语言源程序,也可用软件工具实现自动转换。,(3) 问题分析图( PAD ),40,五种基本

      7、控制结构在PAD 图中的表示,41,PAD 描述的示例,42,(4) 判定表,判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。 如果数据流处理时需要依赖多个逻辑条件的取值,用判定表来描述比较合适。 一、判定表组成 条件部分给出所有的 两分支判断的列表; 动作部分给出相应的处理;,43,例 1 :检查发货单判定表,44,二、判定表的应用,使用判断表进行数据处理说明,45,(5)判定树,判定树是判定表的变种,能清晰表示复杂的条件组合与操作之间的关系,形式简单,不需要做任何说明,是常见的系统分析工具。 例1:检查发货单的判定树,46,“计算行李费”的判定树,47,(6)过程设计语言(process Design Language ,PDL),也称伪码( pseudo code ) ,是一种介于自然语言和形式化语言之间的语言,用于描述功能模块的算法设计和处理细节的语言。 特点:易编写,易理解,容易转换成源程序。,48,例:商店业务处理系统中“检查发货单” IF 发货单金额超过 500 THEN lF 欠款超过了 60 天 THEN 在偿还欠款前不予批准 ELSE (欠款未超期)

      8、发批准书,发货单 END IF ELSE (发货单金额未超过 500 ) IF 欠款超过 60 天 THEN 发批准书,发货单及赊欠报告 ELSE (欠款未超期) 发批准书,发货单 END IF END IF,49,PDL 的特性,1 )正文用严格的程序语言的基本控制结构分割,称为“外语法”,如 If Then E lse 、 While DO 、 Repeat Until 、 Case of 。 2 ) 操作用自然语言表示,描述处理特点,称为“内语法”。 3 )具有数据说明机制,包括简单的(如纯量和数组)与复杂的(如链表或层次的数据结构)数据说明。 4 )具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明PDL 表示的有关程序结构。,50,例:数据字典中,使用 PDL 进行数据处理的说明,处理名:核实订票处理 编号: 3.2 激活条件:收到取订票信息 处理逻辑: 1 、读订票旅客信息文件 2 、搜索此文件中是否有与输入信息中姓名及身份证号相符的项目 IF 有 THEN 判断余项是否与文件中信息相符 IF 是 THEN 输出已订票信息 ELSE 输出未订票信息 ENDI

      9、F ELSE 输出未订票信息 END I F 执行频率:实时,51,PDL 优点,提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。 可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。 可自动生成程序代码,提高软件生产率。,52,面向数据流的结构化分析与设计方法总结,53,5 程序复杂程度的定量度量,(1)软件复杂性 是软件度量的一个重要分支。主要参数有: 规模:即总共的指令数,或源程序行数。 难度:通常由程序中出现的操作数的数目所决定的量来表示。 结构:通常用与程序结构有关的度量来表示 智能度:即算法的难易程度。,54,(2)程序复杂性,软件复杂性主要表现在程序的复杂性,程序复杂性主要指模块内程序的复杂性。 常见的定量度量软件复杂性的方法有: 代码行度量法 McCabe度量法:又称环路度量法。 Halstead 的软件科学,55,McCabe 方法,T . McCabe 的研究: McCabe 方法根据程序控制流的复杂程度定量度量程序复杂程度,这样度量出的结果称为程序的环形复杂度。 一个程序的环形复杂度( cyclomatic complexity )取决于它的程序图(流图) 包含的判定结点的数量。,56,1、什么是程序图,一种简化了的流程图。程序图(流图)仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。 流程图中的各种处理框(如加工框,判断框等),都被简化成用圆圈表示的结点 可由流程图导出码。或其他工具( PAD 图、代码等)变换获得。,57,程序图的基本元素,符号“ O ”为程序图的结点,表示一个或多个无分支的语句; 箭头为边,表示控制流的方向。 边和结点圈定的封闭范围叫做区域。,58,程序图的基本元素 从图论的观点看,它是一个可以用 G = N , E 来表示的有向图。其中: N 一结点; E 一有向边,指明程序的流程。 包含条件的结点称为判定结点;,59,程序流程图与对应的控制流图,60,2 、环路复杂性 V ( G )的计算方法 方法一:,V ( G ) 流图中区域数(包括图外区域) 如右图: V ( G ) =4,61,方法二:

      《l-第五章2 软件设计 详细设计》由会员luoxia****01805分享,可在线阅读,更多相关《l-第五章2 软件设计 详细设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.