• 独家视频:十九大要开啦! 2019-03-10
  • 个子矮脸大腿粗还有拜拜肉,这些烦恼时尚博主Hannah Morgan全都有!看她怎么靠穿搭来掩盖 2019-03-10
  • 公安部发布端午节交通安全预警 2019-03-08
  • 以青春之我肩负起国家民族的希望 2019-03-03
  • 国家专项抽查组赴内蒙古展开工作 严防“地条钢”死灰复燃 2019-02-28
  • 深圳中小学生午餐午休将在校内解决 2019-02-28
  • 欢迎光临第一论文网,权威的论文发表,我们将竭诚为您服务!
    您的位置: 铁算盘心水论坛2018 -> 计算机应用论文 -> 文章内容

    2012金威世家心水论坛:基于UML的图书管理系统的分析与设计

    作者:admin 更新时间:2018年08月18日 15:21:00

    铁算盘心水论坛2018 www.259023.fun   摘要:统一建模语言(UnifiedModelingLanguage)是一种标准的、功能强大的建模语言。该文介绍了UML基本模型,并以图书管理系统的分析和设计为例,借助ROSE工具详细介绍了UML的实际建模过程。


      关键词:UML;图书管理系统;设计;


      作者简介:李文娟(1984),女,甘肃定西人,定西师范高等专科学校计算机系讲师,主要从事计算机程序设计及算法的研究。


      0引言


      图书馆作为学生学习知识的重要场所,是信息资源的集散地。图书和用户借阅资料繁多,包含很多的信息数据。图书管理系统对于现代图书馆而言,是能否发挥其教学科研作用的至关重要的技术平台。对于读者和图书管理员来说,是能否方便快速获取信息的关键。因此,开发一个图书管理系统是十分必要的。


      UML(UnifiedModelingLanguage,统一建模语言)是一种绘制软件蓝图的标准语言,是一种面向对象的可视化建模语言。UML可视化的特性是由各种模型图来展现的,每一种模型图都从不同的角度对同一个软件产品的方方面面进行展示,说明将要开发的软件到底是什么样子。一方面需要描述系统的结构性特征,结构决定了这个系统能做什么,称为系统的静态建模;另一方面需要描述系统运行时的行为,这些行为特征决定了系统怎么做,称为系统的动态建模。两者结合起来才能把系统描述清楚。


      1UML的基本模型


      UML主要包括5个大类10种模型图,提供了从不同角度去观察和展示系统各种特征的一种标准方法。5个大类包括用例图、静态图、行为图、交互图和实现图。


      用例图(UseCaseDiagram)是从用户角度描述系统功能的,所以在进行需求分析时,使用用例图可以更好地描述系统应具备的功能。


      静态图包括类图、对象图和包图。类图(ClassDiagram)是面向对象系统建模中最常用的图,它是定义其他图的基础,在类图的基础上,可以使用状态图、通信图、组件图和配置图等进一步描述系统其他方面的特性。对象图(ObjectDiagram)没有类图重要,对象图通常用来实例一个复杂的类图,通过对象图反映真正的实例是什么,它们之间可能具有什么样的关系,帮助对类图的理解。包图(PackageDiagram)是维护和控制系统总体结构的重要建模工具,一般都用来展示高层次的观点。包图主要用于大型的、较复杂系统的分析与设计。


      行为图包括状态图和活动图。状态图是对类所描述事件的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件?;疃?ActivityDiagram)是UML用于对系统的动态行为建模的一种常用工具,活动图描述了为完成某一个目标需要做的活动以及这些活动的执行顺序。它描述用例的活动以及活动间的约束关系。


      交互图描述对象间的交互关系,包括顺序图和协作图。顺序图(SequenceDiagram)用来描述对象之间传送消息的时间顺序,着重反映用例中的行为顺序。协作图(CollaborationDiagram)是顺序图之外另一种表示交互的方法。描述和对象结构相关的信息。


      实现图包括组件图和配置图。组件图(ComponentDiagram)描述软件组件及组件之间的关系,显示代码的结构。配置图(DeploymentDiagram)描述处理器、设备、软件组件在运行时的架构。


      2基于UML的图书管理系统的分析与设计


      2.1需求建模


      用例模型是软件系统模型的核心,用例图从功能的角度来描述系统,即主要描述系统将要实现的功能。通常情况下,在系统描述的早期阶段(如需求分析阶段)通过用例来描述角色是如何使用系统的,因此用例建模通常也称为需求建模。


      图书管理系统是对书籍的借阅及读者信息进行统一管理的系统,具体包括读者的借书、还书、书籍预订;图书馆管理员的书籍借出处理、书籍归还处理、预订信息处理;还有系统管理员的系统维护,包括增加书目、删除或更新书目、增加书籍、减少书籍、增加读者账户信息、删除或更新读者账户信息、书籍信息查询、读者信息查询等。系统的总体信息确定以后,就可以分析系统的参与者、确定系统用例了。


      确定参与者首先需要分析系统所涉及的问题领域和系统运行的主要任务:分析使用该系统主要功能的是哪些人,谁需要该系统的支持以完成其工作,还有系统的管理者与维护者。


      根据图书管理系统的需求分析,可以确定如下几点:


      1)作为一个图书管理系统,首先需要读者(借阅者)的参与,读者可以登录系统查询所需要的书籍,查到所需书籍后可以考虑预订,当然最重要的是借书、还书操作。


      2)对于系统来说,读者发起的借书、还书等操作最终还需要图书馆管理员来处理,他们还可以负责图书的预订和预订取消。


      3)对于图书管理系统来说,系统的维护操作也是相当重要的,维护操作主要包括增加书目、删除或更新书目、增加书籍、减少书籍等操作。


      由以上分析可以得出,系统的参与者主要有三类:读者(也可称为借阅者)、图书馆管理员、图书管理系统维护者。


      2.2静态建模


      静态建模是指通过类图、对象图等UML图形对软件系统的静态结构进行描述。同时,用例模型中的用例实现中所使用的类也会在类图中得到描述。


      2.2.1建立类图的步骤


      1)研究分析问题领域确定系统需求。


      2)确定类,明确类的含义和职责,确定属性和操作。


      UML的最终目标是识别出所有必须的类,并分析这些类之间的关系,类的识别贯穿于整个建模过程,分析阶段主要识别问题域相关的类,在设计阶段需要加入一些反映设计思想、方法的类以及实现问题域所需要的类,在编码实现阶段,因为语言的特点,可能需要加入一些其他的类。


      类的识别是一个需要大量技巧的工作,寻找类的一些常用技巧包括:名词识别法;根据用例描述确定类;对领域进行分析或利用已有领域分析结果得到类。


      (1)名词识别法


      这种方法的关键是识别系统问题域中的实体。对系统进行描述,描述应该使用问题域中的概念和命名,从系统描述中标识名词及名词短语,其中的名词往往可以标识为对象,复数名词往往可以标识为类。


      (2)从用例中识别类


      用例图实质上是一种系统描述的形式,自然可以根据用例描述来识别类。针对各个用例,可以提如下的问题辅助识别:


      用例描述中出现了那些实体?


      用例的完成需要哪些实体合作?


      用例执行过程中会产生并存储哪些信息?


      用例要求与之关联的每个角色的输入是什么?


      用例反馈与之关联的每个角色的输出是什么?


      用例需要操作哪些硬设备?


      在面向对象应用中,类之间传递的信息数据要么可以映射到发送方的某些属性,要么该信息数据本身就是一个对象。综合不同的用例识别结果,就可以得到整个系统的类,在类的基础上,又可以分析用例的动态特性来对用例进行动态行为建模。


      (3)领域分析法


      建立类图的过程就是对领域及其解决方案的分析和设计过程。类的获取是一个依赖个人创造力的过程,有时需要和领域专家合作,对研究领域进行仔细分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。领域分析是:通过对某一领域中的已有应用系统、理论、技术、开发历史等的研究,来标识、收集、组织、分析和表示领域模型及软件体系结构的过程,并得到结果。


      3)确定类之间的关系


      2.2.2图书管理系统中的类


      在图书管理系统的实例中,数据类共有7个:书籍类、书目信息类、书籍借阅信息类、书籍预订信息类、借阅者类、系统管理员类、图书管理员类。其中书籍类是具体某本书的类,属性包括书籍号(id)。操作包括预订(reserve)、按书目查找(find_on_title)等。书目信息类是记录书目信息的类,包括书籍的名字(name)、作者(author)、图书编号(book_id)等属性。书籍借阅信息类是某本书的借阅信息类,包括所借阅书籍的ISBN、借阅的时间(date)等。书籍预订信息类包括预订日期(date)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。借阅者类的属性很多,包括借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(borrowed)、还书(return_back)和预订(reserve)等。系统管理员类有编号和姓名属性,操作主要是书籍的增删改和读者的增删改等等。


      2.3数据库建模


      利用建模工具对软件系统进行静态建模后,会得到系统中的实体类图,虽然UML中的类图可以通过一定的转换方式将其中的实体类及其关系转换成数据库中的实体及其联系,但这种转换相对来说比较复杂。而PowerDesigner拥有强大的数据库建模功能,因此在实际的软件建模过程中,可以借助PowerDesigner实现数据库建模以提高数据库设计的效率。


      2.4动态建模


      动态建模是从用例的执行过程、对象之间的消息传递、对象的状态变化等角度对软件系统中动态的特性进行描述。动态模型描述的是参与者如何通过交互实现系统中的用例。系统中对象的交互是通过顺序图、协作图或活动图来描述的,同时,用例模型中用例实现所使用的类会在状态图中得以描述。


      2.4.1图书管理系统中的活动图


      在图书管理系统中,有明确活动的参与者包括借阅者、图书管理员和系统管理员??梢栽谙低持形馊嗖斡胝叻直鸾⒒疃?。


      2.4.2图书管理系统中的状态图


      在图书管理系统中,有明确状态转换的类包括书籍和借阅者的账户(相当于包含特定个人信息的电子借阅证)??梢栽谙低持形饬嚼嗍挛锝⒆刺?。图书管理系统中的书籍主要有4种状态:新书进入流通状态、待借出状态、已借出状态、退出流通状态。对于购买的新书,图书管理员编制条码,完成入库操作后,书籍进入流通状态。图书管理员将已编制条码的书籍存放到规定的藏书地点,即书籍上架,此时书籍进入待借出状态。当读者将书籍借出后,书籍便进入已借出状态。当读者归还所借书籍后,书籍又返回到待借出状态。由于书籍被丢失或损坏不能继续借阅,便退出流通,有些书籍可能因为特殊原因也会退出流通,此时书籍进入退出流通状态。


      2.4.3图书管理系统中的顺序图


      在图书管理系统中,每个用例都可以建立一个顺序图,将用例执行中各个参与的对象之间的消息传递过程表现出来。


      2.5物理建模


      系统物理建模是指在系统的逻辑设计之后,设计执行文件、库和文档等的物理结构。在面向对象系统物理建模时要用到组件图和配置图。进行物理建模的主要目的是解决以下问题:


      1)类和对象物理上分布在哪一个程序或进程中?


      2)程序和进程在哪台计算机上运行?


      3)系统中有哪些计算机和其他的硬件设备?它们是如何连接在一起的?


      4)不同的代码文件之间有何关联?如果某一文件被改变,其他的文件是否需要重新编译?


      2.5.1图书管理系统的组件图


      图书管理系统中主要有业务对象组件图和用户界面组件图。


      系统建立在一个含有书目信息、书籍信息、借阅者信息、借阅信息和书籍预订信息的中央数据库上。


      2.5.2图书管理系统的配置图


      配置图主要是用来说明如何配置系统的软件和硬件。系统由5个节点构成,应用服务器负责整个系统的总体协调工作;数据库负责数据管理;Web应用程序??橛糜诮柙恼呓惺榧檠?、网上书籍预订;业务操作??橛糜诖矶琳呓枋?、还书等一般的业务流程;信息维护??橛糜谙低彻芾碓蔽ふ鱿低车氖菪畔?,如添加和修改书目、添加和修改借阅者账户等。


      3小结


      通过“图书管理系统”实例分析,可以看出,UML是一种语义丰富的可视化建模语言,它支持从需求分析开始的软件开发全过程,有助于建立清晰、直观的系统模型,适合很多领域上的复杂系统。使用UML建模工具进行系统分析与设计,更加适应现代社会对软件开发的要求,必将对软件产业的发展起到重要作用。


  • 独家视频:十九大要开啦! 2019-03-10
  • 个子矮脸大腿粗还有拜拜肉,这些烦恼时尚博主Hannah Morgan全都有!看她怎么靠穿搭来掩盖 2019-03-10
  • 公安部发布端午节交通安全预警 2019-03-08
  • 以青春之我肩负起国家民族的希望 2019-03-03
  • 国家专项抽查组赴内蒙古展开工作 严防“地条钢”死灰复燃 2019-02-28
  • 深圳中小学生午餐午休将在校内解决 2019-02-28