软件工程实验系统方案_第1页
软件工程实验系统方案_第2页
软件工程实验系统方案_第3页
软件工程实验系统方案_第4页
软件工程实验系统方案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

图书管理系统1.实验目的及要求1)掌握面向对象技术的基本原理和各种相关概念;)了解UML实验原理并对其应用更加了解;)熟练掌握UMLI勺基本知识和9种常见的UML0形,并能够利用RationalRose2003工具进行建模;2实验原理UML建模,就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等。UML提供了多种图形可视化描述模型元素,同一个模型元素可能会出现在多个图中对应多个图形元素,人们可以从多个视图来考察模型。 UML建模主要分为结构建模、动态建模和模型管理建模 3个方面,第1个方面是从系统的部结构和静态角度来描述系统的,在静态视图、用例视图、实施视图和配置视图中适用,采用了类图、用例图、组件图和配置图等图形。例如类图用于描述系统中各类的部结构(类的属性和操作)及相互间的关联、聚合和依赖等关系,包图用于描述系统的分层结构等;第 2个方面是从系统中对象的动态行为和组成对象间的相互作用、消息传递来描述系统的,在状态机视图、活动视图和交互视图中适用,采用了状态机图、活动图、顺序图和合作图等图形,例如状态机图用于一个系统或对象从产生到结束或从构造到清除所处的一系列不同的状态;第3个方面描述如何将模型自身组织到高层单元,在模型管理视图中适用,采用的图形是类图。3实验环境RationalRose2003WindowsXp4实验步骤4.1系统需求分析图书信息管理系统是使用计算机实现图书大量信息处理的电子档案管理系统, 在本系统中主要满足借书者、图书管理员和系统管理员3方面的需求,系统开发的总目标是实现部图书借阅管理的系统化、规化和自动化。对借书者来说主要是查询个人信息、查询图书信息、预定当前正在被别人借阅的图书、借阅图书和返还图书等; 图书管理员是系统的主要使用者, 负责借书处理和还书处理, 当读者预定的图书借出给定预定者后取消图书预定; 系统管理员主要负责系统的维护工作, 涉及到读者信息管理,图书信息管理,系统状态维护等。软件需求包括三个层次:业务需求:反映了组织机构或客户对系统高层次的目标要求。用户需求:描述了用户使用产品所能完成的任务。功能需求:说明了软件的功能,用户使用这些功能以完成任务。用户需求包括下列容:这是一个图书馆支持系统;图书馆将图书和杂志借给借书者。借书者已经预先注册,图书和杂志也预先注册;图书馆负责新书的购买。每一本图书都购进多本书。当旧书超期或破旧不堪时,从图书馆中去掉。图书管理员是图书馆的员工。 他们的工作就是和读者打交道并在软件系统的支持下工作。借阅人可以预定当前没有的图书和杂志。这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。当预定了某书的借书者借阅了该书后, 预定就取消。 或者通过显式的取消过程强行取消预定。图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定信息。系统能够运行在所有流行的技术环境中,包括 Unix,Windows和Linux,并应有一个良好的人机交互图形用户界面 (GUI)。系统容易扩展新功能。系统可以不必考虑预定的图书到达后通知预定人的功能。如果读者还书超过期限(本科生 1个月,研究生 2个月,教师 3个月),需扣款。系统的功能需求主要包括以下几个方面:读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。系统管理:包括用户权限管理,数据管理和自动借还书机的管理系统主要包括以下几个模块:

1)基本数据维护模块基本数据维护模块包括的主要功能有: 添加借阅者账户、修改更新借阅者账户信息、添加书目、修改和更新书目信息、添加书籍、删除书籍2)基本业务模块基本业务模块包含的功能:借书、还书、书籍预留、取消书籍预定3)数据库模块数据库模块的功能:借阅信息管理、书籍信息管理、账户信息管理、书籍预留信息管理4)信息查询模块信息查询模块主要是查询数据库中的相关信息:查询书籍信息、查询借阅者信息下图为该图书馆管理系统的主要功能模块图:图书馆管理系统籍预留信息管理♦数据库模块账户信息管理籍预留信息管理♦数据库模块账户信息管理工—书籍信息管理I借阅信息管理图1:图书馆管理系统功能模块图4.2系统的UML建模设计UML简介UM戊一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的

