




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象的图书馆管理系统分析与设计毕业设计报告面向对象的图书馆管理系统分析与设计object-oriented analysis and design of the library management system学 院: 数学与计算机学院 51前 言随着科学技术的发展,计算机技术在图书馆领域得到广泛应用,逐步实现了自动化管理应用系统,在图书馆中发挥着越来越重要的作用。利用现代计算机技术和网络通讯技术,对图书信息进行科学的管理、有效的开发、实现资源共享、实现图书馆的现代化管理,是图书馆的重要内容之一。本系统以面向对象方法为指导思想,依托visual studio.net开发平台,c#这种全新
2、的面向对象语言,相信开发过程会变得如此有趣、方便。同时,sql server 2000将给我们提供强大的后台数据支持,而我们不必担心数据溢出、数据安全性、和前台程序的兼容性等问题。对于问题的分析过程,uml(统一建模语言)将为我们提供直观、科学的软件分析手段。同时我们还将应用一系列辅助工具,例如,动软.net代码自动生成器,ibm数据加密工具等。相信此项目的实施会让我们获取宝贵的经验。目 录前 言i目 录ii第一章 绪 论11.1 引言11.2面向对象软件开发21.2.1面向对象编程21.2.2面向对象软件原理21.2.3面向对象分析(ooa, object-oriented analysis
3、)31.2.4面向对象设计(ood, object-oriented design)31.3 visual studio.net集成开发环境31.4 c#编程语言41.4.1 c#语言概述41.4.2语法和语义41.4.3 c#标识符和保留字41.4.4 c#原始数据类型51.5 uml概述61.6 sql server 2000简介61.7动软.net代码自动生成器7第二章 可行性研究报告82.1编写目的82.2项目背景82.3定义82.4 可行性研究的前提92.4.1 要求92.4.2 目标102.5 对现有系统的分析112.5.1 处理流程和数据流程112.5.2 工作负荷112.6 对
4、系统的简要描述12第三章 需求规格说明书133.1 编写目的133.2 定义133.3 任务概述133.3.1 目标133.3.2 条件限制143.4 数据描述143.4.1静态数据143.4.2数据库介绍173.4.3动态数据173.5功能需求183.5.1功能划分183.5.2功能描述183.6性能需求213.6.1数据精确度213.6.2时间特性213.6.3适应性213.7运行需求213.7.1用户界面213.7.2硬件接口223.7.3软件接口223.7.4故障处理223.8其他需求22第四章 概要设计说明书234.1编写目的234.2定义234.3总体设计234.3.1处理流程23
5、4.3.2总体结构254.4 接口设计264.5 数据结构设计274.5.1逻辑结构设计274.5.2物理结构设计284.5.3数据结构和程序的关系284.6运行设计294.6.1运行模块的组合294.6.2运行控制29第五章 系统命名规则设计305.1总体规则305.2采用类进行编码305.3后台数据结构定义规则305.4对象名称定义规则315.5编码设计31第六章 详细设计说明书336.1编写目的336.2定义336.3程序描述346.3.1主模块346.3.2 全局类356.3.3 login类(系统登录窗体类)376.3.4 bookborrowform类(图书借阅窗体类)376.3.
6、5 bookreturnform类(图书归还窗体类)386.3.6 图书预定模块396.3.7 图书管理模块426.3.8 读者管理模块446.3.9 管理员管理446.3.10 统计查询446.4 详细设计说明45小 结46致 谢47参考文献48第一章 绪 论1.1 引言正如本课题题目面向对象的图书馆管理系统分析与设计所言,面向对象软件开发方法将是本系统分析、开发贯穿始终的指导思想。图书管理是一个十分复杂和繁琐的过程,面对现代图书馆海量的图书信息,一套行之有效的解决方案将使此过程变得尤为简单,这就是图书馆管理系统。在以下的分析设计中,我们将以此为模型展开研究。图书馆管理系统能够高效的完成图书
7、管理员的基本业务需求和系统管理员的管理需求,并能根据需要,完成读者所提出的需求。是图书馆日常管理不可或缺的管理系统。用户类型业务类型具体操作读者申请服务借阅图书归还图书预定图书图书管理员基本业务借阅图书归还图书预定图书系统管理员图书管理新书入库更新图书信息(修改、删除)查询图书信息读者管理读者登记更新读者信息(修改、注销)查询读者信息系统设置查询统计、基本设置等表1-1 图书馆管理系统主要功能描述本着以用户需求为目标的开发原则,以面向对象软件开发方法为指导思想,以最新的.net为开发平台,c#为开发语言,uml建模的直观描述以及sql server 2000的强大后台数据库管理等方法、技术为依
8、托。“图书馆管理系统”的开发过程将以模块化的开发方法,将系统分为图书管理、读者管理、图书借阅、图书归还和图书预定等模块,在完成基本功能的前提下逐步完善。相信本项目的开发和设计将让我们获益匪浅。1.2面向对象软件开发1.2.1面向对象编程面向对象软件开发的原理已经出现很多年了,实质上在高级编程语言使用以来就存在了。在20世纪80年代和90年代,面向对象编程开始广为流行,这在很大程度上是因为c+和java这样的编程语言的发展。它现在已经成为商业软件开发的主流方法。面向对象方法最吸引人的特征之一就是对象可以用来非常有效地表示真实世界中的实体。比如,我们可以使用一个软件对象来表示公司的员工。我们为每个
9、员工创建一个对象,每个都具有我们需要表示的行为和特征。用这种方法,面向对象编程允许我们在程序和程序表示的实际环境之间建立映射。也就是说,面向对象方法使解决问题变得容易,这是编写程序的第1要点。1.2.2面向对象软件原理面向对象编程最终需要牢固理解下列术语:l 对象l 属性l 方法l 类l 封装l 继承l 多态1 对象(object)是程序中的基本元素。一个软件对象通常表示了我们问题域中的一个真实对象。每个对象都有一个状态(state)和一个行为(behavior)的集合。“状态”是指当前定义对象的基本特征。一个对象的行为是和对象相关的活动。除对象之外,c#程序也管理原始数据。原始数据(prim
10、itive data)包括了基本的值,比如数字和字符。对象通常表示了更有趣或者更复杂的实体。对象的属性(attribute)是它内部存储的值,可以表示为原始数据或者其他对象。方法(method)是给定名称的一组程序语句。当方法触发时执行它的语句。一组方法和一个对象相关联。对象的方法定义了它的潜在的行为。归纳起来就是:每个对象有一个状态,通过它的属性定义;还有一组行为,通过它的方法定义。2 通过类(class)来定义。类是一个模型或者蓝图,对象从其中创建。类是对象的蓝图。它建立了数据的类型,这种类型的对象将保持和定义了代表这类对象行为的方法。但是,类不是对象,正如蓝图是设计模型而不是房子一样。一
11、般来说,类不包括存储数据的空间。每个对象有它自己的数据的空间,这也是为什么每个对象可以有它自己的状态。定义了一个类之后,可以从这个类创建多个对象。类是对象的抽象,对象是类的实例。3 对象应该被封装(encapsulate),这意味着它保护和管理自己的信息。也就是说,对象可以自我管理。一个对象的状态的唯一改变应该由这个对象的方法来完成。我们应该将对象设计成为其他对象不能“接触”和改变它的状态。类可以通过使用继承(inheritance)从其他类中创建。也就是说,一个类的定义可以基于已经存在的另外一个类。继承是软件重用(software reuse)的一种形式,利用了我们想要创建的不同种类的类之间
12、的相似性。一个类可以用来派生多个类。派生的类可以用于派生更多的类。这创建了类的继承关系表,定义在一个类中的属性和方法可以由它的孩子们继承,而相应地它的孩子们又可以将这些传递给它们的孩子,以此类推。多态(polymorphism)是指我们可以在不同时间用相同的方式使用相关对象的多个类型。它赋予我们为和多个对象相关的问题设计强大和优美的解决方案的能力。1.2.3面向对象分析(ooa, object-oriented analysis)面向对象分析是软件开发过程中的问题定义阶段,是抽取和整理用户需求并建立问题域精确模型的过程。ooa强调直接针对问题域中客观存在的各种事物建立ooa模型中的对象,用对象
13、的属性和服务分别描述事物的静态特征和行为。ooa需要完成两个任务:一是形式地说明所面对的应用问题,最终成为软件系统基本构成的对象,还有系统所必须遵从的,由应用环境所决定的规则和约束。二是明确地规定构成系统的对象如何协同合作,完成指定的功能。1.2.4面向对象设计(ood, object-oriented design)ood则是针对系统的一个具体的实现运用面向对象的方法。其中包括两方面的工作:一是把ooa模型直接搬到ood(不经过转换,仅作某些必要的修改和调整),作为ood的一部分;二是针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。ood有一些准则,它们是:模块化
14、、抽象化、信息隐蔽和封装、对象的高类聚和弱耦合、可扩充性、可重用性等。1.3 visual studio.net集成开发环境软件开发环境是指用于创建、测试和修改程序的工具集。一些环境被称为集成开发环境(integrated development environment, ide),因为它们将不同的工具集成到一个软件程序中。它将极大地简化开发过程,加快生成有用的程序的过程。visual studio.net是一个集成开发环境,是.net平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,visual studio.net都可以提供近乎完美的解决方案。visual stud
15、io.net提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。(具体请参看msdn或微软中国visual studio.net开发中心网站)1.4 c#编程语言1.4.1 c#语言概述c#是编程世界中最近出现的,英文读音为:c sharp,由microsoft开发,既可以开发基于web的程序,也可以开发单独运行的程序。microsoft从c+语言中提取了最新的面向对象技术,并将其和它的visual basic语言的易用性一起集成到c#中。c#的语法和它的面向对象的本质也类似与sun micr
16、osystems开发的java语言。因为c+和java都是以c为原型,c#语言也保留了很多这些早期语言的结构。这使得熟悉java、c或者c+的程序员可以很快适应c#。c#是一种面向对象编程语言(object-oriented programming language)。对象是组成程序的基本元素。c#语言和.net平台为开发程序提供了大量类型的功能和工具。这个软件常称为命名空间(namespace),提供了创建图形、网络通信以及数据库交互的能力和很多其他功能。1.4.2语法和语义每种编程语言都有自己独特的语法(syntax)。一种语言的语法规则精确地描述了语言的词汇元素如何形成句子。创建一个程序
17、必须遵守这些规则。例如在c#中,标识符不能以数字开头,这个事实就是一条语法规则。花括号用来开始和结束类和方法,这也是一条语法规则。编程语言中语句的语义(semantics)定义了在语句执行时会发生什么。编程语言总体上是无二义性的,这就是说一个程序的语义是定义良好的。也就是说,对每一个句子有且只有一种解释。另一方面,人类用来交流所使用的自然语言(natural language),比如英语和中文,都是充满二义性的。计算机语言不允许二义性存在。如果一种编程语言的指令可以有两种不同的意思,计算机将不能判断该执行哪一条指令。总之,语法规则指出了程序的形式。语义指出了程序语句的意思。1.4.3 c#标识
18、符和保留字编写程序时使用的不同的词称为标识符(identifier)。标识符是一个字母后面接着0个或者多个字母和数字。一个c#的字母可以是任意26个英文字母表的字符之一,包括大小写和_(下划线)字符,以及其他语言的字母表字符。一个c#数字包括数字09。c#中的一个名称(name)是一系列的标识符,用(.)分隔。标识符名称应该有描述性并且可读。另外,c#是大小写敏感的。字母的大写版本和小写版本是不同的。保留字(reserved word)是在编程语言中有特殊含义的标识符,只能按预先定义好的方式使用。保留字不能用于其他目的,比如为类或者方法命名。abstractasbaseboolbreakbyt
19、ecasecatchcharcheckedclasscharconstcontinuedecimaldefaultdodoubleelseenumeventexplicitexternfalsefinallyfixedfloatforforeachgetgoto*ifimplicitimplemtnsinintinterfaceinternalislocklongnamespacenewnullobjectoperatoroutoverrideparamspartialprivateprotectedpublicreadonlyrefreturnsbytesealedsetshortsizeo
20、fstackallocstaticstringstructswitchthisthrowtruetrytypeofunitulonguncheckedushortusingvaluevirtualvoidwhile表1-2 c#保留字1.4.4 c#原始数据类型在c#中有13中简单数据类型(simple data type):8个整数的子集、2个浮点数的子集、1个字符数据类型、1个布尔数据类型和1个十进制数据类型。其他的所有都是使用对象来表示。string类型经常也看作是一个简单数据类型,但它极大地展现了对象的特征,所以通常以类来看待它(一个预定义的类)。c#有两种数值类型:整型和浮点型。有8
21、种整数数据类型和2种浮点数数据类型。保留字别名类型存储位数最小值最大值sbytebyteshortushortintuintlongulongfloatdoubledecimalsystem.sbytesystem.bytesysten.int16system.uint16system.int32system.uint32system.int64system.uint64system.singlesystem.doublesystem.decimal8位8位16位16位32位32位64位64位32位64位96位-1280-2150-2310-26301.5_10-455.0_10-3241.0
22、_10-28127255215-1216-1231-1232-1263-1264-13.4_10381.7_103087.9_1028表1-3 c#原始数据类型在c#中,数据类型char代表了单个字符。c#中定义的布尔型的值使用保留字bool定义,只有两种有效取值:true和false。c#支持十进制数据类型decimal,它使用128位存储,和浮点数类型比较,十进制类型有更高的精度和更小的范围,这使它适合财务和货币计算。1.5 uml概述统一建模语言(unified modeling language, uml)是一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言。它捕捉了被构
23、建系统的有关决策和理解,用来理解、设计、浏览、配置、维护以及控制系统的信息。uml可以与所有的开发方法、生命阶段、应用领域和媒介一同使用。它意图统一过去建模技术的经验,将当前软件最佳实践合并至标准的方法。uml包括语义概念、标记符号和指南,具有静态、动态、环境上的和组织性的部分。它可以被具有代码产生和报表生成的交互式可视建模工具所支持。uml规范没有定义标准过程,但可用于迭代的开发过程,并支持现有的大多数面向对象的开发过程。uml捕捉系统静态结构和动态行为的信息。系统建模成独立对象的集合,它们互相交互以实现功能,从而最终使外部使用者获益。静态结构定义了对系统具有重要意义的各种对象和实现,以及它
24、们之间的关系。动态行为定义了对象时间上的历史和为达成目标对象间的通讯。从不同但是相关的视角来对系统建模,允许了多种角度对系统的理解。1.6 sql server 2000简介数据库是事务处理、信息管理等应用系统的核心和基础,数据库管理系统通过将大量的数据按一定的数据模型组织起来,提供存储、维护和检索数据的功能,使应用系统可以以统一的方式方便、及时、准确地从数据库中获取所需信息。microsoft公司推出的sql server 2000数据库管理系统以其强大的功能在各领域得到广泛应用。它是基于客户机/服务器(client/server)模型的关系型数据库管理系统(dbms),其在电子商务、数据仓
25、库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大的支持。在创建一个数据库后,我们需要为其新建一些一系列的数据表,用来存储记录。创建表的字段时,必须为其指定数据类型。字段的数据类型决定了数据的取值、范围和存储格式。字段的数据类型可以是sql server提供的系统数据类型,也可以是用户定义数据类型。sql server 2000提供了丰富的系统数据类型。数据类型符号标识整数型精确数值型浮点型货币型位型字符型unicode字符型文本型二进制型日期时间型时间戳型图像型其他bigint8, int4, smallint2, tinyint1decimal, numericfloa
26、t4&8, real4money8, smallmoney4bit1char, varcharnchar, nvarchartext, ntextbinary, varbinarydatetime, smalldatetimetimestampimagecursor, sql_variant, table, uniqueidentifier注:int4,括号里的数字为类型长度(字节数)表1-4 sql server 2000系统数据类型1.7动软.net代码自动生成器动软.net代码生成器codematic 是一款为c#数据库程序员设计的自动代码生成器,codematic 生成的代码基
27、于面向对象思想和三层架构设计,结合了pet shop中经典的思想和设计模式,融入了工厂模式,反射机制等一些思想。采用model、dal 、bll、web 的设计,主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、model 类构造等基础代码片断,支持不同3种架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。codematic 同时提供方便的多类型数据库管理,查询分析器,sql脚本生成,存储过程生成,数据库文档生成,web项目发布,代码批量自动输出等多项开发工作中常用到的功能,可以方便轻松地进行项目开发。第二章
28、 可行性研究报告2.1编写目的编写可行性研究报告具体要弄清几个方面的可行性,分别是:经济可行性、技术可行性、运行可行性、法律可行性和开发方案可行性等。图书馆管理系统作为各大中小型图书馆的基本服务系统,其高效的性能和良好的信息管理、数据操作功能显得尤为重要。图书管理是一个十分复杂和繁琐的过程,面对现代图书馆海量的图书信息,一套行之有效的解决方案将使此过程变得尤为简单,这就是图书馆管理系统。本着从用户需求出发的开发原则,以面向对象软件开发方法为指导思想,以最新的.net平台和c#开发语言,uml建模的直观描述以及sql server 2000的强大数据库管理系统等开发先进技术为背景。究竟结果如何,
29、大家拭目以待。2.2项目背景a 所建议开发的软件系统的名称:图书馆管理系统;b 本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络:任务提出者:数学与计算机学院系统开发团队:04级计本(1)、(2)班面向对象的图书馆管理系统分析与设计毕业设计团队系统用户群体:图书馆实现该软件的单位:大理学院2.3定义该图书馆管理系统是基于.net和面向对象开发技术,建力以client/server为结构模式、以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为教学和科学研究提供文献信息保障和提高管理图书的效率而设计的系统。主要涉及以下概念:软件工程:ieee的定
30、义是开发、运行、维护和修复软件的系统方法。软件生存周期(software life cycle):是人们在研究软件开发过程时所发现的一种规律性的事实。主要包括计划、分析、设计、编程、测试和维护等阶段。结构化分析(structured analysis,sa)方法是一种面向数据流的需求分析方法。它的基本思想是自顶向下逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。结构化设计(structured design,sd)方法是一种面向数据流的设计方法,它是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。模块
31、化:模块是指执行特定某一特定任务的数据和可执行语句等程序元素的集合,通常是指通过名字来访问的过程、函数、子程序或宏调用等。模块化就是将一个待开发的软件划分成若干个可完成某一功能的子功能的模块,每个模块可独立地开发、测试,最后组装成完整的程序。内聚:内聚是指一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。需求分析:软件需求说明书是需求分析阶段的最后成果,该说明把在软件计划中确定的软件范围加以展开,制定出完整的信息描述、详细的功能说明、恰当的检验标准以及其他与要求相关的数据。概要设计:经过需求分析阶段的工作,系统必须
32、“做什么”已经清楚了,概要设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题。概要设计的重要任务就是设计软件的结构,也就是要确定系统是由哪些模块组成,以及这些模块相互间的关系。详细设计:概要设计已经确定了每个模块的功能和接口,详细设计的任务就是为每个模块设计其实现的细节。详细设计阶段的根本目标是确定应该怎样具体地实现所需求的系统,得出对目标系统的精确描述。软件测试:软件测试就是在软件投入运行前,对软件需求、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。测试的目标是想以最少的时间和人力找出软件中潜在的各种错误和缺陷。2.4 可行性研究的前提2.4.1 要求a 功能:对图书馆的
33、图书信息和用户信息进行有效的管理; b 性能:数据库的录入、用户信息查询、图书信息查询、信息安全口令验证; c 输出:用户信息、图书信息; d 输入:用户账号、用户密码、用户检索信息、图书检索信息; e 安全与保密: 系统登录需要验证口令以区分不同权限的使用者; 馆中所有未借出的书籍能够供用户随时查阅,借出的书可以查阅到信息以及应归还日期; 用户信息只能被系统管理员查阅、修改,对于用户本人只能对自身信息进行查阅; 运行环境:操作系统: windows 2000/xp及以上;数据库类型:sql server 2000; f 机器配置: 服务端: 一般采用专业的数据库服务器。 客户端: 客户端一般
34、为普通pc机即可,当然客户端需要网络支持。g 完成期限:2007年 12月。2.4.2 目标图书馆管理系统应该包括读者管理、图书管理、借阅图书、归还图书、预约图书和信息查询等基本内容。a 图书管理人员需要管理读者资料 其中资料主要包括:借书证号、姓名、专业或部门、性别、电话、邮箱、是否具备借阅许可等信息。其中借阅许可则由读者的学籍情况或在职情况决定的,只要是在校学生或在职职工在借阅许可数量范围内都是可以借阅的。 b 图书管理人员必须对图书进行行之有效的管理 图书的资料则主要有:书号、条形码、书名、作者、出版社、isbn、图书状态等。其中图书状况还要包含其状态为是否被借阅。 c 系统应该为学生借
35、阅、归还查询和预约图书提供方便 我们应该做到尽可能的功能全面,含盖面广,并且注重通过人机交互界面设计原则来指导我们的界面人性化设计思想。d 系统管理员需要对系统进行安全的管理当图书管理员要修改数据报表时或系统操作失败,必须向系统管理员申请系统管理员口令,系统管理员快速的执行超控操作。其中,系统操作失败包含其状态为图书管理员进行了越权操作; e 数据库的安全 数据库的安全管理主要是数据库的备份恢复以及各种数据表的维护工作,以保证数据库系统正常运行。 f 特别附加windows 底层安全 在连接数据库的时候,不同的登录用户应该在数据库中进行详细的分组,虽然本系统中并没 有通过代码实现,但是必须要将
36、此问题单独列出。因为如果通过软件密码单纯限制用户的权 限是远远不够的。通过钩子编程完全可以截获数据库系统的窗口,并且直接通过操作系统底 层发送指令。因此一定要注意保护口令和从数据库本身的登录用户上限制其使用权限。以提 高本系统的操作安全等级。 2.5 对现有系统的分析2.5.1 处理流程和数据流程我们将该系统的业务流程根据系统操作权限划分为两个方面,一个是拥有系统管理操作最高权限的系统管理员;另外一个就是拥有基本业务操作权限的图书管理员。系统管理员对图书信息对读者信息添加修改删除查询添加修改删除查询图 2-1 系统管理员的操作从上图我们可以看出,系统管理员拥有对系统不可逆操作的权限,能够对图书
37、记录和读者记录进行一系列操作,例如,添加、修改、删除等,所以系统管理员的操作一定要慎之又慎。最好在操作前进行相关信息的备份,以防对数据产生不可挽回的损失。图书管理员借阅图书预定图书归还图书图 2-2 图书管理员的操作如上所示为图书管理员进行的一些日常基本业务,例如,图书的借阅,归还,预定等。此过程是一个互动的过程,均需要读者提示操作请求,而图书管理员完成此请求,并返回操作结果。2.5.2 工作负荷该图书馆管理系统为标准的客户端/服务器模式,数据库采用分布式数据库系统,即多台客户端均可访问一个数据库服务器,为了安全起见,对此数据库服务器可采用镜像访问的模式,再配以一定的同步机制,对此数据库也要时
38、常备份。通过它,我们可以实现几台客户机同时进行借书、还书、检索等操作,通过对系统和数据库操作的优化处理,充分提高系统运行的可靠性、高效性。理论上讲,图书馆管理系统的记录数限制为一亿条,系统测试均采用主流的服务器和pc工作站,管理40万册图书时,在检索、借还等操作均可实现毫秒级延迟。2.6 对系统的简要描述图书馆管理系统以client/server为结构模式、以数据库为后台核心应用、以服务为目的应用平台。(1)具体要求 ·读者信息管理 ·图书信息管理·借阅图书 ·预约图书 ·归还图书 ·系统操作(2)系统限制 馆中所有未借出的书籍能够供
39、读者随时借阅。 在同一时刻,一本书不能既被借出,又可供借阅。 一个读者一次借出的书籍数目不能超过预定值。第三章 需求规格说明书3.1 编写目的需求分析的任务简略的说就是弄清用户的需求,确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,建立系统的逻辑模型。具体步骤为:1) 验证可行性研究阶段得到的结果2) 分析系统的主要要求3) 得到系统的逻辑模型4) 修正系统的开发计划5) 验证软件需求3.2 定义用例(use case):用例是系统单元提供的外部可感知的功能单元,表达成系统单元和与之间交互的一个或多个活动者的消息序列,用例的目的是定义清晰的行为块而不解释系统的内部结
40、构。用例视图(use case view):用例视图从外部用户的角度捕获系统、子系统或类的行为,它将系统功能划分为对活动者(系统的理想用户)具有意义的事务。这些功能块称为用例。3.3 任务概述3.3.1 目标图书馆管理系统针对的用户主要是各院校图书馆,藏书的种类和数量较多,读者的数量和来源有一定的限制。相应的需求有:1能够存储一定数量的图书信息,并方便有效的进行相应的图书数据操作和管理,这主要包括:1) 图书信息的录入、删除及修改。2) 图书信息的多关键字检索查询。3) 图书的出借、返还和资料统计。能够对一定数量的读者进行相应的信息存储与管理,这其中包括:1) 读者信息的登记、删除及修改。2)
41、 读者资料的统计与查询。能够对需要的统计结果提供打印输出。能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。3.3.2 条件限制鉴于对毕业设计的时间安排和相关要求,图书馆管理系统将以多模块,团队协作的方式来完成。一个完善的图书馆管理系统应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,读者将可以直接通过网络,利用浏览器即可访问我们的系统,足不出户就可实现信息查询、图书预定和自身信息维护等操作,但由于时间和精力有限,本次课题将不考虑b/s(browser/server)模式,所以本系统只是基于c/s(client/server)模式,对于详细的分析和设
42、计,我们将在以后逐步进行。3.4 数据描述3.4.1静态数据l 系统中要用到的数据表基本表1:【管理表(admin_table)】字段字段名数据类型字段长度约束备注1用户名(username)varchar主键2密码(password)varchar3权限(duty)varchar基本表2:【出版社资料(pubdata_table)】字段字段名数据类型字段长度约束备注1isbn(isbn)varchar主键2出版社(press)varchar基本表3:【借阅者信息(borinfo_table)】字段字段名数据类型字段长度约束备注1pk_idint自动编号2借书证号(borid)varchar主
43、键3姓名(borname)varchar4性别(sex)varchar5院系(department)varchar6电话(tel)varchar7电子邮件(email)varchar8登记日期(recorddate)datetime9有效期至(validity)datetime10备注(borremark)varchar基本表4:【图书信息(bookinfo_table)】字段字段名数据类型字段长度约束备注1pk_idint自动编号2图书编号(bid)varchar主键3条形码(barcode)varchar4图书名称(bname)varchar5图书类别(bclass)varchar6作者(
44、author)varchar7isbn(isbn)varchar8出版社(press)varchar9出版日期(pubdate)datetime10入库日期(wadate)datetimenow()11价格(price)money12数量(num)int13状态(bstate)varchar14备注(bremark)varchar基本表5:【图书分类(bookclass_table)】字段字段名数据类型字段长度约束备注1类别编号(classid)varchar主键2类别名称(bclass)varchar基本表6:【借阅信息(bhinfo_table)】字段字段名数据类型字段长度约束备注1pk_
45、idint主键自动编号2图书编号(bid)varchar3借书证号(borid)varchar4借书日期(bodate)datetime5还书日期(redate)datetime6续借次数(renewaltimes)int7备注(bhremark)varchar基本表7:【借阅历史(brhinfo_table)】字段字段名数据类型字段长度约束备注1pk_idint主键自动编号2图书编号(bid)varchar3借书证号(borid)varchar4借书日期(bodate)datetime5还书日期(redate)datetime6已还日期(srdate)datetime基本表8:【赔偿记录(a
46、mendslog_table)】字段字段名数据类型字段长度约束备注1pk_idint主键自动编号2图书编号(bid)varchar3借书证号(borid)varchar4赔偿日期(amdate)datetime5赔偿金额(ammoney)money6备注(amremark)varchar基本表9:【预定信息表(res_table)】字段字段名数据类型字段长度约束备注1pk_idint自动编号2预定编号(resid)varchar主键2图书编号(bid)varchar3借书证号(borid)varchar4预定状态(resstate)varchar5预定时间(resdate)datetime新书
47、isbn(nisbn)varchar6备注(resremark)varchar3.4.2数据库介绍本数据库采用sql server 2000数据库管理系统开发,定义如下:系统名称:lms(library management system)数据库名称:lms基本表及其具体表述:1. 管理表(admin_table):描述图书管理员的用户名、密码及一些操作权限2. 出版社资料(pubdata_table):isbn号对应出版社名称3. 读者信息(borinfo_table):描述读者的基本信息4. 图书信息(bookinfo_table):描述图书的基本信息5. 图书分类(bookclass_t
48、able):描述图书的种类6. 借阅信息(bhinfo_table):描述借阅信息,包括读者和图书的借阅信息 7. 借阅历史表(brhinfo_table):记录借阅历史,方便查询8. 赔偿记录(amendslog_table):记录读者对损坏或遗失书籍的赔偿措施及金额等信息9. 预定信息(res_table):记录图书预定信息3.4.3动态数据输入数据:鼠标对按钮的点击;查询方式、查询关键字;新建图书项、读者项;图书项、读者项相应纪录更改;备份数据恢复所需的数据备份文件;借阅、返还、丢失注销时的图书序号、读者借阅证号;受限操作所需的密码;输出数据:查询关键字确定的数据库记录的子集;统计结果及
49、其格式化文件;信息录入、删改结果(成功或失败);图书借阅、返还、丢失注销等操作结果;数据备份输出的数据备份文件;内部数据:查询操作建立的索引;3.5功能需求3.5.1功能划分图书馆管理系统可分为如下模块:1. 图书管理模块1) 新书入库2) 修改图书信息3) 删除图书信息4) 查询图书信息2. 读者管理模块1) 读者登记2) 修改读者信息3) 注销读者信息4) 查询读者信息3. 基本业务模块1) 借书模块2) 还书模块3) 图书预定模块4. 系统模块1) 信息查询统计2) 管理员信息维护3) 系统设置3.5.2功能描述l 系统的功能需求主要包括以下几个方面:借阅者能够借阅书籍、还书和预定书籍。
50、图书管理员能够处理借阅者的借阅和还书请求。系统管理员可以对系统的数据进行维护,如增加、删除和更新图书信息,增加、删除和更新借阅者信息。1. 借阅者的用例图:图 3-1 借阅者的用例图2. 图书管理员的用例图:图 3-2 图书管理员的用例图3. 系统管理员的用例图:图 3-3 系统管理员的用例图4. 管理员登录、信息维护的用例:范围:图书馆管理系统(library management system, lms)应用级别:用户级别主要参与者:图书管理员(librarian),系统管理员(administrator)涉众及其关注点: 系统管理员:希望能顺利登录系统,系统给出其相关操作权限,实现对信息
51、包括管理员信息维护的操作。图书管理员:希望能顺利登录系统,实现其相关操作权限。前置条件:图书管理员、系统管理员事先已有对应登录帐号、口令。后置条件:正常登录,实现其对应操作。成功场景:1. 用户输入其帐号和口令,系统根据数据表中对应记录验证其合法性和对应操作权限。2. 正常登录后,进入系统主界面,根据权限的不同,主界面对应操作也不同。3. 若是图书管理员,则可操作基本业务(借阅、归还),图书预定,查询统计等模块;若是系统管理员,除以上模块外,还可实现对信息(图书信息、读者信息、管理员信息)的相关维护操作。4. 完成对应操作,退出。备用流:1. 登录失败,对于不合法用户,系统会根据输入的信息,做
52、出对应提示,如,用户名不存在,密码错误,用户名、密码不能为空等。2. 进入系统主界面前发生错误或死锁,这时可检查数据库服务器是否打开,数据库管理器中数据库是否已导入。用例图:图 3-4 管理员登录的用例图3.6性能需求3.6.1数据精确度1. 要按照严格的数据格式输入,否则系统将给出错误提示信息并不给予响应进行处理。2. 查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常有文件的记录会很多,所以系统应该两种方法进行查询:直接查询和模糊查询。3.6.2时间特性一般操作的响应时间应在12秒内,数据库检索超时不超过30秒,对软磁盘和打印机的操作也应在可接受的时间内完成。3.6.3适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。其他适应性建立在硬件和系统软件稳定的基础上。3.7运行需求3.7.1用户界面用户界面应具有一些基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 发票申请合同范例
- 叉车买卖协议合同范例
- 包车带司机合同范例
- 印刷技术咨询合同范例
- 代签租车合同范例
- 保温产品购销合同范例
- 亲属间转赠住房合同范例
- fidic合同范例文库
- 买卖合同范例5000字
- 厨房配餐项目承包合同范例
- 类医疗器械经营质量管理制度及工作程序
- 初中生防止校园欺凌主题班会课件
- 广东湛江港(集团)股份有限公司招聘笔试题库2024
- Q∕SY 1736-2014 评标方法选择和评标标准编制规范
- 译林版九年级上册英语单词默写打印版
- 消防维保项目实施方案实施计划书
- 合成氨工艺及设计计算
- 一年级体育《立定跳远》集体备课
- 职业病危害因素告知书
- 部编版《道德与法治》六年级下册第5课《应对自然灾害》精品课件(含视频)
- 沟槽管件尺寸对照表
评论
0/150
提交评论