软件工程教案-4计算机0301-0304(编辑修改稿)内容摘要:
• 信息应该伴随着听觉上或视觉上的提示,也就是说,在显示信息时应该同时发出警告声,或者信息用闪烁方式显示,或者信息用明显表示出错的颜色显示。 • 信息不能带有指责色彩,也就是说,不能责怪用户。 用户界面应具有的特性( 5) – 4. 命令交互 • 每个菜单都应有对应的命令; • 命令形式用控制序列(如 Ctrl+P)、功能键、键入命令; • 便于学习和简化记忆命令的难度,给出忘记了命令采取的办法; • 用户是否可以定制或缩写命令; • 命令宏代表一个常用的命令序列; • 所有应用软件都应有一致的命令使用方法。 用户界面的基本类型( 1) 菜单( menu) – 按照显示方式: 正文菜单、图标菜单、正文和图标混合菜单,如“开始”菜单。 – 按屏幕位置和操作风格: 固定位置、浮动位置(弹出)、下拉式、嵌入式 固定及下拉菜单 固定菜单 下拉菜单 用户界面的基本类型( 2) 图 像 – 在用户界面中,加入丰富多彩的画面,将能够更加形象地为用户提供有用的信息,以达到可视化的目的。 主要的处理操作有:图像的隐蔽和再现、屏幕滚动和图案显示、动画等。 用户界面的基本类型( 3) 对话框 – 有三种对话形式: – 必须回答式 – 无需回答式 – 警告式 必须回答 式对话框 无需 回答 式对话框 警告式对话框 用户界面的基本类型( 4) 窗口( window) 标题区 图 标 区 大小区 退出区 菜单区 滚动 区 菜单 工作区 用户界面的设计过程( 1) 设计 模型、原型 系统映象 设计者 用户模型 系统感觉 用户 用户界面设计是一个迭代的过程 用户界面的设计过程( 2) 分析所要完成的软件任务特性和用户特性 – 软件任务特性 • 实时型任务,对每一项响应都有时间限制; • 监察型任务,那么就要给用户提供方便的、易于观察的显示输出; • 可中断的任务,比如用 WORD打字,那么就要有两次启动之间的衔接问题; • 对可靠性要求很高的任务,是不可错的,那么就要在容错设计上多下工夫。 用户界面的设计过程( 3) – 用户特性 • 用户类型 — 通常分为:外行型、初学型、熟练型、专家型。 • 用户特性度量 — 与用户使用模式和用户群体能力有关。 包括:用户使用频度、用户用机能力、用户的知识、思维能力等。 用户界面的设计过程( 4) 创建设计模型、实现模型 ——用户界面原型 用户试用并评估该模型,向设计者提出对界面的评价 设计者根据用户的意见修改设计并实现下一级界面原型 用户界面的设计指南( 1) 1. 一般交互指南 – 提供有意义的反馈。 – 保持一致性。 – 在执行有较大破坏性的动作之前要求用户确认。 – 允许取消绝大多数操作。 – 减少在两次操作之间必须记忆的信息量。 – 提高对话、移动和思考的效率。 – 允许犯错误。 系统应该保护自己不受致命错误的破坏。 – 按功能对动作分类,并据此设计屏幕布局。 – 提供对工作内容敏感的帮助设施 – 用简单动词或动词短语作为命令名。 用户界面的设计指南( 2) 2. 信息显示指南 – 只显示与当前工作内容有关的信息。 – 不要用数据淹没用户,应该用便于用户迅速地吸取信息的方式来表示数据。 – 使用一致的标记、标准的缩写和可预知的颜色。 – 允许用户保持可视化的语境。 – 产生有意义的出错信息 – 使用大小写、缩进和文本分组以帮助理解。 – 使用窗口分隔不同类型的信息。 – 使用“模拟”显示方式表示信息,以使信息更容易被用户吸取。 – 高效率地使用显示屏。 用户界面的设计指南( 3) 3. 数据输入指南 – 尽量减少用户的输入动作。 – 保持信息显示和数据输入之间的一致性。 – 允许用户自定义输入。 – 交互应该是灵活的,并且可调整成用户最喜欢的输入方式。 – 使在当前动作语境中不适用的命令不起作用。 – 让用户控制交互流。 – 对所有输入动作都提供帮助 – 消除冗余的输入。 详细设计和结构化程序设计 详细设计和结构化程序设计技术的形成 程序设计语言的选择 ( P68) 程序设计风格( P69) 计技术的形成( 1) 一、详细设计的具体任务 基本任务:具体地设计所要求的系统,得出新系统得软件详细规格。 – 算法过程的设计: – 数据结构的设计: – 数据库物理设计: – 信息编码设计:唯一性、灵活性、简洁性、一致性、实用性、稳定性 – 测试用例的设计: – 其他设计:网络系统的设计、输入 /输出格式设计、人机对话设计、系统配置设计等 – 编写“详细设计说明书” 计技术的形成( 2) 二、结构化程序设计技术的形成和特点 结构程序设计的概念最早是由 来的 , 是为了解决程序可读性差的问题 , 创立一种新的程序设计思想 、 方法和风格 , 以显著提高软件生产率和质量。 结构化程序的详细设计技术从对 “ 取消 GOTO语句 ”的争论而逐步形成。 计技术的形成( 3) 究竟什么是结构化程序设计 ? ( P56) – 结构化程序设计是一种程序设计技术,它采用自顶而下,逐步求精的设计方法,程序的代码仅仅通过顺序、选择和循环 3种控制结构进行连接,并且每个代码块只有一个入口和一个出口。 计技术的形成( 4) 主要特点: – 自顶而下,逐步求精。 – 结构化的程序是由且仅由顺序、选择、循环三种基本控制结构组成。 逐步细化 计技术的形成( 5) 例:要求用筛选法求 100 以内的素数。 – 筛选法为:从 2到 100中去掉 2, 3, … , 9,10的倍数,剩下的就是 100以内的素数。 main() { 建立 2到 100的数组 A[ ], 其中 A[i] = i; ______1 建立 2到 10的素数表 B[ ],其中存放 2到 10以内的素数; ____2 A[i]=i 是 B[ ]中的任一数的倍数,则剔除 A[i]; ______3 输出 A[ ]中所没有被剔除的数; ______4 } 计技术的形成( 6) main() { /* 建立 2到 100的数组 A[ ], 其中 A[i] =i */ ______1 for (i=2。 i = 100。 i++ ) A[i] = i。 /* 建立 2到 10的素数表 B[ ], 其中存放 2到 10以内的素数 */ __2 B[1]=2。 B[2]=3。 B[3]=5。 B[4]=7。 /* 若 A[i]=i 是 B[ ]中的任一数的倍数 , 则剔除 A[i] */ ___3 for (j = 1。 j = 4。 j++ ) 检查 A[ ]所有的数能否被 B[j]整除 , 并将能被整除的数从 A[ ]中剔除; /*输出 A[ ]中所有没有被剔除的数 */ _____4 for (i = 2。 i = 100。 i++ ) 若 A[i]没有被剔除 , 则输出之; } 前述框架中每一个加工语句都可进一步细化成一个循环语句。 计技术的形成( 7) 自顶向下,逐步求精方法的优点: – 此法符合人们解决复杂问题的普遍规律,可提高软件开发的成功率和生产率。 – 用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程, – 开发出来的程序具有清晰的层次结构,因此程序容易阅读和理解。 程序设计语言的选择( 1) 程序设计语言的分类 – 根据语言级别,分为以下几类: • 机器语言: • 汇编语言 • 高级语言 程序设计语言的选择( 2) 例:用某台计算机指令系统编写计算D=A+B*C的程序。 设分配给 A、 B、 C、 D的地址分别为: 200、 20 20 206。 机器语言程序如下: – 003 0003 000202 把 B的值送到 – 006 0003 000204 把 C的值与 3号寄存器中的值相乘,结果放在 3号寄存器 – 004 0003 000200 把 A的值与 3号寄存器中的值相加,结果放在 3号寄存器 – 002 0003 000206 把 3号寄存器中的值送入内存中 D的存储单元。 程序设计语言的选择( 3) 汇编语言程序: – LOG REG3 C – MUL REG3 B – ADD REG3 A – STR REG3 D 高级语言程序: – D=A+B*C 程序设计语言的选择( 4) 程序设计语言的分类 – 从应用范围的角度来分: • 通用语言: • 专用语言: – 从语言内在特点的角度来分 • 系统实现语言: • 静态高级语言: • 块结构高级语言: • 动态高级语言: – 从描述客观系统的角度来分 • 面向过程语言:数据结构 +算法 • 面向对象语言: 程序设计语言的选择( 5) 选择汇编语言的情况: – 软件系统对程序执行时间和使用空间都有严格的限制; – 系统硬件是特殊的微处理机,不能使用高级程序设计语言 – 大型系统中某一部分的执行时间非常关键,或直接依赖于硬件。 程序设计语言的选择( 6) 一般情况下,我们采用高级语言来编程。 选择具体高级语言类型的原则: – 系统用户的要求 – 运行环境 – 可得到的软件工具 – 程序员的知识水平 – 软件的可移植性要求 – 产品的应用领域 程序设计风格( 1) 一、 程序内部的文档书写规则 程序内部的文档包括: – 恰当的标识符(变量和标号)的名字; – 适当的注释; – 程序的视觉组织。 程序设计风格( 2) 标识符的命名 – 名字的选取应含义鲜明,能正确地提示程序对象所代表的实体。 这对于帮助阅读者理解程序是很重要的。 例如,表示次数用 times,表示总量用 total等。 – 名字的长度不应限制,但也不宜过长,太长了容易出错,应选择精炼且意义明确的名字,这样才能简化程序语句,改善对程序功能的理解。 如果名字使用缩写,那么缩写规则应该一致,并且应该给每个名字加上注解,以方便阅读。 程序设计风格( 3) 程序的注释 – 程序的注释分为两种:序言性注释和功能性注释。 – 序言性注释通常安排在每个程序模块的起始部分,它是对程序的整体说明,对于理解程序本身具有引导作用,格式如下: • 有关本模块功能说明; • 主要算法; • 接口描述: • 有关数据描述: • 模块位置: • 开发简历: 程序设计风格( 4) – 功能性注释嵌入在源程序体内,用以描述其后的语句或程序段的处理功能。 – 例如,对于“ ave=toal/num”的注释应该是:“总量除以人数求得均值”,而不应该是“ toal除以 num得 ave”。 – 书写功能性注释,注意以下几点: • 描述的对象是一段程序,而不是每一个语句; • 适当使用缩进和空行,使程序与注释容易区别; • 注释一定要准确。 不精确的甚至是错误的注释不仅对理解程序毫无帮助,反而会妨碍对程序的理解。 程序设计风格( 5) 程序的视觉组织 – 用分层缩进的写法显示嵌套结构层次; – 在注释段周围加上边框; – 注释段与程序段、以及不同的程序段之间插入空行; – 每行只写一条语句; – 书写表达式时适当使用空格或圆括号作隔离符。 程序设计风格( 6) 二、数据说明 – 数据说明的次序应当规范化。 – 当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量。 – 如果设计时使用了一个复杂的数据结构,则应注解说明用程序设计语言实现这个数据结构。软件工程教案-4计算机0301-0304(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。