《图书馆管理系统课程设计C40149.pdf》由会员分享,可在线阅读,更多相关《图书馆管理系统课程设计C40149.pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 图书馆管理系统课程设计 C CKBOOD was revised in the early morning of December 17,2020.课程设计说明书 题目:图书馆图书管理系统 院 系:计算机科学与工程学院 专业班级:学 号:学生姓名:孙阳 指导教师:2015 年 10月16日安徽理工大学课程设计(论文)任务书 计算机科学与工程 学院 教研室 学 号 学生姓名 孙阳 专业(班级)设计题目 图书馆图书管理系统 设 计 技 术 参 数 该系统采用 visual studio2008软件和 SQL2000 数据库作为系统设计工具,它们都有较高的开发效率。尤其是 SQL Server 具
2、有使用方便、可伸缩性好、与相关软件集成程度高等优点。故本系统开发的过程中,选取它们作为软件的开发工具与数据库管理软件。通过 visual studio2008 的活动数据对象(ADO)与开放数据库互连(ODBC)技术将利用 c#开发的系统与 S0L数据库连接起来。由于使用了ODBC,只要修改数据源就可以将系统的运行平台从单机迁移到网络环境下。设 计 要 求(1)系统部分:主要完成本系统工程的维护工作(包括:添加用户、添加员工、修改密码)(2)图书管理部分:要完成图书基本信息的管理(包括:添加、修改、查询、删除图书基本信息)(3)借阅管理部分:主要完成图书借阅的管理(包括:图书借阅、归还、查询等
3、)(4)超期自动计算罚款,并暂停借阅功能。工 作 量 课程设计不少于 15 页 工 作 计 划 根据课程设计的要求,查找相关资料,完成需求分析;进行系统的概要设计;进行系统的详细设计和源代码的书写;对系统进行调试分析,写出课程设计报告。参 考 资 料 1 刘丽霞 等编著,零基础学 C#.北京:机械工业出版社,2 刘辉 等编著,零基础学 SQL Server 2005.北京:机械工业出版社,指导教师签字 教研室主任签字 2015 年 10 月 16 日安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年 月 日 摘要 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这
4、正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且
5、不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,
6、使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。目 录 第一章 需求分析.1 第二章 概要设计.2 开发工具的选取.2 设计原则.2 主要功能设计.3 用户登录模块.3 用户管理模块.3 图书管理模块.3 用户操作模块.4 数据库设计与数据准备.4 第三章 详细设计与调试分析.6 数据库实现:.6 界面实现.7 总体界面.7 登录界面实现.7 用户管理界面实现.9 图书管理界面实现.1 3 退出界面.2 0 主界面.2 0 总结.23 参考文献.23第一章 需求分析 需求分析就是描述系统的需求,通过定义系统中的关
7、键类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。可以将需求分析分为两个过程,一是理解需求,二是分析需求。需求分析是只收集和分析用户对系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息,一般包括实体类、联系类、数据的使用要求及冲突表等方面的内容。下面我们从程序设计过程中分别对程序的需求分析和数据库的需求分析结合进行讨论。1.在进入系统之后首先是登陆界面根据用户输入的内容判断用户的合法身份。2.进入系统主界面可以进行用户管理和图书管理。3.进入用户管理界面可以实现用户的删除、添加以及遍历记录等功能。4.进入图书管理界面
8、可以实现图书的删除、添加、查询以及浏览记录等功能 5.本系统是用 C#语言,选用这个语言的原因有以下几点:(1)C#与 C/C+具有极大的相似性,我们之前认真学习过 C 语言和 c+语言,c#是这两个语言的高效率版本,更易于上手。(2)C#语言完美支持.NET 平台,可以在 Microsoft.NET 平台上事半功倍的构建应用程序的扩展框架(即与数据库的连接非常易于实现,对数据可以直接进行操作。)(3)全界面人性化操作,实现代码简单易懂,适合初学者学习。第二章 概要设计 开发工具的选取 该系统采用 visual studio2008 软件和 SQL2000 数据库作为系统设计工具,它们都有较高
9、的开发效率。尤其是 SQL Server 具有使用方便、可伸缩性好、与相关软件集成程度高等优点。故本系统开发的过程中,选取它们作为软件的开发工具与数据库管理软件。通过 visual studio2008 的活动数据对象(ADO)与开放数据库互连(ODBC)技术将利用 c#开发的系统与 S0L 数据库连接起来。由于使用了 ODBC,只要修改数据源就可以将系统的运行平台从单机迁移到网络环境下。设计原则 1实用性原则 要求满足实际工作的需要,用户接口和操作界面设计尽可能做到界面美观大方,操作简便实用,能适应不同的用户,对用户的技能性要求应尽量的低,只需进行简单的操作就可完成所要的内容。2可扩展性原则
10、 为适应将来的发展,系统应具有良好的可扩展性和可维护性,软件设计尽可能模块化、组件化,使系统可灵活配置,适应不同的情况,使系统能在原来的基础上进行改进与维护。3安全性原则 软件与数据库的设计要做到安全可靠,防止非法用户的入侵,数据库与前台能友好地链接,做到前台操作来改变后台数据库的理想效果,并且不产生数据的冲突。4用户界面设计原则 用户界面的设计应符合 Windows 规范的图形用户界面,做到美观大方。用户界面应当直观、明了,同时在各个界面的相应之处还有相关的信息提示从而使得用户更好地进行操作,真正地实现“傻瓜型”管理易学、易用、易管理。5数据库设计原则 要求数据具有一致性、完整性、安全性的原
11、则。通过关键字的设置来提示用户在使用时避免数据的重复及冲突等情况。23 主要功能设计 本系统功能主要分为用户登录、用户管理、图书管理、用户操作四个部分。对于支持该系统的数据库,建立了 2 张表,分别是登录表和图书信息表。这对每一项功能,都有必要的驱动信息和功能上的约束。以图书管理功能为例,图书管理分为四部分:添加图书,删除图书,浏览图书,查询图书。添加图书时应该能对一些有限制的信息做好正确的检查,录入的图书信息应包括图书编号、图书名称、图书作者、图书出版厂家、图书价格、图书借阅时间、并且在信息输入时应及时对信息的合法性进行检查;删除图书可以根据输入图书的名称进行删除;查询图书主要是对具有相关特
12、征的图书信息进行查找;浏览图书是按照管理员的要求将用户所需的数据抽取出来自动生成报表,该项功能应该能够合理的抽取所需的信息集合,全面合理提供用户所需的数据。用户登录模块 在登录页面输入用户名,密码,并与数据库中登录表中的比较,若都符合则登录成功。如果是以管理员身份登录,可以对该系统进行所有的操作,若是以普通用户身份的登录,只能使用该系统的部分功能,像添加删除图书,添加删除用户则没有权限。用户管理模块 在该模块中,主要完成添加删除系统的用户。图书管理模块 在成功登录系统后,通过图书管理菜单下拉菜单,有四个子模块,分别是添加图书、删除图书、浏览图书、查询图书。通过图书的相关信息,可以查询所关联的图
13、书名称、图书作者、图书出版厂家、图书价格、图书借阅时间等。用户操作模块 在成功登录系统后,用户可以根据需要修改密码,或者返回登录界面重新登录。数据库设计与数据准备 在开发任何关于数据库方面的系统之前,必须要做好的一个工作是确定本系统要管理哪些数据。通过需求分析,我们已经确定了系统管理的数据包括:登录对象权限、实验室基本信息、图书信息。所以在数据库的设计上我们使用了从学校总务处导出的图书信息库作为图书信息的基本存储结构,并且参照该库表结构,设计出其他数据表的结构。这种做法既保证了上报学校数据的要求,又由于可以直接利用现有数据在保证与学校图书管理部门信息的一致性的同时避免了大量信息的录入所产生的人
14、为错误。1、数据结构(数据库中表的设计)用户(用户名,密码)用户 1(编号,用户,密码,图书编号)图书信息(图书编号,图书名称,图书作者,图书借阅时间,图书出版厂家,图书价格)2、数据项具体设置 编号 标识符 类型 长度 所属表名 1 用户 nchar 10 用户 1 2 密码 int*用户 1 3 编号 int*用户 4 用户名 char 10 用户 5 密码 nchar 10 用户 6 图书编号 varchar 50 图书信息 7 图书名称 varchar 50 图书信息 8 图书出版厂家 varchar 50 图书信息 9 图书作者 varchar 50 图书信息 10 图书借阅时间 d
15、atetime*图书信息 11 图书价格 money*图书信息 E-R 图分析:E-R 图分析的目的是确定系统中所有实体之间的关系和实体的属性,即概念模型的分析,图书管理系统概念结构设计(E-R 模型)如下:E-R 模型 程序流程图:用户 图书 编号 密码 姓名 年龄 编作价格 名称 借借阅时第三章 系统实现 数据库实现:该数据库名为图书管理系统,包含两个用户类型的表,分别是:用户表:图书信息表:在用visual studio2008连接该数据库时,代码为:SqlConnection con=new SqlConnection();=Data Source=XUWEI-PC;Initial C
16、atalog=图书信息表;Integrated Security=True;SqlConnection con=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=用户表;Integrated Security=True;再根据需要进行其他操作。界面实现 总体界面 如图所示,该系统共有8个windows窗体以及其他必要功能模块。登录界面实现 如图所示:程序流程图 登录界面部分主要代码:String m_user=String m_password=if =0)输入用户名、密一致,进入系统主界不一致,提示输入有误,重新 (用户名称不
17、能为空);return;String selectCmd=select 用户 from 表1 where 用户=+m_user+and 密码=+m_password;String connStr=Provider=Source=;OleDbConnection conn;OleDbCommand cmd;OleDbDataReader reader;conn=new OleDbConnection(connStr);();cmd=new OleDbCommand(selectCmd,conn);reader=();if()();主界面 m=new 主界面();();else (用户名称或密码不
18、对!);();在该模块设计中,还添加了对用户名和密码的判断,若用户名或密码错误,则不能进入主界面,若用户名和密码没填写,则会有消息框弹出提示输入完整信息。用户管理界面实现 1.添加用户界面 部分主要代码:public 添加图书()InitializeComponent();private void 添加图书_Load(object sender,EventArgs e)this.图书信息(this.图书信息表DataSet.图书信息_1);string connStr,selectCmd;connStr=Data Source=XUWEI-PC;Initial Catalog=用户表;Inte
19、grated Security=True;selectCmd=Select*From 用户表 Order By 编号 ASC;SqlConnection conn;SqlDataAdapter myAdapter;DataSet myDataSet=new DataSet();conn=new SqlConnection(connStr);();myAdapter=new SqlDataAdapter(selectCmd,conn);(myDataSet,用户表);=用户表;private void button1_Click(object sender,EventArgs e)int m=0
20、;if =|=|=)(请输入完整信息!);else SqlConnection con=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=用户表;Integrated Security=True;SqlCommand cmd=();=select*from 用户表 where 用户名=+;();SqlDataReader dr=();if()(用户名+已经存在!);();else SqlConnection conn=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalo
21、g=用户表;Integrated Security=True;SqlCommand cmdd=();=insert into 用户表(编号,用户名,密码)+values(+,+,+);();m=();if(m=1)(添加用户成功!)ShowPerson();2.删除用户界面 程序流程图 如图所示:部分主要代码:SqlConnection con=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=用户表;Integrated Security=True;SqlCommand cmd=();=delete from 用户表 wher
22、e 用户名=+;=con;();int d=();if(d=1)(删除成功);图书管理界面实现 1.添加图书界面 如图所示:部分主要代码:void ShowPerson()string connStr,selectCmd;connStr=Data Source=XUWEI-PC;Initial Catalog=图书信息表;Integrated Security=True;selectCmd=Select*From 图书信息_1 Order By 图书编号 ASC;SqlConnection conn;SqlDataAdapter myAdapter;DataSet myDataSet=new
23、DataSet();conn=new SqlConnection(connStr);();myAdapter=new SqlDataAdapter(selectCmd,conn);(myDataSet,图书信息_1);=图书信息_1;输入要删除的用户不存在,重新输存在,删除成private void botton1_Click(object sender,EventArgs e)if =)(请输入图书编号);else SqlConnection conn=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=图书信息表;Integr
24、ated Security=True;SqlCommand cmdd=();=select*from 图书信息_1 where 图书名称=+;();SqlDataReader dr=();if()(图书名称+已经存在!);();else string a=b=c=d=er=f=con=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=图书信息表;Integrated Security=True;SqlCommand cmd=();=insert into 图书信息_1(图书编号,图书名称,图书作者,图书出版厂家,图书借阅时间,图
25、书价格)+values(+a+,+b+,+c+,+d+,+er+,+f+);();int dd=()if(dd=1)(添加成功!);ShowPerson();private void button2_Click(object sender,EventArgs e)();2.删除图书界面 程序流程图 存在,提示“确定要删输入删除图书名不存在,输入有 如图所示:部分主要代码:DialogResult result=new DialogResult();result=(确定要删除该设备,警告!,;switch(result)case:SqlConnection con=new SqlConnecti
26、on();=Data Source=XUWEI-PC;Initial Catalog=图书信息表;Integrated Security=True;SqlCommand cmd=();=delete from 图书信息_1 where 图书名称=+;=con;();int d=();if(d=1)(删除成功);break;case:break;3.浏览图书界面 如图所示:部分主要代码:InitializeComponent();SqlConnection con=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=图书信息表;In
27、tegrated Security=True;string co=select*from 图书信息_1;DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;private void 浏览图书_Load(object sender,EventArgs e)this.图书信息(this.图书信息表DataSet1.图书信息_1);private void button1_Click(object sender,EventArgs e)确定,删除成取消,返回删除 ();4.查询图书界面 程序流程图
28、 如图所示:部分主要代码:string tempValue=.ToString();SqlConnection con=new SqlConnection();=Data Source=XUWEI-PC;Initial Catalog=图书信息表;Integrated Security=True;if(tempValue=图书编号)string co=select*from 图书信息_1 where 图书编号=+;DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;if(tempValue=
29、图书名称)string co=select*from 图书信息_1 where 图书名称=+;DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;if(tempValue=图书作者)string co=select*from图书信息_1 where 图书作者=+;DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;if(tempValue=图书出版厂家)string co=select*f
30、rom 图书信息_1 where 图书出版厂家=+;输入查询条件、关一致,显示查询结不一致,显示为 DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;if(tempValue=图书借阅时间)string co=select*from图书信息_1 where 图书借阅时间=+;DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;if(tempValue=图书价格)string co=sel
31、ect*from 图书信息_1 where 图书价格=+;DataSet ds=new DataSet();SqlDataAdapter da=new SqlDataAdapter(co,con);(ds);=0;private void button1_Click(object sender,EventArgs e)();退出界面 在主界面中设置代码如下:private void 退出ToolStripMenuItem_Click(object sender,EventArgs e)();主界面 菜单按钮如图所示:实现该功能的部分代码如下:using System;using ;using;
32、using;using;using WindowsApplication7 public partial class 主界面:Form public 主界面()InitializeComponent();private void 添加用户ToolStripMenuItem_Click(object sender,EventArgs e)添加用户 f=new 添加用户();=();();private void 删除用户ToolStripMenuItem_Click(object sender,EventArgs e)删除用户 f=new 删除用户();=();();private void 添
33、加管理ToolStripMenuItem_Click(object sender,EventArgs e)添加图书 f=new 添加图书();=();();private void 删除图书ToolStripMenuItem_Click(object sender,EventArgs e)删除图书 f=new 删除图书();=();();private void 浏览图书ToolStripMenuItem_Click(object sender,EventArgs e)浏览图书 f=new 浏览图书();=();();private void 查询图书ToolStripMenuItem_Cli
34、ck(object sender,EventArgs e)查询图书 f=new 查询图书();=();();private void button2_Click(object sender,EventArgs e)();总结 图书管理系统开发是对高校的管理是有着重大的实际意义,该系统采用选进开发理念,软件工程的标准化开发。通过开本系统使我全面的掌握了 C#的基本知识,并在开发过程中我的 C#开发能力得到了进一步的提高。如:更进一步的深入ADO 数据对象技术,SQL 语言的使用;软件工程知识也得到了提高,充分利用软件工程及数据库系统原理知识将及大为我们提高了开发及设计速度。在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编码,先应有较长的时间去把分析做好,写出相关的开发文档等。然后再开始编码,这样做到每写一步代码心底有数,有条不絮。参考文献 1 刘丽霞 等编著,零基础学 C#.北京:机械工业出版社,2 刘辉 等编著,零基础学 SQL Server 2005.北京:机械工业出版社,