建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性在系统建模之前,首先需要在 RationalRose2003 中创建一个模型。1)启动RationalRose2003,选择File(文件)|New(新建)命令,弹出启动界面。2)单击“Cancel”(取消)按钮,一个空白的模型被创建。此时,模型中包含用例视图、逻辑视图、构建视图、部署视图等文件夹。3)选择File(文彳^)|Save(保存)命令保存该模型,并命名为“图书管理系统” ,该名称将会在RationalRose2003 的标题栏上出现。如图 1.2创建系统用例模型系统的用例图作为描述系统的用户或参与者所能进整个开发阶段都是围绕系统的需求用作为描述系统的用户或参与者所能进整个开发阶段都是围绕系统的需求用行的操作的模型,它在需求分析阶段有着重要的作用,例表述的问题模型进行的。创建用例图之前首先需要确定参与者。系统的参与者主要有三类:①读者(也可称为借阅者)11.借阅者用例图11.借阅者用例图②图书馆管理员③图书馆管理系统维护者上面的读者(也可称为借阅者)、图书馆管理员、图书馆管理系统维护者都是继承自用户,是泛化的关系。这样便可以画出三个参与者,如图所示。3.2系统的用例图可以根据不同的参与者分别画出各自的用例图。.借阅者请求服务的用例图.图书馆管理员处理借书、还书等的用例图.系统管理员进行系统维护的用例图借阅者可以通过本系统进行如下活动:1)登录系统2)查找图书(Borrowerthebook):借阅者可以通过图书名称或图书号查找图书的详细信息。2)查询个人信息 (Searchuserinfo):包含对个人信息和书籍信息的查询业务。个人信息包括借阅人的、编号、班级、 年龄、性别、地址、等信息;书籍信息包括作者,位置等信息。3)预定( Reservethebook):可以预定当前正在被别人借阅的图书。4)借阅图书 (Borrowthebook) 。5)返还图书 (Returnthebook) 。6)逾期处理 (Dealwithdaly):就是书籍过期后的缴纳罚金等。7)书籍丢失处理 (Dealwithloss):对书籍丢失后的不同措施进行处理。8)自动借书机的使用 (Automachine)等。根据以上描述,借阅者用例图的建模过程如下:1)在创建好的“图书管理系统”模型中,右击UserCaseView(用例视图 ),在弹出的快捷菜单中选择 New|UserCaseDiagram(用例图) 。2)将创建的NewDiagram用例图的名称修改为“借阅者用例图” 。)双击“借阅者用例图” ,进入图形编辑窗口。)单击编辑工具栏中的“参与者” 图标,然后在图形编辑区的空白处单击鼠标右键, 在创建的人字形图案上修改参与者的名称为“ Borrower”。5)单击编辑工具栏中的“用例”图标,然后在空白处单击右键,再创建椭圆形的用例上修改用例名称为“ Borrowerthebook”。6)一次根据上面第 5步骤,再创建“ Searchuserinfo”、“Reservethebook”、“Borrowthebook”、“Returnthebook”、“Automachine”、“Quarythebook”、“Dealwithdaly”、“Dealwithloss”、“Readermanager”共10个用例。7)单击编辑工具栏上的“关联关系”图标,在图形编辑区中使用关联关系的箭头线段分别从“Borrower”参与者连接到“Borrowerthebook”、“Searchuserinfo”、“Reservethebook”、“Borrowthebook”、“Returnthebook”、“Automachine”、“Quarythebook”、“Dealwithdaly”、“Dealwithloss”、“Readermanager”共10个用例,创建用例和参与者之间的关联关系。8)单击编辑工具栏上的“依赖关系”图标,在图形编辑区中使用依赖关系的箭头线段分别2.2.图书馆管理员处理借书、还书等的用例图2.2.图书馆管理员处理借书、还书等的用例图从"Reservethebook“用例连接到“Logonthesystem,从“Readermanager”用例连接到"Quaryinfo"、"Passwordchange"、"Readerchange”,创建用例和用例间的包含关系。9)单击编辑工具栏上的“依赖关系”图标,在图形编辑区中使用依赖关系的箭头线段分别从"Returnwithfine”用例连接到“Returnthebook",从"Borrowcontinue”用例连接到“Borrowthebook”,创建用例和用例间的扩展关系。最后创建好的“借阅者用例图”如下图所示。,Searchthebook.SSearchuserinfo.Reservethebook■ <<uses>> (■■■../LogonthesystemB/ *^(Brrowerthebook\_J\fReturnthebookBorrowerZW Automachine~JQuarythebook一Dealwithlossv><7、Readermanager<<extends>>,一-Q ^Borrowcontinue।<<extends>>d RReturnwithfinej\ Quaryinfo/ <<uses>>XX<<uses>> f、~Passwordchange.<<uses>>二一图书管理员除了具有普通借阅者所有的功能外,还可以通过本系统进行如下活动:图书管理员除了具有普通借阅者所有的功能外,还可以通过本系统进行如下活动:图图3:图书馆管理员的用例图图书管理员除了具有普通借阅者所有的功能外,还可以通过本系统进行如下活动:图书管理员除了具有普通借阅者所有的功能外,还可以通过本系统进行如下活动:图图3:图书馆管理员的用例图登录系统:管理员可以通过登录该系统进行各项功能的操作书籍管理:包括对书籍的增删改等。书籍借阅管理:包括借书、还书、预订、书籍逾期处理和书籍丢失处理等等。包含对读者的增删改等操作。(5)自动借书机的管理。该图书馆管理员的用例图如下:厂、jBookemendation]S/SearchthebookSS Searchuserinfo/// /Reservethebook//_BBorrowthebookReturnthebook心UMManager AutomachineQuarythebook\0\\Dealwithdaly&“£)<<extends>> ' Yow>Quaryinfo<<uses>> 、 /--<<uses>>Passwordchange)"\<<uses>> /<ReaderchangeJ3)系统管理员进行系统维护的用例图Querybc©kinf6Qwiybookinfo4.2.2创建系统静态模型在用例分析基础上,根据需求可建立起系统的静态数据模型, 即建立系统类图,以及相关的关系和方法。在面向对象分析中, 一般只考虑与问题描述域和系统功能相关的对象。 在对系统进行分析时,这里把系统的类对象抽象为图书管理、图书流通两方面。针到这两部分可以分化为以下相关类: 图书类(lib_Book)、图目类(lib_Category)、订书类(lib_Order)、报表类(lib_Form)、读者类(lib_Reader)、流通书类(lib_CirBook)、部门类

