图书管理系统开发 毕业论文_第1页
图书管理系统开发 毕业论文_第2页
图书管理系统开发 毕业论文_第3页
图书管理系统开发 毕业论文_第4页
图书管理系统开发 毕业论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘摘 要要 图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们 使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性 差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将 增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维 护都带来了很多困难。 经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还 停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法 将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然 被以计算机为基础的信息管理方法所取代。 图书管理作为计算

2、机应用的一个分支,有着手工管理无法比拟的优点,如检索 迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点 能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快 捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。 我所要做的是客户信息维护、综合查询模块、报表显示模块部分表的设计与开 发。 开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与 运行环境的选择如下: 开发环境:windows xp 开发工具:visual basic 6.0 数据库管理系统: sql server 2005 数据库服务器: sql server 20

3、05 桌面引擎 关键词:图书管理、信息管理、关键词:图书管理、信息管理、visualvisual basicbasic 6.06.0 、sqlsql serverserver 20052005 目目 录录 引 言.- 1 - 一 系统需求分析.- 2 - (一)任务概述.- 2 - (二)数据描述.- 2 - (三) 功能需求.- 3 - (四)性能需求.- 4 - 1、系统处理的准确性和及时性.- 4 - 二 方案论证.- 5 - (一)操作系统方案论.- 5 - 1、windows 操作系统.- 5 - 2、linux 操作系统.- 7 - (二)数据库方案论证.- 9 - 1、 orac

4、le.- 9 - 2、 mysql.- 9 - 3、 sql server.- 10 - 三 系统概要设计.- 12 - (一) 系统功能描述.- 12 - (二)功能模块划分.- 12 - 四 数据库设计.- 14 - (一)数据库需求分析.- 14 - (二)数据库概念结构设计.- 15 - (三)数据库逻辑结构设计.- 16 - 1、创建数据库.- 17 - 2、创建字/字段.- 17 - 3、创建视图.- 20 - 4、创建存储过程.- 20 - 五 连接数据库.- 22 - 六 界面设计.- 23 - (一)综合查询界面设计.- 23 - 七 模块功能设计与代码实现分析.- 24 -

5、 (一)综合查询功能设计与代码实现分析.- 24 - 八 测试分析报告.- 28 - (一)测试计划和要点.- 28 - (二)测试用例.- 28 - 1、综合查询模块模块测试用例.- 28 - 2.报表显示模块测试用例.- 29 - 结 论.- 30 - 致 谢.- 31 - 参考文献.- 32 - 引 言 信息时代的来临拓宽了大家进行自我提升的途径,同时也对大家的素质提出了 更高的要求。被称为当今社会的“天之骄子”的电脑主宰着世界的前进,而主宰电 脑的我们则更应该多思考,多研究,多学习。只读书的学习方式一去不复返,科技 的日新月异,使我们不得不学习一种新的知识-计算机技术。怪不得有人说“不

6、会 电脑的人,将是新世纪的文盲” 。足见网上学习的重要性。 随着人类社会的发展, 人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增 长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置。在 学校里书更是知识的海洋,学生不仅要学会书本上的知识,但是很多知识是书本上 没有的,这就需要学校配备书籍齐全的图书馆供学生去阅读去学习,而光是有一个 书籍齐全的图书馆,学生找起书来不仅不方便也会大大降低学习的效率,因此有一 套完善的图书管理系统就必不可少了。本文介绍了在 visual basic 环境下开发图书 管理系统的详细过程,并阐述系统结构世纪和功能设计,图书的入

7、库登记、查询浏 览、图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学 严禁的阐述。 一 系统需求分析 (一)任务概述(一)任务概述 经过对我学校详细调查,加深了对现行图书管理业务的深刻了解,与此同时, 将整个图书管理的业务流程抽象描述如下: 1.新的图书购进后,分门别类地进行归并并汇总,加以编号。 2.新书编号后,上到书架以备学生借阅。 3.如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借 阅信息与借阅日期。 4.学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期 和时间。 根据以上调查分析,可以给出其现行业务流程图如图 2.1 所示。 新

8、图书新图书新图书新图书 新图书 分分类类、编编号号学学生生借借阅阅学学生生归归 还还图图书书 归归还还后后的的图图书书 图 1.1 现行图书管理业务流程图 (二)数据描述(二)数据描述 经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻 辑模型。构造系统逻辑模型的工具是数据流图和数据字典。根据现行图书管理的业 务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系 统的基本系统模型,如图 2.2 所示。 图图书书管管 理理系系统统 图图书书管管理理员员 图图书书管管理理员员 图图书书借借阅阅信信息息图图书书归归还还信信息息 图 1.2 图书管理系统的基本系统

