图书出版发行管理系统

图书出版发行管理系统
图书出版发行管理系统

学年论文(课程设计)题目:图书出版发行管理系统

学院数学与计算机学院

学科门类工学

专业计算机科学与技术

学号

姓名

指导导师

2012年6月15日

河北大学学年论文(课程设计)任务书

(指导导师用表)

系主任签字:

主管教学院长签字:

河北大学学年论文(课程设计)成绩评定表学院:数学与计算机学院

图书出版发行管理系统

摘要

本系统是数据库原理课程设计,要求根据题目设计并完成一个图书出版发行管理系统,实现对图书信息和作者信息的管理以及读者对书可以评价等功能。本文针对课程设计题目,按照软件工程的结构化设计思想,经过需求分析、概要设计、详细设计、系统测试等几个阶段,使用E-R图、数据流图、程序流程图等实现了不同用户对于各种信息的管理。

本系统以Microsoft Visual Studio 2005为基本开发平台,配合数据库SQL Server 2005,实现了管理员用户对图书信息的管理、管理员用户对读者信息的管理、读者用户对图书信息的管理及对评价信息的管理等功能。

关键词:数据库C#信息管理图书

目录

一需求分析 (6)

1.1 用户需求 (6)

1.2 系统功能需求 (6)

1.3 系统性能需求 (6)

1.4 系统软硬件环境确定 (6)

二系统功能设计 (7)

2.1 系统功能结构 (7)

2.2 系统功能处理流程 (7)

三系统数据库设计 (12)

3.1数据库概念设计 (12)

3.2数据库逻辑设计 (13)

3.3数据库物理设计 (15)

四系统实现 (16)

4.1数据库连接的实现 (16)

4.2用户登录功能及新用户注册功能的实现 (16)

4.3管理员对于图书管理功能的实现 (22)

4.4管理员对于读者信息管理功能的实现 (26)

4.5读者对于图书信息管理功能的实现 (27)

五小结 (29)

参考文献 (30)

一需求分析

1.1 用户需求

本系统模拟出版社的图书出版发行管理内容,包括图书信息管理、作者信息管理、读者信息管理、读者对图书评价管理等功能模块,用户的主要需求如下:

(1)能分类管理图书、作者的基本信息。

(2)能进行信息的录入、查询、删除操作。

(3)具有一定的权限,分为管理员、读者两种不同用户,读者不可进行图书信息的录入和删除。

1.2 系统功能需求

系统的功能需求有:

(1)在SQL Server中,建立各关系模式对应的库表并初始化各表,确定各表的主键。

(2)能实现图书、作者、评价等基本信息的录入操作。

(3)能明细实现如下各类查询:

①能查询图书的基本信息,能按图书的书名、书号等条件进行查询。

②能查询作者的基本信息,能按作者的姓名、作者号等条件进行查询。

③能查询读者的基本信息,能按读者的读者名、读者号等条件进行查询。

(4)能实现图书、作者、评价等基本信息的删除操作。

(5)用户管理功能,包括用户登录等功能。

1.3 系统性能需求

在出版社图书的规模日益扩增、图书类别日益繁琐、出版社与发行社频繁交易、行业竞争激烈的大环境下,如果还是采用传统的管理方式,将会造成巨大的人力和物力的浪费,所以此系统要做到在性能上满足以下要求:

(1)操作简单易学,不要求过高的计算机技术技能。

(2)利用数据库保存基本信息,数据储存安全稳定,能够实现信息的添加、查询、删改等功能。

(3)具有一定的访问权限,防止信息被随意篡改。

(4)人机界面友好,功能操作便捷合理

1.4 系统软硬件环境确定

本图书出版发行管理系统在Window 7环境下开发,并保证能够在Windows XP及以上版本中兼容运行。

开发平台:Microsoft Visual Studio 2005。

开发语言:C#。

数据库平台:SQL Server 2005。

二系统功能设计

2.1 系统功能结构

