上篇博客对机房收费系统进行了初步的总结,总结的重点集中在前期数据库的设计,该篇文章主要是对系统的设计方面进行总结,主要为系统界面设计。
机房收费系统界面的设计是很重要的一个环节,虽然对代码的编写不会产生太大的影响,但是他会直接影响到用户对系统的评价。系统的界面是用户认识系统的第一印象,所以一定要做好。系统界面应具备的特性有:可使用性、灵活性、复杂性和可靠性,在设计时应与软件系统的需求分析同步进行。在进行界面设计时要对用户的特性进行分析,设计的界面尽量符合用户要求,增强用户对系统的使用度。
用户界面设计时需要考虑的设计细则:易用性;一致性;合理性;美观与协调性;独特性;容错性等。
在进行系统界面设计时,并没有按照上面所说的系统特性进行设计,因为该系统的界面已经设计完成,需要我们做的只是代码的编写,所以对上面的原则考虑的太少,但也进行了一些提高,对系统菜单的一致性、合理性、美观与协调性、独特性进行了改进,使系统的界面更加生动活泼。
机房收费系统进行编写的时候遇到了个不该发生的问题,刚开始时代码的变量命名没有严格按照规范进行,后来随着代码和控件的增多,有些程序代码分不清是引用变量还是控件的名称,导致焦头烂额的进行回差工作,这虽然是件小事但却反映了一个很大的问题。
在软件开发过程中变量是编码过程中必不可少的一部分,程序员也常常使用控件来实现某些功能。但是在进行编码时我们如何确定某个程序代码是引用一个变量还是控件名称呢?所以要进行某种约定将变量与控件区分开来,提高代码的读写效率。
下图为相关控件的前缀名称:
控件 |
前缀 |
举例 |
|
控件 |
前缀 |
举例 |
复选框 |
chk |
chkPrint |
|
线条 |
lin |
linVertical |
组合框 |
cbo |
cboTitle |
|
列表框 |
lst |
lstResultCodes |
命名按钮 |
cmd |
cmdCancel |
|
MDI子窗体 |
mdi |
mdiContact |
数据 |
dat |
datBiblio |
|
菜单 |
mun |
munFileOpen |
目录列表框 |
dir |
dirSource |
|
OLE容器 |
ole |
olePhoto |
驱动器列表框 |
drv |
drvTarget |
|
选项按钮 |
opt |
optSpanish |
文件列表框 |
fil |
filSource |
|
面板 |
pnl |
pnlSetting |
图文框 |
fra |
fraLanguage |
|
图片框 |
pic |
picDiskSpace |
窗体 |
frm |
frmMain |
|
剪贴图 |
clp |
clpToolbar |
组按钮 |
gpb |
gpbChannel |
|
形状 |
shp |
shpCircle |
水平滚动条 |
hsb |
hsbVolume |
|
文本框 |
txt |
txtAddress |
图像 |
img |
imgIcon |
|
计时器 |
tmr |
tmrAlarm |
标注 |
lbl |
lblHelpMessage |
|
垂直滚动条 |
vsb |
vsbRate |
对于控件的命名问题并没有严格的规范,但在实际的工作中总结了几条规则:
1、直译法:按照功能进行直接翻译。控件种类多,变量个数少的情况下,采用控件前缀+功能直译;
2、控件数组:多个控件同名,构成控件数组。当同类控件较多且实现的功能较单一时,采用控件前缀+控件数组;
3、功能相配:如果涉及到对数据库的操作,命名最好能和相关记录集字段吻合,可以提高编写效率。
4、在找不到好的命名原则时,采用直译方法,按功能命名并带有控件前缀。
3、总结
问题
① 界面设计原则考虑太少,没有查找设计资料进行自己设计,没有做好容错性和易用性;
②界面中文本框、组合框等输入设备的命名做的不够好,导致编码速率的降低;
解决办法
① 前期对系统的分析一定到位,熟练掌握设计准则,按照客户特点设计界面。
② 对于命名问题,一定要规范化,所对应的名称要提高编码的速率。