《需求分析与系统设计》在第七章中为我们介绍了每个软件的所谓的“面子工程”——用户界面的设计。
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口),对于每一个用户来说,当用户使用软件的第一注意事项就是界面。所以一个软件的第一印象往往决定于这个软件的界面是否好看。所以现在有专门做UI设计也能赚很多钱的。
说到用户界面设计,对于现在的我们来说,这可能是一个比较困难的事儿。能懂得就只是找一些图片什么的。作者在这本书中给我们讲到,一个好的GUI要求图形艺术家、需求分析员、系统设计员、程序设计员、技术专家、社会和行为科学家、也许还有其他一些一句系统特性的相关专业人员。由此可以看出这是一个包含多少学问的工程。
我们对于GUI,我们要做到的就是以用户为中心的界面设计方针。而在界面设计的很多方针当中,用户控制式是最主要的方针。意思为用户启动行为,并且作为一个结果,如果程序取得控制权的话,用户也要获得必要的反馈。其次呢,就是一致性,一致性呢就是告诉我们要遵循标准和常规的方式,要符合GUI供应商的标准;还有就是符合组织开发的命名、编码和其他与GUI相关的标准。之后就是个性化和客户化,这两个是相互关联的方针。简而言之,如果为个人用户做的就是个性化,如果是为哒的用户群并且由系统管理员做的就是客户化。然后我们要做到的是宽容,一个好的界面应该以一种宽容的态度允许用户进行实验和出错。而反馈方针呢,反馈方针实际是由第一条方针用户控制式附带而来的好处。开发者应该在系统中为每个用户事件建立视听提示。最后的方针就是审美和可用性。审美是系统视觉上的吸引力,而可用性是在使用界面过程中的方便性、简单性、有效性、可靠性和生产力。这些方针对于我们来说是容易注意到的。在介绍完方针之后,作者给我们讲述了关于界面窗口,关于主窗口和辅窗口的一系列交互以及各个窗口之间的依赖关系。
《需求分析与系统设计》在第八章中给我们讲关于我们项目中的数据库的设计。
数据库呢,可以说是每一个系统必备的并且是及其重要的部分。这一章中,作者向我们讨论的是对象到数据库的映射。解释从实体类、关联、聚合和泛化到现存的三种数据库模型中有效的数据结构的转变。首先是永久数据库层,他可以是关系数据库,对象关系数据库或者对象数据库。在应用和数据库之间存在着映射,是由数据库包负责,可能是错综复杂的问题。映射的困难主要有两个基本的原因,第一数据库的存储结构对面向对象范例做不了什么。第二数据库几乎都不是为单个的应用设计的。第二种数据库模型是对象数据库模型,对象数据库模型使应用和数据库之间映射的麻烦最少。而其最大的目的是进行数据库与应用程序设计语言的透明式集成。对象数据库模型的建模原语是对象和文字。从UML模型到对象数据库的映射相对来说是无缝的。对象数据库的任务是为面向对象模型建立一个面向对象实现。在映射对象数数据库时我们要做的有映射实体类,映射关联,映射聚合以及映射泛化等等。第三种模型是对象关系数据库模型。这个数据库模型上一个模型辅助,它区分了结构化类型和只作为存储机制的表。行类型支持嵌套数据结构的规格说明。关系数据库不支持对象类型、继承、结构化类型、集合或者引用。数据存储在表中,这些表通过引用完整性约束进行关联。