C#课程设计图书管理系统含需求.docx

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

C#课程设计图书管理系统含需求.docx

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

C#课程设计图书管理系统含需求.docx

C#课程设计图书管理系统含需求

设计要求:

1.进行需求分析,编写数据字典。

2.设计E-R图。

3.实现新进图书的数据录入。

4.实现对所有购进图书的分类查询和分类统计。

5.能够按书名、作者等分类查询现有图书的数量。

6.记录借阅者的个人资料和所借图书的书名、书号数据等。

2程序的主要功能

2.1添加功能

添加一本图书的基本信息,包括书名、书号、名作者(译者)、出版社和图书简介。

添加图书借阅的基本信息,包括书号,借书证号,借书日期,应还书日期。

2.2删除功能

删除一本图书的基本信息,删除读者的基本信息,删除图书借阅基本信息。

2.3显示功能

显示所有图书信息,包括图书代码,图书名称,作者,出版社和简介。

显示所有借阅信息,包括读者号,图书号,借书日期,应还书日期。

2.4查找功能

图书信息查找,可以更具图书代码,图书名称,作者,出版日期和出版社进行查找。

读者信息查找,可更具读者姓名,读者编号,年龄,性别和所在系进行查找。

借阅信息查询,可更具图书编号和读者编号进行查询。

2.5修改功能

对图书和读者的信息进行修改。

3程序运行平台