(lib_Department)、类(lib_Publish)等。这些类之间我们可以用朴素的关联关系作一简要表达。如图为图书管理静态类图, 在图中每条有直接多重性关联的线上已标示出多重性, 这为以后编程中提供了更好的关联参考价值,并为类在整个开发中的统一性奠定基础。1.创建系统类图Lib_DepartmentLib_ReaderLib_Order CwBookLib_Order CwBook借阅者Reader类图:图书人员类LibraryStaff系统管理员类SystemManager图书管理员类LibraryManager 图书馆领导类LibratyBoss

1.jbra-dclHMcLilMiirySiairf<}+hmi片力mgIjuri£d!i^:£iijrt41图书馆资源类LibraryResources实物书籍类BookResources电子书籍类ElectronicResources书类Book杂志类Magazine6.6.管理员选择添加信息6.6.管理员选择添加信息4.2.3创建系统动态模型.创建序列图和协作图TT_Addinfo添加图书事件流:.管理员选择进入管理界面,用例开始.系统提示输入管理员密码.管理员输入密码.系统验证密码A1:密码错误.进入管理界面,系统显示目前全部图书信息7.7.系统提示输入信息3.3.管理员输入密码7.7.系统提示输入信息3.3.管理员输入密码管理员输入信息系统验证信息A2:信息错误系统添加新图书信息,提示添加成功系统重新进入管理主界面,显示所有信息用例结束A1:密码错误系统提示输入错误用户确认进入添加图书事件流第 2步A2:信息错误系统提示修改错误信息管理员修改输入信息进入添加图书事件流第 9步TT_Modifyinfo修改图书事件流:管理员选择进入管理界面,用例开始系统提示输入管理员密码4.4.系统验证密码4.4.系统验证密码A1:密码错误进入管理界面,系统显示目前全部图书信息管理员选择要修改的图书信息系统显示原有信息管理员修改信息系统验证信息A2:信息错误系统添加新图书信息,提示添加成功系统重新进入管理主界面,显示所有信息用例结束A1:密码错误系统提示输入错误用户确认进入添加图书事件流第 2步A2:信息错误系统提示修改错误信息管理员修改输入信息进入添加图书事件流第 9步1.1.系统提示已达到借书数量上限1.1.系统提示已达到借书数量上限3)TT_Borrow借书事件流:进入读者主界面,用例开始读者输入借书证号、书号,选择借书系统验证借书证号、书号A1:借书证号不存在A2:已达到借书数量上限A3:书号不存在A4:图书流通状态冲突借书成功系统显示读者借书信息读者确认系统重新进入读者主界面用例结束A1:借书证号不存在系统提示再次输入读者确认进入借书事件流第 2步A2:已达到借书数量上限6.6.用例结束2.2.读者输入书号,选择续借6.6.用例结束2.2.读者输入书号,选择续借2.2.读者确认5.5.系统重新进入读者主界面TOC\o"1-5"\h\z进入借书事件流第 5步A3:书号不存在系统提示再次输入读者确认进入借书事件流第 2步A4:图书流通状态冲突系统提示图书流通状态冲突读者确认进入借书事件流第 2步TT_Return还书事件流:进入读者主界面,用例开始读者输入书号,选择还书系统验证书号A1:书号不存在A2:图书流通状态冲突A3:借阅过期还书成功A1:书号不存在系统提示再次输入读者确认进入借书事件流第 2步A2:图书流通状态冲突系统提示图书流通状态冲突读者确认进入借书事件流第 2步A3:借阅过期系统提示借阅过期,提示缴纳罚金A4:读者拒交罚金读者确认并缴纳罚金进入还书事件流第 4步A4:读者拒交罚金进入借书事件流第 5步5)TT_Rene树借事件流:1.进入读者主界面,用例开始系统验证书号A1:书号不存在A2:图书流通状态冲突续借成功系统重新进入读者主界面用例结束A1:书号不存在系统提示再次输入读者确认进入借书事件流第 2步A2:图书流通状态冲突系统提示图书流通状态冲突读者确认进入借书事件流第 2步TT_AddinfoTT_Addinfo序歹U图TT_AddinfoTT_Addinfo序歹U图mdrrhirvTT=R电gi身陷工tinm:FcimObj^db。力It:TTBeckantral:!rT_C6htrcl0bjeetb£m:

