0


软件工程实验报告:图书管理系统

以下内容为我软件工程实验的实验报告内容。
数据库部分采用的是SQL Server软件;
界面设计部分采用的是Visual Studio C#。
本实验因时间问题做的比较仓促,有许多不足之处,还请谅解。
想要完整代码的可以在我的博客资源进行下载
https://download.csdn.net/download/weixin_45632016/15534566

一、 课程设计的目的与要求

  1. 课程设计目的 软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。
  2. 课程设计要求 2.1 课程设计准备 1)复习软件工程课程的主要内容,熟练掌握软件生命周期的理论以及各阶段的基本概念。 2)明确可行性分析、需求分析、设计、测试等阶段的基本任务和基本方法。 3)熟练运用规范化的描述方法和文档,描述软件开发的各个阶段。 4)熟悉开发环境和开发工具。 2.2 内容要求 1)对所设计和实现的系统进行可行性分析,提交可行性分析报告; 2)对系统进行需求分析,可以选择传统的分析方法或者面向对象的分析方法,提交软件需求规格说明书(SRS); 3)在SRS的基础上进行软件的概要设计和详细设计,提交软件设计文档; 4)遵循上述文档的要求,实现软件; 5)对所实现系统进行软件测试,完成软件测试报告。

二、 设计正文
1. 可行性分析报告
1.1 项目简介
1.1.1 项目目标
随着现在科学技术的发展,人们的生活也在享受着极大的便利,也在逐渐迈入信息化生活,无时无刻不在进行着信息处理,其中计算机和网络技术能够帮助我们更好的进行信息管理,使用计算机进行信息管理,大大提高了工作效率,而且也在一定程度上保护我们的信息不被泄露。图书管理系统是根据陈老师之前上课时的讲解进行修改,本次实验主要实现了用户的注册,用户与管理员的登录功能用户有查询图书,借阅图书,预约图书,归还图书,查看个人信息与查看公告等功能,管理员有图书管理,用户管理,采访图书,编目图书,查看预约记录,查看借阅记录以及公告管理等功能。
1.1.2 系统的简要描述,主要功能:
用户的注册功能,用户与管理员的登录功能。
用户可以通过图书信息(如书名或书号)查询想借阅的图书,并在有库存的情况下进行借阅。
当用户想要借阅的图书没有时,可以在预约功能里进行图书预约。
用户可以对借阅的图书进行归还。
用户可以查看和修改个人信息。
用户可以查看公告栏与帮助。
管理员可以查看用户的预约记录,并对其中的记录进行修改。
管理员可以通过用户的预约记录对图书进行采购。
管理员可以对采购的图书进行编目并将其添加到书库里。
管理员可以对书库里的图书进行管理,可以通过书名信息模糊查询,通过书号进行查询。
管理员可以对图书信息进行修改,添加以及删除。
管理员可以对用户的信息进行查询,修改以及删除功能。
管理员可以对用户的借阅记录进行查询以及删除。
管理员可以对所有用户发布公告以及删除公告。
1.2 对现有系统的分析
1.2.1 处理流程和数据流程(系统流程图)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2.2 对现有系统的其他说明
管理员可以通过SQL语句直接操作数据库对程序进行维护。
该程序有三种用户,普通用户,老师以及管理员。
该程序目前只能在WINDOW系统中运行。
1.3 技术可行性分析
本次软件工程实验是应用的 SQL server 和 Visual Studio 软件进行系统的实现,而且使用 C#语言,对于窗口界面的设计更加方便,对于相应的功能实现的代码可以更加明显,总体分析说明,技术是具有可行性的。
1.4 经济可行性分析
对于参加实验的人员来说,组员都有自己的电脑,而且都对实验中所需要用到的软件进行下载,而且熟悉使用,并且学校机房的电脑功能也很齐全,系统的实现大多数依赖于画图分析和编程等等,对于经济方面要求不是很看重。
1.5 社会因素可行性分析
1.5.1 法律因素
本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
1.5.2 用户使用可行性
由于使用本系统可以减少大量的工作和经济费用,新系统界面友好、使用简捷方便,有一定计算机基础的人都可以进行使用。
1.6 可供选择的方案

