收藏 分销(赏)

图书管理系统-11108122.doc

上传人:精*** 文档编号:2619974 上传时间:2024-06-03 格式:DOC 页数:30 大小:1.35MB
下载 相关 举报
图书管理系统-11108122.doc_第1页
第1页 / 共30页
图书管理系统-11108122.doc_第2页
第2页 / 共30页
图书管理系统-11108122.doc_第3页
第3页 / 共30页
图书管理系统-11108122.doc_第4页
第4页 / 共30页
图书管理系统-11108122.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、图书管理系统-11108122 作者: 日期:2 个人收集整理 勿做商业用途课程实习报告学 号: 20081004110 班级序号: 11108122 姓 名: 邹洋 指导老师: 杨之江 中国地质大学信息工程学院软件工程系 目 录一、引言4二、需求分析52.1 系统需求5三、总体设计73。1 基本设计概念和处理流程73.2 模块设计7四、数据库设计94.1数据库的逻辑设计94。2数据库的配置11五、详细设计185。1 用户登录模块的设计与实现185。2 主页面模块的设计与实现195。3 更改密码模块的设计与实现205.4添加书签模块的设计与实现215.5图书搜索模块的设计与实现22六、代码24

2、总 结31图书管理系统的设计和实现1.1 背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。图书管理系统(电子阅览室)主要提供网上的电子图书阅览平台,读者可以通过该系统阅览丰富的电子资源.在图书管理系统中,读者可以方便地对书目进行检索和阅览,足不出户便可尽览群书。图书管理系统主要提供网上的图书阅览平台.电子阅览室可提供24小时的在线服务,最大限度的利用了当前互联网的各种优势

3、,使得您无论身在何处,只要能接入互联网就可以享受到它所提供的方便,快捷的服务.它既具有传统图书馆的大部分功能,像图书的查阅及阅览,又新增了基于现有网络技术的许多实用的功能,像用户注册,书签,书评等。它充分的利用了互联网资源,使商家和用户都能从中获得益处.1.2 目标1对图书资源进行分类,发布到网上,以供读者阅读。2为读者提供图书检索功能;3读者能方便地阅览电子图书;4。 读者能方便地建立书签;5. 读者能对书目进行评论;6. 对读者的用户名、密码及权限进行管理.二、需求分析2.1 系统需求随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外

4、,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。该系统主要分为两部分:读者部分和管理部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览。如果读者明确知道某本书的书名、作者等相关信息,图书搜索功能就很有用处了。有的读者会经常访问某些书目,或者是读者对某本书没有看完准备以后继续完成阅读,这时读者就要把以后还需要阅读的书目做上书签,以后便能方便的进行阅读了。他人对书的评价能够帮助我们选

5、择阅读的对象.本系统的书评功能为读者提供发表意见的平台,以得到读者对书的评价和反馈。以上是个各为读者服务的功能.除此之外,本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及设定用户的级别。同时,还需要给图书资源也分级,以确定哪些级别的用户可以阅读。 2.2 功能需求图书管理系统主要提供网上的电子图书阅览平台,读者可以通过该系统阅读丰富的电子图书资源。对于本系统,我们需要实现以下一些基本功能:1 图书分类浏览:为了方便读者查找书目,将书目按照内容进行分类。这样读者就能很方便的找到自己感兴趣的主题进行阅读。2 图书搜索:设定多种搜索条件,按条件搜索符合读者要求的图

6、书。如果读者知道某本书的书名、作者等相关信息,利用图书搜索功能就很方便了。3 书签功能:定义书签,方便读者中断后继续阅读.部分读者可能会定期的访问某些书目;又或者有的读者阅读某本书的时候没有看完,打算以后继续完成阅读,在这样的情况下,书签功能就会给读者带来很大的便利。4 书评功能:读者可提交对书的评价.书评能够帮助读者更好选择阅读对象,了解图书内容,对读者阅读图书有很大的帮助。 5 权限管理:权限管理包括两部分内容:对用户帐号的管理和对书目阅读权限的管理。管理员需要给用户分配用户名和密码,同时设定用户的级别。同时,管理员还需要给阅读资源也分级,以确定哪些级别的用户可以阅读。三、总体设计3.1

