报告正文.docx

上传人:b****1 文档编号:13477764 上传时间:2023-06-14 格式:DOCX 页数:17 大小:482.24KB
下载 相关 举报
报告正文.docx_第1页
第1页 / 共17页
报告正文.docx_第2页
第2页 / 共17页
报告正文.docx_第3页
第3页 / 共17页
报告正文.docx_第4页
第4页 / 共17页
报告正文.docx_第5页
第5页 / 共17页
报告正文.docx_第6页
第6页 / 共17页
报告正文.docx_第7页
第7页 / 共17页
报告正文.docx_第8页
第8页 / 共17页
报告正文.docx_第9页
第9页 / 共17页
报告正文.docx_第10页
第10页 / 共17页
报告正文.docx_第11页
第11页 / 共17页
报告正文.docx_第12页
第12页 / 共17页
报告正文.docx_第13页
第13页 / 共17页
报告正文.docx_第14页
第14页 / 共17页
报告正文.docx_第15页
第15页 / 共17页
报告正文.docx_第16页
第16页 / 共17页
报告正文.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

报告正文.docx

《报告正文.docx》由会员分享,可在线阅读,更多相关《报告正文.docx(17页珍藏版)》请在冰点文库上搜索。

报告正文.docx

报告正文

目录

绪论………………………………………………………………………3

第1章需求分析………………………………………………………3

§1.1系统设计目的………………………………………………………………3

§1.2数据库的任务目标…………………………………………………………3

§1.3创建SMMS数据库系统的系统说明…………………………………………4

第2章总体设计………………………………………………………6

§2.1软件结构图…………………………………………………………………6

§2.2馆长管理员界面的操作流程图……………………………………………6

§2.3安全设计……………………………………………………………………7

第3章数据库设计………………………………………………………8

§3.1概念结构的设计……………………………………………………………8

§3.2逻辑结构的设计……………………………………………………………9

§3.3物理结构的设计……………………………………………………………9

第4章详细设计及编码……………………………………………13

第5章结论…………………………………………………………15

学习体会………………………………………………………………15

致谢……………………………………………………………………16

参考文献………………………………………………………………16

 

绪论

图书馆是我们接触知识,获取信息的重要平台。

由于图书管的信息量大,有图文报刊等信息。

对于图书管的信息管理包括图书信息的管理,报刊信息的管理,以及图书附带的音像产品。

我们可以借助电子计算机的处理信息的能力来实现对图书信息的增删改查等有效信息的管理与维护。

一个基于数据库的图书管理系统可以有效的把人工繁琐的工作从中解脱出来,让机器代替人力维护。

依托现代化的计算机信息处理技术来管理图书信息,解决图书馆的图书维护面临的实际问题。

若人工的维护消耗大量的人力,物力。

通过此系统的设计可以减轻劳动强度,方便图书管理,且能够快速寻找图书的货架位置,新旧程度,和出版社,作者等的图书信息状况以及反馈管理者信息,有助于图书管理通过简单地分析对图书做出强有力的管理。

一个团队是实现的前提。

此外团队的精神是在交流中思想进行碰撞,中间遇到的问题相互讨论,虽然会产生矛盾冲突,当这样才会让我们设计更完善,集体成长。

此外要达到数据库中应用的数据量!

并发数量等的技术要求!

也对自己所学进行总结性的梳理!

当然在系统的设计过程中也遇到了一些棘手的问题:

首先是建立合理的表结构,避免数据冗余各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。

其次是建立相当的系统安全性,登录用户身份的验证机制的设计、操作页面的权限保护。

再就是建立严密的数据表操作机制。

同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,但也是必须的。

除了设计时必须有相当程度的考虑,在编制时更应加强程序逻辑的可靠性和程序调试的全面性。

系统的根本目的是方便用户,帮助其节约时间精力。

所以就要保证界面的友好、简洁、易操作性。

使用户能很快的接受并运用本系统。

第1章需求分析

§1.1系统设计目的

1)提高对图书管理的水平和管理效率,方便对与旧的书籍实现下架处理。

2)把人工繁琐的管理解脱出来,可以通过机器实现对于信息的维护与查询。

3)方便读者对于图书信息的了解与查询。

