一、绪论
图书管理系统是典型的信息管理系统。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后者则要求应用程序功能完备,易使用等特点。因此本人结合在图书馆借书看到的,对SQL Server 2005数据库管理系统、SQL语言原理、c#语言、进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员的需要。设计充分利用VS2005、SQL Server 2005数据库技术的强大的力量,提高了编程效率和可靠性。
1. 数据库应用系统开发简介
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后把它们转变为有效的数据库设计,把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软技领域研究中一直是非常重要的主题,近年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。 (1)数据库
数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。 (2)数据库管理系统
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控
1
制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。SQL Server 2005就是一种关系型数据库管理系统。 (3)应用组件
数据库应用包括窗体、查询、菜单和应用程序。
2.图书管理系统
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的的信息数据的处理,现今,有很多的图书馆都是初步开始使用。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统。规范的信息管理手段。我的图书管理系统解决恶劣以上难题。
二、系统需求分析
1. 性能需求分析
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求: (1)系统处理的准确性和及时性
2
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。 (2)系统的开放性和系统的可扩充性
图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 (3)系统的易用性和易维护性
图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 (4)系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。 (5)系统的先进性
目前计算系统的技术发展相当快,做为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。 (6)系统的响应速度
图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
3
2. 功能需求分析(图书管理模块)
经过详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定该模块设计必须达到的目标。 以下是图书管理模块必须具备的功能:
(1)书馆管理:实现书馆的“增加”、“删除”、“修改”、“查询”,从而方便管理员管理。
(2)图书管理:实现书馆的“增加”、“删除”、“修改”、“查询”,从而方便管理员管理图书。
(3)图书分类管理:实现书馆的“增加”、“删除”、“修改”、“查询”,从而方便管理员工作。
三、概要设计
1 . 业务流程
(1)业务流程图
根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程,其处理流程如图1:
4
管理员登录用户校验合法用户图书管理程序图书管理系统主文件新图书信息读入学生信息管理信息设定图书信息表借阅图书归还图书押金、超期时限、丢失罚款设定借阅图书成功报告归还图书超期应归还图书丢失相应处理措施退出管理员 图1 图书管理系统的业务流程(整个系统流程图)
针对新的业务流程,现具体描述其功能如下:
①工作人员登录:系统对工作人员合法性进行检查。
②图书管理:对图书的分类、书馆的设置、以及图书的入库、查询、修改、删除等进行操作。
③读者管理:对读者的角色以及对读者的信息进行增删改查等管理。 ④管理员管理:对管理员的角色以及管理员的信息进行增删改查的管理。 ⑤借还书管理:主要负责借书、还书以及定义借还书规定的工作。 ⑥图书查询:的这在借书之前可以先对所要借的图书进行查询。
(2)图书管理模块流程图
图书管理模块业务流程图如下图2:
5
图2 图书管理模块业务流程图
(3)根据业务流程得出
①参与者汇总
管理员处:主要对书馆、图书、图书分类进行“增、删、改、查”管理。 书馆管理:可以根据实际需要“增加”相应的书库,“删除”书库,通过书馆代号进行“查询”,同时可以“修改”书库信息(修改书馆代号或者书馆的位置)。
图书管理:根据读者对图书的需求,进行收集整理,经过研究决定是否采购,新订,下架处理。图书遗失或采购新的图书时,分析需求,对图书进行是否补充,并更新数据库,对图书信息进行管理,(主要对图书信息进行管理,不能对读者信息进行任何操作,能够添加、更改、删除图书的信息)。
图书分类管理:当有不同分类的图书入库后,需要“增加”新的分类;“删除”暂不需要的分类;根据图书分类代号和图书分类名称“查询”图书分类,同时可以进行“修改”。 ②前台流程: 工作人员登录
工作人员登录→选择相应的操作→输入数据→更新数据
6
③后台流程:
工作人员登录→读者管理、图书管理、管理员管理、→退出
2. 模块划分
(1)按功能划分
依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图如图3所示。
图书馆管理系统 添加 查询 修改 删除
图3 图书馆管理系统的功能模块
(2)按业务划分
根据业务流程,从此系统的业务方面可以划分为以下几个业务模块,如图4所示:
图书馆管理系统 借还书 图书管理 读者管理 管理员管理
7
图4 图书馆管理系统的业务模块
而图书管理模块业务流程图如下图5 所示:
图书管理 增 加 查询 删除 修改
图5 图书管理模块
四、详细设计
1 . 数据库设计
(1)数据库的逻辑设计
在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出概念结构设计得E-R图如图6所示。
8
图6 总E-R图
图7 图书库存E-R图
9
图8 图书分类E-R图
图9 书馆E-R图
图10 图书E-R图
图11 分馆设置E-R图
实体:
图书库存(藏书号,书名,作者,出版社,出版时间,简介,库存量,价格,编号,所属分类代号)
图书分类(图书分类代号,图书分类名称,所属书馆代号) 书 馆(书馆代号,书馆名称)
10
图 书(编号,分类代号,名称) 分馆代号(编号,代号,名称,所藏书类)
(2)数据库的物理设计
依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用Microsoft SQL Server 2005。本系统决定采用一个数据库,在此主要介绍读者角色表、读者信息表、管理员角色表、管理员信息表,其结构分别如下:
表1 Book-classify(图书分类)表:
字段名称 ID Bo-cl-no Bo-cl-name Sg-no 字段描述 图书分类代号 图书分类名称 所属书馆代号 数据类型 Int varchar varchar Varvarchar 备注 主键,自动增长 主键 非空、唯一 表2 Shuguan(书馆)表:
字段名称 ID Sg-no Sg-name 字段描述 代号 书馆的名字 数据类型 Int varchar varchar 备注 主键,自动增长 主键 非空 表3 Book-stock(图书库存)表: 字段名称 ID Bo-st-no Bo-st-name Bo-st-writer Bo-cl-no Bo-st-concern Bo-st-co-time Bo-st-jianjie
字段描述 藏书号 书名 作者 所属分类代号 出版社 出版日期 简介 数据类型 Int Varchar Varchar Varchar Varchar Nvarvarchar Datetime Text 11
备注 主键,自动增长 主键 非空 非空 外键
Bo-st-jiage Bo-st-sum 价格 库存量 Money Int 非空 非空 表4 Procure(采购文档)表:
字段名称 Id Bo-cl-no Pr-sm Pr-zz Pr-cbs Pr-cbrq Pr-zt Pr-cgsl 字段描述 代号 所属分类代号 书名 作者 出版社 出版日期 状态 采购数量 表5 需求表 Demand
数据类型 Int varchar varchar varchar varchar datetime test int 备注 自动增长 非空 非空 非空 非空 非空(已购、未购) 非空 字段名称 Id Bo-cl-no De-zt De-cbs De-cbrq De-sm Re-no De-zz 字段描述 代号 图书分类代号 需求状态 出版社 出版日期 书名 借书号 作者 数据类型 Int varchar varchar text datetime varchar varchar varchar 备注 主键、自动增长 非空 非空(已采纳、未采纳) 非空 非空 非空,唯一 非空
2. 程序输入输出描述 (1)添加模块
①输入项目:操作系统传递至的各种消息以及用户的输入数据。 ②输出项目:操作成功或者失败给出相应的提示。
12
(2)查询模块
①输入项目:用户的输入数据。
②输出项目:操作成功或者失败给出相应的提示。
(3)修改模块
①输入项目:操作系统传递至的各种消息3以及用户的输入数据。 ②输出项目:操作成功或者失败给出相应的提示。
(4)删除模块
①输入项目:用户的输入数据。
②输出项目:操作成功或者失败给出相应的提示。
3. 程序接口设计 (1)外部接口
按WEB应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。
(2)内部接口
模块间接口采用数据耦合方式,通过参数传送数据,交换信息。
五、系统实现
1.数据链接
因为本系统需要不断的进行数据处理,因此不断的使用数据库的链接,因此将数据链接写成一个名称叫做“lianjie”的类,此类的输出为链接数据库的字
13
符串,具体的代码如下所示:
public static SqlConnection GetConnection()//定义一个名称为GetConnection的获得连接字符串的方法 {
string str = \"Data Source=.\\\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\\\library.mdf;Integrated Security=True;User Instance=True\";//定义连接字符串
SqlConnection con = new SqlConnection(str);//创造一个SqlConnection 实例 return con;//返回连接字符串 }
2.“增、删、改、查”实现 (1)功能流程图
功能流程图如下图所示:
需要说明的问题:
添加角色的各项必须为非空。 功能描述
功能类型:添加数据 操作权限:读者管理员
14
(2)界面设计
(3)动作说明
动作编号 A01 A02 动作名称 确认添加 返回 动作描述 点击按钮 提交数据到数据库读者角色表中 点击返回按钮 将跳转到读者管理首页
基础信息处理 数据要求
功能类型:数据添加 数据描述:
页面显示录入字段如下:
字段名称 数据类型 录入方式 分类名称 String 文本框 分类代号 String 文本框 是否非空项 数据检验 Y N Y N 默认显示 (4)图书分类添加的数据处理
当用户点击“确认添加”按钮之后,页面首先判断各个输入项数否为空,如果为空则给出提示,如果不为空则将所输入的内容添加到数据库,如果添加成功则弹出添加成功的消息框,且各文本框内容被清空;如果添加失败则弹出添加失败的消息框,各文本框内容不会被清空,以便重新添加。
15
具体的逻辑如下: 打开数据链接con;
str1 = \"select count(*) from 表名 where 分类代号='所输入的分类代号' and 分类名称='所输入的分类名称\";
str2 = \"insert into表名 values (''所输入的分类代号','所输入的分类名称') \";
调用DB类中的ExecuteScalar()方法; DB. ExecuteScalar(str1); if (如果该分类不存在)
{调用DB类的 ExecuteCommand()方法; DB. ExecuteCommand(str2); if (操作成功) { 弹出添加成功消息框; 页面的文本框清空; } else
{ 弹出添加失败消息框; }} else
{ 弹出该分类已经存在消息框; } 数据连接关闭con; 弹出该分类已经存在消息框
4.查询的实现 (1)具体说明
在选择相应的业务时,需要在当前的页面显示;并且在管理页面内,默认显示按条件查询页面。 功能描述
功能类型:查询数据
16
操作权限:读者管理员
(2)界面设计
动作说明如下: 动作编号 A01 A02 动作名称 按条件查询 查询全部 A03 查询
A04
数据处理:
返回
动作描述 点击按钮 将页面转按条件查询的界面 点击按钮 将页面转至显示全部读者角色信息的界面
点击按钮 将页面转至根据条件查询出来的单条记录界面
点击按钮 将页面转至读者管理的首页
用层来控制点击按条件查询与查询全部是所显示的内容;
在页面上拖放两个Gridview控件到页面上,然后绑定到数据库相应的表中,设置where选项卡。
17
5. 修改的实现 (1)具体说明
对读者的信息进行修改首先进入查询页面查询出所要修改的读者信息,然后在查询页面上单击“修改”,跳转至修改页面,在修改页面的各个文本框中已经显示该角色的各种信息,只需要修改相应的向即可。
(2)功能流程图
功能流程图如下图:
功能描述
功能类型:修改数据
(3)界面设计
基础信息处理
下表是动作说明: 动作编号
动作名称
18
动作描述
A01 A02 数据要求
功能类型:数据修改
确定修改 返回 点击按钮 删除数据 点击按钮 将页面转至读者管理首页
(4)读者角色修改的数据处理
在查询页面中的主要代码:
首先在数据控件GridView2的SelectedIndexChanging时间中加入如下代码: protected void GridView2_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{代码执行的结果是获得所选行数据的ID;
Intid=Convert.ToInt32(GridView2.DataKeys[e.NewSelectedIndex].Value.ToString());
将ID传递给修改页面;
Response.Redirect(\"修改页面?id=\" + id); } 在修改页面中显示数据的主要代码: if (!IsPostBack)
{ 数据连接打开;
接受从查询页面传递过来的ID,并调用DB类的GetDataSet() 的方法; Str=\"select * from 表名where id =\" + Request[\"id\"], con); DataRowView rowview = DB.GetDataSet (str ) .DefaultView[0]; 将表中的值填充到页面的相应的地方; 数据连接关闭;} 修改数据处理: 当用户点击“确认修改”按钮之后,修改数据库中记录,如果修改成功则弹出修改成功的消息框,且各文本框内容被清空;如果修改失败则弹出修改失败的消息框,各文本框内容不会被清空,以便重新修改。 具体的逻辑如下:
19
str2 = \"update 表名 set 分类代号=' 分类代号',分类名称='分类名称' where ID=\" + Request[\"id\"]; 调用DB类的方法; if (修改数据成功) {弹出修改成功对话框;
清空页面的文本框; }
else
{弹出修改失败对话框; }
数据连接关闭;
6. 删除的实现 (1)具体格式如下
需要说明的问题:
该页面的输入项为读者角色名称与代号,输入项为非空。 功能描述
功能描述:删除数据 操作权限:管理员
(2)功能流程图
20
(3)界面设计
(4)数据处理
首先写出对数据操作的SQL语句,然后调用DB类的相应的方法,最后根据方法返回的结果给出相应的提示。如下所示:
当用户点击“删除”按钮之后,页面首先判断各个输入项数否为空,如果为空则给出提示,如果不为空则根据所输入的内容从数据库中删除该记录,如果删除成功则弹出删除成功的消息框,且各文本框内容被清空;如果删除失败则弹出删除失败的消息框,各文本框内容不会被清空,以便重新删除。 具体的逻辑如下: 打开数据链接con;
str1 = \"select count(*) from 表名 where 分类代号='所输入的分类代号' and 分类名称='所输入的分类名称\";
str2 = \" delete from Reader_role where分类代号='所输入的分类代号' and 分类名称='所输入的分类名称\"; 调用DB类的ExecuteScalar()方法; if (如果该分类不存在)
{弹出该分类不存在消息框; else
{调用DB类的ExecuteCommand() 方法; if (操作成功)
21
{弹出删除成功消息框; 页面的文本框清空; } else
{弹出删除失败消息框; } }} 数据连接关闭con;
六、测试分析报告
有两种基本方法可以用来标识测试用例,即功能测试(黑盒测试)和结构测试(白盒测试)。本次测试我主要采用了功能测试。
功能测试的基本观点是,任何程序都可以看作是将输入定义域取值映射到输出值域的函数。
1. 测试计划和要点
软件测试的本质是针对要测试的内容确定一组测试用例。在讨论之前,我先把要测试各个模块的计划和要点列出:
(1)测试要点
数据库连接情况:正常情况,数据库文件缺少,外部系统异常。 系统设置获取:正常情况,外部系统异常。
对用户输入的响应:合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并作出响应(提出警告); 子模块的异常状况,系统能否及时做出响应。
(2)添加模块的测试要点
模块正常运行流程
用户输入数据检查(学生学号、图书书号),包括数据合理性检查,以及合法性检查
数据库操作
数据库连接异常时的响应情况
22
(3)查询模块的测试要点
数据库连接正常时 输入合理合法参数 输入参数不合理 输入参数不合法
数据库连接异常,数据库数据异常(图书分类为空)
(4)修改模块的测试要点
模块正常运行流程
用户修改数据检查(学生学号、管理员密码),包括数据合理性检查,以及合法性检查 数据库操作
数据库连接异常时的响应情况
(5)删除模块的测试要点
数据库连接正常 输入的数据合理合法 输入的数据不合理 输入的数据存在 输入的数据不存在 数据库数据异常 数据库连接异常
2. 测试用例
测试用例是为了特定目的(如考察特定程序路径或验证是否符合特定的需求)而设计的测试数据及与之相关的测试规程的一个特定的集合,或称为有效地发现软件缺陷的最小测试执行单元。
23
根据上一节给出的测试要点,又因为测试是不可能穷举的。所以我们采用等价划分法来进行对图书管理系统的测试。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有代表性和完整性。
(1)图书管理模块测试用例
功能描述 所属模块 用例目的 前提条件 用例ID FTC-001 工作人员在“图书管理管理-入库”中输入藏书号、书名、作者、出版社、出版日期、简介、价格、数量,选择所属图书分类 图书管理模块 验证添加功能是否符合需求定义 系统里面没有我们准备测试的数据 输入/动作 藏书号:rjbj01 书名:c# 作者:王明 出版社:天津出版社 出版日期:2012-01-21 简介:省略 价格:¥21 数量:2 期望结果 弹出“添加成功”消息框 实际情况 通过/失败 执行人员 1. 选择“图书管理-查询”显示的数量为:选项 2 2.书名,击查询按钮 FTC-002 藏书号:rjbj01 书名:c# 作者:王明 出版社:天津出版社 出版日期:2012-01-21 简介:省略 价格:¥21 数量:2 弹出“添加成功”消息框 2. 选择“图书管理-查询”显示的数量为:选项 4 3. 输入书名,击查询按钮 24
FTC-003 藏书号:空格/不输入 书名:c# 作者:王明 出版社:天津出版社 出版日期:2012-01-21 简介:省略 价格:¥21 数量:2 藏书号:rjbj01 书名:空格/不输入 作者:王明 出版社:天津出版社 出版日期:2012-01-21 简介:省略 价格:¥21 数量:2 藏书号:rjbj01 书名:c# 作者:空格/不输入 出版社:天津出版社 出版日期:2012-01-21 简介:省略 价格:¥21 数量:2 藏书号:rjbj02 书名:c# 作者:王明 出版社:空格/不输入 出版日期:2012-01-21 简介:省略 价格:¥21 数量:2 藏书号:rjbj03 书名:c# 作者:王明 出版社:天津出版社 出版日期:空格/不输入 简介:省略 价格:¥21 数量:2 添加失败! 提示:藏书号不能为空 FTC-004 添加失败! 提示:书名不能为空 FTC-005 添加失败! 提示:作者不能输入为空 FTC-006 添加成功! FTC-007 添加成功! 25
FTC-008 藏书号:rjbj03 书名:c# 作者:王明 出版社:天津出版社 出版日期:2001-02-01 简介:空格/不输入 价格:¥21 数量:2 藏书号:rjbj03 书名:c# 作者:王明 出版社:天津出版社 出版日期:2001-02-01 简介:省略 价格:空格/不输入 数量:2 藏书号:rjbj03 书名:c# 作者:王明 出版社:天津出版社 出版日期:2001-02-01 简介:省略 价格:¥21 数量:空格/不输入 图书管理模块 测试查询功能 添加失败! 提示:简介输入不能为空 FTC-009 添加失败! 提示:价格输入不能为空 FTC-010 添加失败! 提示:数量输入不能为空 功能描述 所属模块 用例目的 工作人员在“图书管理-查询”中进行查询测试 26
前提条件 数据库的Book_stock表中已存放以下数据: 藏书号:rjbj01 书名:c# 作者:王明 出版社:天津出版社 出版日期:2001-01-01 简介:省略 价格:¥21 数量:2 输入/动作 1.输入 书名:c# 2.点击查询按钮 点击查询全部按钮 期望结果 成功查询出该图书的信息 实际情况 用例ID FTC-026 FTC-027 按条件查询按钮 查询全部按钮 通过/失败 执行人员 查询出全部图书信息 功能描述 所属模块 用例目的 前提条件 工作人员在“图书管理管理-查询-修改”中进行修改测试 图书管理 测试修改功能 数据库的Book_stock表中已存放以下数据: 藏书号:rjbj01 书名:c# 作者:王明 出版社:天津出版社 出版日期:2001-01-01 简介:省略 价格:¥21 数量:2 期望结果 实际情况 用例ID FTC-037 输入/动作 通过/失败 执行人员 1.在“图书管理-查询”弹出“修改成功” 中选择 消息框 按条件查询 2.输入 书名:c# 3.点击查询按钮 4.在查询出的信息最右列选择“修改”链接 5.在跳转到的修改页27
面中,修改图书简介为“主要介绍了一些基础知识,还有编程思想,编程规范” FTC-038 1.在“图书管理-查询”可以看到书名为中选择 “c#”的图书简介按条件查询 已经被修改 2.输入 书名:c# 3.点击查询按钮 图书管理 测试删除功能 数据库的Book_stock表中已存放以下数据: 藏书号:rjbj01 书名:c# 作者:王明 出版社:天津出版社 出版日期:2001-01-01 简介:省略 价格:¥21 数量:2 期望结果 实际情况 功能描述 所属模块 用例目的 前提条件 工作人员在“图书管理-删除”中进行删除 用例ID FTC-041 输入/动作 1. 选择导航中的“图书管理-下架”选项 2. 在“图书管理-删除”页面中输入: 书名:c# 作者:王明 3.点击下架按钮 通过/失败 执行人员 弹出“下架成功” 消息框 FTC-042 1.在“图书管理-查询”弹出“该图书不存中选择 在”消息框 按条件查询 2.输入 书名:c# 3.点击查询按钮 28
FTC-042 1. 选择导航中的“图书管理-下架”选项 2. 在“图书管理-删除”页面中输入: 书名:空格/不输入 作者:王明 3.点击下架按钮 提示:书名不能为空 FTC-042 1. 选择导航中的“图书管理-下架”选项 2. 在“图书管理-删除”页面中输入: 书名:c# 作者:空格/不输入 3.点击下架按钮 提示“作者不能为空”
(2)性能测试用例
页面平均响应速在单用户执行增加修改和删除操作的时候,在运行环境规定的条件下,单度 次操作的响应时间要求在2秒钟之内。 用例目的 前提条件 用例ID 测试单用户执行操作的响应时间是否符合需求规定。 以管理员身份登入后台页面,实行增删改查。 期望的输入实际性性能(平均数据 能(平均值) 值) 工作人员将图书入库 工作人员查询图书 工作人员修改图书 工作人员删除图书 <=2秒 Pass/ Fail /To do 注释 执行人员
PTC-001
PTC-002 <=2秒 PTC-003 <=2秒 PTC-003 <=2秒 29
(3)链接测试用例
测试所有链接是否按指示的那样确实链接到了该链接的页面; 测试所链接的内容是否存在;
保证Web应用系统上没有孤立的页面(所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问)。
链接测试 用例目的 前提条件 用例ID LTC-001 LTC-002 LTC-003 包括"所有链接均链接到了该链接的页面用例","链接的页面不存在测试用例","系统上没有孤立的页面测试用例" 测试所有链接是否按照指示的那样确实链接到该链接的页面 期望的性能实际性能Pass/Fail 执行人输入数据 注释 (平均值) (平均值) /To do 员 手动测试系统上没有 各个页面 孤立的页面 单击每一个链接,所有链接均检查所链 又链接页面 接的页面是否存在 单击页面中的每一个链接, 所有检查链接链接均链接是否按照到了该链接 指示的那的页面 样确实链 接到了该链接的页面 (4)导航测试用例
导航按钮清晰可见,便于使用 系统中的主要模块应该通过主页链接,直接访问 搜索引擎或其他的导航帮助 按照导航信息,应能顺利完成各项任务 导航功能直观、完整、准确 输入数据 期望的性能实际性能Pass/Fail 注释 30
导航测试 用例目的 前提条件 用例ID
执行人
NTC-001 NTC-002 NTC-003 NTC-004 (平均值) (平均值) /To do 检查各个导航按钮清页面中的晰可见,便 导航按钮 于使用 检查管理员管理页在前、后台中是否包主页面可以含了所有 直接进入到对管理员目标模块 管理的链接 检测页面在页面左侧中是否提或上方提供供搜索引搜索引擎及 擎及其他导航帮助信的导航帮息 助 按照导航按照道行可信息能否以一步一步顺利完成地顺利完成 对各种信各种信息的息的管理 各项操作 员 (5)用户界面测试用例
用例编号 UTC-001 UTC-002 UTC-003 UTC-004 UTC-005 UTC-006 UTC-007 UTC-009 UTC-010 UTC-012 UTC-013 UTC-015 检查项 窗口切换、移动、改变大小时正常吗? 各种界面元素的文字正确吗?(如标题、提示等) 各种界面元素的状态正确吗?(如有效、无效、选中等状态) 各种界面元素支持键盘操作吗? 各种界面元素支持鼠标操作吗? 对话框中的缺省焦点正确吗? 数据项能正确回显吗? 执行有风险的操作时,有“确认”、“放弃”等提示吗? 操作顺序合理吗? 各种界面元素的布局合理吗?美观吗? 各种界面元素的颜色协调吗? 字体美观吗? 测试执行人员及其评价 31
3 . 测试总结
(1)测试目标完成 (2)
测试已经通过
(3)可以进入下一阶段项目目标
七、总结
经过小组合作,该毕业项目“图书馆信息管理系统”终于结束了。从中学习到了很多知识:
技术上面:我们主要采用Visual studio2005作为前台开发工具,Microsoft SQL Severe2005作为后台数据库,结合软件工程设计和数据库编程的有关知识,开发了这个图书管理系统。熟悉并掌握了Microsoft SQL Severe2005和VS2005的数据库使用,另一方面,也对SQL语言作为嵌入式语言的功能有了更深刻的体会。同时,我也发现自己对于软件工程设计和数据库设计的知识掌握的还不够,设计和编程能力还有待于进一步提高。这次课程设计给了我一个锻炼自己,强化专业知识的机会,通过这次课程设计,我也得以一窥软件工程设计的广袤天地,我相信,只要认真学习,多借鉴别人的经验,多思考,多实践,就一定能够成为一个合格的软件设计人员,能够翱翔在软件开发的天地。
其他方面:任何一个项目的研发仅仅靠一个人是不可能完成的,合作精神很重要。
同时,在这里感谢我的指导老师赵旭俊老师的悉心指导。
32
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务