最新C#课程设计-图书馆信息管理系统.doc

上传人:1595****071 文档编号:34715466 上传时间:2022-08-18 格式:DOC 页数:145 大小:1.20MB
返回 下载 相关 举报
最新C#课程设计-图书馆信息管理系统.doc_第1页
第1页 / 共145页
最新C#课程设计-图书馆信息管理系统.doc_第2页
第2页 / 共145页
点击查看更多>>
资源描述

《最新C#课程设计-图书馆信息管理系统.doc》由会员分享,可在线阅读,更多相关《最新C#课程设计-图书馆信息管理系统.doc(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC#课程设计-图书馆信息管理系统第1章 需求分析河南城建学院可视化编程技术课程设计报告书设 计 题 目: 图书馆信息管理系统 指 导 老 师: 魏新红、张星、张凯 学 生 学 号: 083410220 学 生 姓 名: 董登科 同 组 人 员: 田伟涛, 张华东 时 间: 2012年1月5号 目 录目 录1第1章 需求分析21.1 开发背景21.2 详细需求分析2第2

2、章 系统功能分析42.1 系统功能设计及目标42.2 系统总体结构42.2.1 模块描述42.2.2 系统总体流程图5第3章 数据库设计73.1 数据库需求分析73.2 数据库物理结构设计73.3数据库逻辑结构设计9第 4 章 详细设计124.1 用户界面设计124.2 读者登录模块各个界面设计124.3系统主窗体设计124.3.1 系统主界面的实现134.3.2 读者登录模块登录界面的实现154.3.3读者登录模块主窗体的实现184.3.4 读者借阅查询界面的实现214.3.5 读者续借界面的实现254.3.6 罚金查询界面的实现29第5章 设计总结33参考文献33第1章 需求分析1.1 开

3、发背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,而有信息处理就离不开数据库,这使得数据库管理系统被广泛应用于各领域。使用数据库管理系统进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。本系统就是为了管理好图书信息而设计的图书管理包括的图书和用户借阅

4、资料繁多,包含很多的信息数据的管理,现今,有很多的图书管理系统都是初步开始使用,甚至尚未使用计算机进行信息管理。以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是图书管理系统开发所要解决的问题。基于这此问题,有必要建立一个图书管理系统,使

5、图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的进行查询和修改图书情况等图书管理操作。1.2 详细需求分析图书管理涉及图书信息、系统用户信息、读者信息、图书借阅等多种数据管理。从管理的角度可将图书分为三类:图书信息管理、系统维护、读者登陆。图书信息管理包括图书录入、借还、查询,续借等操作,系统维护包括系统图书的增删查改,读者增删查改,数据库备份等操作,读者登陆包括修改密码,借阅查询,读者续借,罚金查询等操作。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人密码的修改;管理员对图书借阅者的借阅及还书要求进行操作,同时给借阅者查

6、看确认,还可以为读者实现续借和超期罚款的功能;图书馆管理人员的功能最为复杂,包括对图书借阅者、图书进行管理和维护,及系统状态的查看、维护等。读者可直接查看图书馆图书情况,如果读者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。管理员功能的信息量大,数据安全性和保密性要求最高。要能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、用户和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,添加、删除和修改借阅信息,删除某条图书借阅者

7、基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。具体功能如下1 查询图书馆馆藏信息2 借阅,归还图书和续借未超期图书3 查询个人基本信息并修改自己的密码4 查询借阅记录,续借,和查询罚金记录5 管理员可以对读者和图书进行增删查改第2章 系统功能分析2.1 系统功能设计及目标对于图书馆主要负责提供的功能是指从图书的购入开始直到该图书过期下架的整个流通过程,这其中包括图书入库、借出、归还以及对参与此流通过程的读者的信息管理。图书信息管理:建立图书信息库,以便读者进行查询和借阅。在建立信息库时可能因操作错误或其它情况而造成数据库里图书信息的错误,需要修改这些错误。图书因使用过久或在读者借阅书