实现图书的电子化阅读。

减少纸张的浪费。

§1.2数据库的任务目标

实现对图书馆的图书信息查询及增删改操作,实现馆长对于图书管理员的管理和对图书的总体了解。

以及对于管理员,读者等信息的增加,删除,密码修改的功能实现对读者的信息查询及增删改操作

Ø实现对图书的借阅

Ø实现对图书信息的多种查询(包括按照编号,书名,作者等查询方式)

Ø实现对读者对所借阅的图书信息的查询

Ø实现馆长对图书管理员的管理和对图书的总体了解。

Ø实现前台管理员对于借书还书的管理。

Ø实现对于读者信息的维护和增加

Ø实现对于书籍的订购记录,以及对于最近的新书进行查询

Ø报告图书的新旧损毁程度

§1.3创建SMMS数据库系统的系统说明

Ø初始数据库大小

大约有50万种图书存储在图书馆中,

大约有100名管理员在图书馆中工作。

有对于图书和期刊的订购信息

条件允许可以实现对图书信息的条形码输入

Ø数据库增长速度

每天大约有100本期刊上架

每月大约有10000本期刊上架

Ø记录查找的类型和平均数量

对图书信息的查询频繁

对借书信息的查询频繁

Ø安全性

读者或管理员登陆需要账号和密码,

对于馆长,管理员和读者等用户权限不同,这些实现的各个用户的窗口实现的功能和关心的问题领域不同。

Ø用户界面

界面有良好的触发设置,方便用户的操作。

第2章总体设计

§2.1软件结构图

的按类别查询,按存储量检索等。

§2.2馆长管理管理员界面的操作流程图

馆长管理管理员分为四个部分功能:

馆长对图书查询,职工查询,绩效查询,对职工添加,对不同用户的权限管理。

下面列出两部分功能:

图2-2馆长管理员操作流程图

§2.3安全设计

1、界面视图设置:

通过为不同的用户设计不同的用户视图,和为每一个登录的用户设置密码来实现数据库的安全设计要求。

2、用户权限设置:

在主窗体中,为不同的用户设定不同的按钮,通过选择按钮进入不同的界面,进而实现不同的程序功能。

第3章数据库设计

§3.1概念结构的设计

数据库的分析很重要,需要对于你想要实现的功能有一定的认识。

要想好系统的是使用主要有哪几类客户,对于本系统图书馆的数据库,首先由图书对象为重要的实体,图书有编号,名字,作者,出版社,在库状态,价格,是否在库,日期,种类,新旧程度,借出日期,存放地址,借阅频度。

开始的设计分析部可能想想的那样完备,通过不断地反馈分析,数据库很好的设计有助于以后功能的实现和扩展。

当然对于一些期刊,报纸类的实体有它们的特有属性,比如期刊的期数,发行的日期,发行的单位等信息,对于管理者有馆长,和图书的管理员。

馆长的权限最高,对图书管理员的管理和对图书的总体了解。

图书的管理员要实现对于读者信息的管理和对于读者的借阅,归还的信息的维护。

这些表有读者表,管理员表。

此外有借书表和归还表。

对于旧的书籍又有历史记录的表,实现对于淘汰书籍的维护。

借书的表要有对于图书状态的修改,其他人不能再借出,并在借书表中加入图书借阅的记录。

可以用触发器对于完整性有良好的安全控制。

职工实体由于要对职工的姓名,职位,缺勤次数,迟到次数,工作状态,照片,打分,密码,服务次数信息查询或核对。

图书实体:

由于系统要对图书按图书名,作者名,出版时间,出版社,在馆地址查询;并在借书时要对其的在馆情况,入库情况,种类,核对;还书时要对定价查询,统计时要对借阅次数查询,借阅者实体在借还书,登陆读者界面要对读者号,名字,职位,图片,密码,信誉分核对;推荐书实体推荐报期刊实体为了给采购员提供采购计划,特让借阅者推荐图书,报期刊,由于每个人相同的书仅能推荐一次,所以实体属性为推荐者号,书名/报期刊名,作者,并且他们共同构成主键;图书借阅实体图书借阅时要参考图书表,职工表,借阅者表,还要记录借阅时间,出馆崭新度,以便还书时查询,还要设出馆评分,以便借阅者对职工评分

 

