《软件工程》
实验 告
题 目: 图书管理系统
学 期: 2021-2022第一学期
班 级: 21级软工专升本3班
姓 名: 张婷
学 : 202105930306
组 员: 吴玉萍
教 师: 刘凤华
2021年11月
目录
-
问题定义 1
1.1开发背景和意义 1
1.2问题定义 1
1.3开发环境 2 -
可行性分析 3
2.1任务概述 3
2.2系统可行性分析 3
2.2.1技术可行性 3
2.2.2经济可行性 4
2.2.3操作可行性 4
3.系统的需求分析 6
3.1图书管理系统的需求陈述 6
3.2系统业务功能分析 7
3.3图书管理系统的数据流图 7
3.4图书管理系统的数据子典 11
3.5非功能需求 17
3.5.1 性能需求 17
3.5.2安全性需求 18
3.5.3外部接口需求 18
4概要设计 19
4.1系统体系结构 19
4.2系统功能模块 19
4.2.1工作模块 20
4.2.2资料维护模块 20
4.2.3查询模块 20
4.2.4系统管理模块 20
4.3程序数据流图 21
4.3.1系统功能流程图 21
4.3.2图书管理系统的E-R图 21
4.3.3系统结构和模块外部设计 24
4.4功能分配 24
4.5接口设计 25
4.5.1用户接口 25
4.5.2外部接口 25
4.5.3内部接口 25
4.6运行控制 25
4.7数据结构设计 26
4.8系统出错处理设计 27
4.8.1出错信息处理 27
4.8.2补救措施 27
4.8.3系统维护设计 27
5详细设计 28
5.1系统的结构 28
5.2模块1 30
5.2.1模块1名称 30
5.2.2模块功能说明 31
5.2.3界面设计 31
5.2.4模块设计实现及流程说明 31
5.3模块2 33
5.3.1模块2名称 33
5.3.2模块功能说明 33
5.3.3界面设计 33
5.3.4模块设计实现及流程说明 35
5.4模块3 36
5.4.1模块3名称 36
5.4.2模块功能说明 36
5.4.3界面设计 37
5.4.4模块设计实现及流程说明 37
5.5模块4 38
5.5.1模块4名称 38
5.5.2模块功能说明 38
5.5.3界面设计 39
5.5.4模块设计实现及流程说明 39
6测试计划 42
6.1采用黑盒测试方法 42
6.2测试用例 43
7心得体会 44
附录 1 -
问题定义
1.1开发背景和意义
图书管理是高校内每一个系部或者院部都必须切实面对的工作,但目前仍有少部分院系仍在使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将会增加图书资料管理者的工作量和工作强度,这将会给图书资料信息的查找、更新和维护都带来了很多困难。
经过详细的调查,目前我国各类高等学校中仍有一小部分单位图书资料管理还停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然会被以计算机为基础的信息管理方法所取代。
图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。
1.2问题定义
在试用了一些图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:
1.图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。
2.图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。
3.数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。
4.数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。
这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。
1.3开发环境
开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:
开发工具:idea
开发环境: Windows系统
开发语言:Java
数据库管理系统: MySQL -
可行性分析
2.1任务概述
经过详细调查,并多次与老师进行研讨后,加深了对现行图书管理业务的深刻了解,与此同时,将整个图书管理的业务流程抽象描述如下:
1.新的图书购进后,分门别类地进行归并汇总,加以编 。
2.新书编 后,上到书架以备学生借阅。
3.如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。
4.学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。
2.2系统可行性分析
采用现代化统一的计算机信息 站系统,能够有效优化图书馆管理系统,使其在高校发挥最大的作用,能够迅速的为读者提供相应的服务。开发本系统的可行性如下:
2.2.1技术可行性
开发工具支持:目前所有主要的 络开发环境都支持Java语言的开发, 有不少专用的开发工具和插件还提供了可视化设计,这是非常方便的。
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用Java开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。Java有着自己独特的优势:语言简单、是一个面向对象、分布式应用并且安全、体系结构中立并且可移植,最重要它是一个动态语言。Java自1995年问世以来,因其卓越的通用性、高效性、平台可移植性和安全性等特性,成为全球范围内应用范围最广的开发语言,而且即使历经十余年发展仍然在行业内保持着“常青树”的地位。
硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。
本系统采用的技术均属当前流行的开发技术,具有技术成熟、效率高、稳定、安全等优点,并且自行配置的兼容性能优越,能够支持以上软件的运行。所以,本系统在技术上是完全可行的。
2.2.2经济可行性
本系统预计费用为31000元。
1.开发费用
开发本系统所需的费用为26000元。
本系统开发为三周,试运行一周,开发人员5人,试运行期需要测试人员2人,人员工资(按月结算):73000=21000元。
人员培训:5000元。
2.设备费用
本系统所需硬件设备费用为5000元。
(1)数据通讯设备(包括 线,电缆,路由器,插头):500元。
(2)应用的软件(包括数据管理软件)3000元。
(3)维护费用(每次100元,每年维修5次)5100=500元。
(4)软件系统升级费用:每年1000元。
3.不可预计的费用
(1)差旅费:1000。
(2)备用金:(额外支出应急费用):3000元。
4.费用总计
本系统预计所需的总费用为35000元。
根据成本/效益分析法,本系统所需的软硬件资源都已具备,该系统简单易懂,本系统具有成本相对较低、利益高的特点。鉴于计算机技术发展异常迅速,在硬件软件配置以及开发技术均可行的情况下,开发这样一个管理系统的成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将会有比较宽阔的市场,因此它在经济可行性上是可行的。
2.2.3操作可行性
本系统开发的开发宗旨是以便捷为中心。开发后的系统采用B/S模式开发,提供窗体界面,操作简单等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。系统管理员要求要有一定的计算机专业的知识,需要经过专业的培训,以便能够熟练的管理本系统,使其正常运行。
图 1-1 图书管理系统的基本系统模型
(2)顶层数据流图:
图 1-2 图书管理系统的顶层DFD图
(3)0层数据流图:
图1-3 图书管理系统的0层DFD图
(4)借阅图书的细化图:
图 1-4 对借阅图书的细化
(5)还书管理的细化图:
图 1-5 对归还图书的细化
(6)查询管理的细化图:
图 1-6 对查询的细化
(7)修改读者信息细化图:
图 1-7 对修改读者信息的细化
(8)修改管理员信息的细化图:
图 1-8 对修改管理员信息的细化
(9)修改图书信息的细化图:
数据项名:姓名
值:2~8位{汉字}
数据项名:班级
值:字符串
数据项名:系别
值:3~10位{汉字}
数据项名:图书编码
值:数字+字母
数据项名:图书名
值:字符串
数据项名:图书所在架
值:数字+字母
数据项名:图书出版
值:[4~10位{汉字}|4~20位{英文字母}]
数据项名:图书状态
值:[在馆|不在馆]
注释:说明图书状态
数据项名:登记时间
值:日期
注释:采用4-2-2格式
2.数据结构分析
名字:读者信息
组成:{图书借阅证 +姓名+班级+学 +系别+入学年份}
组织:按读者证 排序
注释:包括所有读者信息
3.数据流分析
数据流名:读者信息
组成:图书借阅证 +学
数据流名:读者信息
组成:图书借阅证 +姓名+班级+学 +系别+入学年份
数据流名:借还书信息
组成:图书条码 +图书代 +读者借阅证 +读者条码 +读者学 +借阅时间+到期时间
数据流名:图书查询条件
组成:[图书查询条件1|图书查询条件2]
数据流名:图书查询条件1
组成:[图书查询条件1|图书查询条件2]
注释:条件中的名称可以不是全称,即实现模糊查询。
4.加工分析
加工名:借书登记
编 :1.2
激发条件:读者借书
加工逻辑:
1.确认读者信息是否正确
2.如果正确读入读者基本信息,奖罚信息,读者借阅信息,判断是否超出读者的借阅能力和是否有处罚,如果超出借阅能力,则不能再借,或者有惩罚而没有处理,则不能再借。
3.如果可以借,将读者借的图书的信息添加到读者借阅信息表里,以记录读者的借阅情况。
频率:1次/本
加工名:还书登记
编 :2.2
激发条件:读者还书
加工逻辑:
1.确认图书信息是否正确
2.正确后,从读者借阅信息表中删除读者此图书。
频率:1次/本
加工名:简单的图书查询
编 :3.2
激发条件:收到图书查询条件
加工逻辑:
1.从图书基本信息表,检索符合要求的记录2.有,则显示符合条件的记录,无,则 错
加工名:图书信息添加
编 :4.2
激发条件:收到新到图书的数据
加工逻辑:
1.对图书编 分类,录入图书信息
2.判断图书基本信息表中是否已存在此书
3.若没有,则将新信息写入图书基本信息表中
频率:1次/本
加工名:图书信息删除
编 :4.3
激发条件:图书退役
加工逻辑:
1.从图书基本信息表中调出要删除图书的信息
2.确认无误后,从图书基本信息表中删除这些图书的信息
加工名:图书信息修改
编 :4.4
激发条件:收到修改数据
加工逻辑:
1.判断是否存在该图书的信息
2.若存在,将修改的信息写入图书基本信息表中
加工名:图书信息修改
编 :4.4
激发条件:收到修改数据
加工逻辑:
1.判断是否存在该图书的信息
2.若存在,将修改的信息写入图书基本信息表中
加工名:修改读者信息
编 :5.1
激发条件:管理员正确登陆
加工逻辑:
1.修改读者密码
2.将修改后的密码存入读者信息库文件中
加工名:读者信息添加
编 :5.2
激发条件:新生入学或添加读者
加工逻辑:
1.录入读者信息
2.添加到读者基本信息表中
加工名:读者信息删除
编 :5.3
激发条件:退学或毕业或该读者已不存在
加工逻辑:
1.从读者基本信息表中调出要删除读者的信息
2.确认无误后,从读者基本信息表中删除这些读者的信息
。
4概要设计
4.1系统体系结构
图书管理系统选择三层体系结构来实现。如图所示。系统由5个节点组成,应用服务器负责整个系统的运行总体协调工作数据库服务器负责数据库的管理。业务管理、查询管理以及维护管理分管各个模块的内容。
4.2系统功能模块
图书馆管理系统需要实现的功能主要有四大块“日常工作管理”、“基本资料维护”、“查询”、和“系统管理”模块。其中日常工作管理和基本资料维护是整个系统的核心。
(10)系统体系结构图:
图1-11系统功能流程图
4.3.2图书管理系统的E-R图
通过对图书馆管理系统的分析,可以得出该系统涉及三个实体:读者、图书管理员。通过对各实体数据关系的整理,我们可以画出如下E-R图:如图所示:
(12)实体之间的关系图:
图1-12 实体之间的关系E-R图
(13)读者实体图:
图 1-13 读者实体
(14)图书实体图:
图 1-14 图书实体
(15)图书管理员实体图:
图 1-15 图书管理员实体
4.3.3系统结构和模块外部设计
(16)系统结构图:
图 1-16系统结构图
4.4功能分配
各功能需求的实现同各块程序的分配关系:
4.5接口设计
4.5.1用户接口
采用窗口化,菜单式进行设计,在操作时响应热键。用户通过输入窗口输入登录名和密码进入各模块。
4.5.2外部接口
支持一般的笔记本电脑;本系统提供对条码扫描仪等的支持。通过JDBC对SQL Server数据库的连接。
4.5.3内部接口
1、通过面向对象语言设计类,在public类中实现调用;类间实现严格
2、系统管理模块为图书管理系统提供操作员和系统参数等基础数据。必须设置操作员后才能使用其他模块。
3、图书管理模块为图书统计模块,和图书查询模块提供基础数据。必须先有图书数据后,才能使用统计和查询模块。
4、图书管理模块和借书证办理模块为图书借阅模块提供基础数据。必须图书和读者后,才能使用借阅模块。
5、在借阅模块中可以使用查询模块,查询读者和图书的信息。
6、在图书证办理模块中可以使用查询模块,查询图书馆图书信息。
4.6运行控制
运行时间
检索任务所需时间:
执行任务所需时间:
4.7数据结构设计
图书信息表的结构
图书借阅登记表的结构
图书归还登记表的结构
用户信息表的结构
管理员信息表的结构
系统设置表的结构
4.8系统出错处理设计
4.8.1出错信息处理
根据不同的出错情况给出不同的出错信息,一般用对话框给出。
4.8.2补救措施
对一般错误,给用户提示信息,让用户重新输入或退出。
对于严重错误,启动备份文件恢复,建议使用帮助文件。
4.8.3系统维护设计
可以在软件交付后根据用户反馈意见修改类的模块功能。
5详细设计
图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在图书管理系统概要设计的基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
5.1系统的结构
(17) 系统结构图:
图 1-17系统结构图
模块相互关系表
模块序 模块名称 本模块说明标识 相关模块名称 被调用模块说明标识 相互关系描述
1 登录模块 01 管理员登陆
用户登录 包含
2 用户管理模块 02 登记、查询、修改、注销用户信息 包含
3 图书管理模块 03 登记、查询、修改、注销图书信息 包含
4 流通管理模块 04 图书预定、借阅、归还、罚款 041、042、043、044 包含
5 图书预定模块 041 登记、查询、修改、图书预定信息 包含
6 图书借阅模块 042 登记、查询、修改、图书借阅信息 包含
7 图书归还模块 043 登记、查询、修改、图书归还信息 包含
8 图书罚款模块 044 登记、查询、修改、图书罚款信息 包含
5.2模块1
5.2.1模块1名称
软件系统名称:图书管理系统
模块名称:登陆模块
模块标识符:01
5.2.2模块功能说明
系统登陆模块主要实现以下功能:
提供一个管理界面,可以登记,查询、修改,注销用户信息,用户进行活动时,相关用户信息也跟着改变。
5.2.3界面设计
如下图:
5.2.4模块设计实现及流程说明
(18)登陆管理模块图:
图 1-18登陆管理模块图
A.数据库连接:
在Mysql建立lib_system数据库,之后将数据操作相关数据与该数据库相连。
B.记录登录信息及信息处理:
当用户点击“登录”按钮之后,数据将提交到登陆数据处理页面。取得帐 密码这两个从页面传入的值,然后跟数据库当中管理员表中的账 和密码比较。如果正确的话,就存入一个标记属性,表示当前已经有管理员登陆了。处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面。
(19)登陆模块流程图:
图 1-19登陆模块流程图
5.3模块2
5.3.1模块2名称
软件系统名称:图书管理系统
模块名称:用户管理模块
模块标识符:02
5.3.2模块功能说明
用户模块主要实现以下功能:
提供一个界面,对用户进行口令验证。
输入:用户名和密码。
输出:若用户输入正确,则允许登录;若用户输入错误,则输出错误信息,提示用户重新输入。
5.3.3界面设计
主界面:
登记用户信息界面:
查询用户信息界面:
注销用户信息界面:
5.3.4模块设计实现及流程说明
(20)用户管理模块图:
图 1-20用户管理模块图
(21)用户管理流程图:
图 1-21 用户管理流程图
5.4模块3
5.4.1模块3名称
软件系统名称:图书管理系统
模块名称:图书管理模块
模块标识符:03
5.4.2模块功能说明
⑴ 功能类型:查询及修改数据
⑵ 功能概述:显示查询或修改结果
⑶ 前提业务:无
⑷ 功能约束:无
⑸ 操作权限:所有用户
5.4.3界面设计
如下图:
5.4.4模块设计实现及流程说明
(22)图书管理模块图:
图 1-22 图书管理模块图
(23)图书管理模块流程图:
图 1-23 图书管理模块流程图
5.5模块4
5.5.1模块4名称
软件系统名称:图书管理系统
模块名称:流体管理模块
模块标识符:04
5.5.2模块功能说明
⑴ 功能类型:查询及修改数据
⑵ 功能概述:显示查询或修改结果
⑶ 前提业务:无
⑷ 功能约束:无
⑸ 操作权限:所有用户
5.5.3界面设计
如下图:
5.5.4模块设计实现及流程说明
(24)流程管理模块图
图 1-24流程管理模块图
(25)流程管理模块流程图:
图 1-25 流程管理模块流程图
用例2:图书查询测试:
用例3:图书预约测试:
用例4:图书借阅测试:
7心得体会
通过本学期的学习,使我认识到了软件工程导论这门课的重要性,在开发软件的过程中它起到了很重要的作用,也可以说是领头的作用。在做设计的时候同时也遇到了很多困难,比如有很多的概念都不是很清楚,也不会灵活运用这些理论,需要看书查资料,即使这样,做出来的设计也有着这样那样的问题,好在经过老师的指导,解决了这些问题。经过这次课程设计培养了我的自学能力以及合作能力,使我能够更好的学习。也让我认识到了这门课应该做到灵活运用才可以为以后的学习及工作打下基础,以后会更努力的学习这门课。
写到最后,感谢刘凤华老师的悉心指导,设计的每个阶段,从选题到查阅资料,以及最后的确定,期间文档的修改,格式的调整等各个环节中都给予了我悉心的指导。在此谨向刘凤华老师致以诚挚的谢意和崇高的敬意!
感谢在整个设计期间和我密切合作的吴玉萍同学,和曾经在各个方面给予过我帮助的伙伴们,在此,我再一次真诚地向帮助过我的老师和同学感谢!
附录
参考资料:
《软件工程导论——第六版》 张海藩编著 清华大学出版
《软件工程——“十三五”规划教材》 陈永编著 中国铁道出版
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!