小型软件窗体统一及通用性设计

时间:2022-10-10 07:44:52

小型软件窗体统一及通用性设计

摘要:该文以图书管理系统的开发为例,在遵循软件开发的一般流程下,对软件界面设计的统一性和通用性来做了一定程度的探讨。

关键词:信息管理系统;通用性;统一性

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)27-0054-02

1 概述

1.1 课题背景

在软件开发的时候,计算机专业人员应该从用户的基本需求入手,结合系统服务范围和规模,采用适当的开发策略和工具,对于小型、简单的软件来说,可以以便捷快速开发工具为辅助,对于任务重叠的工作流程应注意梳理和分析,提高窗体界面的一致性和通用度。本文以图书管理信息系统的快速开发为例。

1.2 设计思想

对于软件开发来说,注重几个原则:

1) 软件有着良好的易用性和通用性,操作简单明了;

2) 界面美观,简明统一,布局合理,便于实现人机交互;

3) 代码的实效性高,减少冗余代码,对数据库表的操作要少而精;

4) 窗体通用性好,对于一些功能非常类似的模块应提高窗体的利用率。

2 系统设计分析

2.1 系统分析

2.1.1系统需求分析

对于本文例子而言,图书馆中有大量的书籍,读者有相应的读者信息,读者借、还书会产生对应的借书信息、还书信息。大量相关的信息维护操作都是类似的,我们可以从系统的功能分析图入手分析。

2.1.2 功能分析图

图书馆管理信息系统的功能分析图如图1所示。

对于本系统而言,图书类别、图书信息、读者信息等等界面维护上都有类同之处,窗体设计时需要通盘考虑和分析,减轻窗体设计负担,同样信息流程上也存在类似之处,尽量通过事件、标识符等区别响应的处理流程。总体而言,在软件系统设计的最初期是最有利于作系统功能分析以及窗体设计的阶段,通过充分提炼系统功能的相似性和通用性来确定程序界面设计的总体要求。实际上,一些开发工具中控件[1]的实现,就是代表着一种广泛通用性的思想,也大大缩短了软件的开发周期。

对于本例而言,我们通过功能分析图,系统大体上分为两大类窗体,一是信息类的基本模块,例如进行添删改查的操作;二是系统功能的核心,即图书的流通。各个实体以及附属的相关属性目的是服务于核心功能,那么我们在设计界面时候,就可以参考这样一个总体的思想。

3 软件界面的思考

3.1 系统界面统一性

3.1.1 基本模块

当系统的功能复杂度增加时,系统开发设计将成为一个繁重的任务。对于快速化开发工具来说,窗体设计也是软件开发的重要组成部分,对于用户来说,统一的界面有助于增强用户的易用性,软件的界面美观度也会提高。对图书管理系统来说,对于一些功能相似的模块可归为一类,比如用户信息的添加,读者、图书信息的添加,都属于信息添加模块,他们在功能上是相似的,设计思想相近,这些模块都遵循一定的设计流程,数据流程也是类似的,一般为检查输入数据的合法性,连接数据库,最后完成相应的模块功能。

在信息管理系统中,既然有信息的添加模块,对于信息的维护模块是必不可少的,信息维护包括对已有信息的修改、删除等操作,在设计软件时,要考虑到界面一致性的问题,减少用户的适应时间,模块在无论在界面布局上,还是在操作上,都有高度的统一性,这种统一性对于代码的编写是非常有效的,可以通过界面、操作的统一来减少代码的编写量。

在本例中,系统涉及的统一维护模块有:用户信息维护,读者类别信息维护,读者信息维护,图书信息维护,图书类别信息维护,这几个模块在界面布局上、操作上、数据流上都有着很高的一致性,实际上我们可以把以上几类维护模块界面的设计高度统一起来。

3.1.2 核心模块

在本例图书管理系统中,核心功能就是图书的借阅归还操作,因此在系统中这两个模块是至关重要的。在窗体设计的过程中,要考虑到读者在借阅,归还图书过程中涉及的各个方面。

