基于uml和c#图书管理系统设计_第1页
基于uml和c#图书管理系统设计_第2页
基于uml和c#图书管理系统设计_第3页
基于uml和c#图书管理系统设计_第4页
基于uml和c#图书管理系统设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于UML和C图书管理系统设计摘要针对目前我国数量庞大的图书馆以及图书管理系统陈旧与传统的事实,为了最大程度的提高图书馆的工作效率并保证工作质量,使图书管理员和读者对图书馆里的资源使用更方便快捷,对管理和服务更满意,故设计实现了一个基于UML图书管理系统,该图书信息管理系统主要针对学校图书馆。系统前期使用UML进行系统建模,使用STARUML作为开发工具,本系统采用B/S结构,后期主要以ASPNET框架作为基础,使用了C开发语言,用MICROSOFTVISUALSTUDIO作为开发工具,以SQLSERVER作为数据库,设计开发一套界面简单、操作方便,容易维护的系统。此图书管理系统包括如下几项功能图书分类管理、读者管理、图书管理、借书管理、还书管理、用户参数设置,以使图书管理系统的服务内容更多样。关键词图书管理系统;UML;ASPNET;C;MICROSOFTVISUALSTUDIOTHEDESIGNOFLIBRARYMANAGEMENTSYSTEMBASEDONUMLANDCABSTRACTAIMINGATTHELARGENUMBEROFLIBRARIESANDLIBRARYMANAGEMENTSYSTEMSANDTRADITIONALOLDFACTS,INORDERTOMAXIMIZEEFFICIENCYANDENSURETHEIMPROVEMENTOFTHEQUALITYOFWORKTHELIBRARY,LIBRARIANSANDREADERSTOMAKEMORECONVENIENTTOUSETHELIBRARYSRESOURCES,MANAGEMENTANDSERVICESATISFACTION,ITDESIGNEDANDIMPLEMENTEDAUMLBASEDLIBRARYMANAGEMENTSYSTEM,THELIBRARYINFORMATIONMANAGEMENTSYSTEMAIMEDATTHESCHOOLLIBRARYEARLYSYSTEMSUSINGUMLSYSTEMMODELING,USINGSTARUMLASADEVELOPMENTTOOL,THESYSTEMUSESB/SSTRUCTURE,THELATTERMAINLYINASPNETFRAMEWORKASABASIS,THEUSEOFCDEVELOPMENTLANGUAGE,USINGMICROSOFTVISUALSTUDIOASADEVELOPMENTTOOLTOSQLSERVERASDATABASEDESIGNANDDEVELOPMENTOFASIMPLEINTERFACE,EASYTOOPERATE,EASYTOMAINTAINSYSTEMTHISLIBRARYMANAGEMENTSYSTEMINCLUDESSEVERALFEATURESASFOLLOWSBOOKTAXONOMICRELATIONSHIP,THEREADERMANAGEMENT,LIBRARYMANAGEMENT,LIBRARYMANAGEMENT,BOOKMANAGEMENT,USERPARAMETERSETTINGSTOMAKETHESERVICESMOREDIVERSELIBRARYMANAGEMENTSYSTEMKEYWORDSLIBRARYMANAGEMENTSYSTEMS;UML;ASPNET,;C;MICROSOFTVISUALSTUDIO目录摘要IABSTRACTII1绪论111课题研究的背景112课题研究的意义113图书管理系统的设计目标12系统的开发环境及技术简介221系统开发语言2211UML语言简介2212C语言简介222开发工具3221STARUML3222MICROSOFTVISUALSTUDIO2008323B/S体系结构324开发框架ASPNET43系统总体设计531需求规格说明5311系统需求分析5312识别参与者6313识别用例6314用例的事件流描述732静态结构模型10321定义系统对象10322定义用户界面类11323建立类图1233动态行为模型14331编写目的14332建立交互作用图14333建立状态机图18334建立活动图1934建立物理模型20341建立部署图204系统数据库设计2141数据库SQLSERVER2142概念模型设计2143数据库逻辑模型2244数据库表结构2345平台数据表的设计235系统功能实现2551用户登录2552系统主界面2653图书分类管理主界面2754图书管理主界面2955读者管理主界面3056借书管理主界面3357还书管理主界面366系统测试3961软件测试39611测试目的39612测试方案39613测试用例39614测试分析4162测试评价41结论42参考文献43致谢44外文原文45中文翻译541绪论11课题研究的背景全国各地图书馆数量和规模都随着科学技术的发展而迅速增加。现在已处于传统图书馆向数字图书馆过渡阶段。但其中大部分小城市的图书馆没能高效率地利用网络信息资源。传统的机制已不能满足时代发展的需求,因为这造成了人力和物力的极大浪费,这就是该图书管理系统开发的大背景。因而建立一个规范、系统、准确、有效的图书管理系统在现代社会势在必行,这也对图书管理系统提出了更高的要求,如图书管理、借书管理、还书管理、读者管理等各种方便用户使用的界面。UML统一建模语言是标准化编制系统蓝图的语言,对于复杂的系统UML可以建立可视化的系统模型。UML建模技术应用于图书管理系统建设,能够加快开发的进程,保证代码的质量,适应动态的业务需求,还可继承原有的传统图书馆信息资源。UML统一建模语言是一种定义良好、富于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想新方法新技术,支持面向对象的分析与设计。此管理系统能让管理者和读者对图书馆中的书籍得到更方便、更满意的服务。12课题研究的意义随着图书馆规模的不断扩大和读者的不断增多,图书馆中的书籍、读者、图书的借阅、收费服务等都将越来越繁杂,需付出的人力物力也将越来越大。若采用传统人工的方式处理各种数据,则会出现诸多缺点,比如检索速度慢,觉得很不方便,可靠性差,而且时间长了以后,会产生大量的文件和数据,用于检索,更新和维护都带来了很大的难度。在随着计算机科学技术的迅猛发展,使用计算机网络对图书馆的各项信息进行操作处理,使图书馆管理系统的服务模式更多样化,更广泛。这些优势可以提高效率,并确保最大程度的工作质量,将使图书管理员和读者对图书馆里的资源使用更方便快捷,对管理和服务更满意。所以,开发先进的图书管理系统软件是大势所趋。13图书管理系统的设计目标该图书信息管理系统主要针对学校图书馆,图书逐渐成为人们的学习和精神文化消费主流以及传统而陈旧的管理方式应运而生的,该软件的开发是为了图书管理员和读者更好地利用图书馆的管理和业务。图书管理系统要最终实现图书馆管理业务,实现各项管理等几个方面的功能。图书馆的书籍和读者信息以及有关借阅情况的管理对图书管理者来说都是至关重要的。同时,方便快捷性是使用者最为关注的。为了实现上述目标,图书管理系统就包括如下几项功能图书分类管理、读者管理、图书管理、借书管理、还书管理、生成记录列表。将使图书管理员和读者对图书馆的资源使用更方便快捷,对管理和服务更满意。保证图书管理系统的效率和质量。2系统的开发环境及技术简介21系统开发语言211UML语言简介统一建模语言(UML)建模的过程是开发面向对象设计方法的第一步。UML是一种定义良好、富于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术,支持面向对象的分析与设计。UML表示法集中了不同的图形表示方法,定义了用例图、类图、顺序图、通信图、活动图、状态图、组件图、部署图等9种图。这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。UML的定义包括UML语义和UML表示法两个部分,UML语义描述了基于UML的精确元模型定义,元模型为UML的所有元素在语法和语义上提供了简单一致通用的定义性说明,使开发者在语义上取得一致。UML表示法定义了UML符号的表示方法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。UML语言特点UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。它实际上是一种通用的建模语言,可以为许多面向对象建模方法的用户广泛使用。UML建模能力比其它面向对象建模方法更强。UML是一种建模语言,而不是一个开发过程。UML应用领域常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。UML符号具有定义良好的语义,不会引起歧义,有利于交流,还有利于对软件的维护。212C语言简介C是微软公司发布的一种面向对象的、运行于NETFRAMEWORK之上的高级程序设计语言。通过使用VISUALC程序,程序员能够快捷简便的编写各种基于NET平台的应用程序。C语言是一种安全稳定,是C语言和C语言衍生出来的面向对象的编程语言,继承了它们的强大功能但去掉了一些它们的复杂性,如没有宏、不能多重继承。其独特的优势成为NET开发的首选语言。22开发工具221STARUMLSTARUML简称SU,是一种创建UML类图,生成类图和其他类型的统一建模语言UML图表的工具。STARUML是一个开源项目之一发展快、灵活、可扩展性强。可绘制9种UML图用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图以及复合结构图等。STARUML是一套开放源码的软件,可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件。STARUML遵守UML的语法规则,不支持违反语法的动作。正反向工程STARUML可以依据类图的内容生成JAVA、C、C代码,也能够读取JAVA、C、C代码反向生成类图。222MICROSOFTVISUALSTUDIO2008VISUALSTUDIO是由微软公司发布的集成开发环境平台,它不仅是一款为人熟知的开发工具,更是研发团队的协作与管理平台。使用VISUALSTUDIO可以创建桌面,网络,移动终端等不同平台的应用程序。VISUALSTUDIO2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。VISUALSTUDIO2008包括各种增强功能,例如可视化设计器(使用NETFRAMEWORK35加速开发)、对WEB开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。VISUALSTUDIO2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的WEB应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的WEB应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASPNET应用程序服务和MICROSOFT平台。程序开发为了帮助开发人员迅速创建先进的软件,VISUALSTUDIO2008提供了改进的语言和数据功能,各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息。VISUALSTUDIO2008还使开发人员能够从同一开发环境内创建面向多个NETFRAMEWORK版本的应用程序。23B/S体系结构本系统采用比较流行的B/S三层结构。图21B/S三层结构图B/S体系结构及浏览器/服务器结构,是对C/S体系结构进行改进后的一种结构。要实现一个完整的B/S应用系统,需要三部分组成。B/S模式第一层客户机的主体是浏览器,它是B/S结构中用户与整个系统交互的界面,用于向服务器发送特定的数据或请求,以及接收从服务器发来的数据。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的WEB服务器。第二层的WEB服务器是实现B/S结构的关键,WEB服务器的引入,使得通过浏览器来访问数据库服务器成为可能,从而免去了开发与维护客户端界面的大量工作。用户只要安装了浏览器软件,就可以访问数据库服务器。WEB服务器作为一种应用服务器,可以将原来分布于客户端或服务器端的应用集中在一起,使系统的结构更加清晰和精细,有利于系统的扩展。WEB服务器作为客户端和服务器端的中介,起着沟通与协调的作用。第三层数据库服务器的任务类似于C/S模式,负责协调不同的WEB服务器发出的请求,管理数据库。在该层中存储了系统中所有需要发布的数据信息,因此,为了保证WEB站点的快速,高效,一般需要把数据库服务器放在硬件配置较好的机器上,它可以和WEB服务器在同一台计算机上,也可以位于两台,甚至多台计算机上。B/S软件体系结构的优点有它简化了客户端,无需像C/S模式那样在不同的客户机上安装不同的客户端应用程序,而只需安装通用的浏览器软件,就可享受到无限丰富的永远在不断变化和发展着的信息服务。这样不但可以节省客户机的硬盘空间与内存,而且使客户端的安装和升级过程更加简便,原则上取消了所有在客户机一侧的维护工作。B/S体系结构通过INTERNET技术统一访问不同种类的数据库,提供了异种机器,异种网络,异种应用服务之间的统一服务的最现实的开放性基础。B/S软件体系结构也存在问题,比如缺乏对动态页面的支持能力,没有集成有效的数据库处理能力,系统的扩展性差,安全性难以控制以及集成工具不足等缺点。B/S体系结构有开放的标准,只需在客户端安装浏览器,降低了开发和维护的成本,用户使用方便,界面友好。24开发框架ASPNETASPNET是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。ASPNET是作为NET框架体系结构的一部分推出的,ASPNET应用包含多种类型的文件,在ASPNET网页中,页面代码模型由可视元素和逻辑两部分组成,可视元素由一个包含静态标记(如HTML或ASPNET服务器控件)的文件组成,ASPNET网页用做要显示的静态文本和控件的容器,ASPNET网页的逻辑由代码组成,这些代码由用户创建,并与页进行交互。在进行ASPNET页面设计时,可以充分利用VISUALSTUDIO提供的控件,快速实现应用程序的界面设计,实现页面与用户的动态交互。ASPNET是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,所以它拥有跨平台性,ASPNET构建的应用程序可以运行在几乎全部的平台上。ASPNET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。ASPNET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。ASPNET是一个已编译的、基于NET的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。而且是可以用任何与NET兼容的语言(包括VISUALBASICNET、C和JSCRIPTNET)创作应用程序。另外,任何ASPNET应用程序都可以使用整个NETFRAMEWORK。3系统总体设计31需求规格说明311系统需求分析图书管理系统开发首先要做的事都是确定系统的需求功能。功能性需求描述了系统的功能,在面向对象的方法中,可以用用例来描述系统的功能。采用用例驱动的分析方法分析需求的主要任务是识别出系统的参与者和用例,并建立用例模型。图书管理系统要实现功能如下设计要实现的图书管理系统,图书管理员可以进行读者管理,可以添加新读者,对读者账户有挂失和恢复状态管理。每个读者有最多借书权限,最多借书数量由管理员设置,超过该设置就不能借书,挂失状态也不能借书。读者登录成功后可以查看图书列表和借书记录列表,借书还书由图书管理员操作,读者与系统不进行借书还书交互。可对图书进行分类管理,图书管理,同时对图书信息进行删除,编辑,查看操作。在借书时,需要输入所借的图书分类,图书名,图书编号,然后输入借书证号和读者名,完成后提交所填表格,系统验证读者是否有效,若有效,允许借书,系统查询数据库系统,看要求借的图书是否存在,若存在,则读者可以借出图书,并在系统中建立借书记录列表。借书证号就是读者登录用户名,借书证号和密码由系统自动生成。读者还书以后,生成关于图书的借书记录。限制还书期限为15天,超期每天罚款一元,每个读者只可以续借一次。读者可以进行图书列表查询,借书记录列表查询,图书查询,续借管理。系统功能结构图如下图31所示。图31系统功能结构图分析上述图书管理系统要实现功能的描述,就得到下列需求。(1)读者持有借书证号。(2)读者可以查看图书列表。(3)读者可以查询图书信息。(4)读者可以进行续借管理。(5)图书管理员作为读者的代理借书。(6)图书管理员作为读者的代理还书。(7)图书管理员可以创建新的读者账户。(8)图书管理员修改读者的账户信息。(9)图书管理员可以添加新图书种类。(8)图书管理员可以修改图书分类信息。(9)图书管理员可以删除系统中的图书分类。(10)图书管理员可以在系统中添加图书信息(11)图书管理员可以编辑图书信息。(12)图书管理员可以删除图书信息。(13)图书管理员可以限制最长借书时间。(14)图书管理员可以查询读者借书记录。(15)图书管理员可以生成借书记录列表。312识别参与者由图书管理系统的功能描述,能够得出图书管理系统的两个参与者,即读者和图书管理员。对参与者的描述如下。读者描述查看图书信息,查看借书记录列表;管理员描述读者管理,借书管理,还书管理,图书分类管理,可以添加、编辑、删除图书分类信息;图书管理,可以添加、编辑、删除图书信息。313识别用例根据图书管理系统的功能需求再做分析,能够得出图书管理系统的各个用例(1)借书管理(2)还书管理(3)读者管理(4)图书分类管理(5)借书记录(6)登录(7)图书列表(8)图书管理本用例描述了用户如何登录进入图书管理系统。明确了参与者和用例两者的联系后可创建用例图。“借书”、“还书”这些动作是由“读者”执行的,但是对于本系统来说,这些操作是由“管理员”与系统进行交互完成的,因此参与者“读者”和参与者“管理员”之间存在着依赖关系,即“读者”借助“管理员”完成这些工作。用例“读者管理”、“图书管理”、“图书分类管理”也是参与者“管理员”进行交互的。出于对图书管理系统安全方面的考虑,“管理员”必须要经过身份验证成功(用户名和密码符合)才能登录本系统执行后续的管理。系统的用例图如图32和图33所示。图32系统用例图图33系统的用例图314用例的事件流描述用例还可以用事件流描述,用例的事件流是对完成用例行为为所需的事件的描述。事件流描述了系统应该做什么,而没有描述系统应该怎样做,也就说事件流是用域语言描述的,而不是用实现语言描述的。通常,事件流文档的建立主要在细化阶段进行。开始只是对执行用例的常规流(即用例提供了什么功能)所需步骤的简单描述。随着分析的进行,通过添加更多的详细信息,步骤不端细化。最后,再将例外流添加到用例的事件流描述中。图书管理系统的用例事件流描述如下。1借书11前置条件在这个用例开始之前,管理员必须登录到系统中。12后置条件如果这个用例成功,在系统中生成借书记录列表。反之,系统的状态没有变化。13扩充点没有。14事件流141基流当读者从图书馆借阅图书时,用例启动。如果管理员选择“借书”,就执行分支流S1借书142分支流S1借书1提供图书种类、读者信息。2检索图书种类E1。3确定所借的图书是否能够借阅E2。4检索读者E3。5图书馆将图书借给读者。6创建借阅记录。7存储借阅记录。143替代流E1系统提示图书不存在,用例终止。E2系统提示图书已借完,用例终止。E3系统提示没有该读者,用例终止。2还书21前置条件在这个用例开始前,管理员必须登录到系统中。22后置条件如果这个用例成功,系统删除借阅记录。反之,系统状态不变。23扩充点没有。24事件流241基流当读者返还所借的图书时,用例启动。1提供所还图书信息。2检索图书E1。3查询图书的借阅记录E2。4删除借阅记录。242替代流E1系统提示图书不存在,用例终止。E2系统提示借阅记录不存在,用例终止。5维护读者信息51前置条件在这个用例开始之前,管理员必须登录到系统中。52后置条件若用例成功,系统可管理读者信息。反之,系统的状态没有变化。53扩充点没有。54事件流541基流当管理员想维护读者信息时,用例启动。系统要求管理员选择所想执行的动作若选择的动作是“添加读者”,就执行分支流S1添加读者。若选择的动作是“修改读者”,就执行分支流S2修改读者。542分支流S1添加读者1提供读者信息,如姓名、联系方式、状态等。2系统存储读者信息E1S2更改读者1提供读者的信息。2查询并显示读者的信息E2,修改相应的信息。3更新并存储系统中读者的信息。543替代流E1系统提示读者已存在,用例终止。E2系统提示没有该读者,用例终止。6维护图书信息61前置条件在这个用例开始之前,管理员必须登录到系统中。62后置条件若该用例成功,系统进行图书管理。反之,系统状态没有变化。63扩充点没有。64事件流641基流当管理员想维护图书信息时,用例启动。系统要求管理员选择所想执行的动作。若选择的动作是“添加图书”,就执行分支流S1添加图书信息。若选择的动作是“删除图书”,就执行分支流S2删除图书信息。若选择的动作是“编辑图书”,就执行分支流S3编辑图书信息。642分支流S1添加图书信息1提供图书分类、图书编号、图书名、作者、出版日期、出版社等信息。2在系统中添加该图书信息E1。S2删除图书信息1提供所要删除的图书信息。2查询所要删除的图书E2。3删除该图书的所有物理信息E3。4删除图书信息。S3编辑图书的信息1提供要编辑的图书信息。2查询并显示图书信息E2。3修改相应的信息。4更新并存储系统中的图书信息。643替代流E1系统提示该书信息已存在,用例终止。E2系统提示没有该图书,用例终止。E3系统提示该书被借出,用例终止。8登录81前置条件没有。82后置条件没有。83扩充点没有。84事件流841基流当用户要登录系统时,用例启动。1系统提示用户输入用户名和密码。2用户输入用户名和密码。3系统将输入的用户名和密码进行验证,若正确E1,用户登录系统842替代流E1若用户输入无效的用户名或密码,系统提示错误。用户可以选择重新输入正确的用户名或密码,或者取消登录,用例结束。32静态结构模型321定义系统对象定义过系统需求后,就可以根据系统需求识别出系统中存在的对象。系统对象的识别要查找图书管理系统需求描述中的名词来进行,从图书管理系统的需求描述中可以找到的名词有读者、图书、图书种类、借书记录列表。若这些对象有相应的属性和动作,就可以为该对象创建类。从上述分析可知,系统至少含4个重要的类,即读者、图书分类、图书、借阅记录。这些类都是实体类,具有持久性,需要存储在数据库中。由于上述类都是持久性类,可以抽象出一个代表抽象类的父类,以实现面向对象数据库文件的读写、存储、检索、删除、更新等操作。(1)读者在这个系统中,读者可以借书、还书,所以读者应该成为系统中的一个对象,类名为读者。类读者描述了读者的信息。读者的属性信息包括姓名、联系方式、最多借书量、已借图书、状态等。类读者代表了系统中存储读者的信息,即代表了读者在系统中的账户。类读者的所有对象都是持久的,因为类读者继承了类永久,并实现了读写操作。(2)图书种类图书分类可以通过不同的类别来区别。在这个系统中,可以添加图书分类,类名为图书种类。类图书种类描述了图书的种类信息。类图书分类继承了类永久类,并实现了读写操作,所以类图书种类的所有对象都是持久的。(3)图书图书也有身份,在图书馆中能用图书编号来区别图书。在该系统中,图书可以被借阅或被返还,所以,图书也是系统中的一个对象,类名为图书。类图书代表可以借阅的图书。类图书的对象有两个状态,即“已借出”或“未借出”。类图书的对象总是与一个图书分类对象对应。图书馆对同一种书通常保存几本物理图书(每本图书都可以被一个读者借出)。每个图书都有唯一的编号区别图书馆中的图书。类图书继承了类永久类,所以类图书的所有对象都是持久的。(4)借阅记录在这个系统中,借阅记录可以进行的动作有挂失和恢复,所以,借阅记录也是系统中的一个对象,类名为借阅记录。类借阅记录描述了读者从图书馆借阅图书的借阅记录。一个借阅记录对象对应着一个读者对象和一个图书对象。当图书被还时,要显示还书时间。(5)类永久类类永久类是类读者、类图书、类图书种类、类借阅记录的父类。“类永久类支持对象的持久存储”。“类永久类有从数据库文件中读出对象的方法,也有将对象写入数据库文件的方法,还可以进行存储删除更新对象的动作”。类永久类的子类继承了类永久类,从而实现了将特定子类对象的属性写入数据库文件,或者从数据库文件中读出特定子类对象的属性。322定义用户界面类为了管理员和读者能与图书管理系统的良好交互,要定义一个用户友好的可视化界面。可以通过对图书管理系统的进一步分析细化,得出以下界面类(属性和活动)。(1)类主界面类主界面,是系统的主界面,用户选择不同的菜单项可执行不同的动作。程序退出主界面会关闭。(2)类读者对话框界面类读者对话框可进行动作“添加读者”、“编辑读者”、“管理账户”时所需要的对话框。(3)类图书分类对话框界面类图书分类对话框是进行操作“添加图书分类”时所需要的对话框。(4)类图书对话框界面类图书对话框是为了进行“添加图书”,“编辑图书”,“删除图书”时所需的对话框。(5)类借书对话框界面类借书对话框是进行“借书”操作时所需的对话框。当主窗口中的菜单项“借书管理”被选择时,对话框弹出,图书管理员输入图书编号、图书名和借书证号,单击“提交”按钮,借书动作被确认,系统存借阅记录。可进行“借书”“查看”操作。(6)类还书对话框界面类还书对话框是进行“还书”操作时所需的对话框。当主窗口中的菜单项“还书管理”被选择时,对话框弹出,点击“还书”按钮,还书动作被确认。(7)类消息对话框界面类消息对话框用来显示提示信息的窗口(8)类登录对话框界面类登录对话框用来“输入用户名和密码”的对话框。323建立类图找出系统中的类和它们之间的关系,画出相应类图。将系统中的类分为三个包,即用户界面包、图书馆包、数据库包。包用户界面包由界面类组成,包图书馆由实体类组成,包数据库由与数据库有关的类组成。包用户界面依赖于包图书馆和包数据库,包图书馆依赖于包数据库。如图34所示。图34系统包图图35用户界面类的类图此类图描述了包用户界面中界面类之间的关系。图36实体类的类图此类图描述了包图书馆中实体类之间的关系。图37界面类与实体类关系图图38界面类与实体类关系图图39界面类与实体类关系图以上类图描述了界面类与实体类之间的关系。33动态行为模型331编写目的该阶段的主要目的是根据设计的总体结构,为每一个模块设计出系统的动态行为模型。表示动态行为的图有交互作用图、状态机图、活动图,从不同的侧面,描述系统的功能。332建立交互作用图交互图可由顺序图和通信图表示。“顺序图存在两个轴,水平轴表示每个对象,垂直轴是对象的生命线,表示什么时间段对象存在”,顺序图强调了消息的时间顺序。描述系统用例主要场景的顺序图如下所示。顺序图如图310至图316所示。()添加读者图310“添加读者”的顺序图()删除读者图311“删除读者”的顺序图(3)添加图书图312“添加图书”的顺序图(4)删除图书图313“删除图书”顺序图5借书图314“借书”的顺序图6还书图315“还书”的顺序图(7)登录图316“登录”的顺序图333建立状态机图状态机图描述了特定对象的各种所处状态,状态间的跃迁以及引起状态跃迁的事件,状态机图由状态和状态之间的跃迁组成,按事件发生顺序模拟对象的行为。如图317所示是对象图书的状态机图,对象图书有两个状态,即“借出状态”和“未借出状态”。对象图书开始处于”未借出状态”状态,当事件“借书”发生时,对象跃迁到”借出状态”状态,同时执行动作将借书记录存储到数据库中,如果对象开始处于”借出状态”状态,当事件“还书”发生时,对象图书返回“未借出”状态。如图318所示是对象管理员的状态机图,对象管理员有两个状态,即“登录成功”和“登录不成功”。管理员图书开始处于”登录不成功”状态,当事件“用户名和密码正确”发生时,对象跃迁到”登录成功”状态,同时执行动作将管理员连接到数据库中,如果对象开始处于“登录成功”状态,当事件“退出登录”发生时,对象管理员返回状态“登录不成功”,同时退出与数据库的连接,若用户名或密码不正确,则一直处于“登录不成功”状态。图317图书的状态机图图318管理员的状态机图334建立活动图活动图主要是一个流图,描述了从活动到活动的流,活动是在状态机中进行的一个非原子的执行,由一系列的动作组成。该活动图如图319所示管理员起始于登录状态,登录成功后选择还书或是借书操作,若选择还书,则判断是否违规,若违规接受相应处罚,若没有违规更改相应信息。若选择借书,判断借书数量是否已达上限,若没有达上限,更改相应信息,若达上限就终止于结束状态。图319管理员借书还书活动图34建立物理模型341建立部署图部署图描述了节点和运行其上的组件的配置,它是用来为面向对象系统的物理实现建模的两种图之一。如图320所示表示图书管理系统是一个基于B/S结构的模式,在B/S结构中,用户界面通过浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。第一层客户机的主体是浏览器,第二层WEB服务器是实现B/S结构的关键,第三层数据库服务器管理数据库。图320图书管理系统部署图4系统数据库设计41数据库SQLSERVER2005SQLSERVER是微软公司开发的一个关系型数据库管理系统,它提供了一个完整的数据管理和分析解决方案,帮助不同的组织构建,部署和管理企业应用程序,使其更加安全,伸缩性更强,更可靠,降低开发和支持数据库应用程序的复杂性,提供软件开发效率,能够在不同平台,应用程序和设备之间共享数据,更易于连接内部和外部系统。SQLSERVER数据平台包括了关系型数据库,复制服务,管理工具,开发工具等,便于用户灵活使用。SQLSERVER2005是一个全面的数据库平台,使用集成的商业智能BI工具提供了企业级的数据管理。SQLSERVER2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。MICROSOFTSQLSERVER2005结合了分析、报表、集成和通知功能。SQLSERVER2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符和其他数据列排行功能等等。利用SQLSERVER2005,报表服务可以提供报表控制,可以通过VISUALSTUDIO2005发行。SQLSERVER2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进。42概念模型设计采用ER图方法,即实体联系图。ER图构图三个基本要素是实体型、联系、属性。“用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,用菱形表示实体型之间的联系”ER图是能直观方便的反映图书管理系统的概念模型。本系统ER图如图41所示。图41本系统ER图43数据库逻辑模型数据库逻辑模型如图42至图45所示图42图书分类表信息(主键、分类名)图43借书记录表信息(主键、图书分类、图书名、读者借书号、图书的ID、借书时间、还书时间、借书状态)图44图书表信息(主键、图书编号、出版日期、出版社、定价、图书名、作者、图书分类、图书总数、已借图书、可借图书)图45用户表信息(主键、用户名、密码、真实姓名、添加时间、用户权限、联系方式、最多借书数量、借书状态、已借图书数量)44数据库表结构根据平台的需求分析和功能模块的划分,数据库主要包含4张表图书分类表,借书记录表,图书表,用户表。45平台数据表的设计根据平台的需求分析和功能模块的划分,定义数据库主要包含4张表表41图书分类表名称类型字段说明主键外键允许为空C_IDINT图书分类编号是否不允许C_NAMENVARCHAR50分类名否否不允许表42借书记录表名称类型字段说明主键外键允许为空IDINT借书记录编号是否不允许CATEGORYNVARCHAR50图书分类否否不允许TITLENVARCHAR50图书名否否不允许USERNAMENVARCHAR50读者借书号否否不允许BOOK_IDNVARCHAR50图书编号否是不允许BORROW_TIMEDATETIME借书时间否否不允许RETURN_TIMEDATETIME还书时间否否不允许STATENVARCHAR50借书状态未还书、已还书否否不允许REAL_NAMENVARCHAR50真实姓名否否不允许DAYSINT借书天数否否不允许RENEWINT续借否否不允许FINEINT罚款否否不允许表43图书表名称类型备注主键外键允许为空BOOK_IDINT图书编号是否不允许NUMBERNVARCHAR50国际标准书号否否不允许PUBLICATION_DATENVARCHAR50出版日期否否不允许PUBLISHERNVARCHAR50出版社否否不允许PRICENVARCHAR50定价否否不允许TITLENVARCHAR50图书名否否不允许AUTHORNVARCHAR50作者否否不允许CATEGORYNVARCHAR50图书分类否否不允许TOTALINT图书总数否否不允许LEND_BOOKINT已借图书否否不允许BORROW_BOOKINT可借图书否否不允许表44用户表名称类型备注主键外键允许为空USER_IDINT用户编号是否不允许USERNAMENVARCHAR50用户名否否不允许PASSWORDNVARCHAR50密码否否不允许REAL_NAMENVARCHAR50真实姓名否否不允许CREATE_TIMEDATETIME添加时间否否不允许ROLENVARCHAR50用户权限,1表示图书管理员、2表示读者否否不允许PHONE_NUMBERNVARCHAR50联系方式否否不允许MOSTINT最多借书数量否否不允许STATENVARCHAR50借书状态否否不允许LEND_NUMINT已借图书数量否否不允许5系统功能实现51用户登录图51登录界面本界面是用户登录的主界面如图51所示,对的页面为LOGINASPX,登录的主要代码在LOGINASPXCS中,当用户点击登录按钮时,则触发BUTTON1_CLICK方法,登录的逻辑都写在这里面。PROTECTEDVOIDIMAGEBUTTON1_CLICKOBJECTSENDER,IMAGECLICKEVENTARGSESTRINGUSERNAMETXTUSERNAMETEXTSTRINGPASSWORDTXTPASSWORDTEXTSTRINGROLETXTROLETEXTT_USERTABLEADAPTERADAPTERNEWT_USERTABLEADAPTERVARROWSADAPTERGETDATABYLOGINUSERNAME,PASSWORD,ROLEIFROWSCOUNTALERT登录失败,用户名或密码错误WINDOWLOCATIONHREFLOGINASPX“RETURNVARUSERROWSSINGLESESSION“USERROLE“USERROLESESSION“USERNAME“USERUSERNAMERESPONSEWRITE“ALERT登录成功WINDOWLOCATIONHREFINDEXASPX“首先从页面获取用户名,密码,用户的登录角色等信息,然后新建一个T_USERTABLEADAPTERADAPTERNEWT_USERTABLEADAPTER对象,然后调用改对象的登录方法ADAPTERGETDATABYLOGIN,判断返回值是否为0,不为0则登录成功,跳转到INDEXASPX页面,返回0则登录失败,返回LOGINASPX页面。52系统主界面图52系统主界面对应的页面为INDEXASPX,登录后界面如图52所示。主要代码在INDEXASPXCS中用户需要登陆后才能进入此页面。根据用户权限的不同,左边菜单栏显示的条目都不一样的。USINGSYSTEMDATAUSINGSYSTEMLINQUSINGSYSTEMWEBUSINGSYSTEMWEBSECURITYUSINGSYSTEMWEBUIUSINGSYSTEMWEBUIHTMLCONTROLSUSINGSYSTEMWEBUIWEBCONTROLSUSINGSYSTEMWEBUIWEBCONTROLSWEBPARTSUSINGSYSTEMXMLLINQNAMESPACEWEBAPPLICATION4PUBLICPARTIALCLASSINDEXSYSTEMWEBUIPAGEPROTECTEDVOIDPAGE_LOADOBJECTSENDER,EVENTARGSE/IFSESSION“USERNAME“NULL/RESPONSEWRITE“ALERT请先登录WINDOWLOCATIONHREFLOGINASPX“/53图书分类管理主界面当前界面为添加图书分类界面如图53所示,对的页面为CATEGORYASPX,登录的主要代码在CATEGORYASPXCS中,当用户点击添加新分类按钮时,则触发事件,登录的逻辑都写在这里面。图53添加图书分类NAMESPACEWEBAPPLICATION4PUBLICPARTIALCLASSCATEGORYSYSTEMWEBUIPAGEPROTECTEDVOIDPAGE_LOADOBJECTSENDER,EVENTARGSEIFISPOSTBACKSTRINGACTIONREQUEST“ACTION“IFACTION“ADD“LABEL1TEXT“添加新图书分类“ELSEIFACTION“DEL“STRINGIDREQUEST“ID“T_CATEGORYTABLEADAPTERADAPTERNEWT_CATEGORYTABLEADAPTERADAPTERDELETECONVERTTOINT32IDRESPONSEWRITE“ALERT操作成功WINDOWLOCATIONHREFCATEGORYLISTASPX“ELSETHROWNEWEXCEPTION“ACTION错误“ACTIONPROTECTEDVOIDBUTTON1_CLICKOBJECTSENDER,EVENTARGSEIFISVALIDRETURNSTRINGACTIONREQUEST“ACTION“IFACTION“ADD“T_CATEGORYTABLEADAPTERADAPTERNEWT_CATEGORYTABLEADAPTERADAPTERINSERTC_NAMETEXTRESPONSEWRITE“ALERT操作成功WINDOWLOCATIONHREFCATEGORYLISTASPX“ELSETHROWNEWEXCEPTION“ACTION错误“ACTION图54图书分类列表54图书管理主界面图55添加图书主界面如图55所示页面为添加图书主界面,对应的页面为BOOKASPX,对应的代码为BOOKASPXCS,当用户点击提交按钮时,触发事件。PROTECTEDVOIDBUTTON1_CLICKOBJECTSENDER,EVENTARGSEIFISVALIDRETURNSTRINGACTIONREQUEST“ACTION“IFACTION“ADD“T_BOOKTABLEADAPTERADAPTERNEWT_BOOKTABLEADAPTERADAPTERINSERTNUMBERTEXT,PUBLICATION_DATETEXT,PUBLISHERTEXT,PRICETEXT,TITLETEXT,AUTHORTEXT,CATEGORYTEXT,CONVERTTOINT32TOTALTEXT,0,CONVERTTOINT32TOTALTEXTRESPONSEWRITE“ALERT操作成功WINDOWLOCATIONHREFBOOKLISTASPX“ELSEIFACTION“EDIT“STRINGIDREQUEST“ID“T_BOOKTABLEADAPTERADAPTERNEWT_BOOKTABLEADAPTERVARROWSADAPTERGETDATABYIDCONVERTTOINT32IDSINGLEROWSNUMBERNUMBERTEXTROWSPUBLICATION_DATEPUBLICATION_DATETEXTROWSPUBLISHERPUBLISHERTEXTROWSPRICEPRICETEXTROWSTITLETITLETEXTROWSAUTHORAUTHORTEXTROWSCATEGORYCATEGORYTEXTROWSTOTALCONVERTTOINT32TOTALTEXTROWSLEND_BOOKROWSTOTALROWSBORROW_BOOKADAPTERUPDATEROWSRESPONSEWRITE“ALERT操作成功WINDOWLOCATIONHREFBOOKLISTASPX“ELSETHROWNEWEXCEPTION“ACTION错误“ACTION首先判断验证是否成功,通过STRINGACTIONREQUEST“ACTION“判断是添加,编辑,删除,还是查看操作,ADD表示添加操作,新建T_BOOKTABLEADAPTERADAPTERNEWT_BOOKTABLEADAPTER对象,调用ADAPTERINSERT方法,把数据插入到数据库中,然后跳转到BOOKLISTASPX页面。图56图书列表55读者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论