图书出版发行管理系统的目的是实现图书信息的管理(图书信息的录入、查询和删除)、作者信息的管理(作者信息的录入、查询和删除)、评价信息的管理以及一些其他功能。

图书出版发行管理系统的用户包括普通用户(读者)和管理员两类,系统的结构图如

图2-1 系统结构图

2.2 系统功能处理流程

本软件的数据流图如下:

图2-2 顶层数据流图

图2-3 整体数据流图

各模块用户权限及操作如下:

(1)图书信息管理模块

①信息录入部分:用户(只有管理员拥有该权限)将图书的基本信息通过系统录入数

据库。

②信息查询部分:用户(所有成员均有此权限)根据自己所需要的条件查询对应图书

的基本信息,可分别按书名、书号等条件进行查询,并给予显示。

③信息删除部分:用户(只有管理员拥有该权限)将具备条件的图书信息从数据库中

删除。

对应流程图分别如下:

图2-4 图书信息录入流程图

图2-5 图书信息查询流程图

图2-6 图书信息删除流程图

(2)作者信息管理模块

①信息录入部分:用户(只有管理员拥有该权限)将作者的基本信息通过本模块录入

数据库。

②信息查询部分:用户(所有成员均有此权限)根据自己所需要的条件查询对应作者

的基本信息,可分别按姓名、性别、籍贯等条件进行查询,并给予显示。

③信息删除部分:用户(只有管理员拥有该权限)将具备条件的作者信息从数据库中

删除。

对应流程图与图书信息流程图类似,不再赘述。

(3)评价信息管理模块

①信息录入部分:用户(只有读者拥有该权限)将图书评价的基本信息通过本模块录

入数据库。

②信息查询部分:用户(所有成员均有此权限)根据自己所需要的条件查询对应图书

评价的基本信息,并给予显示。

③信息删除部分:用户(只有读者拥有该权限)将图书评价的基本信息通过本模块

从数据库中删除。

对应流程图与图书信息流程图类似,不再赘述。

(4)读者信息管理模块

④信息录入部分:用户(只有读者拥有该权限)将自己的基本信息通过本模块录入数

据库。

⑤信息查询部分:用户(所有成员均有此权限)根据自己所需要的条件查询对应读者

基本信息,并给予显示。

⑥信息删除部分:用户(只有管理员拥有该权限)将读者的基本信息通过本模块从

数据库中删除。

对应流程图与图书信息流程图类似,不再赘述。

三系统数据库设计

3.1数据库概念设计

为了把用户的数据清楚准确的表达出来,我们要建立一个概念性的数据模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,并脱离在软件系统中的实现方法。

数据模型中包含四种数据:数据对象、数据对象的属性以及数据对象彼此间相互连接的关系。在本系统中,数据对象及其属性如下:

①图书信息:包括图书ID、书名、作者ID、价格、图书简介。

②作者信息:包括作者ID、姓名、性别、年龄。

③评价信息:包括读者ID、图书ID、评价内容。

④读者信息:包括读者ID、读者姓名、读者密码。

⑤管理员信息:包括管理员ID、管理员密码。

数据对象的相互关系如下:

图3-1 E-R图3.2数据库逻辑设计

关系模型的逻辑结构是一组关系模式的集合。而E-R图则是由实体性、实体的属性和实体型之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体之间的联系转换为关系模式,并确定这些关系模式的属性和码。

把上述E-R图转换为关系模型,关系的主码用下横线标出。本图书出版发行管理系统的关系模型如下:

图书(图书ID,书名,作者ID,价格,图书简介)

作者(作者ID,作者姓名,性别,年龄)

评价(读者ID,图书ID,评价内容)

读者(读者ID,读者姓名,读者密码)

管理员(管理员ID,管理员密码)

本系统共涉及五个表。根据前面做出的一系列分析过程,可以确定出各数据库基表的字段构成。应用SQL Server 2005创建Book、Author、Evaluate、Reader、Administrator 五个表,字段名称、数据类型、长度、说明如下:

1.Book表:

表 3-1 Book表

2.Author表:

表 3-2 Author表

3.Evaluate表:

