下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于UML的图书馆借阅管理系统设计

基于UML的图书馆借阅管理系统设计.doc

基于UML的图书馆借阅管理系统设计

笑眸下得柔情万丈
2018-03-08 0人阅读 举报 0 0 暂无简介

简介:本文档为《基于UML的图书馆借阅管理系统设计doc》,可适用于领域

基于UML的图书馆借阅管理系统设计附件:学号:基于UML的图书馆借阅管理系统设题目计学院计算机科学与技术专业计算机科学与技术班级计算机姓名指导教师年月日课程设计任务书学生姓名:专业班级:计算机班指导教师:工作单位:计算机科学与技术学院题目:基于UML的图书馆借阅管理系统设计初始条件:理论:学完UML及软件体系结构课程掌握一种计算机高级语言的使用。实践:计算机实验中心提供计算机及软件开发环境。要求完成的主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具体要求)()系统分析(包括系统描述(问题域描述)、用例模型、分析类图)。)系统设计(包括系统的逻辑模型如设计类图、顺序图、状态图及组件图(等)。()系统实施(包括信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的设计以及最终的程序设计)。()编制好程序后设计若干测试用例上机测试并通过所设计的程序系统。()设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:(问题描述(用例模型及分析类图的描述(设计类图、核心用例的顺序图与状态图、组件图等的描述(信息代码设计、数据库设计、输入设计、输出设计的描述(用户界面设计和处理过程的设计的描述(给出软件的测试方法和测试结果。(设计的特点、不足、收获与体会。时间安排:设计安排周(周):第一周周至周:完成系统分析第一周周:完成系统设计。第二周周至周:完成系统实施中的信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的设计。第三周周至第三周周:完成系统实施中的程序设计。第三周周至周:撰写课程设计报告。设计验收安排:第周的星期五第,节课到实验中心进行上机验收。设计报告书收取时间:第周星期五晚上:。指导教师签名:年月日系主任(或责任教师)签名:年月日基于UML的图书馆借阅系统设计问题描述需求分析描述图书借阅系统开发的总体任务是实现图书的借阅和管理信息化,在图书借阅系统中,对于读者来说,他们所关心的问题是如何能够方便的查阅到书籍以及自己正在借阅或是已经借阅了什么样的书,所借的书是否已经到期,对于上述的需求进行分析之后,可以得到一个面向读者的简单需求分析并得出系统在面向读者方面应该至少做到如下几点:修改个人密码管理查询书籍并借阅书籍续借书籍管理归还书籍管理为过期的书籍进行付款注册帐号管理而对于图书馆管理员来说,他们需要关心的问题是:图书馆中书籍如何管理,比如方便地增加,删除,以及编辑一些书籍,并知道哪些书籍已经被借出去,借出的书就不能被管理了对于规则的一些管理,因为每个图书馆都有每个图书馆的规则,比如第一次借阅天数,最大借阅的本数,最大的续借次数,最大每次续借天数等一些规定,这些都可以通过设定的一些改变来做出不同的策略对于借阅者卡号的一些管理,因为只涉及到借阅图书方面,所以暂时只考虑了对于借阅者卡号的充值,停封,恢复方面的功能性能分析描述因为该系统是基于JSP的BS系统,所以对于客户端访问的性能要求很低,在服务器配置方面得根据图书馆的书籍多少以及服务质量程度方面进行考虑安全分析描述安全性方面首先是服务器端的端口,采用的是SQL的默认端口,因此在端口可设防火墙以免受到攻击,在用户登陆进行操作后,如果是用户想直接进入需要进行操作的页面时,页面会自动识别其ID并作出相应的处理,非法用户直接踢出登陆入口,合法用户会显示其详细信息用例设计描述用例模型描述用例模型图如下:<<include>>修改借阅卡号信息<<include>>充值<<include>><<include>>停封卡号恢复卡号管理员管理操作<<include>>增加书籍信息<<include>>验证身份用户修改书籍信息<<include>><<extend>><<include>>编辑书籍信息修改规则信息借阅者<<include>><<include>>应用规则增加规则信息注册删除书籍信息<<extend>>删除规则信息<<include>>编辑规则借阅操作<<include>><<include>>修改个人密码<<include>>付款借阅书籍续借书籍归还书籍图(用例模型图)用例的用户中分两个角色,一个是管理员,一个借阅者,用例分类为管理操作和借阅操作两个大部分,然后分为如图的一些功能用例分析类图描述类图如下:图(类图)分为图书信息类,借阅者卡号信息类,管理员信息类,借阅信息类,惩罚信息类,规则信息类,其中借阅者信息类和管理员信息类各自有自己的方法,借阅者不能对除自己个人密码外的其它类进行操作,管理员可以对规则信息,图书信息,借阅者卡号信息进行操作用例详细设计描述类图设计类图如图,图书信息类中分为图书的ID号,图书的名字,图书的作者,ISBN号,出版期,价格,入库时间,状态等信息借阅者不能对其属性进行操作,但是可以有一定的联系,从而产生相应的类,比如惩罚类和借阅类,管理员可以对实体信息类进行直接操作,修改其信息,从而保证了类的对外封装性以及对内可操作性核心用例时序图设计主要的核心用例:借阅书籍用例,注册用例,对于管理员来说有:增加书籍信息,删除书籍信息,编辑书籍信息下面通过这些用例进行分析:借阅书籍用例时序图windowDBserverchoiceserv:借阅者er:postidentify:checkidentify:showtheidentitymessage:inputsearchbook:postthemessage:extractthesearchbook:showmessage:choicethebook:postthechoicemessage:extracttherule:dealthemessage:producetherecord:showthedealmessage图(借阅书籍用例时序图)注册用例时序图server:借阅者inputwindow:inputinfo:judgeinfo:posttheinfo:recordtheinfo:producemessage:showthemessage图(注册用例时序图)增加书籍信息用例时序图windowDBserverbookaddserver:管理员:postidentify:checkidentify:inputthebookinfo:checkinfo:postthemessage:dealthemessage:showdealmessage图(增加书籍用例时序图)删除书籍信息用例时序图windowDBserverbookdelserver:管理员:postidentify:checkidentify:extractbookrecord:postdelmessage:dealmessage:showmessage图(删除书籍用例时序图)编辑书籍信息用例时序图windowDBserverbookeditserver:管理员:postidentify:checkidentify:postchoicemessage:extractthechoicebookinfo:editthebookinfo:posttheeditedinfo:dealmessage:showmessage图(编辑书籍用例时序图)核心用例状态图设计借阅书籍用例状态图readercheckidentifyunchoicedpostthechoicemessagechoiced可能违反借阅unsuccesssuccess图(借阅书籍用例状态图)update注册用例状态图readerrecordunregisterinputinfoinputinfoalertmessagecheckedcheckuncheckppassedassedshowmessage图(注册用例状态图)增加书籍用例状态图admincheckidentifyinitializedinputbookinfoaddsuccessfulupdaterecord图(增加书籍用例状态图)删除书籍用例状态图checkidentifyexistpostdelmessagenotexistupdate图(删除书籍用例状态图)编辑书籍用例状态图admincheckidentifyunchoicedchoicebookchoicededitthechoicedbookinfoeditedupdate图(编辑书籍用例状态图)组件图设计组件主要是JSP文件,如下图:NewCoregisterjlogonjspmponentspadminopuserop图(主要结构图)在adminop包里面有:adminopjspadminopcardjspadminopadminopbbookjspookeditjspadminoprulejspadminopcaadminopbookrdmoneyjspadminopruadminopeditserverjspleeditjsprulerunjspadminopbadminopookdeljspbookeditbruledeljspadminopcadminopcarackinfojspardstopjspdresumejspadminopboadminoprulokaddjspeserverjspadminopaddjspadminopbookdelserverjspadminopruleruleeditbdelserverjspackinfojsp图(adminop包里的组件内容)在userop包里面有:useroppauseropjsswordjspspuseropuseropcuseropruseropqueryjsphoicejspeturnjsppayjspuseropreturuseropqueruseropchoiuseroppanserverjspyserverjspceserverjspyserverjsp图(userop包里的组件内容)代码设计描述信息代码设计描述首先在图书信息类里的信息代码:图书的ID设计为位,其中第一位数字代表书籍的国籍,表示国外,表示国内,第位数字代表图书的类型,可以由每个馆自己定义其数字,比如为建筑学类,为交通管理学状态设为bit型,表示被借出去,表示未被借出去在借阅者信息类里:借阅者的ID是在注册的同时通过系统当时的时间函数currentTimeMillis()生成一个时间值,这个时间值是从年月日点到目前时刻所走过的毫秒数,因此注册的ID不可能重复借阅者的卡号就是学生一卡通的卡号,必须是位数字而且以””开头规则ID是应用学生的规则注册时初始为当地图书馆的规则我定义的规则ID是,详细说明见规则信息类代码描述(状态同样设为bit型表示被停封表示正常状态当被停封时不能登陆(在规则信息类里:规则ID表示图书馆规则代号定义为整型只能为位具体的数值供管理员写入(在借阅关系信息类里:借阅ID也是通过时间函数值产生的不同的为防止在借阅几本书的同时产生相同的ID,采用了系统计数叠加的方法防止重复(在惩罚信息类里:惩罚ID和借阅ID的原理一样超过规定的时间就会产生惩罚ID,也为防止重复采用系统计数叠加(数据库设计描述列名数据类型描述备注ReaderIDvarchar借阅ID主键CardNumbervarchar卡号Passwordvarchar密码ReaderNamevarchar借阅者姓名Cardstarttimevarchar卡号注册时间Cardvaluabletimeint卡号有效时间RuleIDint规则IDStatementbit状态Storedmoneymoney卡上的金额表借阅者数据库列名数据类型描述备注AdminIDvarchar管理员ID主键CardNumbervarchar卡号Passwordvarchar密码Adminnamevarchar管理员姓名表管理员数据库列名数据类型描述备注BookIDBigint图书ID主键TitleVarchar书名AuthorVarchar作者ISBNVarcharISBN号PublishtimeVarchar出版时间Pricemoney价格IntimeVarchar入库时间Statementbit状态表图书数据库列名数据类型描述备注RuleIDint规则ID主键Rulenamevarchar规则名称BorrowdaysInt最大借阅天数SecondaryborrowdaysInt最大续借天数MaxborrowmountsInt最大借阅本数MaxSecondaryborrowtimesint最大续借次数Punishpricemoney惩罚金额率元天表规则数据库列名数据类型描述备注PunishIDvarchar惩罚ID主键ReaderIDvarchar借阅者IDBookIDvarchar图书IDPunishreasonvarchar惩罚原因默认为惩罚Punishmoneymoney罚款金额表惩罚数据库列名数据类型描述备注BorrowIDvarchar借阅ID主键ReaderIDvarchar借阅者IDBookIDvarchar图书IDPunishIDvarchar惩罚IDBorrowtimevarchar借阅时间Secondaryborrowtimesint已续借次数表借阅关系数据库输入设计描述因为是采用的JSP页面管理,在页面里有下拉框输入,文本输入,多选框,单选框输入,然后通过表单提交发送信息输出设计描述根据消息产生的不同情况,提示消息有页面直接显示,弹出对话框显示,还有在文本框里显示在数据库里的记录界面设计描述用户界面设计在注册和登陆界面方面没有过多进行设计,只是简单的表格和输入框形式,登陆框分为两个,一个是管理员登陆入口,另一个是用户登陆入口,如下图:图(登陆界面图)注册界面如下:图(注册界面图)借阅者操作界面基本都是多选框操作,下面只例举借阅时候的界面,(这时候搜索的是书名为fdf的结果,默认的是显示全部的图书,灰色的fdf书是已经被借出去了的):图(借阅查询选择界面)管理员的操作界面只举两个:一个是增加书籍信息界面,第二个是查询并编辑书籍图(增加书籍记录界面)图(查询we书籍并选中界面)图(对we书籍进行编辑界面)界面处理设计在界面处理方面:用户不会因为不正常的操作而陷入一个死角,都有基本的处理,比如你在选中借阅后,但是没有在多选框中选中任何图书,这时候就会提示没有选中,或是直接不做处理,仍然在停留在原页面界面保持原样,有时候同一个页面需要进行多个交互,这样的话一个界面是远不够的所以可以建立像server这样同样的界面来交互并发送信息界面都是通过相应的身份ID来交互的,这个ID是通过表单的一个隐藏类数据来传送的,因此不能因为没有ID的用户通过打一个操作界面而可以进行操作,这样可以保证界面始终不对非法用户开放,无ID的用户直接返回登陆界面测试描述测试方案及相应结果用例测试因为用例涉及很多,所以将几个非常需要去测试的用例列举出来了注册用例任何一个输入为空,就会提示输入为空在用户姓名输入fdfg,在卡号输入f,其余都不输入,得到如下图所示:注册卡号必须位而且以””开头用户姓名输入fdfg,卡号输入,密码重新密码注册卡号不能相同,如果相同了,就证明以前有注册过,提示注册过了(名字可能有相同的人)用户姓名输入fdfg,卡号输入,密码重新密码输入的密码必须一致,否则提示两次输入密码不一致用户姓名输入fdfg,卡号输入,密码重新密码增加书籍用例图书的ID是位且必须为数字图书的名字可以为汉字可以为英文里面的各个日期都必须是YYYYMMDD,并且MM不能大于,DD不能大于,ISBN号位必须为数字各个输入不能为空不能增加重复ID的图书截图(略)设计优缺点及心得用例模块设计用例方面的角色很清楚,一个管理员,一个是借阅者,至于书籍,规则等实体对象方面没有作为角色考虑,因为感觉没有必要添加一个被操作的角色名称,这样会添加用例联系复杂性,因此,在用例的操作行为对象上划清了界限,这样的话方便管理这些行为信息因为只是借阅系统,所以在管理员的用例方面没有作太多的功能,比如对借阅者的卡号详细信息进行管理,还有管理员的自我信息修改等,因为感觉那是属于图书馆管理方面的系统了,所以没有多花时间去考虑数据库设计数据库方面感觉自己设计还是可以的,数据库的表名中的内容没有多的冗余内容,基本都是根据一个实体类应有的信息进行创建的,而且界限很清晰,分为读者,借阅,书籍,管理员,惩罚,规则,这些类既可以互相的制约,但是离开某个类后又不会影响该类的基本信息,符合所有非主属性对每一个码都是完全依赖,所有主属性对每一个不包含的码完全依赖,没有任何属性完全依赖于非码的任何一组属性数据设计在数据方面,像即时ID的之类的类型基本都是字符串形式,这样的话比较好从数据库中查询,因为一般都是通过字符串查询来获得结果集的,这样依然可以把结果集中的字符串再转换成其它形式在图书借阅系统中时间是一个很重要的东西,在JAVA中获取时间的格式是和我们平常生活中的格式不一样的,所以还得把Date类型格式的日期用一个函数格式化为YYYYMMDDHH:MM:SS这样平常使用的形式存入数据库中对于过期的时间的话不能通过普通的天就是加天,因为你不知道下一个月到底是多少天,是还是天都不清楚,而是要把系统的Date格式转化为毫秒时间,然后通过加上借阅天数的毫秒数获得未来到期的时间,那样才是真实的到期时间还一个就是汉字解析问题,存入数据库时,如果没有进行编码转换的话,存入数据库里面的就不是汉字,而是乱码,从而导致再次查询时不能正常的获取字段,原因是数据在传输时是以ISO格式传输的,所以在得转换为gb所再存到数据库中最后一个就是sql中的货币类型了,货币在数据库中是一种特殊的数据类型,所以在存入的时候得用一个CONVERT(money,str)函数str代表你要存入的金钱数是字符串类型,money是你要转化的类型界面设计界面的设计是用DreamWeaver做的,其中的一些风格是我从原来在一个公司实习做过的一个系统中借鉴过来的,界面方面花了一些功夫,这方面感觉做得还行但是有些东西还是不足的,比如在图书借阅方面没有实现分页显示的功能,因为觉得有搜索的话就没有多少必要去做分页了,不过如果图书量很大的话,分页就起到了非常大的作用八、参考文献萨师煊王珊编著<<数据库系统概论>>高等教育出版社耿祥义张跃平编著<<JAVA实用教程>>清华大学出版社KarlAveDal,DannyAyers,TimothyBriggs等著黎文袁德利,吴焱等译<<JSP编程指南>>电子工业出版社本科生课程设计成绩评定表班级:计算机姓名:孟俊刚学号:序号评分项目满分实得分学习态度认真、遵守纪律设计分析合理性设计方案正确性、可行性、创造性设计结果正确性设计报告的规范性设计验收总得分等级评语:注:最终成绩以五级分制记。优(分)、良(分)、中(分)、及格(分)、分以下为不及格指导教师签名:年月日

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/22

基于UML的图书馆借阅管理系统设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利