收藏 分享(赏)

《数据库》课程设计报告--图书借阅管理系统的设计与实现.doc

上传人:精品资料 文档编号:10871330 上传时间:2020-01-16 格式:DOC 页数:29 大小:1,014KB
下载 相关 举报
《数据库》课程设计报告--图书借阅管理系统的设计与实现.doc_第1页
第1页 / 共29页
《数据库》课程设计报告--图书借阅管理系统的设计与实现.doc_第2页
第2页 / 共29页
《数据库》课程设计报告--图书借阅管理系统的设计与实现.doc_第3页
第3页 / 共29页
《数据库》课程设计报告--图书借阅管理系统的设计与实现.doc_第4页
第4页 / 共29页
《数据库》课程设计报告--图书借阅管理系统的设计与实现.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、SQL Server 数据库课程设计题目:图书借阅管理系统的设计与实现院、 系: 计算机信息与技术系 学科专业: 软件工程 学 号: B10060XXX _学生姓名: XXXX 指导教师: XX 2012 年 06 月目录引 言 1第一章 需求分析 2一、功能需求 2二、数据需求 2第二章 概要设计 .3一、系统设计目标 3二、系统功能设计 3三、开发工具的选择 4第三章 详细设计 5一. 实体 E-R 图 5二. 表的设计 6三界面设计 7第四章 软件实现 21一、登录实现 .21二、图书管理 .21三、图书借阅 .21四、图书查询 .21五、图书增加 .21第五章 软件测试 22一、测试方

2、案 .22二、测试项目 .22三、测试项目及测试内容 .22四、测试用例 .23五、评价 .23第六章 课程设计总结 .24参考文献 251引 言随着社会的发展,人们对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就势在必行。图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。本软件针对图书馆的业务范围及工作特点,设计了图书查询、新增图书、图书借阅书以及图书归还

3、等 5 个子系统,这 5 个子系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括画面设计、数据输入、查询、新增、删除等设计。从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。本系统的实现的主要功能有:图书馆图书的查询、新书的入库、图书的借阅和归还等等功能,是一个基本可以满足借阅者和图书馆管理人员的需要的数据库。2第一章

4、需求分析一、功能需求根据出版社图书的规模日益扩增,图书类别的日益繁琐,经销商与出版社频繁交易,行业竞争日益激烈。面对诸多问题时:一款优秀的出版社图书管理软件是每一个从事出版社图书销售与管理的必备的工具。出版社图书出版管理是一个庞大的任务,传统方式的图书管理将会造成巨大的人力和物力的浪费,因此我们需要设计一个可以使工作人员实现使用计算机管理的系统。减轻工作量,实现图书出版管理的高效化。通过本系统,读者可以随时查询图书的信息并对对图书信息进行增加,删除,查询。图书借阅管理系统旨在实现图书管理的现代化,能够很好的利用计算机帮助读者查询各种书籍,也能很好的帮助管理者对书籍的信息有一个及时的了解,极大程

5、度上方便了我们的生活及学习。二、数据需求学生基本信息:学号,姓名。书籍基本信息:图书编号,图书名,作者,出版社,数量。3第二章 概要设计一系统设计目标本系统为学校的图书馆信息而设计,实现信息处理的自动化、规范化,主要用于处理图书日常借阅和还书、图书入库、各种查询操作,系统具有以下功能。(1) 完成新书入库、借阅、还书等处理功能(2) 具有借阅者增加、删除等功能(3) 具有各种查询功能二系统功能设计要求系统实现图书馆日常管理事务最主要的功能,包括图书的借出于还回,图书信息的录入、修改和查询,读者信息的录入、修改和查询,员工信息的录入、修改和查询。实现这些基本功能,组建了图书管理系统的基本框架,根

6、据功能的关联关系和集中分组的原则,将系统细化如图 2-1 所示的结构图。归还图书借阅图书图书借阅图书信息管理系统设置新书入库查询图书信息删除图书信息用户密码修改登录处理图书馆图书借阅系统4图 2-1 系统功能结构图三开发工具的选择本系统采用 Microsoft SQL Server 2008 创建后台数据库,前台开发工具采用的 Microsoft SQL Server Management Studio,编程语言为 C#。如图 2-2所示。5图 2-2第三章 详细设计一. 实体 E-R 图数据库设计使系统开发中非常重要的一个环节,数据库结构设计的好坏将直接影响系统的效率。在设计数据库之前,要了

