《软件工程详细设计.ppt》由会员分享,可在线阅读,更多相关《软件工程详细设计.ppt(93页珍藏版)》请在第壹文秘上搜索。
1、软件工程软件工程第六章第六章 详细设计详细设计v6 . 1 结构程序设计结构程序设计 v6 . 2 人机界面设计人机界面设计 v6 . 3 过程设计的工具过程设计的工具 v6 . 4 面向数据结构的设计方法面向数据结构的设计方法 v6 . 5 程序复杂程度的定量度量程序复杂程度的定量度量v6 . 6 小结小结软件工程软件工程1 、详细设计介绍、详细设计介绍v详细设计的根本目标是:详细设计的根本目标是:v确定应该怎样具体地实现所要求的系统。确定应该怎样具体地实现所要求的系统。v经过这个阶段的设计工作,应该得出对目标经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这系统的
2、精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写个描述直接翻译成用某种程序设计语言书写的程序。的程序。软件工程软件工程详细设计基本任务详细设计基本任务v主要确定每个模块具体执行过程,有:主要确定每个模块具体执行过程,有:v为每个模块进行详细的算法设计。为每个模块进行详细的算法设计。v为模块内的数据结构进行设计。为模块内的数据结构进行设计。v对数据库进行物理设计。对数据库进行物理设计。v其他设计,如:代码设计、输入输出格式其他设计,如:代码设计、输入输出格式设计、人机对话设计。设计、人机对话设计。v编写详细设计说明书。编写详细设计说明书。v评审评审软件工程软件工程6 .1
3、结构程序设计(结构程序设计( SP )v一、什么是结构化程序?一、什么是结构化程序?v最早由最早由 E . W . Di jkstra 在在 60 年代中期提出。年代中期提出。v经典定义:如果一个程序的代码块仅仅通过经典定义:如果一个程序的代码块仅仅通过顺序、顺序、选择和循环选择和循环这这 3 种基本控制结构进行连接,而且每种基本控制结构进行连接,而且每个代码块只有个代码块只有一个入口和一个出口一个入口和一个出口,则称这个程序,则称这个程序是结构化的。是结构化的。v比较全面的定义:结构程序设计是尽可能少用比较全面的定义:结构程序设计是尽可能少用 GOTO 语句的程序设计方法,最好仅仅在检测出错
4、语句的程序设计方法,最好仅仅在检测出错误时才使用误时才使用 GOTO 语句,而且应该总是使用前向语句,而且应该总是使用前向的的 GOTO 语句。语句。软件工程软件工程二、结构化程序设计二、结构化程序设计(S P)主要原则主要原则v (1 )使用语言中的顺序、选择、重复等有限的基本使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。控制结构表示程序逻辑。v ( 2 )选用的控制结构只准许有一个入口和一个出口。选用的控制结构只准许有一个入口和一个出口。 v( 3 )复杂结构应该用基本控制结构进行组合嵌套来复杂结构应该用基本控制结构进行组合嵌套来实现。实现。 v( 4 )严格控制严格控制
5、GOTO 语句,仅在下列情形才可使用:语句,仅在下列情形才可使用:用一个非结构化的程序设计语言去实现一个结构化的构用一个非结构化的程序设计语言去实现一个结构化的构造。造。 在某种可以改善而不是损害程序可读性的情况下。在某种可以改善而不是损害程序可读性的情况下。软件工程软件工程v三、五种基本的结构化控制结构(程序流三、五种基本的结构化控制结构(程序流程图表示程图表示 )软件工程软件工程6 .2 入机界面设计入机界面设计v人机界面通常也称为用户界面人机界面通常也称为用户界面v用户界面友好性用户界面友好性属软件性特性,独立于所有属软件性特性,独立于所有具体功能具体功能v用户界面是否友好很大程度由人的
6、主观因素用户界面是否友好很大程度由人的主观因素决定。决定。v问:请说说你心目中友好的界面是怎样的?问:请说说你心目中友好的界面是怎样的?软件工程软件工程v用户界面应具备的特性用户界面应具备的特性v可使用性可使用性如:使用简单、界面中所用术语应该标准化,并保持如:使用简单、界面中所用术语应该标准化,并保持一致性;拥有一致性;拥有 He lp 功能;较快的系统响应速度和较功能;较快的系统响应速度和较低的系统开销;具有容错能力。低的系统开销;具有容错能力。v灵活性灵活性能满足不同用户的要求;可以制定和修改界面方式;能满足不同用户的要求;可以制定和修改界面方式;能提供各类的系统响应信息,如反馈、提示、
7、帮助、能提供各类的系统响应信息,如反馈、提示、帮助、报错等;与其他软件系统应有标准的界面。报错等;与其他软件系统应有标准的界面。v复杂性复杂性在完成预定功能的前提下,用户界面越简单越好。在完成预定功能的前提下,用户界面越简单越好。v可靠性可靠性用户界面能保证用户正确、可靠地使用系统,保证有用户界面能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。关程序和数据的安全性。软件工程软件工程6. 2 .1 设计问题设计问题v在设计人机界面过程中,几乎总会遇到以下在设计人机界面过程中,几乎总会遇到以下 4 个问题:个问题: v 系统响应时间系统响应时间 v 用户帮助信息用户帮助信息 v 出错信
8、息处理出错信息处理 v 命令交互命令交互软件工程软件工程v 系统响应时间系统响应时间v系统响应时间指从用户完成某个控制动作到系统响应时间指从用户完成某个控制动作到软件给出预期的响应之间的这段时间软件给出预期的响应之间的这段时间。有两。有两个重要属性:个重要属性:v长度:响应时间的长短;长度:响应时间的长短;v易变性:响应时间相对于平均响应时间的偏易变性:响应时间相对于平均响应时间的偏差。差。软件工程软件工程v 用户帮助信息用户帮助信息v具体设计帮助信息时,应该解决以下问题:具体设计帮助信息时,应该解决以下问题:v在用户与系统交互期间,是否在任何时候都能获在用户与系统交互期间,是否在任何时候都能
9、获得关于系统任何功能的帮助信息?(全部或部分)得关于系统任何功能的帮助信息?(全部或部分)v用户怎样请求帮助?(帮助菜单、功能键、用户怎样请求帮助?(帮助菜单、功能键、 Help 命令)命令)v怎样显示帮助信息?(独立窗口、某个参考文档、怎样显示帮助信息?(独立窗口、某个参考文档、屏幕固定位置显示简短提示)屏幕固定位置显示简短提示)v用户怎样返回正常的交互方式?(返回按钮、功用户怎样返回正常的交互方式?(返回按钮、功能键)能键)v怎样组织帮助信息怎样组织帮助信息 ? (通过关键字访问、层次结(通过关键字访问、层次结构、超文本结构)构、超文本结构)软件工程软件工程 出错信息处理出错信息处理v出错
10、信息或警告信息应具有的属性:出错信息或警告信息应具有的属性:v是用户可以理解的术语是用户可以理解的术语v应该提高有助于从错误中恢复的建设性意见应该提高有助于从错误中恢复的建设性意见v信息应该指出错误可能导致哪些负面后果信息应该指出错误可能导致哪些负面后果(如破坏数据文件)等(如破坏数据文件)等v信息应该伴随视觉听觉上的提示,如警告声信息应该伴随视觉听觉上的提示,如警告声等等v信息不能带有指责色彩信息不能带有指责色彩软件工程软件工程 命令交互命令交互v多数情况,用户应该既可以从多数情况,用户应该既可以从菜单菜单中选择命中选择命令,也可以通过令,也可以通过键盘键盘输入命令。输入命令。v提供命令交互
11、应考虑的问题提供命令交互应考虑的问题:v是否每个菜单选项都有对应的命令?是否每个菜单选项都有对应的命令?v采用何种命令形式?(控制序列,如采用何种命令形式?(控制序列,如 ctrl ;功能键;键入命令);功能键;键入命令)v学习和记忆命令的难度多大?忘了怎么办?学习和记忆命令的难度多大?忘了怎么办?v用户是否可以定制或缩写命令?用户是否可以定制或缩写命令?软件工程软件工程6 . 2 . 3 设计过程设计过程v用户界面设计是一个迭代的过程,包括以下用户界面设计是一个迭代的过程,包括以下步骤:步骤:软件工程软件工程6 . 2. 3 人机界面设计指南人机界面设计指南v界面分类界面分类v一、一般交互界
12、面一、一般交互界面v二、信息显示界面二、信息显示界面v三、数据输入界面三、数据输入界面软件工程软件工程一、一般交互界面一、一般交互界面v1 、基本设计指南、基本设计指南v保持一致性;保持一致性;v提供有意义的反馈和帮助信息;提供有意义的反馈和帮助信息;v执行较大破坏性动作之前要求用户确认;执行较大破坏性动作之前要求用户确认;v允许犯错误,允许中断或撤销绝大多数操允许犯错误,允许中断或撤销绝大多数操作;作; v 减少两次操作之间必须记忆的信息量;减少两次操作之间必须记忆的信息量;v按功能对动作分类,并据此设计屏幕布局按功能对动作分类,并据此设计屏幕布局v用简单动词或短语作为命令名用简单动词或短语
13、作为命令名软件工程软件工程2 、交互界面的基本类型、交互界面的基本类型v菜单界面菜单界面v 对话对话 v 其他其他软件工程软件工程v菜单界面菜单界面v按显示形象分类:按显示形象分类:v正文菜单、图标菜单、正文图标混合菜单。正文菜单、图标菜单、正文图标混合菜单。v按屏幕位置和操作风格分类按屏幕位置和操作风格分类v固定、浮动、下拉式、嵌入式固定、浮动、下拉式、嵌入式软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程v 对话框对话框v对话形式对话形式v必须回答式、无需回答式、警告式必须回答式、无需回答式、警告式v对话实现方式对话实现方式v标准对话、定做式对话标准对话、定做式对话v其他其
14、他v图像图像v窗口窗口软件工程软件工程v二、信息显示界面二、信息显示界面 v1 、界面显示的基本元素、界面显示的基本元素 v 数据数据v 字符字符v 图形图形v 报告报告软件工程软件工程2 、基本设计指南、基本设计指南v可用多种不同方式显示信息。如用图形表示可用多种不同方式显示信息。如用图形表示数据数据v只显示与当前工作内容有关的信息只显示与当前工作内容有关的信息v使用一致的标记、缩写和可预知的颜色。使用一致的标记、缩写和可预知的颜色。v使用使用窗口分隔窗口分隔不同类型的信息不同类型的信息v使用使用模拟方式模拟方式表示信息。表示信息。软件工程软件工程软件工程软件工程界面举例网上红心大战界面举例
15、网上红心大战软件工程软件工程三、数据输入界面三、数据输入界面v1 、基本设计指南、基本设计指南v尽量减少用户输入的动作尽量减少用户输入的动作v保持信息显示和数据输入的一致性保持信息显示和数据输入的一致性v允许用户自定义输人,如键盘输入或鼠标允许用户自定义输人,如键盘输入或鼠标输入输入v当前动作语境中,不适用的命令不起作用。当前动作语境中,不适用的命令不起作用。v让用户控制交互流,如用户能跳过不必要让用户控制交互流,如用户能跳过不必要的动作的动作v消除冗余的输入消除冗余的输入软件工程软件工程界面举例MSN软件工程软件工程界面举例软件工程软件工程颜色使用指南:颜色使用指南: v一个窗口中不应该出现
16、一个窗口中不应该出现5种以上不同色系的颜色。种以上不同色系的颜色。一般的,尽量少用不同的颜色总是好的。一般的,尽量少用不同的颜色总是好的。v如果一个图表中仅包含几种颜色,背景应该选用其如果一个图表中仅包含几种颜色,背景应该选用其中一种颜色的补色:如果一幅图中包含许多颜色,中一种颜色的补色:如果一幅图中包含许多颜色,背景应该选用一种中性的颜色,如灰色。背景应该选用一种中性的颜色,如灰色。v如果两个相邻的颜色不是特别和谐,可以用细的黑如果两个相邻的颜色不是特别和谐,可以用细的黑色边框将它们分开。色边框将它们分开。v背景和字体颜色应选用对比度强的颜色。背景和字体颜色应选用对比度强的颜色。v颜色的应用要适度,装饰性的使用服从功能性的使颜色的应用要适度,装饰性的使用服从功能性的使用。用。v区域的颜色实际上能够影响他的观察尺寸。区域的颜色实际上能够影响他的观察尺寸。v使用高饱和度使用高饱和度(亮亮)颜色的大区域是不明智的。颜色的大区域是不明智的。v红色和蓝色具有最强的深度不一致的效果,红色看红色和蓝色具有最强的深度不一致的效果,红色看起来近,蓝色看起来远。起来近,蓝色看起来远。软件工程软件工程6