1、河南职业技术师范学院2013届毕业论文题目:宛枫书社图书管理系统的设计与实现班 级: 信管993/992班姓 名: 胡孟杰、蔡大臣、张航指导老师: 王改性信息工程与管理学院宛枫书社图书管理系统的设计与实现文档信息开发小组:组长:胡孟杰成员:蔡大臣、张航单位:信管993/992班文件类型:软件开发用技术文档当前版本:V1.0 Beta作 者:胡孟杰完成日期:2024年7月11日软件信息软件名称:宛枫书社图书管理系统版 本 号:V1.0 Beta语言类型:简体中文软件主页: 授权类型:免费软件/测试版运行环境:Windows 95/98/NT/Me/2000/XP 等下载地址: 软件大小:3069
2、 KB指导老师:王改性软件作者:胡孟杰参与开发:蔡大臣、张航 等参与测试:开发人员、考试通书店(李明友)、张科伟 等联系信箱:webmaster 版权所有:Copyright2013-2014.Powered by 胡孟杰.开发日期:2013年3月-2013年5月相关站点:华军软件园、PChome、21CN、经典下载 等软件简介:宛枫书社图书管理系统 V1.0 Beta 测试版 面向中小型书店、个体书店进行全面的人员、物流管理,旨在实现书店管理信息化。本系统采用会员制管理,将人员分为经理、仓库管理员、售书员、会员、游客等,分别拥有不同的权限,各司其职,以便提高工作效率。系统功能包括:供应商管理
3、、进书管理、图书资料管理、售书管理、会员管理、员工管理、库存统计、售书统计、退货统计、基本统计分析等。河南职业技术师范学院信息工程与管理学院信息管理与信息系统专业99级中国.河南.新乡2024-07-11目录一、序言4二、需求分析说明书42.1系统介绍42.2系统面向的用户群体42.3系统的功能性需求42.4系统的非功能性需求52.4.1用户界面需求52.4.2软硬件环境需求52.4.3软件质量需求5三、可行性分析报告53.1技术可行性53.2人员可能性53.3时间、设备可能性53.4系统工作量53.5代码工作量53.6文档要求5四、开发环境与项目规划54.1开发环境54.2项目规划与管理54
4、.2.1开发人员安排54.2.2开发进度安排6五、软件界面设计标准与规范65.1编写目的65.2界面设计思想65.3界面设计原则65.4界面设计样式65.5常见提示信息样式65.6常见错误信息样式75.7其他界面约定7六、软件编码设计标准与规范76.1对象命名约定76.2常量和变量命名约定86.3结构化编码约定86.4数据源的约定96.5数据库访问约定96.6其他约定9七、数据库分析与设计107.1数据库环境说明107.2数据库命名标准与规范107.3数据库逻辑设计107.4数据库物理设计107.4.1表、视图汇总107.4.2各表、视图设计详解11八、软件体系结构设计说明书158.1系统概述
5、158.2设计约束158.3设计策略158.4系统概要设计说明书168.4.1图例说明168.4.2系统总体结构图168.4.3销售子系统流程图178.4.4进货子系统流程图178.4.5退货子系统流程图178.5系统详细设计说明书178.5.1系统模块汇总178.5.2系统核心模块详解188.5.3系统模块详解28九、用户界面设计报告429.1界面设计规范429.2系统窗体汇总429.3主界面设计439.4子界面设计439.5界面资源设计44十、软件测试分析报告4410.1测试范围与主要内容4410.2测试方法4410.3测试报告4410.4改进建议与措施45十一、软件使用说明书4511.1
6、软件概述4511.2系统安装4511.3使用说明4511.3.1系统登陆4511.3.2注销与退出4611.3.3办理进货登记4611.3.4办理退货登记4811.3.5销售图书4811.3.6会员管理4911.3.7员工管理4911.3.8书目检索5011.3.9查看统计信息5011.3.10修改密码5011.3.11关于/帮助50参考资料51一、序言宛枫书社图书管理系统的设计与推出是多方面原因促成的,我有一位老乡名叫李明友,毕业后经营一家小书店:“考试通书店”,其日常管理工作都是人工操作,历史数据很难保存和利用,对于书店的经营非常不利。而其他的中小型书店、个体书店大多如此。针对这种状况,我
7、计划开发一个面向中小型书店、个体书店的图书管理系统,实现对人员、物流的全面管理,以帮助这些书店早日实现书店管理信息化。正在我考虑系统的规划的时候,我有幸得到王改性老师的指导,我的两位同学:蔡大臣、张航也加入了开发队伍,这更加坚定了我完成系统开发任务的决心。为了系统的顺利开发和维护,特编制如下技术文档:二、需求分析说明书2.1系统介绍本系统定位于中小型书店、个体书店,暂时考虑单机环境下的实现;操作系统选择目前常用的Windows 98/2000。系统性质为MIS(管理信息系统)或财务软件。本系统采用会员制管理,系统功能应包含进书管理、售书管理、退货管理、库存管理、统计分析、相关人员管理等。系统界
8、面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。系统计划2003年3月初开始,4月初完成初步开发工作,其余工作根据时间安排进行。2.2系统面向的用户群体系统面向中小型书店、个体书店,用户群体为这些书店的经理、采购员仓库管理员、图书销售人员、书店的会员游客等。2.3系统的功能性需求功能序号功能名称功能说明1供应商管理包含供应商信息的登记、修改等2图书种类管理包含图书大类、小类的创建3图书资料管理包含图书资料的添加、修改等4新书入库管理登记新书的来源、数量、单价、折扣、金额等5库存统计分门别类统计图书现有库存量、入库时间等6进货记录查询查询历次进货记录7退货登记登记供应商、图书种类、退货的
9、数量、原因等8退货统计按供应商统计退货记录9退货记录查询查询历次退货记录10图书销售管理登记销售的种类、数量、单价、折扣、顾客/会员等11会员管理包含会员的创建、修改、删除等12优惠政策管理包含优惠政策的制定与执行13本日售书统计统计本日销售图书的数量、金额等14售书记录查询查询历次售书记录15员工管理包含员工帐号的创建、修改、删除等16统计分析按年月日时段统计书店经营状况17图书检索提供按图书的编号、书名、责任者、出版社等途径的检索18系统帐号管理提供上级对下级的资料、密码管理,19个人资料、密码管理提供修改个人资料、密码的工具2.4系统的非功能性需求2.4.1用户界面需求简洁、易用、易懂,
10、美观、大方、标准,具备一定的兼容性。2.4.2软硬件环境需求软件环境:兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP 等。硬件环境:386以上计算机,打印机、扫描仪等。2.4.3软件质量需求易用、健壮、兼容性好、运行稳定、有一定安全保障。三、可行性分析报告3.1技术可行性系统的性质为MIS或财务软件,因而数据库的设计与操纵是系统设计的核心。我在2002年11月至2003年3月曾经成功完成了“蓝色梦幻留言板”的开发与维护任务,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师王改性多年从事数据库的教学与研究工作,因而该系统的实现在技术上是可行的。3.2人
11、员可能性我有“蓝色梦幻留言板”的开发经验,目前时间充足,可以完成开发任务。蔡大臣的计算机功底很深,可以参与系统的数据库设计与开发。张航有深厚的文字功底,可以参与用户文档的制作、内部文档整理、后期测试等任务。所有人员均可立即投入开发工作。3.3时间、设备可能性系统设计与开发工作预计耗时一个月,所有参与开发的人员均能够保证按时完成任务。实验设备如:计算机、打印机、扫描仪等不足,上机任务可以完成,打印机、扫描仪的实验根据具体条件暂时延缓执行。3.4系统工作量该系统的工作量相对于我们的开发小组来说很大,必须保证按进度完成任务。实际工作量预计超过一个月(每天4-8小时)。如包含软件维护及技术文档的整理、
12、制作,工作量将更大。3.5代码工作量预计需25天左右。3.6文档要求依据国家计算机软件产品开发文件编制指南和现代软件工程的理论与原则编制标准的软件技术文档。四、开发环境与项目规划4.1开发环境前台开发环境:Microsoft Visual Basic 6.0后台数据库环境:Microsoft Access 2000/20024.2项目规划与管理4.2.1开发人员安排系统分析与设计:胡孟杰程序编制:胡孟杰数据库设计:胡孟杰、蔡大臣文档整理与制作:蔡大臣、张航系统测试:胡孟杰、蔡大臣、张航、考试通书店(李明友) 等4.2.2开发进度安排3月1日至3月5日:系统分析,进行需求定义,定义系统概况3月6
13、日至3月7日:数据库分析与设计3月8日至3月9日:软件体系结构设计3月10日至3月31日:软件编码4月1日至4月2日:系统测试五、软件界面设计标准与规范5.1编写目的制定界面设计标准规范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。5.2界面设计思想首先考虑标准化,在标准化的基础上进行界面的美工设计。5.3界面设计原则简单易用、简洁明了、兼容性好、标准、规范。5.4界面设计样式工具条采用标准Windows界面,自上至下依次为:标题栏、菜单栏、工具条、工作区、状态栏等。如下图示:菜单栏状态栏工作区图1.系统界面5.5常见提示信息样式提示信息按以下标准进行:采用标准Windows对
14、话框样式,添加信息图标,后接提示信息文本和相应按钮。如下图示:按钮信息图标提示文本图2.常见提示信息样式5.6常见错误信息样式错误信息依据提示信息样式设计,将信息图标更改为警告图标。如下图示:警告图标提示文本图3.常见错误信息样式5.7其他界面约定除主界面外,所有子界面均采用模式窗体,即该窗体不消失,不可以在本程序内将焦点移出子窗体。六、软件编码设计标准与规范6.1对象命名约定对象名对象类型命名约定(前缀码)Form窗体FrmCommand按钮CmdLabel标签LabTextBox文本框TxtComboBox组合框ComBListBox列表框LstBAdodb数据库访问对象AdodbData
15、Grid数据表格显示组件DataGridFrame框架FamOption单选框OptCheckBox复选框ChkPictureBox图象显示组件PtBCommonDialog通用对话框组件ComDlgTimer时间组件TimToolBar工具栏TlBarMenu菜单MnuSSTab页框SSTabImageList界面资源组件ImgLst6.2常量和变量命名约定变量名数据类型变量类型含义UserShenFenString全局变量用户身份标志LogOKBoolean全局变量登陆状态UserNameString全局变量用户名GongYingShangIDString全局变量供应商编号GongYing
16、ShangString全局变量供应商名称TuShuBianHaoString全局变量图书编号DingJiaSingle全局变量图书定价ShuMingString全局变量书名HuiYuanKaHaoString全局变量会员卡号HYXingMingString全局变量会员姓名HYDengJiString全局变量会员等级6.3结构化编码约定编码应清晰、可读性好,运用缩进、空行,结合大小写区别等方法保持程序结构良好。凡与数据库操作相关的模块一律加上容错代码,涉及多表操作的模块应运用“事务”处理,以保持数据完整性。编码风格参照下例进行:Public Sub CheckUser(userID As Str
17、ing, passwd As String)Dim userDB As DatabaseDim userRD As RecordsetDim dbName As StringDim STRSQL As StringScreen.MousePointer = 11On Error GoTo errEnddbName = App.PathIf Right(dbName, 1) 、 Then dbName = dbName + 、dbName = dbName + DataBase、WFSSDataBase.mdbSTRSQL = select 用户身份 from Admin where 用户ID=
18、 & userID & and 用户密码= & passwd & 打开数据库Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)检索用户,验证密码Set userRD = userDB.OpenRecordset(STRSQL, dbOpenSnapshot)If userRD.RecordCount 0 Then 设置用户身份 UserShenFen = userRD!用户身份 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB =
19、 Nothing 进入用户环境 Load FrmMain FrmMain.Show Unload FrmLogIn logOK = True userName = userID Screen.MousePointer = vbDefaultElse 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing logOK = False Screen.MousePointer = vbDefault MsgBox 用户名或密码错误!请重新输入!, vbOKOnly + vbExclamation, 登陆失败E
20、nd IfExit SuberrEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 登陆错误 logOK = False Err.Clear 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Exit SubEnd Sub6.4数据源的约定需用数据源的组件如:DataGrid一律采用Adodb控件。有特殊需求的情况如:身份验证应引用DAO(数据访问对象)。6.5数据库访问约定数
21、据库引擎采用Microsoft.Jet.OLEDB.4.0,由Adodb组件进行数据库的访问,并为其他组件提供数据源。特殊情况、身份验证等由 DAO访问数据库。6.6其他约定无需数据显示的情况由DAO提供数据库支持,有数据显示的情况由ADODB组件提供数据库支持。七、数据库分析与设计7.1数据库环境说明考虑该系统的定位与现有技术力量,决定采用Microsoft Access 2000/2002作为系统的后台数据库开发环境。7.2数据库命名标准与规范说明:下表所列为数据库及各表、视图的命名方法,具体信息请参阅7.4.1表、视图汇总。名称类型命名办法约定WFSSDataBase系统数据库字母表基本
22、表汉字或字母查询查询汉字字段字段汉字或字母7.3数据库逻辑设计会员表会员级别会员卡号会员政策会员级别Admin用户ID员工表员工帐号图书分类图书分类号售书记录会员卡号图书编号Book图书分类号图书编号图书进价表图书编号进书记录图书编号供应商编号退货记录图书编号供应商编号供应商供应商编号图4.数据库逻辑结构图7.4数据库物理设计7.4.1表、视图汇总视图/表名类型说明Admin基本表集中保存系统用户的帐号、密码Book基本表集中存放书目信息员工表基本表存放员工资料供应商基本表供应商资料会员表基本表会员资料会员政策基本表会员标准及优惠政策进书记录基本表进书历史记录客户反馈基本表客户反馈信息售书记录
23、基本表售书历史记录书店简介基本表书店简介图书分类基本表图书类别图书进价表基本表图书进价列表退货记录基本表退货历史记录读者查询查询提供给所有用户的书目查询界面基本统计查询基本的统计分析进书查询查询进书记录查询,含进书统计售书查询查询图书销售记录查询售书统计查询图书销售记录统计退货查询查询退货记录查询退货统计查询退货统计员工信息查询员工信息查询库存统计查询现有库存统计反馈信息查询客户反馈信息查询7.4.2各表、视图设计详解说明:空缺位置表示无要求,主键在约束栏注明。基本表:Admin字段类型长度格式约束用户ID文本250主键用户密码文本250用户身份文本250基本表:Book字段类型长度格式约束图
24、书编号文本250主键图书分类号文本150书名文本255丛书文本150作者文本255出版社文本255版次文本150ISBN文本250定价货币库存量数字( 整型)内容简介备注关键词文本255出版日期文本150入库时间日期/时间长日期Now()基本表:供应商字段类型长度格式约束供应商编号文本250主键供应商文本255地址文本255网址文本255联系人文本255电话文本50传真文本150电子邮件文本150单位简介备注基本表:会员表字段类型长度格式约束会员卡号文本50主键会员等级文本50姓名文本150性别文本50地址文本250单位文本250电话文本50电子邮件文本150人生格言备注注册日期日期/时间长日
25、期基本表:会员政策字段类型长度格式约束会员级别文本50主键会员标准数字(整型)打折文本50赠送礼品文本250备注备注基本表:进书记录字段类型长度格式约束ID自动编号(长整型)主键供应商编号文本250图书编号文本250数量数字(长整型)单价货币折扣数字(单精度型)金额货币进书日期日期/时间长日期备注备注基本表:客户反馈字段类型长度格式约束ID自动编号(长整型)主键姓名文本150身份文本50性别文本50单位文本255地址文本255电子邮件文本150反馈信息备注反馈日期日期/时间长日期基本表:售书记录字段类型长度格式约束ID自动编号(长整型)主键图书编号文本250数量数字(整型)会员卡号文本250实
26、际打折数字(单精度型)实收金额货币日期文本50长日期备注备注基本表:书店简介字段类型长度格式约束书店名称文本255主键地址文本255网址文本255联系人文本150电话文本50手机数字(长整型)电子邮件文本150书店简介备注备注备注基本表:图书分类字段类型长度格式约束图书分类号文本150主键图书分类文本250所属父类编号文本150基本表:图书进价表字段类型长度格式约束图书编号文本150主键进价货币进书日期日期/时间长日期基本表:退货记录字段类型长度格式约束ID自动编号(长整型)主键供应商编号文本250图书编号文本250进价货币退货数量数字(整型)金额货币退货原因备注退货日期日期/时间长日期备注备
27、注基本表:员工表字段类型长度格式约束员工帐号文本250主键姓名文本150性别文本50地址文本255电话文本50手机文本150电子邮件文本150人生格言备注创建日期日期/时间长日期Now()视图:基本统计图5.基本统计视图结构视图:读者查询图6.读者查询视图结构视图:退货统计图7.退货统计视图结构视图:售书统计图8.售书统计视图结构视图:售书查询图9.售书查询视图结构注:其他视图结构:略。八、软件体系结构设计说明书8.1系统概述在单机环境下进行系统安全的考虑,有必要进行用户权限的划分与控制,因而系统在总体上应包含安全子系统之下的各类用户工作环境。用户权限的合理划分与有效控制是本系统体系结构设计的
28、核心。8.2设计约束系统将实现人员、物流的全面管理,而物流管理是系统的核心部件,怎样实现二者的共存,互不干扰,是本系统设计的难点。本系统必须实现对用户权限的有效合理控制。8.3设计策略由于所有的物流都需要有人员的活动才能够发生,因此,我决定采用一种“人员活动带动物流”的策略来解决人员管理与物流管理的统一管理问题。这个想法是模拟现实而来的,比如说,只有采购人员进行了“采购”或“进书”活动,才会引起“入库登记”或“新书入库”这个物流。8.4系统概要设计说明书8.4.1图例说明过程、模块1.处理过程:数据表2.数据存储: 决策3.条件判断:4.数据流:(单向)5.数据流:(双向)实体6.外部实体:数
29、据表7.带有变动历史的数据存储:8.4.2系统总体结构图登陆验证会员政策员工管理书店概况统计分析安全子系统权限控制身份鉴别经理子系统宛枫书社图书管理系统基本统计退货统计库存统计进货统计销售统计进货子系统库存管理退货子系统书目管理入库登记供应商管理仓库管理员子系统删除帐号修改资料创建帐号销售统计会员管理销售子系统售书员子系统购书记录修改密码个人资料会员子系统信息反馈会员注册书目检索游客子系统图10.系统总体结构图8.4.3销售子系统流程图售书员Book会员表选择图书选择会员会员表图书销售优惠政策售书记录图11. 销售子系统流程图8.4.4进货子系统流程图仓管员选择供应商供应商修改资料供应商登记选
30、择品种供应商供应商添加类别添加品种Book入库登记修改资料图书分类Book图书进价表进货记录图12.进货子系统流程图8.4.5退货子系统流程图选择供应商仓管员供应商选择品种退货记录退货登记Book进货记录图13.退货子系统流程图8.5系统详细设计说明书8.5.1系统模块汇总模块名类型原型或声明模块说明CheckUser子程序Public Sub CheckUser(userID As String, passwd As String)用户帐号、密码验证和身份鉴别LogOff子程序Public Sub LogOff()注销模块Sys_exit子程序Public Sub Sys_exit()系统退
31、出摸块Form_Load子程序Private Sub Form_Load()初始化模块,连接数据库GetHYDaZhe函数Public Function GetHYDaZhe(bianHao As String) As String提取会员政策的会员优惠办法GetKuCun函数Public Function GetKuCun(bianHao As String) As String获取、检验图书现有库存量HYShengJi函数Public Function HYShengJi(HYKaHao As String) As Boolean会员升级维护CmdSellBook_Click子程序Priv
32、ate Sub CmdSellBook_Click()图书销售模块checkGYSID函数Public Function checkGYSID(UID As String) As Boolean检验数据表主键,避免插入错误checkFenLei函数Public Function checkFenLei(UID As String) As Boolean检测图书分类是否已经存在CmdNewFenLei_Click子程序Private Sub CmdNewFenLei_Click()创建类别checkUserID函数Public Function checkUserID(UID As String
33、) As Boolean检测用户帐号是否存在CmdChgPass_Click子程序Private Sub CmdChgPass_Click()修改密码CmdRegMe_Click子程序Private Sub CmdRegMe_Click()创建员工、会员帐号GetJinJia函数Public Function GetJinJia(bianHao As String) As String提取图书进价CmdTH_Click子程序Private Sub CmdTH_Click()退货模块CmdSaveContinue_Click子程序Private Sub CmdSaveContinue_Click
34、()供应商信息登记注:其他模块(略)8.5.2系统核心模块详解全局变量定义:用户身份标志Public UserShenFen As String登陆状态Public logOK As Boolean用户名Public userName As String供应商编号Public GongYingShangID As String供应商Public GongYingShang As String图书编号Public TuShuBianHao As String定价Public DingJia As String书名Public ShuMing As String会员卡号Public HuiYuan
35、KaHao As String会员姓名Public HYXingMing As String会员等级Public HYDengJi As String模块名:CheckUser原型:Public Sub CheckUser(userID As String, passwd As String)代码:Public Sub CheckUser(userID As String, passwd As String)Dim userDB As DatabaseDim userRD As RecordsetDim dbName As StringDim STRSQL As StringScreen.Mo
36、usePointer = 11On Error GoTo errEnddbName = App.PathIf Right(dbName, 1) Then dbName = dbName + dbName = dbName + DataBaseWFSSDataBase.mdbSTRSQL = select 用户身份 from Admin where 用户ID= & userID & and 用户密码= & passwd & 打开数据库Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)检索用户,验证密码Set
37、userRD = userDB.OpenRecordset(STRSQL, dbOpenSnapshot)If userRD.RecordCount 0 Then 设置用户身份 UserShenFen = userRD!用户身份 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing 进入用户环境 Load FrmMain FrmMain.Show Unload FrmLogIn logOK = True userName = userID Screen.MousePointer = vbDefaultElse 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing logOK = False Screen.MousePointer = vbDefault MsgBox 用户名或密码错误!请重新输入!, vbOKOnly + vbExclamation, 登陆失败End IfExit SuberrEnd: Screen.MousePo