《第11章项目设计实例.ppt》由会员分享,可在线阅读,更多相关《第11章项目设计实例.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、18 五月 2023第第11章项目设计实例章项目设计实例学习目的与要求 通过学习项目“图书管理系统”的设计过程,掌握Visual FoxPro的应用方法。11.1 可行性和需求分析 1)引言 (1)编写目的 随着信息技术的广泛应用,数字化管理的优势日趋显著,针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用,对各种图书信息进行管理可以给管理员和读者带来很多便捷:查找方便、可靠性高、存储量大、寿命长、成本低等,这些优点能够极大地提高工作效率,也是图书管理科学化、正规化的重要标志之一。(2)背景 开发软件名称:图书管理系统。用户:中小型图书馆或图书室 1.
2、1.可行性分析可行性分析 2.可行性研究的前提 (1)要求 功能:负责图书、读者信息的编辑及查询,借阅/归还图书的管理。性能:借阅、归还的记录正确,流通图书速度快、效率高,操作方便、快捷。(2)目标方便图书信息、读者信息以及图书借阅的高效管理。(3)条件、环境硬件条件:PC机。运行环境:Windows操作系统。开发软件:Visual FoxPro 6.0。(4)效益成本技术可行,现有技术完全胜任开发任务;操作可行,软件能被操作人员快速接受。(5)结论 综上分析,开发图书管理系统不仅有着很大的经济效益,而且有着更大的社会效益。该系统的开发,不仅可以节省大量的资源,而且可以大大地提高工作效率,因此
3、该项目的开发前景可观。2.需求分析 1)引言 开发图书管理系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。本系统的通用性、可实用性较强,用以提高图书信息的现代化管理水平,实现信息资源的共享。2)系统功能 管理:图书管理、读者管理、借阅/归还管理。查询:图书查询、读者查询、借阅查询。11.2 11.2 系统设计系统设计1.设计思想设计思想 1)采用模块化设计本系统采用模块化的程序设计,将各个功能分解为相互独立的模块,这样既便于系统各功能的组合和修改,又便于后期的维护和各功能的完善和补充。2)系统操作简单、方便、实用本系统各
4、模块的操作简单方便,操作员可以快速地完成各种操作,从而提高工作效率。3)系统能够进行数据维护用户可以根据需要进行数据的添加、修改等操作。2.系统功能分析 本系统提供了三大功能,即图书信息管理、读者信息管理、图书借阅/归还管理。1)图书信息管理 本模块可以实现对图书信息的维护功能。对于新图书,可编制图书编号,将图书的相关信息加入数据表中;还可以修改图书的相关信息。2)读者信息管理本模块可实现对读者信息的维护功能。对于新读者,可编制其图书证编号,并将读者的相关信息录入数据表中,还可以修改读者的相关信息。3)图书借阅/归还管理本模块可实现对图书的借阅/归还信息的维护功能。对于借阅图书,只需确定图书证
5、号和图书编号即可完成借阅的信息管理;归还图书时,根据图书证号、图书编号自动确认归还日期是否超期。3.3.系统功能模块设计系统功能模块设计 4.4.数据库设计数据库设计 本系统的数据库名为“图书管理系统.dbc”。1)数据表结构 (1)图书信息表 将所有图书的信息保存在本表中,表文件名称为book.dbf,字段名称类 型字段长度用 途Bookid字符型20图书编号Bookname字符型60图书名称Editor字符型8作者Price 数值型 5.0 价格 Publish 字符型 30 出版社 Pubdate 日期型 8 出版日期 Qty 数值型 10 库存量 表 book.dbf表的结构 2)读者
6、信息表所有读者的信息均存放在本表中,表文件名称为reader.dbf。表 字 段类 型长 度用 途Cardid字符型10图书证编号Name数值型8读者姓名Class字符型8读者类别Dept字符型20所属部门Sex字符型2性别 3)图书借阅/归还记录表 图书借阅/归还记录信息均存放在本表中,表文件名称为borrow.dbf.表字段类型长度用途Cardid字符型10图书证编号Bookid字符型10图书编号Bdate日期型8借书日期Sdate日期型8还书日期2)数据库的创建 打开项目文件“图书管理.pjx”,“新建”数据库,数据库名称为“图书管理系统”,将表book.dbf、reader.dbf和b
7、orrow.dbf添加入数据库中,成为数据库表.3).创建与编辑主文件main.prg 在“代码”/“程序”下,新建程序文件main.prg并右击,将main.prg设置为“主文件”,即系统启动后执行的第一个文件,主文件以黑体显示。4).连编项目 单击项目管理器右侧的“连编”按钮。在“连编选项”对话框中的“操作”选项组中,选择“连编可执行文件”单选按钮;在“选项”选项组中,选择“重新编译全部文件”和“显示错误”复选框,然后单击“确定”按钮,如图11-5所示。主文件的名称为main.prg,代码如下:*Clear&清屏clear all&从内存中释放所有的内存变量close all&关闭各种类型
8、的文件set escape off&禁止运行的程序和命令在按 Esc 键后被中断set safety off&指定在改写已有文件时不显示对话框set delete on&使用范围子句处理记录的命令忽略标有删除标记的记录set sysmenu off&在程序执行期间废止 Visual FoxPro 主菜单栏release window 常用&关闭常用工具栏set century on&年份以四位显示set date to ansi&日期格式为年、月、日set hours to 24&指定为24小时时间格式_Screen.visible=.f.&屏蔽Visual FoxPro的主窗口do form
9、 form_menu&调用主表单 form_menu.scxread events&建立事件循环 *11.3 程 序 代 码2.主窗口模块代码1)下拉式菜单的创建及设置 在项目管理器中,选择在项目管理器中,选择“其他其他”|“菜单”项目,单击“新建”按钮,在菜单设计器中输入以下菜单项。(1)主菜单项“图书借阅管理”的“结果”选择“过程”,其中的代码如下:do form form_borrow.scx (2)主菜单项“图书信息管理”的“结果”选择“子菜单”,再单击“编辑”按钮,其子菜单的结构如图其中,“添加图书信息”和“修改图书信息”的结果均为“过程”。“添加图书信息”过程的代码如下:do fo
10、rm form_add_book.scx“修改图书信息”过程的代码如下:do form form_edit_book.scx(3)主菜单“读者信息维护”的子菜单结构如图所示:其中,“添加读者信息”和“修改读者信息”的“结果”均为“过程”。“添加读者信息”过程的代码如下:do form form_add_reader.scx“修改读者信息”过程的代码如下:do form form_edit_reader.scx(4)主菜单项“退出系统”的“结果”为“过程”,其代码如下:result=messagebox(是否退出【图书管理系统】?,4+32+256,提示)IF result=6 close al
11、l clear events&退出事件循环 quit&结束当前 Visual FoxPro 工作期 ENDIF(5)设置下拉式菜单的常规选项属性选择“显示”|“常规选项”,在对话框中选中“顶层表单”复选框,如图所示。(6)生成菜单程序文件。选择“菜单”|“生成”命令,生成菜单的程序文件“main_menu.mpr”,如图所示。2表单的设置及属性主窗口的表单文件名称为主窗口的表单文件名称为form_menu.scx,主要用途是为操作提供一个便捷的操作界面。表单的主要属性如表所示。属性属性值用途Autocenter.t.表单启动后自动位于屏幕中央Caption图书管理系统表单的标题栏Control
12、box.f.取消表单右上角的控制按钮Showwindow2作为顶层表单 表单form_menu的主要属性在本表单上需要调用下拉式菜单,实现方法:在表单的init事件中输入代码do main_menu.mpr with this,.t.3.图书信息管理模块代码 图书信息管理模块包含两个功能:“添加图书信息”和“修改图书信息”。“添加图书信息”的表单文件名为form_add_book.scx,“修改图书信息”的表单文件名为form_edit_book.scx。1)表单的属性设置在“添加图书信息”和“修改图书信息”表单的数据环境中分别加入表book.dbf。“添加图书信息”及“修改图书信息”表单的主
13、要属性如表所示:属 性属 性 值用 途Autocenter.t.表单启动后位于屏幕中央Controlbox.f.取消表单右上角的控制按钮Showwindow1位于顶层表单中(2)“添加图书信息”表单的控件信息如表所示。控 件用 途Text1输入图书编号Text2输入图书名称Text3输入作者Text4输入出版社Text5输入出版日期Text6输入价格Text7输入库存量Grid1显示已有的图书信息Command1保存录入的图书信息Command2退出表单(3)“添加图书信息”表单的运行效果如图所示。(4)相应代码。填写完图书信息后,单击“保存信息”按钮即可保存信息,对应的则是命令按钮Comma
14、nd1的Click事件,执行的代码如下:&将控件的信息存储到变量中 book_id=alltrim(thisform.text1.value)book_name=alltrim(thisform.text2.value)book_editor=alltrim(thisform.text3.value)book_publish=alltrim(thisform.text4.value)book_pubdate=ctod(alltrim(thisform.text5.value)Book_price=val(alltrim(thisform.text6.value)book_kcl=val(all
15、trim(thisform.text7.value)&执行插入记录的SQL语句 insert into book(bookid,bookname,editor,price,pubdate,publish,qty)values(book_id,book_name,book_editor,book_price,book_pubdate,book_publish,book_kcl)thisform.refresh&信息提示 r=messagebox(信息添加成功!,0+64,信息提示 要退出“添加图书信息”表单,可以单击“退出”按钮,对应的是命令按钮Command2的Click事件,执行的代码如下:
16、Thisform.release (5)“修改图书信息”的控件信息如表所示。控 件用 途Grid1显示当前已有的图书信息Text1显示图书编号Text2显示图书名称Text3显示作者Text4显示出版社Text5显示出版日期Text6显示价格Text7显示库存量Command1保存修改的图书信息Command2退出表单(6)“修改图书信息”表单的运行效果 4.读者信息管理模块代码读者信息管理模块包含两个功能:“添加读者信息”和“修改读者信息”。“添加读者信息”的表单文件名为form_add_reader.scx,“修改读者信息”的表单文件名为form_edit_reader.scx。(1)表单
17、的属性设置。在“添加读者信息”和“修改读者信息”表单的数据环境中分别加入表reader.dbf。“添加读者信息”及“修改读者信息”表单的主要属性如表所示。属 性属 性 值用 途Autocenter.t.表单启动后位于屏幕中央Controlbox.f.取消表单右上角的控制按钮Showwindow1位于顶层表单中(2)“添加读者信息”表单的控件信息,如表所示。控 件用 途Text1输入图书证编号Text2输入读者名称Text3输入所属部门Optiongroup1.option1男-性别Optiongroup1.option2女-性别Optiongroup2.option1教师-类别Optiongr
18、oup2.option2学生-类别Grid1显示已有的读者信息Command1保存录入的读者信息Command2退出表单(3)表单运行效果,如图 所示。(4)“修改读者信息”的控件信息如表所示。控 件用 途Grid1显示当前已有的读者信息Text1显示图书证编号Text2显示读者姓名Text3显示所属部门Optiongroup1.option1男-性别Optiongroup1.option2女-性别Optiongroup2.option1教师-类别Optiongroup2.option2学生-类别Command1保存修改的读者信息Command2退出表单(5)“修改读者信息”表单的运行效果如图
19、所示。5 图书借阅/归还模块代码 图书借阅/归还信息管理模块包含两个功能:“借阅图书”和“归还图书”。表单文件名为form_borrow.scx (1)表单的属性设置。在表单的数据环境中加入表borrow.dbf、reader.dbf和book.dbf。表单的主要属性如表所示。属 性属 性 值用 途Autocenter.t.表单启动后位于屏幕中央Controlbox.f.取消表单右上角的控制按钮Showwindow1位于顶层表单中(2)form_borrow表单的控件及用途如表所示。控 件用 途Text1借书证编号Text2读者姓名Text3读者类别Command1退出表单Pageframe1
20、-page1上的控件及属性Page1.text1图书编号Page1.text2图书名称Page1.text3出版社Page1.text4作者Page1.text5出版日期Page1.text6库存量Page1.text7借阅日期Page1.text8应还日期Pmand1确定借阅Pageframe1.page2上的控件及属性 Page2.text1 Page2.text2 Page2.text3 Page2.text4 Page2.text5 Page2.text6 Page2.label7 Pmand1(3)form_borrow表单的运行效果如图所示。1.1.目标目标 制定完整且具体的测试路
21、线和流程,为快速、高效和高质量的软件测试提供基础流程框架。目标是实现软件测试的规范化和标准化。2.2.测试需求分析测试需求分析 测试需求分析是软件测试过程的基础,用来确定测试对象以及测试工作的范围和作用,而且确定的测试需求必须是可核实的,即它们必须有一个可观察、可评测的结果。测试需求能够为测试计划提供客观依据。测试需求是设计测试用例的指导,确定了要测什么,测哪些方面后才能有针对性地设计测试用例。3.测试方法 (1)测试:可以是由一个用户在开发环境下进行的测试,也可以是开发公司内部的用户在模拟实际操作环境下进行的受控测试,测试不能由该系统的程序员或专业测试员完成。(2)测试:是指“用户验收测试”。测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,测试不能由程序员或专业测试员完成。(3)黑盒测试:又称“功能测试或者数据驱动测试”,是根据软件的规格进行的测试,这类测试不考虑软件内部的运作原理,软件测试人员以用户的角度,通过输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序是具体如何实现的一种软件测试方法。11.4 软软 件件 测测 试试
限制150内