基于C#和Sql Server实现的图书管理系统

xiaoya

发布日期: 2021-04-30 16:24:46 浏览量: 122
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、项目简介

当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

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

数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。

基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

二、需求分析

需求分析就是描述系统的需求,通过定义系统中的关键类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。可以将需求分析分为两个过程,一是理解需求,二是分析需求。需求分析是只收集和分析用户对系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息,一般包括实体类、联系类、数据的使用要求及冲突表等方面的内容。

下面我们从程序设计过程中分别对程序的需求分析和数据库的需求分析结合进行讨论:

  • 在进入系统之后首先是登陆界面根据用户输入的内容判断用户的合法身份

  • 进入系统主界面可以进行用户管理和图书管理

  • 进入用户管理界面可以实现用户的删除、添加以及遍历记录等功能

  • 进入图书管理界面可以实现图书的删除、添加、查询以及浏览记录等功能

本系统是用 C#语言,选用这个语言的原因有以下几点:

  • c#与C/C++具有极大的相似性,我们之前认真学习过C语言和c++语言,c#是这两个语言的高效率版本,更易于上手

  • c#语言完美支持.NET平台,可以在Microsoft .NET平台上事半功倍的构建应用程序的扩展框架(即与数据库的连接非常易于实现,对数据可以直接进行操作。)

  • 全界面人性化操作,实现代码简单易懂,适合初学者学习

2.1 类图

本系统实现的类图如图 2-1 所示。

2.2 用例分析

读者用例图

管理员用例图

操作员用例图

三、概要设计

3.1 开发工具的选取

该系统采用 visual studio2005 软件和 SQL2000 数据库作为系统设计工具,它们都有较高的开发效率。尤其是 SQL Server 具有使用方便、可伸缩性好、与相关软件集成程度高等优点。故本系统开发的过程中,选取它们作为软件的开发工具与数据库管理软件。通过 visual studio2005 的活动数据对象(ADO)与开放数据库互连(ODBC)技术将利用 c#开发的系统与 S0L 数据库连接起来。由于使用了 ODBC,只要修改数据源就可以将系统的运行平台从单机迁移到网络环境下。

3.2 设计原则

3.2.1 实用性原则

要求满足实际工作的需要,用户接口和操作界面设计尽可能做到界面美观大方,操作简便实用,能适应不同的用户,对用户的技能性要求应尽量的低,只需进行简单的操作就可完成所要的内容。

3.2.2 可扩展性原则

为适应将来的发展,系统应具有良好的可扩展性和可维护性,软件设计尽可能模块化、组件化,使系统可灵活配置,适应不同的情况,使系统能在原来的基础上进行改进与维护。

3.2.3 安全性原则

软件与数据库的设计要做到安全可靠,防止非法用户的入侵,数据库与前台能友好地链接,做到前台操作来改变后台数据库的理想效果,并且不产生数据的冲突。

3.2.4 用户界面设计原则

用户界面的设计应符合 Windows 规范的图形用户界面,做到美观大方。用户界面应当直观、明了,同时在各个界面的相应之处还有相关的信息提示从而使得用户更好地进行操作,真正地实现“傻瓜型”管理——易学、易用、易管理。

3.2.5 数据库设计原则

要求数据具有一致性、完整性、安全性的原则。通过关键字的设置来提示用户在使用时避免数据的重复及冲突等情况。

3.3 系统功能设计

本系统功能主要分为用户登录、用户管理、图书管理、用户操作四个部分。对于支持该系统的数据库,建立了 2 张表,分别是登录表和图书信息表。这对每一项功能,都有必要的驱动信息和功能上的约束。以图书管理功能为例,图书管理分为四部分:添加图书,删除图书,浏览图书,查询图书。添加图书时应该能对一些有限制的信息做好正确的检查,录入的图书信息应包括图书编号、图书名称、图书作者、图书出版厂家、图书价格、图书借阅时间、并且在信息输入时应及时对信息的合法性进行检查;删除图书可以根据输入图书的名称进行删除;查询图书主要是对具有相关特征的图书信息进行查找;浏览图书是按照管理员的要求将用户所需的数据抽取出来自动生成报表,该项功能应该能够合理的抽取所需的信息集合,全面合理提供用户所需的数据。系统功能结构图如图 3-1 所示。

3.4 数据流图

3.4.1 顶层数据流图

系统顶层数据流图如图 3-2 所示。

3.4.2 层数据流图

一层数据流图如图 3-3 所示。

3.4.3 层数据流图

二层数据流图如图 3-4 所示。

3.5 用户登录模块

在登录页面输入用户名,密码,选择用户类型,并根据相应的用户类型与数据库中相应的数据表比较,若都符合则登录成功。如果是以管理员身份登录,可以对该系统进行操作,若是以操作员身份登录,则可以查看借阅记录、添加图书分类、给读者借书等,若是以普通用户身份的登录,只能查看自己的借阅记录。

3.5.1 用户管理模块

在该模块中,主要完成添加删除系统的用户。

