软件工程参考文档(图书管理系统)_第1页
软件工程参考文档(图书管理系统)_第2页
软件工程参考文档(图书管理系统)_第3页
软件工程参考文档(图书管理系统)_第4页
软件工程参考文档(图书管理系统)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hebei Normal University of Science & Technology专业: 网络工程 学号: 软件工程课程设计(自然科学) 题 目:图书管理系统的设计与实现 院(系、部):数学与信息科技学院 学 生 姓 名:张丽颖 指 导 教 师: 宋金玲 职 称 副教授 2011年 12 月 16日河北科技师范学院教务处制目录一、系统开发背景和意义3二、可行性分析34三、用户需求分析48四、系统概要设计814五、系统详细设计与实现1541六、测试分析报告4147七、用户手册47图书管理系统一、系统开发的背景和意义图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使

2、用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿

3、命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。二、可行性分析1、技术可行性分析根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能需求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。2、经济可行性分析估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运

4、行、维护费用,估计新系统将获得的效益,估算开发成本是否会高于项目预期的全部经费。并且,分析系统开发是否会对其他产品或利润带来一定影响。(1)支出: 硬件设备:PC机软件设备:WINDOWSXP、Microsoft、vb6.0(Access)软件设计和开发费用经常性支出:软件维护费用、软件使用费用。(2)效益:系统的效益可以从经济效益和社会效益两方面考虑。对于图书管理系统则应着重分析其社会效益。如:系统投入运行后可以使图书馆图书管理实现科学化、规范化,增强了工作人员对管理工作者的管理能力、提高了工作效率。三、用户需求分析1、任务概述图书管理的业务流程抽象描述如下:(1)新的图书购进后,分门别类地

5、进行归并并汇总,加以编号。(2)新书编号后,上到书架以备学生借阅。(3)如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。(4)学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。2、组织结构图采编部 藏书部馆长室读者服务部阅览室借书处 3、业务流程图针对业务流程,现具体描述其主要功能如下:1.用户登录:系统对用户合法性进行检查。2.图书入库:对新购进的图书分类进行编号,并把图书基本信息录入计算机。3.图书借阅:对已入库的图书,学生可以借阅,并进行登记。4.图书归还:对学生已归还的图书进行归还登记。 5.信息查询:即对所有图书的借阅情况,

6、或学生的基本情况和借阅情况进行查询。6.管理措施:定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。读者查询书籍书籍信息借书申请单管理员审核借书申请借阅单书库书籍退回申请单读者信息审核还书申请还书申请单编制罚单还书单编制赔偿单赔偿单罚单合格不合格过期未过期书籍借阅信息检查书籍书籍信息损坏丢失未损坏丢失4、数据流图入库单(1)顶层图P图书借阅管理系统图书管理员借书申请单还书申请单退回申请罚单赔偿单还书单借阅单赔偿单读者(2)一层数据流程图读者P1借书管理书库借书申请单D2读者信息信息P2还书管理P3赔偿管理D3书籍借阅信息还书申请单D7赔偿单D5还书单D6罚单D4借阅单D1书籍信息信息

7、(3)二层数据流程图借书管理二层数据流程图P1.1查询书籍D1书籍信息P1.2审核借书申请借书申请单D2读者信息书库D4借阅单读者还书管理二层数据流程图还书申请单P2.2编制罚单过期D3书籍借阅信息信息书库D5还书单D6罚单未过期读者P2.1审核还书申请赔偿管理二层数据流程图读者P3.1丢失损坏书籍P3.2编制赔偿单书库D7赔偿单5、数据字典(主要数据字典)图书:图书表结构别名:描述:记录所有图书的基本信息定义:图书信息表=图书编号+图书名称+图书ISBN号+图书作者+图书出版社+图书类型+图书价格+图书库存量+图册数量+图书总数位置:Librarydat.mdf数据库名称:管理员别名:描述:

8、记录管理员信息定义:管理员信息=管理员ID+管理员姓名+加入时间+级别+性别位置:Librarydat.mdf数据库借书登记:借书登记表结构别名:描述:记录所有图册的借阅信息定义:借阅登记表=借书编号+读者编号+图册编号+借书时间+归还时间+是否归还位置:Librarydat.mdf数据库用户密码:密码表结构别名:描述:记录所有用户的密码定义:密码表信息=用户ID+密码位置:Librarydat.mdf数据库读者信息:读者信息表结构别名:描述:记录所有读者的基本信息定义:读者信息表=读者ID+读者姓名+性别+所在学院系部专业+职务 位置:Librarydat.mdf数据库图册:图册表结构别名:

