软件工程课程设计图书管理系统Word文件下载.docx
《软件工程课程设计图书管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计图书管理系统Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
为保证系统安全性,对图书馆的各项功能进行分级、分权限操作,对各类
用户进行确认。
对其他图书馆借阅图书和文献资料服务控制访问范围:
如
限IP、限用户等。
b对系统可用性的需求:
为了方便使用者,要求对所有交互操作提供在线帮助功能。
c对系统查询速度的需求:
要求系统在20s之内响应查询服务请求。
d对系统可靠性的需求:
要求系统失败发生率小于1%。
图书管理系统功能结构图
图书信息示意图
学生信息示意图
图书管理总流程图
2总体设计
按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。
同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。
软件结构
3详细设计
(1)登录
程序首先定义了四个变量,其中strUserID、strUserPwd是基本变量,用来临时存储用户的登录信息;
db和rs是DAO对象变量,其中db是数据库对象,用于连接数据库,也可以用来直接执行部分SQL语句(insert、delete、update等,通过使用Database对象的Execute方法)。
rs是记录集对象(Recordset),它可以对应数据库的一个表,或者是一个查询执行结果。
Recordset是最为常用的数据对象,可以实现数据的漫游,数据的添加和删除。
如果用户登录失败或者未登录,用户只能使用登录菜单或者帮助的关于菜单。
该菜单上面有系统的版本信息。
在未登录的情况下,如果用户试图使用系统的其他功能,系统将会显示提示登录窗口。
因为在程序在运行每一项功能的时候,都会检查用户的登录情况(也就是CurrentUser的各项属性,主要是LoginSuccess属性),如果LoginSuccess为False,则意味者用户没有登录,系统将提示登录。
如果我们不是简单的使用Boolean的字段,而是使用功能较为完备的机制,我们将可以实现复杂的权限控制。
用户登录成功以后就可以使用系统的所有功能。
同时,主窗体上将会显示当前登录用户的名称。
当然,如果用户选择注销,则主窗体会显示未登录。
图书管理包括新书入库和信息查询两项功能,都包含在图书管理的菜单下。
(2)新书入库
新书入库的程序段采用了更为完备的功能,它首先检测用户输入是否合法,然后整理用户的输入信息。
(3)图书信息查询
图书信息查询用于显示所有的图书信息,或者根据用户设定的条件进行查询,因此你将会在窗口的左上方看到两个Radio选项,如果选择“显示所有记录”,则查询条件将不可用。
如果选择“按条件查询”,则系统根据查询条件中设置的查询条件进行查询。
(4)会员新证登记
新证登记和借书证查询都是针对借书证信息管理进行的,位于主界面的借书证管理菜单下。
新证登记和新书入库基本上相似,因此这里不再详细介绍。
(5)借书登记
借书登记和还书登记就是管理员最为常用的功能了,借书登记和还书登记都是根据用户ID和图书ID来进行的,相应的信息记录在tblLoan表中。
如果用户新借了一本书,那么相应的用户ID、图书ID和借书日期等信息将会被添加道tblLoan表中。
同样的,如果用户还书,则相应的记录将会被删除。
因此,tblLoan是经常动态修改,用于反映图书的借阅情况。
如果他和tblBook相配合,则也可以统计出目前图书馆各种书的剩余数量。
借书登记要求管理员提供用户ID,这个ID将在用户的借书证上可以找到。
当然,比较先进的图书馆管理系统一般都采用条形码扫描技术,操作快捷而且不易出错,但是其基本原理是一样的。
输入用户ID以后,系统会自动显示用户的名字,当然也可以包括其他更多的信息。
此时管理员可以查询用户已经借阅的书籍(这部分功能也可以交给系统后台处理,因为需要限制用户借书的数量)。
用户需要借用任何一本书,都可以在现有图书表中选择相应的图书,然后单击借书,就可以看到该书的信息被添加到已借图书表中。
这就是说,借书已经成功。
(6)还书
还书的基本操作和借书相同,通过检索用户的ID和图书的ID,在tblLoan表中删除相应的记录完成还书操作。
3系统实现(小四号粗):
根据系统分析要实现的模块,给出其具体实现及其界面
1登陆界面编码设计
本窗体集成了”登录”模块,因此在系统加载时,需要先启动”登录”模块的登录窗体,只有当用户输入了正确的用户名和密码,才能进入到系统主界面。
当user表没有该用户,将无法使用本程序。
user=myrs("
user"
)
将公共变量user设为用户的身份
此窗体的主要代码设计如下:
Dimrs_loginAsNewADODB.Recordset
IfTrim(Combo1.Text)="
"
Then
MsgBox"
没有这个用户"
vbOKOnly+vbExclamation,"
Combo1.SetFocus
Else
sql="
select*from系统管理where用户名='
&
Combo1.Text&
"
'
Else
密码不正确"
vbOKOnly+vbExclamation,
txtpwd.SetFocus
登录成功后,管理员可以进行添加和删除用户,修改密码,修改各种资料等操作。
2读者管理界面编码设计
通过DataCombol控件连接到数据库的dbl基础数据表,用DATAGRID控件,将它的各列显示出数据库的各列,属性设为可写,连接到数据库。
用Text控件来显示所输入的内容,单击“保存“按钮后就可以保存到数据库中,通过ADO控件来浏览记录。
实现读者资料登记的添加、删除、修改、保存功能。
sql="
读者编号='
Trim(Text1.Text&
)&
IfCheck2.Value=vbCheckedThen
IfTrim(sql)="
读者姓名='
Trim(Text2.Text&
sql=sql&
and读者姓名='
IfCheck3.Value=vbCheckedThen
读者类别='
Trim(Combo1.Text&
and读者类别='
select*from读者信息where"
sql
3图书管理界面编码设计
通过ADO控件连接到数据库,用DATAGRID控件,将它的各列显示出数据库的各种类型,其类型有:
计算机、电子、电工、物理、小说。
用户可以通过此窗体来添加或删除类型。
次窗体连接到借书窗体。
书名='
类别='
and书名='
作者='
and作者='
出版社='
Trim(Text3.Text&
and出版社='
)
书籍编号='
Trim(Text4.Text&
and书籍编号='
IfTrim(sql)="
请选择查询方式!
vbOKOnly+vbExclamation
select*from书籍信息where"
4借阅信息管理界面编码设计
次窗体主要用于借书功能,还可以显示借阅者的具体信息,以便于确认借阅者的正确身份。
通过ADO控件连接到数据库,用DATAGRID控件,将它的各列显示出所有读者的编号和姓名。
次窗体主要用于借书操作。
select*from借阅信息"
select*from书籍信息where书籍编号='
book_num&
select*from读者信息where读者编号='
MsgBox"
请先登记读者!
rs_borrowbook.Opensql,conn,adOpenKeyset,adLockPessimistic
rs_borrowbook.Fields(8)=rs_borrowbook.Fields(8)+1
rs_borrowbook.Update
rs_borrowbook.Close
本书借阅成功!
4系统测试
1功能测试用例的设计
(1)用户登陆和注册功能的测试用例
根据不同的身份,输入各自的用户名和密码,包括密码和用户名分别为空的情况,对系统登录模块进行测试。
如果输入错误,则登录失败;
输入成功,则登录成功;
其中如果用户名和密码都为空,则默认为是游客进入游客模块。
输入
输出
用户名
密码
权限
进入游客模块
admin
管理员
登录失败,输入错误
登录成功,进入管理员模块
123456
读者
登录成功,进入用户模块
(2)图书管理的测试用例
对图书管理的各项功能,包括图书的添加、删除、修改进行测试,以及对图书分类的添加、删除、修改进行测试。
书名
分类
价格
数量
出版社
出版日期
软件工程导论
工业科学
35元
10
清华大学出版社
2008-2
添加成功
5
修改成功
删除成功
分类名
科学
文学
分类下存在书,不能被删除
将“科学”改为“123”
(3)图书信息查询功能的测试用例
输入查询关键字,对图书查询功能进行测试。
价格范围
1-50
2000-1—2010-12
查询成功,输出所需信息
输出所需信息
艺术
没有搜索到记录
新疆大学出版社
输出该出版社的所有图书
20—30
2001-1-1—2003-12-31
输出图书价格在20—30元之间的图书
输出在该日期之内的图书信息
我们走在大路上
(4)借书的测试用例
用户id
图书id
用户编号不能为空
37
图书编号不能为空
此用户不存在
18
33
此书不存在
2
借书成功
(5)还书的测试用例
3.8.3.5.2
输入、输出
输入错误
还书成功
(6)用户和管理员的测试用例
添加用户测试:
qq
用户名重复
3
密码不能为空
用户名不能为空
添加用户成功
修改用户测试:
修改前
修改后
是否锁定
未锁定
4
锁定
添加管理员测试:
确认密码
1
已存在的名字
确认密码不能为空
修改密码测试:
原密码
确认原密码
新密码
确认新密码
admin1
a
两次密码不同
原密码错误
密码修改成功
(7)统计超期用户的测试用例
管理员对超期用户的管理,查看用户超期时间、罚金,以及对用户催书和锁定超期用户。
超期用户信息
2非功能测试用例的设计
(1)性能测试用例
(2)安全性测试用例
3开发和调试测试脚本
5结束语
不知不觉,两周的网页设计实训结束了。
虽然这次实训的时间短暂,但是这次实习就像一次轻松愉快的旅行,开拓了我的视野,也加强了我的动手操作能力,让我与网页制造进行了一次"
零距离"
接触,是我学习旅途中一次弥足珍贵的经历。
对于计算机网络互联技术,我可以说既熟悉又陌生,但其中好多东西都还不懂,学习的东西也不是太贴近现实,我们有一个明确的课题,为校园图书管理制作网页。
这个很实在,也很实用。
不仅在更深程度上了解了操作,也学会了如何正确地使用他们在浏览器中实现。
尽管时间短暂,但是却受益匪浅!
作为一个计算机专业的学生,这样的经历是弥足珍贵的。
还有就是进一步学会了同学之间的互相帮助与沟通,可谓获益匪浅。
这也进一步证明了课本知识应当与实践充分的结合起来,采用理论与实际相结合的学习模式,不仅如此,在暑期或者其它假期期间,也应该多参加类似的实训活动,也要注重面向实际,面向社会。
这近一个星期短暂而又充实的实训,为我提供了一次非常珍贵的学习机会,不仅仅是专业方面,更在与人交往方面。
参考文献:
[1]刘青,李华,赵克.基于ASP的开放式实验管理的研究[J].实验技术与管理,2004,(5):
71-73.
[2]王少锋.面向对象技术UML教程[M].北京:
清华大学出版社,2004.
[3]任胜兵,邢琳.软件工程.北京邮电大学出版社,2004.
[4]张海潘.软件工程导论(第四版).北京:
清华大学出版社,2003
[5]盖天宇ASP程序开发范列宝典.人民邮电出版社,2007
[6]李开荣.Web程序设计.高等教育出版社.北京:
2006.
.