9、模型 根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图, 如图 2.3 所示。 管管理理 员员 学学生生信信息息 1 学学生生 管管理理 d1 学学生生信信息息 图图书书信信息息 2 图图书书 管管理理 d2图图书书信信息息登登记记图图书书信信息息登登记记 图图书书信信息息 学学生生借借阅阅 图图 书书 3 借借阅阅管管 理理 借借阅阅信信息息 借借阅阅登登记记d3 4 归归还还管管 理理 学学生生信信息息 归归还还图图书书 归归还还登登记记d4 学学生生 借借阅阅结结果果 归归还还图图书书 归归还还结结果果 图 1.3 图书管理系统数据流图 (三)(三) 功能需求功能需求 经

10、过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确 定系统设计必须达到的目标。 以下是图书管理系统必须具备的功能: 1.新进图书的登记功能:对于购进的新书,系统必须具备图书信息资料的录入 功能。 2.图书的查询修改功能:当图书资料发生变化,如图书丢失或有错误信息输入 时,则应能够及时对数据进行修改和补充。 3.借阅的登记,归还的登记功能:系统的主要功能之一,供本校学生借阅图书、 归还图书,并进行登记。 4.学生信息的增加、删除和修改功能:系统主要功能之一,建立学生信息,并 对其进行维护。 (四)性能需求(四)性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理

11、系统应该 满足以下的性能需求: 1 1、系统处理的准确性和及时性、系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要 充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满 足学校对信息处理的需求。 系统的易用性和易维护性 图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟 悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点, 就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的 使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 系统的标准性 系统在设计开发使用过

12、程中都要涉及到很多计算机硬件、软件。所有这些都要 符合主流国际、国家和行业标准。 系统的响应速度 图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反 馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证 操作人员不会因为速度问题而影响工作效率。 二 方案论证 (一)操作系统方案论(一)操作系统方案论 1 1、windowswindows 操作系统操作系统 windows 是 microsoft 公司在 1985 年 11 月发布的第一代窗口式多任务系统, 它使 pc 机开始进入了所谓的图形用户界面(gui:graphic user interface)时

13、代。 在图形用户界面中,每一种应用软件(即由 windows 支持的软件)都用一个图标 (icon)表示,用户只需把鼠标移到某图标上,连续两次按下鼠标器的拾取键即可 进入该软件,这种界面方式为用户提供了很大的方便,把计算机的使用提高到了一 个新的阶段。 windows 20000 操作系统 windows 2000 操作系统是现在比较流行的操作系统,其对硬件的要求不是很高, 并且因为其是 nt 内核,稳定性相比 windows 98 强。windows 2000,原名 windows nt 5.0。它结合了 windows 98 和 windows nt 4.0 的很多优良的功能/性能与一身,

14、 超越了 windows nt 的原来含义。windows 2000 系列分成四个产品:windows 2000 professional, windows 2000 server, windows 2000 advanced server, windows 2000 datacenter server。 windows 2000 professional 是一个商业用户的桌面操 作系统,也适合移动用户,是 windows nt workstation 4.0 的升级。windows 2000 server 和 advanced server 分别是 windows nt server 4.0

15、 及其企业版的升级产品。 windows 2000 datacenter server 是一个新的品种,主要通过 oem 的方式销售,是, 支持 32 个以上的 cpu 和 64gb 的内存,以及 4 个节点的集群服务。4 windows 2000 server 是在 windows nt server 4.0(windows nt 服务器 4.0 版)的基础上开发出来的,按照人们一贯的思维,它命名为 windows nt server 5.0 更合适。windows 2000 server 是为服务器开发的多用途操作系统,可为部门工 作小组或中小型公司用户提供文件打印、软件应用、web 功能

16、和通信等各种服务。 它是一个性能更好、工作更加稳定、更容易管理的平台。windows 2000 server 最 重要的改进是在“活动目录”目录服务技术的基础上,建立了一套全面的、分布式 的底层服务。 “活动目录”是集成在系统中的,采用了 internet 的标准技术,是一 套具有扩展性的多用途目录服务技术。它能有效地简化网络用户及资源的管理,并 使用户更容易地找到企业网为他们提供的资源。windows 2000 server 支持 2 路对 称多处理器(smp)系统,是中小型企业应用程序开发、web 服务器、工作组和分支 部门的理想操作系统。 windows xp 操作系统 windows