总体E-R图:

§3.2逻辑结构的设计

1.图书信息(图书编号,图书名称,作者,出版社,价格,是否在库,日期,种类,新旧程度,借出日期,存放地址,借阅频度)

2.借阅者信息(借阅者证件号,姓名,职称,借阅信誉分,密码,照片)

3.职工表(职工号,姓名,职称,未到次数,缺勤次数,评分,密码,服务次数,照片,迟到次数)

4.推荐的书表(书名,作者,推荐者证件号)

5.推荐的报期刊表(报期刊名,出版社,推荐者证件号)

6.未归还借阅记录表(职工号,借阅者号,图书编号,借书时间,出馆崭新度,入馆崭新度,还书时间,评分)

7.归还借阅记录表(职工编号,借阅者号,图书编号,借书时间,出馆崭新度,入馆崭新度,还书时间,罚款,评分)

8.报刊期刊表(名字,在馆地址,期数,出版时间,出版社)

9.借阅者职称表(职称,借阅本数,借阅文学本数)

§3.3物理结构的设计

表3-1图书信息----book

属性

字段

类型

长度

主键

外键

唯一

可为空

图书编号

booknum

int

图书名称

bookname

varChar

20

出售价格

price

numeric

5,0

作者

author

varchar

20

出版社

press

varchar

20

是否在库

isin

char

4

日期

outtime

date

新旧程度

newc

smallint

存放地址

addres

varchar

20

借阅频度

borrowtimes

int

种类

kind

varchar

6

表3-2借阅者信息----borrows

明细

列名

类型

长度

主键

外键

唯一

可为空

借阅者编号

borowernum

int

10

姓名

borowname

varchar

20

职称

position

varchar

20

借阅信誉分

prscore

int

密码

password

varchar

20

照片

picture

varchar

40

表3-3职工表信息----staff

明细

列名

类型

长度

主键

外键

唯一

可为空

职工号

staffnum

varChar

10

名字

name

Varchar

20

职称

position

varChar

10

迟到次数

latertime

int

缺勤次数

shorttimes

int

服务次数

servertimes

int

得分

score

int

照片

picture

varchar

50

密码

password

varchar

20

表3-4借阅记录信息----recommendbook

明细

列名

类型

长度

主键

外键

唯一

可为空

职工号

Staffnum

int

借阅者号

borrowsnum

int

借书时间

borrowtime

date

还书时间

returntime

date

评分

score

int

表3-5推荐书籍信息----booktuijian

明细

列名

类型

长度

主键

外键

唯一

可为空

书名

Booknum

varChar

10

作者

author

varChar

20

推荐者号

staffnum

numeric

9,2

第4章详细设计

馆长管理员界面的操作流程图如下:

图4-1馆长管理员界面的操作流程图

馆长管理员登陆后操作界面如下:

图4-2图书馆长管理员主界面

图4-3管理员绩效的查询界面

图4-4注册删除职工界面

图4-5对于不同的读者进行借书的限制操作

TADOConnection组件通过设置连接到所建立的数据库

上述界面用到了TADOQuery组件,其Connection属性设置为:

Form->ADOConnection;TDataSource组件,其DataSet属性设置为:

ADOQuery1,还有用的较多的DbGrid组件,其readonly属性设置为ture;去报数据库的信息不被非法修改。

TEdit组件,其text属性设为空;Buttion组件,其后写代码,实现相应功能。

其核心编码如下:

对于馆长对图书信息查询按照书名或作者,或编号:

DBGrid1->DataSource=DataSource1;

if(Edit1->Text==""&&Edit2->Text!

=""&&Edit3->Text!

="")

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("select*frombookwherebookname=:

booknameandauthor=:

author");

ADOQuery1->Parameters->ParamValues["bookname"]=Edit2->Text;

ADOQuery1->Parameters->ParamValues["author"]=Edit3->Text;

ADOQuery1->Open();

DBGrid1->Visible=true;

}

