软件工程课程设计--图书借阅管理系统解析.doc
《软件工程课程设计--图书借阅管理系统解析.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计--图书借阅管理系统解析.doc(31页珍藏版)》请在咨信网上搜索。
《软件工程》 课程设计报告书 项目名称: 图书借阅管理系统 指导老师: 学生姓名: 专 业: 班 级: 日 期: 信息科学与工程系 目录 一、项目计划 1 (一)项目开发背景及内容 1 (二) 开发环境 1 (三) 进度安排 1 二、结构化分析设计 2 (一)数据流图 2 (二) 数据字典 3 (三)加工说明(可用结构化语言描述、判定表、判定树) 8 (四)结构图 9 (五) 流程图 9 三、面向对象分析设计 11 (一)用例图 11 (二) 对象行为模型 12 (三)系统包图 13 (四)类图 14 (五)配置图 15 四、系统实现 15 (一)程序代码 15 (二)功能演示(界面) 25 五、测试 27 六、 软件发布 28 七、参考文献 28 八、总结体会 29 一、项目计划 (一)项目开发背景及内容 随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。 图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。本系统的开发就是在于提高图书借阅管理的工作效率,加强图书馆的管理,全面实行计算机管理。 (二) 开发环境 开发环境:Win 7 旗舰版 开发工具:Visualbasic6.0 ACCESS 作图软件:Microsoft Visio 2010 (三) 进度安排 该软件应用Microsoft Visio 2010和Visualbasic6.0 ,ACCESS进行编程作图,历时大概两周,最终完成了这个小型图书借阅管理系统。由于时间仓促,该小型图书借阅管理系统并不完善。我用了两天时间查找相关资料,两天时间编写代码和连接数据库。其余三天开始用Microsoft Visio 2010画数据流图、结构图、流程图、用例图和包图类图。整个过程系我们三人分工人完成。 二、结构化分析设计 (一)数据流图 图2.2.1 系统的数据流图 图2.2.2 1层数据流图 (二) 数据字典 在定义的图书借阅管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。 (1)数据项描述 1)数据项名称:借书证号 含义说明:惟一标识一个借书证 类型:字符型 长度:50 逻辑关系:不允许为空 2)数据项名称:用户名 含义说明:读者的名称 类型:字符型 长度:20 逻辑关系:不允许为空 3)数据项名称:密码 含义说明:对用户名和操作员管理员进行加密 类型;字符型 长度:10 逻辑关系:允许为空 4)数据项名称:性别 类型:字符型 长度:10 逻辑关系:允许为空 5)数据项名称:所在系别 类型;字符型 长度:10 逻辑关系:允许为空 6)数据项名称:所在班级 类型:字符型 长度:10 逻辑关系:允许为空 7)数据项名称:操作员名称 类型:字符型 长度:30 逻辑关系:不允许为空 8)数据项名称:操作员简称 含义说明:惟一标识一个操作员 类型:字符型 长度:10 逻辑关系:不允许为空 9)数据项名称:操作员级别 含义说明:对操作员和管理员进行区分 类型:字符型 长度:10 逻辑关系:不允许为空 10)数据项名称:图书编号 含义说明:惟一标识一个图书 类型:字符型 长度:10 逻辑关系:不允许为空 11)数据项名称:图书名称 类型:字符型 长度:50 逻辑关系:不允许为空 12)数据项名称:作者 类型:字符型 长度:50 逻辑关系:不允许为空 13)数据项名称:出版社 类型:字符型 长度:50 逻辑关系:不允许为空 14)数据项名称:出版时间 类型:日期时间型 长度:8 逻辑关系:不允许为空 15)数据项名称:价格 类型:整型 长度:4 逻辑关系:不允许为空 16)数据项名称:备注 类型:字符型 长度:200 逻辑关系:允许为空 17)数据项名称:借书日期 类型:日期时间 长度:8 逻辑关系:不允许为空 18)数据项名称:还书日期 类型:日期时间 长度:8 逻辑关系:不允许为 (2)数据结构描述 1)数据流名称:用户情况 含义说明:定义了一个读者的有关信息 组成结构:用户情况=用户名+借书证号+密码+性别+所在系别+所在班级 2)数据流名称:操作员情况 含义说明:定义了一个操作员的有关信息 组成结构:操作员情况=操作员名称+操作员简称+操作员级别+操作员密码 3) 数据流名称:图书情况 含义说明:定义了一个图书的有关信息 组成结构:图书情况=图书编号+图书名称+作者+出版社+出版时间+价格+备注 (3) 数据流描述 1)数据流名称:借书 含义:读者借书时的记录 来源:读者 去向:审核借书 数据流量:>50份/天 组成:借书单=借书证号+图书编号+借书日期 2)数据流名称:还书 含义:读者还书时要填写的记录 来源:读者 去向:审核还书 数据流量:>25份/天 组成:还书单=图书编号+还书日期 (4) 数据存储说明 1) 数据存储名称:图书数据表 含义说明:存放图书的有关信息 组成结构:图书编号+图书名称+作者+出版社+出版时间+价格+备注 说明;书号具有惟一性和非空性 2) 数据存储名称:用户信息表 含义说明:存放读者的注册信息 组成结构:用户名+借书证号+密码+性别+所在系别+所在班级 说明:证号具有惟一性和非空性,性别只能是男和女 3) 数据存储名称:借书记录 含义说明:存放读者的借书,还书信息 组成结构:借书证号+图书编号+借书日期+还书日期 说明:要求能够立即查询 (5) 处理过程说明 1)处理过程名称:图书管理 输入:图书情况, 输出:图书记录 处理说明:对馆内所有图书按图书编号进行管理,将图书数据数据化,存储图书数据表中。 2)处理过程名称:读者管理 输入:读者情况, 输出:读者记录 处理说明:建立读者信息表,对读者进行统一编号,实现读者记录表的增删改维护功能。 3)处理过程名称:查看数目 输入:借书请求,读者 输出:借书记录,图书信息 处理说明:实现根据图书编号等查询图书。 4)处理过程名称:借书处理 输入:图书情况,读者,借书记录 输出:借书记录 处理说明:确认读者符合借书条件,办理借书手续。 5)处理过程名称:还书处理 输入:图书情况, 输出:借书记录 处理说明:对照相应的图书编号可办理还书手续。 6)处理过程名称:安全管理 输入:操作员情况,用户情况 输出:操作员级别,操作员记录,用户记录 处理说明:通过用户名和口令,确认用户身份,保证系统的安全型。 (三)加工说明(可用结构化语言描述、判定表、判定树) 图2.3.1 借阅管理系统的判定树 (四)结构图 图2.4.1 系统的结构图 (五) 流程图 图2.5.1系统登录流程图 图2.5.2 系统的借书流程图 图2.5.3 系统的还书流程图 三、面向对象分析设计 (一)用例图 用例图在需求分析阶段有重要作用,它是作为参与者的外部用户所能观察到的系统功能模型图。整个开发过程都是围绕需求阶段用例进行的。 图3.1.1 系统的用例图 (二) 对象行为模型 图3.2.1 系统状态图 图3.1.2 系统活动图 (三)系统包图 图3.3.1 系统的包图 数据库包:包含数据库中所有的数据信息 用户包:包含要使用系统的用户及其属性 管理员包:包含要使用系统的管理员及其属性 接口包:表示系统和数据库的借口 系统包:表示图书借阅管理系统 (四)类图 类是面对对象系统组成的核心。类是对一组相同属性、操作、关系和语义的对象的描述。这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。 图3.4.1 系统的类图 (五)配置图 图3.5.1 系统配置图 四、系统实现 (一)程序代码 图书借阅管理: Public SchCnd As String Private Sub Cmd_Add_Click() '初始化FrmBorrowEdit信息 '设置借阅编号为当前编号最大值+1 Dim JYNo As String '取表中的最大借阅编号 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表格的内容 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 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 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 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 "修改完成" '如果修改自身用户名,则更新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 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("是否删除当前用户", vbYesNo, "请确认") = 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 "请选择要修改的用户" 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 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 (二)功能演示(界面) 图4.2.1图书借阅管理系统主界面图 图4.2.2 用户登录图 图4.2.3借阅管理图 图4.2.4用户管理图 图4.2.5编辑用户信息图 五、测试 序号 测试内容 测试数据 期望结果 测试结果 测试结论 1 合法输入格式 00001 王明 00001 女 20 123456 计算机 王明 00001 女 20 123456 计算机 正确 2 错误证件号名 10060028 提示“请输入正确的证件号!” 提示“请输入正确的证件号!” 正确 3 空数据 Null 提示“请输入正确的证件号!” 提示“请输入正确的证件号!” 正确 系统用户管理测试用例 序号 测试内容 测试数据 期望结果 测试结果 测试结论 1 合法输入格式 20天 没超期 没超期 正确 2 超期 40天 超期,交罚金 超期,交罚金 正确 还书模块测试用例 序号 测试内容 测试数据 期望结果 测试结果 测试结论 1 合法输入格式 00001 索书号为:00001,书名为:Java程序设计,现有数量为1 ,出版社为:清华大学出版社,作者为:沈泽刚 索书号为:00001,书名为:Java程序设计,现有数量为1 ,出版社为:清华大学出版社,作者为:沈泽刚 正确 2 错误索书号 0 提示“对不起,没有您要找的书籍!” 提示“对不起,没有您要找的书籍!” 正确 3 空索书号 Null 提示“对不起,没有您要找的书籍!” 提示“对不起,没有您要找的书籍!” 正确 借书模块测试用例 六、 软件发布 1. 电脑操作系统:Win 7 旗舰版,开发工具:Visualbasic6.0 ACCESS 2.系统配置说明:分别给开发工具配置特定环境,特别注意连接数据库的语 句是否匹配。 3.登录用户名:admin 密码:admin 登录用户名:079041 密码:079041 七、参考文献 [1] 窦万峰.软件工程方法与实践[M].机械工业出版社,2009 [2]史济民,顾春华,郑红。软件工程—原理、方法与应用。高等教育出版社,2009- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 图书 借阅 管理 系统 解析
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文