9、描述:记录具有相同基本信息的图书的图册信息定义:图册信息=图书编号+图册编号+ 借出时间+归还时间+借还状态位置:Librarydat.mdf数据库6、功能需求经过以上分析,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。 以下是图书管理系统必须具备的功能:1.新进图书的登记功能:对于购进的新书,系统必须具备图书信息资料的录入功能。2.图书的查询修改功能:当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。3.借阅的登记,归还的登记功能:系统的主要功能之一,供本校学生借阅图书、归还图书,并进行登记。4.读者信息的增加、删除和修改功能:系统主

10、要功能之一,建立学生信息,并对其进行维护。5、图书的、图册查询:查询图书的信息,方便借阅。6、图书续借:读者进行操作,续借图书。7、统计报表:系统管理员对这个图书馆的图书、读者信息进行统计。主要用例图:借书登记还书登记图册查询用户管理密码设置图书查询读 者图书续借图册查询图书查询密码设置图书管理员系统设置用户管理报表统计密码设置系统管理员四、系统概要设计1、系统功能模块图依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图如下图所示。添加用户用户管

11、理系统管理密码设置删除用户用户查询系统设置图书管理系统图书管理借还管理图书查询图书基本信息管理图册管理图书借阅图书归还图书续借图册查询统计报表借出统计报废统计库存统计用户信息修改报损统计财务统计2、系统流程图依据软件工程的基本原理,综合以上分析给出系统流程图如下图所示。图书管理系统主文件合法用户登录登录验证图书管理程序用户登录管理员界面读者界面图书管理统计报表密码设置读入读者信息管理信息设定顶设定图书续借图书查询图书查询新书入库押金、逾期时限、丢失罚款设定归还图书借阅图书图册查询图书报废密码表图册查询图书损坏或丢失归还图书逾期相应处理措施图书表图册表退出五、数据库设计1、 数据库概念设计在需求

12、分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出概念结构设计得E-R图如图所示。读者借还状态归还时间借出时间图册编号图书编号图书名称图书编号图书出版社图书总数图书ISBN号图书价格图书作者图书库存量图册数量图书类型所在系部专业职务读者ID姓名性别图册图书管理员性别管理员ID姓名加入时间级别(1)实体属性图管理员借阅管理管理NNMMN读者图书图册MMNNN1含有归还(2)总E-R图关系模型:(标有下划线的为主键)读者(读者ID,姓名,性别,所在专业,职务)管理员(管理员ID,姓

13、名,性别,加入时间,级别)图书(图书编号,图书名称,图书ISBN号,图书作者,图书出版社,图书库存量,图册数量,图书类型,图书价格,图书总数)图册(图册编号,图书编号,借出时间,归还时间,借还状态)2、 数据库物理设计依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的概念设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用ACCESS。本系统决定采用一个数据库,在其下创建以下数据表,其结构分别如下:1、图书信息表(tBooks),其字段列表如表4-1。表4-1 图书信息表序号字段名称字段说明类型位数属性备注1cBooksID图书编号文本7必

14、须非空2cBooksName图书名称文本20必须非空3cBooksISBN图书ISBN号文本15可为空4cBooksAuthor图书作者文本10可为空5cBooksPublisher图书出版社文本20可为空6cBooksType图书类型文本16可为空7smBooksPrice图书价格货币可为空8iBooksStoreQuan图书库存量整数可为空9iBooksLeftQuant图册数量整数可为空10iBooksTotalQuan图书总数整数可为空2、图册信息表(tBook),其字段列表如表4-2。表4-2 图册信息表序号字段名称字段说明类型位数属性备注1cBookID图册编号文本7必须非空2cB

15、ooksID图书编号文本7必须非空3cBOutTime借出时间时间日期可为空4cBReturnTime归还时间时间日期可为空5cBOR借还状态文本4必须非空3、读者信息表(tVip),其字段列表如表4-3。表4-3 读者信息表序号字段名称字段说明类型位数属性备注1cVipID读者编号文本6必须非空2cVipName读者姓名文本10必须非空4cVipSex读者性别文本2可为空5vipMajor所在专业文本20必须非空6vipPost职务文本20必须非空4、管理员信息表(tOperators),其字段列表如表4-4。表4-4 管理员信息表序号字段名称字段说明类型位数属性备注1cOperatorID