17、xp 是一款支持多用户的操作系统,它发行于 2001 年 10 月 25 日, windows xp 是继 windows 2000 与 windows me 之后的下一个 microsoft windows 版 本。windows 2000 的强大优势体现为基于标准的安全性、可靠性及管理功能;而 windows 98 与 windows me 的最佳特性则以即插即用功能、简易用户界面及创新支 持服务为代表。windows xp 正是集上述 windows 操作系统之大成,创造出空前优秀 的 windows 产品。windows xp 构建于获得增强的 windows 2000 代码基础之上,

18、并 针对家庭用户和商务用户需求提供了不同的产品版本:windows xp home edition 和 windows xp professional。windows xp 包括了简化了的 windows 2000 的用户安 全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。 windows xp 的最低系统要求:推荐计算机使用时钟频率为 300 mhz 或更高的 处理器;至少需要 233 mhz (单个或双处理器系统);推荐使用 intel pentium/celeron 系列、amd k6/athlon/duron 系列或兼容的处理器,推荐使用 128 mb ram 或更高

19、(最低支持 64m,可能会影响性能和某些功能),1.5 gb 可用硬盘 空间,super vga (800 x600) 或分辨率更高的视频适配器和监视器,cd-rom 或 dvd 驱动器,键盘和 microsoft 鼠标或兼容的指针设备。4 windows 2003 操作系统 相比 windows xp 的左右摇摆,windows 2003(全称 windows server 2003)才 是微软朝.net 战略进发而迈出的真正的第一步。windows 2003 起初的名称是 windows.net server 2003, 2003 年 1 月 9 日正式改名为 windows server

20、 2003, 并于今年 5 月步入大陆市场,包括 standard edition(标准版) 、enterprise edition(企业版) 、datacenter edition(数据中心版) 、web edition(网络版) 四个版本,每个版本均有 32 位和 64 位两种编码。4 它大量继承了 windows xp 的友好操作性和 windows 2000 sever 的网络特性, 是一个同时适合个人用户和服务器使用的操作系统。windows 2003 完全延续了 windows xp 安装时方便、快捷、高效的特点,几乎不需要多少人工参与就可以自动 完成硬件的检测、安装、配置等工作。

21、虽然在名称上,windows 2003 又延续了 windows 家族的习惯命名法则,但从其提供的各种内置服务以及重新设计的内核程 序来说,windows 2003 与 windows 2000/xp 有着本质的区别。windows 2003 对硬件 的最低要求不高,和 windows 2000 server 相仿,enterprise edition 版本对 cpu 频率要求 133mhz 以上,内存最小需求为 128mb。 2 2、linuxlinux 操作系统操作系统 liunx 的前身源于 unix,由芬兰的 helsinki 大学技术科学系学生 lins torvalds 开发,19

22、91 年发生了 linux0.11 版。 linux 是可运行于多种硬件平台,支持多种系统软件和应用软件,与 unix 兼 容,符合 posix 标准的功能强大的操作系统。linux 具有多用户、多任务、虚拟存 储器、虚拟文件系统等先进技术,更主要的是 linux 为源代码公开、可免费获得的 自由软件。linux 是一种类似于 unix 的操作系统,是一个完全免费的操作系统。说 它是 unix 的“克隆”并不准确,因为它的内核代码是全部从头写的,只是它符合 posix 1003.1 标准,且 unix 中所有的命令它都有,同 unix 十分相似。所以人们称 它为 unix 的“克隆”。严格地说

23、,linux 只是一个操作系统的内核,不能认为它是一 个操作系统。linux 操作系统用于有 80386 和更高级微处理器的 pc 机的 unix 系统 v3.0 版内核的一个版本。它是由 linustorvalds(并以其名字命名)和全世界许多合作 者共同开发的,尽管有些公司将它作为 linux 兼容实用程序的商业软件包的一部分, 但是它是免费发布的,它的源代码是公开的可以由任何对它进行操作的人进行修改。 linux 核心与由免费软件基金会开发的 gnu 实用程序一起工作,而 gnu 并不产生 核心。它作为一种操作系统由一些网络服务器使用,并且在 1998/1999 年间开始因 为诸如 ib