对系统的这两个功能模块进行分析,同理,类似于基本模块,软件的核心功能在布局上遵循一贯的界面统一原则,借阅模块和归还模块的界面是类似的,并且对于读者来说,输入读者编号后,通过标签控件来显示读者信息,使得借阅归还非常方便。

在读者信息显示框中,借助标签控件来显示数据库[2]中的读者的各项信息,运行界面为:

在维护界面一致的情况下,归还窗体在布局的设计上应与借阅模块类似,方便用户对图书流通进行管理。

3.2 窗体通用性

通过充分利用窗体的通用性,减少窗体数量和代码量。

在设计图书管理系统时,既有界面一致,也有信息一致,基本模块的功能完全可以用一个窗体来实现,即信息添删改查的模块。对于程序功能而言,只需要在运行时动态的修改窗体的标题和窗体上控件的名称,如将“确定“按钮,变为”更新“按钮,标题由“添加信息”,改为“修改信息”等等,最后在窗体退出这个事件中,把改过的内容恢复过来就可以了。这样就可以减少窗体的数量,进一步提高程序的灵活性。只是在维护模块中调用通用窗体时,需注意在窗体的加载事件中提前将要修改的数据显示在文本框中,对于关键的唯一标示字段数据,文本框应设置为不可修改。

实际上,在上面的基本信息模块设计中,除了统一性的节目布局外,也已经涉及窗体的通用性。我们从关键代码中分析:

If Not IsNull(DataGrid1.Bookmark) Then

cmddel.Enabled = False

cmdmodify.Enabled = False

cmdcancel.Enabled = True

DataGrid1.AllowUpdate = True 'Datagrid控件的AllowUpdate属性处于可用状态

DataGrid1.AllowDelete = False

DataGrid1.AllowUpdate = True

frmaddreaderinf.Caption = "修改读者信息" '通用添加窗体,显示要修改的数据

mand1.Caption = "更新"

frmaddreaderinf.Text1.Enabled = False

frmaddreaderinf.Text1=DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)

frmaddreaderinf.Text3= DataGrid1.Columns(2).CellValue(DataGrid1.Bookmark)

frmaddreaderinf.Text5=DataGrid1.Columns(6).CellValue(DataGrid1.Bookmark)

frmaddreaderinf.Text6=DataGrid1.Columns(5).CellValue(DataGrid1.Bookmark)

frmaddreaderinf.Text7=DataGrid1.Columns(4).CellValue(DataGrid1.Bookmark)

frmaddreaderinf.Show

Unload Me

End If

其中,frmaddreaderinf就是程序中添加读者信息的模块,这里在调用的过程中,动态的设置了窗体信息,如标题等,同时也把要修改并且是可以修改的数据显示在文本框中。

我们可以通过窗体通用时界面的区别来反映他们之间的不同之处:

通过观察可以发现:标题、按钮都有动态的变动,同时,读者编号文本框为不可修改状态。实际上,在几个基本信息添加与维护模块中,都涉及了窗体的通用性,如读者类别添加与维护模块,图书类别添加与维护,图书信息添加与维护等。

3.3 主窗体的实现

在本系统中,采用父子窗体模式,主窗体设计应简洁大方,分别设计工具栏,菜单栏,状态栏,这里分别涉及到Imagelist,Toolbar, StatusBar等几个控件。在主窗体设计中依然需要考虑到界面统一性问题,在控件选择上注意一致,以免造成父子窗体差异较大,影响用户体验。

4 结束语

本文通过运用快速化开发工具,对小型软件的窗体设计和通用性做了简单的思考,在用户体验和窗体界面设计环节中概括了一些通用性方法,也希望本文能起到抛砖引玉的作用。

参考文献:

[1] 何跃兵,王世平.控件在窗体中相对位置的确立[J].科技广场,2008(5).

[2] 张宗飞.VB中基于ADO的数据库访问技术分析及应用[J].计算机与数字工程,2008(3).

上一篇:“衤”的故事 下一篇:最后一个D星人