管理信息系统开发案例教程第10章设计图书借出与归还模块
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.创建业务处理类库 参照第2章介绍的方法,创建一个业 务处理类库“bookAPP”。
4.创建应用程序项目
参照第2章介绍的方法,创建一个应 用程序项目“bookUI”。
10.4 创建类
10.4.1 添加现有的数据库操 作类bookDbClass
将第2章创建的数据库操作类 “bookDbClass”添加到类库“bookDB”中。
2.设置启动对象
参照2.7.1节的方法将 “bookLoanManage.vb”设置为启动对象。
10.9.2
用户界面测试
(1)测试内容:用户界面的视觉效 果和易用性;控件状态、位置及内容 确认;光标移动顺序。
(2)确认方法:屏幕拷贝、目测; 【图书借出】窗体运行的初始状态如 图10-12所示。 (3)测试结论:合格。
在如图10-12所示的【图书借出】窗口 中,单击【…】按钮,显示【选择借阅者】 窗口,在该窗体中双击选择编号为 “200603020105”的借阅者,如图10-13所 示。
图10-13 在【选择借阅者】窗体中双击选择一位借阅者
在【图书借出】窗口中,单击【…】 按钮,显示【选择图书】窗口,在该窗体 中双击选择条码编号为“0050287”的图书, 如图10-14所示。
返回操作结果
数据库 bookData 数据表 “借阅信息”
图10-8 “图书借出”模块的多层架构
1.创建应用程序解决方案
(1)启动Microsoft Visual 2003,显示系统开发环 境。 (2)参照第2章介绍的方法,新建一 个空白解决方案。
2.创建数据库访问类库
参照第2章介绍的方法,创建一个数 据库访问类库“bookDB”。
图10-14 在【选择图书】窗体中双击选择一本图书
选择“借阅者”和“待借图书”后 【图书借出】窗口如图10-15所示。
图10-15 分别确定借阅者和待借出的图书
在【图书借出】窗口中,单击【借出】 按钮,显示如图10-16所示的“借书成功” 提示信息对话框。
图10-16 “借书成功”的提示信息对话框
预期结果
成功借出图书 由于借书证挂 失,借出图书失败 由于该借阅者 有超期未还的图书, 借出图书失败
2
200603020106
00050252
3
200603020104
谢群
-
2.测试使用有效借书证成功借出 图书
(1)测试内容:对于有效借书证, 成功借出图书。 (2)确认方法:屏幕拷贝、目测。
(3)测试过程。
图10-9 【图书借出】窗体的外观设计
3.设置窗体与控件的属性
10.6 编写【图书借出】 窗体程序代码
1.添加引用
参照2.4.2节的方法将类库bookAPP添 加到类库bookUI的引用中。
2.声明窗体级变量 3.编写【图书借出】窗体Load 事件过程的程序代码
4.编写自定义过程getBorrower 的程序代码 5.编写自定义过程getBook的程 序代码
测试【图书借出与归还】程序
10.1 【图书借出与归还业务】 需求建模
1.绘制“图书借出与归还”模块 的用例图 2.绘制“图书借出类”的类图 3.绘制“图书借出界面类”的类 图 4.绘制“图书”的状态图
5.绘制“图书借出”的顺序图 6.绘制“图书借出”的活动图 7.绘制“图书借出”的协作图
10.2 建立数据表与数据视图
功能说明 bookDB类库中bookDbClass类的对象 用于获取借阅者的信息,包含1个可选参数, 用于传递借阅者编号 用于获取待借出图书的信息,包含1个可选参 数,用于传递图书条码 用于获取指定借阅者已借出图书的总数量,包 含1个参数,用于传递借阅者编号 用于获取借阅信息,包含1个可选参数,用于 传递借阅者编号
在该对话框中单击【确定】按钮,成 功借出一本图书,“向鹏的已借书情况” 发生了变化,如图10-17所示。
图10-17 成功借出一本图书后,【图书借出】窗口的变化
(4)测试结论:合格。
3.测试使用挂失的借书证借出图 书失败 (1)测试内容:使用挂失的借书证, 借出图书失败。 (2)确认方法:屏幕拷贝、目测。
本章重点 教学方法 课时建议
【任务描述】
1.任务卡
任务卡如表10-1所示。
表10-1
任务卡
模块编号
010-1
模块名称
图书借出
计划工时
6 loanManage、 selectBook、 selectBorrower 借阅信息
所属系统名称
图书管理系统
窗体名称
业务处理层的类名称
l创建业务处理类 loanClass
1.业务处理类loanClass各个成 员的功能说明
根据业务处理类的模型创建业务处理 类loanClass,业务处理类loanClass各个成 员的功能如表10-4所示。
表10-4
loanClass类各个成员的功能
成员名称 bookDbObj
成员 类型 变量
getBorrowerInfo
getBookInfo getLoanBookNums getLoanInfo
方法
方法 方法 方法
成员名称 getOverdueInfo isOverdue loanAdd
成员 类型 方法 方法 方法
功能说明 用于获取图书超期未还的借阅信息,包含1 个参数,用于传递借阅者编号 用于检验指定借阅者是否存在超期未还的图 书,包含1个参数,用于传递借阅者编号 用于新增借阅信息,包含6个参数,用于传 递借阅者编号、图书条码、借出日期、应还日期、 续借次数和图书借阅员等数据 用于更新“书目信息”数据表中图书的“现 存数量”,包含1个参数,用于传递书目编号 用于设置“图书信息”数据表中的图书状态, 包含2个参数,用于传递图书条码和图书状态等 数据。
6.编写自定义过程checkEmpty 的程序代码 7.编写自定义过程setLoanInfo 的程序代码
8.编写【选择借阅者】按钮的 Click事件过程的程序代码 9.编写【选择图书】按钮的 Click事件过程的程序代码
10.编写【借阅者编号】文本框 的KeyDown事件过程的程序代码 11.编写【图书条码】文本框 KeyDown事件过程的程序代码
第10章 设计图书 借出与归还模块
【教学导航】
知识技能目标
(1)了解“图书借出与归还”模块的业务需求建模方法 (2)掌握“bookView”数据视图的设计方法 (3)掌握“图书借出与归还”模块多层架构的分析设计方法 (4)掌握“图书借出与归还”模块业务处理类的分析设计方 法 (5)掌握“图书借出”、“图书续借与归还”、“选择已借 出图书”等窗体的界面设计方法与功能实现方法 (6)掌握“图书借出与归还”模块的测试方法 (1)“图书借出与归还”模块多层架构的分析设计 (2)“图书借出与归还”模块业务处理类的分析设计 (3)“图书借出”窗体的界面设计与功能实现 项目教学法、分组讨论法、理论实践一体化、讲练结合 8课时(含课堂同步实践)
10.5 设计【图书借出】 应用程序界面
1.添加Windows窗体
参照2.5节的方法在bookUI类库中添 加一个新的Windows窗体。
2.设计窗体外观
在【图书借出】窗体中添加3个 GroupBox控件、1个DataGrid控件、12个 Label控件、12个TextBox控件和4个Button 控件,调整各个控件的大小与位置,窗体 的外观如图10-9所示。
图10-12 【图书借出】窗体运行的初始状态
10.9.3
功能测试
功能测试的目的是测试任务卡中的功 能要求是否能够实现,同时测试【图书借 出与归还】模块的容错能力。
1.准备测试用例
准备的测试用例如表10-29所示。
表10-29
模块的测试用例
测试数据
序号 借阅者编号 1 200603020105 姓名 向鹏 龙川玉 图书条码 00050287 图书名称 数据库系统 原理与应用 数 据库访问技术案 例教程 -
书目信息
图书名称
书目信息
价格
书目信息
10.3 设计【图书借出与归还】 模块多层架构
“图书借出”模块采用多层架构设计, 其逻辑结构如图10-8所示。
用户界面层
业务处理层 执行业务处理
数据操作层
数据存储层 存取数据
图 书 借 出 界 面
返回操作结果
图 书 借 出 类
执行数据操作
返回操作结果
数 据 库 操 作 类
12.编写【借出】按钮Click事件 过程的程序代码
10.7 设计【选择借阅者】 应用程序界面
10.8 设计【选择图书】 应用程序界面
10.9 测试【图书借出与归还】 程序 10.9.1 设置启动项目和启动 对象
1.设置解决方案的启动项目
参照2.7.1节的方法将“bookUI”设置 为启动项目。
bookNowNumReduce
setBookState
方法
方法
2.添加引用
参照2.4.2节的方法将类库bookDB添 加到类库bookAPP的引用中。
3.添加类
参照2.4.1中的方法,在bookAPP类库 中添加一个类“loanClass.vb”。
4.业务处理类loanClass各个成 员的代码编写
在数据库“bookData”中创建一个数 据视图“bookView”,该视图的结构信息 如表10-3所示。
表10-3
“bookView”视图的结构信息
列 名
表 名
列 名
表 名
列 名
表 名
图书条码
书目编号
图书信息
图书信息
作者
总藏书数量
书目信息
书目信息
ISBN
出版社名称
书目信息
出版社
图书状态
图书信息
现存数量
主要接口与属性简述 (1) 窗体级局部变量:loanObj为bookAPP类库loanClass类的对象,strCardState用 于存储图书状态,strBibliothecaId用于存储书目编号,borrowerId用于存储借阅者编号, bookBarcode用于存储借出图书的条码,loanerName用于存储借阅操作员的姓名, loanDate用于存储图书借出日期,returnDate用于存储图书归还日期,maxNum用于存储 限借数量,maxDay用于存储限借期限,loanNums用于存储图书的续借次数 (2)自定义过程getBorrower:用于获取和显示借阅者的相关信息 (3)自定义过程getBook:用于获取和显示待借阅图书的相关信息 (4)自定义过程checkEmpty:用于检验相关控件是否为空 (5)自定义过程setLoanInfo:用于设置图书借出信息 (6)方法getBorrowerInfo:用于获取借阅者的信息 (7)方法getBookInfo:用于获取待借出图书的信息 (8)方法getLoanBookNums:用于获取指定借阅者已借出图书的总数量 (9)方法getLoanInfo:用于获取借阅信息 (10)方法getOverdueInfo:用于获取图书超期未还的借阅信息 (11)方法isOverdue:用于检验指定借阅者是否存在超期未还的图书 (12)方法loanAdd:用于新增借阅信息 (13)方法bookNowNumReduce:用于更新“书目信息”数据表中图书的“现存数量 ” (14)方法setBookState:用于设置“图书信息”数据表中的图书状态
数据操作层的类名称
bookDbClass
模块主要功能简述
(1)通过条码扫描器读取借阅者编号,或者直接输入借阅者编号,或者打 开借阅者选择窗体双击选择借阅者编号等方式识别借阅者 (2)以识别借阅者类似的方法识别待借阅的图书 (3)对于借书证有效的借阅者执行“图书借出”操作 (4)更新“书目信息”数据表中的图书现存数量,更新“图书信息”数据 表中的图书状态。 (5)显示指定借阅者的图书借阅信息
【任务完成示范】
10.1
【图书借出与归还业务】需求建模
10.2
建立数据表与数据视图
10.3
设计【数据查询】模块多层架构
10.4
创建类
设计【图书借出】应用程序界面
10.5
10.6
设计【查询图书借阅数据】应用程序界面
10.7 设计【选择借阅者】应用程序界面
10.8
设计【选择图书】应用程序界面
10.9
(3)测试过程。
在如图10-12所示的【图书借出】窗口 的“借阅者编号”文本框中输入借阅者编 号“200603020106”,按回车键,接着选择 一本待借图书,单击【借出】按钮,将显 示如图10-18所示的“借书证已被挂失”的 提示信息。
图10-18 “借书证已被挂失”的提示信息