7、基本设计概念和处理流程 互联网技术的飞速发展,ASP技术的灵活、易用、功能Dreamweaver、microsoftFrontpage、VBScript等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。本系统在数据库技术方面有如下优点:图书搜索开发统一,传统的数据库一般用VB,VC等开发,这些开发工具各有各的标准和方法,不是和开发WEB数据库应用,Web数据库的开发使用统一的HTML,任何人开发的数据库都有符合这个标准。书签图书浏览图书借阅图书查询图书信息管理系统密码管理管理功能图1 “图书信息管理系统”系统主模块功能图3.2 模块设计1。 用户登录模块:填写已

8、分配的用户名称,填写正确的密码,进入主控制页面.2。 图书查询模块:图书分类,按类型逐级显示.3。 图书搜索模块:提供多种查询条件,可按需要进行查询。4. 管理员模块:显示书评列表和一条书评内容,添加书评。5。 图书入库模块:为喜爱的图书投票,显示投票结果,选出认为最值得一看的图书。6。 权限管理模块:分配用户名和密码,设定用户的级别.同时,还要给图书资源进行分级,以确定哪些级别的用户可以阅读。四、数据库设计4。1数据库的逻辑设计由于本电子商务系统没有海量数据的存储问题,其数据一般不是很多,所以没有必要选用像Oracle这样的数据库:另外,现今的各种主页空间很少有支持Oracle的,而支持Ac

9、cess的较多.另外现阶段尚处于演示阶段,对安全性要求不是很高,Access足可以胜任,所以我们选用了Microsoft Access 2000。数据通信接口采用ODBC(Open Database Connectivity,开放数据库互连).ODBC是微软开发的一套读取数据库的解决方案,它的目的是将所有对数据库的底层操作全部隐藏在ODBC的驱动程序内核里。对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口(Application Program Interface)实现对数据库的读写.目前ODBC驱动已经提供了对大多数常见类型数据库的支持,包括dBase,Inf

10、ormix,Access,SQL Server和Oracle等。也包括了对其它类型的数据库的支持,如文本,Excel电子表格等的支持。根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库,可以列出以下数据项和数据结构:1.名称:用户信息表表名称标识:UserInfo2名称:书目信息表表名称标识:BookCategoryInfo3.名称:书目类别表表名称标识:BookInfo 4。名称:书评信息表表名称标识:OrderInfo5.名称:书签信息表表名称标识:StuInfo6。名称:书目表5。名称:访问次数表4.2数据库的配置一个真正的、完整的站点是离不开数据库的。ODBC为应用程序提供了

11、一种标准方法来操作相关的数据库:管理器根据数据源提供的数据库的位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接.按如下步骤可以建立一个新的系统数据源。首先,运行项目,输入用户ID和密码,单击“登录”按钮。如下图12所示. 出现“图书管理系统”对话框中。如下图13所示。 在“ 图书管理系统”对话框中,单击“系统”“退出”按钮,即可退出。单击“查询”-“图书查询”如下图14所示。 图14在“图书查询”对话框中,可按查询条件查询,如下图15所示。 图15在“图书查询对话框中,可按查询条件,输入

12、“西游记即可查询,如下图16所示。 图16在“图书管理系统”对话框中,单击“图书“图书借阅”如下图17所示。在“图书管理系统”对话框中,单击“查询”“图书归还如下图18所示。在“图书管理系统”对话框中,单击“查询”-“新书入库”如下图19所示。“查看管理员”如下图20所示。 五、详细设计整个系统除了用户登录外,主要有用户登录模块、 图书查询模块、图书搜索模块、管理员模块、图书入库模块和权限管理模块六个模块。通过本系统,读者可以方便的对书目进行检索和阅览,足不出户就可尽览群书。5。1 用户登录模块的设计与实现1. 登录模块的IPO图功能:本模块主要用于对用户身份进行鉴别。用户通过表单提供用户名和

