我们从Palm OS软件的界面开始,逐步开始深入Palm OS软件开发的历程。那么,和其他的软件开发一样,我们也有很多非技术的必须注意。这当中,有一些是比较通行的软件设计思想、软件工程方面的问题,也有一些是嵌入式系统所特有的一些问题。
阐明事件流程
学过C的人都知道一个函数原型(Function Prototype)的概念。好的函数原型设计和软件整体原型设计,能够保证软件产品的成熟性和系统性。而我们嵌入式系统的软件中的原型设计是对于我们的软件的一个基本的模型视图。在开始,我们将列出我们希望用户能够做的的操作的列表,以及我们将会遇到的各种事件的次序,即对事件流程的讨论。我们的策略是对软件进行优化,从而能够以尽可能少的步骤实现尽可能频繁的操作。我们同样希望能够对内置软件的一些好的设计思路进行模仿。这方面的问题,和其他软件工程中提出的一些整体的数据流程、业务流程等概念比较接近。但是,必须始终牢记一点,和其他的软件相比,掌上设备的软件对客户的针对性要强得多,在交互性、OOP思想等方面的要求要更高。
开始界面
和那些界面繁多、多窗口、组织复杂的大型软件相比,掌上设备的软件每时每刻提供给用户的往往就是一个界面。而且,由于掌上设备自身特点,它的界面不会太多、每个界面上的元素也不能太多、操作步骤也不能太复杂。于是,掌上设备中往往非常重视软件的第一个界面,即开始界面的设计。
对于我们的软件而言,开始界面将是我们软件的第一个,也是最重要的一个界面——也就是软件启动时,用户看到的第一幅画面。比如在一个通讯录软件中,开始界面看上去非常直接——提供了一个联系人的列表。这个列表的内容可以在掌上设备上被修改,但是其创建过程一般是在台式机上完成的。台式机上的软件能够比较聪明地从列表中,把那些平时不怎么联系的联系人从记录中挑出来。同时,这个列表应该支持根据联系人姓名的字母顺序,或者访问频率来进行排序(完全根据用户个人的喜好)。
在一个台式机的应用软件中,我们可以肯定,这些操作命令都可以放置在同一个菜单里面。但是在一台掌上设备上,我们就不那么肯定它们还应该被放在一起。经过考虑之后,我们决定把创建新客户,以及广播一个客户列表的操作放在启动视图中,因为只有这两个命令是针对所有客户的。而所有其它的命令都是针对某个一个特定客户的,无论是创建一个新联系人,还是修改某个联系人的信息,还是从联系人列表中删除某个联系人的信息。
一个台式机的应用软件可能不会设计成这个样子。在列表中单击一个联系人就可以选中它。然后,Delete菜单将提供删除该联系人的功能,Open菜单(或者通过快捷键,或者是鼠标双击)将用于打开给联系人的细节信息窗体。但是,Palm OS系统不是一个台式机操作系统。双击功能并不是它应该具备的功能。Palm OS掌上设备的用户往往希望通过单击动作就可以达到目标。
您可能要问,为什么这种模式是合适的。如果您具有比较多的设计经验,就可以明白,启动界面上的列表条目往往是使用频率比较高的。只要您点击了它们,马上就会将您切换到另外一个窗体。Palm OS系统不存在单、双击模式之分。Palm模式的吸引之处就在于它能够节省大量的多余步骤,非常方便快捷地实现一些操作。而这些常用的操作之所以使用方便的原因就是它们都被包含在了一个最便于访问的列表中。 |