以下内容为我软件工程实验的实验 告内容。
数据库部分采用的是SQL Server软件;
界面设计部分采用的是Visual Studio C#。
本实验因时间问题做的比较仓促,有许多不足之处,还请谅解。
想要完整代码的可以在我的博客资源进行下载
https://download.csdn.net/download/weixin_45632016/15534566
一、 课程设计的目的与要求
- 课程设计目的
软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。 - 课程设计要求
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 处理流程和数据流程(系统流程图)
图2-1.实验总系统
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
Id | varchar | 50 | 不允许为空,主码 | 用户名 |
Pressword | varchar | 20 | 不允许为空 | 密码 |
ulevel | varchar | 1 | 不允许为空 | 用户类别 |
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
Id | varchar | 50 | 不允许为空,主码 | 书 |
Name | varchar | 50 | 不允许为空 | 书名 |
Auther | varchar | 20 | 允许为空 | |
Press | varchar | 50 | 允许为空 | 出版 |
Number | int | 3 | 不允许为空 | 库存 |
用户信息表:
用户信息表={学 +用户姓名+性别+用户级别}
学 = 入学年 + 系 + 专业 + 班 + 个人
入学年 = “1958”…“9999”
系 = 2{数字}2
专业 = 2{数字}2
班 = 2{数字}2
个人 = 2{数字}2
用户姓名 = 2{字符}20
性别 = [男|女]
用户级别 = [学生|老师|管理员]
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
Id | varchar | 50 | 不允许为空,主码 | 用户名 |
Name | varchar | 20 | 不允许为空 | 用户姓名 |
Age | varchar | 3 | 允许为空 | 用户年龄 |
ulevel | varchar | 1 | 不允许为空 | 用户类别 |
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
UId | varchar | 50 | 不允许为空,主码 | 预约人学 |
BName | varchar | 50 | 不允许为空 | 书名 |
BAuther | varchar | 20 | 允许为空 | |
BPress | varchar | 50 | 允许为空 | 出版 |
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
Name | varchar | 50 | 不允许为空,主码 | 书名 |
Auther | varchar | 20 | 不允许为空,主码 | |
Press | varchar | 50 | 允许为空 | 出版 |
Number | Int | 4 | 不允许为空 | 图书数量 |
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
LendUserID | varchar | 50 | 不允许为空,主码 | 借阅人学 |
LendBookID | varchar | 50 | 不允许为空,主码 | 被借阅书 |
LendUserName | varchar | 20 | 允许为空 | 借阅人姓名 |
LendBookName | varchar | 50 | 允许为空 | 书名 |
LendBookPress | varchar | 50 | 允许为空 | 出版 |
LendTime | Datetime 8 不允许为空 借阅时间 | |||
时 = “01”…“24” |
公告表:
公告信息表={公告序 +公告内容+公告发布时间}
公告序 = 2{字符}50
公告内容 = 2{字符}100
公告发布时间 = “年”+“月”+“日”+“时”
年 = “1958”…“9999”
月 = “01”…“12”
日 = “01”…“31”
时 = “01”…“24”
字段名 | 数据类型 | 数据长度 | 描述 | 含义 |
---|---|---|---|---|
Id | varchar | 50 | 不允许为空,主码 | 公告 |
conter | varchar | 100 | 允许为空 | 公告内容 |
publishTime | Datetime | 8 | 不允许为空 | 借阅时间 |
2.4 性能需求 |
- 数据精确度
在各输入框里,需要保证输入的数据与数据库中所存放的数据保持一致性,不能有误差
2)时间特性
借阅时间与公告发布时间通过SQL语句getdate()直接获取系统时间输入到数据库里面
3)适应性
本程序采用微软VS软件C#WINDOW页面编程,微软SQL server软件编写数据库,具有更高的普遍性,适应性更强。
2.5 运行需求
用户界面:
用户预约界面:
用户个人信息界面:
管理员界面:
采购图书界面:
编目图书界面:
用户借书记录界面:
- 硬件接口
通过电脑鼠标与键盘对程序进行操作 - 软件接口
Visual Studio 与 SQL server连接,通过VS对数据库里的数据进行操作。 - 故障处理
管理员定期对软件进行测试,如果用户遇到故障尽快联系管理员进行修复。
2.6 其它需求
管理员与用户可以查看软件帮助。
使用的同时管理员对用户的信息进行保密。若要补充功能请联系管理员。
3. 软件设计说明书
3.1 软件模块结构图
3.2 文件结构和全局数据
用户登录表:记录用户的用户名与密码,用于登录。
借阅信息表:用于保存用户的借阅记录。
未编目信息表:存储采购后还没有进行编目的图书
公告信息表:用户可以对其进行查询,管理员对其进行添加与修改。
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)测试用例
选取理由 | 测试数据 | 期望结果 | |
---|---|---|---|
用户采访有效等价类 | 各项不为空,预约的图书没有库存 | 预约成功 | |
采访无效等价类 | 有空项 | 预约书名不能为空 | |
预约图书有库存 | 该图书有库存,请去查询页面进行借阅 | ||
管理员采访有效等价类 | 各项不为空 | 采购成功 | |
管理员采访无效等价类 | 有空项 | 书名为空 | |
无空项,库存超范围 | 库存错误 |
4.3.3 编目功能
1)测试目的:
测试管理的编目功能是否正常。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由 | 测试数据 | 期望结果 | |
---|---|---|---|
管理员编目有效等价类 | 书 不为空,且书 为新书 | 书 :C00102 | 编目成功 |
管理员编目无效等价类 | 书 为空 | 书 | 书 为空 |
书 已存在 | 书 :C00101 | 已有该图书,请在图书管理页面进行修改库存 | |
书 错误 | 书 :1231354132151 | 书 错误 |
4.3.4 流通功能
1)测试目的:
测试用户的查询、借阅与归还功能是否正常,管理员对图书信息的管理是否正常。
2)测试方法和测试软件:黑盒法
3)测试用例
选取理由 | 测试数据 | 期望结果 | |
---|---|---|---|
用户查询有效等价类 | 查询有该图书且借阅的图书有库存 | 借阅成功 | |
用户查询无效等价类 | 查询为空项 | 书 :书名: | 查询不能为空 |
预约图书没用库存 | 该图书库存不足,请联系管理员 | ||
用户归还有效等价类 | 有借阅且未归还的图书 | 归还成功 | |
用户归还无效等价类 | 没有未归还的图书 | 未选中借阅图书 | 归还失败 |
管理员查询有效等价类 | 查询有该图书 | 库存:10 | |
管理员查询无效等价类 | 查询为空项 | 书 :书名: | 查询不能为空 |
查询错误 | 书 :C00105 | 没有该图书,请尽快补充 | |
管理员添加有效等价类 | 各项不为空,各项输入正确 | 添加图书成功 | |
管理员添加有效等价类 | 有项为空 | 添加库存不能为空 | |
添加已有图书 | 该图书已存在,若要添加库存,请在修改功能处添加 | ||
管理员删除有效等价类 | 有该图书信息 | 图书信息 | 删除成功 |
管理员删除无效等价类 | 没有选中要删除的图书 | 请选择要删除的图书 | |
管理员借阅有效等价类 | 有借阅记录 | 选中要删除的借阅记录 | 删除成功,该图书已归还 |
管理员借阅无效等价类 | 没有选中要删除的图书 | 请选择要删除的借阅记录 |
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)测试发现的问题:无
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成表31805 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!