C#图书管理系统课程设计报告.docx

上传人:b****5 文档编号:7352781 上传时间:2023-01-23 格式:DOCX 页数:16 大小:231.53KB
下载 相关 举报
C#图书管理系统课程设计报告.docx_第1页
第1页 / 共16页
C#图书管理系统课程设计报告.docx_第2页
第2页 / 共16页
C#图书管理系统课程设计报告.docx_第3页
第3页 / 共16页
C#图书管理系统课程设计报告.docx_第4页
第4页 / 共16页
C#图书管理系统课程设计报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C#图书管理系统课程设计报告.docx

《C#图书管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#图书管理系统课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。

C#图书管理系统课程设计报告.docx

C#图书管理系统课程设计报告

 

数据库课程设计说明书

 

题目:

系别:

专业:

学生姓名:

学号:

指导教师:

 

年月日

 

摘要

利用计算机对大量的图书进行管理,能够大大提高效率,减轻人们的工作量。

本课程设计利用sqlserver2008,C#实现了图书管理系统的书籍管理、用户管理、借书、还书、查询图书、修改密码等功能,将理论与实践很好的结合起来,增强了自己的动手能力,加深了对课堂上所学知识的理解。

关键词:

sqlserver;图书管理;C#

 

引言

随着社会的发展,对知识的需求也不断地增长。

在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如科学地管理图书馆不但关系到读者求知的便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就成不可少了。

图书馆在正常运行中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。

因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节息的变更,以此提该高管理效率。

图书管理系统使用便捷,能及时准确的记录用户信息,为用户提供丰富的图书信息。

图书管理系统能够优化图书资源、便学生借阅。

节省人力资源。

从图书的入库登记到查询浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而谨的阐述。

通过一个图书馆管理信息系统,使图书馆的信息管理工作系统化、规化、自动化,从而达到提高企业人事管理效率的目的。

1课程设计概述

1.1目的

复习、领会、巩固和运用软件工程课堂上所学的软件开发法和知识,综合应用本专业所学习的多门课程,了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术

1.2任务

1.所有人员需要登陆才能操作系统,可以修改密码。

2.图书管理员可以添加图书(包括书号、书名、出版社、作者、图书简介、价格)、删除图书。

图书管理员可以添加借阅者(包括借书证号、姓名、类别(教师或学生)、学院、性别)、删除借阅者。

3.借阅者可以根据书名或者作者模糊查询图书(模糊查询是指在查询语句中使用like关键字),可以查看自己所借图书信息。

4.借阅者可以借阅图书,此时需要记录借书日期和应还日期信息(设置借阅日期为30天)。

借阅者包括教师和学生,教师最多可以借阅10本图书,学生最多可以借阅5本图书。

借阅者如果有超期图书则不能再借。

5.借阅者还书时,检查是否超期,如果超期,按照0.1元/天计算罚款金额,缴纳罚款后还书。

如果图书丢失,按照图书价格的两倍赔偿。

1.3开发环境

系统开发平台:

MicrosoftVisualStudio2010

系统开发语言:

C#

数据库管理软件:

SQLServer2005

2项目的需求分析

系统主要有两类用户:

管理员和读者,读者负责图书的管理和读者的管理及还书处理;读者可以查询图书、借阅及查看所借图书。

系统功能结构图1如下:

图书管理系统

管理员

读者

书籍管理

用户管理

还书处理

查询图书

借阅图书

查看借阅

修改密码

图2.1系统功能结构图

3数据库概念模型

在前面的需求分析中,我们了解到系统要实现的功能,然而这仅仅停留在用户层面,我们需要将其抽象为信息结构即概念模型,这便是概念结构设计要做的工作。

概念结构是各种数据模型的共同基础,它比数据模型更独立与机器、更抽象,从而更稳定,概念结构设计也是整个数据库设计的关键。

系统实体主要包括几下几类:

用户(借阅证号、姓名、密码、学院、班级、类别(教师、学生))、图书(书号、书名、出版社、作者、价格),用户和图书之间为多对多关系,E-R图如图3.1所示:

 

用户

图书

借阅

借书号

姓名

学院

密码

类别

班级

书号

书名

作者

价格

所属类类别

借阅日期

还书日期

m

n

 

图3.1E-R图

4数据库物理模型

概念结构是各种数据模型的共同基础,为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。

其转换规则如下:

1、一个实体转换为一个关系模式,关系的属性为实体的属性,关系的码为实体的码。

2、一个m:

n联系转换为一个关系模式,关系的属性为与该联系相连的各实体的码以及联系本身的属性,关系的码为各实体码的组合。

3、一个1:

n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

根据概念设计转换为关系模型主要有三表:

用户表、借阅信息表、图书表。

其主要结构如下:

表4.1用户(users)表

字段

解释

字段类型

主、外键

uid

借阅证号

longint

是、否

uname

读者名

Varchar(8)

pwd

密码

Varchar(8)

grade

班级

Varchar(20)

acadamy

学院

Varchar(50)

state

类型

学生

管理员

教师

char

(1)

表4.2图书(book)表

字段

解释

字段类型

主、外键

bid

书号

Varchar(30)

是、否

bname

书名

Varchar(50)

type

类别

Varchar(8)

auther

作者

Varchar(10)

price

价格

Decimal(3,2)

state