2. 软件需求规格说明书(SRS)
2.1 需求概述
1) 给出软件需求的摘要和简单描述
需求:
用户的注册功能,用户与管理员的登录功能。
用户可以实现查询、借阅、预约图书信息,归还借阅图书,查看借阅记录、个人信息以及公告栏。
管理员可以对图书进行查询、添加、删除、修改信息,对用户的预约进行采购,编目采购的图书,管理用户的借阅记录,管理用户信息,管理公告。
描述:
注册功能:未注册过的用户进行注册,填写用户名,密码,姓名,年龄与用户身份。
登录功能:对应用户选择对应的身份,填写用户名以及密码。
采访功能:用户可以对书库里没有的图书进行预购,管理员通过查看用户的预约记录对书籍进行采购。
编目功能:管理员可以对采购的图书进行编目。
流通功能:用户可以通过书名以及书号查询想要的图书进行借阅,可以对借阅的图书进行归还,管理员可以对书库里的图书进行管理(如:添加图书,删除图书,修改图书信息,查询图书),也可以对用户的借阅记录进行修改。
用户管理功能:用户可以查看自己的个人信息并进行修改,管理员也可以查看用户的信息,并对其进行删除与修改。
公告功能:用户可以查看管理员发布的公告,管理员可以查看发布的公告并对其进行删除,也可以发布新的公告。
2) 运行环境
Windows系统,SQL server软件,Visual Studio 软件。
2.2 功能需求
在这里插入图片描述

图2-1.实验总系统
在这里插入图片描述
图2-2登录子系统
在这里插入图片描述
图2-3采访子系统
在这里插入图片描述
图2-4编目子系统
在这里插入图片描述
图2-5流通子系统

在这里插入图片描述图2-6用户管理子系统

