




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于uml的图书管理系统系 、 部:_ 学生姓名:_ _指导老师:_ 职称:_ 专 业:_ _ _班 级:_ _完成时间:_ _摘 要图书管理系统是智能办公系统(ioa)的重要组成部分,该系统正以方便、快捷的优点慢慢地进入人们的生活。它从传统的图书管理方式中彻底的解脱出来,它的设计提高了工作效率,减轻了工作人员以往繁忙的工作,减小了出错的概率,使读者可以花更多的时间在选择书和看书上,使人们有更多的时间来获取信息、了解信息、掌握信息。本系统基于uml建模语言,对系统进行了全面的分析和设计,进行了静态和动态两方面的建模,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本系统采用
2、sql server2005数据库作为后台数据库、asp.net编程语言作为前台开发工具,通过对数据库技术较深入的学习和应用,以及对asp.net编程语言的系统学习,该图书管理系统主要完成了对借阅者的管理和对图书的管理,如:创建新的借阅者账户,修改借阅者的账户信息,查询,借书,预订书刊,取消预订,还书,以及添加书刊信息,编辑书刊信息,删除书刊信息等系统功能。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书管理员两方面的需要,达到了设计要求。关键词 uml;图书管理;sql server2005;asp.net abstractthe books management system
3、 ,intelligent office system (ioa) ,is an important part of the system, with the advantages of convenient slowly go into peoples life. from the traditional library management mode, it is improving thoroughly efficiency and relieving staffs formerly busy job, reducing the error probability, so that re
4、aders can spend more time reading books and choosing. it makes people have more time to obtain information, to grasp the information.this system used uml, carries on the comprehensive analysis and design, which mainly includes building and maintaining database and the programming of the fronted appl
5、ication. server sql2005 database is the back database programming language, and asp.net is the receptionist development tool. it based on database technology in-depth study and application, the main functions are creating new borrowing account, modifying the account information, borrowing books, per
6、iodicals, reservating , canceling reservation and periodicals, adding a new species, deleting information modify books, periodicals species in the system of information system, editing books and periodicals add, delete the books information. system operation results show that the design of the libra
7、ry management system can satisfy the need of librarians and borrower from two aspects, it meets the design requirements.keywords uml; library book management; sql server2005;asp.net目 录1 引言11.1 选题背景介绍11.2 本课题研究的意义11.3 开发环境简介21.3.1 a的介绍21.3.2 sql server 2005 概述31.3.3 iis服务器技术42 系统分析52.1 系统分析的任务52.2 可行
8、性分析52.2.1 技术可行性62.2.2 经济可行性分析62.2.3社会可行性分析63 需求分析73.1 功能需求分析73.1.1 系统功能模块分析83.1.2 识别参与者83.1.3 识别用例83.1.4 用例的事件流描述103.2 非功能性需求分析163.3 静态建模163.3.1定义系统对象163.3.2定义用户类界面173.3.3建立类图193.4动态行为建模223.4.1建立交互作用图223.4.2建立状态机图273.5物理模型284 系统设计304.1 总体设计304.1.1 系统目标设计304.1.2系统功能设计304.2系统功能模块设计304.3 数据库设计314.3.1概念
9、结构设计314.3.2逻辑结构设计324.3.3物理结构设计335 系统实现345.1系统总体结构设计345.2主要模块运行346 系统测试376.1系统测试方法及步骤376.2测试用例377 结 论397.1 系统开发的体会397.2 系统在调试中经常出现的问题及解决方法39参考文献41致谢42附录43ii1 引言1.1 选题背景介绍 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,制定
10、一套合理、有效、规范和实用的图书管理系统是很有必要的,以便对借阅者和图书资料进行集中统一的管理。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。为此,我设计图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校或社会等服务。从以前的手工管理的记录中我们可以发现这样的问题:(1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难,往往是终于查到了书的信息,但馆中没有此书或已被别人借走。图书馆的规模越大,这个问题就越突出。(2)借书、还书
11、工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现差错。(3)图书统计工作难,藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。1.2 本课题研究的意义 立足于当今社会信息的发达,着眼于未来发展,建成符合标准化协议、通用性较强、实用的图书管理系统是很有必要的。图书管理系
12、统是一种基于集中统一规划的数据库数据管理新模式,它的建立将提高图书信息的现代化管理水平,实现信息资源的共享。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的实现无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,全面掌握图书的流通情况。本系统的制作提高了图书管理工作的效率,使学校图书馆对图书的管理更加方便快捷,减少了图书管理人员的工作量和工作负担,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。 1.3 开发环境
13、简介 开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下: 系统开发环境:microsoft visual studio 2005系统开发语言:asp.net运行平台:windows xp数据库:sql server 2005web服务器:iis5.1 1.1 a的介绍asp.net可完全利用.net架构的强大,安全,高效的平台特性。asp.net是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(earlybinding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为asp.net带来卓越的性能。对xml,so
14、ap,wsdl等internet标准的强健支持为a在异构网络里提供了强大的扩展性。asp.net是一个已编译的、基于.net的环境,可以用任何与.net兼容的语言创作应用程序。另外,任何asp.net应用程序都可以使用整个.net框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。在创建asp.net应用程序、web窗体和web服务时,开发人员可以选择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。
15、“web窗体”用于生成功能强大的基于窗体的web页。生成这些页时,可以使用asp.net服务器控件来创建公共ui元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成web窗体,从而简化页面的代码。有关更多信息,请参阅web窗体页。有关如何开发asp.net服务器。 xmlwebservices提供了远程访问服务器功能的途径。通过使用web服务,企业可以公开其数据或业务逻辑的编程接口,然后客户端和服务器应用程序就可以获得和操作这些编程接口。这些模型中的每一个模型都可以充分利用所有asp.net功能,以及.net框架和.net 框架公共语言运行库的强大功
16、能。 asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到asp.net的web应用中。asp.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有c#(c+和java的结合体),vb,jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向aspnet。1.2 sql server 2005 概述 sq
17、l server 是一个关系数据库管理系统它是由microsoft推出的。sql server 是一个具备完全 web 支持的数据库产品,提供了对可扩展标记语言 (xml) 的核心支持以及在 internet 上和防火墙外进行查询的能力,提供了以 web 标准为基础的扩展数据库编程功能。丰富的 xml 和 internet 标准支持允许使用内置的存储过程以 xml 格式轻松存储和检索数据。sql server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,xml数据库与web service的支持将使您的应用实现internet数据
18、互联,.net集成极大的扩展了开发空间,异构数据集成、service broker使您的数据和其它应用无缝集成,各种新数据类型和t-sql扩展带来了诸多灵活性。c#、vb.net、xquery、xmla、ado.net 2.0、smo、amo等都将成为sql server数据平台上开发数据相关应用的有力工具。它具有以下特点:(1)上手容易 大多数的中小企业日常的数据应用是建立在windows平台上的。由于sql server与windows界面风格完全一致,且有许多向导(wizard)帮助,因此易于安装和学习,有关sql server的资料、培训随处可得,并且目前国内具有mcdba认证的工程师
19、不在少数。(2)兼容性良好 由于今天windows操作系统占领着主导地的位,选择sql server一定会在兼容性方面取得一些优势。另外,sql server 2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 xml 数据,可以将搜索结果以 xml格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.net 战略中发挥着重要的作用。(3)电子商务 在使用由microsoft sql server 2005关系数据库引擎的情况下,xml数据可在关系表中进行存储,而查询则能以xml格式将有关结果返回。此
20、外,xml支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用hypertext transfer protocol(超文本传输协议,http)来访问sql server 2005,以实现面向sql server 2005数据库的安全web连接和无须额外编程的联机分析处理(olap)多维数据集。(4)数据仓库 microsoft sql server 2005非常明显的改进就是增加了olap(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。olap可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量
21、数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。1.3 iis服务器技术iis(internet information server internet信息服务器)是microsoft公司开发的一种集web,ftp和gopher服务于一身的服务器,它可以利用windows xp server的各种功能并且能在internet上发布信息。iis是微软随着windowsxp server附带的一个软件。iis提供internet信息服务器应用程序接口(isapi)扩展web服务器的功能,并可通过asp.net实现web程
22、序的快速开发,asp.net支持服务器端的javascript, vbscript, microsoft java和activex server component,还支持用vb编写的cgi程序,甚至用vb开发的c/s架构的程序不经过修改就可以在web上发布,可以使开发动态主页更加方便,同时也保护了以前的投资。iis还包括了microsoft index server,可实现对本web站点内容的全文检索以及site server express用于分析站点访问的情况。iis的管理功能是基于windowsxp server的,可充分利用windowsxp server提供的安全服务和目录服务。它
23、的安全模型是以ntfs安全机制为基础的,这样利用资源管理器可以容易地管理使用iis建立的web站点的安全性。2 系统分析系统分析的含义是为了发挥系统的功能,实现系统的目标,运用科学方法对系统加以周详的考察、分析、比较、试验,并在此基础上拟定一套有效的处理步骤和程序,或对原有系统提出改进方案的过程。系统分析是一种科学的决策方法。其目的是为了发挥系统整体的功能,寻求解决问题的最佳决策;完整地而不是零星地处理问题,考虑各种主要变化因素及其相互的影响,全面地思考和解决问题。2.1 系统分析的任务 系统分析是管理信息系统开发工作的基础,也是非常重要的一个环节。它是对已选对象与开发范围进行有目的、有步骤的
24、实际调查和科学分析,虽然调查的具体方法和详尽程度可能不尽相同。实践表明,系统调查分析工作的好坏,在很大程度上决定了系统开发的成败。在对该图书管理系统进行初步调查之后,得到以下结论。 随着图书馆规模的不断扩大,技术含量越来越高,馆内的藏书、管理人员、读者的数量也越来越多。图书涉及大量的数据处理,如果用手工来完成庞大的数据处理,将费时费力,还容易出错,为了满足图书管理的需要,急需要一套图书管理系统来完成这项工作。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管
25、理的效率,也是企业的科学化、正规化管理的重要条件。同时还要注下列几点: (1) 由于各方面的限制,如人员不够、技术缺乏等原因,开发时应本着循序渐进,逐步完善的原则,不能贪大求全,盲目开发。(2)要注意信息的准确、及时、适用、经济,只有及时、准确的信息才能保证系统开发的质量和效率。(3) 从全局出发注意系统开发的整体优化,还要注意系统的可扩展性和可延伸性。2.2 可行性分析 可行性分析也称可行性研究,是所有项目投资、工程建设或重大改革在开始阶段必须进行的一项工作。它是经济活动中经常使用的一项决策程序和手段,也是投资前的必要环节。可行性分析是指在项目正式开发之前,为了取得最佳经济效果,先投入一定的
26、精力,通过一套准则,从经济、技术、管理、社会等方面对项目的必要性、可行性、合理性,以及对项目面临的重大风险进行全面系统的分析和科学论证,得出项目是否可行的结论,以提供决策部门做出投资决策参考。该图书管理系统的开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。开发完成运行后,为使用者带来便利,为系统的进一步推广创造了条件,经济收益将远超过投资。从经济角度考虑,此系统开发可行。 2.2.1 技术可行性 本系统在winxp系统上进行独立开发,运用(microsoft visual studio 2005asp.netsql server 2005)的组合开发
27、环境。本系统属于小型系统,适应于开发者独立开发。 本系统源程序是在microsoft visual studio 2005下开发的,程序测试环境为windows xp。用户只有在windows server xp下正确配置程序所需的运行环境后,才可以使用本书中的源程序。软件开发平台如下:(1) 操作系统:windows xp;(2) 数 据 库:sql server 2005;(3) 开发环境:microsoft visual studio 2005;(4)web服务器: iis5.1 。 2.2.2 经济可行性分析 作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出费用,
28、其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。总体来说,此系统的开发可行。2.2.3社会可行性分析社会可行性也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。它对图书馆带来的影响可以看到: (1) 对传统管理理念的冲击,可能引起管理层的变动和人员的调整。 (2
29、) 对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。(3) 对图书馆与读者之间业务方式的转变和扩充。 从对其社会可行性的分析可以看出,该图书管理系统的开发可行。 3 需求分析3.1 功能需求分析 对图书管理系统的域描述如下:在图书管理系统中,要为每一个借阅者建立一个账户,并发放借阅卡(此卡可以提供借阅卡号、借阅者名)给借阅者,其中账户中存储借阅者的个人信息、借阅信息以及预订信息。持有借阅卡的的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊以及取消预订,所有这些操作都是通过图书管理员进行的,也就是说,借阅者不直接与
30、系统交互,而是让图书管理员充当借阅者的代理与系统交互。借阅书刊时,需要输入所借阅的书刊名、书刊的isbn/issn号,然后输入借阅者的借阅卡号和借阅者名,完成后提交所填表格,系统验证借阅者是否有效(在系统中是否存在账户),若有效,借阅请求被接受,系统查询数据库系统,看借阅者要求借阅的书看是否存在,若存在,则借阅者可以借出书刊,并在系统中建立存储借阅记录。借阅者还书后,删除关于所还书刊的借阅记录。如果借阅者所接的书刊已被借出,则借阅者可以选择预定该书刊,一旦借阅者预订的书看可以获得,就通知预订人前来借阅。另外,为了简化系统,暂时不考虑书刊的最长借阅期限即假设借阅者可以无限期的保存所借阅的书刊。对
31、上述图书管理系统的域描述进行分析,可以获得如下的功能性需求:(1)借阅者持有借阅卡(借阅卡包含借阅者名和借阅卡号);(2)图书管理员代理借阅者借书;(3)图书管理员代理借阅者预订书刊;(4)图书管理员代理借阅者取消预订;(5)图书管理员代理借阅者还书;(6)图书管理员可以创建新的借阅者账户;(7)图书管理员可以修改借阅者的账户信息;(8)图书管理员可以删除已存在的借阅者账户;(9)图书管理员可以添加新书刊种类;(10)图书管理员可以修改书刊种类信息;(11)图书管理员可以删除系统中的书刊种类;(12)图书管理员可以在系统中添加书刊信息;(13)图书管理员可以编辑书刊信息;(14)图书管理员可以
32、删除书刊信息。注:“书刊种类”和“书刊”是两个不同的概念“书刊种类”代表了书刊的种类,它不仅包括书刊名,还包括isbn/issn号等信息,他出现在书刊目录中;“书刊”则指书刊的物理拷贝,在一个图书馆中,同一种书刊可能会有多本,即有多个物理拷贝。在本系统中,用“书刊”或“书刊种类”来代表书刊种类(对应title),用“物理书刊”代表每种书刊的具体的物理拷贝(对应book)。3.1.1 系统功能模块分析 根据开发者和客户的需求分析后,可以把系统功能分为两个大的功能模块:(1)借阅者管理模块包括:创建新的借阅者账户,修改借阅者的账户信息,查询,借书,预订书刊,取消预订,还书等功能。(2)图书管理模块
33、包括:添加书刊信息,编辑书刊信息,删除书刊信息,查询书刊信息等功能。3.1.2 识别参与者 通过对系统需求的分析,可以确定系统中有两个参与者,即borroweractor(借阅者,为了与后面的类borrower区分,将参与者命名为borroweractor)和librarian(图书管理员)。(1)borroweractor描述:借阅者可以借阅、预定、归还物理书刊,还可取消预定。 示例:持有借阅卡的任何人或组织。(2)librarian描述:图书管理员维护系统,他可以创建、修改、删除借阅者的信息;可以添加、修改、删除书刊信息,即维护书刊目录;还可以添加、修改、删除物理书刊信息,即维护物理书刊目
34、录。示例:图书管理员。3.1.3 识别用例 在上面,已经识别出了系统的两位参与者,经过对需求的进一步分析,可以确定系统中有如下用例存在。(1)borrow book(借阅物理书刊)本用例提供了借阅物理书刊的功能。(2)return book(返还物理书刊) 本用例提供了返还物理书刊的功能。(3)reserve title(预订书刊) 本用例提供了预订书刊的功能。(4)cancel reservation(取消预订)本用例提供了取消预订书刊的功能。(5)maintain borrower info(维护借阅者信息)本用例提供了创建、修改以及取消借阅者账户的功能。(6) maintain titl
35、e info(维护书刊信息)本用例提供了添加、修改以及删除书刊信息的功能。(7)maintain book info(维护物理书刊信息)本用例提供了添加、修改以及删除物理书刊信息的功能。(8)log in(登录) 本用例描述了用户如何登录进入改管理系统。用rational rose软件制作出系统用例图,如下所示:图3.1图书管理系统用例图3.1.4 用例的事件流描述 图书管理系统的用例事件流描述如下:(1)借阅物理书刊(borrow book)1前置条件(pre-conditions)在这个用例开始前,librarian必须登录到系统中。2后置条件(post-conditions)如果这个用例
36、成功,在系统中建立并存储借阅记录,如果必须还要删除预订记录。否则,系统的状态没有变化。3扩充点(extension points)没有。4事件流 基流(basic flow)当借阅者从图书馆借阅物理书刊时,用例启动。如果librarian选择“借书”,则执行分支流s-1:借阅物理书刊。如果所借的物理书刊经过预定,则执行分支流s-2:通过预订借阅物理书刊。 分支流(subflows)s-1: 借阅物理书刊 提供书刊种类、借阅者信息。检索书刊种类(title)(e-1)。 确定所借阅的物理书刊是否可以获得(e-2),也即物理书刊是否都已借出。检索借阅者(e-3)。 图书馆将物理书刊借给借阅者。创建
37、借阅记录。存储借阅记录。s-2:通过预订借阅物理书刊提供书刊种类、借阅者信息。检索书刊种类(title)(e-1)。 检索借阅者(e-3)。确定该种类书刊的物理拷贝是否可以获得(e-2)。 将物理书刊发给借阅者。创建借阅记录。存储借阅记录。删除预订记录。 替代流(alternative flow)e-1:该种书刊不存在,系统显示提示信息,用例终止。e-2: 物理书刊都已借出,系统显示提示信息,用例终止。e-3: 系统中不存在该借阅者,系统显示提示信息,用例终止。(2) 返还物理书刊(return book)1前置条件(pre-conditions)在这个用例开始前,librarian必须登录到
38、系统中。2后置条件(post-conditions)如果这个用例成功,系统删除借阅记录。否则,系统的状态没有变化。3 扩充点(extension points)没有。4 事件流 基流(basic flow)当借阅者返还所借的物理书刊时,用例启动。提供所还物理书刊信息。检索物理书刊。(e-1) 查询物理书刊的借阅记录。(e-2)删除借阅记录。替代流(alternative flow)e-1: 物理书刊不存在,系统显示提示信息,用例终止。e-2: 若借阅记录不存在,系统显示提示信息,用例终止。(3)预订书刊(reserve title)1前置条件(pre-conditions)在这个用例开始前,l
39、ibrarian必须登录到系统中。 2后置条件(post-conditions)如果这个用例成功,系统建立预定记录。否则,系统的状态没有变化。3扩充点(extension points)没有。4事件流 基流(basic flow)当librarian为借阅者预订书刊时,用例启动。提供书刊种类、借阅者信息。检索书刊种类(e-1)。 检索借阅者(e-2)。系统接受预定,创建预订记录。 将预定记录存储在系统中。替代流(alternative flow)e-1:该种书刊不存在,系统显示提示信息,用例终止。e-2:系统中不存在该借阅者,系统显示提示信息,用例终止。(4) 取消预订(cancel rese
40、rvation)1前置条件(pre-conditions)在这个用例开始前,librarian必须登录到系统中。2后置条件(post-conditions)如果这个用例成功,系统删除预定记录。否则,系统的状态没有变化。3扩充点(extension points)没有。4事件流 基流(basic flow)提供所预订书刊种类、借阅者信息。检索所预订的书刊种类 (e-1) 检索借阅者(e-2).从系统中删除预订信息(e-3)。 替代流(alternative flow)e-1: 该种书刊不存在,系统显示提示信息,用例终止。e-2:系统中不存在该借阅者,系统显示提示信息,用例终止。e-3: 预定信息
41、不存在,系统显示提示信息,用例终止。(5) 维护借阅者信息(maintain borrower info)1前置条件(pre-conditions)在这个用例开始前,librarian必须登录到系统中。2后置条件(post-conditions)如果这个用例成功,系统添加、修改或删除借阅者信息。否则,系统的状态没有变化。3扩充点(extension points)没有。4事件流 基流(basic flow)当librarian想维护借阅者信息时,用例启动。系统要求librarian选择所想执行的活动(添加借阅者、删除借阅者、或修改借阅者)如果所选的活动是“添加借阅者”,则执行分支流s-1:添加
42、借阅者。如果所选的活动是“删除借阅者”,则执行分支流s-2:删除借阅者。如果所选的活动是“修改借阅者”,则执行分支流s-3:修改借阅者。 分支流(subflows)s-1:添加借阅者 提供借阅者的信息,如姓名、地址、邮政编码和身份证号码等。 系统存储借阅者信息(e-1)。s-2:删除借阅者 提供借阅者的信息。 查询借阅者(e-2)。 查询借阅者的借阅记录(e-3)。 从系统中删除借阅者的信息,以及借阅者的预定记录。s-3:更改借阅者 提供借阅者的信息。 查询并显示借阅者的信息(e-2),修改相应的信息。 更新系统中借阅者的信息。 替代流(alternative flow)e-1:若借阅者已存在
43、,系统显示提示信息,用例终止。e-2:若查询不到借阅者,系统显示提示信息,用例终止。e-3:若存在借阅记录,系统显示提示信息,用例终止。(6) 维护书刊信息(maintain title info)1前置条件(pre-conditions)在这个用例开始前,librarian必须登录到系统中。2后置条件(post-conditions)如果这个用例成功,系统添加、修改或删除种类信息。否则,系统的状态没有变化。3扩充点(extension points)没有。4事件流 基流(basic flow)当librarian想维护借阅者信息时,用例启动。系统要求librarian选择所想执行的活动(添加
44、、删除或修改书种)。如果所选的活动是“添加书种”,则执行分支流s-1:添加书刊信息。如果所选的活动是“删除书种”,则执行分支流s-2:删除书刊信息。如果所选的活动是“修改书种”,则执行分支流s-3:修改书刊信息。 分支流(subflows)s-1:添加书刊信息 提供书刊的书名、作业、isbn/issn号等信息。 在系统中添加该书刊信息(e-1)。s-2:删除书刊者 提供所要删除的书刊信息。 查询所要删除的书刊(e-2)。 删除该书刊的所有物理书刊的信息(e-3)。 删除书刊信息,以及相关的预定信息。s-3:更改书刊信息 提供要修改的书刊信息。 查询并显示书刊信息(e-2)。 修改相应的信息。
45、更新系统中的书刊信息。 替代流(alternative flow)e-1:若书刊信息已存在,系统显示提示信息,用例终止。e-2:若查询不到该书刊,系统显示提示信息,用例终止。e-3:若有物理书刊借出,系统显示提示信息,用例终止。(7) 维护物理书刊信息(maintain book info)1前置条件(pre-conditions)在这个用例开始前,librarian必须登录到系统中。2后置条件(post-conditions)如果这个用例成功,系统添加、修改或删除物理书刊信息。否则,系统的状态没有变化。3扩充点(extension points)没有。4事件流 基流(basic flow)当
46、librarian想维护物理书刊信息时,用例启动。系统要求librarian选择所想执行的活动(添加物理书刊、删除物理书刊、或修改物理书刊)。如果所选活动是“添加物理书刊”,则执行分支流s-1:添加物理书刊信息。如果所选活动是“删除物理书刊”,则执行分支流s-2:删除物理书刊信息。如果所选活动是“修改物理书刊”,则执行分支流s-3:修改物理书刊信息。 分支流(subflows)s-1:添加物理书刊信息 提供物理书刊的种类信息 查询物理书刊的种类(title),确定系统中已存在该书刊种类(e-1)。 添加物理书刊。 将物理书刊信息存储到到系统中。s-2:删除物理书刊信息 提供物理书刊的种类信息。
47、 查询物理书刊的种类(title)(e-1)。 删除物理书刊。 从系统中删除物理书刊信息,并更新相关信息。s-3:修改物理书刊信息。 提供物理书刊的种类信息。 查询物理书刊的种类(title)(e-1)。 查询并显示该种书刊的所有物理书刊。 选择物理书刊并修改其信息。 更新系统中物理书刊的信息。 替代流(alternative flow)e-1:若系统中不存在该书刊种类,添加该书刊种类信息。(8) 登录(log in)1前置条件(pre-conditions)没有。2后置条件(post-conditions)如果用例成功,参与者可以启动系统并使用系统所提供的功能。反之,系统的状态不变。3扩充点
48、(extension points)没有。4事件流 基流(basic flow)当用户希望登录到系统中时,用例启动。 系统提示用户输入用户名和密码。 用户输入用户名和密码。 系统验证输入的用户名和密码,若正确(e-1),则用户登录到系统中。 替代流(alternative flow)e-1:如果用户输入无效的用户名和/或密码,系统显示错误信息。用户可以选择返回基流的起始点,重新输入正确的用户名和/或密码;或者取消登录,用例结束。3.2 非功能性需求分析 非功能性需求是从各个角度对系统的约束和限制,反映了应用系统对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性等。下面是关于该图书管
49、理系统的非功能性需求:(1) 系统在20秒内相应所有的用户请求;(2) 系统应该每周7天、每天24小时都可以使用;(3) 对于一个没有经验的用户而言,经过两个小时的培训就可以使用系统的所有功能,稍加练习,便可熟练操作了;(4) 系统运行时占用内存空间为665k;(5) 当系统发生故障时,只需重启便可以重新使用,在重启后,数据可以自动恢复,不会受到破坏。3.3 静态建模进一步分析系统需求,发现类以及类之间的联系,确定它们的静态结构和动态行为,是面向对象分析的基本任务。系统的静态结构模型主要用类图和对象图来描述的。3.3.1定义系统对象 通过对系统进行需求分析后,就可以识别出在该系统中存在的对象。
50、从前述的系统需求描述中可以找到一下对象类:借阅者(borrower)、书刊(title)、物理书刊(book)、借阅记录(loan)、预订记录(reservation)。在此系统中,除了这五个重要的持久性的类之外,还需要建立一个描述对象id的类(oid)和一个代表持久性的父类(persisent)。抽象出系统中的类后,确定并细化这些类的属性及操作,建立每个类的图形,通过这些图形对每一个类的属性和操作进行说明,如下所示: 图3.2 图书管理系统的实体类3.3.2定义用户类界面用户与系统需要进行交互,通常一个用户友好的系统都采用直观的图形可视化界面,因此需要定义系统的用户界面类。通过对系统的不断分
51、析和细化,可以识别出以下10个边界类:(1)类main window main window是系统的主界面,具有菜单和菜单项,当用户选择不同的菜单项时,系统可以执行不同的操作。当程序退出时,主界面窗口关闭。(2) 类borrowerdialog,进行操作“添加借阅者” “修改借阅者”或“删除借阅者”时所需的对话框。(3) 类findbwrdialog,是根据借阅者的id号查找借阅者的对话框。(4) 类titledialog,是进行操作“添加书种” “修改书种”或“删除书种”时所需的对话框。(5) 类findtdialog,是根据书看的种类的isbd/issn信息来查找对应刊种类的对话框。(6)
52、 类borrowdialog,是进行“借阅”操作时所需的对话框。(7) 类returndialog ,是进行“还书”操作时所需的对话框。(8) 类rsvdialog,是进行“预订”“取消预订”操作时所需的对话框。(9) 类messagedialog,是用来显示提示信息的窗口。(10) 类logindialog,是用来输入用户名和密码的对话框。通过对系统的不断分析和细化,识别出以上界面类,对其进行分析,识别出其属性和操作,下面通过图形对其每个类的属性和操作进行说明。图3.3 图书管理系统的边界类3.3.3建立类图识别出系统中的类后,再进行类间关系的识别,然后建立类图。将系统中的类分为3个包,即g
53、ui包、library包和db包。包gui是由界面类组成,包library由实体类组成,包db是由与数据库有关的类组成的。包gui依赖于包library和包db,包library依赖于包db,如下图所示:图3.4 图书管理系统包图其中类book、类title、类reservation、类borrower、类loan都是永久类,它们都是包db中的类类persistent的子类。类book、类title、类reservation、类borrower、类loan和类persistent之间存在类属关系。类title与类book之间存在“一对多”的关联关系,即每个title对象至少有一个book对象,
54、每个book对象只对应于一个title对象。类title与类reservation之间存在“一对多”的关联关系,即每个title对象可以没有或多个reservation(预订),每个reservation(预订)只能预定一个title。类borrower与类reservation之间存在“一对多”的关联关系,既每个borrower对象可以没有或有多个reservation(预订)。即每个reservation(预订)只能有一个borrower预订。类borrower与类loan(借阅)、类loan与类book之间也存在关联关系,每个loan只能借阅一个book,每个book也至多能对应一个loan对象(因为每个book在一个时间段内至多只能一个人借阅,因此,一个book至多只能对应一个借阅记录)。图3. 实体类类图图3.6图3.9 所示类图描述了界面类与实体类之间的关系。类borrowerdialog依赖于类reservation,类borrowr和类t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 整车制造绿色环保技术应用考核试卷
- 木材采伐作业成本控制考核试卷
- 卫生材料的社会影响与企业责任考核试卷
- 在建工地安全课件模板
- 工厂院内改造合同范本
- 公司聘用合同范本6
- 土地小院出租合同范本
- 团队合作合同范本
- 铝厂服装租借合同范本
- 小学生注意力课件
- 教学工作奖励办法
- 会员卡转让协议书范本(2024版)
- 育婴师培训课件
- 2024年扬州市职业大学单招职业适应性测试题库附答案
- 中药材种植中药材种植良种繁育技术研究与应用
- 安徽省皖江名校联盟2024届高三下学期4月二模化学
- 人教部编版《道德与法治》六年级下册第9课《日益重要的国际组织》精美课件
- 第5课《匆匆》课件-2023-2024学年统编版(五四学制)语文六年级下册
- 禁毒社工知识培训课件
- 大数据分析在审计中的创新运用
- 激光雷达行业市场规模分析
评论
0/150
提交评论