16、管理员编号文本5必须非空2cOperatorName管理员姓名文本10必须非空3cOperatorAddTime加入时间时间日期必须非空4cOperatorRank级别文本10必须非空5cOperatorSex性别文本2必须非空5、图书借还登记表(tBorrow),其字段列表如表4-5所示。表4-5 图书借还登记表序号字段名称字段说明类型位数属性备注1cBorrowID借书编号文本6必须非空2cVipID读者编号文本6必须非空3cBookID图册编号文本7必须非空4cBorrwTime借书时间时间日期可为空5cReturnTime还书时间时间日期可为空6cReturn是否归还文本8可为空7cN

17、oReturn归还异常文本8可为空6、密码表(tPassword),其字段列表如表4-6所示。表4-7 密码表序号字段名称字段说明类型位数属性备注1cUsername用户ID文本6必须非空2cPassword密码文本10可为空六、系统详细设计与实现 系统详细设计1、 程序流程图依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。由于本系统采用支持面向对象的Visual Bas

18、ic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出软件系统的主程序流程图,如图所示。开始是否合法用户登录NOYES显示介面用户注销借阅管理统计报表管理措施设置图书管理图书查询学生管理密码设置图册查询选择操作结束根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如图所示。 用户注销开始用户登录NOi 0 Then If MsgBox(txtBookId & & txtName & 共计欠费 _ & rst1.Fields(罚款) & 元 是否从数据库中删除?, 4 + 48, 欠费) _ = vbYes Then 从数据库中删除欠费

19、记录 rst1.Edit rst1.Fields(罚款) = 0 rst1.Update txtFa.Text = rst1.Fields(罚款) & Empty End IfElse 把罚款复制为0 rst1.Edit rst1.Fields(罚款) = 0 rst1.UpdateEnd IfEnd IfEnd SubPrivate Sub dc_Click()DataReport2.ShowDataReport2.WindowState = 2End SubPrivate Sub dzbb_Click()DataReport3.ShowDataReport3.WindowState = 2

20、End SubPrivate Sub EditIdMnu_Click()Sb.Panels(1).Text = 编辑借书证 EditBookId.Show (1) Sb.Panels(1).Text = 编辑借书证End SubPrivate Sub EditMnu_Click() Sb.Panels(1).Text = 编辑图书 EditBook.Show (1) Sb.Panels(1).Text = 编辑图书End SubPrivate Sub ExitMnu_Click()Unload MeEndEnd SubPrivate Sub FenMnu_Click()SetType.Show

21、 (1)End SubPrivate Sub Form_Load()Set db1 = Workspaces(0).OpenDatabase(App.Path & DataBaseData.mdb, False)Set rst1 = db1.OpenRecordset(Personal, dbOpenTable)rst1.Index = 借书证号Set db2 = Workspaces(0).OpenDatabase(App.Path & DataBaseData.mdb, False)Set rst2 = db2.OpenRecordset(BookFf, dbOpenTable)Set q

22、ry2 = db2.CreateQueryDef()rst2.Index = 图书编号Set db3 = Workspaces(0).OpenDatabase(App.Path & DataBaseData.mdb, False)Set rst3 = db3.OpenRecordset(Book, dbOpenTable)rst3.Index = 图书编号Open App.Path & DataBaseData.mdb For Random As #1 Len = Len(SetFlag)Get #1, 1, SetFlagBookNum = SetFlag.BookNumFaCost = S

23、etFlag.BookCostLV2.View = lvwReportLV2.ColumnHeaders.Add , , 借书证号LV2.ColumnHeaders.Add , , 借书人姓名LV2.ColumnHeaders.Add , , 图书编号LV2.ColumnHeaders.Add , , 书名LV2.ColumnHeaders.Add , , 价格LV2.ColumnHeaders.Add , , 类别LV2.ColumnHeaders.Add , , 出版社LV2.ColumnHeaders.Add , , 借出日期SFlag = 程序设计: 张丽颖txtBookId.Text