VS2008(C#)

SQLServer2005

WindowsXp(sp3)

4系统总体框架图

图4.1系统总体框架图

5数据库设计说明

5.1、需求分析

1.1信息需求

在数据库Library中需要设计如下所示的数据字段和数据表:

图书信息表---dbo.libary,包括:

图书编号、图书名称、作者、出版日期、出版社和简介。

借阅登记表---dbo.jy,包括:

读者编号、图书编号、借书日期、应还书日期。

系统用户表---dbo.manage,包括:

密码、用户名。

读者表----dbo.reader,包括:

读者编号、读者姓名、性别、所在系、年龄。

1.2处理需求

此数据库系统应用于图书馆的图书基本信息管理、读者信息管理、图书借阅管理等主要功能。

具体功能如下:

1.2.1.基本信息管理

一、图书信息

图书信息管理部分:

主要包括图书信息的添加、修改、删除和查询。

此功能为图书的分类管理提供依据。

图书信息管理部分:

主要包括图书基本信息的添加、修改、删除和查询。

退出系统。

二、读者信息

读者信息管理部分:

主要包括读者信息的添加、修改、删除和查询。

此功能为读者信息管理提供依据。

读者管理部分:

主要包括读者的基本信息的添加、修改、删除和查询。

退出系统。

三、借阅信息

借阅信息管理部分:

主要包括借阅信息的添加、查询。

此功能为借阅信息管理提供依据。

读者管理部分:

主要包括读者的基本信息的添加、和查询。

退出系统。

1.2.2图书借阅管理

图书借阅管理部分:

主要包括图书借阅、和借阅查询。

1.2.3系统用户管理

用户管理部分:

只有Admin系统用户有权限进入图书管理系统并对相应信息进行管理。

5.2、数据库的概念设计

5.2.1数据库E-R模型设计

实体列表

实体

描述

读者

所有借阅者,查阅者,由读者编号标识

书籍

图书馆所有图书,由图书编号标识

借阅

图书编号、读者编号、借阅日期、应归还日期等属性,由方式标识

系统管理员

系统维护人员

(说明:

1、本系统牵涉到的内容比较少,在复杂的数据库应用系统中,可能会存在很多需要处理的对象,并且这些对象关系复杂。

2、有关数据库设计方面的内容,请参考ACCP3.0Sem2《SQLServer数据库设计和实现》有关数据库设计方面的内容。

 

5.22数据流程图

数据流程图1-1

5.2.3数据库E-R图

通过上面对系统的总体分析,可以得到大概的实体—关系模型(E-R模型),如下:

2.1.图书基本信息E-R图

图书基本信息:

{图书编号、图书名称、作者、出版日期、出版社和简介。

}

 

2.2借阅信息类型E-R图

借阅信息类型:

{读者编号、图书编号、借书日期、应还书日期}

2.3用户信息E-R图

用户信息:

{用户名,密码}

2.4读者信息E-R图

读者信息:

{读者编号、读者姓名、性别、所在系、年龄}

 

2.5图书管理系统系E-R总图

5.3、数据库物理设计

3.1创建数据库

(1)在服务器资源管理器中的任一节点右击。

(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名Library。

(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。

3.2创建数据表

创建数据库后,为Library数据库添加数据表,步骤如下。

(1)在服务器资源管理器中右击数据库Library下的“表”文件夹。

在弹出的快捷菜单中执行“新建表”命令,出现表设计器。

(2)添加表的字段和其他详细资料。

各表数据结构如下表所示。

表名

列名

数据类型

长度

主键

是否可以为空

图书信息

图书编号

nrchar

10

Yes

图书名称

nrchar

20

作者

nchar

10

出版日期

smalldatetime

出版社

nchar

20

简介

nchar

10

读者信息

读者编号

nchar

10

Yes

读者姓名

nchar

10

性别

char

1

所在系别

nchar

20

年龄

int

借阅信息

图书编号

char

10

Yes

读者编号

char

10

Yes

借阅日期

smalldatetime

应归日期

smalldatetime

管理者信息

用户名称

nchar

10

密码

nchar

10

Yes

表2.1图书管理系统各表数据结构

3.3物理文档

/*----------创建数据库----------*/

createdatabaselibary

onprimary

name=libary,

filename='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\libary.mdf',

size=100MB,

maxsize=200MB,

filegrowth=20MB

logon

name=libary,

filename='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\libary.ldf',

size=60MB,

maxsize=200MB,

filegrowth=20MB

go

 

/*----------创建基本表----------*/

use[libary]

go

/*创建图书信息表*/

CREATETABLEdbo.jy(

Lnonchar(10)Primarykey,

Lnamenchar(20)NULL,

Wrnchar(10)NULL,

LdatesmalldateNULL,

Lpreesnchar(20)NULL

Lbznchar(20)NULL

GO

/*创建读者信息表*/

CREATETABLEdbo.reader(

Rnonchar(10)Primarykey,

Rnamenchar(10)NOTNULL,

Rsexnchar

(1)NOTNULL,

Rdepnchar(20)NOTNULL

RageintNULL

GO

/*创建借阅信息表*/

CREATETABLEdbo.jy(

Rnonchar(10)Primarykey,

Lnonchar(10)Primarykey,

datasmalldateNULL,

LdatasmalldateNULL

GO

/*创建用户表*/

CREATETABLEdbo.manage(

Pwdnchar(10)Primarykey,

Idnchar(10)NULL,

GO

5.4、数据库的逻辑设计

5.4.1系统关系模型

该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构。

根据总E-R图了解有四个实体,四个关系模式如下:

图书信息表(图书编号,图书名称,作者,出版日期,出版社,简介)

读者信息表(读者编号,姓名,性别,系别,年龄)

用户表(密码,账号)

借阅信息表(图书编号,读者编号,结束日期,应还书日期)

5.4.2逻辑结构设计

主键及关系说明:

表dbo.manage中Pwd为主键

表dbo.libary中Lno为主键

表dbo.reader中Rno为主键

表dbo.jy中Lno为主键,Lno受表dbo.libary中Lno约束,Rno受表dbo.reader中Rno约束

5.4.3表设计:

数据库对应的表设计如下图(字段采用英文表示):

5.4.4、视图对象设计

5.4.4系统数据库表结构

数据库表索引

编号

表名

中文名

1

dbo.jy

借阅信息表

2

dbo.libary

图书信息表

3

dbo.manage

系统用户表

4

dbo.reader

读者信息表

5.4.5数据字典

数据库由以下四个数据表组成:

第一个是借阅信息表,命名为dbo.jy

;第二个是图书基本信息表,命名为dbo.libary;第三个是系统用户表,命名为dbo.manage;第四个是读者表,命名为dbo.reader,下面设计它们的具体字段。

 

4.1借阅登记表

表1-1为借阅登记表。

图书类型表记录了图书借阅记录,用于用于管理员进行管理。

该表主要包括了类别号和类别名称等数据。

表1-1dbo.jy——借阅登记表

编号

字段名称

数据结构

说明

1

Rno

nchar(10)

读者编号

2

Lno

nchar(10)

图书编号

3

Data

smalldate

结束日期

4

Ldata

smalldate

应还书日期

4.2图书基本信息表

表1-2为图书基本信息表。

图书基本信息表记录了图书馆藏书的基本资料,可供查询。

该表主要包括了图书编号、图书名称、作者、出版社、出版日期、简介。

表1-2dbo.libary——图书信息表

编号

字段名称

数据类型

说明

1

Lno

nchar(10)

图书编号

2

Lname

nchar(20)

图书名称

3

Wr

nchar(10)

作者

4

Ldate

smalldate

出版日期

5

Lprees

nchar(20)

出版社

6

Lbz

nchar(10)

简介

4.3用户信息表

表1-7为用户信息表。

用户信息表记录了系统用户的用户名,该表包括用户名和密码,保存用户信息。

表1-3dbo.manage——管理员信息表

字段名称

数据类型

长度

具体说明

Pwd

nchar

10

密码

Id

nchar

10

用户名

4.4读者信息表

表1-4为读者信息表。

读者信息表记录了所有读者的基本资料,包括读者编号、读者姓名、性别、所在系,年龄。

表1-4dbo.reader——读者信息表

编号

字段名称

数据类型

说明

1

Rno

nchar(10)

读者编号

2

Rname

nchar(10)

读者姓名

3

Rsex

char

(1)

性别

4

Rdep

nchar(20)

所在系

5

Rage

int

年龄

5.4.6、系统功能模块

5.4.7安全保密设计

数据库只被少数授权用户访问,必须提供用户名和正确的密码。

数据库文件加密,以防止直接打开数据库进行数据修改,只有少数人有权直接打开数据库文件进行修改信息和记录。

数据库的安全策略,遵从SQLServer2000的安全策略事项。

6模块分析

6.1系统管理模块

系统帮助:

让用户知道使用该系统的操作方法。

系统退出:

安全的退出系统,以方便再次进入,否则再次进入系统肯能会出错,

如图6.1

图6.1系统管理

代码:

namespace登陆

{

partialclassHelp

{

///

///Requireddesignervariable.

///

privateSystem.ComponentModel.IContainercomponents=null;

///

///Cleanupanyresourcesbeingused.

///

///trueifmanagedresourcesshouldbedisposed;otherwise,false.

protectedoverridevoidDispose(booldisposing)

{

if(disposing&&(components!

=null))

{

components.Dispose();

}

base.Dispose(disposing);

}

#regionWindowsFormDesignergeneratedcode

///

///RequiredmethodforDesignersupport-donotmodify

///thecontentsofthismethodwiththecodeeditor.

///

privatevoidInitializeComponent()

{

this.label1=newSystem.Windows.Forms.Label();

this.label2=newSystem.Windows.Forms.Label();

this.label3=newSystem.Windows.Forms.Label();

this.label4=newSystem.Windows.Forms.Label();

this.SuspendLayout();

//

//label1

//

this.label1.AutoSize=true;

this.label1.Font=newSystem.Drawing.Font("宋体",14.25F,System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,((byte)(134)));

this.label1.Location=newSystem.Drawing.Point(154,29);

this.label1.Name="label1";

this.label1.Size=newSystem.Drawing.Size(123,19);

this.label1.TabIndex=0;

this.label1.Text="图书管理系统";

//

//label2

//

this.label2.AutoSize=true;

this.label2.Font=newSystem.Drawing.Font("宋体",12F,System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,((byte)(134)));

this.label2.Location=newSystem.Drawing.Point(34,78);

this.label2.Name="label2";

this.label2.Size=newSystem.Drawing.Size(368,32);

this.label2.TabIndex=1;

this.label2.Text="打开SQLServer企业管理器,启动SQL相关服务,\r\n连接数据库。

\r\n";

//

//label3

//

this.label3.AutoSize=true;

this.label3.Font=newSystem.Drawing.Font("宋体",12F,System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,((byte)(134)));

this.label3.Location=newSystem.Drawing.Point(34,140);

this.label3.Name="label3";

this.label3.Size=newSystem.Drawing.Size(400,64);

this.label3.TabIndex=2;

this.label3.Text="鼠标右键点击【数据库】->【附加(A)...】,然后\r\n单击【...】按钮,选择本程序所在文件夹下的中的\r\nDataBase文件夹下的Library.mdf文"+

"件,其他采用默认设\r\n置,然后单击【确定】按钮";

//

//label4

//

this.label4.AutoSize=true;

this.label4.Font=newSystem.Drawing.Font("宋体",12F,System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,((byte)(134)));

this.label4.Location=newSystem.Drawing.Point(34,233);

this.label4.Name="label4";

this.label4.Size=newSystem.Drawing.Size(272,16);

this.label4.TabIndex=3;

this.label4.Text="如需帮助请登";

this.label4.Click+=newSystem.EventHandler(this.label4_Click);

//

//Help

//

this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,12F);

this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;

this.BackColor=System.Drawing.Color.Olive;

this.ClientSize=newSystem.Drawing.Size(472,349);

this.Controls.Add(this.label4);

this.Controls.Add(this.label3);

this.Controls.Add(this.label2);

this.Controls.Add(this.label1);

this.Name="Help";

this.Text="Help";

this.ResumeLayout(false);

this.PerformLayout();

}

#endregion

privateSystem.Windows.Forms.Labellabel1;

privateSystem.Windows.Forms.Labellabel2;

privateSystem.Windows.Forms.Labellabel3;

privateSystem.Windows.Forms.Labellabel4;

}

}

6.2图书信息模块

图书信息模块包含图书入库和图书查询两个子模块

图书入库:

添加新的图书并保存信息。

图书查询:

可按图书代码,图书名称,作者,出版日期,出版社五项进行查询,可删除一些废弃图书的信息,并将修改后的数据入库保存,如图6.2。

图6.2图书信息

代码:

namespace登陆

{

classLibraryManage

{

privateSqlConnectionsqlConnection1=null;

privateSqlCommandsqlCommand1=null;

privatestringstrSql=null;

publicLibraryManage()

{

this.sqlConnection1=newSqlConnection(dbconnection.connection);

this.sqlCommand1=newSqlCommand();

this.sqlCommand1.CommandType=CommandType.Text;

this.sqlCommand1.Connection=this.sqlConnection1;

//TODO:

在此处添加构造函数逻辑

//

}

publicvoidLibrary_add(stringLno,stringLname,stringWr,stringLpress,stringLbz)

{

DateTimeLdate=Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-ddHH:

mm:

ss"));

this.strSql="insertintoLibrary(Lno,Lname,Wr,Ldate,Lpress,Lbz)"+

"values('"+Lno+"','"+Lname+"','"+Wr+"','"+Ldate+"','"+Lpress+"','"+Lbz+"')";

this.sqlCommand1.CommandText=this.strSql;

try

{

this.sqlConnection1.Open();

this.sqlCommand1.ExecuteNonQuery();

//Lno_ad

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

当前位置:首页 > PPT模板 > 其它模板

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

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