一、需求分析:
1.1系统目的:
本系统主要实现对图书馆的信息进行管理,面对校园的学生借书需求,对读者资源,图书资源,借书信息进行管理,本系统的开发就是为了提高图书管理的工作效率,加强图书馆管理。
1.2需求定义
作为学生对图书管理系统的要求有:
作为图书管理员要,他们对图书管理系统的要求有:
二、功能说明:
系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有5部分:
2.1 图书基本信息
1.书籍标准的制定,包括图书编号、书名、作者、价格。
2.书籍信息的查询,包括图书编号、书名、作者。
3.书籍信息的输入,包括图书编号、书名、作者、价格
2.2办理借书证
1.新生办理借书证
2.丢失办理借书证
2.3实现借书功能
1.借书信息的输入,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,备注信息(到期时间)等。
2.借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,结束日期,备注信息(到期时间)等。
2.4实现还书功能
1.还书信息的输入,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,结束日期,备注信息(到期时间)等。
2.还书信息的查询和修改,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,结束日期,备注信息(到期时间)等。
2.5图书查询
可以对图书进行精确、模糊查询并查询信息以列表的方式呈现给用户,方便用户查找信息,另外对超期的借阅情况自动给出提示信息。
三.系统功能结构图:
四、图书管理系统 E-R图:
五、图书管理借阅数据流图:
六、图书库存信息IPO图:
七、图书管理系统流程图:
被测试的系统流程图:
系统流图白盒测试:
一:.语句覆盖的含义是,选择足够多的测试数据,
使被测程序中的每个语句至少执行一次
管理员界面(B1)
(1.1)START-A-B1-C1-C1.1-C1-D1-E1-F1.1-END
(1.2)START-A-B1-C1-C1.1-C1-D1-E1-F1.2-END
(1.3)START-A-B1-C1-C1.1-C1-D1-E1-F1.3-END
(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END
(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END
(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END
(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END
(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END
(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END
学生界面(B2)
(5)START-A-B2-C2-C2.1-C2-D2-E5-END
(6)START-A-B2-C2-C2.1-C2-D2-E6-END
(7)START-A-B2-C2-C2.1-C2-D2-E7-END
二.判定覆盖又叫分支覆盖,它的含义是,
不仅每个语句必须至少执行一次,
而且每个判定的每种结果都应该至少执行一次,
也就是每个判定的每个分支都至少执行一次
管理员界面(B1)
I:
(1.1)START-A-B1-C1-C1.1-C1-D1-E1-F1.1-END
(1.2)START-A-B1-C1-C1.1-C1-D1-E1-F1.2-END
(1.3)START-A-B1-C1-C1.1-C1-D1-E1-F1.3-END
(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END
(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END
(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END
(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END
(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END
(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END
学生界面(B2)
(5)START-A-B2-C2-D2-E5-END
(6)START-A-B2-C2-D2-E6-END
(7)START-A-B2-C2-D2-E7-END
II:
管理员界面(B1)
(1.1)START-A-B1-C1-D1-E1-F1.1-END
(1.2)START-A-B1-C1-D1-E1-F1.2-END
(1.3)START-A-B1-C1-D1-E1-F1.3-END
(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END
(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END
(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END
(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END
(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END
(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END
学生界面(B2)
(5)START-A-B2-C2-C2.1-C2-D2-E5-END
(6)START-A-B2-C2-C2.1-C2-D2-E6-END
(7)START-A-B2-C2-C2.1-C2-D2-E7-END
3.条件覆盖的含义是,不仅每个语句至少执行一次,
而且是判定表达式中的每个条件都去到各种可能的结果
管理员界面(B1)
I:
(1.1)START-A-B1-C1-C1.1-C1-D1-E1-F1.1-END
(1.2)START-A-B1-C1-C1.1-C1-D1-E1-F1.2-END
(1.3)START-A-B1-C1-C1.1-C1-D1-E1-F1.3-END
(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END
(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END
(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END
(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END
(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END
(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END
学生界面(B2)
(5)START-A-B2-C2-C2.1-C2-D2-E5-END
(6)START-A-B2-C2-C2.1-C2-D2-E6-END
(7)START-A-B2-C2-C2.1-C2-D2-E7-END
II:
管理员界面(B1)
(1.1)START-A-B1-C1-D1-E1-F1.1-END
(1.2)START-A-B1-C1-D1-E1-F1.2-END
(1.3)START-A-B1-C1-D1-E1-F1.3-END
(2.1)START-A-B1-C1-D1-E2-F2.1-END
(2.2)START-A-B1-C1-D1-E2-F2.2-END
(3.1)START-A-B1-C1-D1-E3-F3.1-END
(3.2)START-A-B1-C1-D1-E3-F3.2-END
(4.1)START-A-B1-C1-D1-E4-F4.1-END
(4.2)START-A-B1-C1-D1-E4-F4.2-END
学生界面(B2)
(5)START-A-B2-C2-D2-E5-END
(6)START-A-B2-C2-D2-E6-END
(7)START-A-B2-C2-D2-E7-END
管理员登入界面(黑盒测试)
账号最高十二位,只可英文小写字母和阿拉伯数字,
且第一个必须是英文字母
密码小于八位大余6位 只可数字
(1)有效输入的等价类有:
账号8-12个英文小写字母或数字组成(最高位不为数字)
密码 6-8位数字串
(2)无效输入的等价类有:
账号:
空字符串(全是空格)
最高位是数字
有存在英文字母和数字以外的其他字符
密码:
空字符串(全是空格)
有存在数字以外的其他字符
(3)合法输入的等价类有:
在计算机能表示的长度之内
(4)非法输入的等价类有:
输入长度已超出计算机处理范围之内
更据上面划分出的等价类
账号类:
*账号8-12个英文小写字母或数字组成(最高位不为数字)
输入:‘ruoyun1234’
预期输出:ruoyun1234
*最高位不为数字的字符串,输出时合法的账号
输入:‘ruoyunxc’
预期输出:ruoyunxc
*输入全为英文的字符串,输出时合法的账号
输入:‘ ’
预期输出:错误,不能为空字符串
*输入为空字符串,不符合账号要求
输入:‘45fdsa’
预期输出:错误,第一个字符串不可是数字
* 最高位不为数字的字符串
输入:‘fds%……&45’
预期输出:错误,存在非合法字符
*输入不能存英文字母和数字以外的字符串
边界值分析
输入:‘ruoyunxingche’
预期输出:ruoyunxingche
*使输出刚好等于最大允许的字符串长度
输入:‘ruoyunxc’
预期输出:ruoyunxc
*使输出刚好等于最小允许的字符串长度
输入:‘ruoyunxingchen’
预期输出:字符串过长,不符合要求
*使输出刚好超过最大允许的字符串长度
输入:‘ruoyunx’
预期输出:字符串太短,不符合要求
*使输出刚好小于最小允许的字符串长度
密码:
输入:‘rew343’
预期输出: 错误,存在出数字以外的字符串
*输入只可为数字
输入:‘5257257’
预期输出:*******
*输入成功,合法输入
输入:‘123456789’
预期输出:数字过长,不符合要求
*使输出刚好超过最大允许的数字串长度
输入:‘12345’
预期输出:数字过短,不符合要求
*使输出刚好未超过最小允许的数字串长度
输入:‘12345678’
预期输出:********
*使输出刚好等于最大允许的数字串长度
输入:‘123456’
预期输出:******
*使输出刚好等于最小允许的数字串长度