《图书管理系统的分析与设计软件工程课设(共25页).doc》由会员分享,可在线阅读,更多相关《图书管理系统的分析与设计软件工程课设(共25页).doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上软件学院 课程设计报告书课程名称 软件工程概论课程设计 设计题目 图书管理系统的分析与设计 专业班级 学 号 姓 名 指导教师 2015 年 1 月 目 录专心-专注-专业1 设计时间2015年1月26日2015年1月29日2 设计目的图书馆管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或用户提供充足的信息和快捷的数据处理手段。随着校园网的发展,各高等院校的图书馆都开始使用“图书管理系统软件”开展工作。由于目前市场上的软件大多只是一些条框,没有形成特定环境下工作的图书管理系统 。特别是各图书
2、馆之间、图书馆与读者及管理者之间要互连互通,共享信息资源。本软件就是基于这种背景而开发设计的。3设计任务要求运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的分析和设计。本项目开发的目标主要是完成用户管理,图书管理,借阅管理,其中用户管理包括用户挂失、注销、添加、修改、查询用户信息等;图书管理包括图书入库,图书删除,图书修改,图书查询等;图书借阅管理主要包括图书的借阅登记、还书登记、图书续借、图书丢失等。4 设计内容 4.1项目概述4.1.1系统开发计划1.项目目的本项目的设计目标旨在方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现传统的
3、图书管理工作的信息化建设。2.项目背景图书馆收藏着大量的文献信息资源,积极地开发,广泛地利用这些文献资源是图书馆的重要职能之一,它也是图书馆承担各种职能的基础。由于当今社会文献的生产数量大、增长快;社会文献的类型复杂、形式多样;文献的时效性强;文献的传播速度加快;文献的内容交叉重复;文献所用语种在扩大,质量下降等特点,使人们普通感到利用起来十分不容易。随着现代信息科技的发展,软件产业对提高企事业单位效率起到了很大作用,实现了很多业务上的自动化和半自动化。而图书管理系统对图书管理事业的高效发展起着决定性的作用,社会迫切需要一款更优化的图书来提高图书馆的自动化程度。3.项目工作内容按照需求分析中对
4、软件的要求,使用如下配置编写程序,并编写使用说明书,指导图书管理员的操作。4.产品图书管理系统软件和使用说明书5.程序程序分为用户管理,图书管理,借阅管理,查询和统计五大模块。用户管理模块实现对用户的添加,用户的注销,用户的修改,用户的查询,借书证的挂失和解挂失;图书管理模块实现对图书的入库,图书的出库,图书的信息修改,图书的查询;借阅管理模块实现借书登记,还书登记,续借登记,遗失登记和交付罚款;查询和统计分别为方便图书管理员的工作而设计,提供迅速而准确地信息搜索和统计功能。4.1.2业务流程描述1.用户管理为了实现用户的图书借阅功能,需要建立一张用户表来管理用户信息。只有注册过的用户且用户状
5、态为正常状态才可以进行图书的借阅。用户表中可以增加借阅用户、可以对注册用户的信息进行修改、可以注销用户、可以查询用户。用户的信息必须包含用户名称、身份证号、性别、联系方式(手机号码)等重要识别信息。2.图书管理图书馆中的书籍是会发生量的变化的,图书管理中需要包含对图书内容的增加、删除、修改和查询功能。3.借阅管理图书馆中的书籍被借阅时需要进行登记。如果书籍归还之后,需要将借阅的状态改成归还。图书管理员可以按照书记名称、借阅名称、借阅日期等做为查询条件来对借阅信息进行管理。如图4-1业务流程图如下:用户个人信息扫描条形码用户添加图书信息库用户信息修改用户注销用户查询挂失与解除用户信息库查询结果书
6、商图书清单管理员挂失信息用户图书入库删除图书修改图书查询图书批注架号查询结果借书处理借阅记录库图4-1 图书管理系统业务流程图4.2需求分析4.2.1总体目标本项目的设计目标旨在方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现传统的图书管理工作的信息化建设。本系统的服务对象为图书馆流通部门的工作人员,用户界面友好,不需计算机专业的专门训练即可使用本系统。软件主要分为用户管理,图书管理,借阅管理,统计与查询五大模块。用户管理包括用户的添加删除,修改,查询以及借书证的挂失与解挂。图书管理包括对图书的入库,出库,信息修改和查询。借阅管理则主要包括借书,还书,续借,丢
7、失图书处理及违章后赔偿处理。4.2.2具体目标主要包括以下几点:1.用户借书,管理员将用户信息,图书信息输入系统,系统则根据这些信息生成借阅单,存入借阅表。2.用户还书,管理员将图书信息输入系统。若未超期,系统根据图书信息将相应借阅单标记为已还和完结,若已超期,将相应借阅单标记为已还,管理员要求罚款。用户交钱后,借阅单标记为完结,系统将超期信息记录到超期表。3.用户要续借某书,管理员将书号和用户名输入系统,若相应借阅单允许续借,标记为已续借,否则,不予续借。4.用户将书丢失,管理员将丢失信息输入系统,系统执行丢失操作,并要求用户赔偿。5.管理员对图书进行录入,删除,修改,查询操作,系统根据信息
8、对图书表进行改变。6.管理员对用户进行添加,删除,修改,查询操作,系统根据信息对用户表进行改变。7.系统提供借出记录查询,未还记录查询,超期记录查询,罚款记录查询,丢失记录查询。8.系统提供图书统计,用户统计,用户借阅统计,罚款统计来方便管理员的管理工作。4.2.3系统数据建模E-R图也称为实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。E-R图如下所示:n用户类型属于用户违规罚款记录借阅借阅记录图书11m11n1图4-2 总体E-R图用户借书证号联系方式身份证号性别姓名职业用户状态图4-3 用户分E-R图用户类型最长续期最长借期最大借阅册数类型图4-4 用户类
9、型分E-R图书名作者图书类型入库时间是否遗失架号书号出版社ISBN定价是否在库图书图4-5 图书分E-R图罚款记录罚单号罚款金额是否交钱借阅号罚款日期借出证号罚款原因图4-6 罚款记录分E-R图借阅记录借阅号借阅证号是否完结是否续借应还日期归还日期借出日期书号图4-7 借阅记录分E-R图4.2.4系统功能建模功能建模的思想是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型用数据流图来描述。数据流图如下所示:罚款统计F19借阅统计F18用户统计F17图书统计F16丢失记录F15罚款记录F14短期记录F13未还记录F12借出
10、记录F11收据F10某图书信息F9某用户信息F8查询请求F7统计请求F6发书清单F6图书信息F4借书证信息F3挂失信息F2个人信息F1管理员书商用户图书管理系统P管理员用户管理员图4-8 0层数据流图F7F2F1F8P1用户管理D1记录D2用户类型库用户管理图4-9 P1 1层数据流图图书表F7F3F9P2图书管理D3图4-10 P2 1层数据流图 D5借阅记录库D1记录F10F4F3借阅管理D4P3罚单库记录F14F15F13F12F11P4查询D2用户类型库D1记录D4借阅记录库D3图书表D5罚单库图4-11 P3 1层数据流图图4-12 P4 1层数据流图D5罚单库D2用户类型库D1记录
11、D4借阅记录库D3图书表P5统计F19F18F17F16图4-13 P5 1层数据流图D1记录D2用户类型库P1.3用户注销P1.4用户查询P1.2用户修改P1.5挂失处理F7F2F1F8P1.1用户添加图4-14 P1 2层数据流图F7F6F8P2.1图书添加P2.3图书删除P2.4图书查询P2.2图书修改P2.5批注架号D3图书表图4-15 P2 2层数据流图D1记录D5罚单库D4借阅记录库F10F3P3.5用户状态恢复F4F4F3F4P3.1借书登记P3.3还书登记P3.4图书登记P3.3续借图4-16 P3 2层数据流图4.2.5数据字典数据字典是关于数据库中数据的描述,即元数据,而不
12、是数据本身。数据本身将存放在物理数据库中,由数据库管理系统管理。数据字典有助于这些数据的进一步管理和控制,为设计实现和运行阶段控制有关数据提供依据。1.数据流分量:数据流图中数据项的数据结构中的数据项说明,数据项是不可再分的数据单位。数据项描述=数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系。2.数据流 数据流图中流线的说明。数据流是数据结构在系统内存。对数据流的描述通常包括如下内容:数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)3.数据存储 数据的存储特征说明。数据存储是数据结构停留或保存的地方,来源和去向之一。可
13、以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式。数据字典如下所示:数据元素系统名称:图书管理系统条目名:借书证号(别称:F4)属于数据流:F5属于数据存储: D1,D4定义:职工编号=10数字10数据元素:数字=0|1|2|3|4|5|6|7|8|9简要说明:唯一标示了用户修改记录:编写:日期:审核:日期:图4-17 数据元素条目数据字典卡片数据流系统名称:图书管理系统条目名:图书表(别名:D3) 来源:F3,F7去向:F9数据结构:图书表=书号+书名+作者+出版社+ISBN
14、号+定价+是否在库+是否丢失+入库时间+图书分类+架号简要说明:记录了所有图书的信息修改记录:编写:日期:审核:日期:图4-18 数据流条目数据字典卡片数据存储名称:用户表(编号: D1)描述:对所有注册用户信息的记录 相关处理:有P1写入,读取数据的输出有F1,F2数据结构:用户表=借书证号+姓名+身份证号+联系方式+用户类型+用户状态+职业安全要求:数据项数据类型长度是否为空描述JSZHChar10借书证号XMInt5姓名XBChar4性别SFZHChar18身份证号LXFSChar11联系方式YHLXChar10用户类型YHZTChar10用户状态ZYChar20职业图4-19 数据存储
15、条目数据字典卡片4.3总体设计4.3.1总体设计HIPO技术1.系统层次图:系统层次图如图4-20所示,主要分为三个层次。 图书管理系统用户管理图书管理借阅管理查询统计用户注销用户修改用户添加图书删除用户查询用户挂失图书入库图书修改图书续借还书登记借书登记图书查询罚款记录查询借出记录查询遗失记录查询超期记录查询未还记录查询图书遗失罚款统计图书统计用户统计用户借阅统计图4-20 系统层次图2.系统IPO图,如图4-21到图4-24所示:IPO图系统:图书管理系统 作者:XXX模块:用户管理 编号:P2被调用:系统主模块调用:用户挂失,用户注销,用户添加,用户修改,用户查询输入:F1、F2、F7输
16、出:F8、D1、D2处理:负责对用户信息的管理,包括添加、修改、注销、挂失和查询备注:图4-21 用户管理模块IPO图IPO图系统:图书管理系统 作者:XXX模块:图书管理 编号:P2被调用:系统主模块调用:图书添加,图书修改,图书删除,图书查询输入:F3、F7输出:F9、D3处理:负责对图书信息的管理,包括添加、修改、删除和查询备注:图4-22 图书管理模块IPO图IPO图系统:图书管理系统 作者:XXX模块:查询 编号:P2被调用:系统主模块调用:借出查询,未还查询,超期查询,罚款查询,丢失查询输入:D1、D2、D3、D4、D5输出:F11、F12、F13、F14、F15处理:责对借阅的管
17、理,包括借书登记,还书登记,图书续借,图书丢失备注:图4-23 查询模块IPO图IPO图系统:图书管理系统 作者:XXX模块:统计 编号:P2被调用:系统主模块调用:图书统计,读者统计,读者借阅统计,罚款统计输入:D1、D2、D3、D4、D5输出:F16、F17、F18、F19处理:负责对读者和图书的统计,包括图书统计,读者统计,读者借阅统计,罚款统计备注:图4-24 统计模块IPO图4.3.2数据库设计用户表(借书证号,姓名,身份证号,联系方式,用户类型,用户状态,职业)图书表(书号,书名,作者,出版社,ISBN号,定价,是否在库,是否遗失,入库时间,图书分类,架号)借阅表(借阅号,借书证号
18、,书号,借出日期,归还日期)罚单表(罚单号,罚款金额,罚款原因,借阅号,是否交钱)个人信息表(姓名,性别,身份证号,联系方式,职业)挂失信息表(姓名,性别,身份证号,联系方式,职业)借书证信息(借书证号)借书证信息(书号)如以下表4-1至表4-5所示:表4-1 用户表列名数据类型长度允许空文字描述jszhchar10借书证号xmchar5姓名xbint4性别sfzhchar18身份证号lxfschar11联系方式yhlxchar10用户类型yhztchar10用户状态zychar20Y职业表4-2 用户类型表列名数据类型长度允许空文字描述yhlxchar10用户类型zcjqchar10最长借期
19、zdjycschar4最大借阅册书zcxqint4最长续期表4-3 图书表列名数据类型长度允许空文字描述shchar10书号smchar50书名zzchar20作者cbschar30出版社isbnchar30ISBN号djdouble8定价sfysbool1是否丢失rksjdate10入库时间tsflchar10Y图书分类表4-4 借阅表列名数据类型长度允许空文字描述jyhchar10借阅号jszhchar10借书证号shint10书号jcrqdate10借出日期ghrqdate10Y归还日期yhrqdate10Y应还日期sfwjbool1是否完结表4-5 罚单表列名数据类型长度允许空文字描述
20、fdhchar10罚单号fkjedouble8罚款金额fkyychar50Y罚款原因jszhchar10借书证号fkrqdate10罚款日期4.3详细设计4.3.1用户管理模块详细设计1.模块定义负责对用户信息的管理,包括添加,修改,注销,挂失和查询,并根据这些信息来维护用户表和用户类型表。2.输入项目F1:个人信息表F2:挂失信息表F7:查询请求3.输出项目F8:某用户信息D1:用户表D2:用户类型表4.程序过程设计用户查询用户删除用户修改用户修改用户添加用户名个人信息表挂失信息表用户信息表用户名添加到用户表修改用户状态用户修改删除用户查询用户信息开始操作判断输出用户信息结束图4-25用户管
21、理模块流程图5.测试要点(1)边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。 (2)非法测试,例如在输入数字的地方输入字母。 (3)跟踪测试,跟踪一条数据的流程,保证数据的正确性。 (4)在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。 (5)接口测试,程序往往在接口的地方很容易发生错误,此模块测试勿掉以轻心。4.3.2图书管理模块详细设计1.模块定义负责对图书信息的管理,包括添加,修改,删除和查询,并根据信息来维护图书表。2.输入项目F3:发书清单F7:查询请求3.输出项目F9:某图书信息D3:图书表图书查询图书删除图书修改图书添加结束开始操作判断发书清单
22、表图书新信息表图书号图书号添加到图书表表图书修改删除图书户查询图书信息输出图书信息4.程序过程设计图4-26图书管理模块系统流程图5.测试要点(1)边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。 (2)非法测试,例如在输入数字的地方输入字母。 (3)限制输入框的数据格式。(4)在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。 (5)接口测试,程序往往在接口的地方很容易发生错误,此模块测试勿掉以轻心。 4.3.3借阅管理模块详细设计1.模块定义负责对借阅的管理,包括借书登记,还书登记,图书续借,图书丢失,保持借阅表的最新状态2.输入项目F4:借书证条形码信息
23、F5:图书条形码信息3.输出项目F10:收据 D1:用户表D4:借阅表D5:罚单表丢失续借还书借阅YN开始操作判断发书清单表图书号图书号借书证号结束添加到图书表修改应还日期查询丢失书信息是否超期期记录超期信息并罚款还书登记修改图书状态并标志丢失4.程序过程设计图4-27借阅管理模块系统流程图5.测试要点(1)代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。 (2)突发事件测试,服务器上可能发生意外情况的测试。 (3)外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。 4
24、.3.4查询模块详细设计1.模块定义负责对借阅记录的查询,包括借出查询,未还查询,超期查询,罚款查询,丢失查询。2.输入项目D1:用户表D2:用户类型表D3:图书表D4:借阅表D5:罚单表3.输出项目F11:借出记录查询结果F12:未还记录查询结果F13:超期记录查询结果F14:罚款记录查询结果F15:丢失记录查询结果开始操作判断搜索借书记录表搜索未还记录搜索超期记录改搜索罚款记录搜索遗失记录结束显示搜索结果借出信息表超期信息表罚款信息遗失信息名未还信息表4.程序过程设计图4-28 查询模块系统流程图5.测试要点(1)错字、错词测试,如果在系统中有用词不当的地方,我想这是不应该的。 (2)系统
25、兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。像一些很特别的用户去使用系统,你很有可能发现BUG。 (3)用户的易用性测试,往往用户的需求是不断的变化的,而其中一部份变化的原因,是由用户操作上不方便引起的。 4.3.5统计模块详细设计1.模块定义负责对用户和图书的统计,包括图书统计,用户统计,用户借阅统计,罚款统计。2.输入项目D1:用户表D2:用户类型表D3:图书表D4:借阅表D5:罚单表3.输出项目F16:图书统计结果F17:用户统计结果F18:用户借阅统计结果F19:罚款统计结果4.程序过程设计罚款统计借阅统计用
26、户统计图书统计开始操作判断统计图书统计用户统计借阅统计罚款结束显示搜索结果图4-29 统计模块系统流程图5.测试要点(1)缺陷验证:在程序员刚修复Bug之后的地方,一定要在次验证、测试,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。 (2)做好BUG管理工作,认真做好测试记录,在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。5 总结与展望本次课程设计,设计项目为图书管理系统。要求运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的分析和设计。本项目开发的目标主要是完成用户管理,图书管理,借阅管理,其中用户管
27、理包括用户挂失、注销、添加、修改、查询用户信息等;图书管理包括图书入库,图书删除,图书修改,图书查询等;图书借阅管理主要包括图书的借阅登记、还书登记、图书续借、图书遗失等。软件工程作为一门以指导实践为中心的工程学科,必须与实际应用相结合。任意一个项目开发都是对软件工程知识结构的一次再现,从问题定义一直到运行与维护,其中的每一个细节都值得认真推敲。在需求分析阶段,因为对图书管理系统并无多少理解,仅仅局限于借书,还书概念上。后来经过网上的查询和老师上课所讲述的内容,将该系统划分为五大功能模块,也才最终形成了业务流程图。完成业务流程图后,对于图书管理系统的认识也上升了一个台阶,知道了开发该系统的目的
28、和详细要求。在这个基础上,设计了系统的数据模型和功能模型。随后,设计了系统的数据字典。在总体设计阶段,任务主要是层次图,IPO图和数据库设计。层次图主要描绘了系统的层次和调用关系,将整个程序结构用图形表示了出来。IPO图则针对主要模块进行了记录,包括模块间的调用关系以及输入处理输出的内容,等于是对层次图的进一步介绍。数据库设计则是将需求分析阶段的数据模型付之应用,建立数据表。详细设计阶段是对IPO图的加深,过程设计则描绘了程序的流程。其中,非常重要的是测试要点的分析,因为,测试要点分析对后期工作有很大的影响,包括程序的维护和健壮性,以及性能等方面。总而言之,通过这次实践,我对软件工程的概念有了深刻的认识,懂得了软件工程在软件开发中的重要意义。参考文献1 张海藩.软件工程导论M.第5版, 北京:清华大学出版社,2008.2 2 杨文龙. 软件工程M. 电子工业出版社.2003. 23 Roger S.Pressman. 软件工程实践者的研究方法. 机械工业出版社. 1999.10.5 王立福. 软件工程-技术、方法与环境. 北京大学出版社.20016 汤庸编著. 软件工程方法学及应用M. 中国三峡出版社.2002.12.7 韩坚华.高校人事管理信息系统的研究与开发.计算机工程与应用,1996(13):32-35成绩评定成绩 教师签字