13、密码信息,系统根据用户提供的登录信息对用户进行身份查询鉴别.如果身份合法,则将用户导向系统的主页面并记录用户的相关信息,留待以后的系统页面使用。输入:用户名、密码处理:(1) 输入用户的登录信息。在页面提供的表单出输入用户的用户名和密码信息,点击“登录按钮提交表单信息到身份验证页面。或点击“重填”按钮,重新输入.(2) 从form表单获取输入数据。当用户单击“登录按钮后,登录信息由form表单提交到logon.asp进行处理。(3) 用户身份进行验证。连接数据库,打开用户数据表usertype,检验用户登录信息。以输入数据“用户名”为查询条件创建数据集查看输入用户名是否存在。如果存在,继续检验

14、输入的密码是否正确.密码和用户名都正确,则进入图书馆主页面frame。asp;如果用户名不存在或密码不正确,则给出登录失败的提示框,并返回首页重新登录。输出:图书馆主页面2图书馆登录页面图如下图所示:图15 图书管理系统登录页面图5。2 主页面模块的设计与实现本系统的主页面使用了框架结构。使用框架(frames)结构设计的HTML文件,能够将整个窗口分成几个独立的小窗口,每个窗口可以分别载入不同的文件.框架的主要优点是独立显示内容,能直观的分开内容。可以在一个框架中定义链接,在另一个框架中显示内容或触发操作,而不必从重设计整个屏幕。主页模块的设计1. 主页模块功能:主页面中显示推荐书目和新书书

15、目的书目、作者、访问次数和简单介绍等相关信息。通过书名超链接文本,就可以阅读到图书内容。输入:点击书名的超链接文本处理:(1) 构造页面格式。使用HTML语言的TABLE表格标签构造页面表单,构造放置各个字段及字段值的表单,美化页面。(2) 连接数据库。与数据库创建链接,使用SQL语言在数据库中选取符合条件的记录。在符合条件的记录中选取相关字段值组成记录集。显示在页面的相应位置中。(3) 创建超链接文本。将书名设置为超链接文本.用户点击想要阅读的图书的书名,程序就会将页面导向readbook.asp页面。在readbook.asp页面中,用户就可以看到图书的详细内容。输出:用户要求的页面2模块

16、所使用的数据表使用SQL语言在数据库中选取新书书目表newbook中的条目编号id、新书信息description字段及书目信息表bookdetail中的书目编号bookid、书目名称name、作者author和阅读次数times共六个字段值组成记录集。在记录集中选取符合新书书目表中的新书书目编号bookid字段值与书目信息表中的书目编号bookid的字段值相同的记录,创建记录集RS.5.3 更改密码模块的设计与实现1更改密码模块的IPO图功能:留言查看页面如图7-23所示,在主页面的上部分中的top.asp页面中,点击“更改密码”,就会调用javascript脚本语言,生成一个窗口。用户在生

17、成的窗口中输入新的密码,提交后程序会将数据表中的密码进行修改。输入:点击更改密码的超链接文本。(1) 构造页面格式。使用HTML语言的TABLE表格标签构造页面表单,构造放置各个字段及字段值的表单,美化页面。(2) 判断合法性.对session对象中的用户名字段值进行判断,判断用户的登录是否合法。如果不合法,显示要求重新登录的提示语,重新登录。(3) 输入新密码。在页面的相应位置填入用户的旧密码、新密码,在重新输入一次新密码,以确保输入无误.然后提交到pass_action.asp页面进行处理。5。4添加书签模块的设计与实现1. 添加书签模块的IPO图功能:在各种表格和表单构成的add_boo