24、m 和 compaq 的支持而有显著的增长。 linux 系统有文本编辑界面和图形用户界面(gui) 。其特征包括:多用户、多任 务、多平台、可编程 shell、提供源代码、仿真终端、支持多种文件系统及强大的 网络功能等。 多用户:多个用户(六个)能同时从相同或不同的终端(终端号: tty1tty6)上用同一个应用程序的副本进行工作。在控制台,切换终端的命令是: alt+f1f6;在仿真终端窗口(ps/0n)是:shift+alt+f1f6。 多任务:可同时执行多个程序,程序之间互不妨碍。与 windows 的多任务不 同,linux 将系统没有用到的剩余物理内存全部用来做硬盘的高速缓存。笔者

25、曾经 打开三个 xterm,分别用于查找文件、调试程序、发邮件。而且还可以指定某一个 程序在后台运行,指定某一些程序在特定的时间内运行(at 命令) 。 多平台:linux 能在 x86 平台上运行,也能移植到其他平台。 可编程 shell:shell 是解释并执行命令的系统外壳程序。通过编写 shell 程序,使得系统更加个性化;而且在一些程序中具有 c 语言的功能。 提供源代码:linux 是自由软件,源代码完全公开,可以自行编译内核,修 改和扩充操作系统,进行二次开发。 网络功能:较全面的实现了 tcp/ip、slip、ppp、plip 协议,功能强大。 使用 linux 的最大缺点是没

26、有一个实体对它的发展负责。linux 的开发人员分 散在世界各地,他们可以随意发表自己的程序,没有正式的质量保证程序。除此之 外,linux 没有“最好的”浏览器、文件系统恢复时有时需要用户参与、打印配置 太复杂、需要让用户能够更容易地知道如何做自己想做的事、总有一些垃圾进程、 没有多少编辑器提供软回车(soft wrapping)、x 配置太复杂,不能实时切换 resolution 等等,而且也不容易学习。4 在整个开发的过程中,我选择了装有 iis 组件的 window xp professional 作为 服务器操作系统。window xp professional 具有的优点: 它采用

27、的是 windows 2000 的技术核心,是纯 32 位操作系统,而不像 windows 9x 是 16/32 位操 作系统,这样,windows xp 的运行会更稳定可靠。 用户操作界面焕然一新。微 软吸取了苹果机操作系统的优点,结合自己多年的开发经验以及市场的反馈信息, 对原有的操作界面进行全新的设计,不仅让使用者使用起来得心应手,而且也是界 面更华丽,色彩、菜单、图形、任务栏以及其它条目的配合都非常好。 windows xp 操作系统中有一个任务定向系统,帮助用户做他们想做的事,不再只是 单纯的帮助他们找到自己所需要的一些功能。windows xp 操作系统中有一个任务 定向系统,帮助

28、用户做他们想做的事,不再只是单纯的帮助他们找到自己所需要的 一些功能。 windows xp 操作系统的安全得到了进一步的提高。它内建了严格的安 全机制,每个用户都可以拥有高度保密的个人特别区域。 (二)数据库方案论证(二)数据库方案论证 系统开发所用的数据库,它与普通数据库管理系统没有什么两样。简单地说就 是用浏览器作为输入界面,然后输入所需的数据,浏览器将这些数据返回给网站, 网站再对这些数据进行处理,例如修改数据库中的数据,或者对数据库中的数据进 行查询,最后网站将执行的结果返回给浏览器,通过浏览器显示给用户。web 数据 库也是存放数据的系统,事实上 web 数据库所用的系统和通常我们

29、所用的数据库系 统是相同的。但是,与普通数据库系统不同的是,web 数据库是通过其他 web 应用 程序、用标准化的 html 标记开发的特殊形式的应用程序来访问的数据库。目前比较 流行的 web 数据库系统非常多,下面就针对主要的几个进行简单的分析比较。 1 1、 oracleoracle oracle 前身叫 sdl,由 larry ellison 和另两个编程人员在 1977 创办,他 们开发了自己的拳头产品,在市场上大量销售,1979 年,oracle 公司引入了第一 个商用 sql 关系数据库管理系统。oracle 公司是最早开发关系数据库的厂商之一, 其产品支持最广泛的操作系统平台

30、。目前 oracle 关系数据库产品的市场占有率名列 前茅。 2 2、 mysqlmysql mysql 是一个小型关系型数据库管理系统,开发者为瑞典 mysql ab 公司。在 2008 年 1 月 16 号被 sun 公司收购。目前 mysql 被广泛地应用在 internet 上的中小 型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点, 许多中小型网站为了降低网站 (1) mysql 的特性 使用 c 和 c+编写,并使用了多种编译器进行测试,保证源代码的可移植性 支持 aix、freebsd、hp-ux、linux、mac os、novell netware、op