8、籍时发生遗失的情况下需做遗失处理,这些都需要修改数据库关于书籍的信息。出版社信息管理:建立出版社信息库,在图书入库的时候及时添加出版社信息,并按需要随时修改和更新。读者信息管理:读者一般都是在校的学生和教师。可按需要修改数据库关于读者的信息。借还书管理:图书馆主要的功能就是提供书籍供读者借阅,在借阅图书时应按图书馆的规则进行借阅,例如如果已有超时借阅的图书,则在归还前不允许再借阅等等。对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚。规则管理:对于读者借阅书籍的权限(可借阅书籍数目,每人每本书可持有天数等)应该能加以分类,若有图书遗失或超期未还的情况发生,图书馆都应该规定处罚的条例。权限

9、管理:另外对于操作此系统的前端工作人员的权限也应该有一定限制。这些都应该只能由系统管理员来进行操作和修改。信息查询:读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息:该图书是否在馆,是否已借出,在馆中的书架号;除查询书籍外,图书管理员还可查询关于读者的信息,是否有超期未还的图书,还可借阅书籍数目等。2.2 系统总体结构2.2.1 模块描述图书馆信息管理系统可以分为四个模块,“综合查询模块”,“读者登陆模块”,“借还图书模块”,和“系统维护模块。图书馆信息管理系统的功能模块如下图(2-1)所示图书馆信息管理系统综合查询借还管理读者登陆系统维护修改密码借阅查询读者续借罚金信息借书管理还书管理图

10、书超期及丢失处理修改密码管理员登陆馆藏信息查询多条件查询图书信息维护读者信息维护管理员信息维护图书馆信息维护系统数据备份与还原图 2-2-12.2.2 系统总体流程图用户进入图书馆管理系统,成功登陆后,首先进行权限验证,对于普通管理员可以进行借书处理,还书处理,逾期处理,和书籍丢失处理。读者可以进行图书信息查询,修改自己的密码,查阅自己的借阅记录,图书续借,罚金信息查询。系统管理员可以进行图书,读者信息维护,系统维护等操作。开始登陆权限验证读者系统管理员信息正确?借书管理还书管理超期罚款丢失处理图书信息维护读者信息维护系统信息维护普通管理员馆藏查询读者查询退出图 2-2-2第3章 数据库设计3

11、.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后而后具体设计打下基础。根据分析,可以列出以下数据项和数据结构:图书信息,包括的数据项有:ISBN号,索书号,书名,作者,价格,出版社,书库号,进库日期,总量,剩余量,借出状态。管理员信息:管理员号,姓名,电话,身份证号,密码,权限。条形码信息:条形码,ISBN号。借阅信息:条形码,读者账号,借出时间,应还时间,借出状态。罚金信息:条形码,读者账号,罚款时间,金额。出版社:出版社名,地址,电话,邮箱。读者

12、信息:读者账号,姓名,性别,身份证号,班级,系别,密码。书库信息:书库号,书库名,位置。3.2 数据库物理结构设计得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。 以下分别是读者E-R图,图书E-R图,借阅信息E-R图,出版社E-R图,书库E-R图(1) 读者E-R图读者系别读者证号姓名性别身份证号班级登录密码身份 图 3-2-1(2)图书E-R图图书条形码索书号ISBN号书名作者定价出版社所在书库入库时间借阅等级总量图 3-3-2(3)借阅信息E-R图借阅信息读者证号借出时间归还时间借阅状态图书条形码图 3-2-3(4)

13、出版社E-R图出版社出版社名称电话地址E_mail图 3-2-4(4)书库信息E-R图书库书库位置书库编号书库名称图3-2-53.3数据库逻辑结构设计在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。图书管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表(3-1)条形码数据表字段名类型长度是否为空主键外键说明barcodechar9否是否条形码ISBNvarchar20否否是(参照与图书表)SBN号表(3-2)图书数据表字段名类型长度是否为空主键外键说明ISBNvarchar20否是否SBN号Booknumbervarcha

14、r15是否否索书号Titlevarchar40否否否书名Authovarchar20是否否作者Pricenumeric否否否单价PublishNamevarchar40是否是(出版社)出版社StackIDchar2是否否书库号AddTimedatetime否否否进书日期Amountint否否否数量Remainint否否否剩余量Borrowchar1是否否状态表(3-3)图书借阅数据表字段名类型长度是否为空主键外键说明Barcodechar9否是否条形码ReaderIDchar9否否示(读者)读者账号BorrowTimedatetime否是否借出时间ReturnTimedatetime否否否归还

