参考:基于UML的图书管理系统的设计与实现.doc_第1页
参考:基于UML的图书管理系统的设计与实现.doc_第2页
参考:基于UML的图书管理系统的设计与实现.doc_第3页
参考:基于UML的图书管理系统的设计与实现.doc_第4页
参考:基于UML的图书管理系统的设计与实现.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

西南科技大学本科生毕业论文 IV基于UML的图书管理系统的设计与实现摘要: 图书馆管理系统是一种典型的信息管理系统,其开发主要包括后台的数据库的建立、维护以及前端的相应应用程序的开发。本文介绍了图书馆管理系统的设计与实现过程,包括数据库、应用服务器、Web服务器的设计与实现。系统实现了预订、借书、还书、续借操作;书籍、学生、借阅记录的查阅、添加、更新及删除等功能,此外系统还具备一些系统设置功能。本系统是基于B/S结构下开发的,采用的是WindowsXP操作系统用UML、Java、JSP、Sql Server2000开发。系统前台开发页面用JSP设计,当网页页面元素需要调用数据库的数据时,通过JSP服务器调用JavaBean组件提取数据库数据返回前台显示。关键词:UML; B/S; 图书管理 The design and Implementation of Library Management System Based on UMLAbstract:The administrative system of the library is a typical kind of information management system , the development mainly includ ing-settup and database in backstage, and the development application program in front stage.This text has introduced the design and chievement of the administrative system of library , including the design and realize of the database , the application server, , Web server and realizing. System to achieve the following functions: advance of books, borrow books, library books to return, renew library operations; add books, add to borrow, and borrow record access and update the book information, delete the book and update Information lending, lending to delete, such as function.This system is developed under B/S structure, and using UML, Java,JSP,Sql Server2000 in windowsXP operating system. We used JSP to design the systematic front dest develops pages,and We used JSP server to callback the JavaBean package to get data in the library and return to front desk when the page element of the webpage needs to transfer the data of the database.Key words: UML; B/S; Library management目 录第1章 绪 论11.1 图书管理系统概述11.1.1 系统的设计背景11.1.2 系统设计的内容、目的和意义11.2 国内外研究的现状21.3 论文组织31.4 本章小结3第2章 JAVA和UML技术概述42.1 JAVA技术发展历程42.1.1 JAVA虚拟机的发展42.1.2 JAVA开发环境的发展52.2 UML技术概述72.2.1 UML技术发展72.2.2 UML 开发工具72.2.3 UML的架构82.2.4 UML的应用102.3本章小结11第3章 图书管理系统分析123.1系统需求分析描述123.1.1 图管理系统的需求定义123.1.2 图书管理系统的业务流程分析133.1.3系统用例分析143.1.4系统类分析183.2本章小结20第4章 图书管理系统设计214.1 系统静态模型214.1.1 系统对象包图与组件图设计214.1.2 系统类设计234.2 系统动态模型264.2.1构建系统顺序图264.2.2 构建系统协作图324.3 物理模型334.3.1构建系统布局图334.4数据库开发环境的发展344.5数据库表结构设计354.6创建数据库脚本374.7本章小结38第5章 系统测试395.1黑盒测试395.1.1系统主界面测试395.1.2借阅者登陆测试405.1.3 管理员登陆测试405.1.4管理员添加新书功能测试415.1.5图书删除功能测试425.1.6书籍修改功能测试425.1.7图书查询测试435.1.8借书功能测试435.1.9续借功能测试445.1.10还书功能测试445.1.11删除借阅者功能测试455.1.12借阅者信息修改测试455.1.13借阅者查询测试465.2本章小结47结 论48致 谢49参考文献50 49西南科技大学本科生毕业论文第1章 绪 论1.1 图书管理系统概述1.1.1 系统的设计背景随着Internet迅速发展,它现在已经遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。所以,无论是传统的单机版图书管理系统,还是C/S模式网络版的图书管理系统也难于在Internet网上运行,而基于B/S模式的图书管理系统,很容易放在局域网或广域网上,任何工作站、拨号用户只须用浏览器就能实现图书借阅。在现代的软件开发理念中,统一建模语言UML由于更能提高人们在软件开发中的效率,以及对象管理组织将其作为标准采用,所在在开发设计阶段应用UML是非常必要的。因此,基于UML的B/S模式的图书管理系统应运而生。 1.1.2 系统设计的内容、目的和意义本系统的设计目的是设计和开发一个基于网络结构的图书管理系统,以解决其目前面临的图书管理问题。为了系统开发的高效性,在系统实现之前对系统进行建模,利用统一建模语言UML并借助于Rose工具给图书管理系统建模,从而提高系统的开发速度与质量。本毕业设计要求采用面向对象的设计方法学及UML建模语言,建立起系统的需求模型、分析模型、设计模型、实现模型和测试模型。主要研究如何运用面向对象的语言来实现图书管理系统的日常业务,使用户能通过浏览器实现图书的查询与借书,系统管理员能进行诸如图书信息和用户信息的管理等图书馆核心业务的处理,提高图书馆的工作效率,优化信息管理工作流程。本论文内容新颖,主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。1.2 国内外研究的现状图书馆是一个专门收集、整理、保存、传播文献并提供利用的科学、文化、教育和科研机构。图书馆的产生,是保存人类文化遗产的需要。因为有了图书馆这一机构,人类的社会实践所取得的经验、文化、知识者得以系统地保存并流传下来,成为今天人类宝贵的文化遗产和精神财富。近代,资本主义大工业的产生,要求工人有较多的劳动知识和劳动技能,图书馆从而真正走入平民百姓当中,担负起了对工人的科学知识文化教育的任务。传统图书管理软件是为替代手工录入,从传统数据记录中产生的,这些软件面对Internet及电子商务迅猛发展的网络经济时代显得如此脆弱而只能望而兴叹随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用1。作为计算机应用的一部分,使用计算机对图书信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。如何在宏观上有效地把握和组织,并运用到图书馆管理系统的开发建设上,是图书馆管理系统研究的重点。UML(The Unified Modeling Language,即统一建模语言)是一种编制系统蓝图的标准化语言,可以对复杂的系统建立可视化的系统模型,目前已经被工业标准化组织OMG(Object Management Group)接受,一经推出便得到许多著名的计算机厂商如Microsoft、HP、IBM、Oracle、华为、博朗等的支持,在国内外上的应用日益广泛。图书馆管理系统的开发建设是一个复杂的软件工程,需要集成不同的操作系统、数据库和应用软件,有众多不同级别的用户、管理员,满足图书馆从书目查询、普通和电子书刊借阅到提供网上信息服务、资源共享等各种需求。用传统的系统开发和集成的分析设计方法难以保证效率和质量,UML的特点及图书馆管理系统的要求,决定UML在图书馆管理系统中应该有很好的应用前景。 1.3 论文组织这篇论文结合当前JAVA、UML技术的应用现状及发展趋势,从JAVA、UML技术的发展到图书管理系统的设计、测试,论述了JAVA、UML技术在图书管理行业应用。第1章主要对于图书管理信息化发展进行了概括性的回顾,图书管理系统的研发背景、国内外的现状等方面论述了图书管理系统在现在生活中的重要性。第2章首先对于JAVA技术及重要内容J2EE架构进行了分析还介绍了JAVA及开发环境的发展历程,同时对UML技术的发展架构及应用进行了阐述。简单介绍了UML的开发环境。第3章对图书馆里系统的需求进行了分析,特别是通过用例图,借书活动图进行了分析。第4章通过UML的顺序图、活动图、协作图、对图书管理系统进行了详细的设计。同时介绍数据库开发环境的发展以及对数据库结构设计表,最后写出数据库脚本。第5章主要在开发过程中用白盒测试方法对系统进行了测试,在最后的时候用黑盒测试中的功能测试对系统进行了测试。1.4 本章小结本章主要对于图书管理信息化发展进行了概括性的回顾,图书管理系统的研发背景、国内外的现状等方面论述了图书管理系统在现在生活中的重要性。以及给出论文的组织结构。第2章 JAVA和UML技术概述2.1 JAVA技术发展历程“JAVA”包括四个相关联的概念:JAVA语言、JAVA API、JAVA Class文件格式、JAVA虚拟机。而整个JAVA体系则基于JAVA虚拟机来实现的,正因为如此,才能达成JAVA的安全性和网络移动性。综合各种软件程序语言,JAVA并非是第一个采用“虚拟机”概念的体系,但它却是第一个得到广泛运用的虚拟机,在各种操作系统平台上都能够看到它的身影,无论是在目前广泛使用、进入千家万户的WINDOWS操作系统,还是UNIX、LINUX操作系统,乃至运行与主机系统的MVS操作系统,无一例外的都存在JAVA虚拟机。可以说,JAVA虚拟机的发展历程,就是JAVA技术的发展历程。而初期仅仅作为一种程序开发语言,JAVA开发开发环境的变迁,也体现了JAVA技术的发展。2.1.1 JAVA虚拟机的发展第一个JAVA虚拟机版本是1995年出现的,其虚拟机执行时依靠“字节码解释器(Byte Code Interceptor)”的.JAVA程序的每条指令都由虚拟机来当场解释,解释成为机器代码(也称为“执行代码”)后执行,这导致了运行速度非常缓慢。但是这在当时是一个很流行的技术,同时也是各种解释性运行的程序通病。于是,Sun公司的工程师开始使用各种方法来提高虚拟机的运行速度,并于1996年十月发布了JIT静态编译器。JIT编译器在每段代码执行前进行编译,编译的结果为本地静态机器码,使得执行速度发生了质的提高7。JIT静态编译器虽然可以解决一些问题,但是性能仍然和当时的C/C+编译器相比较有相当大的差距。HotSpot引擎是模仿仍方式,对JAVA程序的编译运行进行优化的。在程序运行的开始,Java代码仍然解释并执行,但HotSpot引擎开始进行一种采样(Profiling)操作。根据采样的结果,决定某段程序是占用较多运行时间的,就认为它是“HotSpot”,认定它就是目前程序的瓶颈,随后引擎开始启动一个单独的线程对其进行优化2。因为不像原始的JIT编译器那样无差别的编译所有代码,HotSpot引擎的优化时基于采样结果的,因此这种方法是一种动态的编译过程,并且对所有的应用程序都有效。1999年3月27日,Sun提供哦第一个HotSpot引擎。在2000年5月发布的JDK1.3中,既包含了HotSopt引擎,这也使1.3成了一个具有里程碑意义的发行版本。HotSpot代表的是一种动态编译的技术。对JAVA这种大量使用委派,组合等面向对象特性的程序来说,动态编译比起静态编译具有显著的优势。比如Method Inlining。方法的调用时一个很耗时的操作,假若可以把方法调用直接内嵌到调用者的代码中,就可以节省大量的时间,这被称为“Method Inlining”。因为涉及到类的重载,静态优化很难确切知道哪些属性、方法碑重载,因此很难对method进行合作,只好在方法内部进行静态编译,假若每个方法都很小,静态优化能起到得作用也就比较小。而动态编译因为可以完全随时掌握类的重载情况,就可以把相关的方法合并进行深度优化。现代的JAVA程序,特别是在设计模式教育得到普及之后,大量使用类的继承、委派、形成了很多短小的方法,动态编译的优势就更加明显。2.1.2 JAVA开发环境的发展纵观过去十年Java开发环境的发展,大致可以粗略的划分为如下几个阶段:1995,命令行开发环境CLEs1996-2000,集成开发环境IDEs 2001-2004,扩展开发环境XDEs 2005至今,协同开发环境CDEs 1995年,不平凡的一年,这一年Java 获得了成功。可令人尴尬的是在1995年并没有一个人满意的Java开发环境,开发人员在进行Java编程时,大多使用文本编辑器编辑源程序,然后使用命令行的方式进行编译处理。那时的Java开发环境还处于CLEs时代,开发效率非常低,这预示着在Java开发工具上会有一番激烈的竞争。有人称1996年为互联网年,有人却称之为Java年,还有人称之为Web开发年,但不论如何称呼1996年,它都反映了一个事实:Bill Joy将Java与互联网相结合的策略取得了成功。这一年的9月Sun推出了其Java开发环境-Java WorkShop,这是一款基于浏览器的Java开发工具,但由于当时 Java在许多方面还不成熟,所以实际上Java WorkShop并不成功,同年发布的Symantec Visual Cafe由于还是采用C/C+语言进行开发,所以性能与成熟度上就比WorkShop好得多。提到Visual Cafe就不能不提Eugene Wang,因为Eugene Wang常常是与计算机间谍这个词同时出现的人物,有人甚至讲当时Symantec的老板Gordon Eubanks与Eugene Wang签约时,也同时签下了监狱里的一个单元。Visual Cafe就是由Eugene Wang进行主要策划的,它是在同一年发布的Java开发环境中,唯一解决了与数据库连接问题的开发环境,带有一套可以与数据库相连接的组件,无需太多编程使用拖拽的方式就可完成大部分工作,这一优点使得Visual Cafe受到了Java开发人员的欢迎。这一年IBM收购了OTI公司,从而得到了Dave Thomas的弟子John Duimovich、Dave Thomson、Mike Wilson等一大批软件精英,这之中还包括“生活在技术刀锋上的开发者”Brian Barry。1997年,由于微软垄断案,使得微软在Java开发环境上的努力受到了限制,Visual Cafe由于界面直观易用,可以很容易地连接各种数据源等功能再次受到开发人员的欢迎。这一年IBM发布VisualAge for Java。VisualAge for Java是面向代码库的开发环境,它提供代码库和项目管理以便于开发团队在 C/S环境下进行项目开发。但由于大多数Java开发人员比较熟悉面向文件的开发环境,还不太习惯面向代码库的开发,再加上VisalAge for Java对系统资源的要求比较高等因素,使得VisualAge for Java一开始未被Java开发人员所认可3。1998年至2000年比较成功的Java开发环境是JBuilder,这是由于Borland较好的把握住 J2SE、J2EE和J2ME发布后,Java技术升级的时机,全面支持Java1.1和Java1.2开发平台,它还提供了多种工具方便用户从旧的平台迁移到新的Java平台。JBuilder本身80%是基于JDK1.2进行开发的,它支持JavaBeans, Enterprise JavaBeans, JDBC等方面的应用开发,可以连接多种关系数据库。为支持分布式应用开发,JBuilder还集成了 VisiBroker ORB、JSP server、数据库和EJB AppServer,并提供Open Tools API便于第三方工具集成。上述种种的优点使得JBuilder一举超越Visual Cafe,成为当时最受欢迎的Java开发环境4。在众多Java开发环境中,1999年IBM发布的VisualAge for Java Micro Edition是比较有特色的开发环境,它是由Erich Gamma和与Erich Gamma有“焦不离孟、孟不离焦”之称的John Wiegand共同进行设计的,采用了Java 扩展机制,并集成了JUnit测试框架,其当时所采用的架构深深地影响了后来Eclipse1.0所采用的架构。同时,通过VisualAge for Java Micro Edition的开发,那些来自“未来世界”的软件精英们,全面彻底地对Java技术进行了评估,得出了许多结论性的东西,这之中包括现在闹得沸沸扬扬的Swing和SWT对比。此外,Sun将其收购的NetBeans变成了开源的Java IDE也是一件不大不小的事情。现在已经商业化的CDEs是CodeBeamer Collaborative Development Platform和CodePro AnalytiX,上述两款软件都提供Eclipse的插件,可以与Eclipse集成在一起,使Eclipse升级成为一个CDEs。大家肯定知道Borland已经宣布开发基于Eclipse的新版JBuilder-“Peloton”,Peloton就是一个CDEs(Collaborative Development Environments),当它明年上半年发布时,就意味着Java开发环境进入CDEs时代,现在Java开发环境还处于XDEs与CDEs交替的阶段。 2.2 UML技术概述2.2.1 UML技术发展UML(统一建模语言,Unified Modeling Language),由Rational公司的三位面向对象方法领域的专家提出,是一种标准的图形化建模语言。1997年1月UML版本1.0被提交给OMG组织,作为软件建模语言标准化的候选。其后的半年多时间里一些重要的软件开发商和系统集成商都成为UML伙伴,如Mircrosoft 、IBM、HP等。它们积极地使用UML并提出反馈意见,最后于1997年9月再次提交给OMG组织,于1997年11月7日正式被OMG采纳作为业界标准。 图2-1 UML版本图2.2.2 UML 开发工具统一建模语言UML定义良好、易于表达、功能强大,不仅支持面向对象的分析与设计,而且支持从需求分析设计开始的软件开发的全过程。但如果使用这种可视化图形建模技术发展最大的作用,工具的辅助也是很重要的。目前,市场上有大量的UML建模工具, 如Rational Rose、Prosa、Visio、Together、Vissual UML、Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。就像一个戏剧导演设计一剧本一样,一个软件设计师使用Rational Rose,以演员(数字)、使用拖放式符号的程序表中的有用的案例元素(椭圆)、目标(矩形)和消息/关系(箭头)设计个种类,来创造(模型)一个应用的框架。当程序表被创建时,Rational Rose记录下这个程序表然后以设计师选择的C+, Visual Basic,Java, Oracle8,CORBA或者数据定义语言来产生代码。Rational Rose 是一个完全的,具有能满足所有建模环境(Web开发,数据建模,VisualStudio和 C+ )需求能力和灵活性的一套解决方案。Rose 允许开发人员,项目经理,系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统5。Rational Rose的两个受欢迎的特征是它的提供反复式发展和来回旅程工程的能力。Rational Rose允许设计师利用反复发展(有时也叫进化式发展),因为在各个进程中新的应用能够被创建,通过把一个反复的输出变成下一个反复的输入。(这和瀑布式发展形成对比,在瀑布式发展中,在一个用户开始尝试之前整个工程被从头到尾的完成。)然后,当开发者开始理解组件之间是如何相互作用和在设计中进行调整时,RationalRose能够通过回溯和更新模型的其余部分来保证代码的一致性,从而展现出被称为来回旅程工程的能力,Rational Rose是可扩展的,可以使用刻下载附加项和第三方应用软件,它支持COM/DCOM (ActiveX),JavaBeans 和 Corba组件标准.当前市场上基于UML可视化建模的工具很多,例如有Microsoft的Visio2002,Oracle的Designer2000,还有PlayCase 、CA BPWin、CA ERWin、Sybase PowerDesigner等等。为什么要选择Rational Rose呢?这就不能不提到UML的三位创始人了,面向对象领域的大师级人物:Booch、Rumbaugh和Jacobson。而这三位大师目前都在Rational公司担任首席工程师,既然UML是业界标准的可视化建模语言,那么选择Rational Rose的原因就不言而喻了。2.2.3 UML的架构UML 由图和元模型组成的。 图是UML的语法, 而元模型则给出的图的意思, 是UML的语义。UML的语义是定义在一个四层(或四个抽象级)建模概念框架中的。 l 元元模型(meta-meta model)层, 组成UML最基本的元素“”代表要定义的所有事物。 l 元模型(meta model)层, 组成了UML的基本元素,包括面向对象的和面向组建的概念。这一层的每个概念都是元元模型中“事物”概念的实例(通过版类化); l 模型( model) 层, 组成了UML的模型, 这一层中的每个概念都是元模型中概念的一个实例(通过版类化), 这一层的模型通常叫做类模型(class model)或 类型模型(type model)。 l 用户模型(user model)层,这层中所有元素都是UML模型的例子。 这一层中的每个概念都是模型层的一个实例(通过分类),也是元模型层的一个实例(通过版类化)。这一层的模型通常叫做对象模型(object model)或实例模型(instance model)。每一种UML的视图都是由一个或多个图(diagram)组成的,一个图就是系统架构在某个侧面的表示。它与其它图是一致的,所有的图在一起组成了系统的完整视图。UML提供了九种不同的图。可以分成两个大类:一类是静态图,包括用例图、类图、对象图、组件图、配置图;另一类是动态图,包括序列图、协作图、状态图和活动图。此外,还可以根据它们在不同架构视图的应用把它们分成如表2-1所示:表2-1 各模型视图的功能表视图构架视图划分视图应用在用户模型视图用例图( Use case diagram)描述系统功能在结构模型视图类图(Class diagram)描述系统的静态结构对象图(Object Diagram)描述系统在某个时刻的静态结构在行为模型视图序列图(Sequence diagram)按时间顺序描述系统元素间的交互协作图(Collaboration diagram)按照时间和空间的顺序描述系统元素间的交互和它们之间的关系状态图(State diagram)描述了系统元素的状态条件和响应活动图(Activity diagram)描述了系统元素的活动在实现模型视图组件图(Component diagram)描述了实现系统的元素的组织在环境模型视图展开图(Delployment diagram)描述了环境元素的配置,并把实现系统元素映射到配置上2.2.4 UML的应用UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是 建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工 业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模6。 此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。l 掌握需求阶段掌握需求阶段的目的就是通过充分的交流和沟通,来全面、详细地掌握客户对于系统需求。对此,可以用用例来捕获用户需求。通过用例建模,描述 对系统感兴趣的外部角色及其对系统(用例)的功能要求。l 系统分析阶段系统分析阶段是在对需求进行全面和详细的掌握之后,结合客户的实际情况,在研究和分析用户的需求、系统所处在环境基础上,确定系统的总体架构、实施模式、系统架构中各主要部分之间关系以及信息交互方式等关键技术问题。分析阶段主要考虑所要解决的问题,可用UML的逻辑视图和动态视图来描述,类图描述系统静态结构,协作图、状态图、序列图、活动图和状态图描述系统的动态特征。在分析阶段只为问题领域的类建模,而不定义软件系统的解决方案的细节,如用户接口的类数据库等。l 设计阶段在设计阶段的主要任务是将分析阶段的成果加以分析,形成技术解决方案。分析阶段的领域问题类被嵌入在这个技术基础结构中。设计阶段的结果是为后续的实现阶段提供详细规格说明。l 实现阶段实现阶段的主要任务是依照设计阶段的方案和设计,并将设计阶段的类转换成某种面向对象程序设计语言的代码。在完成各个部分的代码编写并调试通过后,按照设计阶段形成的技术方案,将各个部分加以组装,形成一个可供测试系统。l 测试阶段测试阶段是依照业务需求及其分析,对实现阶段完成的系统加以全面的测试,以求尽早发现并解决系统中存在的问题。对系统的测试通常可分为单元测试、集成测试、系统测试和验收测试几个不同级别。单元测试时对几个类或一组类的测试,通常由程序员进行;集成测试则集成组件和类,并确认它们之间是否恰当地协作;系统测试把系统当作一个黑箱。验证系统是否具有用户所要求的所有功能;验收测试主要由客户完成,与系统测试类似,以验证系统是否所有的需求。不同的测试小组使用不同的UML图作为他们工作基础:单元测试使用类图和类的规格说明;集成测试典型地使用组件图和协作图;系统测试使用用例图来确认系统的行为是否符合这些图中的定义。2.3本章小结首先对于JAVA技术进行了分析还介绍了JAVA及开发环境的发展历程,同时对UML技术的发展架构及应用进行了阐述。简单介绍UML的开发环境。第3章 图书管理系统分析3.1系统需求分析描述本系统主要是研究如何运用面向对象的语言来实现图书管理系统的日常业务,使用户能通过浏览器实现图书的查询与读者查询,管理员能进行诸如图书信息和用户信息的管理等图书馆核心业务的处理,提高图书馆的工作效率,优化信息管理工作流程。3.1.1 图管理系统的需求定义本图书管理系统的域描述如下:在图书管理系统中,要为每个借阅者建立一个账户,并给借阅者发放借阅卡,账户中存贮借阅者的个人信息,借阅信息以及预定信息。持有借阅卡的借阅者可以借阅书籍、返还书籍、查询书籍信息预订书籍并取消预定,但是借阅书籍、返还书籍是通过图书管理员进行的,管理员还可以进行图书的添加、删除以及借阅卡的添加以及删除。在借阅书籍的时候 首先借阅者要在网上自己查询书籍以后预借书籍,然后读者才能到图书馆要求管理员借阅图书。管理员应读者的借阅要求通过输入读者的借阅卡号,查看预借书籍记录把读者预借的书籍借阅给读者。读者查询书籍信息的时候可以通过按作者、书名ISBN编码、类别中的其中进行查询,也可以打开所有库存图书表一本一本查询。对上述图书管理系统的域描述进行分析,可以获得如下功能性需求:l 借阅者持有借阅卡l 借阅者可以在网上查看书籍l 借阅者可以自己预借书籍l 借阅者可以删除预借请求。l 借阅者可以查看预借图书l 借阅者可以查看已借书籍l 图书管理员作为借阅者的代理借书l 图书管理员作为借阅者的代理还书l 图书管理员可以创建新的借阅者账户l 图书管理员可以修改借阅者信息l 图书管理员可以删除已存在的借阅者的账户l 图书管理员可以添加新的书籍l 图书管理员看以查看书籍信息。l 图书管理员可以修改书籍信息3.1.2 图书管理系统的业务流程分析通过调查与分析,图书管理系统主要存在如下的业务:l 借阅者查询图书借阅者在借阅读书前,可以通过登录查询窗口进行按以下:“书名、作者、ISBN、分类”的任何一种进行查询图书。l 借阅者预借、删除预借图书借阅者查询图书后,如果确认自己需要借所查书籍,即可以预借书籍。如果借阅者想要取消预借,可以在查看预借图书里取消预借图书。l 借阅者借阅图书借阅者在书库取得图书后,向管理员提出借书请求,并出示借书证,管理员可以协助读者借阅书籍。根据图书管理的相关规定,读者所借阅的图书有一定得时间限制。l 借阅者续借图书借阅者所借的图书是有一个时间限制的,如果到期后读者还没有看完或者看完了还想继续再看,那么就必须续借,续借也是有次数和时间限制的。续借的时间跟正常借阅的时间是一样的。如果读者要续借图书,登陆系统,输入自己的借阅卡卡号就可以续借上次借过没看完的书籍了,当然也可以到图书管理员那请求续借。l 借阅者归还图书借阅者首先要到管理员那请求还书,管理员才能通过借阅者的卡号,协助借阅者还书,如果借阅者借阅的书超期,则要通过缴纳罚款,再请求管理员处理借阅者的借阅卡,借阅者的借阅卡才能够继续使用。l 管理员维护图书当有新书需要入库时,管理员根据新书目的存在与否进行相应的处理;如果有读者将书弄丢时,也要对相应书目下图书数量进行修改;当所藏书到一定时间后要对部分书进行注销处理。l 管理员维护借阅者一般新生进校都要办理图书借阅证,此时中级管理员就要根据要求建立学生用户ID,添加读者,为其办理图书借阅证;当读者不慎丢失借阅证需要挂失的时候,管理员要对其进行挂失、补办等处理;当读者信息有错误时,管理员还应可以修改读者信息,当读者毕业或退学时候,管理员要对读者进行删除。 图3-1系统层次图3.1.3系统用例分析用例模型描述的是外部执行者(Actor)所理解的系统功能。用例模型用于需求分析阶段,它的建立时系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识,首先,它描述了待开发系统功能需求:其次,它将系统看作黑盒,从外部执行者的角度来理解系统;第三,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和UML的各个模型,在UML中,一个用例模型由若干个用例描述,用例图主要元素是用力和执行者。分析阶段最重要就是用例图的建立,用例图强调用户希望得到的功能,它是成为参与者的埃布用户所能观察到得系统功能的模型图,通过用户视图,使用者应该明确软件后续设计阶段所要完成的任务,整个软件直到实现的过程都是围绕需求阶段的用例来进行的。通过对系统需求的分析,可以确定系统中有两个参与者:l Borrower描述:借阅者可以查看借阅记录、预借记录、可以按ISBN、类别、书名、作者中的任何一种进行查询书籍,也可以查询所有在库书籍一本一本地查找自己所需要的书籍。借阅者还可以修改自己的密码。当然借阅者也可以在预借图书。但要归还、借阅图书则要管理通过图书管理员才能完成。Borrower的用例如3-2。l Librarian描述:图书管理员不仅要应借阅者的要求进行书籍的归还、借阅、还要进行书籍的添加、修改、删除、借阅者账号的添加、删除、修改工作。Librarian的用例图如3-3. 图3-2 系统借阅者用例图图3-3 管理员用例图预借书籍的用例事件流描述如下:l 借阅者选择进入管理界面,用例开始。l 系统提示输入借阅者密码。l 输入借阅者借阅,密码。l 借阅者输入密码。l 系统验证密码。A1:密码错误l 进入管理界面,系统显示目前所能执行的的所有操作业务。l 借阅者选择图书查询。l 系统提示输入查询信息。l 借阅者输入信息。l 系统验证是否存在图书。A2:图书不存在。l 系统提示图书信息。l 借阅者选择预借图书。l 系统预借图书,提示预借成功。l 用例结束。借书用例事件流描述如下:l 管理员选择进入管理界面,用例开始。l 系统提示输入管理员密码。l 管理员输入密码。l 系统验证密码。A1:密码错误l 进入管理界面,系统显示目前所能执行的的所有操作业务。l 管理员选择借书操作。l 系统提示输入借阅者借阅卡号l 管理员输入借阅者卡号l 系统验证卡号是否存在A2:卡号不存在。l 系统提示图书信息。l 管理员选择借出。l 系统借出图书,提示借出成功,归还日期。l 用例结束。管理员添加新书用例事件流描述如下:l 管理员选择进入管理界面,用例开始。l 系统提示输入管理员密码。l 管理员输入密码。l 系统验证密码。A1:密码错误l 进入管理界面,系统显示目前所能执行的的所有操作业务。l 管理员选择添加新图书操作。l 系统提示输入新书信息。l 管理员输入信息。l 系统验证信息是否正确。A2:信息错误l 系统查询图书ISBN号是否存在图书 A3:已存在图书。l 系统添加图书,提示添加成功。l 用例结束。3.1.4系统类分析类图是系统设计的核心部分,明确基本的类以及相互的关系有助于使用者进一步完善整个系统。类图描述系统中磊的静态结构,不仅定义了系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图反映乐儿一种面向对象的方法看待物理世界的观点,它不仅是面向对象方法的核心,而且也是定义其它图的基础。类图描述的是一种静态关系,在系统的整个生命周期都是有效的,而对象图只能在系统某一时间段存在。类、对象和它们之间的关联式面向对象技术中最基本的元素。对于一个想要描述的系统,其类模型和对象模型揭示了系统的结构。在UML中,类和对象模型分别由类图和对象图表示。对象图和类图具有相同的表示形式,对象图可以看做是类图的一个实例。对象是类的实例,对象之间的链是类之间的关联实例。从用例分析里看出,至少要包含5个重要的类:BorrowerInformation、Title、Item、loan和Reservation。上述5个类都是实体类,都是持久性的,需要存储在数据库中。本系统采用面向对象数据模型,为了便于从数据库文件中引用和检索对象,需要一个描述对象id的类。另外,由于上述5个类都是持久性类,因此还可以抽象出一个代表持久性的父类,该类实现了面向对象数据库的读、写、存储、检索、删除、更新等操作。综上所述,系中还应该有两个与数据库相关的类:Persistent store和ObjIdl Persistent store类是BorrowerInformation、Item、Borrow、Title、Reservation类的父类、Persistent store为商业对象的持久存储提供了支持,它的子类必须实现从数据库文件中读、写对象属性的操作。l ObjId类实现了对象ID,类ObjId的对象可用来引用系统中的持久对象,使得从数据库文件中引用和检索对象变得容易。l BorrowerInformation类存储了包括借阅者的编号、姓名、可借阅数量等。BorrowerInformatio类中的所有对象都是永久的,因为它继承了Persistent store类,并可以实现读和写的操作。l Item类描述了可能被借出的图书信息,条款信息通常有一个相应的标题对象(由书名、作者和图书编号所定义)。Item类中的所有对象都是永久的,因为它继承了Persistent store类,并可以实现读和写的操作。l Borrow类是借阅者和图书馆之间的一个合同,它引用Borrower和Item类,Borrow类的存在说明了用户已经借阅了图书,当图书被归还,类中的所有对象都将消除。Borrow类中的所有对象都是永久的,因为它继承了Persistent store类,并可以实现读和写的操作。l Title类描述了书籍信息,它包括了图书的名称、作者和IBSN、类别等。Title类中的所有对象都是永久的,因为它继承了Persistent store类,并可以实现读和写的操作。l Reservation类详细说明用户想要预约的相关图书,当图书快到归还日期的时候预借者先在网上于借,图书可以被不同的用户保留不止一次。Reservation类中的所有对象都是永久的,因为它继承了Persistent类,并可以实现读和写的图3-4 系统商业对象类图3-5 系统ObjId类3.2本章小结本章对图书馆里系统的需求进行了定义,并对系统进行了功能、业务进行了分析,特别是通过用例图分析以及实体类的分析。第4章 图书管理系统设计4.1 系统静态模型4.1.1 系统对象包图与组件图设计下图是系统的整体的Class框图,它分为四个主要的部分:业务对象包(Business Object Package)、数据库包(Database Package)、用户界面包(UI Package)和实用程序包(Utility Package)。用户界面包说明了用户界面中的所有类,以及这些类和其他类之间的关联,如:和业务对象类。图4-1 系统包图Component视图主要关心系统的实际结构。组件就是与系统相关联的文件,可以是源代码文件、可执行文件或DLL文件。组件是代码的物理模块。生成代码之前,将每个文件映射相应组件。例如,在C+中,每个类映射两个组件,一个表示类的.cpp文件,一个表示类的.h文件。在Java中,每个类映射一个组件,表示这个类的.Java文件。生成代码时,Rose用组件信息创建相应的代码库文件。创建组件后,把它们加进Component视图中,并在其间画出关系。组件间唯一的关系类型是依赖性关系。该图书馆管理系统的Component视图显示了所有在Logical视图中实现类的执行代码文件。由于是使用Java语言来进行实现,所以在逻辑设计和Component视图之间可以进行简单的一对一映射。StartClass.java包含了用于启动系统的主要操作。图4-2 系统组件图4.1.2 系统类设计在设计分析里已经分析了系统的实类图以及他们之间的关系,这里主要设计界面类以及界面类之间的关系,各界面类与实类之间的关系。图4-3是部分界面类的属性与操作设计。用户与系统需要进行交互,一个用户友好的系统通常都采用直观的图形可视化界面,因此需要定义系统的用户界面类。通过对系统的不断分析和细化可识别出下

温馨提示

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

评论

0/150

提交评论