31、enbsd、os/2 wrap、solaris、windows 等多种操作系统 为多种编程语言提供了 api。这些编程语言包括 c、c+、eiffel、java、perl、php、python、ruby 和 tcl 等。 支持多线程,充分利用 cpu 资源 优化的 sql 查询算法,有效地提高查询速度 提供 tcp/ip、odbc 和 jdbc 等多种数据库连接途径 提供用于管理、检查、优化数据库操作的管理工具 3 3、 sqlsql serverserver 1987 年,微软和 ibm 合作开发完成 os/2,ibm 在其销售的 os/2 extendededition 系统中绑定了 os

32、/2database manager,而微软产品线中尚缺少数 据库产品。为此,微软将目光投向 sybase,同 sybase 签订了合作协议,使用 sybase 的技术开发基于 os/2 平台的关系型数据库。1989 年,微软发布了 sql server 1.0 版。 (1)sql server 的特点 net 框架主机 使用 sql server 2005,开发人员通过使用相似的语言,例如微软的 visualc#.net 和微软的 visualbasic,将能够创立数据库对象。开发人员还将能够 建立两个新的对象用户定义的类和集合。 xml 技术 在使用本地网络和互联网的情况下,在不同应用软件

33、之间散步数据的时候,可 扩展标记语言(xml)是一个重要的标准。sql server 2005 将会自身支持存储和查 询可扩展标记语言文件。 ado.net2.0 版本 从对 sql 类的新的支持,到多活动结果集(mars) ,sql server 2005 中的 ado.net 将推动数据集的存取和操纵,实现更大的可升级性和灵活性。 增强的安全性 transact-sql 的增强性能 sql server 2005 为开发可升级的数据库应用软件,提供了新的语言功能。这 些增强的性能包括处理错误、递归查询功能、关系运算符 pivot,apply,row_number 和其他数据列排行功能,等等

34、。 sql 服务中介 sql 服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应 用框架。 通告服务 通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的 和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在 sql server 2005 中,通告服务和其他技术更加紧密地融合在了一起,这些技术包 括分析服务、sqlservermanagementstudio。 web 服务 使用 sql server 2005,开发人员将能够在数据库层开发 web 服务,将 sql server 当作一个超文本传输协议(http)侦听器,并且为网络服务中心应用

35、软件提 供一个新型的数据存取功能。 全文搜索功能的增强 sql server 2005 将支持丰富的全文应用软件。服务器的编目功能将得到增强, 对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的 管理工具将为有关全文功能的运行,提供更深入的了解。基于以上三个数据库的对 比因此选择了 sql server 2005 数据库。 三 系统概要设计 系统设计主要包括客户需求的总结、功能模块的划分和系统流程的分析。根据 客户额需求总结系统主要完成的功能,以及将来拓展需要完成的功能,然后根据设 计好的功能划分出系统的功能模块,以方便程序的管理和维护,最后设计出系统的 流程。接下来,就

36、对系统设计的前期准备做详细介绍。 ( (一一) ) 系统功能描述系统功能描述 随着网络化时代的到来,图书出租信息的网络化可以大大节约人工和时间。为 此,可以开发出图书出租管理系统,广泛地应用于学校和工业,商业,企业,事业, 行政等单位。实际上,该系统的实用性还是比较强的。 一个图书出租管理系统应该提供包括客户信息管理、图书信息管理、出版社信 息管理、用户信息管理、租还书、报表显示和综合查询等功能。 (1)客户、图书、出版社、用户信息的数据维护模块提供增加、删除、改变和 查询、浏览等基本的数据维护功能。 (2)打印报表功能模块可以用报表的形式显示数据表。 (3)综合查询模块可以通过用户选择的数据

37、表和相应的查询条件来查询相关内 容。 (4)客户租还书模块是图书出租管理系统的核心功能,实现客户和图书出租的 交互。 (二)功能模块划分(二)功能模块划分 图书出租管理系统应该具有客户信息管理、图书信息管理、租还书和综合 查询等功能。根据系统功能的需求分析,我们把该系统的功能划分为 7 个模块。 而我的任务是客户信息维护模块、综合查询模块和报表显示模块。 客户信息维护模块 图书信息维护模块 出版社信息维护模块 用户信息维护模块 客户租还书管理模块 综合查询模块 报表显示模块 图书出租管理系统的功能模块如图所示。 图 3.1 图书出租管理系统的功能模块 同理,综合查询模块、报表显示模块 也被类似

