您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页软件工程课程设计--图书借阅管理系统

软件工程课程设计--图书借阅管理系统

来源:爱玩科技网


《软件工程》 项目名称:指导老师:学生姓名:专 业:班 级:日 期:课程设计报告书

图书借阅管理系统 信息科学与工程系

目录

一、项目计划........................................................ 1

(一)项目开发背景及内容........................................ 1 (二) 开发环境................................................. 1 (三) 进度安排................................................. 1 二、结构化分析设计.................................................. 2

(一)数据流图.................................................. 2 (二) 数据字典................................................. 3 (三)加工说明(可用结构化语言描述、判定表、判定树)............ 8 (四)结构图.................................................... 9 (五) 流程图................................................... 9 三、面向对象分析设计............................................... 11

(一)用例图................................................... 11 (二) 对象行为模型............................................ 12 (三)系统包图................................................. 13 (四)类图..................................................... 14 (五)配置图..................................................... 15 四、系统实现....................................................... 15

(一)程序代码................................................. 15 (二)功能演示(界面)......................................... 25 五、测试........................................................... 27 六、 软件发布...................................................... 28 七、参考文献....................................................... 28 八、总结体会....................................... 错误!未定义书签。

一、项目计划

(一)项目开发背景及内容

随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。

图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。本系统的开发就是在于提高图书借阅管理的工作效率,加强图书馆的管理,全面实行计算机管理。

(二)开发环境

开发环境:Win 7 旗舰版

开发工具:Visualbasic6.0 ACCESS 作图软件:Microsoft Visio 2010

(三)进度安排

该软件应用Microsoft Visio 2010和Visualbasic6.0 ,ACCESS进行编程作图,历

时大概两周,最终完成了这个小型图书借阅管理系统。由于时间仓促,该小型图书借阅管理系统并不完善。我用了两天时间查找相关资料,两天时间编写代码和连接数据库。其余三天开始用Microsoft Visio 2010画数据流图、结构图、流程图、用例图和包图类图。整个过程系我们三人分工人完成。

1

二、结构化分析设计

(一)数据流图

图2.2.1 系统的数据流图

2

图2.2.2 1层数据流图

(二)数据字典

在定义的图书借阅管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。 (1)数据项描述

1)数据项名称:借书证号 含义说明:惟一标识一个借书证 类型:字符型 长度:50

逻辑关系:不允许为空 2)数据项名称:用户名 含义说明:读者的名称 类型:字符型 长度:20

逻辑关系:不允许为空 3)数据项名称:密码

含义说明:对用户名和操作员管理员进行加密 类型;字符型 长度:10

3

逻辑关系:允许为空 4)数据项名称:性别 类型:字符型 长度:10

逻辑关系:允许为空 5)数据项名称:所在系别 类型;字符型 长度:10

逻辑关系:允许为空 6)数据项名称:所在班级 类型:字符型 长度:10

逻辑关系:允许为空 7)数据项名称:操作员名称 类型:字符型 长度:30

逻辑关系:不允许为空 8)数据项名称:操作员简称 含义说明:惟一标识一个操作员 类型:字符型 长度:10

逻辑关系:不允许为空 9)数据项名称:操作员级别

含义说明:对操作员和管理员进行区分 类型:字符型 长度:10

逻辑关系:不允许为空 10)数据项名称:图书编号 含义说明:惟一标识一个图书 类型:字符型

4

长度:10

逻辑关系:不允许为空 11)数据项名称:图书名称 类型:字符型 长度:50

逻辑关系:不允许为空 12)数据项名称:作者 类型:字符型 长度:50

逻辑关系:不允许为空 13)数据项名称:出版社 类型:字符型 长度:50

逻辑关系:不允许为空 14)数据项名称:出版时间 类型:日期时间型 长度:8

逻辑关系:不允许为空 15)数据项名称:价格 类型:整型 长度:4

逻辑关系:不允许为空 16)数据项名称:备注 类型:字符型 长度:200

逻辑关系:允许为空 17)数据项名称:借书日期 类型:日期时间 长度:8

逻辑关系:不允许为空

5

18)数据项名称:还书日期 类型:日期时间 长度:8

逻辑关系:不允许为 (2)数据结构描述

1)数据流名称:用户情况

含义说明:定义了一个读者的有关信息

组成结构:用户情况=用户名+借书证号+密码+性别+所在系别+所在班级

