收藏 分销(赏)

图书管理系统-11108122.doc

上传人:精*** 文档编号:2619974 上传时间:2024-06-03 格式:DOC 页数:30 大小:1.35MB 下载积分:12 金币
下载 相关 举报
图书管理系统-11108122.doc_第1页
第1页 / 共30页
图书管理系统-11108122.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
图书管理系统-11108122 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 《课程实习报告》 学 号: 20081004110 班级序号: 11108122 姓 名: 邹洋 指导老师: 杨之江 中国地质大学信息工程学院软件工程系 目 录 一、引言 4 二、需求分析 5 2.1 系统需求 5 三、总体设计 7 3。1 基本设计概念和处理流程 7 3.2 模块设计 7 四、数据库设计 9 4.1数据库的逻辑设计 9 4。2数据库的配置 11 五、详细设计 18 5。1 用户登录模块的设计与实现 18 5。2 主页面模块的设计与实现 19 5。3 更改密码模块的设计与实现 20 5.4添加书签模块的设计与实现 21 5.5图书搜索模块的设计与实现 22 六、代码 24 总 结 31 图书管理系统的设计和实现 1.1 背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。 图书管理系统(电子阅览室)主要提供网上的电子图书阅览平台,读者可以通过该系统阅览丰富的电子资源.在图书管理系统中,读者可以方便地对书目进行检索和阅览,足不出户便可尽览群书。图书管理系统主要提供网上的图书阅览平台. 电子阅览室可提供24小时的在线服务,最大限度的利用了当前互联网的各种优势,使得您无论身在何处,只要能接入互联网就可以享受到它所提供的方便,快捷的服务.它既具有传统图书馆的大部分功能,像图书的查阅及阅览,又新增了基于现有网络技术的许多实用的功能,像用户注册,书签,书评等。它充分的利用了互联网资源,使商家和用户都能从中获得益处. 1.2 目标 1.对图书资源进行分类,发布到网上,以供读者阅读。 2.为读者提供图书检索功能; 3.读者能方便地阅览电子图书; 4。 读者能方便地建立书签; 5. 读者能对书目进行评论; 6. 对读者的用户名、密码及权限进行管理. 二、需求分析 2.1 系统需求 随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。 该系统主要分为两部分:读者部分和管理部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览。如果读者明确知道某本书的书名、作者等相关信息,图书搜索功能就很有用处了。有的读者会经常访问某些书目,或者是读者对某本书没有看完准备以后继续完成阅读,这时读者就要把以后还需要阅读的书目做上书签,以后便能方便的进行阅读了。他人对书的评价能够帮助我们选择阅读的对象.本系统的书评功能为读者提供发表意见的平台,以得到读者对书的评价和反馈。以上是个各为读者服务的功能.除此之外,本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及设定用户的级别。同时,还需要给图书资源也分级,以确定哪些级别的用户可以阅读。   2.2 功能需求 图书管理系统主要提供网上的电子图书阅览平台,读者可以通过该系统阅读丰富的电子图书资源。对于本系统,我们需要实现以下一些基本功能: 1 图书分类浏览:为了方便读者查找书目,将书目按照内容进行分类。这样读者就能很方便的找到自己感兴趣的主题进行阅读。 2 图书搜索:设定多种搜索条件,按条件搜索符合读者要求的图书。如果读者知道某本书的书名、作者等相关信息,利用图书搜索功能就很方便了。 3 书签功能:定义书签,方便读者中断后继续阅读.部分读者可能会定期的访问某些书目;又或者有的读者阅读某本书的时候没有看完,打算以后继续完成阅读,在这样的情况下,书签功能就会给读者带来很大的便利。 4 书评功能:读者可提交对书的评价.书评能够帮助读者更好选择阅读对象,了解图书内容,对读者阅读图书有很大的帮助。 5 权限管理:权限管理包括两部分内容:对用户帐号的管理和对书目阅读权限的管理。管理员需要给用户分配用户名和密码,同时设定用户的级别。同时,管理员还需要给阅读资源也分级,以确定哪些级别的用户可以阅读。 三、总体设计 3.1 基本设计概念和处理流程 互联网技术的飞速发展,ASP技术的灵活、易用、功能Dreamweaver、microsoftFrontpage、VBScript等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。本系统在数据库技术方面有如下优点: 图书搜索 开发统一,传统的数据库一般用VB,VC等开发,这些开发工具各有各的标准和方法,不是和开发WEB数据库应用,Web数据库的开发使用统一的HTML,任何人开发的数据库都有符合这个标准。 书签 图书浏览 图书借阅 图书查询 图书信息管理系统 密码管理 管理功能 图1 “图书信息管理系统”系统主模块功能图 3.2 模块设计 1。 用户登录模块:填写已分配的用户名称,填写正确的密码,进入主控制页面. 2。 图书查询模块:图书分类,按类型逐级显示. 3。 图书搜索模块:提供多种查询条件,可按需要进行查询。 4. 管理员模块:显示书评列表和一条书评内容,添加书评。 5。 图书入库模块:为喜爱的图书投票,显示投票结果,选出认为最值得一看的图书。 6。 权限管理模块:分配用户名和密码,设定用户的级别.同时,还要给图书资源进行分级,以确定哪些级别的用户可以阅读。 四、数据库设计 4。1数据库的逻辑设计 由于本电子商务系统没有海量数据的存储问题,其数据一般不是很多,所以没有必要选用像Oracle这样的数据库:另外,现今的各种主页空间很少有支持Oracle的,而支持Access的较多.另外现阶段尚处于演示阶段,对安全性要求不是很高,Access足可以胜任,所以我们选用了Microsoft Access 2000。 数据通信接口采用ODBC(Open Database Connectivity,开放数据库互连).ODBC是微软开发的一套读取数据库的解决方案,它的目的是将所有对数据库的底层操作全部隐藏在ODBC的驱动程序内核里。对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口(Application Program Interface)实现对数据库的读写.目前ODBC驱动已经提供了对大多数常见类型数据库的支持,包括dBase,Informix,Access,SQL Server和Oracle等。也包括了对其它类型的数据库的支持,如文本,Excel电子表格等的支持。 根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库,可以列出以下数据项和数据结构: 1.名称:用户信息表 表名称标识:UserInfo 2.名称:书目信息表 表名称标识:BookCategoryInfo 3.名称:书目类别表 表名称标识:BookInfo 4。名称:书评信息表 表名称标识:OrderInfo 5.名称:书签信息表 表名称标识:StuInfo 6。名称:书目表 5。名称:访问次数表 4.2数据库的配置 一个真正的、完整的站点是离不开数据库的。ODBC为应用程序提供了一种标准方法来操作相关的数据库:管理器根据数据源提供的数据库的位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接. 按如下步骤可以建立一个新的系统数据源。 首先,运行项目,输入用户ID和密码,单击“登录”按钮。如下图12所示. <图12> 出现“图书管理系统”对话框中。如下图13所示。 <图13> 在“ 图书管理系统”对话框中,单击“系统”—〉“退出”按钮,即可退出。单击“查询”->“图书查询”如下图14所示。 〈图14〉 在“图书查询”对话框中,可按查询条件查询,如下图15所示。 〈图15〉 在“图书查询"对话框中,可按查询条件,输入“西游记"即可查询,如下图16所示。 〈图16〉 在“图书管理系统”对话框中,单击“图书"—〉“图书借阅”如下图17所示。 <图17> 在“图书管理系统”对话框中,单击“查询”—>“图书归还"如下图18所示。 <图18> 在“图书管理系统”对话框中,单击“查询”-〉“新书入库”如下图19所示。 <图19〉 在“图书管理系统”对话框中,单击“管理"—〉“查看管理员”如下图20所示。 〈图20〉 在“图书管理系统”对话框中,单击“管理”—〉“添加管理员"如下图21所示。 〈图21〉 在“图书管理系统”对话框中,单击“管理”—>“查看管理员”如下图20所示。 五、详细设计 整个系统除了用户登录外,主要有用户登录模块、 图书查询模块、图书搜索模块、管理员模块、图书入库模块和权限管理模块六个模块。通过本系统,读者可以方便的对书目进行检索和阅览,足不出户就可尽览群书。 5。1 用户登录模块的设计与实现 1. 登录模块的IPO图 功能:本模块主要用于对用户身份进行鉴别。用户通过表单提供用户名和密码信息,系统根据用户提供的登录信息对用户进行身份查询鉴别.如果身份合法,则将用户导向系统的主页面并记录用户的相关信息,留待以后的系统页面使用。 输入:用户名、密码 处理: (1) 输入用户的登录信息。 在页面提供的表单出输入用户的用户名和密码信息,点击“登录"按钮提交表单信息到身份验证页面。或点击“重填”按钮,重新输入. (2) 从form表单获取输入数据。 当用户单击“登录"按钮后,登录信息由form表单提交到logon.asp进行处理。 (3) 用户身份进行验证。 连接数据库,打开用户数据表usertype,检验用户登录信息。以输入数据“用户名”为查询条件创建数据集查看输入用户名是否存在。如果存在,继续检验输入的密码是否正确.密码和用户名都正确,则进入图书馆主页面frame。asp;如果用户名不存在或密码不正确,则给出登录失败的提示框,并返回首页重新登录。 输出:图书馆主页面 2.图书馆登录页面图如下图所示: 图15 图书管理系统登录页面图 5。2 主页面模块的设计与实现 本系统的主页面使用了框架结构。使用框架(frames)结构设计的HTML文件,能够将整个窗口分成几个独立的小窗口,每个窗口可以分别载入不同的文件.框架的主要优点是独立显示内容,能直观的分开内容。可以在一个框架中定义链接,在另一个框架中显示内容或触发操作,而不必从重设计整个屏幕。 主页模块的设计 1. 主页模块 功能:主页面中显示推荐书目和新书书目的书目、作者、访问次数和简单介绍等相关信息。通过书名超链接文本,就可以阅读到图书内容。 输入:点击书名的超链接文本 处理: (1) 构造页面格式。 使用HTML语言的TABLE表格标签构造页面表单,构造放置各个字段及字段值的表单,美化页面。 (2) 连接数据库。 与数据库创建链接,使用SQL语言在数据库中选取符合条件的记录。在符合条件的记录中选取相关字段值组成记录集。显示在页面的相应位置中。 (3) 创建超链接文本。 将书名设置为超链接文本.用户点击想要阅读的图书的书名,程序就会将页面导向readbook.asp页面。在readbook.asp页面中,用户就可以看到图书的详细内容。 输出:用户要求的页面 2.模块所使用的数据表 使用SQL语言在数据库中选取新书书目表newbook中的条目编号id、新书信息description字段及书目信息表bookdetail中的书目编号bookid、书目名称name、作者author和阅读次数times共六个字段值组成记录集。在记录集中选取符合新书书目表中的新书书目编号bookid字段值与书目信息表中的书目编号bookid的字段值相同的记录,创建记录集RS. 5.3 更改密码模块的设计与实现 1.更改密码模块的IPO图 功能:留言查看页面如图7-23所示,在主页面的上部分中的top.asp页面中,点击“更改密码”,就会调用javascript脚本语言,生成一个窗口。用户在生成的窗口中输入新的密码,提交后程序会将数据表中的密码进行修改。 输入:点击更改密码的超链接文本。 (1) 构造页面格式。 使用HTML语言的TABLE表格标签构造页面表单,构造放置各个字段及字段值的表单,美化页面。 (2) 判断合法性. 对session对象中的用户名字段值进行判断,判断用户的登录是否合法。如果不合法,显示要求重新登录的提示语,重新登录。 (3) 输入新密码。 在页面的相应位置填入用户的旧密码、新密码,在重新输入一次新密码,以确保输入无误.然后提交到pass_action.asp页面进行处理。 5。4添加书签模块的设计与实现 1. 添加书签模块的IPO图 功能:在各种表格和表单构成的add_bookmark。asp页面中的适当位置输入用户选择的书签图标、书签的详细内容等信息后,提交到add_action.asp页面进行将一条新记录插入数据表的操作。 输入:新增加的书签信息的用户选择的表情图标和书签的详细内容. 处理: (1) 构造页面格式。 应用表格进行页面布局,相应的字段名称后使用多行文本框或单选框表单组件,构成书签信息输入页面。 (2) 判断合法性。 在连接数据库之前,首先判断用户是否在阅读某一本书。然后判断要添加书签的书目是否存在。 (3) 连接数据库。 以上一页提交的图书的编号为条件选取数据表中的记录创建记录集,将记录中的用户名、书名和作者等信息显示在相应位置。 (4) 输入书签. 在相应表单元素中选取书签标图,输入书签的详细内容。提交到add_action。asp页面进行处理。 (5) 插入操作。 获取相关信息,在add_action。asp页面中打开数据库,使用recordset对象的insert into方法向书签信息表bookmark插入一条新记录。 5.5图书搜索模块的设计与实现 1。 书目搜索模块的IPO图 功能:搜索方式分为3种:通过书名、作者和十大热门来进行查询.查出的结果显示在名字为 searchresult的窗口中。用户可通过以上各查询方式,方便的查询自己想要阅读的书目。 输入:选择一种查询方式,输入查询条件。 处理: (1) 构造页面格式。 使用HTML语言的TABLE表格标签构造页面表单.本模块使用了框架结构。单行文本框和单选框来确定查询条件. (2) 查询条件. 在三种查询方式中选择一种作为读者的查询方式。然后在单行文本框中输入查询条件。 (3) 查询结果。 连接数据库,在相应的数据表中选取符合查询条件的记录。将查询结果显示在下面的窗口中 。 六、代码 6.1登录代码(Login) namespace BookInfoM { public partial class Login : Form { public static string[] LuserID; private int Logintimes=0; public Login() { InitializeComponent(); } private 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。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。LoginUser .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(”对不起,你登录的次数 已经超过三次!”, "警告!"); Application。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 (Exception 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, MessageBoxIcon.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 sender, Event Args 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 addadmin = 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 图书借阅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) { ModAdmin 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(); } private 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) { txtUserID.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(object sender, EventArgs e) { ModAdmin modadmin = new ModAdmin(); modadmin.Show(); } } } 总 结 经过几周的学习琢磨,顺利的结束了此次课程设计。期间查阅了大量技术资料,学习到了许多新的知识。在这次课程设计的过程中,受到了许多同学和老师的帮助!在编写这个系统中遇到诸多困难,但都一一解决,并有很大的收获。 C#是一门功能十分强大的语言,在课程设计的过程中,从一些书籍及网络资源中看到许多实现程序功能的方法,由于个人精力及时间的限制,没有及时应用到课程设计中,在今后的学习开发过程中将会试着使用一些更好的实现功能的方法,提高程序的运行效率和正确性。 在这次课程设计的过程中,也反映出了许多问题,比较突出的是对一些基础知识掌握的不够牢靠,在使用的时候不能够灵活运用.在以后的学习生活中,会注意对基础只是的记忆理解,避免“模糊记忆" .提高编写程序的效率. 如果有同学也希望学习C#这门语言的话,建议多看下Microsoft官方配套Studio .NET 2005出版的MSDN帮助文档,里面对几乎所有的类及空间的使用都做了比较经典的讲解,无论是初学者还是资深程序员都是最直接的参考学习资料! 经过这次实习,我发现C#语言的美妙,以后还要加强这方面的学习,这样就能为将来做更好的准备! 30
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服