资源描述
图书管理系统摘要 本系统主要根据瀑布模型思想开发设计的,用.net开发出来的系统。首先根据系统特点确定了开发模型,再通过对系统进行需求分析研究,建立结构化分析,系统功能模块,数据流图,然后进行数据字典分析。确定数据的定义和属性,建立数据表,对功能的实现,讨论了图书管理系统的运行环境和前台,后台的设计,结合了SQL SERVER数据库的运行环境和前台后台的设计,可以实现数据的查询,插入,删除和修改,最终设计了程序流程,最终设计包括用户模块和管理员模块,实现了借还书籍,书籍管理。用户管理等图书管理系统的基本功能。 关键字:图书管理系统 .net技术开发 数据库Abstract This system is developed by .net primarily based on waterfall model idea.First of all, according to the characteristics of the system ,we choose the development model.Second ,through the analysis studies of system , we establish structured analysis, system function modules, data flow diagram.Next, analysing the data dictionary, insuring the definition and attributes of data,creating a data table, realizing the functions.We discuss the operating environment andforeground,background design, combining with the SQL SERVER database operating environment and foreground ,background design . The system can query,insert, delete the data and in the end design the program flow, Final design includes a user module and administrator module, achieving the library management systems basic functions, for instance,the books reservation , books return, user management and the like. Key words: Books management system management system .net technology development Database 目录第一章 基本理论.11.1 引言1.2 C#.NET技术1.3 数据库技术第二章 开发环境的配置2.1 Dreamweaver的安装2.2 SQL SERVER的安装2.3 Microsoft web developer 2008的安装第三章 系统设计3.1 需求分析3.2 用户界面设计3.3 数据库设计3.4 模块设计3.5 程序设计3.6 系统测试总结参考文献第一章 基本理论1.1 引言为了提高书店的工作效率,方便的进行书店科学的管理,根据实习的书店的实际情况设计了 “图书管理系统” 。本论文主要描述了图书销售管理系统的设计方法及系统的实现过程,阐述了系统分析,硬件选择,系统实施等步骤。重点论述了系统设计方法,数据流程的分析,数据库的建立过程。 图书销售管理系统主要的内容包括图书管理,图书的档案,新书的录入存储等方面的内容。在设计过程中考虑到图书管理特殊的操作性,计算机操作人员的操作水平的 客观因素,在软件的功能设计及界面设计方面尽可能简捷方便,已利于操作。图书管理系统的开发环境。这套系统实在Windows Me操作系统平台下,采用客户/服务器模式,用c#.net开发。按照基本方法和设计技巧完成。1.2 C#.NET的技术Mircosoft net是微软公司提出的新一代软件开发模型,.net主要包括VISUAL STDIO.NET开发工具,.net平台以及.net服务器,其核心是web service。目前微软应经推出了.net企业服务系列,类如windows server 2003等,微软还将推出其他的企业解决方案,以及.net开发工具,所以说.net具体较好的发展情景。1.3 数据库技术当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。 严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个数据仓库我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种数据库,使其可以利用计算机实现财务、仓库、生产的自动化管理。 J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。第二章 开发环境的配置2.1 Dreamweaver的安装(1)下载该软件(2)双击压缩文件进行文件包解压(3)点击下一步,然后接受协议(4)更改文件所保存的路径(5)点击下一步(6)完成2.2 SQL Server的安装(1)下载Sql server 软件(2)双击文件安装(3)接受协议(4)下一步,下一步(5)完成安装2.3 Microsoft web developer的安装(1)下载Microsoft web developer 2008(2) 点击文件包中的setup安装软件(3)安装程序扫描组件(4)同意协议(5)下一步,下一步,直到安装完成为止。第三章 系统设计3.1需求分析1.引言1.1编写目的图书管理信息系统的前阶段,对本系统的需求做了详细的阐述,并提出了这份软件需求规格说明书。此需求规格说明书对图书管理信息系统软件做了全面细致的用户需求分析,明确所要开发的软件应具有的数据库、功能、性能等,使系统分析人员及软件开发人员都能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为用户、需求分析人员、代码编写人员、测试人员、用户文档编写者、项目管理人员。在下一段的设计中,程序设计员可参考此需求分析规格说明书,在需求分析说明书对图书馆管理信息系统所做的模块结构设计的基础上进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改或发现错误时找出在本阶段的不足或错误。1.2项目背景由于图书馆书籍多,查找、增加、借阅、归还极为不便,要浪费许多的人力、脑力、物力。图书的管理不当会严重导致图书馆书籍的遗失等问题。于是我们希望能找到解决的方法。为了解决以上的问题,让图书馆能够有效的管理图书馆书籍,有效的利用软件的便捷,保护好书籍,促进图书馆管理的信息化和规范化。我们多方听取意见、分组讨论、查阅资料,进而了解图书馆管理的流程,开发出一套适合于图书馆书籍多而复杂的管理系统。1.3定义、缩写词和符号专门术语SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言。主键:数据库表中与其他表主键关联的域。外部主键:数据库表中的关联域。值互不相同。需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。缩写系统:若未特别指出,统指本图书信息管理系统。SQL:Structured Query Language(结构化查询语言)。1.4参考资料软件工程实务罗先文、徐军,重庆大学出版社,2005年3月UML 用例驱动对象建模Doug Rosenberg、Kendall Scott著,徐海、周靖、陈华伟译,清华大学出版社,2003年5月UML 系统分析设计应用案例 冀振燕,人民邮电出版社,2003年6月 NET语言程序设计 陈炜,人民邮电出版社,2005年1月SQL Server数据库吕凤顺,清华大学出版社,2006年9月网页设计与制作于巧娥、何金奎,北京大学出版社,2006年1月2.任务概述2.1目标2.1.1开发目标实现图书管理信息系统的基本需求。2.1.2应用目标让图书馆能够有效的管理图书的查询、借阅、增加、归还等操作,保护好文件,促进图书管理的信息化、规范化,实现图书馆的智能化管理,以提高图书馆的的工作效率。2.2运行环境2.2.1硬件环境A 一台586 以上的微机及兼容B内存16MB(最好32MB内存)2.2.2软件环境A.windows 98 以上的操作系统 BOffice 2000应用软件2.3条件与限制本图书管理信息系统软件是应用于中小型的图书馆。在功能上还不是很健全,还需要进一步完善,还可进一步实现与E-Mail和Internet电话连接起来,成为网络图书管理信息系统软件。3. 数据描述3.1静态数据下面列出了五个表的具体静态数据:1) 图书信息表(book): 数据结构(自动编号ID,图书编号(BookID),书号(ISBN),价格(Price),类别名(Kind),图书名(BookName),出版社(Publish),借出日期(BorrowDate),是否借出(IsBorrowed) 2)借出图书信息表(bookoff): 数据结构(自动编号ID,借书证号(LoanNum),姓名(Name),图书编号(BookID),书名(BookName),价格(Price),类别(Kind),出版社(Publish),借出日期(BorowDate)) 3)管理员信息表(Librarian): 数据结构(自动编号ID,名称(LibName),密码(Password) 4)读者信息表(personal): 数据结构(自动编号ID,读者编号(ReaderNum),借书证号(BorrowNum),姓名(Name),班级(Class),部门(Depart),职称(Tittle),罚款(Fine) 5)图书类型信息表(type): 数据结构 (自动编号ID,类别名(Kind),借出天数(BorrowedDay)) 3.2动态数据输入数据:菜单选项,查找关键字,新建记录项。输出数据:由查询关键字确定的数据库记录集合。内部生成的数据:中间查询结果。3.3数据库描述本软件采用SQL SERVER数据库。3.4数据流图图书管理信息系统软件的数据流图是比较清晰的,对各功能模块来说都比较有规律。但完整的图比较繁琐,各个功能模块的数据流图如下。1 系统管理数据流图重新登陆 不正确信 息 核 对 用户输入修 改密 码注 册用户 密码登陆 修改信息 正确信息 成功 管理员输入管理员 密码登陆 正确信息查 询书 籍 显示书籍信息 数据库文件2.图书管理数据流图 查 询书 籍 显示书籍信息 输入关键字 检查用户身份 学生图 书删 除图 书添 加输入密码信息登陆 数据库文件 管 理 员图 书分 类3.借书证管理数据流图增加借书证信息检查管理员身份 不正确 正确 管理员输入密码登陆 数据库文件修改借书证信息删除借书证 4.借书和还书操作数据流图 输出提示信息借阅书籍检查用户身份 正归还书籍用户、管理员 数据库文件输入密码登陆 确续借书籍 5.报表打印数据流图打印单条图书记录 输出记录 用户 检查用户身份 用户、管理员 打印全部档案输入密码登陆 管理员 输出记录 3.5数据字典图书信息表(book)图书编号 BookID 书号 ISBN 价格 Price 类别名 Kind 图书名 BookName出版社 Publish 数量 Amount作者 Author 借出图书信息表(bookoff) 借书证号 BorrowNum 图书编号 BookID 借出日期 BorowDate 是否借出 IsBorrowed 读者信息表(personal) 姓名 ReaderName 密码 Password班级 Class 部门 Depart 职称 Tittle 借书证号 BorrowNum 罚款 Fine管理员信息表(Librarian) 名称 LibName 密码 Password图书类型信息表(type) 图书编号 BookID 类别名 Kind借出天数 BorrowedDay4. 功能要求4.1功能划分本系统有以下功能模块:1)系统管理模块 2)图书管理模块 3)借书证管理模块 4)借书和还书操作模块5)打印报表模块 4.2功能描述下面详细描述一下各个功能模块:1)系统管理(1)用户登录:用于管理员或读者登录,进行图书馆书籍及资料的查询。(2)用户注册:用于用户及管理员的注册,当数据库中有了用户资料之后此用户才有权限登录系统。 (3)修改密码:只限于已经注册的用户或管理员的操作。以便于个人登录的识别。2)图书管理(1)图书的分类:主要是适合于管理员的操作,对图书进行分类以便读者查询、借阅书籍。(2)查询书籍:主要给借阅者使用,是为了方便借阅者查询自己想要的图书,借阅者输入图书的相关关键字,按下按钮即可查询到于此相关的书籍。(3)图书的添加:是给管理员用的功能,如有新增书籍,可通过这项功能,在数据库中添加一项纪录,让读者预留、借阅等。(4)图书的删除:是给管理员用的功能,当图书馆没有此书籍时,在数据库中删除此图书的信息。3)借书证管理(1)借书证的添加:仅图书管理员可以使用的功能,在数据库中添加读者的借书证信息,方便读者借阅图书。 (2)借书证信息的修改:修改读者的图书证信息记录(3)借书证的删除:删除读者的图书证信息记录(4)借书证的借书上限和逾期罚金: 根据等级或其他信息规定该读者最多能借阅几本书籍,归还书籍时如果超过期限,规定超过一天罚多少钱 4)借书和还书操作管理(1)借书操作:用户借书后在借出图书信息表中添加用户信息及书籍信息等(2)还书操作:用户归还书籍后在表中删除借出信息便于他人借阅。(3)续借操作:当用户图书到期后,如需再借阅则可使用此功能。5)打印报表 (1)打印单条图书记录:主要适用于一般浏览者和一般用户。他们只能打印在他们的权限和级别范围内所能查看的图书馆信息资料。 (2)打印全部档案:是为管理员设置的,管理员可以根据需要设置打印。也可以让档案以报表或其它形式生成文本文件或HTML文件输出。打印操作人员的信息只限管理员使用。5性能需求5.1数据精确度A要按照严格的数据格式输入,否则系统不给予响应进行处理。B查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。C. 添加记录时必须写入正确的记录字段。5.2时间特性一般操作的响应时间应在12秒内,对软磁盘和打印机等的操作也应在可接受的时间内完成。5.3适应性满足图书馆使用的需求(记录量控制在100项内)。对前面提到的运行环境要求不应存在困难。6. 运行需求6.1用户界面用户界面必须超越Java的界面,要有给人全新感觉,操作简便,一目了然,视图优美等特点,对鼠标和键盘单独支持。6.2硬件接口本软件不需要特定的硬件或硬件接口进行支撑。486以上PC机均可运行此软件。6.3软件接口运行于Windows95及更高版本具有WIN32 API的操作系统之上。6.4故障处理正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。调试中遇到的问题及解决的方案:1)遇到跳出“数据库已经关闭”提示信息阻止程序运行时可以查看一下进行此项操作时,操作的表是否已经被关闭了或者是在没有关闭此表的情况下又一次运用打开语句打开此表。2)关于空记录带来的麻烦有些空记录往往会使程序无法运行。此时你可用“if not isnull”语句先判断一下是否为空记录,再操作。3)有些运行错误也可用如下语句排除On Error GoTo ErropointErropoint :Msgbox Err.DescriptonExit sub或用On Error resume ext等语句进行处理。7其它要求1)系统的功能实现情况: 用户可在本系统下实现各种用户要求的功能2)系统的安全性: 对于系统的重要数据都有密码保护,具有一定的安全性3)系统的容错性: 用户输错数据都有提示信息,具有较好的容错性能。4)系统的封闭性: 用户的封闭性较好,用户基本上在提示信息下输数据3.2 用户界面设计用户界Dreamweaver设计的,如图:管理员界面如图:3.3数据库设计(1)图书管理系统E-R图形通过需求分析,我们可以得到以下的E-R图:总体数据库设计E-R图:图书图书编号价格类别名图书名出版社数量作者管理员管理名称密码读者姓名密码借书还书班级借书证号部门职称罚款超出日期ISBN罚款以下为各个分表E-R图:图书信息表(book)E-R图:图书图书编号价格类别名图书名出版社数量作者ISBN图书(图书名,价格,图书编号,类别名,出版社, 作者, 数量, ISBN)借出图书信息表(bookoff)E-R图:借出图书借出日期借书证号图书编号是否借出借出图书(图书编号, 借书证号, 借出日期, 是否借出)读者信息表(personal)E-R图:读者密码姓名部门班级职称借书证号罚款读者(姓名,班级,部门,罚款,密码,职称,借书证号)图书类型信息表(type)E-R图:图书图书编号类别名借出天数图书(图书编号,类别名,借出天数)管理员信息表(Librarian)E-R图:管理员名称密码管理员(名称,密码)(2)数据库字段的设计本项目图书馆里系统数据库部分由一下几个表组成:图书信息表(book)图书编号 BookID 书号 ISBN 价格 Price 类别名 Kind 图书名 BookName作者 Author出版社 Publish 数量 Amount 借出图书信息表(bookoff) 借书证号 BorrowNum 图书编号 BookID 借出日期 BorowDate 是否借出 IsBorrowed 读者信息表(personal) 姓名 ReaderName 密码 Password班级 Class 部门 Depart 职称 Tittle 借书证号 BorrowNum 罚款 Fine管理员信息表(Librarian) 名称 LibName 密码 Password图书类型信息表(type) 图书编号 BookID 类别名 Kind借出天数 BorrowedDay各分表设计如下:1.图书信息表(book):2.借出图书信息表(bookoff):3.读者信息表(personal):4.图书类型信息表(type):5.管理员信息表(Librarian)用于测试的部分数据:3.4 模块的设计1 用户界面模块主要模块功能如下:(1) 图书信息(2) 用户信息(3) 用户修改(4) 图书查询(5) 图书借阅(6) 借阅规则(7) 图书续借借2:管理员界面模块功能:(1) 添加管理员 (8)添加图书证(2) 修改管理员 (9)修改图书证(3) 查找管理员 (10)查找图书证(4) 管理员查看(5) 添加图书(6) 查找图书(7) 删除图书3.5 程序实现(针对于自己的模块)(1)对book类的操作 public static DataSet showbook() string sql = select * from book order by BookID asc; DataSet ds = sqlhelp.ExecuteDataSet(book, sql); return ds; public static int add_book(book newbook) int m = 0; string sql = insert into book(BookID,ISBN,Price,Kind,BookName,Author,Publish,Amount) values ( + newbook._BookID + , + newbook._ISBN + , + newbook._Price + , + newbook._Kind + , + newbook._BookName + , + newbook._Author + , + newbook._Publish + , + newbook._Amount + ); m = sqlhelp.ExecuteNonQuery(sql); return m; public static int del_book(int bianhao) int m = 0; string sql = delete from book where BookID= + bianhao; m = sqlhelp.ExecuteNonQuery(sql); return m; /*public static DataSet accessReader(int bianhao) string sql = select * from access where accessid= + bianhao; DataSet ds = sqlhelp.ExecuteDataSet(accessa, sql); return ds; */ public static DataSet selectStu(string neirong) string sql = select * from book where BookID like % + neirong + %; DataSet ds = sqlhelp.ExecuteDataSet(book, sql); return ds; public static DataSet selectStu1(string neirong) string sql = select * from book where BookName like % + neirong + %; DataSet ds = sqlhelp.ExecuteDataSet(book, sql); return ds; (2)对于图书信息程序的操作public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) showbook(); protected void showbook() myview.DataSource = book.showbook(); myview.DataBind(); protected void myview_PageIndexChanging1(object sender, GridViewPageEventArgs e) myview.PageIndex = e.NewPageIndex; showbook(); protected void chk_head_CheckedChanged(object sender, EventArgs e) /当标题栏的checkbox被选中的时候,item里面的checkbox全选 if (CheckBox)myview.HeaderRow.FindControl(chk_head).Checked) for (int i = 0; i this.myview.Rows.Count; i+) (CheckBox)myview.Rowsi.FindControl(chk_item).Checked = true; /当标题栏的checkbox取消的时候,item里面的checkbox全部取消 else for (int i = 0; i this.myview.Rows.Count; i+) (CheckBox)myview.Rowsi.FindControl(chk_item).Checked = false; 总 结一个完整的图书馆管理信息系统到此就制作完成了。通过这次软件工程实训,使我受到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼。使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。为日后成为合格的应用型人才打下良好的基础。这次在指导张老师的帮助下,在同学的帮助下,基本上完成了设计任务,在软件的设计方面也有了一定的提高,熟练掌握了.NET编程技巧,为今后走上工作岗位打下了专业基础。在这次的实训中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。同时,也要感谢我的老师和同学们给予我的支持和帮助。参考文献1. 数据库基础与应用 电大教材2王汝涌管理信息系统中国财政经济 2001.73张海藩软件工程 清华大学出版社 2001.64、萨师煊、王珊数据库系统概论(第二版)高等教育出版社 2001.4 5:VISUAL STUDIO.NET教材 唐杨
展开阅读全文