2)数据流名称:操作员情况

含义说明:定义了一个操作员的有关信息

组成结构:操作员情况=操作员名称+操作员简称+操作员级别+操作员密码

3) 数据流名称:图书情况

含义说明:定义了一个图书的有关信息

组成结构:图书情况=图书编号+图书名称+作者+出版社+出版时间+价格+备注

(3) 数据流描述 1)数据流名称:借书 含义:读者借书时的记录 来源:读者 去向:审核借书 数据流量:>50份/天

组成:借书单=借书证号+图书编号+借书日期 2)数据流名称:还书

含义:读者还书时要填写的记录 来源:读者 去向:审核还书 数据流量:>25份/天

组成:还书单=图书编号+还书日期

(4) 数据存储说明

1) 数据存储名称:图书数据表

含义说明:存放图书的有关信息

6

组成结构:图书编号+图书名称+作者+出版社+出版时间+价格+备注 说明;书号具有惟一性和非空性 2) 数据存储名称:用户信息表 含义说明:存放读者的注册信息

组成结构:用户名+借书证号+密码+性别+所在系别+所在班级 说明:证号具有惟一性和非空性,性别只能是男和女 3) 数据存储名称:借录 含义说明:存放读者的借书,还书信息

组成结构:借书证号+图书编号+借书日期+还书日期 说明:要求能够立即查询

(5) 处理过程说明 1)处理过程名称:图书管理 输入:图书情况, 输出:图录

处理说明:对馆内所有图书按图书编号进行管理,将图书数据数据化,存储图

书数据表中。

2)处理过程名称:读者管理 输入:读者情况, 输出:读者记录

处理说明:建立读者信息表,对读者进行统一编号,实现读者记录表的增删改

维护功能。

3)处理过程名称:查看数目 输入:借书请求,读者 输出:借录,图书信息

处理说明:实现根据图书编号等查询图书。 4)处理过程名称:借书处理 输入:图书情况,读者,借录 输出:借录

处理说明:确认读者符合借书条件,办理借书手续。 5)处理过程名称:还书处理

7

输入:图书情况, 输出:借录

处理说明:对照相应的图书编号可办理还书手续。 6)处理过程名称:安全管理 输入:操作员情况,用户情况

输出:操作员级别,操作员记录,用户记录

处理说明:通过用户名和口令,确认用户身份,保证系统的安全型。

(三)加工说明(可用结构化语言描述、判定表、判定树)

图2.3.1 借阅管理系统的判定树

8

(四)结构图

图2.4.1 系统的结构图

(五)流程图

9

图2.5.1系统登录流程图

图2.5.2 系统的借书流程图

10

图2.5.3 系统的还书流程图

三、面向对象分析设计

(一)用例图

用例图在需求分析阶段有重要作用,它是作为参与者的外部用户所能观察到的系统功能模型图。整个开发过程都是围绕需求阶段用例进行的。

11

图3.1.1 系统的用例图

(二)对象行为模型

图3.2.1 系统状态图

12

图3.1.2 系统活动图

(三)系统包图

图3.3.1 系统的包图

13

数据库包:包含数据库中所有的数据信息 用户包:包含要使用系统的用户及其属性 管理员包:包含要使用系统的管理员及其属性 接口包:表示系统和数据库的借口 系统包:表示图书借阅管理系统

(四)类图

类是面对对象系统组成的核心。类是对一组相同属性、操作、关系和语义的对象的描述。这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。

图3.4.1 系统的类图

14

(五)配置图

图3.5.1 系统配置图

四、系统实现

(一)程序代码

图书借阅管理:

Public SchCnd As String Private Sub Cmd_Add_Click() '初始化FrmBorrowEdit信息 '设置借阅编号为当前编号最大值+1 Dim JYNo As String '取表中的最大借阅编号

15

JYNo = \"00\" + Trim(Str(Val(MyBorrow.GetMaxNo()) + 1)) FrmBorrowEdit.txtBorrowNo = \"JY\" + JYNo FrmBorrowEdit.txtBorrowDate = Date FrmBorrowEdit.txtReturnDate = \"\" FrmBorrowEdit.txtBCount = 0 FrmBorrowEdit.txtCardNo = \"\" FrmBorrowEdit.txtName = \"\" FrmBorrowEdit.txtCardType = \"\" FrmBorrowEdit.txtMaxCount = 0 FrmBorrowEdit.txtMaxDays = 0 FrmBorrowEdit.txtBookNo = \"\" FrmBorrowEdit.txtBookName = \"\" FrmBorrowEdit.txtBookType = \"\" FrmBorrowEdit.txtLCount = 0 FrmBorrowEdit.txtTotal = 0 '设置添加图书按钮不能用

