大工17春《软件工程》大作业
网络教育学院《软件工程》课程大作业
题目:图书管理系统
学习中心:赣州学习中心
层次:专升本
专业:网络工程
年级:2016年春季
学号:160040205003
学生:邓健
完成日期:2017 年8 月24 日
目录
目录.................................................................................................................................... - 0 -第二部分需求分析....................................................................................................... - 10 -
2.1 功能需求分析..................................................................................................... - 10 -
2.1.1 系统功能模块分析................................................................................ - 11 -
2.1.2 识别参与者............................................................................................ - 11 -
2.1.3 用例图分析............................................................................................ - 12 -
2.2 非功能性需求分析............................................................................................ - 13 -
2.3 静态建模............................................................................................................ - 13 -
2.3.1定义系统对象......................................................................................... - 14 -
2.4动态行为建模..................................................................................................... - 14 -
2.4.1时序图分析............................................................................................. - 15 -
2.4.2状态图分析..............................................................................................- 17 -第三部分系统设计...................................................................................................... - 18 -
3.1 总体设计............................................................................................................ - 18 -
3.1.1 系统目标设计................................................................................................ - 18 -
3.1.2系统功能设计......................................................................................... - 19 -
3.2系统功能模块设计............................................................................................. - 19 -
3.3.1概念结构设计......................................................................................... - 19 -
3.3.2逻辑结构设计......................................................................................... - 21 -
3.3.3物理结构设计......................................................................................... - 22 -
3.5主要模块运行..................................................................................................... - 23 -
3.6.1系统测试方法及步骤...................................................................................... - 27 -
3.6.2测试用例......................................................................................................... - 28 -
目录.....................................................................................................................................- 0 -第二部分需求分析...................................................................................................... - 10 -
2.1 功能需求分析.................................................................................................... - 10 -
2.1.1 系统功能模块分析................................................................................ - 11 -
2.1.2 识别参与者............................................................................................ - 11 -
2.1.3 用例图分析............................................................................................ - 12 -
2.2 非功能性需求分析............................................................................................ - 13 -
2.3 静态建模............................................................................................................ - 13 -
2.3.1定义系统对象......................................................................................... - 14 -
2.4动态行为建模..................................................................................................... - 14 -
2.4.1时序图分析............................................................................................. - 15 -
2.4.2状态图分析..............................................................................................- 17 -第三部分系统设计...................................................................................................... - 18 -
3.1 总体设计............................................................................................................ - 18 -
3.1.1 系统目标设计................................................................................................ - 18 -
3.1.2系统功能设计......................................................................................... - 19 -
3.2系统功能模块设计............................................................................................. - 19 -
3.3.1概念结构设计......................................................................................... - 19 -
3.3.2逻辑结构设计......................................................................................... - 21 -
3.3.3物理结构设计......................................................................................... - 22 -
3.5主要模块运行..................................................................................................... - 23 -
3.6.1系统测试方法及步骤...................................................................................... - 27 -
3.6.2测试用例......................................................................................................... - 28 -
第一部分可行性研究分析
1.1 引言
1.1.1 目的
图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。为此,我们设计图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校服务。
从以前的手工管理的记录中我们可以发现这样的问题:
1.检索速度慢、效率低
因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难,往往是终于查到了书的信息,但馆中没有此书或已被别人借走。图书馆的规模越大,这个问题就越突出。
2.借书、还书工作量大
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现差错。
3.图书统计工作难,藏书更新不能及时完成
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
1.1.2 背景
A 开发软件系统的名称是:图书馆管理系统
B 开发本项目的提出者:刘老师
开发者:秦靖、黄孝强、曾猛、席菱、孙玉波
用户及实现该软件的计算机中心:宿舍局域网及机房
1.1.3 参考资料
1、《中华人民共和国著作权法》、《计算机保护条例》
2、参考文献
[1]. 张海藩. 软件工程导论(第五版). 北京:清华大学出版社,2008.2
[2]. 张荣梅,梁晓林,赵宝琴. Visual C++实用教程. 北京:中国铁道出版社,2008.9
3.、网络资源
1.2 可行性研究的前提
1.2.1软件的基本要求:
1.功能:可分为查询、用户管理、书籍管理三大部分,具体功能如下:
图1-1功能模块
图1-2数据库流程图2.性能:能运行良好。
3.数据库流程图(如图1-2所示)。
4.在安全与保密方面的要求:用户管理员密码不可见,数据库实行加密。
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++实用教程》《软件工程导论》等以及网络资源;
7.系统投入的最晚时间:半年到一年;
1.2.4 进行可行性投资研究的方法
通过调查分析开发图书馆管理所具备的能力及实践方法,确定总体结构,利用ODBC及Microsoft Office Access所具有的能力,以最简洁最容易的方法用C++编写使其成为一个初级的系统软件。
1.2.5 评价尺度
各项功能是否在要求时间内完成。
1.3 对现有系统的分析
1.3.1处理流程和数据流程
传统的图书馆管理系统的操作流程相当繁琐,在借阅读书时首先要将图书证和所借的书交给图书管理员,图书管理员然后将每本书的信息卡片和读者的信证放在一起,最后再将每本书的借阅卡片和读者阅览证填写借阅信息,在归还时找到相应的借阅卡和借阅证并填写归还信息。
图1-3图书数据功能模块
1.3.2 工作负荷
处理较慢,人工操作较为繁琐。
1.3.3 费用开支
维护费用较大,人力消耗大,设备使用率低,占用空间,实现功能少。1.3.4 人员
因原有的系统技术含量较低,故不需要多少高技术人员,今后由于数据量的扩大,人员数量也会日益扩大。
1.3.5 设备
设备含量也较低,没有达到大量普及计算机的程度。
1.3.6 局限性
经过严谨的分析,可知原来的系统有很大的局限性,如技术比较陈旧,人员工作负荷量大,系统维护费用支出大,这些都明确需要一个高科技系统。
1.4 所建议的系统
1.4.1 对建议系统的说明
新系统在原有系统上加入了数据库支持:使用先进的数据库技术和数据库管理技术,使数据的安全性和正确性得到很大的提高,且在用户的并行操作和用户的管理方面也有了很大的改善。
1.4.2 处理流程和数据流程
读者通过自己的注册账户和密码,可以登录到本系统,进行的操作可以是借阅、续借、归还,管理员可以接受到读者的信息,并能管理图书将图书分类,并能查到读书的借阅情况。
1.4.3 改进之处
1.减少人力和设备费用,从前需要较多的人员处理图书的借阅,操作繁琐,时间较长,现在使用计算机操作,大大提高效率。
2.借书的处理速度:以前一人借书等待的时间大大缩短;
3.减少操作出错:以前人工手写信息会出现各种错误,现在计算机扫描几乎不会出错了;
4.提高人员利用率,以前图书管理员所有一人在场场面混乱,会提高出错的几率,现在一个管理员也不会手忙脚乱。
1.4.4 影响
预期将带来的影响:包括对图书管理员需要一定的培训,让他们迅速了解软件的使用,还要购买相应的计算机服务器以及进行数据库的录入。
1.对设备的影响
现有的一些非电子操作的物理设备要跟换为计算机操作的环境。
2.对软件的影响
因建议系统在原有的基础上采用先进的技术和高科技技术,将原来的软件无法使用,所以系统也会考虑到软件的兼容性。
3. 对用户单位机构的影响
建议系统建立在原有的系统基础上,所以不用考虑人员培训问题。
4.对系统运行过程的影响
1)用户的操作规程:与原来系统规程无异;
2)运行中心的操作规程:与原系统操作规程无异;
3)运行中心与用户之间的关系运行中心培训用户使用;
4)原数据的处理:封装处理;
5. 对开发的影响
1)为了支持所建议系统的开发,用户需要进行密切配合,阐述要求;
2)要求的数据资源:原数据库;
3)为了开发和检测所建议系统而需要的计算机资源:一台微机;
4)无保密与安全问题;
6.对地点和设施的影响
需要一些良好的设备和图书管理操作
7. 对经费开支的影响
1)系统开放的人力开支
2)硬件设备,书籍材料
3)开发工具,环境费用
4)不可预见费用
1.4.5 局限性
鉴定建议系统尚没有高端技术支持,故无法普及所开发的建议系统。
1.4.6 技术方面的可行性
本系统基于局域网、windows操作系统,现有技术比较成熟,所以这个在限制内完成开发,并且能实现系统功能目标,开发人群、质量也能满足。
1.5 投资收益分析
零投资,投入使用时既可获得一定收益。
1.6 社会因素方面的可行性
1.6.1 法律方面的可行性
本项目为独立开发,没有使用现成的软件和方法,法律上不会造成侵犯,完全可以按照同规定的责任履行。
1.6.2 使用方面的可行性
用户单位的行政管理,工作制度等方面来看,可以使用该软件系统,从用户单位的工作人员素质上来看,能满足使用该软件的要求。
1.7 结论
经过一系列各方面可行性的分析,分析员、用户以及其负责人对解决的问题有一致的看法,如能审批则可以运行。
第二部分需求分析
2.1 功能需求分析
对图书管理系统的域描述如下:
在图书管理系统中,要为每一个借阅者建立一个账户,并发放借阅卡(此卡可以提供借阅卡号、借阅者名)给借阅者,其中账户中存储借阅者的个人信息、借阅信息。持有借阅卡的的借阅者可以借阅书籍、返还书籍、查询书籍信息,所有这些操作都是通过图书管理员进行的,也就是说,借阅者不直接与系统交互,而是让图书管理员充当借阅者的代理与系统交互。借阅书刊时,需要输入所借阅的书刊名、书刊的ISBN/ISSN号,然后输入借阅者的借阅卡号(学生学号、教师职工号)和借阅者名,完成后提交所填表格,系统验证借阅者是否有效(在系统中是否存在账户),若有效,借阅请求被接受,系统查询数据库系统,看借阅者要求借阅的书看是否存在,若存在,则借阅者可以借出书刊,并在系统中建立存储借阅记录。借阅者还书后,删除关于所还书刊的借阅记录。另外,为了简化系统,暂时不考虑书籍的丢失和预定情况。
对上述图书管理系统的域描述进行分析,可以获得如下的功能性需求:
1.借阅者持有借阅卡(借阅卡包含借阅者名和借阅卡号);
2.图书管理员代理借阅者借书;
3.图书管理员代理借阅者还书;
4.图书管理员可以创建新的借阅者账户;
5.图书管理员可以修改借阅者的账户信息;
6.图书管理员可以删除已存在的借阅者账户;
7.图书管理员可以添加新书籍种类;
8.图书管理员可以修改书籍种类信息;
9.图书管理员可以删除系统中的书籍种类;
10.图书管理员可以在系统中添加书目信息;
11.图书管理员可以编辑书目信息;
12.图书管理员可以删除书目信息。
注:“书籍种类”和“书目信息”是两个不同的概念“书籍种类”代表了书籍的种类,它不仅包括书刊名,还包括ISBN/ISSN号等信息,他出现在书籍目录中;“书目信息”则指书籍的信息,即图书信息。此外,第一部分提到的用户含借阅者和管理员,但侧重指借阅者。
2.1.1 系统功能模块分析
根据开发者和客户的需求分析后,可以把系统功能分为三个大的功能模块:
1.查询模块
包括:借阅者查询和管理员查询。
2.用户管理模块
包括:增加及删除用户信息以及修改用户信息。
3.书籍管理模块
包括:增加及删除书目信息以及修改书目信息。
2.1.2 识别参与者
通过对系统需求的分析,可以确定系统中有两个参与者,即借阅者和管理员。
1.借阅者
描述:借阅者可以借阅、归还书籍。
示例:持有借阅卡的任何人或组织。
2.管理员
描述:管理员维护系统,他可以增加、修改、删除借阅者的信息;可以增加、修改、删除书目信息,即维护书目目录。
示例:管理员。
2.1.3 用例图分析
在上面,已经识别出了系统的两位参与者,经过对需求的进一步分析,可以确定系统中有如下用例存在。
1.借阅书籍
本用例提供了借阅书籍的功能。
2.返还书籍
本用例提供了返还书籍的功能。
3.用户管理
本用例提供了增加、修改以及删除用户信息的功能。
4.书籍管理
本用例提供了增加、修改以及删除书目信息的功能。
用StarUML软件制作出的用例图,如下所示:
图2-1 图书管理系统用例图
2.2 非功能性需求分析
非功能性需求是从各个角度对系统的约束和限制,反映了应用系统对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性等。下面是关于该图书管理系统的非功能性需求:
1. 系统在短时间内相应所有的用户请求;
2. 系统应该每周7天、每天24小时都可以使用;
3. 对于一个没有经验的用户而言,经过短期的培训就可以使用系统的所有
功能,稍加练习,便可熟练操作了;
4. 系统运行时占用内存空间为低;
5. 当系统发生故障时,只需重启便可以重新使用,在重启后,数据可以自
动恢复,不会受到破坏。
2.3 静态建模
进一步分析系统需求,发现类以及类之间的联系,确定它们的静态结构和动态行为,是面向对象分析的基本任务。系统的静态结构模型主要用类图来描述的。
2.3.1定义系统对象
通过对系统进行需求分析后,就可以识别出在该系统中存在的对象。从前述的系统需求描述中可以找到以下对象类:借阅者、书籍、管理员。
2.3.2 类图分析
抽象出系统中的类后,确定并细化这些类的属性及操作,建立每个类的图形,通过这些图形对每一个类的属性和操作进行说明,如下图所示:
图2-2 图书管理系统类图
借阅者包含学生和教师。学生的属性有学号、姓名和单位,教师的属性有职工号、姓名和单位。借阅者可以借书、还书和查询。
1)书籍包含很多种类,这里大致分为理工和文史类。书籍的属性有书号、书名、作者、类型和价格。书籍是整个系统的主要部分,借阅者可以借阅及归还图书(学生可以借1-5本,教师可以借1-10本,这里用1...n表示借阅书籍数),管理员则管理书籍、维护书籍信息。
2)管理员(可以有多个管理员,这里用m表示管理员个数)的属性主要是登录系统的用户名及密码。管理员的作用是书籍管理和用户管理,即增加、删除和修改信息。
2.4动态行为建模
系统的动态行为模型可以有交互作用图(时序图和通讯图)、状态图、活动图来描述。本设计选用时序图描述用例的主要场景,用状态图描述对象的动态行为。
2.4.1时序图分析
描述系统用例的主要场景的时序图如下所示:
图2-3 借书时序图
管理员每天工作时先登录系统,再进行挂机等待借阅者操作。借阅者借书时,先出示借阅卡。管理员扫描借阅卡,验证借阅者身份,系统读取相应信息并显示借阅者信息。此后,管理员扫描借阅者要借阅的书籍,增加书目信息。系统对应显示书目信息后,借阅书籍成功,书籍借出。借阅者续借时,步骤一直,故省略续借时的情况。
逾期处理是还书时的扩展动作,因此在这里一起考虑。还书时扫描图书,若显示正常,则管理员只需修改删除相应书目信息,在系统显示书目信息后还书成功。若显示图书逾期,则管理员需按照处罚条例给以一定的罚款处理。等借阅者交纳罚金后,修改删除相应书目信息,在系统显示书目信息后还书成功。(图2-4、2-5所示)
图2-4 还书时序图
图2-5 逾期处理时序图
2.4.2状态图分析
描述系统用例的状态图如下所示:
图2-6 图书馆管理系统的状态图
登录系统后显示系统界面,借阅者可以进入查询界面直接进行信息查询。管理员输入用户名和密码后进入管理员界面,此后管理员可以进行查询、书籍管理和用户管理三个功能操作。当借阅者借书时,管理员验证借阅者信息后系统显示借阅者信息,而后添加书目信息,借阅者借书成功。还书时管理员扫描图书,若未逾期则显示正常和相应的更新书目信息后还书成功;若逾期则做出罚款处理后修改书目信息,待系统显示更新的书目信息后还书成功。