状态

1、不可借

0、可借

char

(1)

表4.3借阅(borrow)表

字段

解释

字段类型

主、外键

uid

借书号

longint

是、是

bid

书号

Varchar(50)

是、是

bdate

借书日

Datetime

ydate

应还日

datetime

rdate

还书日

datetime

fine

罚款

Decimal(3,1)

state

状态

1、已还

0、未还

Char

(1)

5程序流程图

5.1管理员操作流程图

首先进入登录界面,输入用户名密码,系统验证成功,进入主界面,可对图书及用户进行添加,修改,删除等操作,并进行还书处理,退出。

开始

登录

验证

图书管理

读者管理

还书处理

选择操作

退出

N

Y

 

图5.1管理员操作流程图

5.2读者操作流程图

读者进入操作界面,输入用户名密码,验证成功可进行图书查询、借阅,查看借阅信息,修改密码。

开始

登陆

验证

选择操作

查询图书

借阅图书

修改密码

退出

N

Y

图5.2用户操作流程图

6界面设计

6.1登录

用户输入用户名密码及选择用户类型后,系统进行验证,验证成功则根据用户类型进入相关页面,验证不通过则给予相应提示。

界面如图6.1,6.2所示:

图6.1登陆界面

图6.2登陆错误提示

6.2管理员界面

若用户是管理员,则进入管理员界面,包括书籍管理、还书处理和用户管理三个主菜单。

如图6.3所示:

图6.3管理员主界面

6.3增加图书

管理员在添加图书界面,输入书号,书名,作者,价格等信息后,点击确定按钮进行图书添加。

如图6.4所示:

图6.4增加图书界面

6.4更新图书

管理员对图书进行修改和删除操作,如图6.5所示:

图6.5更新图书界面

6.5还书处理

管理员录入相应的书号、借书号进行处理,系统更新图书及读者借阅信息。

如图6.6所示:

图6.6还书处理

6.6用户管理

管理员用户的信息进行添加,修改,查询。

如图6.7所示:

图6.7用户管理

6.7用户界面

若用户类型是学生和教师,则进入用户主界面,可以输入关键字查询图书,并进行借阅,还可查看自己的借阅信息。

如图6.8、6.9所示。

图6.8查阅图书界面

图6.9查看借阅信息界面

6.8修改密码

管理员和用户可以更改自己的初始密码。

如图6.10所示:

图6.10修改密码界面

7总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。

通过本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在同学和老师的帮助下得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。

通过这次课程设计,经历了遇到问题、分析问题、解决问题的反反复复,感觉自己的动手能力以及分析、解决问题的能力有了很大提升;这次课程设计包含了数据库、C#及开发工具visualstudio的使用,使得理论与实践得到了很好的结合,也为以后从事开发工作打下了一定基础。

课程最后,感老师的传道、授业、解惑,老师!

您幸苦了!

参考文献

[1]汤涛,邰晓翠.ADO.NET2.0高级程序设计[M].北京:

人民邮电出版社,2007

[2]齐立波.C#入门经典.北京:

清华大学出版社[M],2006.

[3]珊,萨师煊.数据库系统概论[M].北京:

高等教出版社,2006.

[4]蔡永鸿,文国.管理信息系统理论与实务[M].北京:

清华大学出版社,2011

 

附录

关键代码

数据库连接字符串写为静态类,使用时直接调用。

publicstaticclassConnection

{

publicstaticstringConnString

{

get{return"DataSource=.;InitialCatalog=library;IntegratedSecurity=True";}

}

}

数据库访问类DBaccess类,包括getTable(stringsql)返回datatable类型的数据集、ExecuteSql(stringsql)执行增加、修改、删除等语句返回值为布尔型、GetScalar(stringsql)返回查询的单个值。

usingSystem;

usingSystem.Data.SqlClient;

usingSystem.Data;

namespace图书管理系统

{

publicstaticclassDbAccess

{

privatestaticstringconstr=Connection.ConnString;//获得数据库连接字符串

publicstaticDataTableGetTable(stringsql)

{

using(SqlConnectioncon=newSqlConnection(constr))//using自动关闭连接,释放资源

{

try

{

SqlDataAdapteradapter=newSqlDataAdapter(sql,con);

DataSetds=newDataSet();

adapter.Fill(ds,"mytable");//填充数据集

returnds.Tables[0];//返回表

}

catch(Exceptione)

{

thrownewException(e.Message);//抛出异常

}

}

}

publicstaticBooleanExecuteSql(stringsql)

{

SqlConnectioncon=newSqlConnection(constr);

SqlCommandcmd=newSqlCommand(sql,con);//定义命令

con.Open();//打开连接

try

{

cmd.ExecuteNonQuery();//执行命令

returntrue;

}

catch(Exceptione)

{

returnfalse;

thrownewException(e.Message);//跑出异常

}

finally

{

con.Dispose();//释放资源

}

}

publicstaticintGetScaler(stringsql)

{

using(SqlConnectioncon=newSqlConnection(constr))

{

SqlCommandcmd=newSqlCommand(sql,con);

try

{

con.Open();

inti=(int)cmd.ExecuteScalar();//类型转换

returni;

}

catch(Exceptione)

{

thrownewException(e.Message);

}

finally

{

con.Dispose();

}

}

}

}

}

 

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

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1