38、的分为增加、删除、修改、查询和遍历 5 个模块。 四 数据库设计 数据库结构设计的好坏直接影响的图书出租管理系统的效率和实现的效果。合 理地设计数据库结构可以提高数据存储的效率,保证数据的完整和统一。数据库设 计一般包括如下几个步骤。 数据库需求分析 数据库概念结构设计 数据库逻辑结构分析 (一)数据库需求分析(一)数据库需求分析 图书出租管理系统的数据库功能主要体现在对各种信息的提供、保存、更新和 查询操作上,包括图书信息、用户信息、客户信息、租借信息和出版社信息,各个 部分数据内容又有内在联系。针对该系统的数据特点,可以总结出如下的需求。 用户和客户具有不同的身份。 用户信息记录用户资料。

39、 客户信息记录客户的详细信息。 图书信息记录图书的名称、出版社等信息。 租借信息记录客户租借图书的信息。 出版社信息由出版社名称、出版社地址等各个信息。 经过上述系统功能分析和需求总结,设计如下的数据项和数据结构。 图书信息,包括图书编号、图书名称、作者等数据项。 租书信息,包括客户编号、图书编号、租借日期等数据项。 出版社信息,包括出版社名称、出版社地址、电话等数据项。 客户信息,包括客户编号、姓名、密码等数据项。 用户信息,包括用户编号、密码和分类数据项。 (二)数据库概念结构设计(二)数据库概念结构设计 得到上面的数据项和数据结构后,就可以设计满足需要的各种实体及相互 关系,再用实体关系

40、图,为后面的逻辑结构设计打下基础。 在这个系统中,所存在的实体有:图书信息实体、租书信息实体、出版社信息 实体、客户信息实体和用户信息实体,他们之间的关系如图所示。 图 4.1 图书信息实体 图 4.2 客户信息实体 图 4.3 租书信息实体 图 4.4 出版社信息实 (三)数据库逻辑结构设计(三)数据库逻辑结构设计 有了数据库概念结构设计,数据库的设计就简单多了。在图书出租管理系统中, 首先要创建图书出租管理系统数据库,然后在数据库中创建需要的表和字段。如果 有需要,还可以设计视图、存储过程和触发器。下面分别讲述在图书出租管理系统 中数据库的设计。 1 1、创建数据库、创建数据库 在开发环境

41、中,启动“服务器资源管理器”窗口,在 sql server 服务器节点右 击,在图案出的快捷菜单中选择“新建数据库”命令,将打开“创建数据库”对话 框。在“心数据库名”文本框中输入 bookmanagement,选择“使用 windows 身份 验证”单选按钮。 2 2、创建字、创建字/ /字段字段 在这个数据库管理系统中要建立 5 张数据表,分别是用户表、图书表、客户表、 租借信息表和出版社表。下面说明创建表和字段的方法。在刚刚建立的 bookmanagement 数据库节点下的“表”节点右击,在弹出的快捷菜单中选择“新 建表”命令。在弹出的“新建表”窗体中输入如图所示的字段和属性。 boo

42、k 表 图 4.5 borrowbook 表 图 4.6 manageruser 表 图 4.7 publishconpany 表 图 4.8 reader 表 图 4.9 user 表 图 4.10 图书表的字段说明,其中设置 bookid 为主键和索引。 图书表(book) 租借信息表(borrowbook) 出版社表(publishcompany) 客户表(reader) 用户表(user) 在建立完所有的数据表后,要根据数据表之间的关系在属性页中添加关系。 为 book 表和 borrowbook 表之间添加 fk_borrowbook_book 关系,为 book 表 book 表和

43、 pulishcompany 之间添加 fk_book_publishcompany 关系,为 reader 表和 borrowbook 表之间添加 fk_borrowbook_reader 关系。 3 3、创建视图、创建视图 在图书出租管理系统中,为便于浏览目前客户借图书的信息,要创建一个 borrow 视图来显示租借记录中客户和所租借图书的一些详细信息以便以后综合 浏览。在 bookmanagement 数据库下面的“视图”节点右键,在弹出的快捷惨 淡中选择“新建视图”命令,在弹出的对话框中选择 book 表、borrowbook 表 和 reader 表,及其各自想要显示的字段。 bor

44、row 视图的 sql 语法如下: select dbo.borrowbook.readerid,dbo.borrowbookid,dbo.borrowbook.returndate, dbo.borrowbook.borrowdate,dbo.reader.readerid as expr 1, dbo.reader.readername,dbo.reader.readerphoneno,dbo.book.bookid as expr2, dbo.book.bookname,dbo.book.bookremain from dbo.book inner join dbo.borrowbook