FormObiectbonk:TT_BcioH一口ntrcil:

TT_CcintrdObject1-6e1Efooklnfo(String.String.String.String)

m >rn2:OrealBaok(Slring,String.St2:Oreal3:VerifyBook(book)GetBook()5:QueryBookfSlring)6:CgnAddO7:AddBookllnfofbookjLILIShowSu匚楠静slnhfString) I I;9:DestoryBook()admin:TT_Rogi5trmr心。Mrnl:TT_CaMrolGbj...db:TTDwlwb启曰adtriiri.TTR电gist隋ra:G&tBcform:ForrnObiect1:GetBooklnfo(String) >rklnfofStnng.String.Str

>9:Creahook:TTBook一□ntrul:TTComrolCbiect2:CraatBook(String才V卅i网9k(bgkj: 4:OetBaokO5:QueryEook(String);■i^String)S.ShowBo(Jklnfo(boal<);7.DestoryBook()IElook(String.String,String.String)10,VerifyEoDk(book)11:Canh/1odify()< 1:::MadifyBooklnfb(boo4)13:ShowSucclessInfa(String)!U:DegtoryBook()TT_Modifyinfo序列图TT_Borrow序列图TT_ReturnTT_Return序列图TT_ReturnTT_Return序列图readsriTT_Reader rm:FormObjecd:book:TT=Bookcoirfcrol:TT^ControlObj...db!TT_Database旧日如:TTRg刁d引1:GetBookInfo(String):i 2;treatsook(String):3:Verify^ook3:Verify^ook(J)aok)1 >4:GetBookfi

5:QuaryBook(String);CheckBook()<।:f:dieckOverTirreOModifyBooklnfofbookJModifyBooklnfofbookJ__-9:ShowSucdesslnfo(String):10.DestoryBookf)n< H-11. 1. 系统管理员添加书籍的协作图1. 1. 系统管理员添加书籍的协作图reader:TTReadeirtorm:Form□hjedbcolc:TTBookcontroI:IT_Conrlrol0bj...I3.41.2.3.4.5.*:GetBooklnf口(S廿mg)n >r系统的协作图系统管理员添加书籍的协作图系统管理员删除书籍的协作图图书管理员处理借书的协作图图书管理员处理还书的协作图借阅者预留书籍的协作图2:CrestBook(String)

—3:grify日口钝(b口口k)-! >4:Get0ook()QueryEook(String): CheckBookO:^=1 ;ModifyBooklnfo(Stind)8:ShowSucces^hfo(StringO9DestaryEookQTTRenew序列图4.4.图书管理员处理还书的协作图4.4.图书管理员处理还书的协作图2.系统管理员删除书籍的协作图2:removeItem() >:Administrator3.图书管理员处理借书的协作图1:identifyborrower。:Librarian6:borrow()-上:Reservation3:find(Borrower,Title)7:check_if_max():Loan5.借阅者预留书籍的协作图3:reserveTitle。1:identifyBorrower。:Borrower5:create(Title,Borrower):Reservation2.创建状态图1.书的状态图2.借阅者的状态图2.TTBook对象状态图借阅者的状态图thenumberofbookisokNewBorrower3.创建活动图用户博口 用户博口 业募理田推口 曲概理博口TT_ModifyinfoTT_Modifyinfo活动图在数据库中查询,判断浜加是、提示重新输入不合格]在数据库中添加圉书显示成功TT_Addinfo活动图输入同书信息在数据库中查询,判断浜加是、提示重新输入不合格]在数据库中添加圉书显示成功TT_Addinfo活动图输入同书信息显示失败骗证信息//建图书对[象<判断添加是[否成功阳户鞋口 业外邃但崔口 兹怛您搂口输入图书编判断图书信息是否存在在

温馨提示

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

最新文档

评论

0/150

提交评论