![在这里插入图片描述](https://img-blog.csdnimg.cn/e6e3f7138bb349caad88729c35cb6a6b.png
图2-7公告子系统
2.3 数据描述
用户登录表:
用户登录表={用户名+密码+用户级别}
用户名 = 2{字符}50
密码 = 2{字符}20
字段名数据类型数据长度描述含义Idvarchar50不允许为空,主码用户名Presswordvarchar20不允许为空密码ulevelvarchar1不允许为空用户类别
读者级别 = [学生|老师|管理员]
图书信息表:
图书信息表={书号+书名+作者+出版社+数量}
书号 = 2{字符}50
书名 = 2{字符}50
作者 = 2{字符}20
出版社 = 2{字符}50
数量 = 2{字符}50
字段名数据类型数据长度描述含义Idvarchar50不允许为空,主码书号Namevarchar50不允许为空书名Authervarchar20允许为空作者Pressvarchar50允许为空出版社Numberint3不允许为空库存
用户信息表:
用户信息表={学号+用户姓名+性别+用户级别}
学号 = 入学年 + 系号 + 专业号 + 班号 + 个人号
入学年 = “1958”…“9999”
系号 = 2{数字}2
专业号 = 2{数字}2
班号 = 2{数字}2
个人号 = 2{数字}2
用户姓名 = 2{字符}20
性别 = [男|女]
用户级别 = [学生|老师|管理员]
字段名数据类型数据长度描述含义Idvarchar50不允许为空,主码用户名Namevarchar20不允许为空用户姓名Agevarchar3允许为空用户年龄ulevelvarchar1不允许为空用户类别
预约图书表:
预约图书表={预约ID +书名+作者+出版社}
预约ID = 2{字符}50
书名 = 2{字符}50
作者 = 2{字符}20
出版社 = 2{字符}50
字段名数据类型数据长度描述含义UIdvarchar50不允许为空,主码预约人学号BNamevarchar50不允许为空书名BAuthervarchar20允许为空作者BPressvarchar50允许为空出版社
未编目图书表:
未编目图书表={书名+作者+出版社+数量}
书名 = 2{字符}50
作者 = 2{字符}20
出版社 = 2{字符}50
数量 = 2{字符}50
字段名数据类型数据长度描述含义Namevarchar50不允许为空,主码书名Authervarchar20不允许为空,主码作者Pressvarchar50允许为空出版社NumberInt4不允许为空图书数量
借阅图书表:
借阅图书表={借阅人ID +借阅人姓名+书号+书名+作者+出版社+借阅时间}
预约ID = 2{字符}50
借阅人姓名 = 2{字符}20
书号 = 2{字符}50
书名 = 2{字符}50
作者 = 2{字符}20
出版社 = 2{字符}50
借阅时间 = “年”+“月”+“日”+“时”
年 = “1958”…“9999”
月 = “01”…“12”
日 = “01”…“31”
字段名数据类型数据长度描述含义LendUserIDvarchar50不允许为空,主码借阅人学号LendBookIDvarchar50不允许为空,主码被借阅书号LendUserNamevarchar20允许为空借阅人姓名LendBookNamevarchar50允许为空书名LendBookPressvarchar50允许为空出版社LendTimeDatetime 8 不允许为空 借阅时间时 = “01”…“24”
公告表:
公告信息表={公告序号+公告内容+公告发布时间}
公告序号 = 2{字符}50
公告内容 = 2{字符}100
公告发布时间 = “年”+“月”+“日”+“时”
年 = “1958”…“9999”
月 = “01”…“12”
日 = “01”…“31”
时 = “01”…“24”
字段名数据类型数据长度描述含义Idvarchar50不允许为空,主码公告号contervarchar100允许为空公告内容publishTimeDatetime8不允许为空借阅时间2.4 性能需求

  1. 数据精确度 在各输入框里,需要保证输入的数据与数据库中所存放的数据保持一致性,不能有误差 2)时间特性 借阅时间与公告发布时间通过SQL语句getdate()直接获取系统时间输入到数据库里面 3)适应性 本程序采用微软VS软件C#WINDOW页面编程,微软SQL server软件编写数据库,具有更高的普遍性,适应性更强。 2.5 运行需求
  2. 用户界面 登录界面在这里插入图片描述 注册界面:在这里插入图片描述

用户界面:
在这里插入图片描述

用户查询借阅界面:
在这里插入图片描述

用户预约界面:
在这里插入图片描述

用户还书界面:
在这里插入图片描述

用户个人信息界面:
在这里插入图片描述

用户公告界面:
在这里插入图片描述

管理员界面:
在这里插入图片描述

图书管理界面:
在这里插入图片描述

采购图书界面:
在这里插入图片描述

预约图书界面:
在这里插入图片描述

编目图书界面:
在这里插入图片描述

用户管理界面:
在这里插入图片描述

用户借书记录界面:
在这里插入图片描述

公告栏界面:
在这里插入图片描述

  1. 硬件接口 通过电脑鼠标与键盘对程序进行操作
  2. 软件接口 Visual Studio 与 SQL server连接,通过VS对数据库里的数据进行操作。
  3. 故障处理 管理员定期对软件进行测试,如果用户遇到故障尽快联系管理员进行修复。 2.6 其它需求 管理员与用户可以查看软件帮助。 使用的同时管理员对用户的信息进行保密。若要补充功能请联系管理员。

3. 软件设计说明书
3.1 软件模块结构图
在这里插入图片描述
在这里插入图片描述

3.2 文件结构和全局数据
用户登录表:记录用户的用户名与密码,用于登录。
在这里插入图片描述

用户信息表:保存用户信息,借阅、归还与预约时调用用户的信息。
在这里插入图片描述

借阅信息表:用于保存用户的借阅记录。
在这里插入图片描述

预约图书表:用户在图书信息表中没用查到想要的图书,对书籍进行预约。
在这里插入图片描述

未编目信息表:存储采购后还没有进行编目的图书
在这里插入图片描述

图书信息表:用于存放图书信息,用户可以查询图书并进行借阅,管理员可以对其进行管理
在这里插入图片描述