45、 on dbo.book. bookid=dbo.borrowbook.bookid inner join dbo.reader on dbo.borrowbook.readerid=dbo.reader.readerid 4 4、创建存储过程、创建存储过程 为保证系统具有良好的课扩展性,有些业务规则可以以储存过程方式放在 数据库服务器上。储存过程提供了数据驱动应用程序中的许多优点。利用存储 过程可以,将数据库操作层状在单个命令中,为获取最佳性能二进行优化并通 过附加的安全性而增强系统安全性。 在图书出租管理系统中,创建实现在客户租还书时对客户表中的客户所借书目 和图书表中图书库存量的改变的存

46、储过程和客户借书之前查询客户租借图书数 目和图书库存量和存储过程。在开发环境中创建存储过程可以通过在“服务器 资源管理器”窗口中的“存储过程”节点右击,在弹出的对话框中选择“新建 存储过程”命令。可存储过程编写窗口中写入代码。 在图书出租管理系统中,需要创建 6 个存储过程。下面介绍各个存储过程和功 能。客户安装配套光盘上的数据库之后可以通过 sql sever2005 的企业管理器 查看这些存储过程的代码。 (1)readerborrowednumber 存储过程 该存储过程负责客户已经租借的图书书目。其目的是为了在客户租借图书之 前判断此客户是否达到借书书目的上限。 (2)booknumb

47、er 存储过程 此存储过程的功能是根据输入的图书编号得到该图书现在的存储数量。 (3)borrowreader 存储过程 当客户租借某种图书后,该存储过程向客户表的客户目前所借图书一项添加 1。 (4)returnbook 存储过程 当客户归还所借的图书时,该存储过程在图书表中相应的数据库现存量中减 去 1。 (5)returnreader 存储过程 当客户归还所借图书是,该存储过程在客户表中把客户所借图书数量减 1 (6)returnbook 当客户归还所借的图书时,该存储过程在图书表中相应的图书现存量中增加 1。 五 连接数据库 图书出租管理系统使用 vc#+sql server 来进行开

48、发。为了使系统正常工作,需 要建立与数据库系统的连接来读取和写入数据。 一般来讲,可以有两种方式连接数据库。一种是在窗体中直接添加 sqlconnection 并通过直接设置其 connectionstring 属性来连接数据库;另一种创 建一个连接类 login,其代码如程序清单所示。 public class login public static string connection get returndata source=(local);initial catalog=bookmanagement; integrated security=sspi 该代码将返回数据库连接命令,然后可

49、在程序中利用此连接命令生成数据库连 接。本章应用的是第一种方法,因为比较直观、易操作。而第二种方法更加底层, 所以可以更加详细地控制数据库连接。 六 界面设计 从系统功能模块分析中可知,图书出租管理系统的界面应该分为以下几大部分。 综合查询模块 报表显示模块 这里主要介绍综合查询模块: (一)综合查询界面设计(一)综合查询界面设计 在综合查询界面,用户通过选择想要查询的数据表和相应的字段以及运算符, 并输入指定值,便可以浏览到返回的数据。界面设计如图所示。 图 6.1 综合查询界面 在综合查询查询界面中,用户可在“选择数据表”列表框中选择数据表,在 “选择查询项”列表框中选择查询项,在“选择查

50、询条件”列表框中选择操作符并 在“输入指定值”文本框中输入指定值。从而,根据用户的输入值在后台形成相应 的 sql 语句。 七 模块功能设计与代码实现分析 图书出租管理系统的模块功能分析主要分为一下综合查询功能设计 (一)(一)综合查询功能设计与代码实现分析综合查询功能设计与代码实现分析 在综合查询模块中,当在数据表的下拉列表中选择了某个数据表时,在字段列 表中会把此表的所有字段显示出来。当在操作符表中选选择某个操作符,并在指定 值文本框中输入指定数值时,单击“查询”按钮将执行相应的查询命令。 在动手开始写代码之前,已经做好数据连接工作,向窗体中添加 sqlconnection1数据库链接组件

51、,并设置connectionstring属性来链接数据库。添 加数据适配器组件 sqldataadapterreader,sqldateadapterbook,sqldateadapterpublish和 sqldateadapterborrow,并使用数据适配器配置向导对它们进行配置,分别来对应 数据表reader,book,publishcompany和视图borrow。选择刚创建的链接,并生成 数据集datasetbookquery的实例objdatasetquery。双击打开datasetquery.xsd文件, 如图所示。可以看到设计完毕的数据集内容。 当变换数据列表表框combod