24、 = txtName.Text = txtClass.Text = txtDepart.Text = txtBookHao.Text = txtBookName = txtZhiCheng = txtFa.Text = txtCost = txtChuBan = txtLentDate = End SubPrivate Sub Form_Unload(Cancel As Integer)rst1.Closerst2.Closerst3.Closedb1.Closedb2.Closedb3.CloseClose #1End SubPrivate Sub LoginMnu_Click() CmdL

25、ogin_ClickEnd SubPrivate Sub SearchMnu_Click() Findfrm.ShowEnd SubPrivate Sub SetMnu_Click()setfrm.ShowEnd SubPrivate Sub Timer2_Timer()Dim k As StringDim i As StringDim j As StringDim c As StringStatic kk = k + 1i = Int(Rnd() * 255)j = Int(Rnd() * 255)c = Int(Rnd() * 255)Label7.ForeColor = RGB(i, j

26、, c)If k 23 Then k = 4 Else Label7.FontSize = k End IfEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index Case 3 Sb.Panels(1).Text = 编辑借书证 EditBookId.Show (1) Sb.Panels(1).Text = 编辑借书证 Case 5 SetPer.Show (1) Case 7 SetType.Show Case 9 setfrm.Show Case

27、13 EndEnd SelectEnd SubPrivate Sub Toolbar1_ButtonMenuClick(ByVal buttonmenu As MSComctlLib.buttonmenu)Select Case buttonmenu.Key Case 添加 Sb.Panels(1).Text = 添加新书 AddNewBook.Show (1) Sb.Panels(1).Text = SFlag Case 编辑 Sb.Panels(1).Text = 编辑图书 EditBook.Show (1) Sb.Panels(1).Text = 编辑图书 Case 新借 MsgBox

28、Add BookCard Case 编借 MsgBox Edit BookCardEnd SelectEnd SubPrivate Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index Case 1 CmdLogin_Click Case 3 cmdKong_Click Case 7 cmdBackBook_Click Case 5 Findfrm.ShowEnd SelectEnd SubPrivate Sub tsbb_Click()DataReport1.ShowDataR

29、eport1.WindowState = 2End SubPrivate Sub txtBookBian_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then If txtBookId.Text = Then MsgBox 请先登录!, 0 + 48, 提示 CmdLogin.SetFocus txtBookBian.Text = Exit Sub End If rst3.Seek =, txtBookBian.Text If rst3.NoMatch Then MsgBox 没有此图书编号,请重新填写, 0 + 48, 填写错误 txtBook

30、Bian.SetFocus Frame4.Visible = False Frame7.Visible = True Exit Sub End If Frame4.Visible = True Frame7.Visible = False txtBookHao.Text = txtBookBian.Text txtBookName.Text = rst3.Fields(书名) & vbNullString txtChuBan.Text = rst3.Fields(出版社) & vbNullString txtCost.Text = rst3.Fields(价格) & Empty txtLent

31、Date = rst3.Fields(借出日期) & vbNullString txtType.Text = rst3.Fields(类别) & vbNullStringEnd IfEnd SubPrivate Sub DataRef()Dim i As IntegerDim SeaStr As StringSeaStr = select * from Bookff where 借书证号=SeaStr = SeaStr & & BookId & qry2.SQL = SeaStrSet rst = qry2.OpenRecordset()If rst.RecordCount = 0 Then

32、Label1.Caption = 可以借 & BookNum & 本书 Exit SubEnd Ifrst.MoveLastRecNumBookFf = rst.RecordCountrst.MoveFirstLV2.ListItems.ClearFor i = 1 To RecNumBookFf LV2.ListItems.Add i, , rst.Fields(借书证号) & vbNullString With LV2.ListItems(i) .SubItems(1) = rst.Fields(姓名) & vbNullString .SubItems(2) = rst.Fields(图书

33、编号) & vbNullString .SubItems(3) = rst.Fields(书名) & vbNullString .SubItems(4) = rst.Fields(价格) & Empty .SubItems(5) = rst.Fields(类别) & vbNullString .SubItems(6) = rst.Fields(出版社) & vbNullString .SubItems(7) = rst.Fields(借出日期) & vbNullString End With rst.MoveNext If rst.EOF Then Exit ForNext iIf RecNumBookFf = BookNum Then MsgBox 已经借了 & BookNum & 本书,不能再借了,请登录其它借书证号, 0 + 48, 提示 txtBookId.Text = txtName.Text = txtClass.Text = txtDepart

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论