elseif(Edit1->Text==""&&Edit2->Text==""&&Edit3->Text!

="")

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("select*frombookwhereauthor=:

author");

ADOQuery1->Parameters->ParamValues["author"]=Edit3->Text;

ADOQuery1->Open();

DBGrid1->Visible=true;

}

elseif(Edit1->Text==""&&Edit2->Text!

=""&&Edit3->Text=="")

{

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("select*frombookwherebookname=:

bookname");

ADOQuery1->Parameters->ParamValues["bookname"]=Edit2->Text;

ADOQuery1->Open();

DBGrid1->Visible=true;

}

elseif(Edit1->Text==""&&Edit2->Text==""&&Edit3->Text=="")

{

ShowMessage("请输入数据");

}

馆长查询借阅者信息:

DBGrid2->DataSource=DataSource1;

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("select*fromreader1where借阅者号=:

zhengjian");

ADOQuery1->Parameters->ParamValues["zhengjian"]=Form1->zhengjian;

ADOQuery1->Open();

DBGrid2->Visible=true;

注册或删除职工信息:

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("insertintostaff(staffnum,name,position,latertimes,shorttimes,statu,picture,password1,score,servertimes)");

ADOQuery1->SQL->Add("values(:

staffnum,:

name,:

position,0,0,0,:

picture,:

password1,0,0)");

ADOQuery1->Parameters->ParamValues["staffnum"]=Edit19->Text;

ADOQuery1->Parameters->ParamValues["name"]=Edit23->Text;

ADOQuery1->Parameters->ParamValues["position"]=ComboBox2->Text;

ADOQuery1->Parameters->ParamValues["picture"]=anan;

ADOQuery1->Parameters->ParamValues["password1"]=Edit24->Text;

ADOQuery1->ExecSQL();

ShowMessage("成功执行");return;

添加借阅者类型:

ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("insertintoborrowerposition(position,borrownum,litenum)");

ADOQuery1->SQL->Add("values(:

position,:

borrownum,:

litenum)");

ADOQuery1->Parameters->ParamValues["position"]=Edit3->Text;

ADOQuery1->Parameters->ParamValues["borrownum"]=Edit4->Text;

ADOQuery1->Parameters->ParamValues["litenum"]=Edit4->Text/5;

ADOQuery1->ExecSQL();

ShowMessage("成功执行");

主要通过对控件sql语句的控制实现对数据库数据的操作,对数据的增删改查等信息的实现。

好多代码有相似之处。

 

第5章结论

通过此次课程设计,我们设计的图书管理系统基本满足了前面所做的需求分析。

能够对员工,图书信息的查询,增加,修改和删除,实现了图书馆管理员对于图书的方便管理。

并且我们在数据库上建立了主外键约束,触发器等,在一定程度上保证了数据库中数据的完整性和准确性。

通过考虑多方面的因素,最终保证了程序一定程度的健壮性。

学习体会

这次课程设计我懂得了团队的重要性。

不像原来的课程设计都是自己完成,这样不仅培养了我们团队协作意识,而且也让我们在讨论的过程中学到的更多。

设计过程中,C++builder是我们完全不熟悉的一个工具,网上也几乎没有什么资料,刚开始觉得无从下手,后来我们通过请教同学去借参考书,知道了一些皮毛,最后的程序实现了基本的功能,虽不是很好,但也有点收获。

以后我会进一步学习,努力将程序作业做到最好。

通过这次课程设计,我更加深入的了解到软件工程的复杂性,以及前期规划分析的重要性。

我想在以后的学习中应该多学习一些先进的思想,并多加实践,从写程序和软件架构两个方面都增强自己的能力。

致谢:

通过此学期老师的辛勤培养,我们掌握了数据库的相关知识,并能够正确的运用到实际当中,提高自身的能力。

我们之所以现在能够有这样的能力,都是因为在赵海霞赵老师的辛勤教导下实现的。

在此,我真诚的感谢赵老师,同时还有辅助教导我们的王志强和刘中华老师。

希望以后再老师的帮助下更上一层楼。

参考文献:

1、王珊《数据库系统概论》,北京:

高等教育出版社(第四版)

2、Thomas.M.Connolly《数据库设计教程》(第2版),北京:

机械工业出版社

3、郑阿奇《SQLServer教程》,北京:

清华大学出版社

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2