《结构化详细设计》PPT课件.ppt





《《结构化详细设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《结构化详细设计》PPT课件.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 软件工程软件工程 第七讲第七讲 结构化详细设计结构化详细设计 朱建凯朱建凯上节课的问题上节课的问题信息隐藏的意义?信息隐藏的意义?模块化的粒度为什么不是越大或者越小越好?模块化的粒度为什么不是越大或者越小越好?信息隐藏的意义在于将来维护和测试时,将来修改程序时由于疏忽而带来的错误不会传播到软件的其他部分;另外将来升级替换模块、重用模块都有好处。粒度大不方便错误定位和修改,不方便重用;粒度小导致模块之间需要更多的信息交流。本次课程需要掌握的内容本次课程需要掌握的内容人机交互设计(了解)人机交互设计(了解)如何提高程序的可重用性、可扩充性和健壮性如何提高程序的可重用性、可扩充性和健壮性(重要)(
2、重要)什么是结构程序设计?(重要)什么是结构程序设计?(重要)伪码、伪码、PAD、盒图、程序流程图(非常重要)、盒图、程序流程图(非常重要)前面三个方法的优势,程序流程图的缺陷(非前面三个方法的优势,程序流程图的缺陷(非常重要)常重要)详细设计阶段的根本目标是确定应该怎样具体详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统。地实现所要求的系统。详细设计的目标不仅仅是逻辑上正确地实现每详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。尽可能简明易懂。人机界面设计是接口设计的一个重要的组成部人机
3、界面设计是接口设计的一个重要的组成部分。分。人机界面的设计质量,直接影响用户对软件产人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够重视。此,必须对人机界面设计给予足够重视。5.3.1 人机界面设计人机界面设计 在设计人机界面的过程中,几乎总会遇到下述在设计人机界面的过程中,几乎总会遇到下述4个问题:个问题:系统响应时间系统响应时间用户帮助设施用户帮助设施出错信息处理出错信息处理命令交互命令交互一、设计问题一、设计问题1.系统响应时间系统响应时间 一般说来,系统响应时间指从用户完成某个
4、控一般说来,系统响应时间指从用户完成某个控制动作制动作(例如,按回车键或点击鼠标例如,按回车键或点击鼠标),到软件给出,到软件给出预期的响应预期的响应(输出信息或做动作输出信息或做动作)之间的这段时间。之间的这段时间。系统响应时间有两个重要属性,分别是长度和系统响应时间有两个重要属性,分别是长度和易变性。易变性。详细设计中,应针对有较长处理时间的操作设详细设计中,应针对有较长处理时间的操作设定系统响应时间,根据设定的响应时间来决定具体定系统响应时间,根据设定的响应时间来决定具体实现方案。实现方案。2.用户帮助设施用户帮助设施 常见的帮助设施可分为集成的和附加的两类。常见的帮助设施可分为集成的和
5、附加的两类。集成的帮助设施从一开始就设计在软件里面,集成的帮助设施从一开始就设计在软件里面,通常,它对用户工作内容是敏感的。通常,它对用户工作内容是敏感的。附加的帮助设施是在系统建成后再添加到软件附加的帮助设施是在系统建成后再添加到软件中的,在多数情况下它实际上是一种查询能力有限中的,在多数情况下它实际上是一种查询能力有限的联机用户手册。的联机用户手册。(1)在用户与系统交互期间,是否在任何时候都要在用户与系统交互期间,是否在任何时候都要求能获得关于系统任何功能的帮助信息求能获得关于系统任何功能的帮助信息?(2)让用户怎样请求帮助让用户怎样请求帮助?(3)怎样显示帮助信息怎样显示帮助信息?(4
6、)用户怎样从帮助返回到正常的交互方式中用户怎样从帮助返回到正常的交互方式中?(5)怎样组织帮助信息怎样组织帮助信息?在详细设计中,应该先确定具体的用户帮助设施的选择3.出错信息处理出错信息处理出错信息和警告信息,是出现问题时交互式系统给出错信息和警告信息,是出现问题时交互式系统给出的出的“坏消息坏消息”。详细设计中,应该确定统一的出错信息提示格式和详细设计中,应该确定统一的出错信息提示格式和所有可能的出错提示语句。所有可能的出错提示语句。一般说来,交互式系统给出的出错信息或警告信息,一般说来,交互式系统给出的出错信息或警告信息,应该具有下述应该具有下述 5 个方面注意事项。个方面注意事项。1.
7、信息应该用用户可以理解的术语描述问题。信息应该用用户可以理解的术语描述问题。2.信息应该提供有助于从错误中恢复的建设性意信息应该提供有助于从错误中恢复的建设性意见。见。3.信息应该指出错误可能导致哪些负面后果。信息应该指出错误可能导致哪些负面后果。4.信息应该伴随着听觉上或视觉上的提示。信息应该伴随着听觉上或视觉上的提示。5.信息不能带有指责色彩,也就是说,不能责怪信息不能带有指责色彩,也就是说,不能责怪用户。用户。4.命令交互命令交互详细设计中应该确定命令交互方式,在提供命令交详细设计中应该确定命令交互方式,在提供命令交互方式时,必须考虑下列设计问题。互方式时,必须考虑下列设计问题。1.是否
8、每个菜单功能项都要有对应的快捷键是否每个菜单功能项都要有对应的快捷键?2.采用何种命令形式采用何种命令形式?3.学习和记忆命令的难度有多大学习和记忆命令的难度有多大?忘记了命令怎么忘记了命令怎么办办?4.用户是否可以定制或缩写命令用户是否可以定制或缩写命令?用户界面设计是一个迭代的过程,也就是说,通常用户界面设计是一个迭代的过程,也就是说,通常先创建设计模型,再用原型实现这个设计模型,并先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改。由用户试用和评估,然后根据用户意见进行修改。二、用户界面设计过程二、用户界面设计过程用户界面设计主要依靠设计者的经验。用户
9、界面设计主要依靠设计者的经验。1.一般交互指南一般交互指南一般交互指南涉及信息显示、数据输入和系统整体一般交互指南涉及信息显示、数据输入和系统整体控制,因此,这类指南是全局性的,忽略它们将承控制,因此,这类指南是全局性的,忽略它们将承担较大风险。担较大风险。三、人机界面设计指南三、人机界面设计指南(1)保持一致性。保持一致性。(2)提供有意义的反馈提供有意义的反馈。(3)在执行有较大破坏性的动作之前要求用户确认。在执行有较大破坏性的动作之前要求用户确认。(4)允许取消绝大多数操作。允许取消绝大多数操作。(5)减少在两次操作之间必须记忆的信息量。减少在两次操作之间必须记忆的信息量。(6)提高对话
10、、移动和思考的效率。提高对话、移动和思考的效率。(7)允许犯错误。允许犯错误。(8)按功能对动作分类,并据此设计屏幕布局。按功能对动作分类,并据此设计屏幕布局。(9)提供对用户工作内容敏感的帮助设施。提供对用户工作内容敏感的帮助设施。(10)用简单动词或动词短语作为命令名。用简单动词或动词短语作为命令名。2.信息显示指南信息显示指南如果人机界面显示的信息是不完整的、含糊的或难如果人机界面显示的信息是不完整的、含糊的或难于理解的,则该应用系统显然不能满足用户的需求。于理解的,则该应用系统显然不能满足用户的需求。(1)只显示与当前工作内容有关的信息。只显示与当前工作内容有关的信息。(2)不要用数据
11、淹没用户,应该用便于用户迅速吸不要用数据淹没用户,应该用便于用户迅速吸取信息的方式来表示数据。取信息的方式来表示数据。(3)使用一致的标记、标准的缩写和可预知的颜色。使用一致的标记、标准的缩写和可预知的颜色。(4)允许用户保持可视化的语境。允许用户保持可视化的语境。(续)(续)(5)产生有意义的出错信息。产生有意义的出错信息。(6)使用大小写、缩进和文本分组以帮助理解。使用大小写、缩进和文本分组以帮助理解。(7)使用窗口分隔不同类型的信息。使用窗口分隔不同类型的信息。(8)使用使用“模拟模拟”显示方式表示信息,以使信息更容显示方式表示信息,以使信息更容易被用户提取。易被用户提取。(9)高效率地
12、使用显示屏。高效率地使用显示屏。3.数据输入指南数据输入指南用户的大部分时间用在选择命令、键入数据和向系用户的大部分时间用在选择命令、键入数据和向系统提供输入。统提供输入。(1)尽量减少用户的输入动作。尽量减少用户的输入动作。(2)保持信息显示和数据输入之间的一致性。保持信息显示和数据输入之间的一致性。(3)允许用户自定义输入。允许用户自定义输入。(4)交互应该是灵活的,并且可调整成用户最喜欢交互应该是灵活的,并且可调整成用户最喜欢的输入方式。的输入方式。(续)(续)(5)使在当前动作语境中不适用的命令不起作用。使在当前动作语境中不适用的命令不起作用。(6)让用户控制交互流。让用户控制交互流。
13、(7)对所有输入动作都提供帮助对所有输入动作都提供帮助(参见节参见节)。(8)消除冗余的输入。消除冗余的输入。良好的程序设计风格对面向对象实现来说尤其重要,良好的程序设计风格对面向对象实现来说尤其重要,不仅能明显减少维护或扩充的开销,而且有助于在不仅能明显减少维护或扩充的开销,而且有助于在新项目中新项目中重用已有的程序代码重用已有的程序代码。良好的面向对象程序设计风格,既包括传统的程序良好的面向对象程序设计风格,既包括传统的程序设计风格准则,也包括为适应面向对象方法所特有设计风格准则,也包括为适应面向对象方法所特有的概念的概念(例如,继承性例如,继承性)而必须遵循的一些新准则。而必须遵循的一些
14、新准则。提高程序的可重用性;提高程序的可重用性;提高程序的可扩充性;提高程序的可扩充性;提高程序的健壮性。提高程序的健壮性。四、面向对象程序设计风格四、面向对象程序设计风格面向对象方法的一个主要目标,就是提高软件的可面向对象方法的一个主要目标,就是提高软件的可重用性。软件重用有多个层次,在编码阶段主要涉重用性。软件重用有多个层次,在编码阶段主要涉及代码重用问题。一般说来,代码重用有两种:及代码重用问题。一般说来,代码重用有两种:一一种是本项目内的代码重用,另一种是新项目重用旧种是本项目内的代码重用,另一种是新项目重用旧项目的代码。内部重用主要是找出设计中相同或相项目的代码。内部重用主要是找出设
15、计中相同或相似的部分,然后利用继承机制共享它们。为做到外似的部分,然后利用继承机制共享它们。为做到外部重用,则必须有长远眼光,需要反复考虑精心设部重用,则必须有长远眼光,需要反复考虑精心设计。计。提高可重用性提高可重用性1.提高方法的内聚提高方法的内聚一个方法一个方法(即服务即服务)应该只完成单个功能。应该只完成单个功能。2.减小方法的规模减小方法的规模3.保持方法的一致性保持方法的一致性保持方法的一致性,有助于实现代码重用。保持方法的一致性,有助于实现代码重用。4.把策略与实现分开把策略与实现分开一类方法负责做出决策,提供变元,并且管理全局一类方法负责做出决策,提供变元,并且管理全局资源,可
16、称为策略方法。另一类方法负责完成具体资源,可称为策略方法。另一类方法负责完成具体的操作,但却并不做出是否执行这个操作的决定,的操作,但却并不做出是否执行这个操作的决定,也不知道为什么执行这个操作,可称为实现方法。也不知道为什么执行这个操作,可称为实现方法。(续)(续)5.全面覆盖全面覆盖如果输入条件的各种组合都可能出现,则应该针对如果输入条件的各种组合都可能出现,则应该针对所有组合写出方法,而不能仅仅针对当前用到的组所有组合写出方法,而不能仅仅针对当前用到的组合情况写方法。此外,一个方法不应该只能处理正合情况写方法。此外,一个方法不应该只能处理正常值,对空值、极限值及界外值等异常情况也应该常值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构化详细设计 结构 详细 设计 PPT 课件

限制150内