基于UML的图书馆借阅管理系统设计.doc_第1页
基于UML的图书馆借阅管理系统设计.doc_第2页
基于UML的图书馆借阅管理系统设计.doc_第3页
基于UML的图书馆借阅管理系统设计.doc_第4页
基于UML的图书馆借阅管理系统设计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

附件1:学 号: 课 程 设 计题 目基于UML的图书馆借阅管理系统设计学 院计算机科学与技术专 业计算机科学与技术班 级计算机0803姓 名指导教师2012年01月10日课程设计任务书学生姓名: 专业班级: 计算机0803班 指导教师: 工作单位:计算机科学与技术学院 题 目: 基于UML的图书馆借阅管理系统设计初始条件:理论:学完UML及软件体系结构课程,掌握一种计算机高级语言的使用。实践:计算机实验中心提供计算机及软件开发环境。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)系统分析(包括系统描述(问题域描述)、用例模型、分析类图)。(2)系统设计(包括系统的逻辑模型如设计类图、顺序图、状态图及组件图等)。(3)系统实施(包括信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的设计以及最终的程序设计)。(4)编制好程序后,设计若干测试用例,上机测试并通过所设计的程序系统。(5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 1问题描述;2用例模型及分析类图的描述;3设计类图、核心用例的顺序图与状态图、组件图等的描述;4信息代码设计、数据库设计、输入设计、输出设计的描述;5用户界面设计和处理过程的设计的描述;6给出软件的测试方法和测试结果。7设计的特点、不足、收获与体会。时间安排:设计安排3周(17-19周):第一周周1至周4:完成系统分析;第一周周5:完成系统设计。第二周周1至周5:完成系统实施中的信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的设计。第三周周1至第三周周3:完成系统实施中的程序设计。第三周周4至周5:撰写课程设计报告。设计验收安排:第19周的星期五第14节课到实验中心进行上机验收。设计报告书收取时间:第19周星期五晚上7:30。指导教师签名: 2011年11月21日系主任(或责任教师)签名: 年 月 日基于UML的图书馆借阅系统设计1. 问题描述1.1. 需求分析描述图书借阅系统开发的总体任务是实现图书的借阅和管理信息化,在图书借阅系统中,对于读者来说,他们所关心的问题是如何能够方便的查阅到书籍以及自己正在借阅或是已经借阅了什么样的书,所借的书是否已经到期,对于上述的需求进行分析之后,可以得到一个面向读者的简单需求分析并得出系统在面向读者方面应该至少做到如下几点: 修改个人密码管理 查询书籍并借阅书籍 续借书籍管理 归还书籍管理 为过期的书籍进行付款 注册帐号管理而对于图书馆管理员来说,他们需要关心的问题是: 图书馆中书籍如何管理,比如方便地增加,删除,以及编辑一些书籍,并知道哪些书籍已经被借出去,借出的书就不能被管理了. 对于规则的一些管理,因为每个图书馆都有每个图书馆的规则,比如第一次借阅天数,最大借阅的本数,最大的续借次数,最大每次续借天数等一些规定,这些都可以通过设定的一些改变来做出不同的策略. 对于借阅者卡号的一些管理,因为只涉及到借阅图书方面,所以暂时只考虑了对于借阅者卡号的充值,停封,恢复方面的功能.1.2. 性能分析描述因为该系统是基于JSP的B/S系统,所以对于客户端访问的性能要求很低,在服务器配置方面得根据图书馆的书籍多少以及服务质量程度方面进行考虑.1.3. 安全分析描述安全性方面首先是服务器端的端口,采用的是SQL2000的默认端口,因此在端口可设防火墙以免受到攻击,在用户登陆进行操作后,如果是用户想直接进入需要进行操作的页面时,页面会自动识别其ID并作出相应的处理,非法用户直接踢出登陆入口,合法用户会显示其详细信息.2. 用例设计描述2.1. 用例模型描述用例模型图如下:图2-1(用例模型图)用例的用户中分两个角色,一个是管理员,一个借阅者,用例分类为管理操作和借阅操作两个大部分,然后分为如图1的一些功能用例.2.2. 分析类图描述 类图如下:图2-2(类图)分为图书信息类,借阅者卡号信息类,管理员信息类,借阅信息类,惩罚信息类,规则信息类,其中借阅者信息类和管理员信息类各自有自己的方法,借阅者不能对除自己个人密码外的其它类进行操作,管理员可以对规则信息,图书信息,借阅者卡号信息进行操作.3. 用例详细设计描述3.1. 类图设计类图如图2,图书信息类中分为图书的ID号,图书的名字,图书的作者,ISBN号,出版期,价格,入库时间,状态等信息.借阅者不能对其属性进行操作,但是可以有一定的联系,从而产生相应的类,比如惩罚类和借阅类,管理员可以对实体信息类进行直接操作,修改其信息,从而保证了类的对外封装性以及对内可操作性.3.2. 核心用例时序图设计 主要的核心用例:借阅书籍用例,注册用例,对于管理员来说有:增加书籍信息,删除书籍信息,编辑书籍信息. 下面通过这些用例进行分析: 借阅书籍用例时序图图3-1(借阅书籍用例时序图) 注册用例时序图图3-2(注册用例时序图) 增加书籍信息用例时序图图3-3(增加书籍用例时序图) 删除书籍信息用例时序图图3-4(删除书籍用例时序图) 编辑书籍信息用例时序图图3-5(编辑书籍用例时序图)3.3. 核心用例状态图设计 借阅书籍用例状态图 图3-6(借阅书籍用例状态图) 注册用例状态图图3-7(注册用例状态图) 增加书籍用例状态图图3-8(增加书籍用例状态图) 删除书籍用例状态图图3-9(删除书籍用例状态图) 编辑书籍用例状态图图3-10(编辑书籍用例状态图)3.4. 组件图设计 组件主要是JSP文件,如下图:图3-11(主要结构图) 在admin_op包里面有:图3-12(admin_op包里的组件内容) 在user_op包里面有:图3-13(user_op包里的组件内容)4. 代码设计描述4.1. 信息代码设计描述首先在图书信息类里的信息代码: 图书的ID 设计为8位,其中第一位数字代表书籍的国籍,0表示国外,1表示国内,第2-3位数字代表图书的类型,可以由每个馆自己定义其数字,比如12为建筑学类,13为交通管理学. 状态设为bit型,0表示被借出去,1表示未被借出去.在借阅者信息类里: 借阅者的ID是在注册的同时通过系统当时的时间函数currentTimeMillis()生成一个时间值,这个时间值是从1970年1月1日0点到目前时刻所走过的毫秒数,因此注册的ID不可能重复. 借阅者的卡号就是学生一卡通的卡号,必须是13位数字而且以”012”开头. 规则ID是应用学生的规则,注册时初始为当地图书馆的规则,我定义的规则ID是2434,详细说明见规则信息类代码描述 状态同样设为bit型,0表示被停封,1表示正常状态,当被停封时不能登陆在规则信息类里: 规则ID表示图书馆规则代号,定义为整型,只能为4位,具体的数值供管理员写入在借阅关系信息类里: 借阅ID也是通过时间函数值产生的,不同的,为防止在借阅几本书的同时产生相同的ID,采用了系统计数叠加的方法防止重复在惩罚信息类里: 惩罚ID和借阅ID的原理一样,超过规定的时间就会产生惩罚ID,也为防止重复采用系统计数叠加4.2. 数据库设计描述列名数据类型描述备注Reader_IDvarchar借阅ID 主键CardNumbervarchar卡号Passwordvarchar密码ReaderNamevarchar借阅者姓名Card_start_timevarchar卡号注册时间Card_valuable_timeint卡号有效时间Rule_IDint规则IDStatementbit状态Stored_moneymoney卡上的金额表4-1借阅者数据库列名数据类型描述备注Admin_IDvarchar管理员ID主键CardNumbervarchar卡号Passwordvarchar密码Admin_namevarchar管理员姓名表4-2 管理员数据库列名数据类型描述备注Book_IDBigint图书ID主键TitleVarchar书名AuthorVarchar作者ISBNVarcharISBN号Publish_timeVarchar出版时间Pricemoney价格In_timeVarchar入库时间Statementbit状态表4-3 图书数据库列名数据类型描述备注Rule_IDint规则ID主键Rule_namevarchar规则名称Borrow_daysInt最大借阅天数Secondary_borrow_daysInt最大续借天数Max_borrow_mountsInt最大借阅本数Max_Secondary_borrow_timesint最大续借次数Punish_pricemoney惩罚金额率元/天表4-4 规则数据库列名数据类型描述备注Punish_IDvarchar惩罚ID主键Reader_IDvarchar借阅者IDBook_IDvarchar图书IDPunish_reasonvarchar惩罚原因默认为惩罚Punish_moneymoney罚款金额表4-5 惩罚数据库列名数据类型描述备注Borrow_IDvarchar借阅ID主键Reader_IDvarchar借阅者IDBook_IDvarchar图书IDPunish_IDvarchar惩罚IDBorrow_timevarchar借阅时间Secondary_borrow_timesint已续借次数表4-6 借阅关系数据库4.3. 输入设计描述 因为是采用的JSP页面管理,在页面里有下拉框输入,文本输入,多选框,单选框输入,然后通过表单提交发送信息.4.4. 输出设计描述 根据消息产生的不同情况,提示消息有页面直接显示,弹出对话框显示,还有在文本框里显示在数据库里的记录.5. 界面设计描述5.1. 用户界面设计在注册和登陆界面方面没有过多进行设计,只是简单的表格和输入框形式,登陆框分为两个,一个是管理员登陆入口,另一个是用户登陆入口,如下图: 图5-1(登陆界面图)注册界面如下:图5-2(注册界面图)借阅者操作界面基本都是多选框操作,下面只例举借阅时候的界面,(这时候搜索的是书名为fdf的结果,默认的是显示全部的图书,灰色的fdf书是已经被借出去了的):图5-3(借阅查询选择界面)管理员的操作界面只举两个:一个是增加书籍信息界面,第二个是查询并编辑书籍.图5-4(增加书籍记录界面)图5-5(查询we书籍并选中界面)图5-6(对we书籍进行编辑界面)5.2. 界面处理设计 在界面处理方面: 用户不会因为不正常的操作而陷入一个死角,都有基本的处理,比如你在选中借阅后,但是没有在多选框中选中任何图书,这时候就会提示没有选中,或是直接不做处理,仍然在停留在原页面. 界面保持原样,有时候同一个页面需要进行多个交互,这样的话一个界面是远不够的.所以可以建立像_server这样同样的界面来交互并发送信息. 界面都是通过相应的身份ID来交互的,这个ID是通过表单的一个隐藏类数据来传送的,因此不能因为没有ID的用户通过打一个操作界面而可以进行操作,这样可以保证界面始终不对非法用户开放,无ID的用户直接返回登陆界面6. 测试描述6.1. 测试方案及相应结果6.1.1. 用例测试因为用例涉及很多,所以将几个非常需要去测试的用例列举出来了.注册用例 任何一个输入为空,就会提示输入为空.在用户姓名输入fdfg,在卡号输入f,其余都不输入,得到如下图所示: 注册卡号必须13位而且以”012”开头.用户姓名输入fdfg,卡号输入0210310680207,密码12 重新密码 12 注册卡号不能相同,如果相同了,就证明以前有注册过,提示注册过了(名字可能有相同的人)用户姓名输入fdfg,卡号输入0120310680207,密码12 重新密码 12 输入的密码必须一致,否则提示两次输入密码不一致.用户姓名输入fdfg,卡号输入0120310680223,密码12 重新密码 31.增加书籍用例 图书的ID是8位且必须为数字 图书的名字可以为汉字可以为英文 里面的各个日期都必须是YYYY-MM-DD,并且MM不能大于12,DD不能大于31, ISBN号10位必须为数字 各个输入不能为空 不能增加重复ID的图书截图(略)7. 设计优缺点及心得 用例模块设计用例方面的角色很清楚,一个管理员,一个是借阅者,至于书籍,规则等实体对象方面没有作为角色考虑,因为感觉没有必要添加一个被操作的角色名称,这样会添加用例联系复杂性,因此,在用例的操作行为对象上划清了界限,这样的话方便管理这些行为信息.因为只是借阅系统,所以在管理员的用例方面没有作太多的功能,比如对借阅者的卡号详细信息进行管理,还有管理员的自我信息修改等,因为感觉那是属于图书馆管理方面的系统了,所以没有多花时间去考虑. 数据库设计数据库方面感觉自己设计还是可以的,数据库的表名中的内容没有多的冗余内容,基本都是根据一个实体类应有的信息进行创建的,而且界限很清晰,分为读者,借阅,书籍,管理员,惩罚,规则,这些类既可以互相的制约,但是离开某个类后又不会影响该类的基本信息,符合所有非主属性对每一个码都是完全依赖,所有主属性对每一个不包含的码完全依赖,没有任何属性完全依赖于非码的任何一组属性. 数据设计在数据方面,像即时ID的之类的类型基本都是字符串形式,这样的话比较好从数据库中查询,因为一般都是通过字符串查询来获得结果集的,这样依然可以把结果集中的字符串再转换成其它形式.在图书借阅系统中时间是一个很重要的东西,在JAVA中获取时间的格式是和我们平常生活中的格式不一样的,所以还得把Date类型格式的日期用一个函数格式化为YYYY-MM-DD HH:MM:SS 这样平常使用的形式存入数据库中.对于过期的时间的话不能通过普通的1天就是加1天,因为你不知道下一个月到底是多少天,是30还是31天都不清楚,而是要把系统的Date格式转化为毫秒时间,然后通过加上借阅天数的毫秒数获得未来到期的时间,那样才是真实的到期时间.还一个就是汉字解析问题,存入数据库时,如果没有进行编码转换的话,存入数据库里面的就不是汉字,而是乱码,从而导致再次查询时不

温馨提示

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

评论

0/150

提交评论