表 3-3 Evaluate表

4.Reader表:

表 3-4 Reader表

5.Administrator表:

表3-5 Administrator表

3.3数据库物理设计

得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及建立索引等,采用的均是系统的默认设置。结合SQL Server2005的特点,可视化的完成了基本表的建立。由于数据库并不是特别大,为保证数据查找的速度并没有建立索引和视图。

四系统实现

本图书出版发行管理系统将访问人员分为两类:读者和管理员。其中读者访问权限较低,能够查询最基本的图书信息,作者信息和评价信息;管理员得权限较高,不仅能完成包括图书信息、作者信息、评价信息等各种信息的查询功能,也能够实现对图书信息、作者信息的录入及删除功能,还有对读者信息的删除功能;另外读者有一个对图书评价的权限是管理员不具备的。

4.1数据库连接的实现

在本系统中需要多次访问数据库,并对数据进行添加、查询、删除操作,因此可以创建了一个公用的模块,在该模块中实现对数据库的所有访问。

其代码如下:

public static void Start()

{

if (conn.State == ConnectionState.Open)

conn.Close();

ConnectionString = "Integrated security=SSPI;" +

"initial catalog=book;" +

"data source=localhost;";

conn.ConnectionString = ConnectionString;

conn.Open();

}

4.2用户登录功能及新用户注册功能的实现

运行程序后,首先选择登录窗口,分为读者和管理员两项。无论是哪种用户进行选择后都要输入用户ID和密码。输入正确的用户ID和密码后可成功登录,进行后续操作,否则提示错误。不同的用户有不同的权限,权限的设置保证数据库中数据与信息的安全性,防止信息被随意篡改的情况发生。各种人员的登陆界面及重要代码如下所示:(1)系统登录界面如下:

(2)管理员用户登录窗口如下:

登录成功后界面如下:

图4-3 管理员用户操作界面图若不成功,则提示出错。

图4-4 登录失败界面图(3)读者用户登录窗口如下:

图4-5 读者用户登录界面图

登录成功后界面如下:

图4-6 读者用户操作界面图若登录失败,则如图4-4所示,提示出错。

登录模块主要代码如下:

private void button1_Click(object sender, EventArgs e)

{ if (ReaderID.Text == "")

MessageBox.Show("请输入账号");

else

{function.Start();

function.sql = "SELECT * FROM reader " + "where readerid=" + ReaderID.Text + " and readercode='" + ReaderCode.Text + "'";

SqlDataAdapter da = new SqlDataAdapter(function.sql, function.conn);

//创建数据集对象并填充数据

DataSet ds = new DataSet();

try

{da.Fill(ds);

DataTable dt = ds.Tables[0];

if (dt.Rows.Count == 0)

{ MessageBox.Show("账号或密码错误,请重新输入!");

ReaderID.Text = "";

ReaderCode.Text = "";

}

else

{Reader Form = new Reader(); Form.MdiParent =

this.MdiParent;

Form.Show();

father =

(MainForm)this.MdiParent;

onereader.ReaderId = ReaderID.Text;

this.Close();

father.button1.Visible = false;

father.button2.Visible = false; }}

catch//如果账号数据类型不对会出错!应该有try——catch来抛出错误,防止系统崩溃

{MessageBox.Show("账号应为数字!");

}

}

}

(4)管理员用户是系统规定的,不能任意添加或删除。读者用户是可以随意注册的,在读者登录界面点击“注册新用户”,进入注册界面,如下:

图4-7 读者用户注册界面图

输入账号后可以点击“账号验证”进行账号的检验,若账号已存在则不可用;若不存在,则可用,对应界面如下:

图4-8 注册账号验证失败界面图图4-9 读者注册账号验证成功界面图

账号、姓名、密码的输入后,如果各项符合条件,则注册成功,系统会给与提示:

图4-10 读者用户注册成功界面图

如果注册失败(已存在此账号或账号、姓名、密码中有未填项),系统会提示出错:

图4-11 读者用户注册失败界面图

相关文档
最新文档