基于ASP.NET MVC技术的图书管理系统的设计与实现
摘要:图书管理系统是一套高新科学技术和图书知识信息以及传统历史文化完美结合的体现。它改变了传统图书收藏的静态书本式图书服务特征,实现了多媒体存取、远程网络传输、智能化检索、跨库无缝链接、创造出超时空信息服务的新境界。图书管理系统既是完整的知识定位系统,又是面向未来互联网发展的信息管理模式。图书管理系统,是一套利用计算机信息网络技术,实现对引用、注释和参考图书的自动化处理和规范化管理,服务于教师,学生及各类科研人员的集成式软件工具。它融合科研图书的单机资料管理与Internet数据查寻等功能,旨在帮助收集和管理图书资料,并以规范的格式把图书的引用和注释输出到字处理软件中,为图书需求者提供满意的服务。
关键字:图书管理;计算机;网络
Abstract: The library management system is a set of high-tech science and technology and book knowledge and information as well as traditional embodiment of the perfect combination of history and culture. It has changed the traditional book-style book collection of the static characteristics of library services to achieve a multi-media access, remote network transmission, intelligent retrieval, inter-library seamless link to create a new realm of information services Macross. Library management system is not only a complete knowledge of positioning system, but also the future development of the Internet information management. Library management system is a set of computer information network technology to realize the references, notes and reference books automated processing and standardized management, serving teachers, students and researchers of various types of integrated software tools. It is a stand-alone information on integration of research and library management and Internet data search capabilities, designed to help collect and manage library materials, and to standardize the format of the reference books and notes exported to word processing software, the demand for the book to provide satisfactory service .
Keywords: library management; computers; Network
目 录
1、绪论 1
1.1 研究背景 1
1.2 研究意义 2
1.3 研究现状 3
2、系统分析 4
2.1 系统需求分析 4
2.2 可行性分析 5
2.3 本系统采用的关键技术 5
2.3.1 NET技术 5
2.3.2 ASP.NET介绍 6
2.3.3 NET的数据库访问 7
3、系统概要设计 8
4、系统详细设计 9
4.1 后台数据库设计 9
4.2 系统E-R图 12
4.3 处理流程设计 13
4.3.1 系统操作流程 13
4.3.2 数据增加流程 14
4.3.3 数据修改流程 14
4.3.4 数据删除流程 15
4.4 系统模块设计 16
4.4.1管理登陆 16
4.4.2 图书信息管理 16
4.4.3 图书信息查询 17
4.4.4 借阅管理 18
5、系统调试与测试 18
5.1 程序调试 18
5.2 程序的测试 18
5.2.1 测试的重要性及目的 18
5.2.2 测试的步骤 20
5.2.3 测试的主要内容 20
6、总结 21
6.1 系统评价 21
6.2 安全性问题 22
致谢 23
参考文献 24
1、绪论
1.1 研究背景
计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书管理受到了强烈的冲击,图书管理传统的管理和服务方式已不能适应读者对日益增长的图书信息的需求,建设图书管理系统,是现代化建设的客观要求。建设以计算机为核心的图书信息网络,实现图书管理和服务的自动化,更好地为工作服务,是图书管理发展的必由之路。
图书管理系统,担负着为人员服务的责任。它为全体人员服务,必须实现信息的共享。创建网上图书资源信息共享的最有效的一种方式。
图书管理系统提供图书阅读、图书检索的服务,在现代的进步中发挥了应有的作用。以往的图书管理一直使用的是传统的手工方式,这种方式的缺点是手续繁琐、检索困难、不便于管理,造成资源的利用率低下。随着馆藏量的不断增加,图书资料的著录和查询的难度也就相应增加,手工方式已经不能满足要求,如何运用先进的信息技术,提高图书的管理和服务水平,是我们面临的一个新的挑战。
图书管理系统是一套高新科学技术和图书知识信息以及传统历史文化完美结合的体现。它改变了传统图书收藏的静态书本式图书服务特征,实现了多媒体存取、远程网络传输、智能化检索、跨库无缝链接、创造出超时空信息服务的新境界。图书管理系统既是完整的知识定位系统,又是面向未来互联网发展的信息管理模式。图书管理系统,是一套利用计算机信息网络技术,实现对引用、注释和参考图书的自动化处理和规范化管理,服务于教师,学生及各类科研人员的集成式软件工具。它融合科研图书的单机资料管理与Internet数据查寻等功能,旨在帮助收集和管理图书资料,并以规范的格式把图书的引用和注释输出到字处理软件中,为图书需求者提供满意的服务。
传统图书库担负着信息采集、存储、传播及版权控制的重任,只是各项任务的内容、采取的手段及服务方式发生变化。建立图书管理系统的主要意义:
1.由于图书管理系统是虚拟与现实相结合,大量的数字化信息存贮在无数个磁盘存储器中,通过计算机网络联接形成的一个联机系统。因此,与传统图书馆相比,它占用的物理空间相对很小。
2.图书管理系统收藏数字形式的信息,除了纸介质的书刊资料外,还收录其它一切可以数字化的信息,如视频、音频资料、计算机程序等等,可以满足读者的多种需求。
3.图书管理建设对于我们最重要的一点是建立以中文信息为主的各种信息资源,这将迅速扭转互联网上中文信息缺乏的状况,形成中华文化在互联网上的整体优势。图书管理还是保存和延续发展民族图书遗产的最佳手段,所有的珍贵资料都可以经数字化处理后,将原件保存在更适宜的 环境中,而数字化的资料由于实现原件的复制,并不影响一般意义上的查阅。
4.利用图书管理的用户可以不同图书馆的工作人员直接见面,而只通过网络与图书馆联系,图书馆专业人员通过电子邮件及电子咨询台与用户联系。图书馆的服务质量取决于软件设计、专业人员对用户回应的速度和质量、数字化信息的制作、网络的传播速度及人性化界面的设计等;用户也可以直接通过电脑登录至网上图书的主页,随意浏览、查询、下载、打印有用的信息。
5.图书管理系统扩大了读者的范围,普通图书的管理因为读者对象与地理位置的限制只能为少数人服务,网上图书则允许人们在任何地方、任何身份进入网站自由查询。
开发图书管理系统的一个目的是针对目前普遍的中小型图书管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设计的一个具有个性化的图书管理系统。该管理系统与MIS系统相联系,在图书馆内部建成可靠,方便,并且功能齐全的MIS系统。从而在图书馆对新旧书的反应;对书籍借阅的管理能力;对读者和图书馆工作人员的管理能力;对图书馆管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。
开发图书管理系统的另一个目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。这些图书数据室由于本身规模不大因此其对书籍或数据的管理模式一般都比较旧,而且在没有能力也没有必要引进大型的图书馆管理软硬件的基础上,寻求一个针对中小型图书数据室的管理软件是必要的。
1.2 研究意义
这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现使用的功能,而这种模式也正满足了那些普通中小型数据室,图书馆的要求。只要根据需要对系统做相应的修改,系统也可用于其它中小型图书馆的图书管理。开发此软件是一种在时间上、精神上和资源上的极少消耗。所以出于多方面的考虑,我觉得有必要为这种有需要的中小型图书馆,数据室开发一种基于网络的图书数据管理软件。
1.3 研究现状
图书馆是对信息、知识的物质载体进行收集、加工、整理、积聚、存贮、选择、控制、转化和传递,提供给一定社会读者使用的信息系统。简言之,图书馆是文献信息的存贮与传递中心。在线图书馆是一个开放式的硬件和软件的集合平台, 通过对技术和产品的集成, 把当前大量的各种文献载体数字化, 组织起来,将图书馆服务在互联网上开展。
在线图书馆在我国互联网上安家已有几年的历史, 且每年都在发展, 但在信息量、访问量及知名度等方面却不尽如人意。社会信息化程度偏低、政府投资较少是阻碍图书馆网站发展的主要原因。中国内地网民人数已从1997年的62万发展到目前的2亿多, 虽然增长很快, 但不到人口总数的1/6。在这些网民中, 究竟有多少人去查询图书馆的信息, 尚不得知。
目前国内外的许多大学图书馆、公共图书馆都实现了图书馆的网络化和电子化,它们的特点主要是:服务形式多样化, 信息资源多样化。信息检索共享性, 读者参与共建。目前Web 图书馆存在的主要问题:
1.资源服务共享程度不足基本上各在线图书馆没有实现读者在互联网上续借、预约功能,也不提供电子邮件或手机短信的催还、过期通知等。虽然许多在线图书馆都设置了联机公共目录检索并相应地提供了图书预约服务,但这一服务基本属于虚设。许多在线图书馆虽然提供数据库检索,但大都设置权限,而且大多数还未能提供全文检索,远远不能满足读者的需求。
2.检索服务内容不够丰富许多在线图书馆一般仅限于书目文献的检索,不提供读者个人的流通信息检索,也没有全文检索功能及音频、视频检索功能。一般读者访问的目的是查找文献的具体内容,如果在线图书馆没有为读者提供更方便、更快捷、更丰富的服务,读者只能望洋兴叹。
3.在线图书馆只有在充分利用新技术,装备,的软件模式, 开发出适合本馆的具有交互性、专业性服务模式, 更好的为广大读者服务,能使我国在线图书馆走在世界的前列。能为读者提供省时高效、界面友好、功能齐全的网上服务,成功建设网站的目标和灵魂。
2、系统分析
2.1 系统需求分析
系统需要实现的功能如下:
(1)突出实现图书馆对外借书,还书信息处理的简易操作,提高图书馆对最平凡工作的效率;
(2)突出实现图书馆对所藏图书的多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;
(3)通过设置不同的管理员级别,从而实现其对图书馆管理的不同权限。管理员可以对借阅图书、归还图书、图书类别、图书信息、读者信息、管理员信息等进行相关的管理操作;
(4)该系统设置了普通管理员、高级管理员和系统管理员级别,用于对图书的不同级别的管理,其它未在该系统注册的人员都不能进入该系统对图书进行管理,从而保证了图书馆管理的安全性和保密性;
(5)实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货。
系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过ASP.NET网页完成。而系统内部复杂的业务逻辑主要通过C#的组件(Component)实现,C#组件在WWW服务器上运行,通过ASP.NET返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用ADO中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用ASP.NET技术作为表现手段,服务器采用IIS7作为ASP.NET引擎,系统业务逻辑由C# 组件完成,使用ADO访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用SQL Server 2000数据库作为数据库服务器。
2.2 可行性分析
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本网站用的是ASP.NET开发技术,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
本系统的开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的ASP.NET+SQLSERVER 2000体系,已无技术上的问题。
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
2.3 本系统采用的关键技术
2.3.1 NET技术
Microsoft .NET的基本思想是:
侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案[10]。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够连接成一体,从而提供丰富的服务。企业可以提供一种方式,允许用户将它们的产品和服务完美无间地嵌入到自己的电子构架中。
.NET Framework即以前所谓的NGWS (Next Generation Windows Services),它的目标是成为新一代基于Internet的分布式计算应用开发平台。.NET Framework包括了两个最基本的组成部分即一般语言运行时Runtime环境和.NET类库。
.NET Framework的组成部分
1一般语言运行时(the Common Language Runtime, CLR)
正如其名称所表明的,CLR是.NET框架的运行环境。该运行环境为基于.NET平台的应用提供一个统一的、可控的运行环境[3]。CLR运行环境在.NET平台中充当一个相当于代理人的角色,为其上一层次提供统一的底层进程和线程管理、内存管理、安全管理、代码验证和编译以及其他的系统服务。
2 .NET类库(.NET Framework Class Library)
.NET Framework提供了一个包含很多高度可重用的接口类型的类库,该类库是一个完全面向对象的类库,所以它不仅支持面向过程语言,还为面向对象语言提供了完美的支持。它既是.NET应用软件开发的基础类库,也是.NET平台本身的实现基础。
3 ASP.NET和ADO.NET
ASP.NET和ADO.NET是本文所介绍平台的主要应用技术,在下面在详细介绍。
4 Common Language Specification (CLS)
Common Language Runtime是.NET平台的运行时环境,是.NET的基础部分。由于Common Language Runtime和Common Language Specification这样的设计,使得不同的语言可以进行互操作。Common Language Specification定义了一组运行于.NET Framework的语言特性[9]。CLS和相关技术所体现的思想和当前已经实现的技术使得符合该规范的语言编写程序可以在.NET Framework上一块运行。
2.3.2 ASP.NET介绍
本系统所介绍平台的界面部分及代码的实现都是用ASP.NET开发的,因此我们下面介绍一下ASP.NET。
ASP.NET是ASP(Active Server Pages动态服务器端页面)的后继版本,是构建新一代动态网站和基于网络的分布式应用的技术。它是基于服务器端的动态页面技术,可以在服务器端根据客户端请示和提交的信息,动态地生成与客户端浏览器类型无关的通用HTML页面,也可以根据客户端浏览器类型,生成特定的数据表现形式[1]。
ASP.NET属于ActiveX技术的服务器端技术部分。与常见的在客户端实现动态主页的技术如DHTML, Java Applet, ActiveX Control等不同,其在客户端不需要编程。用ASP.NET支持的编程语言开发的可编程网页ASP.NET Web Form是由Web服务器解释执行的。执行结果产生的动态Web页面将送到浏览器;而客户端的Script命令则由浏览器来解释执行[13]。由于ASP.NET是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP.NET,同时由于它在服务器端执行,开发者也不必担心别人下载程序从而偷窃编程逻辑。
ASP.NET采用完全面向对象的编程语言(现阶段支持C#,VB,Jscript)进行开发,使用WYSIWYG(What You See Is What You Get)编辑器编辑Web Form,支持代码和页面内容的分离。程序员可以充分利用面向对象的继承、封装、可重用和事件驱动的特性进行编程,对ASP.NET Web Form进行可视化的编辑工作而不必担心编辑器自动添加或修改的代码会影响脚本程序的运行。
ASP.NET Web Forms将一个Web应用程序的用户界面分为两个部分:可视化的组件和用户界面逻辑。可视化组件部分包括各种标记和Web Forms特有的元素,这些组件构成了一个容器,用来容纳要显示的文本和控件。这个容器被称为页面,用后缀为aspx的文件名存储(也就是浏览者请求的ASP.NET页面)。用户界面逻辑包含了用于和可视化组件部分交互的代码,可以单独放在其他文件中,有利于代码的重用和维护。正是由于ASP.NET这一支持代码和页面内容分离的特性,在进行系统分析设计时才考虑将人机界面设计工具和脚本编辑与编译工具设计成一个装配件,使两部分工作更紧密的结合,更有利于界面和脚本的同步更新。
2.3.3 NET的数据库访问
ADO.NET技术是一个基于标准的面向创建分布式数据共享应用程序的编程模型,是ADO(ActiveX Data Objects)技术的延伸和发展,它带来了比ADO技术更为优越的互操作性、可维护性、可编程性和更出色的性能。
ADO.NET包含了众多的类,程序员通过使用这些类来获得数据。访问服务这些类位于.NET Class Library中,可以被任何基于.NET设计的应用程序使用,包括前端的数据库客户程序、中间层的各种应用程序、工具语言或者浏览器调用的商业逻辑对象。
ADO.NET对象模型中有五个主要的组件,分别是Connection对象、Command对象、DatasetCommand、Dataset 以及DataReader。这些组件中负责建立联机和数据操作的部分我们称为数据操作组件(Managed Providers),分别由Connection对象、Command对象、DataSetCommand对象以及DataReader对象所组成。数据操作组件最主要是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中,以及将数据存回数据源的工作。图2.1是显示这些对象关系的ADO.NET对象模型。
图2.1 ADO.NET对象模型
.Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用程序的开发。相比于ASP来说,.NET在很多方面都有很大的改进,组件的使用不象原来那样当你修改它时要重启服务器才能作用,这对一般的网站来说非常重要,再者它本身也内置了一些组件供开发者调用比如比较常用的上传组件等。和其他的开发语言相比,它还具有简单易学的优点。所以本系统采用.NET技术来开发图书管理系统。
3、系统概要设计
本在线预借图书务网站是一套基于数据库的图书发布管理系统,可用于图书产品的实时发布以及图书产品数据管理,前台用户可通过页面浏览,查询和预借图书,后台管理员可以管理图书价格,简介,图片等多类信息。该系统在功能上基本实现一个网络在线预借图书网站的应用。
本系统主要使用Visual Studio 2005进行编写,通过SQL Sever2000数据库对用户的基本信息进行存储,并采用了ADO进行数据库的访问工作。
1.具体设计方案
(1)用户注册、登陆功能;
(2)用户可以通过网页浏览,实现对图书信息的浏览;
(3)管理员可以通过简单的操作,实现对图书的借阅和偿还;
(4)后台管理模块;
(5)管理员可以对图书信息和用户信息进行管理维护。
用户通过使用该系统,对于图书的信息方便地在网上进行查阅,效率会大大提高。
2.功能要求与实现
(1) 登陆验证功能:用户通过客户端登陆系统时,对其进行资格验证。
(2) 用户实现借阅、还书功能。
(3) 实现修改注册信息。
(4) 管理员可以管理注册用户信息 以及书籍信息。
4、系统详细设计
4.1 后台数据库设计
本系统一共需要5个基本信息表,以下为所有表的数据结构:
设计表“admin”
列名 数据类型 长度 允许空
Id Int 4 否
Username Varchar 50 否
Password Varchar 50 否
Creattime Datetime 8 否
Flag Int 4 否
Isuse Int 4 否
Logintimes Int 4 否
Quanxian Varchar 1000 否
设计表“book”
列名 数据类型 长度 允许空
Id Int 4 否
Booktype Nvarchar 50 是
Name Nvarchar 50 是
Author Nvarchar 50 是
Cbs Nvarchar 50 是
Isbn Nvarchar 50 是
Price Nvarchar 50 是
Num Nvarchar 50 是
Intro Nvarchar 500 是
Addtime Nvarchar 50 是
设计表“Booktype”
列名 数据类型 长度 允许空
Id Int 4 否
Name Nvarchar 50 是
Addtime Nvarchar 50 是
设计表“jy”
列名 数据类型 长度 允许空
Id Int 4 否
Card Nvarchar 50 是
Bookid Nvarchar 50 是
Stime Datetime 8 是
Etime Datetime 8 是
Chaoqi Nvarchar 50 是
Fj Nvarchar 50 是
Flag Nvarchar 50 是
设计表“member”
列名 数据类型 长度 允许空
Id Int 4 否
Username nvarchar 50 否
Password Nvarchar 100 否
Type Nvarchar 50 否
Regtime Datetime 8 否
Ifuse Int 4 否
Logintimes Int 4 否
Lasttime Datetime 8 否
Lastip Nvarchar 50 否
4.2 系统E-R图
4.3 处理流程设计
4.3.1 系统操作流程
4.3.2 数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:
图3.2 数据增加流程图
4.3.3 数据修改流程
在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。
图3.3 数据修改流程图
4.3.4 数据删除流程
当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。
图3.4 数据删除流程图
4.4 系统模块设计
4.4.1管理登陆
当系统登陆时,首先出现的是一个用户登陆的界面,主要是维护系统的安全性和完整性。如下图所示:
4.4.2 图书信息管理
管理员可以对图书信息进行管理,包括添加、删除、修改等操作。界面如下图所示:
4.4.3 图书信息查询
该系统具有图书查询功能,界面如下图所示:
4.4.4 借阅管理
可以对借阅信息进行添加修改或删除,界面如下图所示:
5、系统调试与测试
5.1 程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
5.2 程序的测试
5.2.1 测试的重要性及目的
(1)测试的重要性
软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。
在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:
① 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;
② 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;
③ 测试工作枯燥无味,不能引起人们的兴趣;
④ 测试工作是艰苦而细致的工作;
⑤ 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。
这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。
(2)测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
① 软件测试是为了发现错误而执行程序的过程;
② 测试是为了证明程序有错,而不是证明程序无错误;
③ 一个好的测试用例是在于它能发现至今未发现的错误;
④ 一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
5.2.2 测试的步骤
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:
(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。
(2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。
5.2.3 测试的主要内容
为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。
(1)单元测试
单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。
(2)集成测试
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。
(4)系统测试
软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。
单独对系统的测试主要从以下几方面入手:
① 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
② 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。
③ 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。
经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。
6、总结
6.1 系统评价
本文通过本系统设计与开发,从而得出下列结论:
(1)学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它。
(2)一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。
(3)要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全。不过由于经验不足,我设计的图形界面比较简单。只是对基本功能进行了开发。
(4)本次开发,我参考了很多本系统的例子,吸取了一些别的本系统的长处,对自己的毕业设计进行了完善,但是还有很多的不足之处,有待以后进一步学习。
实践证明,本系统有着很好的发展前景,经测试运行。本文所制作的系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论。
由于时间仓促,本次设计由我完成本系统的制作,对我这样一个ASP.NET新手而言所制作的模块还有不完善的地方。数据库的设计也比较简单。还有很多毕业设计中用到ASP.NET语言的知识也不够全面,还有很多地方不能够作到完全的理解和掌握。通过这次毕业论文的设计制作使本人受益匪浅。首先,由于毕业设计所用的ASP.NET技术和其中用到ASP.NET语言的其他部分是在课堂上没有接触过的,要用它来做设计必须通过大量自学来掌握,在这个过程中,不仅大大提高了我的自学能力而且让我对ASP.NET的学习有了进一步的认识 。由于是独立完成在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性。
6.2 安全性问题
Web开发中安全性是必须考虑的一个很重要的方面,特别是在诸如个信息等敏感数据的模块中更是关键,所以这也是后期开发需要引起重视的。下面就这方面的技术和解决方案加以讨论。
(1) 安装防火墙:安装防火墙并且屏蔽数据库端口能有效地阻止了来自Internet 上对数据的攻击。
(2) 输入检查和输出过滤:用户在请求中嵌入恶意HTML标记来进行攻击破坏,防止出现这种问题要靠输入检查和输出过滤,而这类检查必须在服务器端进行,一旦校验代码发现有可疑的请求信息,就将这些可疑代码替换并将其过滤掉。
致谢
通过这次论文的设计和研究,我从刚开始是不知道怎么去做,我刚开始做这个题目的时候头是晕晕的慢慢的通过我问同学问老师慢慢的有了一点的思路,知道自己应该怎么去做。首先我通过在网络搜索的过程中找到了我的论文设计的基本的框架,然后在一点一点的进行摸索,再通过在网络上查阅大量的资料,进行丰富框架里边的内容,有不懂得再进行通过问同学和老师的方式进行找到解决的方案,最终我成功的完成了我的论文的设计,当我真正的完成这个论文我真正感觉到了人生中什么是成功,我只能对我的老师和同学说一句话,真的很感谢你们,我也非常感谢我的导师是他在我的背后默默的支持,再给我打进鼓励我才能把这个论文设计做了出来。从做这个论文设计的过程中我经历了很多的困难。我真正的认识的基础知识是非常的重要的,我们必须应该把自己的理论融合到实践的过程中去,这样才能使实现和理论更好的去结合,才能更好的把自己的基础知识打牢。
通过我这一次能够顺利地完成论文,我非常要感谢的一个人,是我的导师。在这个论文的设计的过程中,是他耐心的为我讲解。在我不懂的时候也是他在为我讲解。他没有任何的反感对我非常细心的给我讲解,我应该怎么去做。与此同时,我还应该感谢我们学院的各位领导,是他们在我的大学四年对我的无微不至的关怀,我才能有今天的成就。非常的感谢他们,也是,他们给了我这一次难得的机会,让我真正的踏入了社会,真正的用自己所学的理论,根据自己大学四年所学的理论知识完成了一篇具有理论意义的学术论文。在其中的过程中,我也学会了很多的事情,面对困难,我不应该退缩,应该勇往直前,因为一旦退出,就注定失败,只有坚持不懈的去努力,才能够成功。
参考文献
[1] 郑阿奇.ASP.NET程序设计教程[M].北京:机械工业出版社,2006:50-53
[2] 冯方方.ASP.NET基础教程[M].北京:清华大学出版社,2004:100-121
[3] 廖信彦 ASP.NET交互式Web数据库程序设计[M].北京:中国铁道出版社,2004:20-25
[4] 求是科技.ASP.NE信息管理系统开发[M].北京:人民邮电出版社,2006:60-126
[5] 高春艳,李艳.Visual Basic数据库开发关键技术[M].北京:人民邮电出版社,2004:10-12
[6] 战剀.网上信息发布系统开发平台的设计与实现[D].长春:吉林大学,2002.
[7] 赵杰等.SQL Server数据库管理设计与实现教程[M].北京:清华大学出版社,2004:50-98
[8] 史济民.Access应用系统开发教程[M].北京:清华大学出版社,2004:17-26
[9] Richter Jeffrey. Applied Microsoft .Net framework programming[M].Microsoft Press,2002:79-102
[10]张瑜,李杰,刘跃军.ASP.NET网络应用与开发实践教程[M].北京:清华大学出版社,2006:126-165
[11]李博,张捷.基于.NET工作流的MIS系统的设计与实现[J].安徽理工大学学报,2007,27(1):15-17
[12]胡勇辉,兰湘.ASP.NET开发实战详解:入门,模块,系统[M].北京:电子工业出版社 2006:72-98
[13]吉根林,崔海源.ASP.NET程序设计教程[M].北京:电子工业出版社,2004:16-25
[14]陈惠贞,陈俊荣.ASP.NET程序设计[M].北京:中国铁道出版社,2006:72-107
[15]尚俊杰.ASP.NET程序设计案例教程[M].北京:清华大学出版社/北京交通大学出版社,2005:70-73