7、解用户需求,从而确定数据库结构。否则,如果在代码实现过程中再修改数据库的结构,将会浪费人力和物力。同时,在数据库设计中,表的数量不能太多,否则系统的升级和维护将很困难。由概要设计中系统结构可以得出实体及他们之间的联系。实体具体的描述及其联系 E-R 图,如图 3-1 所示:6图书信息出版社名称数量作者 借 阅管理员信息电话管理员编号管理员姓名 密码新书添加图 3-1 E-R 图二. 表的设计读者信息 电话读者编号读者姓名 密码图书编号72.1 图书信息图书信表:表名为:“图书查询”,用于保存所以图书信息,其结够如图3-2 所示。图 3-2 book 表的结构2.2 读者信息读者信息表:表名为:

8、“图书借阅”,用于保存可以在本馆借书的所有读者信息,其结果如图 3-3 所示。图 3-3 reader 表的结构三界面设计 3.1 登录窗体设计登录窗体作为系统的启动窗体,用于核对用户和密码,只有图书馆工作管理人员才能登录到本系统进行操作。登录窗体的设计比较灵活,只要能实现用户和密码的验证即可,本系统将其设计成为一个小窗体。登录窗体文件名设计为“Form1.cs”83.1.1 界面设计在该窗体上添加 3 个 Label、2 个 TextBox、2 个 Button 控件。登录窗体及其主要控件的属性设置如图 3-4 界面设计图 3-4 登录窗体3.1.2 代码设计:using System;us

9、ing System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;/添加命名空间using System.Data.SqlClient;namespace fengpublic partial class Form1 : Formpublic Form1()9InitializeComponent();private void textBox

10、3_TextChanged(object sender, EventArgs e)private void button1_Click(object sender, EventArgs e)string strcon = “Data Source=.;Initial Catalog=图书馆借阅系统;Integrated Security=True“;SqlConnection sqlCon = new SqlConnection(strcon);sqlCon.Open();string sql = “select * from 登录 where username=form1name and p

11、assword=password“;SqlCommand cmd = new SqlCommand(sql, sqlCon);cmd.Parameters.Add(“form1name“, SqlDbType.NChar, 20);cmd.Parameters.Add(“password“, SqlDbType.NChar, 20);cmd.Parameters“form1name“.Value = username.Text;cmd.Parameters“password“.Value = password.Text;/创建 SqlDataReader,必须调用 SqlCommand 对象的

