Case "03"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询图书类型。"
'清空列表
FrmBookType.List1.Clear
'添加查询结果
For i = 0 To UBound(StrGet) - 2
FrmBookType.List1.AddItem StrGet(i + 2)
Next i
End Select
'图书信息
Case "Book"
Select Case StrGet(1)
'添加图书信息
Case "01"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应添加图书信息。"
MsgBox StrGet(2), , "服务器响应"
'查询图书信息
Case "02"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询图书信息。"
FrmBookInfo.LvBkResult.ListItems.Clear
For i = 0 To UBound(StrGet) - 2
Set LtItm = FrmBookInfo.LvBkResult.ListItems.Add()
LtItm.Text = i + 1
LtItm.SubItems(1) = StrGet(i + 2)
Next i
End Select
'借阅图书
Case "Lend"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应借阅图书。"
MsgBox StrGet(1), , "服务器响应"
'归还图书
Case "Return"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应归还图书。"
MsgBox StrGet(1), , "服务器响应"
'缴纳罚款
Case "Pay"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应缴纳罚款。"
MsgBox StrGet(1), , "服务器响应"
'图书排名信息
Case "Stat"
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应查询图书排名信息。"
FrmStat.LvTop.ListItems.Clear
For i = 0 To UBound(StrGet) - 1
Set LtItm = FrmStat.LvTop.ListItems.Add()
LtItm.Text = i + 1
LtItm.SubItems(1) = StrGet(i + 1)
Next i
Case "Cnn" '连接信息
MDIFrm.StatusBar1.Panels(1).Text = "服务器连接状态:响应连接信息。"
MsgBox StrGet(1), , "服务器响应"
'如果连接服务器失败,则关闭Winsock,等待重新连接
If StrGet(1) = "该管理员名不存在!请重新输入!" Then
Me.SockToSvr.Close
ElseIf StrGet(1) = "密码错误!请重新输入!" Then
Me.SockToSvr.Close
End If
End Select
End Sub
5.2.2 客户端主界面预览
第六章 系统测试与分析
对于系统的测试阶段对于整个系统的开发与设计是非常重要的。测试是为发现程序中的错误而执行的过程;从“小规模”测试开始,并逐步进行“大规模”测试。
首先要对各个模块进行测试,由于各个不同的模块都会定义一个比较清晰的功能,而且子功能和同级其他模块功能之间没有相互依赖关系。因此,可把每个模块作为一个单独的实体来测试,在这里可以发现的往往是编码的一些错误。
其次是要对子系统服务器端子系统和客户端子系统的测试。在这个过程中不仅能够发现一些编码的错误,还应该验证系统确实能提供需求说明中指定的功能。
对于网络化程序,最后都要在网络中测试和应用,但是在调试阶段往往是在单机上实现。对于单机实现网络化程序的调试,可以用IP地址:127.0.0.1。
因为本程序是C/S形式的网络化数据库应用系统,所以这里主要强调服务器端和客户端的调试要同步进行。
因为网络数据协议是交互传递的,也就是说先由客户端给服务器端发送请求,然后服务器端给客户端返回数据,接着也许还有其他客户端或者本客户端向服务器端发送数据。这样在调试阶段就必须同时开启服务器端和客户端两个程序,然后运行并同时调试。可在两个程序中分别设置断点,并及时在立即窗口打印两个程序发送的数据,随时监控网络数据的传递,以发现问题解决问题。
完成了系统的调试工作后,最后就是系统的编译和发行了。
生成可执行文件,对于服务器端,选择工程类型为“标准EXE”,启动对象为FrmMain;对于客户端,启动对象设置为MDIfrm。然后选择菜单[文件]、[生成图书馆管理系统服务器端(客户端).EXE……]命令生成exe文件即可。
总 结
由此本系统开发与设计渐近尾声,图书馆管理系统的一些功能已经基本完成了。然而,要完整地编写一个真正的图书馆管理系统还是远远不够的,需要添加更多的功能,方便管理员的管理及读者的使用,比如书目查询、图书续借和图书预定等功能。另外,由于系统是客户/服务器形式,本系统还没有考虑到对数据库的同步和异步控制,当有多个人同时操作数据库的时候,就会出现问题了。例如,有可能某个人在查看某本书的情况时,发现这本书还在架上,但实际上在此的几秒钟之前,此书已经借出了。所以书籍的查询结果需要不断地刷新才能及时显示书籍的真实情况。
由于这是本人初次开发系统,无论是经验还是知识难免有不足之处。对整个系统的功能设计也存在着一些不完善的部分,因此系统还存在着不足之处还有待于不断地完善,在需求分析方面也不能够完全满足用户的需求。最大的收获是在系统开发中体会到了软件工程在项目开发中的具体应用。
参考文献
[1] 萨师煊.《数据库系统概论》.高等教育出版社 第三版.
[2] 谭浩强.《Visual BASIC程序设计》.清华大学出版社,2002.
[3] 刘炳文.精通VISUAL BASIC 6.0入门与提高 .人民邮电出版社.
[4] 刘耀儒.《SQL Server 2000》.北京科海集团公司,2001.
[5] 张海藩.《软件工程导论》.清华大学出版社 第四版.
[6] 王祖卫.《Visual Basic程序设计》.南开大学出版社.2004.
[7] 刘远东等.《数据库基础及Access应用》.机械工业出版社,2005.
[8] 夏邦贵等.《Visual Basic 6.0数据库开发经典实例精解》.机械工业出版社,2006.
[9] 陈光军.《Access2003数据库原理及应用》.中国水利水电出版社
2005.
[10] 刘萌编.《Visual Basic中文版实用教程》.中国铁道出版社,2002.
致 谢
在文档即将完成之际,回顾紧张又充实的开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。
在本次毕业设计中,我从我的指导老师身上学到了很多东西。他们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。无论在理论上还是在实践中,都给予我很大的帮助,使我得到很大的提高,这对于我今后的工作和学习都有很大的帮助,特此感谢他们的耐心辅导。在撰写文档阶段, 老师多次审阅我们的文档,提出了许多宝贵意见。
至此,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了更好的学习方法,在此深表感谢。同时,在系统开发过程中还有同学给予我不少帮助,这里一并表示感谢。