18、kmark。asp页面中的适当位置输入用户选择的书签图标、书签的详细内容等信息后,提交到add_action.asp页面进行将一条新记录插入数据表的操作。输入:新增加的书签信息的用户选择的表情图标和书签的详细内容.处理:(1) 构造页面格式。应用表格进行页面布局,相应的字段名称后使用多行文本框或单选框表单组件,构成书签信息输入页面。(2) 判断合法性。在连接数据库之前,首先判断用户是否在阅读某一本书。然后判断要添加书签的书目是否存在。(3) 连接数据库。以上一页提交的图书的编号为条件选取数据表中的记录创建记录集,将记录中的用户名、书名和作者等信息显示在相应位置。(4) 输入书签.在相应表单元素

19、中选取书签标图,输入书签的详细内容。提交到add_action。asp页面进行处理。(5) 插入操作。获取相关信息,在add_action。asp页面中打开数据库,使用recordset对象的insert into方法向书签信息表bookmark插入一条新记录。5.5图书搜索模块的设计与实现1。 书目搜索模块的IPO图功能:搜索方式分为3种:通过书名、作者和十大热门来进行查询.查出的结果显示在名字为 searchresult的窗口中。用户可通过以上各查询方式,方便的查询自己想要阅读的书目。输入:选择一种查询方式,输入查询条件。处理:(1) 构造页面格式。使用HTML语言的TABLE表格标签构造

20、页面表单.本模块使用了框架结构。单行文本框和单选框来确定查询条件.(2) 查询条件.在三种查询方式中选择一种作为读者的查询方式。然后在单行文本框中输入查询条件。(3) 查询结果。 连接数据库,在相应的数据表中选取符合查询条件的记录。将查询结果显示在下面的窗口中。六、代码6.1登录代码(Login)namespace BookInfoM public partial class Login : Form public static string LuserID; private int Logintimes=0; public Login() InitializeComponent(); pri

21、vate void Login_Load(object sender, EventArgs e) combUserID。Text = ”; txtPassWord。Text = ; private void btnLogin_Click(object sender, EventArgs e) if (this。Text.Trim() != ) if (txtPassWord。Text != ”) SqlCommand command = CustomDataProvide。GetCommand(select * from UserInfo where UserID=” + combUserID

22、。Text.Trim() + ”and Password= + txtPassWord.Text.Trim() + ); SqlDataReader dr; try command。Connection.Open(); dr = command。ExecuteReader(); dr。Read(); if (dr。HasRows) Logintimes = 0; Main main = new Main(); Main。LoginUser.UserID = dr.GetString(0); Main.LoginUser 。UserName = dr。GetString(1); Main。Log

23、inUser .Password = dr.GetString(2); Main。LoginUser .Isadmin = dr.GetBoolean(3); Main.LoginUser。Day = (Week )dr。GetInt32(4); this.Hide(); main。Show(); dr。Close(); command。Connection.Close(); command.Dispose(); else Logintimes+; if (Logintimes = 3) MessageBox。Show(”对不起,你登录的次数已经超过三次!”, 警告!); Applicatio