公告信息表:用户可以对其进行查询,管理员对其进行添加与修改。
在这里插入图片描述

3.3 模块描述
3.3.1 登录模块描述
1)功能:读者进行注册,登录与注销。
2)接口:用户在登录与注册时会调用该模块,会根据用户的类型跳转到不同页面。
3)数据:{用户账号=用户名+用户密码+用户类别}
4)处理:
在这里插入图片描述

3.3.2 采访模块描述
1)功能:用户预约图书,管理员通过预约图书进行采购。
2)接口:用户在预约图书时会调用该模块,管理员可以对采访功能进行管理。
3)数据:{预约图书=预约用户ID+预约书名+作者+出版社}
4)处理:
在这里插入图片描述

3.3.3编目模块描述
1)功能:管理员对采购来的新图书进行编目。
2)接口:编目采访子系统采购到的新书籍到图书信息表。
3)数据:
{未编目图书表=书名+作者+出版社+数量}
{图书信息表=书号+书名+作者+出版社+数量}
4)处理:
在这里插入图片描述

3.3.4流通模块描述
1)功能:管理员对采购来的新图书进行编目。
2)接口:用户借书时会调用用户的个人信息。
3)数据:{图书信息表=书号+书名+作者+出版社+数量}
4)处理:
在这里插入图片描述

3.3.5用户管理模块描述
1)功能:用户可以查看和修改自己的个人信息但不能修改用户名与级别,管理员可以查看、删除、修改用户的个人信息。
2)接口:用户借阅和预约图书时会调用用户的信息表。
3)数据:{用户信息表=学号+用户姓名+性别+用户级别}
4)处理:
在这里插入图片描述

3.3.6公告模块描述
1)功能:用户可以查看公告,管理员可以查看、发布公告。
2)接口:管理员对公告信息表进行读取操作。
3)数据:{公告信息表=公告序号+公告内容+公告发布时间}
4)处理:
在这里插入图片描述

