软件工程导论第6章详细设计【教学讲义】

上传人:小** 文档编号:44857337 上传时间:2018-06-14 格式:PPT 页数:131 大小:1.73MB
返回 下载 相关 举报
软件工程导论第6章详细设计【教学讲义】_第1页
第1页 / 共131页
软件工程导论第6章详细设计【教学讲义】_第2页
第2页 / 共131页
软件工程导论第6章详细设计【教学讲义】_第3页
第3页 / 共131页
软件工程导论第6章详细设计【教学讲义】_第4页
第4页 / 共131页
软件工程导论第6章详细设计【教学讲义】_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《软件工程导论第6章详细设计【教学讲义】》由会员分享,可在线阅读,更多相关《软件工程导论第6章详细设计【教学讲义】(131页珍藏版)》请在金锄头文库上搜索。

1、第六章 详细设计6.1 结构程序设计 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.6 小结习题n在软件的总体设计中,已经将系统划分为多个 模块,并将它们按照一定的原则组装起来,同 时确定了每个模块的功能及模块与模块之间的 外部接口。n详细设计是软件设计的第二阶段,目的是为软 件结构图( SC图或HC图)中的每一个模块确 定使用的算法和块内数据结构,并用某种选定 的表达工具给出清晰的描述。详细设计一、基本任务n回答的关键问题:“怎样具体地实现这个系 统”n主要任务是设计出程序的“蓝图”,供程序 员日后根据这个蓝图编写出实际的程

2、序代 码。n注意:设计程序的蓝图,不是具体地编写 程序。n设计程序主要采用结构化的程序设计方法 。1、为每个模块进行详细的算法设计。 2、为模块内的数据结构进行设计。 3、对数据库进行物理设计,即确定数据库的物理结构。 4、其他设计:根据软件系统的类型,还可以要进行以下设 计:v(1)代码设计。v(2)输入/输出格式设计。v(3)人机对话设计。 5、编写详细设计说明书。 6、评审。对处理过程的算法和数据库的物理结构都要评审 。详细设计二、基本步骤n确定模块如何实现n编写详细设计说明书n制定单元测试计划n详细设计评审6.1 结构程序设计1.什么是结构程序设计n经典定义:如果一个程序的代码块仅仅通

3、过顺序、 选择和循环这3种基本控制结构进行连接,并且每个 代码块只有一个入口和一个出口,则称这个程序是 结构化的。n结构程序设计是尽可能少用GO TO语句的程序设计方 法。最好仅在检测出错误时才使用GO TO语句,而且 应该总是使用前向GO TO语句。如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,则称为经典的结构程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。三种基本的控制结构 其他常

4、用的控制结构 结构程序设计2.逐步求精的含义n详细设计阶段逐步求精的含义:把一个模块的 功能逐步分解细化为一系列具体的处理步骤或 某种高级语言的语句。n总体设计阶段逐步求精的含义:把一个复杂问 题的解法分解和细化成一个由许多模块组成的 层次结构的软件系统。结构程序设计3.结构程序设计技术的优越性 (1)自顶向下逐步求精的方法符合人类解决复杂问题 的普遍规律,因此可以显著提高软件开发工程的 成功率和生产率。 (2)用先全局后局部、先整体后细节、先抽象后具体 的逐步求精过程开发出的程序有清晰的层次结构 ,因此容易阅读和理解。 (3)不使用GO TO语句仅使用单入口单出口的控制结 构,使得程序的静态

5、结构和它的动态执行情况比 较一致,易于阅读和理解。结构程序设计(4)控制结构有确定的逻辑模式,编写程序代码 只限于很少几种直截了当的方式,因此源程序 清晰流畅。 (5)程序清晰和模块化使得在修改和重新设计一 个软件时可以重用的代码量最大。 (6)程序的逻辑结构清晰,有利于程序正确性证 明。6.2 人机界面设计人机界面(Human Computer Interface ,简称HCI)通常也称为用户界面界面设计主要包括三个方面: 设计软件构件之间的接口 设计模块和其他非人的信息生产者和消 费者的界面 设计人(如用户)和计算机间的界面 按照以为用户中心主义的观点,软件设计 的核心内容,不是软件本身的

6、功能、性能 ,也就是说,不是技术上的东西。软件设 计的核心应该是用户,应该是这个软件能 够为用户提供什么样的功能和怎样提供这 些功能。软件是否成功,不是由技术专家 使用专业的标准来评判,而是由用户来评 判,由用户是否认可、是否喜欢来评判。(1)人类感知基础用户都是提供自己的感官接收来自计算机的信息,然 后通过自己的操作向计算机发出指令。在计算机向用户发出信息的方式中,目前最常用的有 视觉信息、听觉信息和文字信息。视觉信息包括图形、颜 色、动画、图像等等,我们在计算机屏幕上看到的绝大多 数信息都是视觉信息。视觉信息的特点是信息量大,人可 以快速地识别和反应。听觉信息主要是声音,包括音乐、 声响等

7、,它的主要特点是没有方向性,即使用户没有关注 软件,也能够感知到。文字信息其实不是单独存在的,它 可以存在与视觉信息里,就是屏幕上显示的文本。软件设计应该以使用软件的人为中心,那么使用软件 的人有什么特点呢?(2)用户的特性:对于软件设计人员来说,必需树立这样几个 基本观念:a、用户是懒惰的b、用户是笨的c、用户是容易出错的d、用户是健忘的。e、用户的注意力很容易涣散f、用户的脾气不好。(3)任务的特殊要求在进行界面设计时,必需对软件所要完成的 任务有准确的认识。有的任务是实时型任务 ,对每一项响应都有时间限制;有的任务是 监察型任务,那么就要给用户提供方便的、 易于观察的显示输出;有的任务是