24、n。Exit(); if (BookInfoM.ClassCodes.DataValidate。IDExist(”select UserID from UserInfo where UserID= + combUserID.Text.Trim().ToString() + ”) = true) MessageBox。Show(”密码不正确, 警告!”); txtPassWord.Text = ”; else MessageBox。Show(此用户ID不存在,请查证后登录, 提示”); combUserID.Text = ”; txtPassWord.Text = ; catch (Except

25、ion ex) MessageBox.Show(ex.Message, 提示”, MessageBoxButtons.OKCancel, MessageBoxIcon。Information); else MessageBox.Show(密码不能为空”, 提示”); else MessageBox。Show(”用户ID不能为空, ”提示); private void btnExit_Click(object sender, EventArgs e) if (MessageBox.Show(你确认要退出该程序吗?, 提示”, MessageBoxButtons.YesNo, MessageBox

26、Icon.Question) = DialogResult.Yes) Application。Exit(); 6.2主界面代码(Main)namespace BookInfoM public partial class Main : Form public Main() InitializeComponent(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 查询管理员ToolStripMenuItem_Click(object sende

27、r, EventArgs e) UserManag.ViewAdmin view = new BookInfoM。UserManag。ViewAdmin(); view。Show(); private void 注销ToolStripMenuItem_Click(object sender, EventArgs e) Login flogin = new Login(); flogin。Show(); this.Close(); private void 添加管理员ToolStripMenuItem_Click(object sender, EventArgs e) AddAdmin adda

28、dmin = new AddAdmin(); addadmin。Show(); private void 修改管理员ToolStripMenuItem_Click(object sender, EventArgs e) ModAdmin modadmin = new ModAdmin(); modadmin。Show(); private void 图书查询ToolStripMenuItem_Click(object sender, EventArgs e) SearchBook SeachB = new SearchBook(); SeachB。Show(); private void 图书

29、借阅ToolStripMenuItem_Click(object sender, EventArgs e) LendBook LendB = new LendBook(); LendB。Show(); private void 图书送还ToolStripMenuItem_Click(object sender, EventArgs e) ReturnBook ReturnB = new ReturnBook(); ReturnB.Show(); private void 删除管理员ToolStripMenuItem_Click(object sender, EventArgs e) ModAd

30、min modadmin = new ModAdmin(); modadmin.Show(); private void 库存查询ToolStripMenuItem_Click(object sender, EventArgs e) SearchBook SeachB = new SearchBook(); SeachB。Show(); private void 新书入库ToolStripMenuItem_Click(object sender,EventArgs e) BookWarehousing BookW = new BookWarehousing(); BookW.Show(); p

31、rivate void 帮助ToolStripMenuItem_Click(object sender, EventArgs e) HalpWord HalpW = new HalpWord(); HalpW。Show(); 6。3图书查询代码(ViewAdmin)namespace BookInfoM。UserManag public partial class ViewAdmin : Form public ViewAdmin() InitializeComponent(); private void ViewAdmin_Load(object sender, EventArgs e) t

32、xtUserID.Text = BookInfoM.Main.LoginUser.UserID; txtUserName.Text = Main。LoginUser.UserName; txtPassword.Text = *; txtAdmin.Text = Main。LoginUser.Admin; txtWorkday。Text = Main.LoginUser。Day。ToString(); private void btnExit_Click(object sender, EventArgs e) this。Close(); private void button1_Click(ob

33、ject sender, EventArgs e) ModAdmin modadmin = new ModAdmin(); modadmin.Show(); 总 结经过几周的学习琢磨,顺利的结束了此次课程设计。期间查阅了大量技术资料,学习到了许多新的知识。在这次课程设计的过程中,受到了许多同学和老师的帮助!在编写这个系统中遇到诸多困难,但都一一解决,并有很大的收获。C#是一门功能十分强大的语言,在课程设计的过程中,从一些书籍及网络资源中看到许多实现程序功能的方法,由于个人精力及时间的限制,没有及时应用到课程设计中,在今后的学习开发过程中将会试着使用一些更好的实现功能的方法,提高程序的运行效率和正确性。在这次课程设计的过程中,也反映出了许多问题,比较突出的是对一些基础知识掌握的不够牢靠,在使用的时候不能够灵活运用.在以后的学习生活中,会注意对基础只是的记忆理解,避免“模糊记忆 .提高编写程序的效率.如果有同学也希望学习C#这门语言的话,建议多看下Microsoft官方配套Studio .NET 2005出版的MSDN帮助文档,里面对几乎所有的类及空间的使用都做了比较经典的讲解,无论是初学者还是资深程序员都是最直接的参考学习资料!经过这次实习,我发现C#语言的美妙,以后还要加强这方面的学习,这样就能为将来做更好的准备! 30

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服