FrmBorrowEdit.Cmd_Add.Enabled = False FrmBorrowEdit.Cmd_Del = False FrmBorrowEdit.Cmd_Ok.Enabled = False '设置图书信息不能用

FrmBorrowEdit.Frame2.Enabled = False '启动编辑窗体 FrmBorrowEdit.Show 1 '刷新DataGrid表格的内容

16

GridRefresh End Sub

'单击“返回”按钮

Private Sub Cmd_Back_Click() Unload Me End Sub

Private Sub Cmd_Push_Click() '列出离应归还日期小于等于5天的图书 FrmPush.Show 1 End Sub

Private Sub Cmd_Return_Click()

'归还调用FrmReturnEdit窗体,需要输入借阅证号,提取该证借阅信息 FrmReturnEdit.Show 1 GridRefresh End Sub

Private Sub ComboFlag_click() GridRefresh End Sub '启动窗体

Private Sub Form_Load() '设置借阅状态为\"借阅\" ComboFlag.ListIndex = 0 '刷新DataGrid表格的内容 GridRefresh

17

End Sub

Private Sub GridRefresh() If ComboFlag.ListIndex > 0 Then

SchCnd = \" AND l.Status='\" + Trim(ComboFlag.Text) + \"'\" Else

SchCnd = \"\" End If

'设置ADO控件的连接字符串

Adodc1.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" _ + App.Path + \"\\Books.mdb;Persist Security Info=False\" '刷新DataGrid记录 '设置数据源

Adodc1.RecordSource = \"SELECT l.BookNo AS 图书编号,i.BookName AS 图书名称, \" _

+ \"l.BCount AS 借阅数量,b.BorrowNo AS 借阅编号,b.CardNo AS 借阅证编号,c.Name AS 姓名,\" _

+ \"BorrowDate AS 借阅日期 \" _

+ \" FROM Borrow b,BorrowList l,Cards c,BookInfo i \" _

+ \" WHERE l.BNo=b.BorrowNo AND b.CardNo=c.CardNo AND l.BookNo =i.BookNo\" + SchCnd _ + \" ORDER BY l.BookNo,b.BorrowDate DESC\" ' MsgBox (Adodc1.RecordSource) Adodc1.Refresh

DataGrid1.Columns(0).Width = 1200 DataGrid1.Columns(1).Width = 1600 DataGrid1.Columns(2).Width = 1200 DataGrid1.Columns(3).Width = 1400

18

DataGrid1.Columns(4).Width = 1400 DataGrid1.Columns(5).Width = 1200 DataGrid1.Columns(6).Width = 1400 End Sub 编辑用户信息:

Public Modify As Boolean Public OriUser As String Private Sub Cmd_Cancel_Click() Unload Me End Sub

Private Sub Cmd_OK_Click() If Trim(txtUserName) = \"\" Then MsgBox \"请输入用户名\" txtUserName.SetFocus Exit Sub End If

If Len(txtPass) < 6 Then MsgBox \"密码长度不能小于6\" txtPass.SetFocus txtPass.SelStart = 0

txtPass.SelLength = Len(txtPass2) Exit Sub End If

If txtPass <> txtPass2 Then

19

MsgBox \"密码和确认密码不相同,请重新确认\" txtPass2.SetFocus txtPass2.SelStart = 0

txtPass2.SelLength = Len(txtPass2) Exit Sub End If With MyUser

If Modify = False Or OriUser <> Trim(txtUserName) Then If .In_DB(MakeStr(txtUserName)) = True Then MsgBox \"用户名已经存在,请重新输入\" txtUserName.SetFocus txtUserName.SelStart = 0

txtUserName.SelLength = Len(txtUserName) Exit Sub End If End If

.UserName = MakeStr(txtUserName) .Pwd = MakeStr(txtPass) If Modify = False Then .Insert

MsgBox \"添加完成\" Else

.Update (OriUser) MsgBox \"修改完成\"

20

'如果修改自身用户名,则更新CurUser对象

