数据库设计毕业论文.doc 63页

  • 717.90 KB
  • 2022-04-22 11:22:25 发布

数据库设计毕业论文.doc

  • 63页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'数据库毕业论文 目录摘要1Abstract.11引言21.1图书管理的现状21.2现有图书管理系统的概述31.3选题的目的、意义31.4图书管理系统的可行性分析41.5系统开发运行环境42图书管理系统开发相关技术的介绍52.1Asp.net的介绍52.1.1Asp.net的优势介绍52.1.2Asp.net的特点52.2SQLServer2005概述62.3Web技术72.3.1浏览器/服务器(Browser/Server)结构72.3.2IIS服务器技术73系统总体设计分析83.1系统需求分析83.2系统实现的目标83.3系统功能模块设计83.4系统功能结构图93.5系统流程图114数据总体结构设计124.1数据库概念结构设计124.2数据库逻辑结构设计134.3图书管理系统的系统E-R图15 4.4数据表设计165图书管理系统详细设计185.1系统流程分析185.2主要模块的运行195.2.1登陆界面195.2.2图书信息管理模块195.2.3图书借还信息模块215.3系统开发的遇到的相关问题及解决215.3.1图书管理系统索引215.3.2如何验证输入的字符串225.3.3自动计算图书归还日期235.3.4系统登陆验证码的实现236结论256.1主要研究内容及成果266.2今后进一步研究方向26参考文献26致谢27 学校图书管理系统的开发学校图书管理系统的开发数理信息与工程学院计算机科学与技术金维律(05600114)摘要:图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。采用SQLServer2005数据库作为后台数据库、VisualC#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员两方面的需要,达到了设计要求。关键词:图书管理;系统设计;信息;ASP.NET;SQLServer2005ThedevelopmentofthelibrarybookmanagementsystemJinWei-lvDirector:XuDe-wu(Dept.ofComputerScience&Technology,ZhejiangNormalUniversity)Abstract:Librarybookmanagementsystemisanimportantcomponentpartofthe(IOA),therefore,thelibrarybookmanagementsystemtaketheadvantageofconvenienceandshortcuttoenterpeoples’lifeslowly,theoldlibrarybookmanagementsystemisabitoutdated.Newlibrarybookmanagementsystemhaveimprovedefficiency,decreasetheheavyworkloadofthestaffinthepast,reducingtheerrorprobability.Itenablepeopletospendmoretimeforchosingandreadingbooks.Sothatpeoplehaveenoughtimetoacquireinformation,findoutinformation,graspinformation.Thedevelopmentofthelibrarybookmanagementsystemcontainstwohandles:ThecreationandmaintenanceofthebackgrounddatabaseandtheFutureapplications.ItadoptsSQLServer2005databaseasbackgrounddatabase,VisualC#programminglanguageasfuturedevelopmenttools.Throughanintensivestudyandapplicationofdatabasetechnologytoreachthefunctionofbibliographysearches,readermanagement,borrowmanagement,booksmanagement,usermaintenance,systemmaintenanceandsoon.Thesystemoperationresultprovedthatthelibrarybookmanagementsysteminthetextcanmeetthedemandoftheborrowerofthestudent,teacherandthelibrarian.Itreachedit’sdesignrequirements.Keywords:librarybookmanagement;systemdesign;information;ASP.NET;SQLServer20051引言随着计算机及网络技术的飞速发展,Internet/Intranet26 学校图书管理系统的开发应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。1.1图书管理的现状一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。随着近年来信息技术及计算机网络技术的不断发展,图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。对于一些小图书馆和一些图书室来说,由于工作人员比较少,长期以来,作为图书馆的主要工作—图书借阅一直未能很好地开展。在平常的图书借阅工作中,由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间才能找到其所需的书。为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于WEB的查询系统,实现图书在一个单位的网络内甚至Internet上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。传统的图书管理模式其最大的特点是手工;首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。对于有学生(教师)证的学生(教师)来说还要对他们资料作一定的记录。并且在人们来借书的时候,首先持证件者要去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把借书证留在那里;还书的时候,相对应的消去出借记录;这样做起来比较麻烦,比较费时间。传统图书管理的特点是26 学校图书管理系统的开发一直以来,中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。这种管理方式存在着诸多缺点,如:手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。1.2现有图书管理系统的概述在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,有VisualBasic6.0、VisualForPro6.0、PowerBuilder等,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:1、图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。2、图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。3、数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。4、数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。比如在一个局域网内,大家希望能在本台电脑上就能查找自己想要的图书,而不用跑到图书馆或图书室里去用那里的电脑查询,这就需要一个网络化的联机查询系统。1.3选题的目的、意义随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。1.4图书管理系统的可行性分析本次毕业设计题目:“学校图书管理系统的开发”26 学校图书管理系统的开发主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解VisualC#的使用和管理系统的相关知识。在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下几个方面:(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。(2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。(3)运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的资源非常的小。(4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会得到学校工作人员的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。1.5系统开发运行环境系统开发环境:MicrosoftVisualStudio2005系统开发语言:ASP.net+C#运行平台:WindowsXP数据库:SQLServer2005Web服务器:IIS5.12图书管理系统开发相关技术的介绍2.1Asp.net的介绍2.1.1Asp.net的优势介绍ASP.Net可完全利用.Net26 学校图书管理系统的开发架构的强大,安全,高效的平台特性。ASP.Net是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(EarlyBinding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为ASP.Net带来卓越的性能。对XML,SOAP,WSDL等Internet标准的强健支持为Asp.net在异构网络里提供了强大的扩展性。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个.NET框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。在创建 ASP.NET 应用程序、Web 窗体和 Web服务时,开发人员可以选择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。“Web 窗体”用于生成功能强大的基于窗体的 Web 页。生成这些页时,可以使用 ASP.NET 服务器控件来创建公共 UI元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成 Web 窗体,从而简化页面的代码。有关更多信息,请参阅Web 窗体页。有关如何开发ASP.NET 服务器控件的信息,请参阅开发 ASP.NET 服务器控件。XML Web services 提供了远程访问服务器功能的途径。通过使用 Web服务,企业可以公开其数据或业务逻辑的编程接口,然后客户端和服务器应用程序就可以获得和操作这些编程接口。这些模型中的每一个模型都可以充分利用所有 ASP.NET 功能,以及 .NET 框架和 .NET 框架公共语言运行库的强大功能。2.1.2Asp.net的特点ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。2.2SQLServer2005概述SQLServer是一个关系数据库管理系统它是由Microsoft推出的。SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web26 学校图书管理系统的开发标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。SQLServer提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与WebService的支持将使您的应用实现Internet数据互联,.net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.net、XQuery、XMLA、ADO.net2.0、SMO、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。它具有以下特点:(1)上手容易大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQLServer与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,有关SQLServer的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数(2)兼容性良好由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。另外,SQLServer2005除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET战略中发挥着重要的作用。(3)电子商务在使用由MicrosoftSQLServer2005关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用HypertextTransferProtocol(超文本传输协议,HTTP)来访问SQLServer2005,以实现面向SQLServer2005数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。(4)数据仓库MicrosoftSQLServer2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP26 学校图书管理系统的开发可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。2.3Web技术2.3.1浏览器/服务器(Browser/Server)结构随着Web和Internet计算环境的发展,将使企业能够以更快的速度、更低的费用去创建和布置企业的应用系统,因而,普遍认为C/S架构将会被B/S结构取代。Internet为数据库应用系统提供了新的机会,采用B/S结构,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplores;中间层采用Web服务器,它接受客户端的请求,将其转换为SQL语句,通过ODBC或其他手段传给数据库服务器,并将数据库服务器返回的结果用HTML文件格式传回给客户机。客户机的要求大大降低,大部分程序在服务器端执行。采用3层体系结构的Web应用程序由Web浏览器、Web服务器和数据库3部分组成,如图2-1所示。Web浏览器与Web服务器之间的通信仍然遵循HTTP,Web服务器与数据库之间的通信遵守CGI(CommonGatewayInterface)或者ServerAPI规范。在采用三层体系结构的Web应用程序中,Web浏览器向Web服务器请求某个HTML文档或者请求执行某个CGI脚本程序。Web服务器根据Web浏览器请求的是某个CGI程序或者API程序,Web服务器则执行(或调用外部程序执行)该程序,然后将程序执行结果返回给Web浏览器。习惯上,我们把采用这种体系结构的Web网站称作“动态网站”。目前,互联网中绝大部分网站和大多数Web应用系统都采用了这种体系结构。2.3.2IIS服务器技术IIS(InternetInformationServerInternet信息服务器)是Microsoft公司开发的一种集Web,FTP和Gopher服务于一身的服务器,它可以利用WindowsXPServer的各种功能并且能在Internet上发布信息。IIS是微软随着WindowsXPServer附带的一个软件。IIS提供Internet信息服务器应用程序接口(ISAPI)扩展Web服务器的功能,并可通过ASP.NET实现Web程序的快速开发,ASP.NET支持服务器端的JavaScript,VBScript,MicrosoftJava和ActiveXServerComponent,还支持用VB编写的CGI程序,甚至用VB开发的C/S架构的程序不经过修改就可以在Web上发布,可以使开发动态主页更加方便,同时也保护了以前的投资。IIS还包括了MicrosoftIndexServer,可实现对本Web站点内容的全文检索以及SiteServerExpress用于分析站点访问的情况。IIS的管理功能是基于WindowsXPServer的,可充分利用WindowsXPServer提供的安全服务和目录服务。它的安全模型是以NTFS安全机制为基础的,这样利用资源管理器可以容易地管理使用IIS建立的Web站点的安全性。26 学校图书管理系统的开发3系统总体设计分析3.1系统需求分析随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。该系统主要分为两部分:读者部分和管理员部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览、可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及设定用户的级别,还为用户提供图书的排行榜让用户能知道那些图书受到大家的欢迎。3.2系统实现的目标学校图书管理系统的开发主要要实现的目标有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)强大的查询功能,保证数据查询的灵活性。(5)实现对图书借阅和归还过程的全程数据信息跟踪。(6)提供图书借阅排行榜,为图书管理员提供了真实的数据信息。(7)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(8)具有易维护性和易操作性。3.3系统功能模块设计(1)系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息添加删除书架信息。(2)读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读者的档案。(3)图书管理模块:添加删除不同类型的的图书及注明图书可借的天数库存数量、添加删除图书的档案。(4)图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。(5)系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版社)查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号、读者名字、到期时间)查询自己借阅图书信息。26 学校图书管理系统的开发(6)排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。3.4系统功能结构图根据图书管理系统的实际需求,可以将图书管理系统划分为系统设置、图书管理、读者管理、图书借还、系统查询、排行榜6个部分各个部分的具体功能的系统功能结构图如图3-1所示。图书管理系统系统设置管理员设置书架设置读者管理排行榜图书管理图书借还系统查询读者类型管理图书借阅排行榜读者借阅排行榜图书借阅查询图书档案查询图书归还图书借阅图书档案管理图书类型管理读者档案管理图3-1系统功能结构图(1)图书借阅系统完成用户的借书过程其数据流图如图3-2所示。26 学校图书管理系统的开发图3-2借阅系统的数据流图(2)还书系统完成图书的归还过程其数据流图如图3-3所示。图3-3归还系统的数据流图(3)图书档案管理系统为用户提供图书档案信息其数据流图如图3-4所示。26 学校图书管理系统的开发图3-4图书档案管理数据流图(4)读者档案系统用于记录读者的详细信息其数据流图如图3-5所示。图3-5读者档案管理数据流图3.5系统流程图26 学校图书管理系统的开发图书管理系统的流程是用户先输入自己的帐号密码及系统显示的验证码进入系统如有一项不符合则不能进入系统,成功登陆系统后系统根剧登陆的帐号信息从数据库中的数据进行对比判断是读者还是管理员,如果是读者则能进行信息查询,及修改自己的相关信息,查询到自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图书及读者的所有信息、设置相应的权限、为图书更新排行榜的信息、以及完成读者的图书借阅与归还。图书管理系统的系统流程图如图3-6所示。登陆系统是否登陆判断身份管理员读者图书归还图书借阅信息查询排行榜信息图书信息读者信息否图3-6图书管理系统的流程图4数据总体结构设计4.1数据库概念结构设计数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。这阶段可用的工具很多。用的最多的是E-R图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(ComputerAidedSoftwareEngineering,CASE)可以帮助进行设计。本系统采用了E-R图的方法进行数据库概念结构设计。E-R图是描述数据实体关系的一种直观描述工具。这种图中有:26 学校图书管理系统的开发(1)实体:用方框表示,方框内为实体的名称。(2)实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线段将其和响应的实体连接起来。(3)实体之间的联系:用菱形表示,菱形内为联系的名称。实体和实体之间的联系较多,比较常见的联系有l:1,l:N和M:N这三种。4.2数据库逻辑结构设计概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化较简单,需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。该数据库系统具有以下方面的特点:结构合理,对一个人员建立多条记录。所建立的数据冗余度小,独立性强。建档、修改、查询、统计快速而准确。保密性好、可靠性好。图书管理系统中要有图书,图书是图书管理系统中密不可分的部分,因此要创建一图书信息实体,用来保存图书的详细信息。图书信息实体属性图如图4-1所示。26 学校图书管理系统的开发图4-1图书信息实体属性图读者是图书管理系统重要组成部分,这里创建了一个读者信息实体,用来存储读者的详细信息。读者信息实体E-R图如图4.2所示。图4-2读者信息实体属性图图书的借阅和归还是图书管理系统中的一项重要的环节,开发图书管理系统就是为了方便读者对图书的借阅和归还,因此要建立一个图书借还实体,用来保存读者对图书的借阅和归还的详细信息。图书的借阅和归还实体属性图如图4-3所示。26 学校图书管理系统的开发图4-3读者借还实体属性图图书管理系统为了增加系统的安全性,管理员只有在系统登陆模块验证通过后才能进入管理员的操作界面,因此套在数据库中创建一个存放登录用户信息的管理员实体。管理员实体属性图如图4-4所示。图4-4管理员实体属性图4.3图书管理系统的系统E-R图图书管理系统的系统E-R图如图4-5所示。26 学校图书管理系统的开发读者图书管理员管理管理借还还书时间借书时间删除类型条形码……修改密码修改名称编号类型……编号添加添加删除图4-5图书管理系统的系统E-R图4.4数据表设计本系统使用的数据库管理系统为SQLServer2005。数据库中的表有管理员信息表、图书信息表、读者信息表、管理员权限表、图书借阅归还表等。图书管理员基本信息表tb_admin,如表4-6所示。字段名数据类型长度主键描述idvarchar50是管理员编号namevarchar50否管理员名称pwdvarchar30否密码表4-6tb_admin(管理员)表读者详细信息表tb_reader,如表4-7所示。26 学校图书管理系统的开发字段名数据类型长度主键描述idvarchar30是读者编号namevarchar50否读者名称sexchar4否性别typevarchar50否读者类型birthdaysmalldatetime4否生日paperTypevarchar20否证件类型paperNumvarchar30否证件号码telvarchar20否电话emailvarchar50否E-mailcreateDatesmalldatetime4否注册日期opervarchar30否操作员remarktext16否备注borrownumint4否借阅次数表4-7tb_reader(读者信息)表图书详细信息表tb_bookkifo,如表4-8所示。字段名数据类型长度主键描述Bookcodevarchar30是图书条形码booknamevarchar50否图书名称typevarchar50否图书类型autorvarchar50否作者translatorvarchar50否译者pubnamevarchar100否出版社pricemoney8否价格pageint4否页码bcasevarchar50否书架storagebigint8否存储数量inTimesmalldatetime4否入馆时间26 学校图书管理系统的开发opervarchar30否操作员borrownumint4否被借次数表4-8tb_bookkifo(图书信息)表图书借阅和归还信息表tb_borrowandback,如表4-9所示。字段名数据类型长度主键描述idvarchar30是借书编号readidvarchar20否读者编号bookcodevarchar30否图书条形码borrowTimesmalldatetime4否借书时间ygbackTimesmalldatetime4否应该还书时间sjbackTimesmalldatetime4否实际还书时间borrowopervarchar30否借书操作backopervarchar30否还书操作isbackbit1否是否归还表4-9tb_borrowandback(图书借阅和归还信息)表权限信息表tb_purview,如表4-10所示。字段名数据类型长度主键描述idvarchar50是用户编号sysetbit1否系统设置readsetbit1否读者管理booksetbit1否图书管理borrowbackbit1否图书借还syaquerybit1否系统查询表4-10tb_purview(权限信息)表5图书管理系统详细设计5.1系统流程分析根据开发图书管理系统的需求分析,本系统设计了三种用户,分别为系统管理员、教师和学生。26 学校图书管理系统的开发系统要求有系统管理员用户,我们设定系统管理员,当系统管理员使用帐户登录后,需要查看有关图书的一系列的信息,管理员可以通过系统导航菜单进入读者管理界面、图书管理界面、图书借还界面、系统查询界面、排行榜界面,在读者界面中,管理员添加和修改学生或教师信息、用户可以查看自己信息,在图书管理界面管理员可以添加和修改图书信息、用户可查看图书,在图书借还界面完成读者借书还书的操作,系统查询界面管理员可以查看借出去的图书信息及库存的信息、用户可以查找自己的所需的图书,排行榜界面主要是可以让用户知道哪些图书受到读者的喜爱。读者(老师和学生)使用读者帐号登陆系统后,可以查询自己所需要的图书的信息、也可以查询自己个人的基本信息及图书的借还信息,还能查看排行榜的信息。读者的借书和还书过程是通过管理员完成的。5.2主要模块的运行5.2.1登陆界面当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否则登录失败。比较的过程是由浏览器将指令,数据发送到Web服务器,Web服务器通过对数据库进行查询将结果返回到浏览器,从而端显示成功的消息,用户只有成功登陆系统后才能进行一系列的操作,如下图5-1所示。5-1图书管理系统登陆界面5.2.2图书信息管理模块26 学校图书管理系统的开发图书信息管理模块主要分为查看图书信息页面和添加修改图书信息页面,用户可以在查看图书信息页面查看图书的基本信息,管理员也可以看这些信息,并且可以通过单击“添加图书信息”这个超级链接或GridView控件中的“详情”超级链接转到添加或删除图书信息界面,并在该页中添家或修改图书信息,如图5-2与5-3所示。图5-2查看图书信息界面图5-3添家或修改图书信息界面图书信息管理模块的实现,主要是使用了ADO.NET操作数据库技术。在使用ADO.NET技术操作数据库时,主要用到了Connection、Command、DataAdaper和DataSet4个对象重要负责在Connection对象主要负责连接数据库,Command对象主要负责生成并执行SQL语句,DataAdaper对象主要负责在Command对象执行完SQL语句后生成并填充DataSet和DataTable,而DataSet对象主要负责存取和更新数据。5.2.3图书借还信息模块图书借还管理模块主要分为图书借阅页面和图书归还页面,用户可以在通过这个模块查看图书的借阅和归还信息。管理员可以在图书通过这个模块来完成读者借和还书的操作,如图5-4与5-5所示。26 学校图书管理系统的开发图5-4图书的借阅管理图5-5图书归还管理实现图书的借还功能主要用到了GridView模板列技术。5.3系统开发的遇到的相关问题及解决5.3.1图书管理系统索引图书管理系统开发中存在大量的数据和信息检索,怎样更好的检索数据和信息操作是保证检索速度的提高和数据的分页显示,主要考虑了以下几个方面:(1)设计逻辑结构时充分考虑冗余量和可处理性两方面的要求,在接受冗余量的提下,尽量减少表的连接操作。(2)关系的大小对查询的影响也是很大的,因此为了提高数据库的查询速度,减小系的大小和数据量也是必要的。(3)建立合理的索引结构。索引相当于一个映射机构,将键值转换成相对应的记录地址,形成索引文件。索引设计是数据库物理设计的基本问题,也是较困难的问题,建立索引可以极大地提高系统的查询速度,但是同时做Insert、Update、Delete操作时会降低速度,因为做这些操作的同时需要更新索引,所以不能对数据库中所有的表都建立索引。比如满足下列条件之一的不易建立索引:不出现或很少出现的属性或表、属性分布严重不均的属性、经常更新的属性或表、过长的属性、太小的表等。满足下列条件之一的可以考虑建立索引:主键和外键都建立索引、对于以读为主或只读的表,只要需要,且存储空间允许,可以减少连接开销、对于等值查询(即查询条件以等号为比较符),最好建立索引、对查询范围(即查询条件>,<,≤,≥为比较符),最好建立索引、有些查询可以由检索直接得到结果,不必访问数据块。26 学校图书管理系统的开发根据实际需要,读者信息表,图书信息表,图书借还信息表,权限信息,管理员信息表等都建立索引,合理使用缓冲区。5.3.2如何验证输入的字符串在图书管理系统的开发过程中,需要对一些输入的字符串进行验证,例如金额、电话号码、E-mail等,由于许多模块都需要用到这些验证,因此可以将其写入到一个公共类中然后在其他的页面中直接调用即可。C#中对字符串进行验证时,可以使用Regex类,要使用正则表达式验证输入的字符串,如验证输入的字符串是否为E-mail的地址格式的实现方法。代码如下:#region验证输入为Email//////验证输入为Email/////////publicboolvalidateEmail(stringstr){returnRegex.IsMatch(str,@"w+([-+."]w+)*@w+([-.]w+)*.w+([-.]w+)*");}#endregion5.3.3自动计算图书归还日期在图书管理系统运行中会常常遇到这样的问题:在借阅图书时,需要自动计算图书的归还日期,而这个日期又不是固定不变的,它是需要根据系统日期和数据表中保存的各类图书的最多借阅天数来计算的,即图书归还日期=“系统日期”+“最多借阅天数”。因此本系统是这样解决问题的:首先获取系统时间,然后从数据表中查询出该类图书最多借阅天数,最后计算归还日期。计算方法如下:首先取出所借图书的最多借阅天数,然后根据图书的最多借阅天数,使用TimeSpan.FromDays方法返回一个TimeSpan,最后使用当前时间与先返回的Timespan时间间隔相加。自动计算图书归还日期的关键代码如下:intdays=Convert.ToInt32(btypemanage.FindBTypeByName(btypemanage,26 学校图书管理系统的开发"tb_booktype").Tables[0].Rows[0][2].ToString());TimeSpantspan=TimeSpan.FromDays((double)days);borrowandbackmanage.YGBackTime=borrowandbackmanage.BorrowTime+tspan;5.3.4系统登陆验证码的实现在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。在图书管理系统的登陆模块中加入一个验证码的功能,即用户除了要输入帐号和密码还要输入系统为用户提供的验证码。验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密码进行登陆的问题。因此,设置一个随机函数在数字0~9和英文字母A~Z中随机抽取四个,在用户打开登陆界面的时候,系统通过随机生成器随机生成4个数字或字母或数字加字母存放在缓存内,并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不符合就不能登陆。系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是很容易分辨,但机器人程序不能分辨,很好的防止某人利用机器人程序对系统的恶意操作增加了系统的安全性。验证码实现的关键代码如下:privatestringGenerateCheckCode(){intnumber;charcode;stringcheckCode=String.Empty;System.Randomrandom=newRandom();for(inti=0;i<4;i++){number=random.Next();if(number%2==0)code=(char)("0"+(char)(number%10));elsecode=(char)("A"+(char)(number%26));checkCode+=code.ToString();26 学校图书管理系统的开发}Response.Cookies.Add(newHttpCookie("CheckCode",checkCode));returncheckCode;}privatevoidCreateCheckCodeImage(stringcheckCode){if(checkCode==null||checkCode.Trim()==String.Empty)return;System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length*12.5)),22);Graphicsg=Graphics.FromImage(image);try{//生成随机生成器Randomrandom=newRandom();//清空图片背景色g.Clear(Color.White);//画图片的背景噪音线for(inti=0;i<2;i++){intx1=random.Next(image.Width);intx2=random.Next(image.Width);inty1=random.Next(image.Height);inty2=random.Next(image.Height);g.DrawLine(newPen(Color.Black),x1,y1,x2,y2);}6结论26 学校图书管理系统的开发经过几个月的设计和开发,学校图书管理系统基本开发完毕。其功能基本符合用户需求。对于数据的一致性的问题也通过程序进行了有效的解决。但是该系统还有许多不尽如人意的地方,在今后有待进一步改善。通过这次毕业设计真切地体会到毕业设计的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。从而获得一种本领:就是融会贯通各种语言。回首整个开发设计过程,我学到了很多书本上学不到的东西。比如以前开发软件的时候,一般做的就是编码工作,实现比较简单的功能。但是这次毕业设计,我要负责图书管理系统的整个开发过程,包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计等方面的工作。在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。在整个毕业设计过程中,我基本上完成了图书管理系统各个模块的功能,达到了毕业设计的要求。页面设计还有进一步改善的地方,我会在今后的学习工作中着重加强这方面的锻炼。在以后的工作中,还会遇到很多类似的情况,此次毕业设计为我以后的工作积累了很多宝贵的经验。这几个月中,从接到设计课题到具体设计再到完成系统开发,是一个不断地遇到问题与解决问题的过程。其中包括:分析各种需求、完善各种功能、增加必要环节、对各部分及整体进行检测与维护。当然仍存在许多问题不能解决地尽善尽美,还需不断地继续与探索。在结束设计的同时也感到了劳动的艰辛与劳动成果的来之不易,明白了毕业设计是给自己提供了一个锻炼、升华、提高、完善的机会。6.1主要研究内容及成果介绍学校图书管理系统根据实际的需求及发展情况进行设计与开发情况,及介绍本系统设计应用平台及技术支持讲述本系统设计理念及具体设计情况,讲解本系统具体制作方法及核心代码。开发的图书管理系统基本上能完成预期的目标,大致能满足读者和管理员的要求。不过也有一些不足之处需要好好改进。6.2今后进一步研究方向(1)对页面进行美化,使界面变的更美观一点。(2)增加数据转换接口,使得本系统能与学校图书管理系统数据库进行无缝连接。(3)添加系统功能,本系统只有让读者知道还书的期限,当图书超期而读者也没注意要自己所借图书超期了,就无法及时的还书了,因此增加图书到期催还功能,能让读者在自己信息查询时候就能看到系统对自己所借图书的超期提醒以方便读者的图书归还。26 学校图书管理系统的开发参考文献[1]刘乃丽.精通ASP.NET2.0+SQLServer2005项目开发.[M].北京:人民邮电出版社,2007:100~150.[2]易向东,陈蓓,万英编著.C#程序员开发指南[M].北京:北京希望电子出版社,2006:212~232.[3](美)内格尔,伊夫杰,格林等.C#高级编程(第四版)[M].李敏波.北京:清华大学出版社,2006:80~100.[4](美)KailiWatson.C#2005数据库编程经典教程[M].人民邮电出版社,2007:90~120.[5](美)沃尔特,本-甘,萨卡.MicrosoftSQLServer2005技术内幕-T-SQL程序设计[M].北京:电子工业出版社,2007:50~80.[6]刘烨,季石磊等.C#编程及应用程序开发教程[M].北京:清华大学出版社,2007:132~180.[7]殷泰晖,张强,杨豹等C#编程从基础到实践,电子工业出版社,2007:100~120[8]李永平.ASP.NET2.0(C#)基础教程[M].北京:清华大学出版社,2008:123~143.[9]微软公司著.熊盛新,许志庆,李钦译.VisualC#.NET语言参考手册[M].北京:清华大学出版社,2002年:160~180.[10]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006:70~100.[11]马军.精通ASP.NET2.0网络应用系统开发[M].人民邮电出版社,2006:110~140.[12]欧立奇,康祥顺,马煜编著.VisualC#.NET案例开发集锦[M].北京:电子工业出版社,2006:233~245.致谢为期四年的大学本科的学习生活即将结束,在此,感谢我的家人,是他们的支持和鼓励使我有了四年美好的大学时光。我要感谢所有曾经教导过我的老师和关心过我的同学,感谢他们在我学习成长过程中所给予我的帮助。这次毕业设计能成功完成,要特别感谢我的指导老师许德武老师,感谢许老师对我的作品提出的建议和指导。在整个设计阶段,许老师在我有困难的时候细心为我指导,给了我很大的帮助。在论文完成之际,谨向我尊敬的导师表示诚挚的谢意,感谢许老师对我的关心和帮助。26 学校图书管理系统的开发在整个系统的开发过程中,同学和朋友给了我很大的帮助。感谢给予我帮助的同学和朋友们,他们在我的整个设计过程中给我提供了大量的技术指导和实践机会。衷心的感谢你们!26 浙江师范大学本科毕业设计(论文)过程管理材料目录浙江师范大学本科毕业设计(论文)任务书1浙江师范大学本科毕业设计(论文)文献综述3浙江师范大学本科毕业设计(论文)开题报告10浙江师范大学本科毕业设计(论文)外文翻译17浙江师范大学本科毕业设计(论文)指导记录34浙江师范大学本科毕业设计(论文)中期检查表36浙江师范大学本科毕业设计(论文)作品(实物)验收单37浙江师范大学本科毕业设计(论文)答辩资格审查表39浙江师范大学本科毕业设计(论文)答辩记录40浙江师范大学本科毕业设计(论文)评审表41 本科毕业设计(论文)任务书浙江师范大学本科毕业设计(论文)任务书学院数理与信息工程学院专业计算机科学与技术(非师范)学生姓名金维律学号05600114指导教师许德武职称讲师合作导师职称一、设计(论文)题目:学校图书管理系统的开发二、设计(论文)的研究内容和任务要求首先,开发一个采用B/S结构的学校图书管理系统,使用JSP或JAVA或.net或AJAX或PHP作为主要的开发技术,后台使用数据库软件SQLServer2000或更高版本。其次,要给出系统的功能结构,尽可能完整。具备如下功能:系统设置(图书馆信息、管理员设置、书架管理、权限设置)、读者管理(读者的类型管理、读者档案管理、添加删除用户)、图书管理(图书类型管理、图书档案管理、添加删除图书)、图书的借阅与归还(图书借阅、图书归还)、系统查询(图书档案查询、图书借阅查询)、排行榜(图书借阅排行榜、读者借阅排行榜)系统采用多层体系结构,分为数据访问层、业务逻辑层和页面显示层。对于每一层,要有详细的设计说明。最后,要求所有的功能模块要能够运行,输入测试数据进行测试,无重大错误。软件具有一定的健壮性。所有源代码的书写格式要规范,要有详细的注释。要求界面简洁,美观,方便用户操作,充分利用控件的功能。三、进度安排2008-11-01——2008-12-01理论可行性分析、阅读相关书籍、编写需求分析2008-12-02——2008-12-12系统的总体设计,毕业设计的开题报告撰写2008-12-13——2009-01-20系统模块的划分、开始对相关键模块的编写2009-01-21——2009-03-01具体代码实现,系统各项功能的实现2009-03-02——2009-03-07进行测试,改正2009-03-8——2009-04-08写毕业论文2009-04-09——2009-04-10整理资料,准备答辩21 本科毕业设计(论文)任务书四、主要参考资料[1]刘乃丽.精通ASP.NET2.0+SQLServer2005项目开发.[M].北京:人民邮电出版社,2007:100~150.[2]易向东,陈蓓,万英编著.C#程序员开发指南[M].北京:北京希望电子出版社,2006:212~232.[3](美)内格尔,伊夫杰,格林等.C#高级编程(第四版)[M].李敏波.北京:清华大学出版社,2006:80~100.[4](美)KailiWatson.C#2005数据库编程经典教程[M].人民邮电出版社,2007:90~120.[5](美)沃尔特,本-甘,萨卡.MicrosoftSQLServer2005技术内幕-T-SQL程序设计[M].北京:电子工业出版社,2007:50~80.[6]刘烨,季石磊等.C#编程及应用程序开发教程[M].北京:清华大学出版社,2007:132~180.[7]殷泰晖,张强,杨豹等C#编程从基础到实践,电子工业出版社,2007:100~120.[8]李永平.ASP.NET2.0(C#)基础教程[M].北京:清华大学出版社,2008:123~143.[9]微软公司著.熊盛新,许志庆,李钦译.VisualC#.NET语言参考手册[M].北京:清华大学出版社,2002年:160~180.[10]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006:70~100.[11]马军.精通ASP.NET2.0网络应用系统开发[M].人民邮电出版社,2006:110~140.[12]欧立奇,康祥顺,马煜编著.VisualC#.NET案例开发集锦[M].北京:电子工业出版社,2006:233~245.指导教师签名学生签名系主任签名200年月日21 本科毕业设计(论文)文献综述浙江师范大学本科毕业设计(论文)文献综述学院数理与信息工程学院专业计算机科学与技术(非师范)学生姓名金维律学号05600114指导教师许德武职称讲师合作导师职称论文题目学校图书管理系统的开发文献综述图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。由于图书馆主要从事大量的图书资料的储存和流通,因此图书馆的图书管理是至关重要的。随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。书籍做为人类的精神食粮,在现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。与此同时,为了管理大量的图书,图书管理也大量的出现,图书的管理问题也就提上了日程。随着图书的大量增加,其管理难度也越来越大,如何提高图书管理效率也就成为了一个大众化的课题。随着我国改革开放的不断深入,经济飞速的发展,没有现代化的管理是万万不行的,图书管理的全面自动化、信息化则是其中极其重要的部分。在计算机飞速发展的今天,将计算机这一信息处理器应用于图书馆和图书馆的日常管理已是势必所然,。采用计算机管理信息系统已成为图书管理科学化和现代化的重要标志,极大提高了图书管理的工作效率,大大减少了以往入、出、存流程繁琐,杂乱,周期长的弊端。为了加快图书管理自动化的步伐,提高图书的管理业务处理效率,建立图书管理系统已变得十分重要。在上述背景下,建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况.提高图书信息管理的效率,也是管理科学化、正规化重要途径。21 本科毕业设计(论文)文献综述一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。使用该程序之后,读者可以查阅并修改自己的信息、修改密码、查阅借阅情况、搜索图书;系统管理员可以进行读者维护、图书维护、图书搜索;图书馆管理人员可以进行图书的借阅与归还。现在社会上有许许多多的图书管理系统,在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:1、图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。2、图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。3、数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。4、数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。比如在一个局域网内,大家希望能在本台电脑上就能查找自己想要的图书,而不用跑到图书馆或图书室里去用那里的电脑查询,这就需要一个网络化的联机查询系统。随着近年来信息技术及计算机网络技术的不断发展,21 本科毕业设计(论文)文献综述图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。对于一些小图书馆和一些图书室来说,由于工作人员比较少,长期以来,作为图书馆的主要工作—图书借阅一直未能很好地开展。在平常的图书借阅工作中,由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间才能找到其所需的书。为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于WEB的查询系统,实现图书在一个单位的网络内甚至Internet上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书馆的图书管理软件已经很有必要,并且实现研究服务于实践的原则。开发图书管理系统的一个目的是针对目前普遍的图书管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化的图书管理系统。从而在图书馆对新旧书的反应;对书籍借阅的管理能力;对读者和图书馆工作人员的管理能力;对图书馆管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。当然对该软件的态度是渴望获得显著的社会效益。开发图书管理系统的另一个目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。在一般的学校与科研机构,其下属的很多分支的研究中心,试验中心,各个学院,它们往往都有着自己的规模较大的图书资料室。而这些图书资料室由于本身规模不大因此其对书籍或资料的管理模式一般都比较旧,而且在没有能力也没有必要引进大型的图书馆管理软硬件的基础上,寻求一个针对中小型图书资料室的管理软件是必要的。21 本科毕业设计(论文)文献综述过去我们以开架借阅满足读者按需索书的愿望。但在传统的借阅方式下,难以达到读者快速索取图书的要求。以计算机网络为手段的信息传递具有高速度、高效率的特点,是任何手工操作都无法比拟的,电子技术与图书馆工作的结合,实现了图书馆管理和服务的现代化。利用图书管理系统,可以激活馆藏中的各种图书,使读者从主题,各种角度检索图书的愿望得到实现。方便,快捷的检索方式缩短了寻找所需图书的时间,使读者摆脱了由于书目急速增长而无从下手的困扰,大大提高了搜索效率,加速了图书的开发利用。更为优越的是新图书管理系统的使用增强了图书馆员与读者之间的互动服务,以及读者的自助服务,比如说可通过网络推荐新书和自行办理图书预约,续借手续等等。图书馆中的图书管理系统在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量。近些年来,图书馆事业的巨大进步已为图书馆在新世纪的发展打下了坚实的基础.全球信息化和高新技术的发展也为图书馆提供了更好的发展机遇,传统的单一以书本作为单元信息服务手段已不能满足读者的需求,现代化服务手段的实施势在必行。21 本科毕业设计(论文)文献综述我国的图书馆中的图书管理发展要经过三个阶段:一是条目式数据管理阶段,二是简介式数据管理阶段,三是全文数据库管理阶段。现在,图书馆的数据绝大部分是条目式数据,也就是说只记录了文献的题名、作者、出版年月等信息,这些简单信息已能满足读者的需求。在条目式著录基础上加上文献的内容简介,就是简介式数据,通过文献内容简介,读者会对文献有一个简单的了解,但如果读者想看文献内容,还必须找到原始文献。如果图书馆将原始文献也放在本馆主机上,读者就不用到图书馆而直接在自己的计算机上就可以查看原始文献,这是全文数据库阶段。当一个馆的全文数据占到一定比例的时候,图书馆的概念就发生了转变。现在网络的普及和文献高速数据扫描技术的发展使建立大量全文数据成为了可能。在不长的时间内,互联网站上将会有大量的全文数据,这就给图书信息管理软件提出了一个问题:如何管理大量的网站资源。对图书馆来说,将来的采购主要是网上采购,编目是对大量网上信息的加工整理,即将大量的数据加载或链接到本馆系统中来。对读者来说,他会在图书馆网站上检索到大量全文资料,这些资料可能在全球任何位置。学校图书管理系统的开发主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解VisualC#的使用和管理系统的相关知识。在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。我们了解到“国内外的图书馆中的图书管理系统呈现出以下几个方面的发展趋势:资源趋势、网络化趋势、小型化趋势、个别化服务趋势和数字化趋势”。其中网络化趋势是不言而喻的,图书业是最早利用网络的行业之一,网络已经在图书业获得了最广泛的应用。尤其是最近两年,互联网的发展风起云涌,从某种程度上讲它已经成为图书业发展的重要内在因素和原动力之一。现在很多的图书馆已经是图书管理自动化、网络化,实现了网上查询检索,网上采访,联合编目,馆际互借,只要能连上Internet,就是坐在家里也可以查询自己要的书、资料等等信息,高校图书馆的数字图书馆已经出现并应用。图书馆中的图书管理系统就其本质而言,是一种信息资源体系,是信息市场中的信息供给方;就其功能而言,主要有信息资源提供和信息咨询两大功能;就其工作而言,可划分为信息资源提供服务工作和信息咨询服务工作两大部分。信息资源提供服务工作是随着图书馆的产生而产生的,是最古老的图书馆工作,是传统图书馆工作的核心。其主要特征是它不生产新的信息产品,而只是对社会生产和信息产品进行集中存贮和管理。信息咨询服务工作则是高层次的图书馆工作,它是以信息媒体中的信息资源为工作对象,结合特定用户的信息需求,以信息开发为手段,对信息进行分析、综合、浓缩、转换与创新等一系列工作的总称。信息咨询工作所提供的是信息产品,它是图书馆发展到一定阶段的产物,是图书馆基础工作的延伸和拓展,是满足特殊用户的信息需求和一般用户的特殊需求的主要途径。当前,各图书馆在加强信息资源提供服务的基础上,正在有计划地把工作重点逐步向信息咨询方面转移。这是时代的要求,也是图书馆的发展方向。系统环境分析和开发工具本系统采用Asp.net和C#+SQLServer2005开发,Web服务器采用IIS5.1。前台采用Asp.net和C#开发,该开发工具具有很多长处,VASP.net21 本科毕业设计(论文)文献综述是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。SQLServer是一个关系数据库管理系统它是由Microsoft推出的。SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。SQLServer提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与WebService的支持将使您的应用实现Internet数据互联,.net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.net、XQuery、XMLA、ADO.net2.0、SMO、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。IIS(InternetInformationServerInternet信息服务器)是Microsoft公司开发的一种集Web,FTP和Gopher服务于一身的服务器,它可以利用WindowsXPServer的各种功能并且能在Internet上发布信息。IIS是微软随着WindowsXPServer附带的一个软件。IIS提供Internet信息服务器应用程序接口(ISAPI)扩展Web服务器的功能,并可通过ASP.NET实现Web程序的快速开发,ASP.NET支持服务器端的JavaScript,VBScript,MicrosoftJava和ActiveXServerComponent,还支持用VB编写的CGI程序,甚至用VB开发的C/S架构的程序不经过修改就可以在Web上发布,可以使开发动态主页更加方便,同时也保护了以前的投资。IIS还包括了MicrosoftIndexServer,可实现对本Web站点内容的全文检索以及SiteServerExpress用于分析站点访问的情况。IIS的管理功能是基于WindowsXPServer的,可充分利用WindowsXPServer提供的安全服务和目录服务。它的安全模型是以NTFS安全机制为基础的,这样利用资源管理器可以容易地管理使用IIS建立的Web站点的安全性。21 本科毕业设计(论文)文献综述参考文献[1]刘乃丽.精通ASP.NET2.0+SQLServer2005项目开发.[M].北京:人民邮电出版社,2007:100~150.[2]易向东,陈蓓,万英编著.C#程序员开发指南[M].北京:北京希望电子出版社,2006:212~232.[3](美)内格尔,伊夫杰,格林等.C#高级编程(第四版)[M].李敏波.北京:清华大学出版社,2006:80~100.[4](美)KailiWatson.C#2005数据库编程经典教程[M].人民邮电出版社,2007:90~120[5](美)沃尔特,本-甘,萨卡.MicrosoftSQLServer2005技术内幕-T-SQL程序设计[M].北京:电子工业出版社,2007:50~80[6]刘烨,季石磊等.C#编程及应用程序开发教程[M].北京:清华大学出版社,2007:132~180.[7]殷泰晖,张强,杨豹等C#编程从基础到实践,电子工业出版社,2007:100~120.[8]李永平.ASP.NET2.0(C#)基础教程[M].北京:清华大学出版社,2008:123~143.[9]微软公司著.熊盛新,许志庆,李钦译.VisualC#.NET语言参考手册[M].北京:清华大学出版社,2002年:160~180.[10]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006:70~100.[11]马军.精通ASP.NET2.0网络应用系统开发[M].人民邮电出版社,2006:110~140.[12]欧立奇,康祥顺,马煜编著.VisualC#.NET案例开发集锦[M].北京:电子工业出版社,2006:233~245.21 本科毕业设计(论文)开题报告浙江师范大学本科毕业设计(论文)开题报告21本科毕业设计(论文)开题报告学院数理与信息工程学院专业计算机科学与技术(非师范)学生姓名金维律学号05600114指导教师许德武职称讲师合作导师职称论文题目学校图书管理系统的开发一、选题背景和意义随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。二、国内外研究现状、发展动态随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。我国的学校的图书管理也正在逐步与国际接轨。图书管理环节、图书管理方式以及管理的理念都在发生深刻的变化,图书管理工作当然也在变化,因此就要求图书管理工作者学会和掌握计算机应用技术,实现图书管理工作信息化管理。现在国内外的图书馆呈现出以下几个方面的发展趋势:资源趋势、网络化趋势、小型化趋势、个别化服务趋势和数字化趋势。网络已经在图书业获得了最广泛的应用。尤其是最近两年,互联网的发展风起云涌。现在很多的图书馆已经是图书管理自动化、网络化,实现了网上查询检索,网上采访,联合编目,馆际互借,大多数高校的数字图书馆已经出现并应用。21 本科毕业设计(论文)开题报告三、研究的内容及可行性分析研究内容:根据图书管理系统的要满足的实际需求情况与基本服务职能,我们确定了整个图书管理系统应该划分以下6个模块:系统设置、读者管理、图书管理、图书借还、系统查询、排行榜。系统功能结构图如下图所示。图书管理系统系统设置管理员设置书架设置读者管理排行榜图书管理图书借还系统查询读者类型管理图书借阅排行榜读者借阅排行榜图书借阅查询图书档案查询图书归还图书借阅图书档案管理图书类型管理读者档案管理各个模块主要实现的功能:(1)系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息添加删除书架信息。(2)读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读者的档案。(3)图书管理模块:添加删除不同类型的的图书及注明图书可借的天数库存数量、添加删除图书的档案。(4)图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。21 本科毕业设计(论文)开题报告(5)系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版社)查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号、读者名字、到期时间)查询自己借阅图书信息。(6)排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。系统可行性分析:本次毕业设计题目:“学校图书管理系统的开发”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解VisualC#的使用和管理系统的相关知识。现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下几个方面:(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。(2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。(3)运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的资源非常的小。(4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会得到学校工作人员的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。21 本科毕业设计(论文)开题报告四、论文拟解决的关键问题及难点课题开发过程中的关键问题是:1、在数据库的设计过程中要建立合理的表结构,避免数据冗余各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。2、由于开发的是管理系统,这就涉及到安全方面的问题,以避免有些人恶意注册,从而破坏原有信息。因此要进行登录用户身份的验证机制的设计、操作页面的权限保护,解决方法可以从几个方面来考虑:一是通过设定固定帐号的方式;二是限制用户的权限;三是设计数据备份与维护及恢复等功能。3、模块化思想,分模块设计,运行测试。本系统的制作存在难点如下:1、系统数据库的设计:数据库的设计中方面这要着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。2、建立严密的数据表操作机制同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,但也是必须的。在编制时更应加强程序逻辑的可靠性和程序调试的全面性。3、数据库连接、查询、更新和对字符串的检测和转化等操作是经常用到的,如果对每次表单的操作都要重复使用上述操作将对数据库或者程序的设计带来很大的压力,要设计相应的模块来解决这个问题。五、研究方法与技术路线1、研究方法:调查法、案例研究法、行动研究法、文献研究。2、技术路线:系统开发环境:MicrosoftVisualStudio2005系统开发语言:ASP.net+C#运行平台:WindowsXP数据库:SQLServer2005Web服务器:IIS5.1本系统采用Asp.net技术,Asp.net是一种可视化的、面对象和条用事件驱动方式的结构化高级程序设计,可用于开发windows环境下的种类应用程序。它简单易学、效率高,且功能强大。SQLServer2005是一个关系数据库管理系统,是一个全面的、集成的、端到21 本科毕业设计(论文)开题报告端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业的智能应用。IIS(InternetInformationServerInternet信息服务器)是Microsoft公司开发的一种集Web,FTP和Gopher服务于一身的服务器,它可以利用Windows2000Server的各种功能并且能在Internet上发布信息。六、论文的进度安排2008-11-01——2008-12-01理论可行性分析、阅读相关书籍、编写需求分析2008-12-02——2008-12-12系统的总体设计,毕业设计的开题报告撰写2008-12-13——2009-01-20系统模块的划分、开始对相关键模块的编写2009-01-21——2009-03-01具体代码实现,系统各项功能的实现2009-03-02——2009-03-07进行测试,改正2009-03-8——2009-04-08写毕业论文2009-04-09——2009-04-10整理资料,准备答辩七、主要参考文献[1]刘乃丽.精通ASP.NET2.0+SQLServer2005项目开发.[M].北京:人民邮电出版社,2007:100~150.[2]易向东,陈蓓,万英编著.C#程序员开发指南[M].北京:北京希望电子出版社,2006:212~232.[3](美)内格尔,伊夫杰,格林等.C#高级编程(四版)[M].李敏波.北京:清华大学出版社,2006:80~100.第[4](美)KailiWatson.C#2005数据库编程经典教程[M].人民邮电出版社,2007:90~120.[5](美)沃尔特,本-甘,萨卡.MicrosoftSQLServer2005技术内幕-T-SQL程序设计[M].北京:电子工业出版社,2007:50~80.[6]刘烨,季石磊等.C#编程及应用程序开发教程[M].北京:清华大学出版社,2007:132~180.[7]殷泰晖,张强,杨豹等C#编程从基础到实践,电子工业出版社,2007:100~120.[8]李永平.ASP.NET2.0(C#)基础教程[M].北京:清华大学出版社,2008:123~143.[9]微软公司著.熊盛新,许志庆,李钦译.VisualC#.NET语言参考手册[M].北京:清华大学出版社,2002年:160~180.21 本科毕业设计(论文)开题报告[10]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006:70~100.[11]马军.精通ASP.NET2.0网络应用系统开发[M].人民邮电出版社,2006:110~140[12]欧立奇,康祥顺,马煜编著.VisualC#.NET案例开发集锦[M].北京:电子工业出版社,2006:233~245八、指导教师意见签名:200年月日九、开题审查小组意见开题审查小组组长签名:200年月日21本科毕业设计(论文)开题报告21 本科毕业设计(论文)外文翻译浙江师范大学本科毕业设计(论文)外文翻译译文:VisualStudio.NET如何为并发控制生成SQL语句作者:史蒂夫斯坦的VisualStudio团队时间:2002年2月摘要:这篇文章研究VisualStudio®.NET为不同的并发控制方式所产生的SQL语句,如何对它们进行修改可以提高执行效率,以及如何生成不带并发控制的SQL语句。引言任何可能同时被多个用户访问或修改数据的应用程序,都需要进行并发控制。否则,一个用户更改记录时可能不经意的覆盖了其他用户的更改。VisualStudio.NET的设计工具可以生成“保持所有值”方式的开放式并发SQL语句或生成“最后的更新生效”方式的SQL语句来更新数据。这篇文章将解释:l不同的SQL语句是如何生成的l如何修改自动生成的SQL语句可以提高执行效率阅读此文章时应具备的一些知识你需要具备以下知识:l基本的ADO.NET概念,包括数据集(DataSet)以及数据适配器(DataAdapters)。更多信息请参见ADO.NET数据访问介绍(IntroductiontoDataAccesswithADO.NET)。l数据并发机制以及会操作VisualStudio.NET。更多内容请参见介绍ADO.NET中的数据并发(IntroductiontoDataConcurrencyinADO.NET)。自动生成的SQL语句在哪里自动生成的SQL语句在command对象的CommandText属性里。在设计阶段配置DataAdapter对象时或使用CommandBuilder对象时SQL命令被自动生成。更多信息,请参见并发与CommandBuilder对象(ConcurrencyandCommandBuilderObjects)。配置DataAdapter对象l从工具箱的数据选项卡中拖一个DataAdapter对象l从服务器资源管理器拖一个数据表l选中已有的DataAdapter对象,然后单击在属性窗口底部的“配置数据适配器”链接CommandBuilder对象lCommandBuilder对象在运行时刻被创建,更多信息请参阅SqlCommandBuilder或OleDbCommandBuilder。并发控制与数据适配器(DataAdapter)使用“数据适配器配置向导”配置数据适配器时,你可以选择是否使用开放式并发来生成Update和Delete语句。一些思考和注意事项21 本科毕业设计(论文)外文翻译l你的数据源必须有一个主键才能以开放式并发方式生成SQL语句l当使用从“服务器资源管理器”拖放一个数据表的方式来创建DataAdapter对象时,DataAdapter对象自动生成基于开放式并发的Update和Delete语句。如果你不想使用开放式并发,右击DataAdapter对象,从快捷菜单中选择“配置数据适配器”,然后在“高级SQL生成选项”对话框中清除“使用开放式并发”选项的选定。向导则会重新创建不带并发检测的SQL语句。l当重新配置现有的DataAdapter时,应注意“高级SQL生成选项”对话框里的选项已经全部恢复默认。例如最初配置DataAdapter时没有选定“使用开放式并发”选项,但是当重新配置DataAdapter时,“使用开放式并发”选项却会被选定,即便你根本没有打开过“高级SQL生成选项”对话框。l如果你在“数据适配器配置向导”的“选择查询类型”页面选择“使用现有的存储过程”,则“使用开放式并发”选项将不可用。存储过程仍按其原来的方式执行。如果想使用并发检测的话,必须将其包括到存储过程中、或在你的应用程序中编写相应的代码。l当使用开放式并发来创建SQL命令时,不会对二进制数据列验证进行并发处理。这将导致用这种方法对大的二进制记录集执行按位比较算法时的效率低下。用向导生成SQL语句为了理解VisualStudio.NET如何使用开放式并发来生成SQL语句,让我们来看看用“数据适配器配置向导”生成的Update语句。我们将查看同一条语句在选择“使用开放式并发”选项和不选择“使用开放式并发”选项时的不同状态。你会注意到,选择开放式并发与不选择开放式并发所生成SQL语句的区别只存在于Where子句上。注:以下的例子使用用“数据适配器配置向导”生成的Update语句,并从NorthWind示例数据库的Customers表中选择了若干列。使用开放式并发的Update语句这个例子使用了“数据适配器配置向导”的默认配置,即选中了“使用开放式并发”选项。注:当使用开放式并发时,生成的command的参数集里还存在一个参数副本。第二个参数集(带@Original_前缀的那个)保存了最初从数据源里读取的值。检查Where子句发现,每一个生成的语句都要检测数据库当前的值是否等于最初读取的值(例,WHERECity=@Original_City)。通过数据库中的每个字段与最初读取的值相比较,我们很容易确定是否同时有其他用户修改了某个字段。如果Where子句不成立,就没有记录会被修改,与此同时还引发了一个“数据库并发”异常。如果数据源的某个字段为空值(NULL),生成的SQL语句同样验证最初读取的记录是否也为空值。UPDATECustomersSETCustomerID=@CustomerID,CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle,City=@CityWHERE(CustomerID=@Original_CustomerID)AND(City=@Original_CityOR@Original_CityISNULLANDCityISNULL)AND(CompanyName=21 本科毕业设计(论文)外文翻译@Original_CompanyName)AND(ContactName=@Original_ContactNameOR@Original_ContactNameISNULLANDContactNameISNULL)AND(ContactTitle=@Original_ContactTitleOR@Original_ContactTitleISNULLANDContactTitleISNULL);SELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERE(CustomerID=@CustomerID)不使用开放式并发的Update语句这个例子更改了“数据适配器配置向导”的高级选项,没有选中“使用开放式并发”选项。以下的语句表明:只要数据库中一条记录满足CustomerID=@Original_CustomerID,则所有的字段都会被更新。不管这条记录现在是什么样的值,它都将被设置为通过SQL语句传递到数据源的值。在这里没有任何关于并发的检测,也无法得知是否同时有其它用户在更改这条记录。这种方式称为“最后的更新生效”方式。无论以前对这条记录进行过什么样的修改,更新操作都会执行。UPDATECustomersSETCustomerID=@CustomerID,CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle,City=@CityWHERE(CustomerID=@Original_CustomerID);SELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERE(CustomerID=@CustomerID)优化生成的SQL语句VisualStudio.NET生成“保持所有值”方式的SQL语句来实现开放式并发。虽然这可能没有生成最高效的SQL语句,但是它的却生成了可以对数据源所有列(包括主键)进行并发检测的SQL语句。使用“保持所有值”方式实现开放式并发,当执行效率非常低下时,你可以手工修改生成的SQL语句以使它们不检查数据源的所有列。最常见的方式是使用时间戳或版本号字段。如果你的数据源包含一个每次修改记录时都会更新的时间戳字段,你只需要验证数据源中的时间戳和你程序中的时间戳二者是否匹配,就可以知道是否同时有其他用户修改了记录。下面这条SQL语句使用检查时间戳模式。注:  这个例子假设数据库已经设置了时间戳字段UPDATECustomersSETCustomerID=@CustomerID,CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle,City=@CityWHERE(CustomerID=@Original_CustomerID)AND(TimeStamp=@Original_TimeStamp);SELECTCustomerID,CompanyName,ContactName,ContactTitle,City,TimeStampFROMCustomersWHERE(CustomerID=@CustomerID)并发与CommandBuilder对象当应用程序使用SqlCommandBuilder或者OleDbCommandBuilder时,生成的Update21 本科毕业设计(论文)外文翻译和Delete语句的CommandText属性被自动的以开放式并发方式创建。如果你不想用开放式并发,则可以通过修改DataAdapter对象的Update和Delete命令的CommandText属性来实现。更多内容,请参见OleDbCommand.CommandText属性或SqlCommand.CommandText属性。结论当使用开放式并发的“保存所有值”方法时,SQL语句在设计时由VisualStudio.NET的设计工具自动生成或在运行时由CommandBuilde自动生成。它把数据库所有字段(包括主键)当前值与初始值进行比较,这可能不是一种最高效的方式。如果你的数据使用版本号或者时间戳方式控制并发,则可以通过修改生成的SQL语句来获取更高效的执行。21本科毕业设计(论文)外文翻译21 本科科设计(论文)外文翻译原文:HowVisualStudio.NETGeneratesSQLStatementsforConcurrencyControlAuthor:SteveSteinVisualStudioTeamAbstract:ThispaperexaminestheSQLstatementsVisualStudio®.NETgeneratesfordifferentkindsofconcurrencycontrol,howtomodifythemforbetterperformance,andhowtogenerateastatementthatdoesnotuseconcurrencycontrol.(5printedpages).IntroductionAnyapplicationthatmighthavemultipleuserssimultaneouslyattemptingtoaccessandmodifydataneedssomeformofconcurrencycontrol.Otherwise,oneuser"schangescouldinadvertentlyoverwritemodificationsfromotherusers.ThedesigntoolsinVisualStudio.NETcancreateSQLstatementsthatusethe"checkallvalues"approachtooptimisticconcurrencyorthe"last-inwins"approachtoupdatingdata.Thispaperwillexplain:·Howeachofthesestatementtypesaregenerated.·HowtomodifythegeneratedSQLstatementforbetterperformance.PrerequisitesYoushouldhaveanunderstandingof:·FundamentalADO.NETdataconcepts,includingdatasetsanddataadapters.Formoreinformation,seeIntroductiontoDataAccesswithADO.NET.·ConcurrencycontrolbasicsandtheoptionsavailableinVisualStudio.NET.Formoreinformation,seeIntroductiontoDataConcurrencyinADO.NET.WhereAretheSQLStatements?SQLstatementsarelocatedintheCommandTextpropertyofcommandobjects.SQLcommandsareautomaticallygeneratedatdesigntimewhenconfiguringdataadapters,andatruntimewhenusingcommandbuilderobjects.Formoreinformation,seeConcurrencyandCommandBuilderObjets.beforeushaveaddressedoverlaynetworkprogrammingissues.EvenearlyoverlaynetworkConfiguringDataAdapters·DragadataadapterfromtheDatataboftheToolbox·DragatablefromServerExplorer·Modifyinganexistingadapter,byselectingadataadapterandclickingtheConfigureDataAdapterlinkatthebottomofthePropertieswindow.CommandBuilderobjects·Commandbuilderobjectsarecreatedprogrammaticallyatruntime.Formoreinformation,see(SqlCommandBuilderorOleDbCommandBuilder)ConcurrencyandDataAdapters21 本科科设计(论文)外文翻译WhenconfiguringdataadapterswiththeDataAdapterConfigurationWizard,youcandecidewhethertouseoptimisticconcurrencyforthegeneratedUpdateandDeletestatements.ConsiderationsandCaveats·YourdatasourcemusthaveaprimarykeyinorderfortheSQLstatementstobegeneratedtouseoptimisticconcurrency.·WhencreatingdataadaptersbydraggingtablesfromServerExplorer,thedataadaptercreatesUpdateandDeletestatementsthatareautomaticallyconfiguredforoptimisticconcurrency.Ifyoudonotwanttouseoptimisticconcurrency,youcanreconfigurethedataadapter:Right-clicktheadapterandselectConfigureDataAdapterfromtheshortcutmenu,thencleartheUseoptimisticconcurrencyoptionoftheAdvancedSQLGenerationOptionsDialogBox.Thewizardwillrecreatethestatementswithouttheadditionalcodetocheckforconcurrencyviolations.·Whenreconfiguringanexistingdataadapter,notethattheadvancedsettingsallreverttotheirdefaultstate.Forexample,ifyouclearedtheUseoptimisticconcurrencyoptionwhentheadapterwasoriginallyconfigured,itwillautomaticallybeselectedifyoureconfigureit,evenifyoudonotaccesstheAdvancedSQLGenerationOptionsdialogbox.·IfyouselecttheUseexistingstoredproceduresoptionintheChooseaQueryTypesectionoftheDataAdapterConfigurationWizard,theoptiontouseoptimisticconcurrencyisnotavailable.Thestoredprocedureswillexecuteasis,andanydesiredconcurrencycheckingmustbedonewithinthestoredprocedure,orprogrammaticallybuiltintoyourapplication.。Whencommandsaregeneratedtouseoptimisticconcurrency,noverificationwillbeperformedonbinarycolumnstodeterminewhetherconcurrentchangeshavebeenmade.Theresourcestoperformabit-by-bitcomparisonofalargebinaryrecordwouldbeextremelyinefficient.canbeusedasakeytoSQLStatementsGeneratedbytheWizardTounderstandhowVisualStudio.NETconstructsSQLstatementsthatuseoptimisticconcurrency,letusinspecttheUpdatestatementgeneratedbytheDataAdapterConfigurationWizard.WewilllookatthesamestatementgeneratedbothwithandwithouttheUseoptimisticconcurrencyoptionselectedintheAdvancedSQLGenerationOptionsdialogboxofthewizard.YouwillnoticethedifferencesbetweenstatementsthateitheruseoptimisticconcurrencyornotarelocatedintheWhereclause.Note   ThefollowingexamplesusetheUpdatecommandthatisgeneratedbyrunningtheDataAdapterConfigurationWizard,andselectingseveralcolumnsfromtheCustomerstableintheNorthwindsampledatabase.UpdateStatementUsingOptimisticConcurrencyThisexampleusesthedefaultsettingsoftheDataAdapterConfigurationWizard,whichhastheUseoptimisticconcurrencyoptionselected.21 本科科设计(论文)外文翻译Note   Whenusingoptimisticconcurrency,thecommandsaregeneratedwithasecondsetofparameters.Thissecondsetofparameters(theoneswiththe@Original_prefix)storethevaluesthatareinitiallyreadfromthedatasource.ExaminingtheWhereclauseinthefollowingstatementrevealsthatallfieldsareinspectedtomakesurethecurrentvalueforeachfieldinthedatabaseisequaltothevaluethatwasoriginallyreadintothedataset(forexample,WHERECity=@Original_City).Bycomparingeachfieldinthedatabasewiththeoriginalvalue,itiseasytodetermineifaconcurrentuserhasmodifiedafield.IftheWhereclauseisnotsatisfied,norecordsareupdatedandaDBConcurrencyExceptionisraised.Ifafieldinthedatasourcecontainsanullvalue,thestatementalsoverifiestheoriginalrecordcontainedanullvalue.UPDATECustomersSETCustomerID=@CustomerID,CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle,City=@CityWHERE(CustomerID=@Original_CustomerID)AND(City=@Original_CityOR@Original_CityISNULLANDCityISNULL)AND(CompanyName=@Original_CompanyName)AND(ContactName=@Original_ContactNameOR@Original_ContactNameISNULLANDContactNameISNULL)AND(ContactTitle=@Original_ContactTitleOR@Original_ContactTitleISNULLANDContactTitleISNULL);SELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERE(CustomerID=@CustomerID)UpdateStatementWithoutOptimisticConcurrencyThisexamplemodifiestheadvancedsettingsoftheDataAdapterConfigurationWizardandclearstheUseoptimisticconcurrencyoption.ExaminingthefollowingstatementrevealsthatallfieldswillbeupdatedaslongasarecordexistsinthedatabasewhereCustomerID=@Original_CustomerID.Nomatterwhatvaluesexistinthisrecord,theywillallbesettothevaluespassedthroughthisstatement.Thereisnoverificationtocheckifaconcurrentuserhasmodifiedtherecord.Thisiscalledthe"last-inwins"approach,becausenomatterwhatmodificationshavebeenperformedontherecord,theupdatewillstillbeperformed.UPDATECustomersSETCustomerID=@CustomerID,CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle,City=@CityWHERE(CustomerID=@Original_CustomerID);SELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERE(CustomerID=@CustomerID)OptimizingtheGeneratedSQLStatementVisualStudio.NETgeneratesSQLstatementsthatusethe"checkallvalues"approachtooptimisticconcurrency.Althoughthismaynotgeneratethemostefficientstatement,itdoescreateastatement21 本科科设计(论文)外文翻译thatcancheckforconcurrencyviolationsonanydatasourcecontainingaprimarykey.Ifthe"checkallvalues"approachtooptimisticconcurrencyprovesinefficient,youcanmodifythegeneratedcommandtextsoitdoesnothavetocheckeveryoriginalvalueagainstthevaluesinthedatasource.Themostcommonwaytoaccomplishthisiswithatimestamporversionfield.Ifyourdatacontainsatimestampfieldthatisupdatedeverytimethedatachanges,youneedonlycheckthetimestampinyourapplication"srecordagainstthetimestampinthedatasourcetodetermineifaconcurrentuserhaschangedtherecord.Note   Thisexamplepresumesthetimestamphasbeengeneratedinthedatabase.UPDATECustomersSETCustomerID=@CustomerID,CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle,City=@CityWHERE(CustomerID=@Original_CustomerID)AND(TimeStamp=@Original_TimeStamp);SELECTCustomerID,CompanyName,ContactName,ContactTitle,City,TimeStampFROMCustomersWHERE(CustomerID=@CustomerID)ConcurrencyandCommand-BuilderObjectsIfyourapplicationusesSqlCommandBuilderorOleDbCommandBuilder,thecommandtextoftheUpdateandDeletestatementsisautomaticallyconfiguredforoptimisticconcurrency.Ifyoudonotwanttouseoptimisticconcurrency,youcanprogrammaticallymodifytheCommandTextpropertyofthedataadapter"sUpdateandDeletecommands.Formoreinformation,seeOleDbCommand.CommandTextpropertyorSqlCommand.CommandTextproperty.ConclusionTheSQLstatementsthatareautomaticallygeneratedbythedesigntoolsinVisualStudio.NETorbycommandbuilderobjectsusethe"checkallvalues"methodofoptimisticconcurrency.Althoughthismaynotbethemostefficientapproachforallsituations,itgeneratesaconcurrency-checkingstatementonanydatasourcethatcontainsaprimarykey.Ifyourdatausesversionnumbersortimestamps,youcanmodifythegeneratedSQLstatementsforbetterperformance.SendfeedbackonthistopicMicrosoft©MicrosoftCorporation.Allrightsreserved.21 本科毕业设计(论文)外文翻译2译文2:统一建模语言UML分层抽象建模机制电子科技大学计算机科学与工程学院成都吴跃罗吴蔓摘要:在总结传统软件开发方法经验的基础上,严格遵守软件开发方法原则,从UML建模思想出发,对传统UML三层抽象建模结构进行了分析,并引入“抽象”和“分解”作为UML建模的核心思想;提出了UML分层抽象建模机制的构想,将计算机系统开发过程概括为对功能信元、结构信元、关联信元、实现信元和集成信元的提取过程,并以此作为UML建模的指导。有效了利用UML完整语义定义,克服了传统面向对象开发方法的缺陷;实现了建模过程从需求到分析的过渡以及功能和实现事实上的分离。关键词:统一建模语言;抽象;分解;分层建模;信元1.UML的一些概念1.1使用情况一种使用情况是一个功能的紧密单元,由一个系统或者类提供,前后一致的信息在外力的相互作用(叫做角色)下,一个或多个信息交换的顺序以及系统进行的活动。1.2类一个类是有相似的结构,行为和关系的一套对象的描述符。一个类可以使用一套接口来指定操作的收集并提供环境。类可以是抽象和可执行的。1.3接口一个接口是可以用于确定一种服务的操作收集的宣告,由一个类(对象)的实例提供。一个接口能命名一次行动的收集,并且指定他们的签名和协议。一个接口为它的行动没有提供实施(方法)。1.4包一个包是一个类那样的组模型要素。一个包可以包含两个下属包和普通的模型要素。一些包可以是子系统或者模型。整个系统描述可以在它的其它任何事情上,认为是单个的高级子系统包。1.5组成部分组成部分是执行一个系统重要的,差不多独立和可替换的部分,来完成一个明确的清楚的系统功能。一个组成部分与接口相符并且提供一套物理接口来实现。一个组成部分可以是一个或更多类。2.两种模型化想法被提出全世界,对于软件有一个贪婪的需求。一方面,需要增加更多的一切功能性,灵活性,稳定性的软件,来保证软件复杂性,改进工具和人智力的限制;另一方面,当系统运转时,它变得越来越难以理解和表述大的行为模式,被一个系统的组成部分共同取得。建造完美对象系统的模型是整个系统设计的关键任务。由于这些原因,紧急发现是简化整个设计,对模型化的一些指导处理并且提高软件的效率发展。21 本科毕业设计(论文)外文翻译2基于工程惯例的经验,我们提出两种模型化想法:抽象概念和分解。他们也有两个基本关于人的想法,当人们能认识和管理他们试图解决的那些问题的复杂性。抽象概念是什么?面临一个问题时,当我们忽视分部和结时,我们经常想要知道它的普通属性。我们叫这种方法抽象概念。在软件工程领域,抽象概念有两种意思。第一是分析复杂系统时,设计者区分必要和非本质因素,为了得到摆脱非本质事情的本质问题。通过这样做,设计者正好能描述对象系统的结构并且改变无结构系统到系统的结构上。有意义的抽象概念的另一个不是在模块化过程期间,设计者一般对更高的标准化的低层的功能分层标准化。通过这样做,更高的层抽象概念的机制可以形成。抽象概念可以分解为两个层。更高的层被称为特定说明,指定抽象概念“做什么”。低层被称为实现,是解决抽象概念的问题“怎样做”。因为抽象概念的应用,软件设计者能考虑在不同问题里的,在不同发展阶段期间的层抽象概念。基于这个策略分解分而治之。它是用来解决整体设计复杂性上的对象系统。在软件开发期间,分解作为"模块化和体现信息隐藏"。从概念技术,分解抽象概念的提炼的接近,例如,一步一步的精炼的想法。分解的反面,分解组成之后是一种软件实现的重要方法。3.在UML里的抽象概念的3个分层结构图1显示了在UML里抽象概念的传统的3个分层结构。我们使用抽象概念和分解的方法来分析它。3.1概念在这个层期间,对象系统的全部模型要素是在应用领域中概念。使他们认识到,这些概念由软件与程序独立的提供。3.2说明在这个层期间,全部概念逐渐形成单元,它们相互作用,彼此取得明确的功能,高层的分解和低层的抽象概念,因为它只描述隐藏实现他们时由功能单元提供的接口。3.3实施这个层描述实现功能单位。这个层的模型或更多为大多数人所熟知。但是实际上,模式的那些层说明更赞成在那些开发者之间彼此的理解和交流。4.UML的抽象观念模型化机制基于抽象概念的3个分层结构,我们提出UML抽象概念模型化机制,用图2表示。在这个模型化机制过程中,我们集中于关键消息支配模型化处理和抽象他们的5不同单元:功能单元,结构单元,服务单元,实施单元和积分单元,描述5个在不同阶段的抽象概念层。在以前的阶段产生的单元是在更晚的阶段产生的单元的抽象概念。4.1功能单元人们对应用领域的熟识是从它的功能开始的。理解功能在应用领域中,帮助理解。因此功能单元的作用是用这把从应用领域和模型化设计决定的钥匙来开车,对于它来说是整个模型化过程。功能单元属于概念层抽象概念结构,在UML里和作为使用情况体现。使用案例可以是更大或是一个用户的综合描述提供的小目标。模型化使用案例是人栩栩如生重现在应用领域的精神印象。21 本科毕业设计(论文)外文翻译2使用案例拥有强大的远的影响设计决定。对找到完美的使用案例,设计者依赖经验,迭代,和探索法。因此当上升使用来自系统的案例时,我们应该再三考虑:根据那些角色的需求,那个功能应该被系统提供,通过那些角色,多少信息应该被读,创造,删除,修改,或者储存,通过系统,需要输入和输出中的多少类型,以及输入来自哪输出又去向哪。把函数定义为单元是一个先进的需求分析,设计延续其他类单元的高级设计并且意识到他们过后增加彼此的相互作用。4.2结构单元在为他们确定函数单元和模型化之后,我们可以考虑选择过去常常彼此相互作用完成功能单元描述的一个具体的功能结构为单元。结构单元是形成整个软件的单位。对他们进行好的选取是系统的基础。结构单元也属于概念层并且作为类体现以及对象。类和对象是在面向对象的设计过程中的基本要素。在应用过程中的实体类和在UML里的他们的协会的领域地图。在这服务水平的类作为一个词汇必要的设计概念和为在那之后做更详细的基于类的设计作为一个基础。很多事情和类模型抽象概念一样有用,并非在面向对象里的类阶层实施。在这水平上,他们一定要从那些最后实施那里远距离的,可以帮助应用领域理解。这里给出一些类选择的一些指导:只用文献证明应用领域的静止的实体,节约使用继承或通过忽视方法的行为。4.3服务单元到目前为止我们确定的单元鉴定的信息是在应用过程中的全部固定角色领土。例如,我们命名升降机和电动机为这个升降机控制系统内的类,但是忽视类似像层那样升降机的那些问题和电动机运转的方式。当他们工作时,单元服务得到的目的是发现那些服务在他们之间以单元结构提供。总而言之,建立基础,建造在结构单元之间的动态的合作。正如在上面所描述的那样,说明层是理解UML模型的最好入口。知道它提供的服务,是认识到体系单元的唯一的路径。在UML里,服务单元作为体系单元的接口封装。因为在面向对象系统里,每个实体和它需要或提供的服务被制订进一种类和它的接口。每个类提供并且使用通过它的接口的服务,具体的说,活动在接口里确定。我们进一步精炼而分开自己的那些接口类,改变类从概念水平到说明水平。因此工作的关键是分解并且精炼结构单元,指定他们提供并且在隐藏实现细节时需要的服务。4.4实施单元到目前为止我们已经指定整个系统的框架,来实施抽象概念层。现在该集中我们的注意力,确定实施单元。换句话说,在服务单元过程中实现每次操作的方法。在UML内,方法的实现设计相应算法并且使用具体程序语言来实施它。作为结果,零部件软件和软件设计的主要工作被完成。我们也能拿现有的组成部分实现服务单元。UML不仅基于OO而且此外还支持软件重用。与组成部分的积累一起,利用存在合理的资源能从头到脚避免过程。4.5综合单元综合单元集中于实现整个系统。我们知道现在系统是经常分开软件和部分硬件,在通信网络上方分配。系统集成已经变得越来越重要。21 本科毕业设计(论文)外文翻译2系统集成的任务是制订每种模型化要素类、物体、操作、方法等等,在功能被确定单元,单元结构,单元和单元实施服务对物理计算机节点。根据系统,网络拓扑结构结合不同计算机和不同的系统操作。因此在他们上运行,要在这个层做的主要工作是研究对象系统硬件的拓扑结构和软件。我们把信息与系统集成有关的这些作为综合单元。在UML里的综合单元作为节点体现和他们的连接,组成部分和接口、对象。5.结论我们建造分层的抽象概念模型化机制的动力是提供在UML模型化过程中的研究线索。更多工作应该被精炼,选择5种工作多种单元和UML制订的定义,以及结合面向对象的技术并且软件重用技术完全最大化的提高我们的产品质量。[1]BuhrRJA,CasselmanRS.Usecasemapsforobject-orientedsystems.NewYork:Prentice-HallInternationalInc,1999[2]ZhangFengli,GeXiaofeng,LuXianliang.Designandimplementofcomprehensivequerysystembasedondatawarehouse.JournalofUniversityofElectronicScienceandTechnologyofChina,1999[3]KruchtenPhilippe.Modelingcomponentsystemswiththeunifiedmodelinglanguage.RationalSoftwareCorp,1998[4]MeiDenHua.Aobject-orientedmulticomputersoftwaresystemreliabilitymodel.JournalofUniversityofElectronicScienceandTechnologyofChina,1999[5]UMLSemanticsGuide,version1.1.1997,http://www.rational.com/uml[6]WuYue,YuShui,FuYan,etal.OnInternetdatabaseaccessingtechnology.JournalofUniversityofElectronicScienceandTechnologyofChina,200121 本科毕业设计(论文)评审表(学生姓名:金维律学号:05600114)原文2:UMLModelingMechanismBasedonLayeredStructureofAbstractionCollegeofComputerScienceandEngineering,UESTofChinaChengdu610054WuYueLuoWumanAbstract:ThispaperintroducesUML(UnifiedModelingLanguage)modelingmethod.BasedontheexperienceoftraditionalsoftwaredevelopmentmethodandtheanalysisoftraditionalthreelayeredstructureofabstractioninUML,twoideasofabstractionanddecompositionarebroughtforwardasthekernelmodelingideasofUMLtoconstructtheabstractionmodelingmechanismofUMLthattheprocessofcomputersystemintotheprocessofpickingupfivecells:thefunctioncell,thestructurecell,theservicecell,theimplementationcellandtheintegrationcell.ThepurposeistomakeuseofthewholesemanticsofUMLeffectivelyandtogetoverimitationoftraditionalOOmethodandeventuallytoachievetheperfectlytransitionfromrequirementtoanalysisandvirtualseparationoffunctionandimplementation.Keywords:unifiedmodelinglanguage;abstraction;decomposition;layeredmodeling;cell1.SomeConceptsofUML1.1UsecaseAnusecaseisacoherentunitoffunctionalityprovidedbyasystemorclassasmanifestedbysequencesofmessagesexchangedamongthesystemandoneormoreoutsideinteractors(calledactors)togetherwithactionsperformedbythesystem..1.2ClassAclassisthedescriptorforasetofobjectswithsimilarstructure,behavior,andrelationships.Aclassmayuseasetofinterfacestospecifycollectionsofoperationsitprovidestoitsenvironment.Classmaybeabstractandexecutable.1.3InterfaceAninterfaceisadeclarationofacollectionofoperationsthatmaybeusedfordefiningaserviceofferedbyaninstanceofclass(object).Aninterfaceservestonameacollectionofoperationsandspecifytheirsignaturesandprotocols.Aninterfaceoffersnoimplementation(method)foranyofitsoperations.1.4PackageApackageisagroupofmodelelementssuchasclasses.Apackagemaycontainbothsubordinatepackagesandordinarymodelelements.Somepackagesmaybesubsystemsormodels.Theentiresystemdescriptioncanbethoughtofasasinglehigh-levelsubsystempackagewithanythingelseinit.1.5Component21 本科毕业设计(论文)评审表(学生姓名:金维律学号:05600114)Acomponentisanon-trivial,nearlyindependentandreplaceablepartofasystemthatfulfillsaclearfunctioninthecontextofawell-definedarchitecture.Acomponentconformstoandprovidesthephysicalrealizationofasetofinterfaces.Acomponentmaybeoneormoreclass.2.TwoModelingIdeasBroughtForwardWorldwide,thereisaninsatiabledemandforsoftware.Ononehand,everincreasingdemandsonsoftwareformoreofeverything——functionality,flexibility,reusability,robustness——seemtoensurethesoftwarecomplexitykeeppushingthelimitsofbothtoolsandhumanintellect;ontheotherhand,itbecomesmoreandmoredifficulttounderstandandexpressthelarge-grainedbehaviorpatternsthatwillbejointlyachievedbythecomponentsofasystemwhilethesystemisrunning.Soconstructingperfectmodelsforobjectsystemisthekeytaskofthewholesystemdesign.Forthesereasons,itisurgenttofindsomeguidanceformodelingtosimplifythewholedesignprocessandenhancetheefficiencyofsoftwaredevelopment.Basedontheexperiencesofengineeringpractices,webringforwardtwokernelmodelingideas:abstractionanddecomposition.Theyarealsotwobasicthoughtsofhumanwhenhumanrecognizetheworldandmanagethecomplexityoftheproblemsthattheyaretryingtoresolve.Whatisabstraction?Whenfacedwithaproblem,weoftenwanttoknowitscommonattributeswhileignorethebranchesandknots.Wecallthismethodabstraction.Inthefieldofsoftwareengineering,abstractionhastwomeanings.Thefirstisthatwhenanalyzingthecomplexsystems,designersdistinguishheessentialandnonessentialfactorsandgetridofthenonessentialthingsinordertogettheessenceoftheproblem.Bydoingso,designerscandescribethestructureoftheobjectsystemsexactlyandtransformthestructurelesssystemstothestructuralsystems.Anothermeaningofabstractionisthatduringtheprocessofmodularization,designersgeneralizethefunctionsofthelowerlayermodulartothehigherlayermodular.Bydoingso,mechanismofhigherlayerabstractioncanbeformed.Abstractioncanbedecomposedintotwolayers.Thehigherlayeriscalledspecification,whichspecifiestheabstraction"whattodo".Thelowerlayeriscalledrealization,whichresolvestheproblemofabstraction“howtodo”.Becauseoftheapplicationofabstraction,softwaredesignersareabletoconsiderproblemsindifferentlayersofabstractionduringdifferentphasesofdevelopment.Decompositionisbasedonthestrategyofdivideandrule.Itisusedtoresolvethedesigncomplexityoftheobjectsystemasawhole.Decompositionisembodiedas“modularizationandinformationconcealment”duringthesoftwaredevelopment.Fromtheviewoftechnology,decompositionistheapproachoftheconcretionofabstraction,forexample,theideaofrefinementstepbystep.Reversetodecomposition,compositionisanimportantapproachofsoftwareimplementationafterdecomposition.3.ThreeLayeredStructureofAbstractioninUMLFig.lshowsthetraditionalthreelayeredstructureofabstractioninUML.Weusetheideasofabstractionanddecompositiontoanalyzeit.21 本科毕业设计(论文)评审表(学生姓名:金维律学号:05600114)3.1ConceptionDuringthislayer,allthemodelelementspickedupfromobjectsystemareconceptionsinapplicationdomain.Theseconceptionsareprovidedindependentofthesoftwareandprogramminglanguagesthatrealizethem.3.2SpecificationDuringthislayer,alltheconceptsareevolvedintotheunitsthatinteractwitheachothertoachieveanexplicitfunction,whichisthedecompositionoftheupperlayerandtheabstractionofthelowerlayerbecauseitonlydescribestheinterfacesprovidedbyfunctionunitswhileconcealingtherealizationofthem.3.3ImplementationThislayerdescribestherealizationofthefunctionunits.Themodelsofthislayerperhapsaremorefamiliartomostofpeople.Butinfact,themodelsofthespecificationlayeraremoreinfavoroftheunderstandingandcommunicationwitheachotherbetweenthedevelopers.4.AbstractionModelingMechanismofUMLBasedonthethreelayeredstructureofabstraction,webringforwardtheabstractionmodelingmechanismofUML,showninFig.2.Inthismodelingmechanism,wefocusonthekeymessagesdominatingthemodelingprocessandabstractthemtofivedifferentcells:thefunctioncell,thestructurecell,theservicecell,theimplementationcellandtheintegrationcell,whichrepresentfivekernelstagesatdifferentabstractionlayers.Thecellsborninformerstagesaretheabstractionofthecellsborninlaterstages.4.1FunctionCellPeople"sacquaintanceoftheapplicationdomainbeginswithitsfunctionsinit.Comprehendingthefunctionsaidsinapplicationdomainunderstanding.Sopickingupthefunctioncellswilldrivethekeydesigndecisionsfromtheapplicationdomainandmodeling,foritistheexordiumofthewholemodelingprocess.ThefunctioncellbelongstotheconceptionlayeroftheabstractionstructureinUMLandisembodiedasusecases.Anusecasemaybelargerorsmalleraslongasitprovidestheintegrateddescriptionofoneusertarget.Modelingusecasesisthelifelikerecurrenceofpeople"smentalimpressioninapplicationdomain.Usecaseshaveastrongeffectonfurtherdesigndecisions.Tofindperfectusecases,designersrelyonexperience,iteration,andheuristics.Sowhenpickingupusecasesfromthesystem,weshouldthinkover:whichfunctionsshouldbeprovidedbythesystemaccordingtothedemandsoftheactors,howmanykindsofinformationshouldberead,created,deleted,modified,orstoredbytheactors,howmanytypesofinputsandoutputsareneededbysystems,andwheredotheinputscomeandoutputsgo.Definingfunctioncellsisanadvancedrequirementanalysisthatseguesseamlesslyintohigh-leveldesignforotherkindsofcellsaredesignedandaddedlatertointeractwitheachothertorealizethem.21 本科毕业设计(论文)评审表(学生姓名:金维律学号:05600114)4.2StructureCellAfterdefiningthefunctioncellsandmodelingforthem,wemayconsiderselectingstructurecellsusedtointeractwitheachothertoaccomplishaspecificfunctiondescribedbythefunctioncell.Structurecellsaretheunitsformingthewholesoftware.Awellselectionofthemisthefoundationoftheextensibilityofthesystem.Structurecellalsobelongstotheconceptionlayerandisembodiedasclassesandobjects.Classesandobjectsarethebasicelementsinobjectorienteddesign.TheentitiesintheapplicationdomainmapintoclassesandtheirassociationsinUML.Classesatthislevelserveasavocabularyofessentialdesignconceptsandactasabasisfordoingmoredetailedclass-baseddesignafterwards.Classesareusefulasabstractconceptstomodelmanythings,notjustclasshierarchiesinobjectorientedimplementation.Soatthislevel,theymustbequitedistantfromthefinalimplementation,thusaidinapplicationdomainunderstanding.Heregivesomeguidelinesfortheselectionoftheclassesatthislevel:onlydocumentingthestaticentitiesoftheapplicationdomain,usinginheritancesparinglyordownplayingbehaviorbyignoringmethods.4.3ServiceCellUptonowtheinformationidentifiedbythecellswedefinedareallstaticcharactersinapplicationdomain.Forexample,wenametheelevatorandmotorastheclassesintheelevatorcontrollingsystem,butignoretheproblemssuchaswhichfloortheelevatorwillgoandthewaythemotorworks.Thepurposeofpickinguptheservicecellsistofindtheservicesprovidedbystructurecellsandtheassociationsbetweenthemwhentheywork.Inoneword,establishthefoundationforconstructingthedynamicassociationsbetweenstructurecells.Asdescribedabove,thespecificationlayeristhebestentranceforunderstandingtheUMLmodels.Theonlywaytorealizethestructurecellistoknowtheservicesitprovides.InUML,servicecellsareencapsulatedastheinterfacesinstructurecells.Becauseinobject-orientedsystems,eachentityandservicesitneedsorprovidesaremappedintoaclassanditsinterface.Eachclassprovidesandusesservicesthroughitsinterface,concretelyspeaking,throughtheoperationsdefinedininterfaces.Werefinetheclassesonelevelupandaparttheinterfacesfromtheclassitselfandtransformtheclassesfromtheconceptionleveltothespecificationlevel.Sothekeyworkatthislevelistodecomposeandrefinethestructurecellstospecifytheservicestheyprovideandneedwhileconcealingtherealizationdetails.4.4ImplementationCellUptonowwehavespecifiedtheframeworkofthewholesystemandcometotheimplementationabstractionlayer.Nowitistimetocentralizeourattentiontodefinetheimplementationcells,inotherwords,toimplementthemethodofeachoperationintheservicecells.InUML,therealizationofthemethodistoprogramminglanguagetoimplementit.Astheresult,designcorrespondingarithmeticandusespecificthecomponentsofthesoftwarearemadeandthemainworkofsoftwaredesigniscompleted.21 本科毕业设计(论文)评审表(学生姓名:金维律学号:05600114)Wecanalsopickupexistingcomponentstorealizeservicescells.UMLnotonlyisbasedonOObutalsosupportsthesoftwarereuse.Alongwiththeaccumulatingofcomponents,makinguseoftheexistingresourcesinreasoncanavoidtheprocessfromtoptotoe.4.5IntegrationCellIntegrationcellfocusesontherealizationofthewholesystem.Weknowthatnowadayssystemsareoftenpartsoftwareandparthardwareanddistributedovercommunicationnetworks.Systemintegrationhasbecomemoreandmoreimportant.Thetaskofsystemintegrationistomapeachkindofmodelingelementclass,object,operation,methodetc,whicharedefinedinfunctioncell,structurecell,servicecellandimplementationcelltothephysicalcomputernodes.Accordingtothesystem,networktopologystructureintegratesthedifferentcomputersanddifferentsystemoperations.Sothemainworktodoatthislayeristoresearchthephysicaltopologystructureofsystemhardwareandthesoftwarerunningonthem.Wecalltheseinformationrelatedtosystemintegrationasintegrationcells.TheintegrationcellsinUMLareembodiedasnodesandtheirconnections,componentsandtheirinterfaces,objects.5.ConclusionThemotivationweconstructthelayeredabstractionmodelingmechanismistoprovideathreadfortheresearchinUMLmodeling.MuchmoreworkshouldbedonetorefinetheworkoftheselectionfivekindsofcellsandthedefinitionsmappedtoUML,aswellascombiningtheobjectorientedtechnologyandsoftwarereusetechnologyperfectlytomaximatilyenhancethequalityofourproducts.21'