C# 图书管理系统含 源代码+数据库

1.系统分析

1.1基本需求功能点分析

图书借阅管理系统,主要目标是简化现有的人工管理,通过科学的计算机管理图书借阅管理,提高工作效率,实现日常管理信息化,无纸化。

1)系统用户主要分为两大类:a.管理员用户类(相当于一名有各种操作权限的超级用户) b.普通用户类。系统根据登录页面不同的身份选择登录进入不同页面进行后续操作。

2)管理员用户的主要功能:a.管理功能:用户管理、图书管理(图书类别管理、图书信息管理)、读者管理(读者类别管理、读者信息管理)、借阅记录管理、系统管理(注销、退出);b.统计功能:最热图书类别统计、最热图书统计、活跃读者统计、失信读者统计。

3)普通用户的主要功能:a.管理功能:图书借阅管理(借阅图书、归还图书)、密码修改、系统管理(注销、退出);b.查询功能:查询读者借阅情况、查询图书借阅情况。

4)系统性能:与实际图书馆管理工作需要相适应,信息更新及时,数据查询高效准确,提高工作人员的管理效率。

5)系统输入:用户名,用户密码,图书的各种信息,读者的各种信息等。

1.2系统运行条件分析

此软件系统需要至少一台计算机为服务器,并要求该计算机装有Microsoft Visual StudioSQL Server详细系统要求如下:

·Windows XPWindows 7 及以上系统

·Microsoft Visual Studio 2005及以上

·SQL Server 2008 或更高版本数据库服务器。

2.系统设计

2.1系统功能模块设计

本系统的设计包含系统功能模块设计与数据库设计两方面,本文将对系统整体模块设计和数据库设计进行性介绍,具体功能模块将介绍管理员操作主界面、图书借阅功能、图书归还功能以及借阅记录删除功能。下面给出本系统的整体模块图:

2.2管理员功能模块

该模块具体功能是对普通用户、图书信息、读者信息及图书借阅情况等信息进行查询管理,主要包括系统管理、用户管理、图书管理、读者管理、数据统计及数据管理等功能。

1.用户管理模块:此模块下,管理员用户主要对普通用户进行添加、删除以及对普通用户进行重置密码。

2.图书管理模块:此模块包含图书类别管理和图书信息管理两个子模块。图书类别管理包含添加图书类别、修改图书类别和查询图书类别;图书信息管理包含添加图书信息、修改图书信息、查询图书信息及报废图书处理。

3.读者管理模块:此模块包含读者类别管理和读者信息管理两个子模块。读者类别管理包含添加读者类别和查改读者类别;读者信息管理包含添加读者信息、查看读者信息、查改读者信息、删除读者信息。

4.数据统计模块:此模块主要是对读者在一段时间内的借阅情况进行统计,具体包含最热图书类别统计、最热图书统计、活跃读者统计、失信读者统计。

数据管理模块:此模块为管理员对一段时间的读者借阅情况(已还书)进行删除。

系统管理:此模块包含注销和退出。

管理员模块的整体设计图如下:

2.3普通用户功能模块

该模块具体功能是对读者图书借阅、图书借阅情况、个人密码等信息进行查询管理,主要包括系统管理、图书借阅、借阅情况查询及密码修改等功能。

1.图书借阅模块:此模块包含图书借阅和归还图书两个功能。

2.借阅情况查询模块:此模块包含读者借阅情况查询和图书借阅情况查询两个功能。

3.密码修改模块:此模块一般用来修改用户修改普通用户密码。

4.系统管理:此模块包含注销和退出。

普通用户模块的整体设计图如下:

3.数据库设计

根据需求分析,一个基本的图书借阅管理系统数据库大致包括6个表:用户信息表(Manager)、图书类别表(BookCategory)、图书信息表(BookList)、读者类别表(ReaderCategory)、读者信息表(Reader)、借阅信息表(BookLendList)。分别存放相应子功能模块的数据信息,各表之间相互关联,数据统一操作。下面给出本系统数据库设计的E-R图:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
create database Library
go
use Library

--管理员表
create table Manager
(
    managerid char(20) primary key,--账号
    managerPassword char(12) not null,--密码
    mIdentity bit not null default 1,--身份(管理员-1、工作人员-0)
)

--图书类别表
create table BookCategory
(
    bCategoryid int primary key,--图书类别编号
    bCategoryname nchar(16) not null,--图书类别名称
)

--图书信息表
create table BookList
(
    ISBN char(25) primary key,--ISBN
    BookName nchar(30) not null, --书名
    bCategoryid int not null foreign key references BookCategory,--图书类别编号
    author nchar(20) not null, --第一作者
    publisher nchar(30) not null,--第一出版社
    publishTime int not null, --出版年份
    bookstate bit not null default 1, --状态(正常-1,报废-0)
    num int not null, --库存数目
    lendnum int not null, --借出数目
    price float not null --单价
)

--读者类别
create table ReaderCategory
(
    Rcategoryid int not null primary key, --读者类别编号
    Rcategoryname nchar(10) not null, --读者类别名称
    Rbnum int not null, --可借书数目
    Rday int not null --可借书天数
)

--读者信息表
create table Reader
(
    Rid char(19) primary key, --身份证号
    Ranme nchar(10) not null, --姓名
    Rcategoryid int not null foreign key references ReaderCategory, --类别(学生,教师等)
    Phone char(11), --电话
    RbLnum int not null, --已借书数目
)

--借书记录明细
create table BookLendList
(
    Rid char(19) not null foreign key references Reader, --读者身份证号
    ISBN char(25) not null foreign key references BookList,--ISBN
    LendTime datetime not null Default getdate(), --借书时间
    BackTime datetime not null Default getdate(), --还书时间
    money float not null, --超期扣款
    isback bit not null, --是否已还书
    renew bit not null--是否续借
)

4.页面展示

项目源代码及数据库代码,见云盘链接:

链接:https://pan.baidu.com/s/14L5kVWbZvhse-uLkuQoSGg
提取码:85uv