您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第11章项目设计实例
11.1可行性和需求分析11.2系统设计11.3程序代码11.4软件测试11.5本章小结学习目的与要求通过学习项目“图书管理系统”的设计过程,掌握VisualFoxPro的应用方法。11.1可行性和需求分析1)引言(1)编写目的随着信息技术的广泛应用,数字化管理的优势日趋显著,针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用,对各种图书信息进行管理可以给管理员和读者带来很多便捷:查找方便、可靠性高、存储量大、寿命长、成本低等,这些优点能够极大地提高工作效率,也是图书管理科学化、正规化的重要标志之一。(2)背景开发软件名称:图书管理系统。用户:中小型图书馆或图书室1.可行性分析2.可行性研究的前提(1)要求功能:负责图书、读者信息的编辑及查询,借阅/归还图书的管理。性能:借阅、归还的记录正确,流通图书速度快、效率高,操作方便、快捷。(2)目标方便图书信息、读者信息以及图书借阅的高效管理。(3)条件、环境硬件条件:PC机。运行环境:Windows操作系统。开发软件:VisualFoxPro6.0。(4)效益成本技术可行,现有技术完全胜任开发任务;操作可行,软件能被操作人员快速接受。(5)结论综上分析,开发图书管理系统不仅有着很大的经济效益,而且有着更大的社会效益。该系统的开发,不仅可以节省大量的资源,而且可以大大地提高工作效率,因此该项目的开发前景可观。2.需求分析1)引言开发图书管理系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。本系统的通用性、可实用性较强,用以提高图书信息的现代化管理水平,实现信息资源的共享。2)系统功能管理:图书管理、读者管理、借阅/归还管理。查询:图书查询、读者查询、借阅查询。11.2系统设计1.设计思想1)采用模块化设计本系统采用模块化的程序设计,将各个功能分解为相互独立的模块,这样既便于系统各功能的组合和修改,又便于后期的维护和各功能的完善和补充。2)系统操作简单、方便、实用本系统各模块的操作简单方便,操作员可以快速地完成各种操作,从而提高工作效率。3)系统能够进行数据维护用户可以根据需要进行数据的添加、修改等操作。2.系统功能分析本系统提供了三大功能,即图书信息管理、读者信息管理、图书借阅/归还管理。1)图书信息管理本模块可以实现对图书信息的维护功能。对于新图书,可编制图书编号,将图书的相关信息加入数据表中;还可以修改图书的相关信息。2)读者信息管理本模块可实现对读者信息的维护功能。对于新读者,可编制其图书证编号,并将读者的相关信息录入数据表中,还可以修改读者的相关信息。3)图书借阅/归还管理本模块可实现对图书的借阅/归还信息的维护功能。对于借阅图书,只需确定图书证号和图书编号即可完成借阅的信息管理;归还图书时,根据图书证号、图书编号自动确认归还日期是否超期。3.系统功能模块设计图书管理系统图书信息管理添加图书信息修改图书信息读者信息管理添加读者信息修改读者信息图书借阅/归还管理借阅图书归还图书4.数据库设计本系统的数据库名为“图书管理系统.dbc”。1)数据表结构(1)图书信息表将所有图书的信息保存在本表中,表文件名称为book.dbf,字段名称类型字段长度用途Bookid字符型20图书编号Bookname字符型60图书名称Editor字符型8作者Price数值型5.0价格Publish字符型30出版社Pubdate日期型8出版日期Qty数值型10库存量表book.dbf表的结构2)读者信息表所有读者的信息均存放在本表中,表文件名称为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和borrow.dbf添加入数据库中,成为数据库表.3).创建与编辑主文件main.prg在“代码”/“程序”下,新建程序文件main.prg并右击,将main.prg设置为“主文件”,即系统启动后执行的第一个文件,主文件以黑体显示。4).连编项目单击项目管理器右侧的“连编”按钮。在“连编选项”对话框中的“操作”选项组中,选择“连编可执行文件”单选按钮;在“选项”选项组中,选择“重新编译全部文件”和“显示错误”复选框,然后单击“确定”按钮,如图11-5所示。主文件的名称为main.prg,代码如下:***********************************************************************Clear&&清屏clearall&&从内存中释放所有的内存变量closeall&&关闭各种类型的文件setescapeoff&&禁止运行的程序和命令在按Esc键后被中断setsafetyoff&&指定在改写已有文件时不显示对话框setdeleteon&&使用范围子句处理记录的命令忽略标有删除标记的记录setsysmenuoff&&在程序执行期间废止VisualFoxPro主菜单栏releasewindow常用&&关闭常用工具栏setcenturyon&&年份以四位显示setdatetoansi&&日期格式为年、月、日sethoursto24&&指定为24小时时间格式_Screen.visible=.f.&&屏蔽VisualFoxPro的主窗口doformform_menu&&调用主表单form_menu.scxreadevents&&建立事件循环************************************************************************11.3程序代码2.主窗口模块代码1).下拉式菜单的创建及设置在项目管理器中,选择“其他”|“菜单”项目,单击“新建”按钮,在菜单设计器中输入以下菜单项。(1)主菜单项“图书借阅管理”的“结果”选择“过程”,其中的代码如下:doformform_borrow.scx(2)主菜单项“图书信息管理”的“结果”选择“子菜单”,再单击“编辑”按钮,其子菜单的结构如图其中,“添加图书信息”和“修改图书信息”的结果均为“过程”。“添加图书信息”过程的代码如下:doformform_add_book.scx“修改图书信息”过程的代码如下:doformform_edit_book.scx(3)主菜单“读者信息维护”的子菜单结构如图所示:其中,“添加读者信息”和“修改读者信息”的“结果”均为“过程”。“添加读者信息”过程的代码如下:doformform_add_reader.scx“修改读者信息”过程的代码如下:doformform_edit_reader.scx(4)主菜单项“退出系统”的“结果”为“过程”,其代码如下:result=messagebox(是否退出【图书管理系统】?,4+32+256,提示)IFresult=6closeallclearevents&&退出事件循环quit&&结束当前VisualFoxPro工作期ENDIF(5)设置下拉式菜单的常规选项属性选择“显示”|“常规选项”,在对话框中选中“顶层表单”复选框,如图所示。(6)生成菜单程序文件。选择“菜单”|“生成”命令,生成菜单的程序文件“main_menu.mpr”,如图所示。2.表单的设置及属性主窗口的表单文件名称为form_menu.scx,主要用途是为操作提供一个便捷的操作界面。表单的主要属性如表所示。属性属性值用途Autocenter.t.表单启动后自动位于屏幕中央Caption图书管理系统表单的标题栏Controlbox.f.取消表单右上角的控制按钮Showwindow2作为顶层表单表单form_menu的主要属性在本表单上需要调用下拉式菜单,实现方法:在表单的init事件中输入代码domain_menu.mprwiththis,.t.3.图书信息管理模块代码图书信息管理模块包含两个功能:“添加图书信息”和“修改图书信息”。“添加图书信息”的表单文件名为form_add_book.scx,“修改图书信息”的表单文件名为form_edit_book.scx。1)表单的属性设置在“添加图书信息”和“修改图书信息”表单的数据环境中分别加入表book.dbf。“添加图书信息”及“修改图书信息”表单的主要属性如表所示:属性属性值用途Autocenter.t.表单启动后位于屏幕中央Controlbox.f.取消表单右上角的控制按钮Showwindow1位于顶层表单中(2)“添加图书信息”表单的控件信息如表所示。控件用途Text1输入图书编号Text2输入图书名称Text3输入作者Text4输入出版社Text5输入出版日期Text6输入价格Text7输入库存量Grid1显示已有的图书信息Command1保存录入的图书信息Command2退出表单(3)“添加图书信息”表单的运行效果如图所示。(4)相应代码。填写完图书信息后,单击“保存信息”按钮即可保存信息,对应的则是命令按钮Command1的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(alltrim(thisform.text7.value))&&执行插入记录的SQL语句insertintobook(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事件,执行的代码如下:Thisform.release(5)“修改图书信息”的控件信息如表所示。控件用途Grid1显示当前已有的图书信息Text1显示图书编号Text2显示图书名称Text3显示作者Text4显示出版社Text5显示出版日期Text6显示价格Text7显示库存量Command1保存修改的图书信息Command2退出表单(6)“修改图书信息”表单的运行效果4.读者信息管理模块代码读者信息管理模块包含两个功能:“添加读者信息”和“修改读者信息”。“添加读者信息”的表单文件名为form_add_reader.scx,“修改读者信息”的表单文件名为form_edit_reader.scx。(1)表单的属性设置。在“添加读者信息”和“修改读者信息”表单的数据环境中分别加入表reader.dbf。“添加读者信息”及“修改读者信息”表单的主要属性如表所示。属性属性值用途Autocenter.t.表单启动后位于屏幕中央Controlbox.f.取消表单右上角的控制按钮Showwindow1位于顶层表单中(
本文标题:第11章项目设计实例
链接地址:https://www.777doc.com/doc-781474 .html