《软件工程》
实验报告

题 目: 图书管理系统
学 期: 2021-2022第一学期
班 级: 21级软工专升本3班
姓 名: 张婷
学 号: 202105930306
组 员: 吴玉萍
教 师: 刘凤华

2021年11月

目录

  1. 问题定义 1
    1.1开发背景和意义 1
    1.2问题定义 1
    1.3开发环境 2

  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

  3. 问题定义
    1.1开发背景和意义
    图书管理是高校内每一个系部或者院部都必须切实面对的工作,但目前仍有少部分院系仍在使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将会增加图书资料管理者的工作量和工作强度,这将会给图书资料信息的查找、更新和维护都带来了很多困难。
    经过详细的调查,目前我国各类高等学校中仍有一小部分单位图书资料管理还停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然会被以计算机为基础的信息管理方法所取代。
    图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。
    1.2问题定义
    在试用了一些图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:
    1.图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。
    2.图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。
    3.数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。
    4.数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。
    这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。
    1.3开发环境
    开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:
    开发工具:idea
    开发环境: Windows系统
    开发语言:Java
    数据库管理系统: MySQL

  4. 可行性分析
    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次)5
    100=500元。
    (4)软件系统升级费用:每年1000元。
    3.不可预计的费用
    (1)差旅费:1000。
    (2)备用金:(额外支出应急费用):3000元。
    4.费用总计
    本系统预计所需的总费用为35000元。
    根据成本/效益分析法,本系统所需的软硬件资源都已具备,该系统简单易懂,本系统具有成本相对较低、利益高的特点。鉴于计算机技术发展异常迅速,在硬件软件配置以及开发技术均可行的情况下,开发这样一个管理系统的成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将会有比较宽阔的市场,因此它在经济可行性上是可行的。
    2.2.3操作可行性
    本系统开发的开发宗旨是以便捷为中心。开发后的系统采用B/S模式开发,提供窗体界面,操作简单等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。系统管理员要求要有一定的计算机专业的知识,需要经过专业的培训,以便能够熟练的管理本系统,使其正常运行。

3.系统的需求分析
3.1图书管理系统的需求陈述
在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,并依据读者类别的不同给每个读者发放借书卡(提供借书卡号、姓名、部门或班级等信息)。读者可以凭借书卡在图书馆进行图书的借、还、续借、查询等操作,不同类别的读者在借书借阅图书时,由管理员录入借书卡号,系统首先验证该卡号的有效性,若无效,则提示无效的原因;若有效,则显示卡号、姓名、借书限额、已借数量、可再借数量等信息,本次实际借书的数量不能超出可再借数量的值。完成借书操作的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅信息中添加相应的记录。归还图书时,由管理员录入借书卡号和待归还的图书编号,显示借书卡号、读者姓名、读书编号、读书名称、借书日期、应还日期等信息,并自动计算是否超期以及超期的罚款金额,若进行续借则取消超期和罚款等信息;若图书有损坏,由管理员根据实际情况从系统中选择相应的损坏等级,系统自动计算损坏赔偿金额。完成归还操作的同时,修改相应图书信息的状态、修改读者信息中的已借数量、在借书信息中对相应的借书记录做标记、在还书信息中添加相应的记录。图书管理员不定期地对图书信息进行添加、修改和删除等操作,在图书尚未归还的情况下不能对图书信息进行删除。也可以对读者信息进行添加、修改、删除等操作,在读者还有未归还的图书的情况下不能进行删除读者信息。系统管理员主要进行图书管理员权限的设置、读者类别信息的设置、图书类别的设置以及罚款和赔偿标准的设置、数据备份和数据恢复等处理。
这里我们将图书管理系统的应用对象定位在中小型图书馆,因此在进行需求分析时主要考虑中小型图书馆的具体需求。我们知道图书馆的主要功能就是为注册的用户提供图书的借阅,在此过程中主要涉及对图书的管理和借阅者(即注册用户)的管理以及图书借阅信息的管理。其中:
(1)对图书的管理主要是指:对馆内藏图书的添加、修改、删除、查询等;
(2)对借阅者的管理主要是指:对图书的借阅者添加、修改、删除、挂失、查询等操作;
(3)对图书借阅信息的管理主要是指:对借阅者的借阅信息的管理(比如,某个借阅者何时借阅和借阅哪本图书等)。
(4)因为系统为计算机应用系统,所以为了安全,对于每个人使用该系统的人,都要实行用户密码登录,只有合法的用户才能使用该系统。
3.2系统业务功能分析
(1)建立读者类,实现对读者编号、姓名、所在单位等信息的描述。
(2)建立书籍类,实现对图书的编号、名称、作者、出版社、出版日期、价格、采购日期、单价、数量、金额、版次、分类号等信息的描述。
(3)建立用于记录借书情况的类,实现输入读者编号和书籍编号后成功借书的描述。
3.3图书管理系统的数据流图
(1)图书管理系统基本系统模型图:

图 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)修改图书信息的细化图:

图 1-9 对修改图书信息的细化
3.4图书管理系统的数据子典
根据系统数据流程图,我们可以列出以下系统所需的数据项:
图书管理员:姓名,编号,家庭住址,登陆密码。
借阅者:姓名,性别,班级,系别,证件号码,证件类型,学号,邮箱,登记时间,还书时间,如果图书损坏或丢失照价赔偿。
图书信息:名称,作者,价格,图书类型,出版社,入库时间,编码,书架,状态。
1.数据项分析
数据项名:读者证件号
值:11位{阿拉伯数字}
注释:读者的图书代号

数据项名:姓名
值:2~8位{汉字}

数据项名:班级
值:字符串

数据项名:系别
值:3~10位{汉字}

数据项名:图书编码
值:数字+字母

数据项名:图书名
值:字符串

数据项名:图书作者
值:[2~6位{汉字}|4~10位{英文字母}]

数据项名:图书所在架号
值:数字+字母

数据项名:图书出版社
值:[4~10位{汉字}|4~20位{英文字母}]

数据项名:图书状态
值:[在馆|不在馆]
注释:说明图书状态

数据项名:登记时间
值:日期
注释:采用4-2-2格式

2.数据结构分析
名字:读者信息
组成:{图书借阅证号+姓名+班级+学号+系别+入学年份}
组织:按读者证号排序
注释:包括所有读者信息

名字:读者借阅信息
组成:{图书代号+图书名+图书作者+图书借阅证号+图书出版社+借阅时间+到期时间}
组织:按关键字排序

名字:图书馆图书信息
组成:{图书代号+索书号+图书所在架号+图书名+图书作者+图书出版社+图书情况}
组织:按关键字排序
名字:图书管理员信息
组成:{管理员姓名+管理员ID+管理员登陆密码+管理员权限}
组织:按关键字排序

3.数据流分析
数据流名:读者信息
组成:图书借阅证号+学号

数据流名:读者信息
组成:图书借阅证号+姓名+班级+学号+系别+入学年份

数据流名:读者借阅信息
组成: 图书代号+图书名+图书作者+图书出版社+借阅时间+到期时间

数据流名:借还书信息
组成:图书条码号+图书代号+读者借阅证号+读者条码号+读者学号+借阅时间+到期时间
数据流名:图书查询条件
组成:[图书查询条件1|图书查询条件2]

数据流名:图书查询条件1
组成:[图书查询条件1|图书查询条件2]
注释:条件中的名称可以不是全称,即实现模糊查询。

数据流名:图书查询条件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.确认无误后,从读者基本信息表中删除这些读者的信息

加工名:读者信息修改
编号:5.4
激发条件:读者信息有误
加工逻辑:
1.找到该读者基本信息
2.填入要修改的数据,确认无误后存入读者基本信息表中
3.5非功能需求
3.5.1 性能需求
学校对系统性能无特殊的要求,只要查询图书的时候没有明显的延迟就可以了,查询的时间不要超过3秒钟。
条件、假定和限制:
1.系统最小寿命:
系统应该能在无重大改动的条件下正常运行5年以上。
2.对设备的要求:
要求计算机稳定性良好,整套系统经济实惠。
3.可以利用的信息和资源:
图书管已经配置了所有的计算机,以及网络设备,操作人员将使用win2003
4.图书管理员工需要受过较好的计算机方面的培训,在调研的时候感觉有不少员工有计算机方面的专业经验。
3.5.2安全性需求
对于图书管理系统的图书量会非常大,所以在对这些图书导入和查询时要保证速度。在图书借阅过程中又要保证事务的完整性。对于整个系统,需要完整的权限控制,防止某些人恶意攻击系统,修改原始记录,同时对于数据库中的数据需要定时备份,防止系统数据丢失。此外,系统要求用户在登陆时需要身份验证。
1.故障处理
在正常情况下,应不出错。一旦发生意外,比如掉电、网络不通等,也应保证系统数据不会丢失。
故障出现后可能采取的变通措施
备份:使用附加存储设备备份数据。备份频率为每日一次。需手动备份。
恢复及再启动:如果数据造成丢失,可使用备份数据还原。
3.5.3外部接口需求
1.硬件接口
除了较小硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与磁带机和光盘刻录机的接口,这点较易实现。
2.软件接口
这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。例如Microsoft的Office系列。另外用户还有用户所需要的软件接口,这些应在用户需求定义时明了


