C#图书管理系统 总报告.docx
- 文档编号:29947265
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:66
- 大小:1.95MB
C#图书管理系统 总报告.docx
《C#图书管理系统 总报告.docx》由会员分享,可在线阅读,更多相关《C#图书管理系统 总报告.docx(66页珍藏版)》请在冰豆网上搜索。
C#图书管理系统总报告
《C#面向对象程序设计》
课程设计
姓名:
_____
学号:
_____
班级:
____
指导教师:
_____
第一章1
第二章4
软件总体结构4
功能模块的划分......................................................................4
数据组织结构.................................................................................5
表设计.....................................................................................6
字段设计.................................................................................8
所使用的数据库.....................................................................9
第四章
功能模块设计10
流程图..........................................................................................10
各模块关键代码及运行结果......................................................13
第五章
总结48
第一章
前言
本软件针对图书馆的业务范围及工作特点,设计了读者信息管理、借阅管理、新书入库管理、图书信息管理等系统,这些系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。
应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。
本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括菜单设计、数据输入、查询、删除、修改等设计。
从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。
本系统的实现的主要功能有:
读者信息管理、书籍信息管理,报表,以及读者和书籍的查询和修改,等等的功能,是一个可以满足借阅者和图书馆工作人员的需要的数据库。
VisualStudio是微软公司推出的开发环境。
是目前最流行的Windows平台应用程序开发环境。
VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。
VisualStudio2010同时带来了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。
除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库。
MicrosoftSQLServer2008是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer2008数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
第二章
软件总体结构
一、功能模块的划分
要求系统实现图书馆日常管理事务最主要的功能,包括图书的借出于还回,图书信息的录入、修改和查询,读者信息的录入、修改和查询,员工信息的录入、修改和查询。
实现这些基本功能,组建了图书管理系统的基本框架,根据功能的关联关系和集中分组的原则,将系统细化如下图所示的结构图。
系统功能结构图
2、数据结构组织
数据库设计是在选定的数据库管理系统基础上建立数据库的过程。
在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。
数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,能简化基于此数据库的应用程序的实现等。
在数据库系统开始设计的时候应该尽量考虑全面,尤其应该仔细考虑图书管理工作的实际需求避免浪费人力和物力。
数据库的设计主要考虑以下因素:
1.关系数据的要求,尽量减少冗余数据。
对各种关系选定主码。
按照关系模式的规范化进行处理,进行消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,从而达到概念的单一化。
2.为了在计算和查询时的方便,有时采取了牺牲数据冗余这个原则,将有些衍生即虚字段数据也进行存储。
第三章
数据库设计
1、表设计
1)图书信息表:
表名为:
“book”,用于保存所以图书信息,其结够如图所示。
book表的结构
2)读者信息表:
表名为:
“reader”,用于保存可以在本馆借书的所有读者信息,其结果如图所示。
reader表的结构
3)读者类别表:
表名为:
“readerc”,用于保存各种类别的读者借阅的一些限制,该表结够如图所示。
readerc表的结构
4)借阅信息表:
表名为:
“borrow”,用于保存每本书的借出信息,借阅信息表的结够如图所示。
borrow表的结构
5)员工信息表:
表名为:
“employee”,用于保存本馆员工的信息,该表的架构如图1所示。
employee表的结构
二、所使用的数据库
三、E-R图
1.实体E-R图
根据图书管理系统分析与功能设计,图书信息管理系统中主要包括图书信息实体、读者信息实体、借阅信息实体、员工信息实体以及读者类别实体等。
图书信息实体包括表征一本书基本特征的数据和由于管理需要而记录的一些数据,有8个属性构成。
该实体的E-R图如图所示。
其中“图书编号”实际上就是ISBN编号,这是用于唯一确定一本合法出版物的标准编号,它作为本实体的主键。
图书信息实体E-R图
读者信息实体标示一个读者的个人特征数据和该读者在图书馆的借阅状态信息,有10个属性构成。
该实体的E-R图如图所示。
其中“读者编号”为主键,“读者姓名”、“性别”、单位和电话等式常见的基本信息。
读者信息实体E-R图
借阅信息实体标示哪个读者在何时借了哪本书。
从信息完整性和减少冗余度的角度来考虑,本实体只需3个属性,即:
“读者编号”-------是谁借了这本书:
“图书编号”-------借的是那本书:
“借出日期”--------是那天接的。
该实体的E-R图如图1-4所示。
借阅信息实体E-R图
员工信息实体标示本馆员工的信息。
员工信息实体是为图书馆管理者掌握本馆员工的资料而设计的,它的另一重要作用是提高员工登录系统时的编号和密码。
该实体的E-R图如图1-5所示。
4、字段设计
1.图书信息表(tBook),其字段列表如表所示。
图书信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cBooksID
图书编号
文本
7
必须非空
2
cBooksName
图书名称
文本
20
必须非空
3
cBooksISBN
图书ISBN号
文本
15
可为空
4
cBooksAuthor
图书作者
文本
10
可为空
5
cBooksPublisher
图书出版社
文本
20
可为空
6
cBooksType
图书类型
文本
16
可为空
7
smBooksPrice
图书价格
货币
可为空
8
iBooksStoreQuan
图书库存量
整数
可为空
9
iBooksLeftQuant
图书副本数量
整数
可为空
10
iBooksTotalQuan
图书总数
整数
可为空
2.图书借阅登记表(tBorrow),其字段列表如表所示。
图书借阅登记表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cBorrowID
借书编号
文本
6
必须非空
2
cVipID
学生编号
文本
6
必须非空
3
cBooksID
图书编号
文本
7
必须非空
4
cBorrwTime
借书时间
时间日期
可为空
5
cReturnTime
还书时间
时间日期
可为空
6
cReturn
是否归还
文本
1
可为空
3.图书归还登记表(tReturn),其字段列表如表所示。
图书归还登记表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cBorrowID
借书编号
文本
6
必须非空
2
cVipID
学生编号
文本
6
必须非空
3
cBooksID
图书编号
文本
7
必须非空
4
cBorrwTime
借书时间
时间日期
可为空
5
cReturnTime
还书时间
时间日期
必须非空
6
cReturn
是否归还
文本
1
必须非空
7
cNoReturn
归还异常
文本
8
可为空
4.学生信息表(tVip),其字段列表如表所示。
学生信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cVipID
学生编号
文本
6
必须非空
2
cVipName
学生姓名
文本
10
必须非空
4
cVipSex
学生性别
文本
1
可为空
5
vipAddTime
学生入学时间
时间日期
必须非空
6
vipEndTime
学生毕业时间
时间日期
必须非空
5.管理员信息表(tOperators),其字段列表如表所示。
管理员信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cOperatorID
管理员编号
文本
5
必须非空
2
cOperatorName
管理员姓名
文本
10
必须非空
3
cOperatorPassword
密码
文本
6
必须非空
4
cOperatorAddTime
管理员加入时间
时间日期
10
必须非空
第四章
功能模块设计
1、系统流程图
程序流程图
二、各模块主要代码、运行结果及流程图
1)主界面
界面如下:
主要代码:
privatevoidmenuItem14_Click(objectsender,System.EventArgse)
{
((System.Windows.Forms.Form)this.Tag).Visible=true;
this.Close();
}
privatevoidmain_Load(objectsender,System.EventArgse)
{
statusBarPanel1.Text="当前登录用户";
statusBarPanel3.Text=DateTime.Now.ToString();
statusBarPanel4.Text="作者:
ddl";
statusBarPanel5.Text="图书馆管理信息系统";
}
Useruser;
privatevoidmenuItem16_Click(objectsender,System.EventArgse)
{
user=newUser();
for(intx=0;x { FormtempChild=(Form)this.MdiChildren[x]; tempChild.Close(); } user.MdiParent=this; user.WindowState=FormWindowState.Maximized; user.Show(); } privatevoidtoolBar1_ButtonClick(objectsender,System.EventArgse) { } 2)图书管理信息系统登录 界面如下 主要代码: staticvoidMain() { Application.Run(newLogin()); } privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(name.Text.Trim()==""||password.Text.Trim()=="") MessageBox.Show("请输入用户名和密码","提示"); else { oleConnection1.Open(); OleDbCommandcmd=newOleDbCommand("",oleConnection1); if(radioManage.Checked==true) { stringsql="select*frommanagerwhereMName='"+name.Text.Trim()+"'andMCode='"+password.Text.Trim()+"'"; cmd.CommandText=sql; if(null! =cmd.ExecuteScalar()) { //隐藏登录窗口 this.Visible=false; //创建并打开主界面 mainmain=newmain(); main.Tag=this.FindForm(); OleDbDataReaderdr; cmd.CommandText=sql; dr=cmd.ExecuteReader(); dr.Read(); main.menuItem1.Visible=(bool)(dr.GetValue (2)); main.menuItem2.Visible=(bool)(dr.GetValue (2)); main.menuItem3.Visible=(bool)(dr.GetValue (2)); main.menuItem5.Visible=(bool)(dr.GetValue(4)); main.menuItem4.Visible=(bool)(dr.GetValue(3)); main.menuItem5.Visible=(bool)(dr.GetValue(4)); main.toolBarButton1.Visible=(bool)(dr.GetValue (2)); main.toolBarButton2.Visible=(bool)(dr.GetValue (2)); main.toolBarButton3.Visible=(bool)(dr.GetValue(3)); main.toolBarButton4.Visible=(bool)(dr.GetValue(3)); main.toolBarButton5.Visible=(bool)(dr.GetValue(4)); main.statusBarPanel2.Text=name.Text.Trim(); main.statusBarPanel6.Text="管理员"; main.ShowDialog(); } else MessageBox.Show("用户名或密码错误","警告"); } elseif(radioPerson.Checked==true) { stringsql="select*frompersonwherePID='"+name.Text.Trim()+"'andPCode='"+password.Text.Trim()+"'"; cmd.CommandText=sql; if(null! =cmd.ExecuteScalar()) { //隐藏登录窗口 this.Visible=false; //创建并打开主界面 mainmain=newmain(); main.Tag=this.FindForm(); OleDbDataReaderdr; cmd.CommandText=sql; dr=cmd.ExecuteReader(); dr.Read(); main.menuItem1.Visible=(bool)(dr.GetValue(9)); main.menuItem2.Visible=(bool)(dr.GetValue(9)); main.menuItem3.Visible=(bool)(dr.GetValue(9)); main.menuItem4.Visible=(bool)(dr.GetValue(9)); main.toolBarButton1.Visible=(bool)(dr.GetValue(9)); main.toolBarButton2.Visible=(bool)(dr.GetValue(9)); main.toolBarButton3.Visible=(bool)(dr.GetValue(9)); main.toolBarButton4.Visible=(bool)(dr.GetValue(9)); main.statusBarPanel2.Text=name.Text.Trim(); main.statusBarPanel6.Text="读者"; main.ShowDialog(); } else MessageBox.Show("用户名或密码错误","警告"); } else MessageBox.Show("没有选择角色","提示"); oleConnection1.Close(); } } 3)添加图书 显示界面 主要代码 privatevoidAddBook_Load(objectsender,System.EventArgse) { try { oleConnection1.Open(); stringsql="selectTID,typefromtype"; OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleConnection1); DataSetds=newDataSet(); adp.Fill(ds,"type"); comboType.DataSource=ds.Tables["type"].DefaultView; comboType.DisplayMember="type"; comboType.ValueMember="TID"; oleConnection1.Close(); } catch(Exceptionee) { Console.WriteLine(ee.Message); } } privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(textID.Text.Trim()==""||textName.Text.Trim()==""||textNum.Text.Trim()==""||textWriter.Text.Trim()=="") MessageBox.Show("请填写完整信息","提示"); else { oleConnection1.Open(); stringsql="select*frombookwhereBID='"+textID.Text.Trim()+"'"; OleDbCommandcmd=newOleDbCommand(sql,oleConnection1); if(null! =cmd.ExecuteScalar()) MessageBox.Show("图书编号重复","提示"); else { sql="insertintobookvalues('"+textID.Text.Trim()+"','"+textName.Text.Trim()+"','"+textWriter.Text.Trim()+"',"+ "'"+textPublish.Text.Trim()+"','"+date1.Text.Trim()+"','"+textPrice.Text.Trim()+"','"+textNum.Text.Trim()+"',"+ "'"+comboType.Text.Trim()+"','"+textRemark.Text.Trim()+"')"; cmd.CommandText=sql; cmd.ExecuteNonQuery(); MessageBox.Show("添加成功","提示"); clear(); } oleConnection1.Close(); } } 4)添加身份 显示界面 主要代码 privatevoidbtAdd_Click(objectsender,System.EventArgse) { if(textI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#图书管理系统 总报告 C# 图书 管理 系统 报告