1、大工 春软件工程大作业 网络教育学院软件工程课 程 大 作 业题 目: 图书管理系统 学习中心: 赣州学习中心 层 次: 专升本 专 业: 网络工程 年 级: 2016年 春 季 学 号:学 生: 邓健 完成日期: 2017 年 8 月 24 日第一部分 可行性研究分析 11.1 引言 11.2 可行性研究的前提 21.3 对现有系统的分析 31.4 所建议的系统.41.5 投资及效益分析.61.6 社会因素方面的可行性.61.7 结论.6第二部分 需求分析 72.1 功能需求分析 72.2 非功能性需求分析 92.3 静态建模 92.4 动态行为建模.10第三部分 系统设计 143.1 总体
2、设计 143.2 系统功能模块设计 143.3 数据库设计 153.4 系统总体结构设计.173.5 主要模块运行.183.6 系统测试.21第一部分可行性研究分析1.1 引言1.1.1 目的图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。为此,我们设计图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校服务。从以前的手工管理的记录中我们可以发现这样的问题: 1.检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难,往往是终于查到了书
3、的信息,但馆中没有此书或已被别人借走。图书馆的规模越大,这个问题就越突出。 2.借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现差错。 3.图书统计工作难,藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。1.1.2 背景 A 开发软件系统的名称是:图书馆管
4、理系统 B 开发本项目的提出者:刘老师 开发者:秦靖、黄孝强、曾猛、席菱、孙玉波 用户及实现该软件的计算机中心:宿舍局域网及机房 1.1.3 参考资料 1、中华人民共和国着作权法、计算机保护条例 2、参考文献1. 张海藩. 软件工程导论(第五版). 北京:清华大学出版社,2008.22. 张荣梅,梁晓林,赵宝琴. Visual C+实用教程. 北京:中国铁道出版社,2008.9 3.、网络资源1.2 可行性研究的前提1.功能:可分为查询、用户管理、书籍管理三大部分,具体功能如下:图-功能模块图-数据库流程图2.性能:能运行良好。3.数据库流程图(如图-所示)。4.在安全与保密方面的要求:用户管
5、理员密码不可见,数据库实行加密。5.输入与输出:条形英文、数字和汉字输入,英文、数字和汉字输出。6.完成期限;2010年6月20前。 1.2.2 目标 1.减少人力与设备费用; 2.提高借书的处理速度; 3.减少操作出错; 4.提高人员利用率;1.2.3 条件、假定和限制 1.系统运行寿命的最小值:4年; 2.进行系统方案选择比较时间:10天; 3.经费投资方面的来源和限制 :无 4.法律和政策方面的限制:不违背宪法,不违背合同法; 5.硬件软件的运行环境和开发环境的条件和限制:PC机、VC+6.0及Access2003 6.可利用的信息资源:Visual C+实用教程软件工程导论等以及网络资
6、源; 7.系统投入的最晚时间:半年到一年;1.2.4 进行可行性投资研究的方法 通过调查分析开发图书馆管理所具备的能力及实践方法,确定总体结构,利用ODBC及Microsoft Office Access所具有的能力,以最简洁最容易的方法用C+编写使其成为一个初级的系统软件。1.2.5 评 价 尺 度 各项功能是否在要求时间内完成。1.3 对现有系统的分析传统的图书馆管理系统的操作流程相当繁琐,在借阅读书时首先要将图书证和所借的书交给图书管理员,图书管理员然后将每本书的信息卡片和读者的信证放在一起,最后再将每本书的借阅卡片和读者阅览证填写借阅信息,在归还时找到相应的借阅卡和借阅证并填写归还信息
7、。图-图书数据功能模块1.3.2 工作负荷 处理较慢,人工操作较为繁琐。1.3.3 费用开支 维护费用较大,人力消耗大,设备使用率低,占用空间,实现功能少。1.3.4 人 员 因原有的系统技术含量较低,故不需要多少高技术人员,今后由于数据量的扩大,人员数量也会日益扩大。1.3.5 设 备 设备含量也较低,没有达到大量普及计算机的程度。1.3.6 局限性 经过严谨的分析,可知原来的系统有很大的局限性,如技术比较陈旧,人员工作负荷量大,系统维护费用支出大,这些都明确需要一个高科技系统。1.4 所建议的系统1.4.1 对建议系统的说明新系统在原有系统上加入了数据库支持:使用先进的数据库技术和数据库管
8、理技术,使数据的安全性和正确性得到很大的提高,且在用户的并行操作和用户的管理方面也有了很大的改善。1.4.2 处理流程和数据流程读者通过自己的注册账户和密码,可以登录到本系统,进行的操作可以是借阅、续借、归还,管理员可以接受到读者的信息,并能管理图书将图书分类,并能查到读书的借阅情况。1.4.3 改进之处 1.减少人力和设备费用,从前需要较多的人员处理图书的借阅,操作繁琐,时间较长,现在使用计算机操作,大大提高效率。 2.借书的处理速度:以前一人借书等待的时间大大缩短; 3.减少操作出错:以前人工手写信息会出现各种错误,现在计算机扫描几乎不会出错了; 4.提高人员利用率,以前图书管理员所有一人
9、在场场面混乱,会提高出错的几率,现在一个管理员也不会手忙脚乱。1.4.4 影 响 预期将带来的影响:包括对图书管理员需要一定的培训,让他们迅速了解软件的使用,还要购买相应的计算机服务器以及进行数据库的录入。1.对设备的影响 现有的一些非电子操作的物理设备要跟换为计算机操作的环境。2.对软件的影响 因建议系统在原有的基础上采用先进的技术和高科技技术,将原来的软件无法使用,所以系统也会考虑到软件的兼容性。3. 对用户单位机构的影响 建议系统建立在原有的系统基础上,所以不用考虑人员培训问题。4.对系统运行过程的影响 1)用户的操作规程:与原来系统规程无异; 2)运行中心的操作规程:与原系统操作规程无
10、异; 3)运行中心与用户之间的关系运行中心培训用户使用; 4)原数据的处理:封装处理;5. 对开发的影响 1)为了支持所建议系统的开发,用户需要进行密切配合,阐述要求; 2)要求的数据资源:原数据库; 3)为了开发和检测所建议系统而需要的计算机资源:一台微机; 4)无保密与安全问题;6.对地点和设施的影响 需要一些良好的设备和图书管理操作7. 对经费开支的影响 1)系统开放的人力开支 2)硬件设备,书籍材料 3)开发工具,环境费用 4)不可预见费用1.4.5 局 限 性 鉴定建议系统尚没有高端技术支持,故无法普及所开发的建议系统。1.4.6 技术方面的可行性本系统基于局域网、windows操作
11、系统,现有技术比较成熟,所以这个在限制内完成开发,并且能实现系统功能目标,开发人群、质量也能满足。1.5 投资收益分析 零投资,投入使用时既可获得一定收益。1.6 社会因素方面的可行性1.6.1 法律方面的可行性 本项目为独立开发,没有使用现成的软件和方法,法律上不会造成侵犯,完全可以按照同规定的责任履行。1.6.2 使用方面的可行性用户单位的行政管理,工作制度等方面来看,可以使用该软件系统,从用户单位的工作人员素质上来看,能满足使用该软件的要求。1.7 结论 经过一系列各方面可行性的分析,分析员、用户以及其负责人对解决的问题有一致的看法,如能审批则可以运行。第二部分 需求分析2.1 功能需求
12、分析 对图书管理系统的域描述如下:在图书管理系统中,要为每一个借阅者建立一个账户,并发放借阅卡(此卡可以提供借阅卡号、借阅者名)给借阅者,其中账户中存储借阅者的个人信息、借阅信息。持有借阅卡的的借阅者可以借阅书籍、返还书籍、查询书籍信息,所有这些操作都是通过图书管理员进行的,也就是说,借阅者不直接与系统交互,而是让图书管理员充当借阅者的代理与系统交互。借阅书刊时,需要输入所借阅的书刊名、书刊的ISBN/ISSN号,然后输入借阅者的借阅卡号(学生学号、教师职工号)和借阅者名,完成后提交所填表格,系统验证借阅者是否有效(在系统中是否存在账户),若有效,借阅请求被接受,系统查询数据库系统,看借阅者要
13、求借阅的书看是否存在,若存在,则借阅者可以借出书刊,并在系统中建立存储借阅记录。借阅者还书后,删除关于所还书刊的借阅记录。另外,为了简化系统,暂时不考虑书籍的丢失和预定情况。对上述图书管理系统的域描述进行分析,可以获得如下的功能性需求:1.借阅者持有借阅卡(借阅卡包含借阅者名和借阅卡号);2.图书管理员代理借阅者借书; 3.图书管理员代理借阅者还书; 4.图书管理员可以创建新的借阅者账户; 5.图书管理员可以修改借阅者的账户信息; 6.图书管理员可以删除已存在的借阅者账户; 7.图书管理员可以添加新书籍种类; 8.图书管理员可以修改书籍种类信息; 9.图书管理员可以删除系统中的书籍种类; 10
14、.图书管理员可以在系统中添加书目信息; 11.图书管理员可以编辑书目信息; 12.图书管理员可以删除书目信息。注:“书籍种类”和“书目信息”是两个不同的概念“书籍种类”代表了书籍的种类,它不仅包括书刊名,还包括ISBN/ISSN号等信息,他出现在书籍目录中;“书目信息”则指书籍的信息,即图书信息。此外,第一部分提到的用户含借阅者和管理员,但侧重指借阅者。2.1.1 系统功能模块分析 根据开发者和客户的需求分析后,可以把系统功能分为三个大的功能模块: 1.查询模块包括:借阅者查询和管理员查询。 2.用户管理模块包括:增加及删除用户信息以及修改用户信息。 3.书籍管理模块包括:增加及删除书目信息以
15、及修改书目信息。2.1.2 识别参与者 通过对系统需求的分析,可以确定系统中有两个参与者,即借阅者和管理员。 1.借阅者描述:借阅者可以借阅、归还书籍。示例:持有借阅卡的任何人或组织。 2.管理员描述:管理员维护系统,他可以增加、修改、删除借阅者的信息;可以增加、修改、删除书目信息,即维护书目目录。 示例:管理员。2.1.3 用例图分析 在上面,已经识别出了系统的两位参与者,经过对需求的进一步分析,可以确定系统中有如下用例存在。1.借阅书籍 本用例提供了借阅书籍的功能。2.返还书籍 本用例提供了返还书籍的功能。 3.用户管理 本用例提供了增加、修改以及删除用户信息的功能。 4.书籍管理 本用例
16、提供了增加、修改以及删除书目信息的功能。用StarUML软件制作出的用例图,如下所示:图2-1 图书管理系统用例图2.2 非功能性需求分析 非功能性需求是从各个角度对系统的约束和限制,反映了应用系统对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性等。下面是关于该图书管理系统的非功能性需求:1. 系统在短时间内相应所有的用户请求;2. 系统应该每周7天、每天24小时都可以使用;3. 对于一个没有经验的用户而言,经过短期的培训就可以使用系统的所有功能,稍加练习,便可熟练操作了;4. 系统运行时占用内存空间为低;5. 当系统发生故障时,只需重启便可以重新使用,在重启后,数据可以自动恢复
17、,不会受到破坏。2.3 静态建模进一步分析系统需求,发现类以及类之间的联系,确定它们的静态结构和动态行为,是面向对象分析的基本任务。系统的静态结构模型主要用类图来描述的。通过对系统进行需求分析后,就可以识别出在该系统中存在的对象。从前述的系统需求描述中可以找到以下对象类:借阅者、书籍、管理员。2.3.2类图分析抽象出系统中的类后,确定并细化这些类的属性及操作,建立每个类的图形,通过这些图形对每一个类的属性和操作进行说明,如下图所示: 图2-2 图书管理系统类图 借阅者包含学生和教师。学生的属性有学号、姓名和单位,教师的属性有职工号、姓名和单位。借阅者可以借书、还书和查询。1)书籍包含很多种类,
18、这里大致分为理工和文史类。书籍的属性有书号、书名、作者、类型和价格。书籍是整个系统的主要部分,借阅者可以借阅及归还图书(学生可以借1-5本,教师可以借1-10本,这里用1.n表示借阅书籍数),管理员则管理书籍、维护书籍信息。2)管理员(可以有多个管理员,这里用m表示管理员个数)的属性主要是登录系统的用户名及密码。管理员的作用是书籍管理和用户管理,即增加、删除和修改信息。2.4动态行为建模系统的动态行为模型可以有交互作用图(时序图和通讯图)、状态图、活动图来描述。本设计选用时序图描述用例的主要场景,用状态图描述对象的动态行为。2.4.1时序图分析描述系统用例的主要场景的时序图如下所示:图2-3
19、借书时序图管理员每天工作时先登录系统,再进行挂机等待借阅者操作。借阅者借书时,先出示借阅卡。管理员扫描借阅卡,验证借阅者身份,系统读取相应信息并显示借阅者信息。此后,管理员扫描借阅者要借阅的书籍,增加书目信息。系统对应显示书目信息后,借阅书籍成功,书籍借出。借阅者续借时,步骤一直,故省略续借时的情况。逾期处理是还书时的扩展动作,因此在这里一起考虑。还书时扫描图书,若显示正常,则管理员只需修改删除相应书目信息,在系统显示书目信息后还书成功。若显示图书逾期,则管理员需按照处罚条例给以一定的罚款处理。等借阅者交纳罚金后,修改删除相应书目信息,在系统显示书目信息后还书成功。(图2-4、2-5所示)图2
20、-4 还书时序图图2-5 逾期处理时序图分析描述系统用例的状态图如下所示: 图2-6 图书馆管理系统的状态图登录系统后显示系统界面,借阅者可以进入查询界面直接进行信息查询。管理员输入用户名和密码后进入管理员界面,此后管理员可以进行查询、书籍管理和用户管理三个功能操作。当借阅者借书时,管理员验证借阅者信息后系统显示借阅者信息,而后添加书目信息,借阅者借书成功。还书时管理员扫描图书,若未逾期则显示正常和相应的更新书目信息后还书成功;若逾期则做出罚款处理后修改书目信息,待系统显示更新的书目信息后还书成功。 第三部分 系统设计系统设计通常分为两个阶段进行,首先是总体设计,其任务是设计系统的框架和概貌,
21、并向用户做详细报告,若获得认可,在此基础上进行第二阶段详细设计。本章将对这两部分进行详细介绍。3.1 总体设计3.1.1 系统目标设计 系统设计的目标是评价和衡量系统设计方案优劣的基本标准,也是选择系统设计方案的主要依据。而对于此系统设计的目标主要有以下几方面:1. 系统的可靠性很好,不会受到外界的干扰。因为此系统是为图书馆而设计的,对系统的硬件、软件和运行环境的要求不是很高,只要不进行误操作和非法使用,该图书管理系统就可以很好的运行。2. 系统的可变更性强,它便于维护,便于不断扩充完善。3. 系统的效率高,在10秒内就可以响应用户请求。4. 系统可以在不同的Windows平台运行,它的通用性
22、很好。5. 系统处理数据的准确度很高,能够很快输出各种信息,其工作质量很高。6. 信息分类清晰、准确,便于查找。7. 强大的查询功能,保证数据查询的灵活性。8. 具有易维护性和易操作性。设计 该系统主要分为两部分:借阅者部分和图书管理员部分。为了方便读者查找自己感兴趣的主题进行阅读,要将书刊按照内容进行分类。借阅者可以按照借阅者号进行查找,逐级浏览,可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。图书管理员作为借阅者的代理,进行借阅、返还、预订及取消预订等操作,还可以对书刊及借阅者信息进行管理。3.2系统功能模块设计在对系统的不断分析中,可以确定一下两个模块:1.借阅者管理
23、模块:登录系统,进入主界面,可以创建新的借阅者账户,修改借阅者的账户信息,借阅者在输入自己的姓名和借阅卡号后,可以查询自己的相关信息以及借书,预订书刊,取消预订,还书等。2.图书管理模块:图书管理员可以在系统中添加书刊信息,编辑书刊信息,删除书刊信息,查询书刊信息等一系列对书刊的管理。3.3 数据库设计 1.实体描述 实体是一个数据对象,指应用中可以区别的客观存在的事物。实体既可以是实际存在的对象,也可以是某种概念。在该图书管理系统中,存在以下实体:借阅者、图书管理员和书籍。1)借阅者:它具有的属性有:姓名(name)和借阅卡号(id)(学号或职工号)最大借阅数目maxnum_can_borr
24、ow、借阅状态flag_borrow,其中主属性是借阅卡号。2) 图书管理员:它所具有的属性有:用户名(name)、管理员号(clerk _id)、密码(password)等,其中主属性是管理员号。3) 书籍:书名(name)、书号(book_id)、作者(writer)、出版社(press)、存馆信息(flag_borrow)、ISBN/ISSN号等,其中主属性是书号。 2.联系描述 在现实世界中,事物内部及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系(Relationship)。实体内部的联系通常指组成实体的各属性之间的联系,实体之间的联系是指不同实体集之间
25、的联系。两个实体集之间的联系可以归纳为以下三种:1) 一对一联系:如果对于实体集A中的每个实体,实体集B之都有一个(也可以没有)实体与之联系,反之亦然,那么实体集A与B之间的联系称为“一对一联系”,记作1:1 。2) 一对多联系:如果实体集A中的每个实体可以与实体集B中的任意个(零个或多个)实体有联系,而B中的每个实体之多和A中的一个实体有联系,那么称A对B的联系为“一对多联系”,记作1:n 。3) 多对多联系:如果实体集A中的每个实体可以与实体集B中的任意个(零个或多个)实体有联系,反之亦然,那么实体集A与B之间的联系称为“多对一联系”,记作n:n 。那么,在此系统中,借阅者与书刊之间为“一
26、对多联系”,管理员与借阅者之间是“一对多联系”, 管理员与书刊之间为“一对多联系”。 3.设计E-R图 系统设计的目的是获取数据库的概念模型,将现实世界转化为信息世界,形成一组描述现实世界中的实体及实体间的联系的概念。概念模型是现实世界到信息世界的第一层抽象,是数据库设计的工具,也是数据库设计人员和用户进行交流的语言,因此建立的概念模型要有如下的特点:反映现实,易于理解,易于修改和易于转换。在此,用E-R图表示该图书资料管理系统的概念模型。E-R图中表示实体、属性和联系的方法如下:实体:用矩形框表示,矩形框内写明实体的名称。属性:用椭圆形表示,椭圆形内写明属性的名称用无向边与相应的实体相连。联
27、系:用菱形表示,菱形内写明联系的名称,用无向边分别与实体连接起来,在无向边上注明联系的类型(1:1,1:n,n:n),如果联系有属性,则这些属性同样用椭圆表示,用无向边与联系连接起来。以下是该图书管理系统的E-R图:图- E-R图 概念结构设计所得的概念模型是独立于任何一种DBMS的信息结构,与现实无关。逻辑结构的任务是将概念结构设计阶段所得的ER图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。它的转化有以下两种方式: 第一种转化是将实体转化为关系表。这种转化较简单,需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,
28、如外部键的定义。根据联系的类型,实体间的联系转换如下:表3-1 tb_clerk(CLERK- id、NAME、ID_CARD、PASSWORD); 表3-2tb_reader(reader_id、name、maxnum_can_borrow、flag_borrow);表3-3 tb_book(book-id、bookname、author、press、press_date、flagborrow、ISBN/ISSN)。本系统使用的数据库管理系统为SQL Server 2002。数据库中的表有管理员信息表tb_clerk、书刊信息表tb_book、借阅者信息表tb_reader等,具体的表如下所
29、示: 表3-4 tb_clerk(管理员)表 表3- tb_reader(借阅者信息)表 表3-6 tb_book (书刊信息)表 3.4系统总体结构设计 用户在登录系统后,输入用户名和密码后,如果输入正确,系统自动连接数据库,进入主界面。在主界面主要有两方面的管理: 1.图书管理,主要的操作有:添加书刊信息,编辑书刊信息,删除书刊信息和查询。 2.借阅者管理,主要的操作有:创建新借阅者账户,修改借阅者信息,查询借阅者信息,借书,还书,预定书刊及取消预订。该系统的总体结构如下图所示: 图3-2 系统总体结构图3.5主要模块运行 用户登陆该图书管理系统,进入系统主界面,输入用户名和密码后,进入系统首页,在此选择具体的操作。以下对系统的功能模块进行简要说明。 登陆界面的主要代码设计如下:void CMainFrame:OnLoginIn() CLoginDlg mDlg; if (mDlg.DoModal() = IDOK) m_bLogin = TRUE; m_strUserName = mDlg.m_strName ; m_strUserID = mDlg.m_strUSERID; else m_bLogin = FALSE; m_strUserName = _T(); m_s