4. 软件测试报告
4.1 测试范围
测试目的:检测预期全部功能是否完善
测试预期结果:注册功能、登录功能可以正常运行,各功能的增删改查部分可以遵循吻合数据库的预期设定,各页面之间的跳转问题,用户与管理员的操作和数据库里的数据库是否一致。
测试步骤:大致为单元测试、集成测试、确认测试和系统测试
4.2 测试计划
先测试注册与登录功能,然后分别以用户和管理员进行登录,逐个测试各项功能。
4.2.1 测试阶段
1)第 1 阶段:对每个模块进行单元测试,对设计的测试用例进行测试,查看是否与预期的结果相同。
2)第 2 阶段:进行集成测试,测试模块之间的调用是否正确。
3)第 3 阶段:进行确认测试,测试各个子系统是否完成了需求说明书中的功能。
4)第 4 阶段:进行系统测试,测试整个系统的功能、性能是否与预期效果相同。
4.2.2 测试进度:
测试模块测试内容依赖关系测试时间登录功能测试用户的注册与不同级别用户的登录功能的实现无2021.01.04采访功能用户预约图书实现,管理员获取预约记录进行采购实现 登录功能,流通功能2021.01.04编目功能对采购图书进行编目登录功能,采访功能流通功能2021.01.04流通功能用户查询、借阅、归还图书功能,管理员对图书和借阅记录的管理等操作的实现登录功能,编目功能2021.01.04用户管理功能用户查看个人信息,管理员查询和管理用户信息功能的实现登录功能2021.01.04公告功能用户查看公告,管理员对公告内容的删除与添加公告登录功能2021.01.04
4.3 测试项目说明
4.3.1 登录功能
1) 测试目的:
测试用户的注册功能是否正常,不同级别用户的能否正常登录
2) 测试方法和测试软件:黑盒法
3) 测试用例
选取理由测试数据期望结果注册有效等价类各项不为空,在范围内用户名:201809000101密码:123年龄:20 ,类别:学生注册成功注册无效等价类有空项用户名:密码:123年龄:20 ,类别:学生用户名不能为空不在范围内用户名:201809000101密码:123年龄:999,类别:学生年龄错误登录有效等价类各项不为空,用户名与密码和相对应类别正确用户名:201809000101密码:123,类别:学生登录成功登录无效等价类有空项用户名:密码:123,类别:学生用户名为空用户名与密码和相对应类别不对应用户名:201809000101密码:123,类别:管理员用户名或密码错误
4.3.2 采访功能
1)测试目的:
测试用户的预约功能是否正常,管理员是否能够采购图书。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由测试数据期望结果用户采访有效等价类各项不为空,预约的图书没有库存书名:高数作者:数学系出版社:出版社预约成功采访无效等价类有空项书名:高数,作者:数学系出版社:出版社预约书名不能为空预约图书有库存书名:软件工程基础,作者:宋雨,出版社:出版社该图书有库存,请去查询页面进行借阅管理员采访有效等价类各项不为空书名:高数作者:数学系出版社:出版社库存:10采购成功管理员采访无效等价类有空项书名:作者:数学系出版社:出版社库存:10书名为空无空项,库存超范围书名:高数作者:数学系出版社:出版社库存:999999库存错误
4.3.3 编目功能
1)测试目的:
测试管理的编目功能是否正常。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由测试数据期望结果管理员编目有效等价类书号不为空,且书号为新书号书号:C00102编目成功管理员编目无效等价类书号为空书号书号为空书号已存在书号:C00101已有该图书,请在图书管理页面进行修改库存书号错误书号:1231354132151书号错误
4.3.4 流通功能
1)测试目的:
测试用户的查询、借阅与归还功能是否正常,管理员对图书信息的管理是否正常。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由测试数据期望结果用户查询有效等价类查询有该图书且借阅的图书有库存书名:高数作者:数学系出版社:出版社库存:10借阅成功用户查询无效等价类查询为空项书号:书名:查询不能为空预约图书没用库存书名:软件工程基础作者:宋雨出版社:出版社库存:0该图书库存不足,请联系管理员用户归还有效等价类有借阅且未归还的图书书名:高数作者:数学系出版社:出版社借阅时间:2021/1/4归还成功用户归还无效等价类没有未归还的图书未选中借阅图书归还失败管理员查询有效等价类查询有该图书书名:高数 书名:高数作者:数学系出版社:出版社库存:10管理员查询无效等价类查询为空项书号:书名:查询不能为空查询错误书号:C00105没有该图书,请尽快补充管理员添加有效等价类各项不为空,各项输入正确书名:高数作者:数学系出版社:出版社库存:10添加图书成功管理员添加有效等价类有项为空书名:高数作者:数学系出版社:出版社库存:添加库存不能为空添加已有图书书名:高数作者:数学系出版社:出版社库存:10该图书已存在,若要添加库存,请在修改功能处添加管理员删除有效等价类有该图书信息图书信息删除成功管理员删除无效等价类没有选中要删除的图书请选择要删除的图书管理员借阅有效等价类有借阅记录选中要删除的借阅记录删除成功,该图书已归还管理员借阅无效等价类没有选中要删除的图书请选择要删除的借阅记录
4.3.5 用户管理功能
1)测试目的:
测试用户是否能正常查看和修改个人信息,管理员对用户信息进行管理。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由测试数据期望结果用户信息修改有效等价类修改用户的姓名与年龄姓名:321年龄:19用户名:201809000101姓名:321年龄:19,类别:1用户信息修改无效等价类有空项姓名:年龄:姓名不能为空年龄超出范围年龄:999年龄错误管理员用户信息有效等价类各项不为空用户名:201809000101姓名:1234年龄:20,类别:1修改成功删除用户信息选中要删除的用户信息删除成功管理员用户信息无效等价类有空项用户名:姓名:1234年龄:20,类别:1用户不能为空无空项,用户年龄错误用户名:201809000101姓名:1234年龄:999,类别:1用户年龄修改错误无空项,用户级别不在规定内用户名:201809000101姓名:1234年龄:20,类别:4用户级别修改错误删除用户信息时未选中未选中要删除的用户
4.3.6 公告功能
1)测试目的:
测试用户的公告查看功能是否正常,管理员是否能够发布和删除公告。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由测试数据期望结果用户公告查看有效等价类公告存在且选中选中公告公告信息用户公告查看无效等价类未选中请选择要查看的公告管理员公告有效等价类发布公告号正确公告号:2,公告内容:公告内容2发布成功公告存在且选中选择删除选中公告删除成功管理员公告无效等价类公告号或公告内容有空项公告号:,公告内容:2公告号为空无空项,公告号已存在公告号:1,公告内容:公告内容该公告已存在
4.4 测试分析
4.4.1 登录功能的测试分析
1) 实测结果数据
可以实现用户的注册,用户与管理员的登录功能。
2) 与预期结果的偏差:无偏差
3) 测试表明的事实:该功能测试成功且该模块连接数据库无误
4) 测试发现的问题:无
4.4.2 预约功能的测试分析
1) 实测结果数据
可以实现用户的预约图书功能,管理员的查看预约记录和采购图书。
2) 与预期结果的偏差:无偏差
3) 测试表明的事实:该功能测试成功且该模块连接数据库无误
4) 测试发现的问题:无
4.4.3 编目功能
1)实测结果数据
管理员对采购图书进行编目并添加到图书信息表里。
2)与预期结果的偏差:无偏差
3)测试表明的事实:该功能测试成功且该模块连接数据库无误
4)测试发现的问题:无

