版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z. -. .可修编.软件工程课程设计报告书项目名称: 图书借阅管理系统 指导老师:学生:专 业:班 级:日 期:信息科学与工程系-. z.目录 TOC * MERGEFORMAT 一、项目计划 PAGEREF _Toc452648249 h 1(一)项目开发背景及容 PAGEREF _Toc452648250 h 1(二) 开发环境 PAGEREF _Toc452648251 h 1(三) 进度安排 PAGEREF _Toc452648252 h 1二、结构化分析设计 PAGEREF _Toc452648253 h 2(一)数据流图 PAGEREF _Toc452648254 h 2(
2、二) 数据字典 PAGEREF _Toc452648255 h 3(三)加工说明(可用结构化语言描述、判定表、判定树) PAGEREF _Toc452648256 h 8(四)结构图 PAGEREF _Toc452648257 h 9(五) 流程图 PAGEREF _Toc452648258 h 9三、面向对象分析设计 PAGEREF _Toc452648259 h 11(一)用例图 PAGEREF _Toc452648260 h 11(二) 对象行为模型 PAGEREF _Toc452648261 h 12(三)系统包图 PAGEREF _Toc452648262 h 13(四)类图 PAG
3、EREF _Toc452648263 h 14(五)配置图 PAGEREF _Toc452648264 h 15四、系统实现 PAGEREF _Toc452648265 h 15(一)程序代码 PAGEREF _Toc452648266 h 15(二)功能演示(界面) PAGEREF _Toc452648267 h 25五、测试 PAGEREF _Toc452648268 h 27六、 软件发布 PAGEREF _Toc452648269 h 28七、参考文献 PAGEREF _Toc452648270 h 28八、总结体会 PAGEREF _Toc452648271 h 29-. z.一、项
4、目计划(一)项目开发背景及容随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。本系统的开发就是在于提高图书借阅管理的工作效率
5、,加强图书馆的管理,全面实行计算机管理。开发环境开发环境:Win 7 旗舰版开发工具:Visualbasic6.0ACCESS作图软件:Microsoft Visio 2010进度安排该软件应用Microsoft Visio 2010和Visualbasic6.0 ,ACCESS进行编程作图,历时大概两周,最终完成了这个小型图书借阅管理系统。由于时间仓促,该小型图书借阅管理系统并不完善。我用了两天时间查找相关资料,两天时间编写代码和连接数据库。其余三天开始用Microsoft Visio 2010画数据流图、结构图、流程图、用例图和包图类图。整个过程系我们三人分工人完成。二、结构化分析设计(一
6、)数据流图图2.2.1 系统的数据流图图2.2.2 1层数据流图数据字典在定义的图书借阅管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。(1)数据项描述 1)数据项名称:借书证号 含义说明:惟一标识一个借书证 类型:字符型 长度:50 逻辑关系:不允许为空 2)数据项名称:用户名 含义说明:读者的名称 类型:字符型 长度:20 逻辑关系:不允许为空 3)数据项名称:密码 含义说明:对用户名和操作员管理员进行加密 类型;字符型 长度:10 逻辑关系:允许为空 4)数据项名称:性别 类型:字符型 长度:10 逻辑关系:允许为空 5)数据项名称:所在系别 类型;字符
7、型 长度:10 逻辑关系:允许为空 6)数据项名称:所在班级 类型:字符型 长度:10 逻辑关系:允许为空 7)数据项名称:操作员名称 类型:字符型 长度:30 逻辑关系:不允许为空 8)数据项名称:操作员简称 含义说明:惟一标识一个操作员 类型:字符型 长度:10 逻辑关系:不允许为空 9)数据项名称:操作员级别 含义说明:对操作员和管理员进行区分 类型:字符型 长度:10 逻辑关系:不允许为空 10)数据项名称:图书编号 含义说明:惟一标识一个图书 类型:字符型 长度:10 逻辑关系:不允许为空 11)数据项名称:图书名称 类型:字符型 长度:50 逻辑关系:不允许为空 12)数据项名称:
8、作者 类型:字符型 长度:50 逻辑关系:不允许为空 13)数据项名称: 类型:字符型 长度:50 逻辑关系:不允许为空 14)数据项名称:出版时间 类型:日期时间型 长度:8 逻辑关系:不允许为空 15)数据项名称:价格 类型:整型 长度:4 逻辑关系:不允许为空 16)数据项名称:备注 类型:字符型 长度:200 逻辑关系:允许为空 17)数据项名称:借书日期 类型:日期时间 长度:8 逻辑关系:不允许为空 18)数据项名称:还书日期 类型:日期时间 长度:8 逻辑关系:不允许为(2)数据结构描述1)数据流名称:用户情况 含义说明:定义了一个读者的有关信息组成结构:用户情况=用户名+借书证
9、号+密码+性别+所在系别+所在班级2)数据流名称:操作员情况 含义说明:定义了一个操作员的有关信息 组成结构:操作员情况=操作员名称+操作员简称+操作员级别+操作员密码数据流名称:图书情况 含义说明:定义了一个图书的有关信息 组成结构:图书情况=图书编号+图书名称+作者+出版时间+价格+备注数据流描述 1)数据流名称:借书 含义:读者借书时的记录 来源:读者 去向:审核借书 数据流量:50份/天 组成:借书单=借书证号+图书编号+借书日期 2)数据流名称:还书 含义:读者还书时要填写的记录 来源:读者 去向:审核还书 数据流量:25份/天 组成:还书单=图书编号+还书日期数据存储说明 数据存储
10、名称:图书数据表 含义说明:存放图书的有关信息 组成结构:图书编号+图书名称+作者+出版时间+价格+备注 说明;书号具有惟一性和非空性2) 数据存储名称:用户信息表 含义说明:存放读者的注册信息 组成结构:用户名+借书证号+密码+性别+所在系别+所在班级 说明:证号具有惟一性和非空性,性别只能是男和女3) 数据存储名称:借书记录 含义说明:存放读者的借书,还书信息 组成结构:借书证号+图书编号+借书日期+还书日期 说明:要求能够立即查询处理过程说明 1)处理过程名称:图书管理 输入:图书情况, 输出:图书记录 处理说明:对馆所有图书按图书编号进行管理,将图书数据数据化,存储图书数据表中。 2)
11、处理过程名称:读者管理 输入:读者情况, 输出:读者记录 处理说明:建立读者信息表,对读者进行统一编号,实现读者记录表的增删改维护功能。 3)处理过程名称:查看数目 输入:借书请求,读者 输出:借书记录,图书信息 处理说明:实现根据图书编号等查询图书。 4)处理过程名称:借书处理 输入:图书情况,读者,借书记录 输出:借书记录 处理说明:确认读者符合借书条件,办理借书手续。 5)处理过程名称:还书处理 输入:图书情况, 输出:借书记录 处理说明:对照相应的图书编号可办理还书手续。 6)处理过程名称:安全管理 输入:操作员情况,用户情况 输出:操作员级别,操作员记录,用户记录 处理说明:通过用户
12、名和口令,确认用户身份,保证系统的安全型。(三)加工说明(可用结构化语言描述、判定表、判定树)图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 系统的包图数据库包:包含数据库中所有的数据信息用户包:包含要使用系统的用
13、户及其属性管理员包:包含要使用系统的管理员及其属性接口包:表示系统和数据库的借口系统包:表示图书借阅管理系统(四)类图类是面对对象系统组成的核心。类是对一组相同属性、操作、关系和语义的对象的描述。这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。图3.4.1 系统的类图(五)配置图图3.5.1 系统配置图四、系统实现(一)程序代码图书借阅管理:Public Schd As StringPrivate Sub Cmd_Add_Click() 初始化FrmBorrowEdit信息 设置借阅编号为当前编号最大值+1 Dim
14、 JYNo As String 取表中的最大借阅编号 JYNo = 00 + Trim(Str(Val(MyBorrow.GetMa*No() + 1) FrmBorrowEdit.t*tBorrowNo = JY + JYNo FrmBorrowEdit.t*tBorrowDate = Date FrmBorrowEdit.t*tReturnDate = FrmBorrowEdit.t*tBCount = 0 FrmBorrowEdit.t*tCardNo = FrmBorrowEdit.t*tName = FrmBorrowEdit.t*tCardType = FrmBorrowEdit.
15、t*tMa*Count = 0 FrmBorrowEdit.t*tMa*Days = 0 FrmBorrowEdit.t*tBookNo = FrmBorrowEdit.t*tBookName = FrmBorrowEdit.t*tBookType = FrmBorrowEdit.t*tLCount = 0 FrmBorrowEdit.t*tTotal = 0 设置添加图书按钮不能用 FrmBorrowEdit.Cmd_Add.Enabled = False FrmBorrowEdit.Cmd_Del = False FrmBorrowEdit.Cmd_Ok.Enabled = False 设
16、置图书信息不能用 FrmBorrowEdit.Frame2.Enabled = False 启动编辑窗体 FrmBorrowEdit.Show 1 刷新DataGrid表格的容 GridRefreshEnd Sub单击返回”按钮Private Sub Cmd_Back_Click() Unload MeEnd SubPrivate Sub Cmd_Push_Click()列出离应归还日期小于等于5天的图书 FrmPush.Show 1End SubPrivate Sub Cmd_Return_Click() 归还调用FrmReturnEdit窗体,需要输入借阅证号,提取该证借阅信息 FrmRe
17、turnEdit.Show 1 GridRefreshEnd SubPrivate Sub boFlag_click() GridRefreshEnd Sub启动窗体Private Sub Form_Load() 设置借阅状态为借阅 boFlag.ListInde* = 0 刷新DataGrid表格的容 GridRefreshEnd SubPrivate Sub GridRefresh() If boFlag.ListInde* 0 Then Schd = AND l.Status= + Trim(boFlag.Te*t) + Else Schd = End If 设置ADO控件的连接字符串
18、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 借阅
19、日期 _ + FROM Borrow b,BorrowList l,Cards c,BookInfo i _ + WHERE l.BNo=b.BorrowNo AND b.CardNo=c.CardNo AND l.BookNo =i.BookNo + Schd _ + ORDER BY l.BookNo,b.BorrowDate DESC MsgBo* (Adodc1.RecordSource) Adodc1.Refresh DataGrid1.Columns(0).Width = 1200 DataGrid1.Columns(1).Width = 1600 DataGrid1.Column
20、s(2).Width = 1200 DataGrid1.Columns(3).Width = 1400 DataGrid1.Columns(4).Width = 1400 DataGrid1.Columns(5).Width = 1200 DataGrid1.Columns(6).Width = 1400End Sub编辑用户信息:Public Modify As BooleanPublic OriUser As StringPrivate Sub Cmd_Cancel_Click() Unload MeEnd SubPrivate Sub Cmd_OK_Click() If Trim(t*t
21、UserName) = Then MsgBo* 请输入用户名 t*tUserName.SetFocus E*it Sub End If If Len(t*tPass) 6 Then MsgBo* 密码长度不能小于6 t*tPass.SetFocus t*tPass.SelStart = 0 t*tPass.SelLength = Len(t*tPass2) E*it Sub End If If t*tPass t*tPass2 Then MsgBo* 密码和确认密码不相同,请重新确认 t*tPass2.SetFocus t*tPass2.SelStart = 0 t*tPass2.SelLen
22、gth = Len(t*tPass2) E*it Sub End If With MyUser If Modify = False Or OriUser Trim(t*tUserName) Then If .In_DB(MakeStr(t*tUserName) = True Then MsgBo* 用户名已经存在,请重新输入 t*tUserName.SetFocus t*tUserName.SelStart = 0 t*tUserName.SelLength = Len(t*tUserName) E*it Sub End If End If .UserName = MakeStr(t*tUse
23、rName) .Pwd = MakeStr(t*tPass) If Modify = False Then .Insert MsgBo* 添加完成 Else .Update (OriUser) MsgBo* 修改完成 如果修改自身用户名,则更新CurUser对象 If OriUser = CurUser.UserName And Trim(t*tUserName) OriUser Then CurUser.UserName = Trim(t*tUserName) CurUser.GetInfo (CurUser.UserName) End If End If End With Unload M
24、eEnd SubPrivate Sub Form_Load()End SubPrivate Sub t*tPass_Change()End Sub用户管理:Private Sub Cmd_Add_Click() With FrmUserEdit .t*tUserName = .t*tPass = .t*tPass2 = .Modify = False .Show 1 End With AdoUserList.Refresh DataList1_ClickEnd SubPrivate Sub Cmd_Back_Click() Unload MeEnd SubPrivate Sub Cmd_Del
25、_Click() If DataList1.Te*t = Then MsgBo* 请选择要删除的用户 E*it Sub End If If MyUser.UserName = Admin Then MsgBo* 此用户不能删除 E*it Sub End If 确认删除 If MsgBo*(是否删除当前用户, vbYesNo, 请确认) = vbYes Then MyUser.Delete (DataList1.Te*t) MsgBo* 成功删除 AdoUserList.Refresh DataList1_Click End IfEnd SubPrivate Sub Cmd_Modi_Click
26、() If DataList1.Te*t = Then MsgBo* 请选择要修改的用户 E*it Sub End If With FrmUserEdit .OriUser = MyUser.Overcame .t*tUserName = MyUser.UserName .t*tPass = MyUser.Pwd .t*tPass2 = MyUser.Pwd If Trim(MyUser.UserName) = Admin Then .t*tUserName.Enabled = False End If .Modify = True .Show 1 End With AdoUserList.R
27、efresh DataList1_ClickEnd SubPrivate Sub DataList1_Click() If DataList1.Te*t = Then E*it Sub End If 读取用户数据 MyUser.GetInfo (DataList1.Te*t) lblUserName = MyUser.UserName If Trim(MyUser.UserName) = Admin Then lblUserType = 系统管理员 Else lblUserType = 普通用户 End IfEnd SubPrivate Sub Form_Load() lblUserType = lblUserName = 设置ADO控件的连接字符串 AdoUserList.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= _ + App.Path + Books.md
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度临床执业医师复习提分资料附答案详解【考试直接用】
- 安宁疗护中的跨文化护理与敏感度
- 2024-2025学年公务员考试《常识》模拟题库及参考答案详解(综合题)
- 2024-2025学年园林绿化作业人员测试卷参考答案详解
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》常考点试卷附答案详解【基础题】
- 2024-2025学年度专升本测试卷及答案详解【有一套】
- 供应链安全风险防控实战指南
- 2024-2025学年度中级软考题库试题及参考答案详解【夺分金卷】
- 2024-2025学年冶金工业技能鉴定考前冲刺测试卷及参考答案详解一套
- 2024-2025学年度环保局考试考试历年机考真题集及完整答案详解(网校专用)
- 2026年全球新能源车销量展望报告-2025-12-新能源
- 物联网服务合同协议
- 玩具轮流玩课件
- 乡村和城镇空间结构高中地理人教版必修二
- 给法院的调节申请书
- 2026年黑龙江商业职业学院单招职业倾向性考试题库及答案详解一套
- 消防行政处罚执法案例解析
- 2025-2026学年译林版八年级英语上册(全册)知识点梳理归纳
- 2026年江西科技学院单招职业技能测试题库及答案解析(夺冠系列)
- 中国电子学会软件编程考级C++一级题库50题及参考答案
- 北师大版二年级数学下册全册同步练习随堂练习一课一练版
评论
0/150
提交评论