资源预览内容
第1页 / 共101页
第2页 / 共101页
第3页 / 共101页
第4页 / 共101页
第5页 / 共101页
第6页 / 共101页
第7页 / 共101页
第8页 / 共101页
第9页 / 共101页
第10页 / 共101页
亲,该文档总共101页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,第11章 设计罚款管理模块,【教学导航】,【任务描述】,1任务卡 任务卡如表11-1所示。,表11-1 任务卡,【任务完成示范】,11.1 【罚款管理】业务需求建模,1建立“罚款管理”模块的用例图 2绘制“图书罚款类”的类图 3绘制“图书借阅类”的类图,4绘制“图书罚款处理界面类”的类图 5绘制“图书超期罚款处理”的顺序图 6绘制“图书罚款处理”的活动图,11.2 建立数据表,1建立数据表“罚款类型” 打开SQL Server 2000或者SQL Server 2005企业管理器,在数据库“bookData”中创建一个数据表“罚款类型”,该数据表的结构信息如表11-3所示,该数据表的记录示例如表11-4所示。,表11-3 “罚款类型”数据表的结构信息,表11-4 “罚款类型”数据表的记录示例,2建立数据表“罚款信息” 在数据库“bookData”中创建一个数据表“罚款信息”,该数据表的结构信息如表11-5所示,该数据表的记录示例如表11-6所示。,表11-5 “罚款信息”数据表的结构信息,表11-6 “罚款信息”数据表的记录示例,11.3 设计【罚款管理】 模块多层架构,“罚款管理”模块采用多层架构设计,其逻辑结构如图11-7所示。,图11-7 “罚款管理”模块的多层架构,1创建应用程序解决方案 (1)启动Microsoft Visual Studio.NET 2003,显示系统开发环境。 (2)参照第2章介绍的方法,新建一个空白解决方案。,2创建数据库访问类库 参照第2章介绍的方法,创建一个数据库访问类库“bookDB”。,3创建业务处理类库 参照第2章介绍的方法,创建一个业务处理类库“bookAPP”。,4创建应用程序项目 参照第2章介绍的方法,创建一个应用程序项目“bookUI”。,11.4 创建类,11.4.1 添加现有的数据库操作类bookDbClass 将第2章所创建的数据库操作类“bookDbClass”添加到类库“bookDB”中。,11.4.2 创建业务处理类penaltyClass 1业务处理类penaltyClass各个成员的功能说明,根据业务处理类的模型创建业务处理类penaltyClass,业务处理类penaltyClass各个成员的功能如表11-7所示。,表11-7 penaltyClass类各个成员的功能,2添加引用 参照2.4.2节的方法将类库bookDB添加到类库bookAPP的引用中。,3添加类 参照2.4.1中的方法,在bookAPP类库中添加2个类:“penaltyClass.vb”和“loanClass.vb”。,4业务处理类penaltyClass各个成员的代码编写 5业务处理类loanClass各个成员的代码编写,11.5 设计【罚款管理】 应用程序界面,1添加Windows窗体 参照2.5节的方法在bookUI类库中添加一个新的Windows窗体。,2设计窗体外观 在【罚款处理】窗口中添加1个TabControl控件、3个DataGrid控件、3个GroupBox控件、4个ComboBox控件、34个Label控件、12个TextBox控件和7个Button控件,调整各个控件的大小与位置,窗体的外观如图11-8所示。,图11-8 【罚款处理】窗口的外观设计,3设置窗体与控件的属性,11.6 编写【罚款管理】 窗体程序代码,【罚款处理】模块的代码编写是基于以下约定规则进行的。,(1)有超期图书不允许继续借书,罚款必须带图书,罚款后即自动归还图书,且删除借阅记录。,(2)罚款以图书为对象,逐一进行罚款处理,在“罚款信息”数据表中记载所有的罚款信息。,(3)罚款处理分为超期未还罚款、图书损坏罚款和图书丢失罚款3种情况,其中超期未还罚款的罚款基数为借阅者对应类型的日罚金,其他两种情况的罚款基数为图书价格。,(4)对于丢失的图书只执行丢失罚款,而不重复进行罚款。 (5)罚款处理时不考虑删除“罚款信息”数据表中的记录,不考虑保存“借阅信息”的历史记录,不考虑会计结算。,1添加引用和窗体 参照2.4.2节的方法将类库bookAPP添加到类库bookUI的引用中。将第10章已创建的【选择借阅者】窗体添加到类库bookUI中。,2声明窗体级变量 3编写自定义过程getBorrowerInfo的程序代码,4编写自定义过程setPenaltyData的程序代码 5编写自定义过程getOverduePenaltyInfo的程序代码,6编写自定义过程setLoanOverdue的程序代码 7编写自定义过程getMarPenaltyInfo的程序代码,8编写自定义过程setloanMar的程序代码 9编写自定义过程getLosePenaltyInfo的程序代码,10编写自定义过程setLoanLose的程序代码 11编写自定义过程setControlInvalid的程序代码,12编写自定义过程setControlValid的程序代码 13编写自定义过程clearControl的程序代码,14编写自定义过程penalty的程序代码 15编写【罚款处理】窗体Load事件过程的程序代码,16编写“选择借阅者”按钮Click事件过程的程序代码 17编写“借阅者编号”文本框TextChanged事件过程的程序代码,18编写“借阅者编号”文本框KeyDown事件过程的程序代码 19编写TabControl控件的SelectedIndexChanged事件过程的程序代码,20编写TabControl控件的Click事件过程的程序代码 21编写DataGrid控件的Click事件过程的程序代码,22编写ComboBox控件的SelectedIndexChanged事件过程的程序代码 23编写文本框的TextChanged事件过程的程序代码,24编写【当场罚款】按钮Click事件过程的程序代码 25编写【以后罚示】按钮Click事件过程的程序代码,26编写【补交押金】按钮Click事件过程的程序代码,11.7 测试【罚款管理】程序,11.7.1 设置启动项目和启动对象 1设置解决方案的启动项目 参照2.7.1节的方法将“bookUI”设置为启动项目。,2设置启动对象 参照2.7.1节的方法将窗体“penaltyManage.vb”设置为启动对象。,11.7.2 用户界面测试 (1)测试内容:用户界面的视觉效果和易用性;控件状态、位置及内容确认;光标移动顺序。,(2)确认方法:屏幕拷贝、目测;【罚款处理】窗体运行的初始状态如图11-11所示,如果此时没有输入或选择“借阅者编号”,直接单击TabControl控件的选项卡,会显示如图11-12所示的“提示信息”对话框。,图11-11 【罚款处理】窗体运行的初始状态,图11-12 “输入或选择借阅者编号” 的提示信息对话框,(3)测试结论:合格。,11.7.3 功能测试 功能测试的目的是测试任务卡中的功能要求是否能够实现,同时测试“罚款管理”模块的容错能力。,1准备测试用例 准备的测试用例如表11-52所示。,表11-52 模块的测试用例,2测试图书超期罚款 (1)测试内容:执行图书超期罚款。 (2)确认方法:屏幕拷贝、目测。,(3)测试过程。 在如图11-11所示的窗体中,在“借阅者编号”文本框中输入借阅者编号“200603020105”,按回车键,“罚款原因”组合框中选择“超期3个月以内”选项,结果如图11-13所示。,图11-13 在【借阅者编号】 文本框中输入借阅者编号且按回车键,如图11-13所示,DataGrid控件已选中第一行,即图书条码为“00050248”的图书,由于该图书的“应还日期”为“2008年6月17日”,而计算罚款的日期约定为“2008年8月8日”,两者正好相差52天,日罚金为0.5元,所以应罚金额为26元。,在图11-13所示的窗口中单击【当场罚款】按钮,出现如图11-14所示的“提示信息”对话框,表示该超期图书已被罚示,且已归还。,图11-14 “罚款已被执行”的提示信息对话框,在该对话框中单击【确定】按钮,【罚款处理】窗体中的罚款记录和借阅都发生了变化,如图11-15所示。,图11-15 执行一次超期罚款后, 【罚款处理】窗体的数据变化,(4)测试结论:合格。,3测试图书损坏罚款 (1)测试内容:执行图书损坏罚款。 (2)确认方法:屏幕拷贝、目测。,(3)测试过程。 在如图11-15所示的窗体中,单击TabControl控件的选项卡【图书损坏罚款】,切换到【图书损坏罚款】选项卡,单击DataGrid控件的第2行,即选择图书条码为“00050293”的图书。,在“罚款原因”组合框中选择第2项“损坏程度20%-40%”,如图11-16所示。,图11-16 在【图书损坏罚款】选项卡中进行相关设置,单击【当场罚款】按钮,同样会显示如图11-14所示的“提示信息”对话框,在该对话框中单击【确定】按钮,执行图书损坏罚示之后,【罚款处理】窗口中数据的变化如图11-17所示。,图11-17 执行一次图书损坏罚款后, 【罚款处理】窗体的数据变化,(4)测试结论:合格。,4测试图书丢失罚款 (1)测试内容:执行图书丢失罚款。 (2)确认方法:屏幕拷贝、目测。,(3)测试过程。 在如图11-17所示的窗体中,单击TabControl控件的选项卡【图书丢失罚款】,切换到【图书丢失罚款】选项卡,单击DataGrid控件的第2行,即选择图书条码为“00050410”的图书。,在“罚款原因”组合框中选择第1项“图书丢失”。在“罚款方法”中选择“交现款”,如图11-18所示。,图11-18 在【图书丢失罚款】选项卡中进行相关设置,单击【以后罚款】按钮,显示如图11-19所示的“提示信息”对话框,在该对话框中单击【确定】按钮,执行图书丢失罚示之后,【罚款处理】窗口中数据的变化如图11-20所示。,图11-19 “以后再执行罚款”的提示信息对话框,图11-20 执行一次图书丢失罚款后, 【罚款处理】窗体的数据变化,(4)测试结论:合格。,【课堂同步实践】 【任务1】,1任务卡 课堂同步实践的任务卡如表11-54所示。,表11-54 课堂同步实践的任务卡,续表,续表,【任务2】,1任务卡 课堂同步实践的任务卡如表11-64所示。,表11-64 课堂同步实践的任务卡,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号