一、需求分析:

1.1系统目的:

本系统主要实现对图书馆的信息进行管理,面对校园的学生借书需求,对读者资源,图书资源,借书信息进行管理,本系统的开发就是为了提高图书管理的工作效率,加强图书馆管理。

1.2需求定义

作为学生对图书管理系统的要求有:

  1. 能够查询自己的基本资料
  2. 能够借阅图书情况
  3. 能够查询历史借阅情况

作为图书管理员要,他们对图书管理系统的要求有:

  1. 能方便的对图书进行登入登记,注销陈旧的书籍。
  2. 能够方便地对读者进行登记,或注销读者信息(基本信息)
  3. 能够方便地对读者进行借书、还书登记(借阅信息)

二、功能说明:

系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有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’

预期输出:******

*使输出刚好等于最小允许的数字串长度

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