4概要设计
4.1系统体系结构
图书管理系统选择三层体系结构来实现。如图所示。系统由5个节点组成,应用服务器负责整个系统的运行总体协调工作数据库服务器负责数据库的管理。业务管理、查询管理以及维护管理分管各个模块的内容。

4.2系统功能模块
图书馆管理系统需要实现的功能主要有四大块“日常工作管理”、“基本资料维护”、“查询”、和“系统管理”模块。其中日常工作管理和基本资料维护是整个系统的核心。
(10)系统体系结构图:

图 1-10 系统体系结构图
4.2.1工作模块
借书处理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括会员ID、图书ID、借出日期、还书期限。
还书处理:主要功能是输入借阅证编号、图书ID在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅历史记录表中。
缴纳罚金:输入会员ID,显示该会员的姓名、图书编号、罚款金额和罚款原因。如果会员交纳了罚金,则将借阅登记表的允许借阅标志置为“Y”。删除罚款记录表中该会员对应的记录,将这一条记录同时插入到罚款历史记录表中。
4.2.2资料维护模块
图书资料维护:包括新书的入库,以及现有书籍资料的修改、删除。
会员资料维护:包括新会员的资料入库,以及现有会员资料的修改和删除。
4.2.3查询模块
图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:图书分类、图书号、图书名称、作者、出版社。
会员资料查询:根据相应的会员资料进行所需查询。借阅证编号、会员
姓名、身份证号以及止借标志。
借阅历史记录查询:根据相应的借阅信息进行所需查询。此查询包括借阅证号、图书号、借书日期、还书日期。
罚款历史记录查询:根据相应的罚款信息进行所需查询。此查询包括借阅证号、罚款日期、罚款原因。
4.2.4系统管理模块
系统登录:管理员和会员登录系统,系统按照身份赋予他们各自不同的权限。
会员注册:实现新会员注册功能。
数据备份:对现有的数据库信息的保存。
4.3程序数据流图
4.3.1系统功能流程图
(11)系统功能流程图

图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运行控制

运行时间
检索任务所需时间:<3秒>
执行任务所需时间:<3秒>

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 流程管理模块流程图

6测试计划
6.1采用黑盒测试方法
1.测试项目名称及测试内容
测试1:
名称:系统登陆测试。
目的:测试系统操作界面。
内容:用户名、密码输入、合理、合法性检查,系统操作界面显示控制。
测试2:
名称:图书查询测试。
目的:测试图书查询功能。
内容:图书查询对话框显示控制,输入数据合理性检验、提交,图书查询结果显示。
测试3:
名称:预约测试。
目的:测试图书预约功能。
内容:图书预约对话框显示控制,输入数据合理性检验、提交,图书查询结果显示。
测试4:
名称:借阅测试。
目的:测试图书借阅功能。
内容:用户证件号码输入、合理、合法性检查,借阅对话框显示控制,图书书号提交、合法理检查、合法性检查,借书登记。
测试5:
名称:归还测试。
目的:测试图书归还功能。
内容:还书对话框显示控制,图书书号提交、合法理检查、合法性检查,借书登记。
测试6:
名称:图书库管理测试。
目的:测试图书库操作功能。
内容:图书库管理界面显示控制,图书库浏览,增加图书记录,删除图书记录,编辑图书记录。
6.2测试用例
用例1:系统登陆测试:

用例2:图书查询测试:

用例3:图书预约测试:

用例4:图书借阅测试:

7心得体会
通过本学期的学习,使我认识到了软件工程导论这门课的重要性,在开发软件的过程中它起到了很重要的作用,也可以说是领头的作用。在做设计的时候同时也遇到了很多困难,比如有很多的概念都不是很清楚,也不会灵活运用这些理论,需要看书查资料,即使这样,做出来的设计也有着这样那样的问题,好在经过老师的指导,解决了这些问题。经过这次课程设计培养了我的自学能力以及合作能力,使我能够更好的学习。也让我认识到了这门课应该做到灵活运用才可以为以后的学习及工作打下基础,以后会更努力的学习这门课。
写到最后,感谢刘凤华老师的悉心指导,设计的每个阶段,从选题到查阅资料,以及最后的确定,期间文档的修改,格式的调整等各个环节中都给予了我悉心的指导。在此谨向刘凤华老师致以诚挚的谢意和崇高的敬意!
感谢在整个设计期间和我密切合作的吴玉萍同学,和曾经在各个方面给予过我帮助的伙伴们,在此,我再一次真诚地向帮助过我的老师和同学感谢!

附录
参考资料:
《软件工程导论——第六版》 张海藩编著 清华大学出版社
《软件工程——“十三五”规划教材》 陈永编著 中国铁道出版社