15、时间BorrowStatuchar1否否否借出状态表(3-4)罚金表字段名类型长度是否为空主键外键说明Barcodechar9否是否条形码ReaderIDchar9否否是(读者)读者账号Finetimedatetime否是否罚金时间Finemoneydecimal否否否金额表(3-5)出版社数据表字段名类型长度是否为空主键外键说明PublishNamevarchar40否是否出版社名Addressvarchar40否否否地址Phonevarchar15否否否电话E-mailvarchar30否否否电子邮件表(3-6)读者数据表字段名类型长度是否为空主键外键说明ReaderIDchar9否是否读

16、者账号ReaderNamevarchar8否否否姓名Sexchar2否否否性别IDcardchar18否否否身份证号ShenFenvarchar8是否否身份Classvarchar10是否否班级Deptvarchar20是否否系别Passwordvarchar20是否否密码表(3-7)书库数据表字段名类型长度是否为空主键外键说明StackIDchar2否是否书库号StackNamevarchar10否否否书库名StackLocationvarchar20否否否书库位置表(3-8)管理员数据表字段名类型长度是否为空主键外键说明AdminIDchar8否是否管理员账号AdminNamevarcha

17、r8否否否姓名Phonenumbervarchar11否否否电话AIDcardchar18否否否身份证号AdminPasswordvarchar20否否否密码QuanXianchar2否否否权限第 4 章 详细设计4.1 用户界面设计当今软件界的所有软件无不是可视化的用户界面,它的好处不外乎它有美观、直接、操作者易懂和操作方便等好处。本系统设计思想:“为用户设计,而不是设计者”本系统设计原则:界面美观、操作方便并能高效率地完成工作。界面根据用户需求设计。界面能引导用户操作的功能,并能提供一些帮助功能。4.2 读者登录模块各个界面设计下表是读者登录模块的各个窗体的名字,说明,以及供能说明表(4-

18、1)读者登录模块模块结构序号窗体名说明功能1登录.cs登录窗体实现用户登录2zmm.cs找密码窗体找回密码是登录3xujie.cs续借窗体实现图书的续借4xiugai.cs修改密码窗体忘记密码是修改密码5help.cs帮助窗体显示系统有关信息6Form2.cs读者修改密码窗体修改密码7Form1.cs主窗体显示主窗体8fine.cs罚金窗体查看罚金9borrow.cs借阅历史窗体查看个人借阅历史10about.csAbout窗体系统有关信息4.3系统主窗体设计系统窗体由登陆界面,系统主界面和多个功能模块界面组成,基本上一个模块完成一个或几个功能。我在这次课程设计中主要负责读者登录模块的设计,主

19、要包括修改密码,借阅查询,读者续借,罚金信息的功能。4.3.1 系统主界面的实现系统主界面的截图如下:图4-3-1主界面的代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 图书管理系统 public partial class main : Form public main() InitializeCo