If OriUser = CurUser.UserName And Trim(txtUserName) <> OriUser Then CurUser.UserName = Trim(txtUserName) CurUser.GetInfo (CurUser.UserName) End If End If End With Unload Me End Sub

Private Sub Form_Load() End Sub

Private Sub txtPass_Change() End Sub 用户管理:

Private Sub Cmd_Add_Click() With FrmUserEdit .txtUserName = \"\" .txtPass = \"\" .txtPass2 = \"\" .Modify = False .Show 1 End With

AdoUserList.Refresh DataList1_Click

21

End Sub

Private Sub Cmd_Back_Click() Unload Me End Sub

Private Sub Cmd_Del_Click() If DataList1.Text = \"\" Then MsgBox \"请选择要删除的用户\" Exit Sub End If

If MyUser.UserName = \"Admin\" Then MsgBox \"此用户不能删除\" Exit Sub End If '确认删除

If MsgBox(\"是否删除当前用户\请确认\") = vbYes Then MyUser.Delete (DataList1.Text) MsgBox \"成功删除\" AdoUserList.Refresh DataList1_Click End If End Sub

Private Sub Cmd_Modi_Click() If DataList1.Text = \"\" Then MsgBox \"请选择要修改的用户\"

22

Exit Sub End If

With FrmUserEdit

.OriUser = MyUser.Overcame .txtUserName = MyUser.UserName .txtPass = MyUser.Pwd .txtPass2 = MyUser.Pwd

If Trim(MyUser.UserName) = \"Admin\" Then .txtUserName.Enabled = False End If

.Modify = True .Show 1 End With

AdoUserList.Refresh DataList1_Click End Sub

Private Sub DataList1_Click() If DataList1.Text = \"\" Then Exit Sub End If '读取用户数据

MyUser.GetInfo (DataList1.Text) lblUserName = MyUser.UserName

If Trim(MyUser.UserName) = \"Admin\" Then

23

lblUserType = \"系统管理员\" Else

lblUserType = \"普通用户\" End If End Sub

Private Sub Form_Load() lblUserType = \"\" lblUserName = \"\"

'设置ADO控件的连接字符串

AdoUserList.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" _ + App.Path + \"\\Books.mdb;Persist Security Info=False\" '设置数据源

AdoUserList.RecordSource = \"SELECT * FROM Users\" AdoUserList.Refresh End Sub

Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single) End Sub

24

(二)功能演示(界面)

图4.2.1图书借阅管理系统主界面图

图4.2.2 用户登录图

25

图4.2.3借阅管理图

图4.2.4用户管理图

26

图4.2.5编辑用户信息图

五、测试

序号 1 测试内容 合法输入格式 测试数据 00001 期望结果 王明 00001 女 20 123456 计算机 2 错误证件号名 测试结果 王明 00001 女 20 123456 计算机 正确 测试结论 正确 10060028 提示“请输提示“请输入正确的证入正确的证件号!” 件号!” 3 空数据 Null 提示“请输提示“请输入正确的证入正确的证件号!” 件号!” 正确 系统用户管理测试用例

序号 1 测试内容 测试数据 期望结果 没超期 测试结果 没超期 测试结论 正确 合法输入格20天 式 2 超期 40天 超期,交罚超期,交罚正确 金 金 还书模块测试用例

序号 1 测试内容 合法输入格式

测试数据 00001 期望结果 测试结果 测试结论 正确 索书号为:索书号为:00001,书名00001,书名27

为:Java程为:Java程序设计,现序设计,现有数量为1 有数量为1 ,出版社为:,出版社为:清华大学出清华大学出版社,作者版社,作者为:沈泽刚 为:沈泽刚 2 错误索书号 0 提示“对不提示“对不起,没有您起,没有您要找的书籍!” 3 空索书号 Null 要找的书籍!” 正确 正确 提示“对不提示“对不起,没有您起,没有您要找的书籍!” 要找的书籍!” 借书模块测试用例

六、软件发布

1. 电脑操作系统:Win 7 旗舰版,开发工具:Visualbasic6.0 ACCESS 2.系统配置说明:分别给开发工具配置特定环境,特别注意连接数据库的语 句是否匹配。

3.登录用户名:admin 密码:admin 登录用户名:079041 密码:079041

七、参考文献

[1] 窦万峰.软件工程方法与实践[M].机械工业出版社,2009

[2]史济民,顾春华,郑红。软件工程—原理、方法与应用。高等教育出版社,2009

28

29

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务