基于UML和C#图书管理系统设计毕业设计论文.docx
《基于UML和C#图书管理系统设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于UML和C#图书管理系统设计毕业设计论文.docx(74页珍藏版)》请在冰豆网上搜索。
基于UML和C#图书管理系统设计毕业设计论文
基于UML和C#图书管理系统设计
摘要
针对目前我国数量庞大的图书馆以及图书管理系统陈旧与传统的事实,为了最大程度的提高图书馆的工作效率并保证工作质量,使图书管理员和读者对图书馆里的资源使用更方便快捷,对管理和服务更满意,故设计实现了一个基于UML图书管理系统,该图书信息管理系统主要针对学校图书馆。
系统前期使用UML进行系统建模,使用StarUML作为开发工具,本系统采用B/S结构,后期主要以ASP.NET框架作为基础,使用了C#开发语言,用MicrosoftVisualStudio作为开发工具,以SQLServer作为数据库,设计开发一套界面简单、操作方便,容易维护的系统。
此图书管理系统包括如下几项功能:
图书分类管理、读者管理、图书管理、借书管理、还书管理、用户参数设置,以使图书管理系统的服务内容更多样。
关键词图书管理系统;UML;ASP.NET;C#;MicrosoftVisualStudio
ThedesignoflibrarymanagementsystembasedonUMLandC#
Abstract
Aimingatthelargenumberoflibrariesandlibrarymanagementsystemsandtraditionaloldfacts,inordertomaximizeefficiencyandensuretheimprovementofthequalityofworkthelibrary,librariansandreaderstomakemoreconvenienttousethelibrary'sresources,managementandservicesatisfaction,itdesignedandimplementedaUML-basedlibrarymanagementsystem,thelibraryinformationmanagementsystemaimedattheschoollibrary.EarlysystemsusingUMLsystemmodeling,usingStarUMLasadevelopmenttool,thesystemusesB/Sstructure,thelattermainlyinASP.NETframeworkasabasis,theuseofC#developmentlanguage,usingMicrosoftVisualStudioasadevelopmenttooltoSQLServerasdatabasedesignanddevelopmentofasimpleinterface,easytooperate,easytomaintainsystem.Thislibrarymanagementsystemincludesseveralfeaturesasfollows:
Booktaxonomicrelationship,thereadermanagement,librarymanagement,librarymanagement,bookmanagement,userparametersettingstomaketheservicesmorediverselibrarymanagementsystem.
Keywordslibrarymanagementsystems;UML;ASP.NET,;C#;MicrosoftVisualStudio
1绪论
1.1课题研究的背景
全国各地图书馆数量和规模都随着科学技术的发展而迅速增加。
现在已处于传统图书馆向数字图书馆过渡阶段。
但其中大部分小城市的图书馆没能高效率地利用网络信息资源。
传统的机制已不能满足时代发展的需求,因为这造成了人力和物力的极大浪费,这就是该图书管理系统开发的大背景。
因而建立一个规范、系统、准确、有效的图书管理系统在现代社会势在必行,这也对图书管理系统提出了更高的要求,如图书管理、借书管理、还书管理、读者管理等各种方便用户使用的界面。
UML统一建模语言是标准化编制系统蓝图的语言,对于复杂的系统UML可以建立可视化的系统模型。
UML建模技术应用于图书管理系统建设,能够加快开发的进程,保证代码的质量,适应动态的业务需求,还可继承原有的传统图书馆信息资源。
UML统一建模语言是一种定义良好、富于表达、功能强大且普遍适用的建模语言。
它融入了软件工程领域的新思想新方法新技术,支持面向对象的分析与设计。
此管理系统能让管理者和读者对图书馆中的书籍得到更方便、更满意的服务。
1.2课题研究的意义
随着图书馆规模的不断扩大和读者的不断增多,图书馆中的书籍、读者、图书的借阅、收费服务等都将越来越繁杂,需付出的人力物力也将越来越大。
若采用传统人工的方式处理各种数据,则会出现诸多缺点,比如:
检索速度慢,觉得很不方便,可靠性差,而且时间长了以后,会产生大量的文件和数据,用于检索,更新和维护都带来了很大的难度。
在随着计算机科学技术的迅猛发展,使用计算机网络对图书馆的各项信息进行操作处理,使图书馆管理系统的服务模式更多样化,更广泛。
这些优势可以提高效率,并确保最大程度的工作质量,将使图书管理员和读者对图书馆里的资源使用更方便快捷,对管理和服务更满意。
所以,开发先进的图书管理系统软件是大势所趋。
1.3图书管理系统的设计目标
该图书信息管理系统主要针对学校图书馆,图书逐渐成为人们的学习和精神文化消费主流以及传统而陈旧的管理方式应运而生的,该软件的开发是为了图书管理员和读者更好地利用图书馆的管理和业务。
图书管理系统要最终实现图书馆管理业务,实现各项管理等几个方面的功能。
图书馆的书籍和读者信息以及有关借阅情况的管理对图书管理者来说都是至关重要的。
同时,方便快捷性是使用者最为关注的。
为了实现上述目标,图书管理系统就包括如下几项功能:
图书分类管理、读者管理、图书管理、借书管理、还书管理、生成记录列表。
将使图书管理员和读者对图书馆的资源使用更方便快捷,对管理和服务更满意。
保证图书管理系统的效率和质量。
2系统的开发环境及技术简介
2.1系统开发语言
2.1.1UML语言简介
统一建模语言(UML)建模的过程是开发面向对象设计方法的第一步。
UML是一种定义良好、富于表达、功能强大且普遍适用的建模语言。
它融入了软件工程领域的新思想、新方法和新技术,支持面向对象的分析与设计。
UML表示法集中了不同的图形表示方法,定义了用例图、类图、顺序图、通信图、活动图、状态图、组件图、部署图等9种图。
这些图从不同的侧面对系统进行描述。
系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。
UML的定义包括UML语义和UML表示法两个部分,UML语义描述了基于UML的精确元模型定义,元模型为UML的所有元素在语法和语义上提供了简单一致通用的定义性说明,使开发者在语义上取得一致。
UML表示法定义了UML符号的表示方法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。
UML语言特点:
UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。
它实际上是一种通用的建模语言,可以为许多面向对象建模方法的用户广泛使用。
UML建模能力比其它面向对象建模方法更强。
UML是一种建模语言,而不是一个开发过程。
UML应用领域:
常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。
UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。
在需求分析阶段,可以用用例来捕获用户需求。
通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。
分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。
为实现用例,类之间需要协作,这可以用UML动态模型来描述。
在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。
这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。
编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。
在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。
因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。
UML符号具有定义良好的语义,不会引起歧义,有利于交流,还有利于对软件的维护。
2.1.2C#语言简介
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
通过使用VisualC#程序,程序员能够快捷简便的编写各种基于.NET平台的应用程序。
C#语言是一种安全稳定,是C语言和C++语言衍生出来的面向对象的编程语言,继承了它们的强大功能但去掉了一些它们的复杂性,如没有宏、不能多重继承。
其独特的优势成为.NET开发的首选语言。
2.2开发工具
2.2.1StarUML
StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。
StarUML是一个开源项目之一发展快、灵活、可扩展性强。
可绘制9种UML图:
用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图以及复合结构图等。
StarUML是一套开放源码的软件,可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件。
StarUML遵守UML的语法规则,不支持违反语法的动作。
正反向工程:
StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。
2.2.2MicrosoftVisualStudio2008
VisualStudio是由微软公司发布的集成开发环境平台,它不仅是一款为人熟知的开发工具,更是研发团队的协作与管理平台。
使用VisualStudio可以创建桌面,网络,移动终端等不同平台的应用程序。
VisualStudio2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。
VisualStudio2008包括各种增强功能,例如可视化设计器(使用.NETFramework3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。
VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。
开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP.NET应用程序服务和Microsoft平台。
程序开发为了帮助开发人员迅速创建先进的软件,VisualStudio2008提供了改进的语言和数据功能,各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息。
VisualStudio2008还使开发人员能够从同一开发环境内创建面向多个.NETFramework版本的应用程序。
2.3B/S体系结构
本系统采用比较流行的B/S三层结构。
图2.1B/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体系结构有开放的标准,只需在客户端安装浏览器,降低了开发和维护的成本,用户使用方便,界面友好。
2.4开发框架ASP.NET
ASP.NET是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。
ASP.NET是作为.NET框架体系结构的一部分推出的,ASP.NET应用包含多种类型的文件,在ASP.NET网页中,页面代码模型由可视元素和逻辑两部分组成,可视元素由一个包含静态标记(如HTML或ASP.NET服务器控件)的文件组成,ASP.NET网页用做要显示的静态文本和控件的容器,ASP.NET网页的逻辑由代码组成,这些代码由用户创建,并与页进行交互。
在进行ASP.NET页面设计时,可以充分利用VisualStudio提供的控件,快速实现应用程序的界面设计,实现页面与用户的动态交互。
ASP.NET是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,所以它拥有跨平台性,ASP.NET构建的应用程序可以运行在几乎全部的平台上。
ASP.NET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
ASP.NET是一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。
将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。
而且是可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET)创作应用程序。
另外,任何ASP.NET应用程序都可以使用整个.NETFramework。
3.1需求规格说明
3.1.1系统需求分析
图书管理系统开发首先要做的事都是确定系统的需求功能。
功能性需求描述了系统的功能,在面向对象的方法中,可以用用例来描述系统的功能。
采用用例驱动的分析方法分析需求的主要任务是识别出系统的参与者和用例,并建立用例模型。
图书管理系统要实现功能如下:
设计要实现的图书管理系统,图书管理员可以进行读者管理,可以添加新读者,对读者账户有挂失和恢复状态管理。
每个读者有最多借书权限,最多借书数量由管理员设置,超过该设置就不能借书,挂失状态也不能借书。
读者登录成功后可以查看图书列表和借书记录列表,借书还书由图书管理员操作,读者与系统不进行借书还书交互。
可对图书进行分类管理,图书管理,同时对图书信息进行删除,编辑,查看操作。
在借书时,需要输入所借的图书分类,图书名,图书编号,然后输入借书证号和读者名,完成后提交所填表格,系统验证读者是否有效,若有效,允许借书,系统查询数据库系统,看要求借的图书是否存在,若存在,则读者可以借出图书,并在系统中建立借书记录列表。
借书证号就是读者登录用户名,借书证号和密码由系统自动生成。
读者还书以后,生成关于图书的借书记录。
限制还书期限为15天,超期每天罚款一元,每个读者只可以续借一次。
读者可以进行图书列表查询,借书记录列表查询,图书查询,续借管理。
系统功能结构图如下图3.1所示。
图3.1系统功能结构图
分析上述图书管理系统要实现功能的描述,就得到下列需求。
(1)读者持有借书证号。
(2)读者可以查看图书列表。
(3)读者可以查询图书信息。
(4)读者可以进行续借管理。
(5)图书管理员作为读者的代理借书。
(6)图书管理员作为读者的代理还书。
(7)图书管理员可以创建新的读者账户。
(8)图书管理员修改读者的账户信息。
(9)图书管理员可以添加新图书种类。
(8)图书管理员可以修改图书分类信息。
(9)图书管理员可以删除系统中的图书分类。
(10)图书管理员可以在系统中添加图书信息
(11)图书管理员可以编辑图书信息。
(12)图书管理员可以删除图书信息。
(13)图书管理员可以限制最长借书时间。
(14)图书管理员可以查询读者借书记录。
(15)图书管理员可以生成借书记录列表。
3.1.2识别参与者
由图书管理系统的功能描述,能够得出图书管理系统的两个参与者,即读者和图书管理员。
对参与者的描述如下。
读者描述:
查看图书信息,查看借书记录列表;管理员描述:
读者管理,借书管理,还书管理,图书分类管理,可以添加、编辑、删除图书分类信息;图书管理,可以添加、编辑、删除图书信息。
3.1.3识别用例
根据图书管理系统的功能需求再做分析,能够得出图书管理系统的各个用例:
(1)借书管理
(2)还书管理
(3)读者管理
(4)图书分类管理
(5)借书记录
(6)登录
(7)图书列表
(8)图书管理
本用例描述了用户如何登录进入图书管理系统。
明确了参与者和用例两者的联系后可创建用例图。
“借书”、“还书”这些动作是由“读者”执行的,但是对于本系统来说,这些操作是由“管理员”与系统进行交互完成的,因此参与者“读者”和参与者“管理员”之间存在着依赖关系,即“读者”借助“管理员”完成这些工作。
用例“读者管理”、“图书管理”、“图书分类管理”也是参与者“管理员”进行交互的。
出于对图书管理系统安全方面的考虑,“管理员”必须要经过身份验证成功(用户名和密码符合)才能登录本系统执行后续的管理。
系统的用例图如图3.2和图3.3所示。
图3.2系统用例图
图3.3系统的用例图
3.1.4用例的事件流描述
用例还可以用事件流描述,用例的事件流是对完成用例行为为所需的事件的描述。
事件流描述了系统应该做什么,而没有描述系统应该怎样做,也就说事件流是用域语言描述的,而不是用实现语言描述的。
通常,事件流文档的建立主要在细化阶段进行。
开始只是对执行用例的常规流(即用例提供了什么功能)所需步骤的简单描述。
随着分析的进行,通过添加更多的详细信息,步骤不端细化。
最后,再将例外流添加到用例的事件流描述中。
图书管理系统的用例事件流描述如下。
1.借书
1.1前置条件
在这个用例开始之前,管理员必须登录到系统中。
1.2后置条件
如果这个用例成功,在系统中生成借书记录列表。
反之,系统的状态没有变化。
1.3扩充点
没有。
1.4事件流
1.4.1基流
当读者从图书馆借阅图书时,用例启动。
如果管理员选择“借书”,就执行分支流S-1:
借书
1.4.2分支流
S-1:
借书
(1)提供图书种类、读者信息。
(2)检索图书种类(E-1)。
(3)确定所借的图书是否能够借阅(E-2)。
(4)检索读者(E-3)。
(5)图书馆将图书借给读者。
(6)创建借阅记录。
(7)存储借阅记录。
1.4.3替代流
E-1:
系统提示图书不存在,用例终止。
E-2:
系统提示图书已借完,用例终止。
E-3:
系统提示没有该读者,用例终止。
2.还书
2.1前置条件
在这个用例开始前,管理员必须登录到系统中。
2.2后置条件
如果这个用例成功,系统删除借阅记录。
反之,系统状态不变。
2.3扩充点
没有。
2.4事件流
2.4.1基流
当读者返还所借的图书时,用例启动。
(1)提供所还图书信息。
(2)检索图书(E-1)。
(3)查询图书的借阅记录(E-2)。
(4)删除借阅记录。
2.4.2替代流
E-1:
系统提示图书不存在,用例终止。
E-2:
系统提示借阅记录不存在,用例终止。
5.维护读者信息
5.1前置条件
在这个用例开始之前,管理员必须登录到系统中。
5.2后置条件
若用例成功,系统可管理读者信息。
反之,系统的状态没有变化。
5.3扩充点
没有。
5.4事件流
5.4.1基流
当管理员想维护读者信息时,用例启动。
系统要求管理员选择所想执行的动作
若选择的动作是“添加读者”,就执行分支流S-1:
添加读者。
若选择的动作是“修改读者”,就执行分支流S-2:
修改读者。
5.4.2分支流
S-1:
添加读者
(1)提供读者信息,如姓名、联系方式、状态等。
(2)系统存储读者信息(E-1)
S-2:
更改读者
(1)提供读者的信息。
(2)查询并显示读者的信息(E-2),修改相应的信息。
(3)更新并存储系统中读者的信息。
5.4.3 替代流
E-1:
系统提示读者已存在,用例终止。
E-2:
系统提示没有该读者,用例终止。
6.维护图书信息
6.1前置条件
在这个用例开始之前,管理员必须登录到系统中。
6.2后置条件
若该用例成功,系统进行图书管理。
反之,系统状态没有变化。
6.3扩充点
没有。
6.4事件流
6.4.1基流
当管理员想维护图书信息时,用例启动。
系统要求管理员选择所想执行的动作。
若选择的动作是“添加图书”,就执行分支流S-1:
添加图书信息。
若选择的动作是“删除图书”,就执行分支流S-2:
删除图书信息。
若选择的动作是“编辑图书”,就执行分支流S-3:
编辑图书信息。
6.4.2分支流
S-1:
添加图书信息
(1)提供图书分类、图书编号、图书名、作者、出版日期、出版社等信息。
(2)在系统中添加该图书信息(E-1)。
S-2:
删除图书信息
(1)提供所要删除的图书信息。
(2)查询所要删除的图书(E-2)。
(3)删除该图书的所有物理信息(E-3)。
(4)删除图书信息。
S-3:
编辑图书的信息
(1)提供要编辑的图书信息