8、可中断的 ,比如用WORD打字,那么就要有两次启动 之间的衔接问题;有的任务对可靠性要求很 高,是不可错的,那么就要在容错设计上多 下工夫界面的设计原则分析用户类型 应用程序和界面分离 一致性 尽量减少用户工作 提供反馈 出错处理和帮助功能 增加可视化图形表示在有关界面设计的著作中,Theo Mandel创造了三条黄金原则 : 置用户于控制之下 减少用户的记忆负担 保持界面一致 黄金规则:置用户于控制之下Mandel定义的一组允许用户操作控制的原则:以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式提供灵活的交互允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交互

9、使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互黄金规则:减少用户的记忆负担Mandel定义了一组设计原则,使界面能够减 少用户记忆负担:减少对短期记忆的要求建立有意义的缺省定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息缺省值黄金规则:保持界面一致 允许用户将当前任务放入有意义的语境在应用系列内保持一致性如过去的交互模型已建立起了用户期望,除非有迫不得已 的理由,不要改变它在设计人机界面的过程中,几乎总会遇到下 述4个问题:系统响应时间、用户帮助设施 、出错信息处理和命令交互。不幸的是,许 多设计者直到设计过程后期才开始考虑这些 问题,这样做往往导

10、致出现不必要的设计反 复、项目延期和用户产生挫折感。最好在设 计初期就把这些问题作为重要的设计问题来 考虑,这时修改比较容易,代价也低。下面 讨论这4个设计问题。6.2.1 设计问题一般说来,系统响应时间指从用户完成某个控制动作(例如 ,按回车键或点击鼠标),到软件给出预期的响应(输出信 息或做动作)之间的这段时间。系统响应时间有两个重要属性,分别是长度和易变性。易变性指系统响应时间相对于平均响应时间的偏差。用户响应时间应该适中,系统响应时间过长,用户就会感到不安和沮丧,而响应时间过短有时会造成用户加快操作 节奏,从而导致错误。1. 系统响应时间响应时间(系统延迟)系统闭合等级: 极限闭合等级

11、: 15秒 复杂闭合等级: 415秒 简单闭合等级: 24 秒 最简单闭合等级: 12 秒 瞬时响应: 30行李重量 W 30免费国内乘客外国乘客头等舱其他舱残疾乘客正常乘客(W-30) 2(W-30) 4残疾乘客正常乘客(W-30) 3(W-30) 6头等舱其他舱残疾乘客正常乘客(W-30) 4(W-30) 8残疾乘客正常乘客(W-30) 6(W-30) 12v判定树本质上同判定表是一样的,当用户不易 接受判定表这种描述方式时,我们可以用判定 树的形式,判定树是一种图形表示,更易被用 户理解。优点在于,它的形式简单到不需要任 何说明,一眼说可以看出其含义v判定表与判定树并不适用于作为一种通用

12、的 设计工具,通常将之用于辅助测试PDL6.过程设计语言PDLnPDL也称为伪码,是用正文形式表示数据 和处理过程的设计工具。nPDL具有严格的关键字外部语法,用于定 义控制结构和数据结构;另一方面,PDL 表示实际操作和条件的内部语法通常又是 灵活自由的,以便可以适应各种工程项目 的需要。例: if X is not negativethenreturn(square root of X as a real number);elsereturn(square root of -X as an imaginary number);外层语法IF-ELSE-THEN是确定的,内层操作“square

13、 root of X ”是不确定的。PDL程序结构:顺序结构选择结构(IF-ELSE、IF-ORIF-ELSE、CASE)重复结构(FOR、WHILE、UNTIL)出口结构(ESCAPE:退出本层结构 CYCLE:循环内部进入循环的下一次)扩充结构 1、模块定义 PROCEDURE 模块名(参数) 2、模块调用 CALL 模块名(参数) 3、数据定义 DECLARE 属性 变量名, 4、输入/输出 GET/PUT4.7.4 PDL4.7.4 PDL语言语言(1)顺序结构(采用 自然语言描述)处理S1处理S2处理Sn(2)选择结构1)IF-ELSE结构:IF 条件处理S1 或 ELSE处理S2E

14、NDIFIF 条件处理 SENDIFPDL表示的程序结构:2) IF-ORIF-ELSE 结构:IF 条件1处理 S1ORIF 条件2ELSE 处理 SnENDIF3) CASE 结构:CASE OFCASE(1)处理 S1CASE(2)处理 S2ELSE 处理 SnENDCASE3)重复结构(1)FOR 结构: (2)while 结构: (3)until 结构:For I=1 to n while 条件 repeat循环体 循环体 循环体 end for endwhile until 条件4)出口结构(1)escape 结构(退出本层结构) (2) cycle 结构(循环内部进入循环的下一步 )while 条件 l : while 条件处理 s1 处理 s1escape 1 if 条件 cycle l if 条件 处理 s2 处理 s2endwhile endwhilel : 5)扩充结构(1)模块定义: (2) 模块调用:procedure 模块名(参数)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号