3.6 -R 图分析

E-R 图分析的目的是确定系统中所有实体之间的关系和实体的属性,即概念模型的分析,图书管理系统概念结构设计(E-R 模型)如图下:

3.7 图书管理模块

在成功登录系统后,通过图书管理菜单下拉菜单,有四个子模块,分别是添加图书、删除图书、浏览图书、查询图书。通过图书的相关信息,可以查询所关联的图书名称、图书作者、图书出版厂家、图书价格、图书借阅时间等。

3.7.1 用户操作模块

在成功登录系统后,用户可以根据需要修改密码,或者返回登录界面重新登录。

3.7.2 数据库设计与数据准备

在开发任何关于数据库方面的系统之前,必须要做好的一个工作是确定本系统要管理哪些数据。通过需求分析,我们已经确定了系统管理的数据包括:登录对象权限、实验室基本信息、图书信息。所以在数据库的设计上我们使用了从学校总务处导出的图书信息库作为图书信息的基本存储结构,并且参照该库表结构,设计出其他数据表的结构。这种做法既保证了上报学校数据的要求,又由于可以直接利用现有数据在保证与学校图书管理部门信息的一致性的同时避免了大量信息的录入所产生的人为错误。

数据结构(数据库中表的设计)

  • 读者(用户编号,姓名,密码,性别,单位,地址,联系电话,邮箱,格言)
  • 操作员(用户编号,姓名,密码)
  • 管理员(用户编号,姓名,密码)
  • 图书(图书编号,图书名称,图书作者,出版社,图书类别)
  • 借阅记录(编号,图书编号,用户编号,借阅时间)
  • 类别(类别名)

读者

操作员

管理员

图书

借阅记录

类别

四、系统实现

4.1 数据库实现

在用 visualstudio2005 连接该数据库时其代码如图 4-1 所示。

4.2 界面实现

本系统所有数据显示均采用 dataGridView 实现。

4.2.1 工程界面

如图 4-2 所示,该系统共有 10 个 windows 窗体以及其他必要功能模块。

4.2.2 登录界面实现

登录采取选择不同的账号类型登陆进入不同的功能主界面,首先判读是何种账号类型,然后到相应的数据表中查找账号数据,存在则头像滑动到窗体中央提示欢迎使用,准许进入,否则重新输入。若用户名和密码没填写,则会有消息框弹出提示输入完整信息。登陆界面如图 4-3 所示。

4.2.3 管理员界面实现

管理员界面包括了用户管理,操作员管理,退出系统三个模块,中间使用了一个 panel 容器,点击相应的子功能窗体则显示在该容器中。其中操作员管理包括了操作员注册,操作员查询;用户模块包括了用户注册,用户信息查询;退出则弹出是否退出系统提示框。管理员界面如图 4-4 所示。

4.2.4 查询信息实现

查询信息界面包含了从数据库中查询用户,操作员,图书三类信息,同时查询后可以直接进行删除,可以通过输入编号或者名称进行查询。如图 4-5 所示。

4.2.5 注册账户界面

注册账户界面可以通过类型选择注册管理员、操作员、读者三种类型。其中读者个人信息较多,选择管理员或者操作员类型时隐藏读者的部分信息字段,如图 4-5,4-6 所示。

4.2.6 操作员界面管理

操作员管理界面主要包含图书分类管理、图书存库、借阅记录管理、图书查询、退出等模块。如图 4-7 所示。

4.2.7 图书分类管理

操作员可以通过该界面向数据库中添加新的图书分类,如图 4-8 所示。

4.2.8 添加图书

操作员通过此界面添加新的图书到数据库中的其中图书的分类选择,是先从数据库中读出目前所有的图书分类,然后显示在 comboBox 中供选择。如图 4-9 所示。

4.2.9 添加借阅记录

操作员通过此界面向数据库中添加新的借阅记录,重置按钮可以清除已填的数据。如图 4-10 所示。

4.2.10 查看借阅记录

操作员可以查看数据库中所有的借阅记录。如图 4-11 所示。

4.2.11 读者管理界面

读者可以查看自己的借阅记录,并通过 dataGridView 显示。如图 4-12 所示。

五、总结

图书管理系统开发是对高校的管理是有着重大的实际意义,该系统采用选进开发理念,软件工程的标准化开发。

通过开本系统使我全面的掌握了 C#的基本知识,并在开发过程中我的 C#开发能力得到了进一步的提高。如:更进一步的深入 ADO 数据对象技术,SQL 语言的使用;软件工程知识也得到了提高,充分利用软件工程及数据库系统原理知识将及大为我们提高了开发及设计速度。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编码,先应有较长的时间去把分析做好,写出相关的开发文档等。然后再开始编码,这样做到每写一步代码心底有数,有条不絮。

上传的附件 cloud_download 基于C#和Sql Server实现的图书管理系统.7z ( 6.51mb, 5次下载 )
error_outline 下载需要10点积分

发送私信

嘎嘎嘎

15
文章数
16
评论数
最近文章
eject