4.4.4 流通功能
1)实测结果数据
可以实现用户的查询、借阅与归还功能,管理员的查看书库并对图书和借阅记录进行管理。
2)与预期结果的偏差:无偏差
3)测试表明的事实:该功能测试成功且该模块连接数据库无误
4)测试发现的问题:无
4.4.5 用户管理功能
1)实测结果数据
可以实现用户的查看和修改功能,管理员的查看用户信息和对其进行修改。
2)与预期结果的偏差:无偏差
3)测试表明的事实:该功能测试成功且该模块连接数据库无误
4)测试发现的问题:无
4.4.6 公告功能
1)实测结果数据
可以实现用户查看公告功能,管理员的发布与删除公告功能。
2)与预期结果的偏差:无偏差
3)测试表明的事实:该功能测试成功且该模块连接数据库无误
4)测试发现的问题:无

课程设计总结或结论
在实验过程,我们组从最初的可行性分析确定系统的方向;到分工制作需求分析编辑数据流图和数据字典,进一步确定系统的功能与实际需求;再到一起对软件设计对软件的具体实现,数据库的设计与建立,并且将二者进行结合,形成一个较为完整的系统;最后对与其功能及模块的测试,发现了一些实现过程中考虑不够完备的功能以及错误,加以修改,吸取经验与教训。
我们在实验过程中也遇到了许多的问题如:界面跳转后参数的传递,重复查询,搜索时的模糊查询算法等,但是在通过查阅数据,网上询问与同学指导的情况下,我们组也是排除了各种各样的BUG与功能的不完善,做出了最终的完善的系统,也很感谢老师上课时的教导,这在我们在指定方向和实验安排等各方面有着极大的帮助。
三、 参考文献
[1] 宋雨.软件工程.中国电力出版社. 2007.02.
[2]王珊,萨师煊.《数据库系统概论》.高等教育出版社.2014.09
[3]袁和金,刘军,牛为华.《数据结构》.中国电力出版社.2012.6
[4]李铭.C#高级编程.清华大学出版社.2010.11
[5]王晓东.《计算机算法设计与分析》.电子工业出版社.2014.6
附录

标签: 数据库 c#

本文转载自: https://blog.csdn.net/weixin_45632016/article/details/114288113
版权归原作者 王小康。 所有, 如有侵权,请联系我们删除。

“软件工程实验报告:图书管理系统”的评论:

还没有评论