6章详细设计 第一部分 西安电子科技大学 软件工程教学课件_第1页
6章详细设计 第一部分 西安电子科技大学 软件工程教学课件_第2页
6章详细设计 第一部分 西安电子科技大学 软件工程教学课件_第3页
6章详细设计 第一部分 西安电子科技大学 软件工程教学课件_第4页
6章详细设计 第一部分 西安电子科技大学 软件工程教学课件_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章详细设计第一部分 西安电子科技大学课程 第六章详细设计 详细设计的目标是对目标系统给出精确的描述 从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写的程序 详细设计不是具体编写代码 而是要设计出程序的 蓝图 程序员根据这个蓝图写出实际的程序代码 详细设计的结果关系到程序代码的质量 第六章详细设计 6 1结构程序设计结构程序设计的概念是E W Dijkstra1965年提出的 他认为 可以从高级语言中取消GOTO语句 程序质量与包含GOTO语句的数量成反比 实际上用顺序结构和循环结构 DO WHILE 完全可以实现选择结构 又称IF THEN ELSE结构 什么是结构程序设计 结构程序设计是一种设计程序的技术 它采用自上向下逐步求精的设计方法和单入口单出口的控制结构 第六章详细设计 在三种基本控制结构中 就可以实现任何单入口单出口的程序 但从实际使用方便起见 常常允许使用下面二种控制 DO CASE多分支结构DO UNTIL循环结构 第六章详细设计 6 2详细设计的工具6 2 1程序流程图程序流程图又称为程序框图 它是历史悠久 使用广泛的描述软件设计的方法 然而它也是使用得最混乱的一种方法 上一节已经介绍了程序流程图中使用的符号 有一个十分重要的说明 程序流程图中的箭头代表控制流而不是数据流 第六章详细设计 流程图从40年代末到70年代中 一直使用它 不过总的趋势是越来越多的人不再使用程序流程图了 程序流程图的主要缺点如下 程序流程图本质上不是逐步求精的好工具 它诱使程序员过早地考虑程序的控制流程 而不去考虑程序的全局结构 程序流程图中用箭头代表控制流 因此程序员不受任何约束 可以完全不顾结构程序设计的精神 随意转移控制 程序流程图不易表示数据结构 应该指出 详细的微观程序流程图 每个符号对应于源程序的一行代码 对于提高大型系统的可理解性作用甚微 第六章详细设计 6 2 2盒图 N S图 出于要有一种不允许违背结构程序设计精神的图形工具的考虑 Nassi和Shneiderman提出了盒图 又称N S图 它有下述特点 功能域 即 一个特定控制结构的作用域 明确 可以从盒图上一眼就看出来 不可能任意转移控制 很容易确定局部和全程数据的作用域 很容易表现嵌套关系 也可以表示模块的层次结构 第六章详细设计 第六章详细设计 6 2 3PAD图 problemanalysisdiagram 它是日立公司提出的 问题分析图 它是由程序流程图演化来的 它用二维树型结构的图来表示程序的控制流 将这种图翻译成程序代码比较容易 PAD图优点 1 使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序2 PAD图所描述的程序结构十分清晰 图中最左边的竖线是程序的主线 即第一层控制结构 随着程序层次的增加 PAD图逐渐向右延伸 每增加一个层次 图形向右扩展一条竖线 PAD图中竖线的总条数就是程序的层次数 第六章详细设计 3 用PAD图表现程序逻辑 易读 易懂 易记 PAD图是二维数型结构的图形 程序从图中最左边上端的结点开始执行 自上而下 从左到右顺序执行 4 很容易将PDA图转换成高级程序语言源程序 这种转换可由软件工具自动完成 从而可省去人工编码的工作 有利于提高软件可靠性和软件生产率 5 既可用于表示程序逻辑 也可用于描述数据结构6 PAD图的符号支持自顶向下 逐步求精方法的使用 开始时设计者可以定义一个抽象程序 随着设计工作的深入而使用 def 符号逐步增加细节 直至完成详细设计 第六章详细设计 第六章详细设计 下面给出了程序流程图 盒图 PAD图以及程序语句的对应关系 请大家现在用一张纸记下来 便于下面的课堂练习 请大家注意 第六章详细设计 第六章详细设计 第六章详细设计 课堂练习 第六章详细设计 第六章详细设计 6 2 4判定表算法中包含有多重嵌套的条件选择时 用程序流程图 盒图 PAD图及过程设计语言 PDL 都不易清楚的描述 此时用判定表则比较容易 判定表能简洁而又无歧义的描述处理规则 但是判定表并不是与作为一种通用的设计工具 没有一种简单的方法使它能同时清晰的表示顺序和重复等处理特性 6 2 5判定树判定树是判定表的变种 容易掌握与使用 是一种比较常用的系统分析和设计的工具 缺点是简洁性不如判定表 数据元素的同一个值往往要重复写多便 而且越接近树的叶端重复次数越多 判定表表征计算行李费的算法 用判定树表示计算行李费的算法 第五章详细设计 6 2 6过程设计语言 PDL PDL也称为伪码 它使用正文形式表示数据和处理过程的设计工具 伪码的语法规则分为 外部语法 和 内部语法 外部语法应当符合一般程序设计语言常用语句的语法规则 内部语法可用英语中一些简单的句子 短语和通用的数学符号来描述程序应执行的功能 PDL语言的外部描述语言的格式1 数据说明TYPE 变量名 AS 限定词1 限定词2 限定词1 SCALE 存量 LIST 表 ARRAY 数组 CHAR 字符 STRUCT 结构 限定词2 指明该变量的作用域 第五章详细设计 2 程序块BEGIN 块名 一组伪码语句 END3 子程序结构PROCEDURE 子程序名 一组属性 INTERFACE 参数表 程序块和 或一组伪码语句END4 基本控制结构 1 顺序结构 2 选择型结构if then elseIF 条件描述 THEN 程序块 伪码语句 ELSE ENDIF 3 重复结构DOWHILE 条件描述 ENDDOREPEATUNTIL 条件描述 ENDREP 第五章详细设计 或DOLOOP EXITWHEN 条件描述 ENDLOOPDOFOR 下标 下标表 表达式或序列 ENDFOR 4 多路选择型结构CASEOF case变量名 WHEN case条件1 SELECT WHEN case条件2 SELECT WHEN 最后的case条件 SELECT DEFAULT 缺省或错误case ENDCASE 5 输入 输出结构READ WRITE 设备 I O表 或ASK 询问 ANSWER 响应选项 第五章详细设计 PROCEDURESpellcheckIS查找错拚的单词BEGINSplitdocumentintosinglewords把文档分离成单词Lookupwordsindictionary在字典中查找单词Displaywordswhicharenotindictionary显示字典中查不到的单词Createanewdictionary造一个新字典ENDspellcheck用PDL描述求一组数中最大数的算法STARTARRAYAInputaseriesofnumberstoASETMAX A 1 DOFORI 2TONIFMAX A I THENSETMAX A I ENDIFENDDOPrintMAXEND 例子 第五章详细设计 PDL优缺点 可以作为注释直接插在源程序中间 可以使用普通的正文编辑程序或文字处理系统 很方便地完成PDL的书写和编辑工作 已经有自动处理程序存在 而且可以自动由PDL生成程序代码 PDL的缺点是不如图形工具形象直观 描述复杂的条件组合与动作间的对应关系时 不如判定表清晰简单 第六章详细设计 6 3面向数据结构的设计方法前面介绍了面向数据流的设计方法 也就是根据数据流确定软件结构的方法 本节和下一节分别介绍两种面向数据结构的方法 数据结构既影响程序结构又影响程序的处理过程 重复出现的数据通常由具有循环控制结构的程序处理 选择数据要用带有分支控制结构的程序处理 层次的数据组织通常和使用这些数据的程序的层次结构十分相似 面向数据结构的设计方法的最终目标 是得出对程序处理过程的描述 使用面向数据结构的设计方法 应先分析确定数据结构 用适当的工具清晰地描绘出数据结构 6 3 1Jackson图顺序数据结构种类选择重复 第六章详细设计 1 顺序结构顺序结构的数据由一个或多个数据元素组成 每个元素按确定次序出现一次 2 选择结构选择结构与数据应包含两个或多个数据元素 每次使用这个数据时按一定条件从这些数据元素中选一个 3 重复结构该数据使用时的条件有一个数据元素出现一次或多次构成 第六章详细设计 第六章详细设计 Jackson图有下述优点 便于表示层次结构 而且是对结构进行白顶向下分解的有力工具 形象直观可读性好 既能表示数据结构也能表示程序结构 因为结构程序设计也只使用上述三种基本结构 Jackson图有下述缺点 循环和选择条件无法列出 影像图解表达能力 改进的Jackson方法 第六章详细设计 Jackson结构程序设计方法基本上由5个步骤组成 1 分析并确定输入数据和输出数据的逻辑结构 并用Jackson图描绘这些数据结构 2 找出输人数据结构和输出数据结构中有对应关系的数据单元 所谓有对应关系是指有直接因果关系 在程序中可以同时处理的数据单元 对于重复出现的数据单元必须重复的次序和次数都相同才可能有对应关系 3 用下述三条规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图 第一 为每对有对应关系的数据单元 按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框 注意 如果这对数据单元在输人数据结构和输出数据结构中所处的层次不同 则和它们对应的处理框在程序结构图中所处的层次与它们之中在数据结构图中层次低的那个对应 第六章详细设计 第二 根据输入数据结构中剩余的每个数据单元所处的层次 在程序结构图的相应层次分别为它们画上对应的处理框 第三 根据输出数据结构中剩余的每个数据单元所处的层次 在程序结构图的相应层次分别为它们画上对应的处理框 总之 描绘程序结构的 1ackson图应该综合输入数据结构和输出数据结构的层次关系而导出来 在导出程序结构图的过程中 由于改进的 Jackson图规定在构成顺序结构的元素中不能有重复出现或选择出现的元素 因此可能需要增加中间层次的处理框 4 列出所有操作和条件 包括分支条件和循环结束条件 并且把它们分配到程序结构图的适当位置 5 用伪码表示程序 第六章详细设计 6 3 2Jackson方法举例一个正文文件由若干记录组成 每个记录是一个字符串 要求统计每个记录中空格字符的个数及文件中空格字符的总个数 要求输出数据格式是每复制一行字符串后 另起一行打印出这个字符串中的空格数 最后打印出文件空格的总个数 使用Jackson方法设计该程序结构 第六章详细设计 第六章详细设计 如何使用Jackson图表示数据结构例如 Jackson图表示下面的二维表格 学生名册 第六章详细设计 上表首先声明了该学生名册表格由表头和表体两部分组成 表头又顺序包括表名和字段名 表体可由任意行 0行或多行 组成 每行包括学生的姓名 性别 班级和学号 班级是本科的 学号项是本科生学号 班级是研究生的 学号项是研究生学号 第六章详细设计 第六章详细设计 C Jackson伪代码为了方便从程序结构到逻辑描述的转换 Jackson方法中为结构图设计了一组与之相对应的伪代码 并称之为图解逻辑 Jackson方法中使用的伪代码和Jackson图是完全对应的 下面是和三种基本结构对应的伪代码 I 顺序结构与我们上面顺序结构图对应的伪码如下 其中 seq 和 end 是关键字AseqBCDAend II 选择结构 select or 和 end 是关键字 cond1 cond2和cond3分别是执行B C或D的条件 Aselectcond1BAorcond2CAorcond3DAend III 重复结构 iter until while 和 end 是关键字 重复结构有until和while两种形式 cond是条件 Aiteruntil 或while condBAend下面看一个例子 在实际工作中 会遇到不同结构组合的情况 如图 下面两种伪代码 a AseqBCiteruntilcondI1DendA b Aiteruntilcind1BCDendA 从上图可见 执行是顺序地执行和的处理框 而框要根据条件执行0次或多次 上面两种分析 a 是正确的 但是 这种画法容易引起混淆 故可以改为 其相应的伪代码为 AseqBCunititeruntilcondI1CendCunitDendA 第六章详细设计 6 4Warnier程序设计方法6 4 1Warnier图Warnier程序设计方法是由法国人J D W arnier提出的另一种面向数据结构的设计方法 又称为逻辑构造程序的方法 简称LCP LogicalConstructionofPrograms 方法 Warnier方法的原理和Jackson方法类似 也是从数据结构出发设计程序 但是这种方法的逻辑更严格 Warnier图是在Warnier方法中使用的一种专用表达工具 第六章详细设计 Warnier orr图也定义了三种基本结构 a 顺序结构 b 二选一 c 多选一 d 重复W图与Jackson图类似 但不同 它不是自上而下 而是从左到右 用花括号 表示结构的层次 第六章详细设计 数据 大写字母 之间的 号表示 或 表示选择零次或1次 数据 大写字母 下面的 0 N 表示重复0次或N次 数据 大写字母 之间没有 号的和下面没有 0 N 则表示顺序结构 另外 也可以采用下面的表现形式 1 whileI 10 第六章详细设计 此外 W图经Orr扩充 还可以用下列形式表示 并发 与 递归 图里的stepx和stepy并发执行 可以stepx先 也可以stepy先或同时发生 当后面层次的元素名与前面层次元素名 可以标一个下角号 相同时 则表示为递归 Warnier Orr图优点 1 图形表示 形象 直观 容易理解 逻辑性强 2 既可以表示数据结构 也可以表示程序结构 3 易于表示结构的层次4 便于分解5 简单易学 第六章详细设计 实际上 用Warnier Orr方法进行设计比较多的是用在功能设计 如上图所示 就是一个工具软件的主要功能设计的Warnier Orr图 第六章详细设计 6 4 2Warnier orr开发方法它也被称为数据结构化系统开发 DSSD 1983年他们提出来的 该方法有程序逻辑构造法 LCP 扩展而成 它不但增强了设计能力 还增强了分析能力 DSSD提供了导出数据结构 程序结构 以及程序构件 模块 的细节过程设计符号表示和过程 还给出了使设计者能检查数据流与信息源和接收器之间的符号表示法以及变换过程 需求规格说明 应用范围 IN 功能描述 应用产生的结果DSSD设计过程 设计文档 输出数据结构 OUT 过程细节 限制与约束 第六章详细设计 一 简化的设计方法逻辑输出结构 LOS 的导出逻辑设计过程逻辑过程结构 LPS 的产生意义在应用中LOS 可分为四步 1评价问题说明或相关需求信息 并列出所有不同的 不能在细化的数据项 称为原子 2确定每个原子发生的频率 3评价所有可细分的数据项 也称组合项 4开发LOS图解表达式 第六章详细设计 举例 机床工具使用日常报告 日期 工具类别工具标识状态NO 零件生产零件类型总计 零件类型总计 本日 机床工具使用日常报告 生产总计 第六章详细设计 二 LOS的导出在导出LOS中 第一步是分隔所有原子 不能再细分的数据项 第二步应注意各原子发生频率数据元素 原子 频率细节标题1 报告机床工具使用日报告日期各档标题工具类别 工具标识工具类别1 工具类别工具类别状态1 工具标识零件编号小计标题1 工具类别零件类型总计类别总计总计标题1 报告本日零件生产总计生产总计 第六章详细设计 本例子中 组合数据项有 报告 出现一次 工具类别 每个报告出现t次 工具标识 每个标号出现s次 三 LPS的导出逻辑过程结构LPS是软件的一种过程表达式 这是软件处理对应LOS所要求的 每个组合数据项都是一项重复构造 要增加其处理细则 为导出LPS要有 1 从LOS的W图中去掉所有原子 2 把定义符BEGIN END加到所有组合数据项 重复 上 第六章详细设计 3 定义所有起始 终止或处理的细则 4 确定所有计算或非数值处理 第六章详细设计 进一步开发 5 确定所有输出细则和过程 6 确定所有输入细则和过程 可与下一页的原要求对比 第六章详细设计 举例 机床工具使用日常报告 日期 工具类别工具标识状态NO 零件生产零件类型总计 零件类型总计 本日 机床工具使用日常报告 生产总计 第六章详细设计 非结构转化方法程序流程图结构化转化问题 经科学家mills进一步验证BothmJacopini提出理论 证明问题解的任何算法都表示为结构化构造 其理论研究归纳如下 定理一 假如不增加辅助变量 不增加额外计算或不改变程序的执行顺序 那末必然存在不能用if while表示的构造 补充内容 第六章详细设计 定理二 在定理一的假设条件下 if while构造的充分必要条件是 该构造不含两个 或两个以上 出口循环 定理三 若允许增加辅助变量或增加额外计算 或改变程序的执行顺序 问题解的任何算法都可以表示为结构化的构造 下面给出具体实例加以说明 第六章详细设计 结构化程序设计的方法 1 以三种基本结构的组合来描述程序 2 整个程序采用模块化结构 3 有限制地使用转移语句 在非用不可的情况下 也要十分谨慎 并且只限于在一个结构内部跳转 不允许从一个结构跳到另一个结构 这样可缩小程序的静态结构与动态执行过程之间的差异 使人们能正确理解程序的功能 4 以控制结构为单位 每个结构只有一个入口 一个出口 各单位之间接口简单 逻辑清晰 5 采用结构化程序设计语言书写程序 并采用一定的书写格式使程序结构清晰 易于阅读 6 注意程序设计风格 第六章详细设计 例1 非结构化的流程图 如何转换为结构化流程图 第六章详细设计 与左图等价的结构化流程图 第六章详细设计 上面是一个增加额外计算的例子 图 左 有10个元素 而右图有11个元素 比左图多了一个D元素 这是结构化构造要求增加的 如果是一个大的系统 则这种增加是不理想的 这是可将写成一个子程序 有两个调用语句来调用 例2 非结构化的流程图 如何转换为结构化流程图 第六章详细设计 与上图等价的结构化流程图 第六章详细设计 例3 非结构化流程图 如何转换为结构化流程图 第六章详细设计 与左图等价的结构化流程图在上图中使用了3组合判定P1和P2 P1andP2 表示P1和P2的 非 改变构造执行顺序的例子 T 第六章详细设计 结构化课堂练习 课堂练习 第六章详细设计 结构化课堂练习答案 第六章详细设计 结构化二次修正答案 第六章详细设计 6 5体系结构设计与优化应鼓励设计阶段早期对结构多做精化 表示软件在开发出来以后应不断精化和评估 以达到 最好 便于优化也是开发软件体系结构表示的一个重要的因素 对于性能要求很高的应用来说 可能还需要在设计阶段的后期甚至编码阶段进行优化 软件开发者应该注意 一小部分的程序约 10 20 往往占用大部分的处理时间 50 80 因此 以下的方法对于性能要求很高的应用来说并非是不合理的 第六章详细设计 1 开发和精化程序结构 且不考虑关键性能而进行的优化 2 使用可以提高运行性能的CASE工具来孤立低效的部分 3 在后期设计中 对有可能最消耗时间的模块的算法进行时间优化 4 用适当的程序设计语言编码5 孤立出那些大量占用处理器时间的模块 6 如果需要 用依赖机器的语言重新设计和编码 提高效率 这方法遵循了这种格言 先使其工作起来 再设法使其更好的工作 第六章详细设计 6 6接口设计体系结构设计中的接口设计主要包括三个方面 1 设计软件模块间的接口 2 设计模块和其他非人的信息生产者和消费者 比如外部实体 的接口 3 设计人 用户 和计算机间的接口 内部和外部接口设计内部程序接口的设计有时称为模块间的接口设计特性 它是由模块间传递数据和程序设计语言的共同导致的 分析模块中包括了足够的信息用于模块间的接口设计 数据流图描述了数据对象在系统中流动时发生的变换 DFD中的变换被映射到程序结构的模块中 因此 每个DFD变换的输入 输出的箭头 数据对象 必须映射到该变换对应的模块接口上 第六章详细设计 外部接口设计始于对分析模型的DFD变换中的每个外部实体的评估 内 外部接口设计必须与模块内的数据验证和错误处理算法紧密相关 由于副作用往往是程序接口进行传递的 必须对从某模块流向另一个模块的数据进行检查 以保证符合需求分析时要求的确定 第六章详细设计 6 7人 机交互的界面设计人 机交互部分的设计结果 将对用户的情绪和工作效率产生直接的重要影响 人机界面设计的水平 则会使系统对用户产生吸引力 用在使用系统的过程中 会感到兴奋 能激发用户的创造力 提高工作效率 相反 用户在使用过程中会感到不方便 不习惯 甚至会产生厌烦和恼怒的情绪 第六章详细设计 6 7 1界面设计宏观分类界面设计的种类宏观上可分为两种 工程化界面和人文界面1工程化界面是技术人员较熟悉的类似开发平台的界面 如VF VB等自动生成界面 2人文界面是针对非工程化需求的应用软件界面 如 家政管理 游戏等 这两中类型的界面是比较容易界定 但不能混用 人文界面采用拟人及虚拟现实的手法来设计界面 使用户有十分的亲切感 特别适合不懂计算机人员的使用与操作 而工程界面常用于行业软件 企业软件等专业应用软件中 在界面风格与人文界面有着本质上的区别 第六章详细设计 第六章详细设计 第六章详细设计 第六章详细设计 第六章详细设计 第六章详细设计 6 7 2人机界面的交互方式目前已经流行着多种人 机界面的交互方式 通常简称为人 机交互 Human Computerinteraction 方式 人 机交互方式 在很大程度上 决定于硬件的水平 最初的人 机交互只能通过电传打字机把一个一个字符打印在打印纸上 后来 有了CRT 就能把字符显示在屏幕上的任何位置 并能高分辨地显示图形 二维 多维和动态 还能支持鼠标 多窗口 以及图像处理 图像增强和图像的几何处理 今天 随着硬件的不断发展和完善 已经出现了可以把字符 图形 图像 视频和音频结合为一体的多媒体人 机交互方式 所以每一种方式都有不同的性能 特点和适用范围 在进行人 机界面设计时 要按照不同用户 任务类型选择和设计适合的人 机交互方式 人 机交互方式一般分为以下几种 第六章详细设计 一 问答式对话回答式对话是最简单的人 机交互方式 它是由系统启动的对话 系统使用类自然语言的指导性提问 提示用户进行回答 用户的回答一般通过键盘输入字符串做出 最简单的回答式对话是采用非选择形式 即系统要求用户的回答限制在Yes No上 较复杂一些的是把回答限制在很少范围的答案集内 用户通过字符或数码输入做出回答 这类用户响应也可称为菜单响应 适用对象主要是偶然型或生疏型用户 第六章详细设计 二 菜单界面菜单交互方式是指让用户在一组多个可能对象中进行选择 各种可能的选择项以菜单项的形式分层显示在屏幕上 菜单界面适用于熟悉系统要完成的功能 但又缺少计算机经验的用户 对于熟练型或专家型用户 如果系统响应快也可以使用 但不如命令语言灵活和高效 三 功能键功能键用来代替用户输入命令或选取功能菜单 从而方便地完成系统功能 使用功能键可以减少用户的记忆负担 加快操作速度以及减少命令的输入的出错率 但功能键的使用应趋于标准化 组合功能键的定义应尽量考虑用户的记忆量和出错率 第六章详细设计 第六章详细设计 四 图符 标 界面图符 icon 方式实际上也属于菜单交互方式 只是它使用图符来代表文本菜单的菜单项 使用图符可以形象 逼真地反映菜单的功能 从而使理解 学习和操作变得更加容易 但使用图符方式必须具有图形硬软件环境的支持 而且它的使用以占据较大的屏幕空间和附加较多的图符文字说明为代价 第六章详细设计 图标界面 第六章详细设计 五 填表界面计算机系统大量地应用于数据处理领域 而数据通常以数据库方式进行存储 处理和显示 由于一般数据库的信息包含许多字段 所以一种很自然的界面形式是填表界面 它是由系统驱动的具有高度结构形式的输入表格 让用户按照要求输入数据来填写 其特点是全部的输入 输出信息同时显示在屏幕上 所以只要表格设计得好 那么操作步骤是不言而喻的 在填表操作时 应允许用户在自由移动光标定位到所需的字段并进行输入 第六章详细设计 第六章详细设计 六 命令语言界面和以上的几种交互方式不同 他们都是由系统驱动的 命令语言是用户驱动的对话 即由用户发起和控制对话 用户按照命令语言文法 输入命令给系统 然后 系统解释命令语言 完成命令语言规定的功能 并显示运行结果 七 查询语言界面查询语言是用户与数据库的交互媒介 是用户定义 检索 修改和控制数据的工具 查询语言是非过程化的准自然语言 用户可以使用类自然语言的语言的语句方式来定义 查询或更新数据库 查询语言只需给出要做什么的操作要求 而不必描述应如何做的过程所以用户使用查询语言界面时一般可以不需要通常的程序设计知识 因而方便了用户的使用 第六章详细设计 6 7 3人 机界面的开发过程一般说来 除了人一机界面开发工具 如UIMS 用户界面管理系统 或UIDE 用户界面开发环境 外 人一机界面软件不是一个独立的软件系统 它总是要嵌入到待开发的应用系统中去 所以开发具有友好人一机界面的应用系统时 除了要致力于分析 设计应用系统功能外 还要分析 设计系统的人一机界面 可采用软件工程过程模型来开发用户界面 主要采用瀑布模型和原型模型 1 人一机界面开发的瀑布式模型采用瀑布模型开发人一机界面软件部分时 要把与用户 界面以及系统的使用性能的相关内同结合到系统的分析 设计和评估中 它与开发一般软件系统的差别在于 增加或强调了与用户特性及人 机交互有关的内容 下面简单说明一下各阶段的任务 第六章详细设计 1 调查用户的界面要求和环境由于判断一个系统的优劣 在很大的程度上取决于未来用户的使用评价 因此 在系统开发的最初阶段尤其要重视系统人一机界面部分的用户需求 必须尽可能广泛地向系统未来的各类直接或潜在用户进行调查 也要注意调查人一机界面涉及的硬 软件环境 2 用户特性分析调查用户类型 定性或定量地测量用户特性 了解用户的技能和经验 预测用户对不同界面设计的反响 3 任务分析从人和计算机两方面共同入手 进行系统的任务分析 并划分各自承担或共同完成的任务 然后进行功能分解 画出数据流图 4 建立界面模型确定描述模型的规格说明语言 建立界面需求规格说明 第六章详细设计 5 任务分析根据来自用户特性和任务分析的界面需求规格说明 详细分解任务动作 并分配给用户或计算机或二者共同承担 确定适合于用户的系统工作方式 6 环境设计确定系统的硬 软件支持环境带来的限制 甚至包括了解工作场所 向用户提供的各类文档要求等 7 界面类型设计根据用户特性 以及系统任务和环境 制定最为适合的界面类型 包括确定人一机交互任务的类型 估计能为交互提供的支持级别和复杂程度 8 交互设计根据界面需求规格说明和对话设计准则 以及所设计的界面类型 进行界面结构模型的具体设计 考虑存取机制 构造界面结构图 第六章详细设计 9 屏幕显示和布局设计首先制定屏幕 screen 显示信息的内容和次序 然后进行屏幕总体布局和显示结构设计 10 帮助和出错信息设计决定和安排帮助信息和出错信息的内容 组织查询方法 并进行出错信息 帮助信息的显示格式设计 第六章详细设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论