20、mponent(); private void 文件ToolStripMenuItem_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) Application.Exit(); private void pictureBox1_Click(object sender, EventArgs e) chaxun ch = new chaxun(); ch.Show(); private void label1_Click(object sender, EventArgs

21、e) chaxun ch = new chaxun(); ch.Show(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 馆藏查询ToolStripMenuItem_Click(object sender, EventArgs e) chaxun ch = new chaxun(); ch.Show(); private void pictureBox3_Click(object sender, EventArgs e) login1 l

22、o = new login1(); lo.Show(); private void label3_Click(object sender, EventArgs e) login1 lo = new login1(); lo.Show(); private void 关于系统AToolStripMenuItem_Click(object sender, EventArgs e) help he = new help(); he.ShowDialog(); private void 借还管理ToolStripMenuItem_Click(object sender, EventArgs e) lo

23、gin1 lo = new login1(); lo.Show(); 4.3.2 读者登录模块登录界面的实现读者登录模块登录窗体截图如下:图 4-3-2读者登录模块登录代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 读者登录 public par

24、tial class 登录 : Form public 登录() InitializeComponent(); string strcon; SqlConnection sqlcon; /数据库连接 private void DBconnect() strcon = server=19FL0KTUTD8B9BPSQLEXPRESS;database=BookManage;uid=sa;pwd=dong; sqlcon =new SqlConnection (strcon ); /登陆信息验证 private void button1_Click(object sender, EventArgs

25、 e) if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(输入信息不完整,请重新输入, 温馨提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Information); else DBconnect(); sqlcon.Open(); SqlDataAdapter sda = new SqlDataAdapter(select * from Reader where ReaderID= + textBox1.Text + and PassWord= + textBox2.Text + ,

26、sqlcon); DataTable mydt = new DataTable(); sda.Fill(mydt); int i = mydt.Rows.Count; if (i = 1) Form1 myform = new Form1(); myform.Show(); myform.Text = 欢迎 + textBox1.Text + 登录; myform.name = textBox1.Text; / 将TextBox1的值传给窗体myform this.Hide(); else MessageBox.Show(输入信息不正确,请重新输入, 温馨提示, MessageBoxButto

27、ns.OKCancel, MessageBoxIcon.Warning); private void button2_Click(object sender, EventArgs e) if (MessageBox.Show(你确定要退出登录么?, 信息提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = DialogResult.OK) Application.Exit(); private void textBox1_TextChanged(object sender, EventArgs e) /* private void

28、 登录_Load(object sender, EventArgs e) CodeImage(CheckCode(); */ private void label3_Click(object sender, EventArgs e) zmm zm = new zmm(); zm.name = textBox1.Text; zm.Show(); zm.Text = 欢迎 + textBox1.Text + 登录; private void 登录_Load(object sender, EventArgs e) 4.3.3读者登录模块主窗体的实现 读者登录模块主窗体截图如下;图 4-3-3 读者登

29、录模块主窗体代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 读者登录 public partial class Form1 : Form public Form1() InitializeComponent(); public string name;/账号 private void Form1_Lo

30、ad(object sender, EventArgs e) private void label6_Click(object sender, EventArgs e) if (MessageBox.Show(你确定要退出么?, 信息提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Application.Exit(); private void label3_Click(object sender, EventArgs e) Form2 myform = new Form2();/声明窗体2,使

31、读者信息与窗体2关联 myform.name = name; myform.Show(); myform.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void label2_Click(object sender, EventArgs e) borrow borrowform = new borrow();/声明窗体borrow,使读者信息与窗体2关联 borrowform.name = name; borrowform.Show(); borrowform.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void l

32、abel4_Click(object sender, EventArgs e) private void label1_Click(object sender, EventArgs e) xujie xuj = new xujie();/声明窗体xujie,使读者信息与窗体2关联 xuj.name = name; xuj.Show(); xuj.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void label5_Click(object sender, EventArgs e) fine frm = new fine();/声明窗体fine,使读者信息与

33、窗体2关联 frm.name = name; frm.Show(); frm.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) Form2 myform = new Form2();/声明窗体2,使读者信息与窗体2关联 myform.name = name; myform.Show(); myform.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void 借阅查询ToolStripMenuItem_C

34、lick(object sender, EventArgs e) borrow borrowform = new borrow();/声明窗体borrow,使读者信息与窗体2关联 borrowform.name = name; borrowform.Show(); borrowform.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void 读者续借ToolStripMenuItem_Click(object sender, EventArgs e) xujie xuj = new xujie();/声明窗体xujie,使读者信息与窗体2关联 xuj.na

35、me = name; xuj.Show(); xuj.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void 罚金信息ToolStripMenuItem_Click(object sender, EventArgs e) fine frm = new fine();/声明窗体fine,使读者信息与窗体2关联 frm.name = name; frm.Show(); frm.Text = 欢迎 + name + 登录,离开时不要忘记下线哦; private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) if (MessageBox.Show(你确定要退出么?, 信息提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Application.Exit(); 4.3.4 读者借阅查询界面的实现读者借阅查询界面的截图如下

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