ASW022-软件体系结构设计续
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“用户界面适合于软件的功能”是基本的设计原则,它提醒设计者不要片面追求界面外观 漂亮而导致华而不实。界面的合适性既提倡外美内秀,又强调恰如其分。
设计原则2:容易理解。如果用户很难理解界面的意图,那么他使用起来肯定很费劲。所以“容 易理解”是“容易使用”的前提条件。提高用户界面可理解性的一些规则如下: 界面中的所有元素(如菜单、工具条等)没有错误,也不会让人误解。 所有的界面元素应当提供充分而必要的提示,例如当鼠标移动到工具条上的某个图标按钮 时,应当在该图标旁边出现功能提示。 界面结构能够清晰地反映工作流程,以便用户按部就班地操作。 对于复杂的用户界面而言,最好提供界面“向导”,及时让用户知道自己在界面结构中所 处的位置。例如对于基于Web的应用软件,应该在界面上显示“当前位置”,否则用户很容 易在众多的页面中迷失方向。
用户界面设计
设计原则3:风格一致 软件的用户界面中,同类的界面元素应当有相同的视感和相同的操作方式。例如命令按钮 是最常见的界面元素,所有命令按钮的形状、色彩以及对鼠标的响应方式都是一致的
同一类型软件的用户界面应当有一定程度的相似性。例如Microsoft公司的Office家族里有 Word、Excel、PowerPoint、Outlook等软件,这些软件提供的“复制、剪切、粘贴”功能 的操作方式都是相同的。
数据库设计
数据库设计的主要困难与对策
开发与平台无关的数据库应用程序 目前国际上应用最广泛的数据库系统有Oracle、DB2、Informix、Sybase和SQL Server。这 些数据库系统之间的激烈竞争即有好处又有坏处。竞争的好处是使数据库系统不断发展和 完善,并且避免价格垄断。竞争的最大坏处是逼迫数据库厂商不断开发出独特的功能以吸 引更多的用户,所以各个数据库系统的独特功能无法形成统一标准,导致用户难以开发出 与平台无关的数据库应用程序,因为用户很难抵御数据库系统独特功能的诱惑。 SQL是数据库系统的标准查询语言。可是数据库厂商提供了太多超出SQL标准的特色功能, 使人们陷入了进退两难的境地:(1)如果你想使程序与数据库平台无关,那么只能使用 SQL,放弃各个数据库系统的独特功能。(2)如果你超越SQL,使用了某个数据库系统的独 特功能,那么这样的程序就是与平台相关的。 如果你开发的是通用的数据库应用软件,不想让应用软件与特定的数据库系统捆绑在一起 ,那么你就老老实实地用SQL语言写程序。 如果你开发的是行业专用的数据库应用软件,并且这个行业已经指定了数据库系统(这种 局部垄断现象普遍存在),最近若干年都不会改变的话,那么你可以超越SQL使用该数据库 系统的独特功能。 (例如公安部采用Oracle,银行采用Informix)
1 用户界面设计
什么是好的用户界面 通俗地讲,用户界面“好不好”主要看它是否“容易使用”和“美观”。 易用性是指用户使用软件的容易程度。现代人的生活节奏快,干啥事都想图 个方便。谁都不乐意掏钱买很难用的东西,所以把易用性作为用户界面的重 要属性对待无可非议。 美观的界面能消除用户由感觉引起的乏味、紧张和疲劳(情绪低落),大大 提高用户的工作效率,从而进一步为发挥用户技能和为用户完成任务作出贡 献。人们对美的向往和追求是与生俱有的。显然没有开发人员愿意丑化自己 的软件,也没有用户嗜好丑陋的界面。软件开发者要设计美,用户要享受美 ,所以界面的美是开发者与用户的共同需求。 全世界无数人使用Microsoft公司的操作系统DOS, Windows 3.1, Windows 9x, Windows 2000和 Windows XP,这些操作系统的确是越来越好用了,并 且越来越漂亮了。界面的“易用性”和“美”充分体现了人机交互作用中人 的特性与意图,越来越多的用户将通过具有吸引力而令人愉快的人机界面与 计算机打交道。
用户界面设计
设计原则6:适应各种用户 一个软件产品可能有许多类型的用户,例如有些用户对计算机比较外行,有一些用户可能 是计算机的行家。在设计用户界面必时应当尽可能多地了解用户的需求和技能水平,努力 使用户在操作软件的时候感觉不到差异和麻烦。为了达到这个目标,一般需要提供多种操 作途径以适应各种水平的用户。 例如使用Windows下的文件管理器,对于一个初学者来说,他愿意使用鼠标和菜单一步一步 地操作;而对于技术专家而言,他也许更愿意使用热键来获取更高的效率。 更了不起的是,一些优秀的软件为患有疾病的人们提供了很好的用户界面。例如全世界的 计算机用户中可能有成千上万的人患有色盲或色弱,他们都是正常人,但是当他们面对花 花绿绿的软件时会一片茫然。因此通用的软件如浏览器、字处理软件等都要经过色盲人群 的测试。设计者越为用户着想,用户就越喜欢这样的软件。 设计原则7:国际化 中国已经进入了WTO,软件的国际化是大势所趋。为了能够更好地适应国内和国际市场,在 设计用户界面的时候应当充分考虑语言和文化的差异。尽可能使用标准的图解方式和国际 通行的语言,要求简单易懂,易于翻译,方便于不同母语的用户。 特别要留意下列易变的元素:字体、提示信息、在线帮助;货币、度量单位;数字、日期
格式;人的名字、电话号码、通信地址;图标、标签;声音;阅读顺序或习惯;
用户界面设计
设计原则8:个性化 用户界面的“个性化”与“一致性”之间存在微妙的矛盾关系。对于一些非常注重安全性 的商业软件(如银行软件)而言,用户界面的“一致性”要比“个性化”重要得多,因为 一致的界面可以减少用户出错的几率。例如,国内所有银行的自动取款机的用户界面都是 非常相似的,谁也不会想着设计一些新花样。 而对于普通的应用软件(尤其是娱乐领域的软件)而言,有个性化的界面自然比泯然于众 的界面更具有吸引力。 设计人员应当根据软件的需求以及广大用户的喜好,在使用户界面具备必要的“一致性” 的前提下,突出该软件的“个性”。不仅让用户使用起来方便,而且对软件留下深刻的印 象。 设计原则9:合理的布局 首先,界面的布局应当符合逻辑,最好能够与工作流程吻合。界面设计人员只有仔细地分 析软件的需求,才能提取对界面布局有价值的信息。 其次,界面的布局应当整洁(整齐清爽)。界面元素应当在水平或者垂直方向对齐,行、 列的间距保持一致。窗体的尺寸要合适,各种控件不能过分拥挤也不能过分宽松。要善于 利用窗体和控件的空白,以及分割用的线条。
用户界面设计
开发人员的能力缺陷 尽管国内有很多技术出色、聪明过人的软件开发人员, 但是他们未必开发得出“易用”的和“美观”的软件。 软件是否易用、是否美观要让用户来评价。如果用户对 界面很不满意,开发人员不要有逆反心里“到哪里找来 的笨蛋!”。其实不是用户笨,是自己开发的软件太笨 了。当用户真的感到软件很好用时,一股温暖的感觉油 然而生,于是就用“界面友好”来表扬这个软件。
源自文库
用户界面设计
设计原则1:用户界面适合于软件的功能 用户界面的合适性是指界面与软件功能相融洽的程度。软件的功能需要通过用户界面来展 现。毫无疑问,用户界面一定要适合于软件的功能,这是最基本的要求。否则用户无法通 过这个界面来使用软件,如果连用都不能用,“易用性”根本就无从谈起。 例如,对于一个三维建模软件而言,如果用户不能使用鼠标对模型进行旋转、移动、缩放 等操作,那么这个软件的用户界面就不适合于软件的功能。如果不改进用户界面的话,即 使软件的内核功能很强(如算法很先进),这个软件也很难卖得出去。 合适性差的界面无疑会混淆软件意图,致使用户产生误解。即使它不损害软件功能与性能 ,也会使用户产生不该有的情绪波动。
数据库设计
数据库性能优化问题 数据库设计的主要挑战是“高速处理大容量的数据”。如何优化数据库的性能是设计人员 经常面临的问题。数据库性能优化主要有两种途径:“优化表结构本身”和“优化数据库 的环境参数”。 在表的物理设计阶段,设计人员应当按照第三范式设计表结构(即规范化处理)。这样做 的好处是:表中没有冗余数据,表结构很清晰,将来修改或者扩充非常方便。但是按第三 范式设计也存在一些缺点:产生了许多表,每个表有相对较少的列,并且这些列必须使用 “主健/外健”关联起来,因此某个查询操作可能会产生复杂的表链接,导致性能降低。 反规范化处理是指对第三范式的表进行修改,通过合并一些表,或者在表中创建冗余的列 ,从而减少表链接操作代价,达到提高性能的目的。要注意的是反规范化处理存在很大的 负面影响:管理冗余数据很麻烦,如果冗余数据不同步的话,那么会发生数据错误这种严 重的问题。 对表进行第三范式的规范化处理是第一重要的,而反规范化处理则需谨慎考虑、不宜过多 使用。“规范化处理”以及“反规范化处理”不是自相矛盾之举,而是性能优化的策略。
(2)对这些表中的数据进行操作,常见操作如查询、插入、修改、删除等。
数据库设计的难易程度取决于两个要素:“数据关系的复杂程度”和“数据量的大小”。如果应 用软件只涉及几张简单的表,并且数据量特别小,那么设计这样的数据库就非常容易(例如设计 一个班级的学生成绩单数据库)。但是你绝对不能盲目乐观:以为所有的数据库设计都是那么简 单。
用户界面设计
设计原则4:及时反馈信息 用户进行某项操作后,如果过了一会儿(几秒钟)用户界面一点反应都没有,这将使用户 感到迷茫和不安,因为他不知道是自己操作错了还是软件死机了。所以及时反馈信息很重 要,至少要让用户心里有数,知道该任务处理得怎么样了,有什么样的结果。 例如下载一个文件,界面上应当显示“百分比”或相关数字来表示下载的进度,否则人们 不知道要等待多少时间。如果某些事务处理不能提供进度等数据,那么至少要给出提示信 息如“正在处理,请等待…”,最好是提供合适的动画让用户明白软件正在干活、没有死 机。 设计原则5:出错处理。用户在使用软件的过程中,不可避免地会出现一些错误的操作。在设计 用户界面时必须考虑出错处理,目的是让用户不必为避免犯错误而提心吊胆、小心翼翼地操作。 常见的错误处理方式有: 提供对输入数据进行校验的功能。当用户输入错误的数据时,及时提醒用户改正数据。 对于在某些情况下不应该使用的菜单项和命令按钮,将其“失效”(屏蔽)可以有效防止 该项功能被错误地使用。例如:对于某些管理软件,不同的用户有不同的操作权限。如果 低权限的用户登录到系统,那些只有高级权限用户才能使用的功能应当被屏蔽(如变成“ 灰色”不可操作)。 提供Undo功能,用以撤销不期望的操作。 执行破坏性的操作之前,应当获得用户的确认。例如用户删除一个文件时,应当弹出对话 框:“真的要删除该文件吗”,当用户确认后才真正删除文件。
对于用户界面而言,风格一致的最大好处就是能够减少用户的记忆量、减少出错几率,并 且迅速积累操作经验。所以熟悉Word软件的人基本上不用翻阅手册就能使用PowerPoint软 件,可谓“无师自通”。
通用软件产品的界面设计很注重一致性。设计者必须密切注意在相同应用领域中最流行的 软件的界面,必须尊重用户使用这些软件的习惯。例如DOS和Windows下的软件习惯于设置 F1键为帮助热键,如果某个设计者别出心裁地让F1键成为软件终止的热键,那么在用户渴 望得到帮助而伸手击F1键的一刹那,他的工作就此完蛋。相信这个用户会被这另类的F1气 疯了。 目前流行的软件开发工具如Visual C++、Visual Basic、Delphi、Java Builder、Power Builder等,都能够快速地开发出非常相似的图形用户界面。在Internet/Intranet领域, 浏览器几乎成了唯一的客户端软件,因为Internet用户希望用完全一致的浏览方式来完成 千变万化的任务。
2 数据库设计
概念
首先要搞清楚容易混淆的两个概念:“数据库系统”和“应用软件的数据库”。 数据库系统是指数据库厂商提供的数据库服务器,目前著名的大型数据库系统有Oracle、 DB2、Informix、Sybase,中型数据库系统如Microsoft SQL Server。 而应用软件的数据库则是指开发者在数据库系统中创建的库,用于存储应用软件的数据。 一般地,人们可以从上下文判断“数据库”究竟是指哪一个? 简而言之,数据库是存储和处理数据用的。数据库设计的主要工作是: (1)设计数据库的表(数据就存在表里面),表的结构就是数据的存储结构。