软件工程课程设计实验报告图书馆管理系统.docx
《软件工程课程设计实验报告图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计实验报告图书馆管理系统.docx(36页珍藏版)》请在冰豆网上搜索。
软件工程课程设计实验报告图书馆管理系统
绪论
随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要,我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展图书馆信息化建设迈向了一个新台阶。
大三上学期我们的软件工程课程设计要求应用软件工程的方法对我们的项目进行详细的需求分析、概要设计、详细设计以及进行必要的测试,旨在让程序能够实现读者管理功能、采编管理功能、流通管理功能、统计管理功能和查询管理功能。
在此基础上让程序能够实现图书管理的自动化,帮助广大师生更好的管理和使用图书,提高图书在信息时代的作用。
为使图书管理工作科学化、规范化,就必须采用计算机辅助管理,从而减少人力的投入,由系统对入库图书进行自动分类、归类,学生信息整理、借阅情况登记入档,提高信息处理的精度和准确度。
运用所学习的软件工程的知识,实现图书馆的管理系统,需要小组的共同协助,大家一起的努力。
第1章可行性分析
§1.1项目的要求、目标和环境
小组实施软件工程项目,最终希望得到项目的成功。
达到以下几个主要的目标:
付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用。
这是我这个项目的最终的目的。
§1.1.1项目的要求
最终要设计的系统应该能够实现以下要求:
读者管理功能、采编管理功能、流通管理功能、统计管理功能和查询管理功能这也是最主要的几个大模块。
§1.1.2项目的目的
本设计目的在于实现图书管理管理系统,能够帮助广大师生更好的管理图书,减少人工的繁琐工作。
§1.1.3项目的环境
运行环境:
装有WindowsXP、Windows7操作系统的微型计算机
开发软件:
MicrosoftWord、PowerDesigner15、MicrosoftVisio、MyEclipse等
§1.2可行性分析
从我们学过的知识中我们可以知道只要资源和时间不加以限制,所有项目都是可行的,然而,由于资源缺乏和交付时间限制的困扰,使得基于计算机系统的开发变得比较困难,因此,尽早对软件Software项目的可行性做出细致而谨慎的评估是十分必要的,如果在定义阶段及早发现将来可能在开发过程中遇到的问题,及早做出决定,可以避免大量的人力、财力、时间上的浪费,可行性和风险分析是密切相关的,如果项目的风险很大,就会降低产生高质量软件Software的可行性。
下面分别从管理可行性、技术可行性以及经济可行性三方面进行可行性分析。
§1.2.1社会可行性分析
我们的系统是通过对目前学校的具体情况进行考察分析后我们开始设计的,能够对目前大多数图书馆的许多基本情况进行管理,使得管理员能够方便管理图书,借阅者能够方便借阅图书。
所以做一个图书管理系统是可行的,是有可行性的。
§1.2.2技术可行性分析
对待开发系统进行功能、性能和限制条件分析,确定在现有资源条件下技术风险有多大,系统是否能实现。
这里资源包括已有或可以搞到硬件、软件Software资源、现有技术人员技术水平和已有工作基础。
我们的系统目前针对大多数图书管理系统,使用者是针对图书馆的管理员的。
因而在实施过程中需求及难度都不会太大,我们可以很容易的做到。
§1.2.3经济可行性分析
我们已经知道经济可行性分析是进行开发成本的估算及对可能取得效益的评估,确定待开发系统是否值得投资开发。
本系统的实施主要考虑到设备费用,软件开发费用,人工费用,系统投入运行后的经常费用等。
其中,设备费用是指实现整个图书管理所需的硬件设备费用,主要包括了主机费用及网络费用。
由于本系统对主机及网络的要求不高,因而费用将不会需要太多。
软件开发费用是指开发图书管理系统过程中所耗费的费用。
主要包括软件需求分析调研过程中,系统分析设计中,后期系统运行测试过程中等耗费。
本系统主要是针对图书管理过程中的图书和读者的管理,内容及规模都不大。
耗费也随之减少。
人工费用主要是指管理人员培训费用。
整个系统牵涉到的业务流程中的角色都需要经过新的培训,但系统操作可视化,主要管理流程简单易懂,对图书管理员来说容易上手
所以说我们可以看出来,实际实现中,经济开支不会很大,经济是可行的。
第2章需求分析
§2.1引言
§2.1.1编写的目的
需求的编写是为了研究图书管理系统软件的开发途径和应用方法。
同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。
本需求的预期读者是与图书管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。
§2.1.2背景
a.图书管理系统
b.开发者:
彭佑猛
c.用户:
学校及企业单位的图书馆
§2.2任务概述
§2.2.1目标
建立的图书管理系统,要把图书馆的图书管理、读者管理、图书借阅管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
2.2用户的特点
本软件适用于教育界,对图书馆的书籍,读者资料,借还书等可以进行方便的管理。
技术约束:
本项目的设计是在JavaWeb程序设计语言的条件下进行的,技术设计采用软硬一体化的设计方法。
§2.3.需求规定
§2.3.1对功能的规定
用列表的方式,逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎么样的处理、得到什么输出,说明系统的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。
§2.3.2对性能的规定
1.精度
在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。
如:
根据关键字精度的不同,查找可分为精确查找和泛型查找,精确查找可精确匹配读者已知道的书目,泛型查找,只要满足与输入的关键字相匹配的书目即输出,可供读者查找。
2.时间特性要求
在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。
3.灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
§2.3.3输入输出要求
查询书目:
输入关键字为书名,作者,索引号,按照精确匹配为主,再索引关联字。
输出时列出索引到的所有书目信息,具体信息包括内容摘要、目录号、作者信息、书名、价格、流水号、购买日期等。
方便读者查找。
借阅图书:
通过设备识别图书和读者(借阅证)的流水号(条形码),向数据库传送信息,然后在数据库索引图书信息和读者信息是否符合要求,符合要求待图书管理员确认后再更新相关数据,并将这些数据存入借书文件,最后输出显示存储成功;否则报错。
查看读者的借阅信息:
进入读者借书信息管理系统,只需要输入读者个人信息即可,然后系统根据输入的信息,送图书馆管理系统索引查找相关信息,最后将读者借书的信息输出显示。
§2.3.4数据管理能力要求(针对软件系统)
定时整理数据:
系统管理员根据市场图书行情定时整理系统数据库,对图书的借阅情况、读者的管理情况、书库的增减等均可有计算机执行,并将运行结果归档。
查询库存量:
能随时查询书库中图书的库存量,以便准确、及时、方便地为读者提供借阅信息,但不能修改数据,无信息处理权,即可以打印清单、浏览数据等,管理权限由系统管理员掌握和分配。
§2.3.5故障处理要求
a.内部故障处理
在开发阶段可以随即修改数据库里的相应内容。
b.外部故障处理
对编辑的程序进行重装载时,第一次装载认为错,修改。
第二次运行,在需求调用时出错,有错误提示,重试。
c.本软件可能产生的错误为数据库的错误信息,应由数据库管理员对数据库进行维护。
为了确保系统恢复的能力,数据库管理员要定期对数据库进行备份。
§2.4.运行环境规定
§2.4.1设备
硬件、外部设备
运行本软件所要求的硬设备的最小配置:
a. 奔腾4代、内存256M;
b. I/O设备:
显示器、鼠标、键盘;
§2.4.2支持软件
a.操作系统:
Windows/98及以上版本
b.支撑框架:
JavaWeb
c.数据库:
MicrosoftSQLServer。
§2.4.3控制
本软件是以中文版WindowsXP及其以上版本的操作系统来控制软件运行。
第3章项目开发计划
§3.1引言
小组实施软件工程项目,最终希望得到项目的成功。
达到以下几个主要的目标:
付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用。
这是我们这个项目的最终的目的。
§3.1.1编写目的
次项目开发计划的编写主要是为了给开发《图书管理系统》做主要的规划和整合,在开发过程中起到引导作用,并能给验收者和使用者提供简要的说明。
§3.1.2背景
说明:
a.实习内容:
图书管理系统
b.项目开发组成人员:
彭佑猛
c.用户:
学校及企业单位的图书馆
§3.1.3定义
专业术语:
MicrosoftSQLServer
Jsp
§3.1.4参考资料
a.《软件工程》 主编:
张海潘、倪宁
3.2项目概述
§3.2.1工作内容
在一周内要为图书馆建立一个图书管理系统,完成文档的编写,软件的开发,数据库建立,测试及试运行,并且完成图书借阅内的计算机网络建设,使图书馆系统能正常运行。
该系统能为用户提供图书分类管理,图书管理,读者管理,借阅管理,信息查询。
§3.2.2产品
程序
JSP程序包和SQL Server数据库
文件
·项目开发计划
·需求规格说明书
·概要设计说明书
·详细设计说明书
·测试计划书
·主要代码清单
服务
培训安装、维护和运行,支持从使用系统开始,维护期限为1年
§3.2.3验收标准
各个功能均能正常运行使用。
§3.2.4完成项目的最迟期限
完成项目最迟期限:
2014/2/28
§3.2.5本计划的批准者和批准日期
批准者:
张长伦
批准时间:
2014/2/23
§3.3实施计划
§3.3.1工作任务的分解与人员分工
(1)需求分析 任务:
a.需求规约 彭佑猛
b.项目开发计划书 彭佑猛
(2)设计 任务:
a.文档编写彭佑猛
b.各模型映射 彭佑猛
c.测试规约 彭佑猛
(3)实现 任务:
a.数据库建立 彭佑猛
b.程序编码 彭佑猛
c.测试 彭佑猛
§3.3.2预算
参与编写人员:
1个人
预期完成需时:
5天
§3.3.3关键问题
1.关键技术
1.JSP与数据库的连接;
2.三成架构的建立;
3.数据库的建立。
2.风险
(1)需求变更风险
需求变更是软件项目经常发生的事情。
一个看似很有“钱途”的软件项目,往往由于无限度的需求变更而让项目承建方苦不堪言,甚至最终亏损(实际上项目建设方也面临巨大的风险)。
(2)沟通不良风险
项目组与项目各干系方沟通不良是影响项目顺利进展的一个非常重要的因素。
(3)进度风险
有些项目对进度要求非常苛刻(进度要求不高的项目,我们同样要考虑该风险),项目进度的延迟意味着违约或市场机会的错失。
(4)质量风险
有些项目,用户对软件质量有很高的要求,如果项目组成员同类型项目的开发经验不足,则需要密切关注项目的质量风险。
(5)系统性能风险
有些软件项目属于多用户并发的应用系统,系统对性能要求很高,这时项目组就需要关注项目的性能风险。
(6)工具风险
软件项目开发和实施过程,所必须用到的管理工具、开发工具、测试工具等是否能及时到位、到位的工具版本是否符合项目要求等,是项目组需要考虑的风险因素。
(7)技术风险
在软件项目开发和建设的过程中,战略管理技术因素是一个非常重要的因素。
项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况而选用一些虽然先进但并非项目所必须且自己又不熟悉的技术。
如果项目所要求的技术项目成员不具备或掌握不够,则需要重点关注该风险因素。
(8)团队成员能力和素质风险
团队成员的能力(包括业务能力和技术能力)和素质,对项目的进展、项目的质量具有很大的影响,项目经理在项目的建设过程需要实时关注该因素。
(9)团队成员协作风险
团队成员是否能齐心协力为项目的共同目标服务,生产管理是影响进度和质量的关键因素。
3.解决方案:
1.强调团队支持
2.给予项目组长相应的权利
3.改进问题的处理和沟通
4.避免使用纯项目式组织结构
5.增加项目检测的频率
6.为项目团队建立清晰的项目目标
7.选择有经验的项目组长
§3.4支持条件
§3.4.1计算机系统支持
计算机:
处理器p42.0DHz以上,内存1G以上
开发工具:
VisualBasic
操作系统:
WindowsXP/Win7
数据库管理系统:
MicrosoftSQLServer
§3.4.2需由用户承担的工作
需由学校承担的工作:
学校录入图书、租借以及读者信息
需由学生承担的工作:
学生需提供自己的个人信息,如:
所在学校班级、年龄等。
§3.4.3由外单位提供的条件
需要学校提供学校图书信息,师生个人信息。
第4章项目设计
§4.1面向对象分析(OOA)
§4.1.1用例描述及用例图
图书管理系统涉及读者信息管理、借阅信息管理、图书信息管理等多方面的信息管理,系统的使用对象为图书管理员和读者。
他们在使用系统时,各拥有不同的权限,以完成各自需要的工作。
下面对图书管理系统中主要的业务流程进行简要分析:
在图书管理系统中,图书管理员要为每个读者建立借阅账户,记录读者的个人信息和图书借阅信息。
读者个人账户建立成功后,给读者发借阅卡,可以通过图书管理员借阅、归还图书,也可以通过相应的终端查询个人的借阅信息,检索图书。
读者借阅图书时,先输入借阅证卡号、密码,验证借阅证的有效性及是否可续借,无效则向读者提示原因,如“卡号不对”、“密码不对”、“已借满,不能再借”等;有效则显示读者的基本信息,例如读者的个人资料、已经借阅的图书信息等;读者通过图书管理员向系统提出借阅请求,管理员操作管理终端,登记读者新借阅图书的相关信息。
相应地,读者归还图书时,也需验证借阅卡号、密码等信息,验证借阅证的有效性,若不对,系统给出相关的提示;通过系统验证后,显示读者基本信息及图书借阅信息;读者向图书管理员递交归还的图书,管理员验证无误后,删除读者该书的借阅信息;若读者超期归还,则先向管理员递交图书滞纳费用,归还图书;
另外,图书馆图书资料变更,如新购进图书或图书被损毁不能再使用时,图书管理员要相应的将图书信息入库或注销;同理,若有新增读者帐号或需要注销读者帐号的,图书管理员应通过系统管理终端进行记录。
综上所述,一个典型的图书管理系统应包含图书信息管理、借阅信息管理、读者信息管理三部分数据管理,其中图书管理员可实现如下操作:
(1)增加、删除图书;
(2)增加、删除读者;
(3)借出、归还图书记录;
(4)查询读者信息、图书信息;
普通读者可以实现如下操作:
(1)修改个人信息(如登陆密码,或其他个人信息等)
(2)查询个人借阅信息和检索图书;
如下图4-1-1示,简要的表达了上述图书管理系统的基本功能。
4-1-1用例图
§4.1.2活动图
2-1书籍预定
2-2借书过程
2-3还书活动图
2-4书籍状态活动图
§4.1.3顺序图
顺序图在分析或者设计过程中都可以使用,每个用例至少需要做一个顺序图。
其优点如下:
1.是验证用例逻辑及使用逻辑清晰的好方法
2.根须用例规约描述,推测用例的可能实现过程。
3.发现系统瓶颈的一种很好的机制。
4.检验分析模型,确认是否缺少一些类。
在此,我们对借书、还书、超期罚款三个用例做顺序图如下:
3-1借书顺序图
3-2还书顺序图
3-3罚款顺序图(还书时有书籍超期)
§4.2面向对象设计(OOD)
§4.2.1系统框架图(三层架构)
系统总体采用三层架构:
DAL数据访问层、BLL业务逻辑层、Web视图层。
§4.2.2页面导航图
网站页面导航图,体现了页面之间的跳转关系。
箭头指向方向为下一页。
4-2-3页面导航图
第5章测试
§5.1、引言:
§5.1.1编写目的
1.测试目的:
通过测试验证图书管理系统各项功能的可用性,实用性及其中是否有缺陷或是错误,使其达到设计指标。
2.测试环境
Windows7操作系统
3.测试方法:
使用以用户文档为基础构造的测试用例来测试程序和数据。
§5.1.2背景
说明:
a被测试软件系统的名称:
图书管理系统
b图书管理系统是针对学校图书馆管理员更好地管理图书,读者借阅读书的系统软件,主要实现管理员对系统信息的添加,修改,删除,包括读者和图书的信息,读者对图书的查询,借阅和归还等。
§5.1.3定义
系统就是指图书管理系统。
§5.2.测试计划
§5.2.1系统说明
功能模块:
读者管理、采编管理、流通管理、统计管理、查询管理。
读者管理功能主要是读者基本信息;
采编管理功能包括图书基本信息和图书注销信息;
流通管理功能包括借书管理、还书管理、图书预约和图书状态管理;
统计管理功能包括各类书籍的馆藏统计和已出借书籍统计和为出借书籍统计;
查询管理功能包括读者信息查询和图书信息查询等。
§5.2.2测试策略
测试策略包括用户界面测试、软件功能测试、软件可靠性测试。
用户界面测试:
通过和用户交互如输入相应信息(包括正确信息和错误信息)来测试输出信息的正确性。
软件功能测试:
对照用户需求来测试本系统的功能是否完全符合用户需求。
软件可靠性测试:
通过模拟图书馆的实际功能在不同的配置环境下来对本系统进行功能可靠性测试,查看是否能够正常完成图书馆管理系统的各项功能。
1)用户界面
序号
测试内容
测试方法
预期测试结果
备注
1
界面输入
在软件的测试运行中检查界面输入是否正常。
光标可以正确定位到输入域,输入数据有效,输入顺序合理。
2
界面显示
在软件的测试运行中检查界面显示是否正常。
在1024*768分辨率下,界面显示正常。
3
界面文字与提示
在软件的测试运行中检查界面文字与提示的表达是否清晰,有无错误和模糊语义。
界面文字与提示表达清晰,无错误和模糊语义。
2)软件功能测试
1
管理读者,图书信息
通过以管理员身份登入系统,进行对读者,图书信息进行添加,修改,删除操作。
可以正确对相应的数据库表进行添加,修改,删除图书,读者信息。
删除功能没有实现,添加读者信息时没有同时注册读者帐号。
2
查询图书信息
通过以读者身份登入系统,进行对图书信息的查询。
通过输入图书名字,进行对相应图书的查询,显示图书信息。
3
查询个人信息
读者登入系统后查询个人信息,显示自己的读者信息。
显示当前读者的读者的读者编号,读者姓名,读者性别,联系方式,已借书数。
4
图书借阅与归还
通过以读者身份登入系统,对可以借的图书借阅,归还自己已借的图书。
借阅查询到的图书,并能及时更改图书状态。
显示自己当前已经借阅的图书的信息,归还其中某书,并能及时更新信息。
3)软件安全可靠性
序号
测试内容
测试方法
预期测试结果
备注
1
软件容错性
在软件的测试运行中进行判定。
软件发现错误时,有错误提示,可以回复到正常状态。
对关键输入数据的有效性检查比较完备。
系统容错性还不完备。
3
运行稳定性
在软件的测试运行中进行判定。
没有发生由于软件错误而导致的系统崩溃和丢失数据现象。
系统在单击有些窗口的叉号时会出现崩溃。
§5.2.3测试方案
对本系统进行功能测试,检查系统功能是否满足用户的需求;对系统的处理进行测试,检查是否处理的符合要求;对界面进行测试,检查系统与用户的交互信息是否能检查错误。
(1)采用黑盒测试测试方法。
对软件结构的上层模块使用自顶向下推进的方法;对下层模块或关键模块使用自底向上结合的方法,对关键模块的测试采用同值分割的方法。
(2)采用白盒测试。
基本路径测试是在程序流程图的基础上,通过分析由控制构造的环路复杂性,导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次。
§5.3、测试过程
§5.3.1黑盒测试
采用黑盒测试方法,整个过程采用自底向上,逐个集成的的办法,依次进行单元测试,组装测试,测试用例的设计应包括合理的和不合理的输入条件。
1)测试项目名称及测试内容
测试1:
名称:
借书测试。
目的:
测试借书功能。
内容:
括读者证号输入、合理性检查、合法性检查,借书对话显示控制,图书书号提交、合理性检查、合法性检查,借书登记。
测试2:
名称:
还书测试。
目的:
测试还书功能。
内容:
还书对话框显示控制,图书书号提交、合理性检查、合法性检查,还书登记。
测试3:
名称:
图书库管理测试。
目的:
测试图书库操作功能。
内容:
图书库管理界面显示控制,图书库浏览,增加图书记录,删除图书记录,编辑图书记录。
2)测试用例
用例1:
借书测试
表5-1借书功能的测试用例表
输入
输出
借阅者学号(已存)
图书书号(已存)
已借书数目(未超量)
显示借阅成功
借阅者学号(已存)
图书书号(已存)
已借书数目(超量)
显示提示“超量”
借阅者学号(未存)
图书书号(已存)
显示提示“没有该借阅者”
借阅者学号(已存)
图书书号(未存)
显示提示“没有该书”
步骤及操作:
驱动模块调用之后,看库是否已经关闭,并打开图书信息库直接察看结果
允许偏差:
不允许任何偏差
条件:
借书信息表
用例2:
还书测试
表5-2还书功能的测试用例表
输入
输出
图书书号(已存并没借出)
显示还书成功
图书书号(已存并借出)
提示书以借出
图书书号(未存)
显示还书不成功
步骤及操作:
驱动模块调用之后,看库是否已经关闭,并打开图书信息库直接察看结果
允许偏差:
不允许任何偏差
条件:
借书信息表
用例3:
图书库管理测试
表5-3图书采编管理功能的测试用例表
输入
输出
添加图书(未存)
显示添加成功
添加图书(已存)
提示该书已存
删除图书书号(已存并未借出)
显示删除成功
删除图书书号(已存并借出)
提示该书以借出,不能删除
修改图书(未存)
提示该书不存在
修改图书(已存)
显示修改成功
步骤及操作:
驱动模块调用之后,看库是否已经关闭,并打开图书信息库直接察看结果
允许偏差:
不允许任何偏差
条件:
图书信息表
§5.4测试结果
§5.4.1能力
图书管理系统实现了管理员对读者及图书信息的管理,其中包括对信息的添加,修改和删除;实现了读者对图书信息的查询及借阅归还等功能及对个人信息的查询的功能。
§5.4.2缺陷和限制
1)系统中预定功能还没有实现
2)对于多用户的并发性还没进行完整的测