52、atatable中的数据表选项时,数据表字段combodata item被填充上对应表的所有字段,其代码实现参见程序清单 private void combodatatable_selectedindexchanged(object sender, system.eventargs e) string strtable=bodatatable.selecteditem.tostring(); if(strtable=) return; bodataitem.text=; bocondition.text=; this.textvalue.clear(); string myselectquer

53、y=select * from +strtable; sqlcommand mycommand=new sqlcommand(myselectquery,this.sqlconnection1); if(this.sqlconnection1.state=connectionstate.closed) this.sqlconnection1.open(); bodataitem.items.clear(); sqldatareader myreader=mycommand.executereader(); for(int i=0;imyreader.fieldcount;i+) bodatai

54、tem.items.add(myreader.getname(i).tostring(); myreader.close(); this.sqlconnection1.close(); 上述代码显示创建sqlcommand的实例来执行查询命令,并通过datareader来顺 序读取数据表中的记录,通过getname方法把数据表字段添加到combodataitem中。 当单击“取消”按钮时,会把所有的列表框和文字框清空,其实现代码参见程 序清单 private void btnclear_click(object sender, system.eventargs e) bodatatable.t

55、ext=; bodataitem.text=; bocondition.text=; this.textvalue.text=; 当单击“查询”按钮时,看是按照输入的查询条件和制定值开始查询,生成查 询语句后,调用一个自定义函数,由此函数来进行数据加载。loaddataset()函数与 数据维护模块中的loaddataset()函数相同,都是对数据集进行填充,但不同的是在 填充过程中式个刚刚创建的4个sqldataadapter来进行填充。具体程序代码见程序清 单 private void btnquery_click(object sender, system.eventargs e) st

56、ring convalue = this.textvalue.text;/指定的条件值 sqlstring=select * from +bodatatable.text; if (bocondition.text = like) if (bodataitem.text != ) switch(bodatatable.selectedindex) case 0: this.sqlselectcommand1.commandtext=sqlstring; break; case 1: this.sqlselectcommand2.commandtext=sqlstring; break; cas

57、e 2: this.sqlselectcommand3.commandtext=sqlstring; break; case 3: this.sqlselectcommand4.commandtext=sqlstring; break; try this.loaddataset(); this.datagrid1.datasource=this.objdatasetquery; this.datagrid1.datamember=bodatatable.text.trim(); catch(system.exception e) this.errorhandle(e); 从上述代码可见,先是根

58、据用户在数据表列表框、数据表字段列表框、操作符 列表框中选择项和用户指定值文本框中输入的内容来形成sql查询语句,再根据用户 在数据表列表框中不同的选择把此sql查询语句赋值给 sqldateadapater,sqldateadapterbook,sqldateadaapterpublish和 sqldateadapterborrow的查询指令sqlselectcommand1,sqlselectcommand2, sqlselectcommand3,sqlselectcommand4.这就实现了对数据集objdatesetquery的不 同表的查询工作。 八 测试分析报告 (一)测试计划和要

59、点(一)测试计划和要点 软件测试的本质是针对要测试的内容确定一组测试用例。在讨论之前,我先 把要测试各个模块的计划和要点列出: 1.客户信息模块测试要点 能够正常添加、删除客户信息 2.综合查询模块测试要点 能够正常查询、重置和退出该模块 3.报表显示模块 能够正常查询、删除报表信息 (二)测试用例(二)测试用例 1 1、综合查询模块模块测试用例、综合查询模块模块测试用例 字段名 称 描 述 标识符 c1 测试项综合查询模块的功能测试 输入标 准 1.打开综合查询模块,按相应条件,点击相应的项目。 2.输入一些正确的选贼数据表,选择查询项,填写数据条件和指定 数值点击“查询” 。 3. 输入一

60、些正确的选贼数据表,选择查询项,填写数据条件和指 定数值点击“重置” 。 输出标 准 1.模块未做任何操作,单击 “退出”命令,能正常退出,无提示 信息。 2.在打开综合查询模块,做相关的“查询” “重置”操作,未保存, 单击 “退出”命令,提示“修改信息未保存,保存修改吗?”单击 “yes” ,保存修改,正常退出,单击“no”,不保存修改,并退出。 表 8.1 综合查询模块测试用例 2.2.报表显示模块测试用例报表显示模块测试用例 字段名 称 描 述 标识符 c2 测试项报表显示模块的功能测试 输入标 准 1.打开报表显示模块,没有任何输入字符,点击相应的项目。 2.输入一些正确的相应信息,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论