-
设计方案 for .net 图书管理系统
资源介绍
《.net程序设计》
大作业
学生姓名: 郝琛 学 号: 12
学 院: 电子与计算机科学技术学院
专 业: 网络工程
题 目: 图书管理系统
成 绩:
指导教师: 王素红
2010 年 11 月 22 日
1.设计目的
1.对图书资源进行分类,发布到网上,以供读者阅读。
2.为读者提供图书检索功能;
3.读者能方便地阅览电子图书;
4. 读者能方便地建立书签;
5. 读者能对书目进行评论;
6. 对读者的用户名、密码及权限进行管理。
2.设计内容
(1)系统应符合图书馆信息管理的规定,满足图书馆日常管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求;
(2)系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
(3)系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除,修改等操作。
3.需求描述
整个软件生命周期中,开发所占的费用和时间都很小。后期维护工作一般要占整个软件生命周期的80% 以上。所以系统分析很重要,一个好的系统分析可以减少很多后期维护工作。
下面以一所学校的图书馆为例子进行分析,画出图书馆的组织结构图如下:
图1.1 图书馆的组织结构图
该图书馆各个部门负责的主要业务如下:
(1)采编组主要负责图书采编工作,包括购置新书、打印编目、增加数量。
(2)目录厅主要负责读者查询工作,包括可借图书(按图书名称或关键字查询);
(3)借阅组主要负责图书流通、查询统计、借阅查询等工作。
(4)阅览室、工具书室主要负责读者阅览工作,包括:阅览各种杂志、报纸、阅览各种工具书。
下面绘制出图书馆流通业务中借书的流程图:
(1)读者在目录厅查阅索引卡;
(2)读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;
(3)图书管理员根据图书的分类号、种次号到书库找书;
(4)将图书交给读者,并由读者填写所借图书的借书卡。
(5)图书管理员把借书卡保存到写有该读者借书证号的口袋里。
得出该图书馆业务流程图如下所示:
图1.2 图书馆业务流程图
4.系统详细分析设计
数据库设计是计算机管理信息系统中很重要的部分,设计质量的好坏、数据结构的优劣将直接影响到管理系统的成败。数据库设计的基本原则是在MIS总体信息方案的指导下,各个库应当为它所支持的管理目标服务,在设计数据库系统时,应当重点考虑以下几个因素:
(1)数据库必须层次分明,布局合理。
(2)数据库必须高度结构化,保证数据的结构化、规范化和标准化。这是建立数据库和进行信息交换的基础。数据结构的设计应该遵循国家标准和行业标准,尤其是应重视编码的应用。
(3)在设计数据库时,一方面要尽可能的减少冗余度,减少存储空间的占用,降低数据的一致性问题发生的可能性;另一方面,还要考虑适当的冗余,以提高运行速度、降低开发难度。
(4)必须维护数据的正确性和一致性,在MIS中,多个用户共享数据库,由于并行开发操作,可能影响数据的一致性,因此必须用加锁等办法保证数据的一致性。
(5)设定相应的安全机制,由于数据库的信息对特定用户有特殊的保密要求,保密机制必不可少。
数据库需求分析
根据以上的需求分析和数据组织,开始设计数据结构,即根据需求勾画出实体/关系图(E/R)。在概念上,E/R图代表的是系统需要的数据及其这些数据之间的关系。如图所示的实体/关系图。
实体/关系图
从图中可以看出,在这个系统中实际存在的实体:图书和借阅人,其中借阅人和图书是多对多关系,针对本系统,通过对图书借阅管理的内容和数据流程分析,设计数据项和数据结构如下:
(1)图书基本信息,其数据项有图书编号、图书名称、作者、出版社等。
(2)借阅人基本信息,其数据项有借阅人编号、借阅人姓名、电话等。
(3)图书借阅登记,其数据项有借阅序号、借阅图书编号、借阅人编号等。
为了实现图书信息录入的方便性与规范性以及相关的统计功能,还应增加出版社信息与图书分类信息。
(4)出版社信息,其数据项有出版社编号、出版社名称、地址、电话、传真等。
(5)图书分类信息,其数据项有分类编号、分类名称、同一类型图书数目。
同时针对于本系统的多用户使用特点,增加用户信息表:
(6)管理员信息表,其数据项有用户名、密码。
为了实现图书借阅超期罚款制度,还应增设罚金规则表:
(7)罚金规则表,其数据项包括免费使用天数、罚金费率、借阅数量。
数据库逻辑结构设计
数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字段,就不应该有一个总金额字段。如果程序运行过程中需要总金额,可以实时计算。不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。这就是所谓的第四范式。数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。
另外,数据表设计时一般都应该有一些标志字段,标志字段可以定义成INT或BIT型。建议实际应用中定义成INT字段可以存储多种可能的状态,在最初设计时,可能我们没有考虑到的一些情况,在程序后来的开发中,可以通过设计标志字段为不同的 值来解决,这样就避免了修改数据库结构。
数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。
程序一旦开始编码,就应该尽量避免再修改数据库。因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。错误越改越多,越改越乱,最终导致程序的失败。
(1)规划有效的索引
a.在组合表的列中创建索引,包括主关键字和外部关键字所在的列。
b.在列或类组合中创建唯一的索引能增强唯一性。
c.浏览索引并卸载不使用的索引。索引需要一定硬盘空间和时间来维护。具有较高数据插入操作频率的数据库最好不要索引。有较高读操作频率的数据库应该有更多的索引。
d.避免在簇索引中包括不必要的列。在可能的情况下,使用较小的数据类型,例如用varchar替代char。
e.考虑使用簇索引来支持排序和范围化查询。在为数据检索优化表时,簇索引必须支持数据的分组索引。为簇关键字选择列或列组,簇关键字以经常需要的顺序排序数据或以必须被一起访问的记录而分组记录。
f.创建支持一般查询的查找参数索引。具有高选择性的列是索引的最好候选列。具有高密度的列是索引糟糕的候选列。
(2)使用约束实现数据的完整性
PRIMARY KEY约束在表中定义了主关键字,它是行唯一的标识符,它可以强制实体完整性。在使用PRIMARY KEY约束时考虑以下事实:
a. 每个表只能有一个PRIMARY KEY约束。
b. 键入的值必须是唯一的。
c. 不允许有空值。
d. PRIMARY KEY约束在指定的列创建唯一的索引,可以指定簇索引和非簇索引(如果非簇索引先前并不存在,簇索引是默认的)。
UNIQUE约束指定,在一列中的两行不能有相同的值。该约束使用唯一的索引来强制实体的完整性。在已有一个主关键字时UNIQUE约束很有用,例如雇员号,但是必须保证其他标识符(例如,雇员驾驶证号)也是唯一的。在使用UNIQUE约束时,考虑以下事实;
a. 允许有空值。
b. 在一个表中可以设置多个UNIQUE约束。
c. 可以将UNIQUE约束运用于具有唯一值的单列或多列,但不能用于表的主关键字。
d. 通过在指定的列或列组中创建唯一的索引,可以使UNIQUE索引得到强制
系统主要功能模块的创建
本系统是功能结构完整的图书管理系统,程序涉及的窗体和模块相对较多。在详细介绍各个窗体之前,首先把本系统的主要功能模块汇总如下:
(1)用户登录模块设计(index_book.aspx)
用户登录模块主要根据用户登录的信息,与数据库中信息成功匹配后,获得其相应的操作权限。用户也可以不进行登录,但只能浏览书籍的基本信息,不能进行借书等操作功能。
(2) 用户信息模块设计(Regedit.aspx)
为了减轻图书管理员的工作压力,允许读者自己填写相关信息,管理员只要在后台对相关读者信息进行审核即可。
(3) 图书详细信息模块设计(Book_Info.aspx)
读者可以查看具体书籍的信息,包括这本书是否已经借出等相关信息,登录的用户还可以对未借出的书籍进行在线借阅。
(4)图书搜索模块(Book_class.aspx)
读者可以在左边菜单栏内对图书名称或关键字进行模糊查询,根据搜索结果会显示出相关信息,单击相应的名称还可以查看具体书籍的信息
(5)图书管理员后台登录模块(Book_admin/Login.aspx)
图书管理员可以登录此后台进行相关业务的管理,包括书籍的添加,读者信息审核,读者书籍归还等操作
(6)用户类别管理(Book_admin/Mem_Class.aspx)
对用户权限的设置,可以对不同用户进行分类,可以设置不同的属性
(7)书籍类别的管理(Book_admin/Book_Class.aspx)
对不同的图书进行分类,使用户更好的查找,也便于图书的维护。
(8)出版社信息管理(Book_admin/Pub_Class.aspx)
考虑到出版社的有限,也是为了能更好的维护出版社信息,作揖作为独立一个模块进行维护,能大量减少管理员的工作。
(9)注册用户管理(Book_admin/index.aspx)
对注册读者的信息进行审核,核实读者信息的正确性,管理员可以修改注册用户的信息及审核的一些状态。(只有通过审核的读者才能借阅书籍)
(10)图书信息的管理(Book_admin/Manage_Book.aspx)
管理员可以添加,修改,删除书籍,并且可以时时进行维护
(11)图书归还管理(Book_admin/Borw_Book.aspx)
后台页面将显示用户还未归还书籍的相关信息,管理员也可以通过模糊或精确查询查询有关用户未还书的信息,可以查看具体借书的信息及超时,罚款等信息。
建立应用程序层次结构
在介绍系统中各个主要功能实现模块之前,首先把本系统的整个层次结构归纳如下(为了制图方便有些功能模块已合并,这里只是简单的对整个系统有初步印象,使用户操作起来更方便)见图4-1所示:
图4.1 系统运行层次结构图
图书基本情况的录入、修改、删除等基本操作。
办理借书卡模块。
实现借书功能。
实现还书功能。
能方便的对图书进行查询。
对超期的情况能自动给出提示信息。
具有数据备份和数据恢复功能。
4.1开发工具及系统运行环境
开发工具:
MDAC,ASP.NET,IIS 5.1,SQL Server 2000数据库,Microsoft Visual Studio 2008
运行环境:
在开始进行ASP.NET编程之前,要了解一下运行ASP.NET的环境需求。首先需要安装Web服务器IIS,如果没有安装过MDAC,还要安装MDAC,最后安装ASP.NET的运行环境.NET Framework。
IIS是ASP.NET惟一可以使用的Web服务器,所以,为了能够运行ASP.NET,就一定要安装IIS。
(1) IIS的安装
如果使用的是Windows 2000操作系统,那么安装的IIS的版本是IIS 5.0;如果使用的是Windows XP操作系统,那么安装的IIS的版本是IIS 5.1。
IIS是随操作系统一起提供的,如果已经安装过了IIS,那么就可以在控制面板的管理工具中找到它(在英文的版本中,它的名字是Internet Information Services;在中文的版本中,它的名字是Internet服务管理器)。如果没有找到IIS,那么就需要安装。
首先打开控制面板,使用它的“增加/删除程序”功能,选择“添加/删除Windows组件”功能,显示“Windows组件向导”对话框,如图B-1所示。
图B-1 “Windows组件向导”对话框
在此对话框的“组件”列表框中选中“Internet信息服务”复选框,并单击“详细信息”按钮,选择需要安装的IIS子组件,如图B-2所示。在所有选择都完成之后,单击“确定”按钮开始安装。
图B-2 “Internet信息服务”对话框
安装成功之后,只要启动Windows,IIS就会自动启动。IIS的大部分程序都安装在\winnt\system32\inetsrv中,同时创建了一个\InetPub目录用于存放Web网页文件。
(2) 使用IIS
由于IIS是在Windows启动的时候自动启动的,所以,如果没有特别设置,一旦进入Windows,IIS就是开启的状态。为了使用IIS,可以在控制面板的管理工具中找到Internet服务管理器。它的管理界面如图B-3所示。
图B-3 IIS管理界面
为了测试现在IIS是否工作,可以在浏览器中输入“http://cindyking/ localstart.asp”、“http://127.0.0.1/localstart.asp”(这里127.0.0.1是本机默认的IP地址)或者“http://localhost/ localstart.asp”等URL,如果Windows 2000附带的一个测试页localstart.asp可以成功显示,那么表示IIS安装成功。
(3)目录管理
为了能够访问到IIS管理的页面,需要把编制好的页面和程序放置在一个目录中,这个目录对于IIS来说就是主目录。主目录中存放着HTTP请求所需要的资源。所以,在使用IIS之前还要做的一件事情就是设置主目录。
用右击Internet服务器管理程序中的默认Web站点,从弹出的快捷菜单中选择“属性”命令,显示图B-4所示的对话框。在“主目录”选项卡中可以看到,IIS允许有三种信息来源:此计算机上的目录、另一计算机的共享位置和重定向到URL。选择不同的选项,就可以在下面的文本框中输入相应的信息来获取相应的主目录。
图B-4 设置主目录
2.数据库安装
本系统采用的数据库是SQL Server 2000数据库,如本地机器没有安装SQL Server 2000数据库,请先安装SQL Server 2000数据库(SQL Server 2000试用软件请到“http://www.microsoft.com./china/sql/evaluation/trial/”下载),然后将本实例中的数据库附加到企业管理器中。附加数据库的具体方法如下:
(1).单击“开始”菜单,在“所有程序”目录下选择“Microsoft SQL Server/企业管理器”选项,打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中,选择“所有任务”/“附加数据库”菜选项,如图B-5所示。
图B-5在企业管理器中附加数据库
(2).将弹出“附加数据库”对话框,如图B-6所示,单击“要附加数据库的MDF文件”文本框后的【…】按钮,弹出“浏览现有文件对话框”,在浏览现有文件对话框中选择数据库文件POS.MDF,如图B-6所示。
图B-6 附加数据库
(3).单击【确定】按钮,将弹出“附加数据库顺利完成”提示对话框,单击【确定】按钮,即可完成数据库的附加操作。
注意:登录SQL Server 2000的用户名为sa,密码为空。
由于本系统采用的是ADO连接数据库方法,而且系统中又有相应的配置服务器窗口,所以只要安装好SQL Server2000及数据库的附加(就是步骤2的配置);用户可以直接运行Manager.exe执行文件,可以操作本系统的功能。
3. 第三方控件的安装
如果用户想在本程序的基础上继续开发新的功能,需要安装第三方控件,因为在本系统中使用了大量的第三方控件,想要顺利的通过程序的编译,必需安装控件,否则将通不过编译,也无法继续完善新的功能。
本系统使用到的所有控件放在源代码同一目录下,在“bin”文件目录下面,主要包括Ajax.dll,aspnetpager.dll和FreeTextBox.dll。
打开Microsoft Visual Studio 2008开发环境,打开页面,在左边的“工具箱”中打开“Web窗体”空白处右击点“添加/移除项…”见下图B-7
4.2系统实现
可以写上程序的界面及相关程序,必须要有对界面及代码的解释内容,不能代码原样拷贝。
5.系统测试
5.1测试方法
(1)逻辑覆盖法。
(2)等价划分法。
(3)边值分析法。
(4)因过图法。
(5)错误猜测法。
(6)综合分析法。
5.2测试环境
5.3测试用例及测试结果
- 上一篇: Fiddler汉化版
- 下一篇: fiddler中文教程