图书管理系统《软件工程》相关推荐

  1. 【毕业设计】基于spring boot的图书管理系统 -java 计算机 软件工程

    文章目录 1 前言 2 系统简介 2.1 领域模型 2.2 技术栈 2.3 表结构设计 2.4 接口设计 2.4.1 接口定义 2.4.2 接口测试 2.5 权限设计 3 运行效果 3.1 系统登录 ...

  2. 软件工程案例学习-图书管理系统

    软件工程案例学习-图书管理系统 文档编号:LMS_1                                                                           ...

  3. 图书管理系统数据字典_2. 结构化——数据字典

    返回目录: Chilan Yuk:软件工程分析设计图库目录​zhuanlan.zhihu.com 一.基本知识 用于定义数据流和数据存储的结构,并给出构成所给的数据流和数据存储的各数据项的基本数据类型 ...

  4. 学院图书管理系统的设计与实现

    目 录 第一章 绪论 1 1.1 选题背景及目的意义 1 1.1.1 选题背景 1 1.1.2 目的及意义 1 1.2 现状分析 2 1.3 研究主要内容 2 第二章 系统环境介绍及主要技术介绍 4 ...

  5. JavaWeb图书管理系统

    目录 1.设计任务与目的 2.设计思路 3.概要设计 3.1系统结构图设计 3.2开发工具与运行环境 4.详细设计 4.1系统用户用例图 4.2用户登录用例图 4.3业务流程图 4.4数据流程图 4. ...

  6. 图书管理系统(C文件读、存)

    读取给定的图书文件book.txt 中的信息,完成一个图书信息管理系统,该系统的各个功能模块利用菜单选项进行选择,要求程序具有正确性.可读性(变量函数命名规范.核心语句添加注释).健壮性(数据非法时能 ...

  7. springboot+乡村图书管理系统 毕业设计-附源码191505

    基于java的乡村图书馆管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术 ...

  8. 【综合实训】图书管理系统——需求规格说明书

    [备注]本说明书由华中农业大学2018级计算机科学与技术专业的刘铠铭.崔凌浩.卢家伟三位同学共同完成. 文章目录 1 引言 1.1 编写目的 1.2 背景 1.3 术语和缩略词 1.4 参考资料 2 ...

  9. 数据结构课设--用B树实现图书管理系统

    此文章是分享一下上学期数据结构课程的课程设计,我选择的是以B树为数据结构,开发一个图书管理系统,B树的优点在于查询快,增删结点相对于链表或者顺序表效率更好,因此用来存储大量图书信息更加合适.(开发环境 ...

  10. Java实现基于SQL server的图形化图书管理系统

    文章目录 一.前言 二.运行环境 三.实现功能(简略) 1.用户登录 2.读者界面 3.管理员界面 4.超级管理员界面 四.过程中遇到的问题以及解决方案 1.验证码功能 2.模态窗口设置 3.对用户密 ...

最新文章

  1. Linux下通过源码编译安装程序
  2. 算法设计与分析(第四周)同时选最大和最小 优化解法
  3. SAP Spartacus 中的依赖注入 Dependency Injection 介绍
  4. excel怎么在柱状图上加超链_如何让你的年终总结更符合领导心意,高薪员工必备的excel技能...
  5. 倍增:st表(模板)(洛谷P3865)
  6. ANDROID调用webservice带soapheader验证
  7. Qbxt 模拟题 day3(am) T3 选数字 (select)(贪心)
  8. C++编程问题--glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx
  9. 米家扫地机器人怎么加水_最省心的扫地机器人,米家扫地机器人1C:视觉动态导航实力强劲...
  10. mpass小程序开发总结
  11. 英语口语测试评分软件,最客观的英语口语APP亲身测评,这3款软件让你的口语脱颖而出...
  12. 百度开发者大会高层讲稿
  13. Linux常见错误 “cp: omitting directory”解决办法
  14. 高薪程序员面试题精讲系列23之说一下如何实现文件上传、下载以及断点续传?
  15. 【预训练语言模型】WKLM: Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model
  16. fstream ,ifstream,ofstream的用法详解
  17. iOS 图标左侧小黄点
  18. android安全问题(八)伪造短信(利用原生android4.0漏洞)
  19. 数据分析课后作业--信用卡客户风险评价(代码)
  20. 数据结构-----鸡尾酒排序

热门文章

  1. Linux系统安装三菱编程软件,如何安装三菱plc编程软件gx developer
  2. java JDK1.8中文手册
  3. 定时器Cron 表达式解析工具
  4. InnoDB存储引擎
  5. OpenGL超级宝典(第7版)笔记10 片段着色器 清单3.10-3.12
  6. 托普进销存 智慧版v1.3.0
  7. 【电机学复习笔记】第二章 变压器
  8. netstat命令详解Linux,Linux netstat命令详解
  9. 打印系统开发(42)——静默打印
  10. eve-ng 添加dynamips镜像文件