12、 ExecuteReader 方法,而不要直接使用构造函数。SqlDataReader dr = cmd.ExecuteReader();if (dr.Read()dr.Close();Formmain formmain = new Formmain();formmain.Show();this.Hide();ElseMessageBox.Show(“密码错误,请重新输入!“);/name.Clear();10password.Clear();sqlCon.Close();private void textBox1_TextChanged(object sender, EventArgs e)

13、private void textBox2_TextChanged(object sender, EventArgs e)private void button2_Click(object sender, EventArgs e)Application.Exit();3.2 图书管理模块设计图书管理窗体作为系统的功能窗体,用于有以下功能图书查询、图书借阅、图书增加、和退出到登录窗体。登录窗体文件名设计为“Formmain.cs”.3.2.1 界面设计在该窗体上添加 5 个 Button 控件,其中图书管理窗体及其主要控件的属性设置如图 3-5 所示。他分别连接到图书查询、图书借阅、图书新增、图

14、书归还和登录窗体。11图3-5 图书管理3.2.2代码设计:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace fengpublic partial class Formmain : Formpublic Formmain()InitializeComponent();priva

15、te void button1_Click(object sender, EventArgs e)Selectbook selectbook = new Selectbook();selectbook.Show();private void button3_Click(object sender, EventArgs e)12Addbook addbook = new Addbook();addbook.Show();private void button6_Click(object sender, EventArgs e)Application.Exit();private void but

16、ton2_Click(object sender, EventArgs e)Borrowbook borrowbook = new Borrowbook();borrowbook.Show();private void button4_Click(object sender, EventArgs e)Returnbook returnbook = new Returnbook();returnbook.Show();3.3图书借阅窗体设计图书借阅窗体作为系统的启动窗体,用于借出和还入,其运行界面如图 1-13 所示。登录窗体文件名设计为“Form4.cs”。3.3.1 界面设计在该窗体上添加

17、2 个 Label、2 个 TextBox、2 个 Button 控件,其中图书借阅窗体及其主要控件的属性设置如图 3-6 所示。13图 3-6 图书借阅3.3.2 代码设计:(关键代码)namespace fengpublic partial class Borrowbook : Formpublic Borrowbook()InitializeComponent();private void label3_Click(object sender, EventArgs e)private void button2_Click(object sender, EventArgs e)Formma

18、in formmain = new Formmain();formmain.Show();this.Hide();private void button1_Click(object sender, EventArgs e)string strcon = “Data Source=BXAIT-PC;Initial Catalog=图书馆借阅系统;Integrated Security=True“;14SqlConnection sqlCon = new SqlConnection(strcon);sqlCon.Open();string sql = “select * from dbo.借阅信息

19、 where sno=sno or bookid=bookid“;SqlCommand cmd = new SqlCommand(sql, sqlCon);cmd.Parameters.Add(“sno“, SqlDbType.NChar, 10);cmd.Parameters.Add(“bookid“, SqlDbType.NChar, 10);cmd.Parameters“sno“.Value = textBox1.Text;cmd.Parameters“bookid“.Value = textBox2.Text;SqlDataReader dr = cmd.ExecuteReader()

20、;if (dr.Read()dr.Close();string lend = “insert into dbo.借阅信息 values(sno,bookid)“;SqlCommand cmd2 = new SqlCommand(lend, sqlCon);cmd2.Parameters.Add(“sno“, SqlDbType.NChar, 10);cmd2.Parameters.Add(“bookid“, SqlDbType.NChar, 10);cmd2.Parameters“sno“.Value = textBox1.Text;cmd2.Parameters“bookid“.Value

21、= textBox2.Text;cmd2.ExecuteNonQuery();MessageBox.Show(“借书成功!“);elseMessageBox.Show(“图书馆没有这本书,请重新输入!“);textBox1.Clear(); textBox2.Clear();sqlCon.Close();153.4 图书查询窗体设计图书查询窗体通过输入图书名称查询出作者,出版社,数量。图书查询窗体文件名设计为“Form2.cs”.3.4.1 界面设计在该窗体上添加 5 个 Label、5 个 TextBox、3 个 Button 控件,其中图书查询窗体及其主要控件的属性设置如表 3-7 所示。

22、图 3-7 图书查询3.4.2 代码设计:(关键代码)namespace fengpublic partial class Selectbook : Formpublic Selectbook()InitializeComponent();private void button1_Click(object sender, EventArgs e)private void button2_Click(object sender, EventArgs e)16Formmain formmain = new Formmain();formmain.Show();this.Hide();private

23、 void button1_Click_1(object sender, EventArgs e)Borrowbook borrowbook = new Borrowbook();borrowbook.Show();Private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)private void button3_Click(object sender, EventArgs e)SqlConnection sqlcon = new SqlConnection(“Data Sour

24、ce=.;Initial Catalog=图书馆借阅系统;Integrated Security=True“);sqlcon.Open();string str = “select * from 查询 where bookid=bookid or bookname=bookname or bookauthor=bookauthor or bookpub=bookpub or bookstate=bookstate“;SqlCommand cmd = new SqlCommand(str, sqlcon);cmd.Parameters.Add(“bookid“, SqlDbType.NChar,

25、 10);cmd.Parameters.Add(“bookname“, SqlDbType.VarChar, 50);cmd.Parameters.Add(“bookauthor“, SqlDbType.VarChar, 50);cmd.Parameters.Add(“bookpub“, SqlDbType.VarChar, 50);cmd.Parameters.Add(“bookstate“, SqlDbType.VarChar, 50);cmd.Parameters“bookid“.Value = this.textBox1.Text;cmd.Parameters“bookname“.Va

26、lue = this.textBox2.Text;cmd.Parameters“bookauthor“.Value = this.textBox3.Text;cmd.Parameters“bookpub“.Value = this.textBox4.Text;17cmd.Parameters“bookstate“.Value = this.textBox5.Text;this.textBox1.Text = “NULL“;this.textBox2.Text = “NULL“;this.textBox3.Text = “NULL“;this.textBox4.Text = “NULL“;thi

27、s.textBox5.Text = “NULL“;SqlDataReader dr = cmd.ExecuteReader();while (dr.Read()this.textBox1.Text = dr“bookid“.ToString().Trim();this.textBox2.Text = dr“bookname“.ToString().Trim();this.textBox3.Text = dr“bookauthor“.ToString().Trim();this.textBox4.Text = dr“bookpub“.ToString().Trim();this.textBox5

28、.Text = dr“bookstate“.ToString().Trim();3.5 图书新增窗体设计图书新增窗体作为系统的启动窗体,用于对新书入库,其运行界面如图 1-13 所示。登录窗体文件名设计为“Form3.cs”.3.5.1 界面设计在该窗体上添加 4 个 Label、4 个 TextBox、2 个 Button 控件,其中图书增18加窗体及其主要控件的属性设置如表 3-8 所示。图 3-8 图书新增3.5.2 代码设计:(关键代码)namespace fengpublic partial class Addbook : Formpublic Addbook()Initialize

29、Component();private void button1_Click(object sender, EventArgs e)SqlConnection sqlcon = new SqlConnection(“data source=.;Initial Catalog=图书馆借阅系统;Integrated Security=True“);String str = “insert into dbo.新增 values(bookid,bookname,bookauthor,bookpub)“;sqlcon.Open();/ SqlCommand cmd = new SqlCommand(“i

30、nsert into 新增(bnum,bname,bauthor,bpub,) values(“ + textBox1.Text + “,“ + textBox2.Text + “,“ + textBox3.Text + “,“ + textBox4.Text + “)“, sqlcon);19SqlCommand cmd = new SqlCommand(str, sqlcon);cmd.Parameters.Add(“bookid“, SqlDbType.NChar, 10);cmd.Parameters.Add(“bookname“, SqlDbType.VarChar, 50);cmd

31、.Parameters.Add(“bookauthor“, SqlDbType.VarChar, 50);cmd.Parameters.Add(“bookpub“, SqlDbType.VarChar,50);cmd.Parameters“bookid“.Value = textBox1.Text;cmd.Parameters“bookname“.Value = textBox2.Text;cmd.Parameters“bookauthor“.Value = textBox3.Text;cmd.Parameters“bookpub“.Value = textBox4.Text;cmd.Exec

32、uteNonQuery();sqlcon.Close();MessageBox.Show(“添加成功!“);this.textBox1.Clear();this.textBox2.Clear();this.textBox3.Clear();this.textBox4.Clear();private void button2_Click(object sender, EventArgs e)Formmain formmain = new Formmain();formmain.Show();this.Hide();203.6 图书归还窗体设计图书归还窗体作为系统的启动窗体,用于对新书归还,其运行

33、界面如图 1-13 所示。登录窗体文件名设计为“Form5.cs”.3.6.1 界面设计在该窗体上添加 2 个 Label、2 个 TextBox、2 个 Button 控件,其中图书增加窗体及其主要控件的属性设置如表 3-9 所示。图 3-9 图书归还3.6.2 代码设计:(关键代码)namespace fengpublic partial class Returnbook : Formpublic Returnbook()InitializeComponent();private void button2_Click(object sender, EventArgs e)Formmain

34、formmain = new Formmain();21formmain.Show();this.Hide();private void button1_Click(object sender, EventArgs e)SqlConnection sqlcon = new SqlConnection(“data source=localhost;Initial catalog=图书馆借阅系统;Integrated security=sspi;“);string str = “delete from dbo.借阅信息 where sno=sno and bookid=bookid“;sqlcon

35、.Open();SqlCommand cmd = new SqlCommand(str, sqlcon);cmd.Parameters.Add(“sno“, SqlDbType.NChar, 10);cmd.Parameters.Add(“bookid“, SqlDbType.NChar, 10);cmd.Parameters“sno“.Value = textBox1.Text;cmd.Parameters“bookid“.Value = textBox2.Text;cmd.ExecuteNonQuery();sqlcon.Close();MessageBox.Show(“还书成功!“);t

36、his.textBox1.Clear();this.textBox2.Clear();22第四章 软件实现首先用 SQL Server 2008 建立数据库的两个表,将图书信息,读者用户名和密码建立。然后用 Microsoft Visual Studio 2010 建立五个窗体。用代码实现窗体与数据库的连接和窗体与窗体之间的连接。第一个窗体为登录界面,分别设有登录按钮。通过登录按钮进入第二个窗体进行图书管理,再进入第三个图书借阅,再进入第四个图书查询,最后可以对新入库的图书做增加,进入第五个窗体。一、登录实现(见图 3-4)二、图书管理(见图 3-5)三、图书借阅(见图 3-6)四、图书查询(

37、见图 3-7)五、图书新增(见图 3-8)六、图书归还(见图 3-9)23第五章 软件测试一、测试方案采用黑盒测试方法。对功能进行逐一测试,在输入合理及不合理的数据后测试系统的正常运作情况。二、测试项目1. 读者登陆测试2. 读者进行信息查询测试3. 图书信息管理测试三、测试项目及测试内容测试 1:名称:读者登陆测试目的:测试系统操作界面内容:用户名密码输入、合理性检查、合法性检查,系统操作界面显示控制。测试 2:名称:图书信息查询测试目的:测试系统信息查询功能内容:输入关键字,进行图书信息查询。测试 3:名称:图书信息管理测试目的:测试系统信息增加、删除、修改、查询功能。内容:输入有效信息,

38、进行图书信息增加、删除、修改、查询。24四、测试用例系统登录测试: 输入用户名 密码输出 iuh 错误用户名空我 123 错误用户名非法fengjunwei abc 错误密码错误123 123 正确登录成功fengjunwei 123 正确登录成功表 4-1 系统登录测试表步骤及操作:运行系统,转到登陆界面,输入用户名及密码,测试登录功能。允许偏差:不允许任何偏差。五、评价此次测试可将系统各功能模块进行逐一的检查,对各项功能进行排查,对系统实现各功能的正常运行做充分的测试,输入合理及不合理的测试数据检验功能的运行及出错处理情况。但由于功能模块较多,采用功能测试设计的测试用例比较多,测试需要花费

39、一定的时间。25第六章 课程设计总结首先诚挚的感谢老师的指导。老师悉心的教导使我得以开发这个系统,从以前的理论上升到实践,真正做到学有所用。虽然在设计中我遇到了不少问题,而且往往一个小小的问题都会使我花很多的时间和精力去寻找和修正,但在老师竭尽全力的帮助下和自己的努力下,最终还是一一克服了。通过这次设计,使我学到了很多东西,收益非浅,我感觉理论到实践是一个艰难的过程,必须勤动手,才能发现问题,使自己得到真正的提高。经过了这次的设计使我学到了很多知识,给我今后在工作和学习上也提供了不少宝贵的经验。并且通过这次设计也使我也发现了自己在学习上的不足,主要是动手能力的不足,我会努力在以后的工作道路上继

40、续充实自我,完善自我。但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。经过一周的课程设计,图书管理信息系统基本开发完毕。其功能基本符合用户需求,能够完成管理主界面与登录程序设计,系统管理模块,图书信息管理模块,还借信息管理模块等。并提供部分系统测试功能,使用户方便进行数据添加、数据查询、数据修改。由于时间较短和本人水平所限,该系统必然会存在一些缺陷和不足。但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本图书管理信息系统是一套学校在日常管理中必不可少的管

41、理软件。26参考文献1 杨学全 主编. SQL Server 实例教程(第二版)M. 北京: 电子工业出版社. 2007 年 9 月2 于国防,李剑.C#语言 Windows 程序设计M.北京:清华大学出版社. 2010 年 9 月3 史济民, 顾春华, 李昌武, 苑荣 编著. 软件工程原理、方法与应用M. 北京: 高等教育出版社. 2004 年 1 月. 4 张海藩 编著. 软件工程导论M. 北京: 清华大学出版社. 2005 年 10月. 5 张奇, 李律松, 卫建伟 等编著. Visual C#数据库项目案例导航M. 北京: 清华大学出版社. 2005 年 6 月. 6 邹建峰等,C#企业级开发案例精解M. 北京:人民邮电出版社. 2006年 1 月.7 Kouresh Ardestani 著,张哲峰 译. 高效掌握 ADO.NETM. 北京:清华大学出版社.2003 年 3 月.8 明峻峰,路璐 . 浅谈数据库的理论教学与工程实践相结合J. 广东工业大学学报:社会科学版. 2008. 第 B07 期: 2.27

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报