1、河北工业职业技术学院专项任务报告书任务题目图书管理系统的设计与实现系 别计算机技术系专业年级11级软件1班学生姓名吴维康学 号35091001015指导教师张三 李四 职称高级工程师 讲师完成地点河北善理软件科技有限公司日 期2013-05-20 河北工业职业技术学院专项任务书专项任务名称 图书管理系统的设计与实现 姓名 吴维康 专业 软件技术 班级 1班 学号 35091001015一、 任务情况描述:现今社会上的个体书店,其日常管理工作都是人工操作,历史数据很难保存和利用,对于书店的经营非常不利。针对这种状况,计划开发一个面向个体书店的图书管理系统,实现对人员、物流的全面管理,以帮助这些书
2、店早日实现书店管理信息化。二、 任务完成计划:第一阶段:3.15-3.20需求分心,确定论文题目。第二阶段:3.21-4.1设计分析,流程图和确定模块功能。第三阶段:4.2-4.15开发阶段,创建表,数据库。第四阶段:4.16-5.10 程序编码测试,程序维护。第五阶段:5.11-5.25 论文撰写及打印准备答辩。三、 计划答辩时间:2013.5.25日论文答辩实习指导教师(签字): 系学生顶岗实习领导小组组长(签字):年 月 日 年 月 日 目 录一、序言1二、需求分析说明书21系统介绍22系统面向的用户群体23系统的功能性需求24系统的非功能性需求3三、可行性分析报告41.技术可行性42.
3、时间、设备可能性43.文档要求4四、软件界面设计标准与规范51.编写目的52.界面设计思想53.界面设计原则54.界面设计样式55.常见提示信息样式56常见错误信息样式67.其他界面约定6五、软件编码设计标准与规范71.对象命名约定72.常量和变量命名约定73.结构化编码约定84.数据源的约定105.数据库访问约定116.其他约定11六、数据库分析与设计121.数据库环境说明122.数据库命名标准与规范123.数据库逻辑设计124.数据库物理设计13七、软件体系结构设计说明书141.系统概述142.设计约束143系统概要设计说明书144.系统详细设计说明书17八、用户界面设计报告341界面设计
4、规范342.主界面设计344.子界面设计345.界面资源设计35九、软件测试分析报告361.测试范围与主要内容362.测试方法363.测试报告36十、软件使用说明书381.系统安装382.使用说明38参考资料45山庄酒店办公无线网络设计与实现序言对于很多中小企业的各种办公室来说,如何快速安全的组建网络,接入Internet,跨入信息化之门,是其迫切需要解决的问题。尽管现在很多企业都选择了有线的方式来组建局域网,但同时也会受到种种限制,例如,布线会影响办公场所的整体设计,而且也不雅观等。通过无线局域网不仅可以解决线路布局,在实现有线网络所有功能的同时,还可以实现无线共享上网,凭借着种种优点和优势
5、,越来越多的中小企业开始把注意力转移到了无线局域网上,而究竟该怎么样来架设这种中小企业办公网络呢?下面就来。如何采用无线局域网技术来组建企业办公无线局域网详细的解析。二、需求分析说明书1系统介绍操作系统选择目前常用的Windows XP。系统性质为管理信息系统或财务软件。本系统采用会员制管理,系统功能应包含进书管理、售书管理、退货管理、库存管理、统计分析、相关人员管理等。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。2系统面向的用户群体系统主要面向中个体书店,用户群体为这些书店的经理、采购员仓库管理员、图书销售人员、书店的会员游客等。3系统的功能性需求序号功能名称功能说明1供应
6、商管理包含供应商信息的登记、修改等2图书种类管理包含图书大类、小类的创建3图书资料管理包含图书资料的添加、修改等4新书入库管理登记新书的数量、单价、金额等5库存统计分门别类统计图书现有库存量、入库时间等6进货记录查询查询历次进货记录7退货登记登记供应商、图书种类、退货的数量、原因等8退货统计按供应商统计退货记录9退货记录查询查询历次退货记录10图书销售管理登记销售的种类、数量、单价、折扣、顾客/会员等11会员管理包含会员的创建、修改、删除等12优惠政策管理包含优惠政策的制定与执行13本日售书统计统计本日销售图书的数量、金额等14售书记录查询查询历次售书记录15员工管理包含员工帐号的创建、修改、
7、删除等16统计分析按年月日时段统计书店经营状况17图书检索提供按图书的编号、书名、责任者、出版社等途径的检索18系统帐号管理提供上级对下级的资料、密码管理,19资料、密码管理提供修改个人资料、密码的工具4系统的非功能性需求(1)用户界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。(2)软硬件环境需求软件环境:兼容当前主流操作系统 Windows 2003/XP 等。硬件环境:打印机、扫描仪等。(3)软件质量需求易用、健壮、兼容性好、运行稳定、有一定安全保障。三、可行性分析报告1.技术可行性系统的性质为管理信息系统或财务软件,因而数据库的设计与操纵是系统设计的核心。在校期间成功完成
8、了“学校运动会管理系统”的开发与维护任务,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师姜彦芬多年从事数据库的教学与研究工作,因而该系统的实现在技术上是可行的。2.时间、设备可能性系统设计与开发工作预计耗时一个月,所有参与开发的人员均能够保证按时完成任务。实验设备如:计算机、打印机、扫描仪等不足,上机任务可以完成,打印机、扫描仪的实验根据具体条件暂时延缓执行。3.文档要求依据国家计算机软件产品开发文件编制指南和现代软件工程的理论与原则编制标准的软件技术文档。四、软件界面设计标准与规范1.编写目的制定界面设计标准规范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。2
9、.界面设计思想首先考虑标准化,在标准化的基础上进行界面的美工设计。3.界面设计原则简单易用、简洁明了、兼容性好、标准、规范。4.界面设计样式工具条采用标准Windows界面,自上至下依次为:标题栏、菜单栏、工具条、工作区、状态栏等。如下图示:菜单栏状态栏工作区图1.系统界面5.常见提示信息样式提示信息按以下标准进行:采用标准Windows对话框样式,添加信息图标,后接提示信息文本和相应按钮。如下图示:信息图标提示文本按钮图2.常见提示信息样式6常见错误信息样式错误信息依据提示信息样式设计,将信息图标更改为警告图标。如下图示:警告图标提示文本图3.常见错误信息样式7.其他界面约定除主界面外,所有
10、子界面均采用模式窗体,即该窗体不消失,不可以在本程序内将焦点移出子窗体。五、软件编码设计标准与规范1.对象命名约定对象名对象类型命名约定(前缀码)Form窗体FrmCommand按钮CmdLabel标签LabTextBox文本框TxtComboBox组合框ComBListBox列表框LstBAdodb数据库访问对象AdodbDataGrid数据表格显示组件DataGridFrame框架FamOption单选框OptCheckBox复选框ChkPictureBox图象显示组件PtBCommonDialog通用对话框组件ComDlgTimer时间组件TimToolBar工具栏TlBarMenu菜单
11、MnuSSTab页框SSTabImageList界面资源组件ImgLst2.常量和变量命名约定变量名数据类型变量类型含义UserShenFenString全局变量用户身份标志LogOKBoolean全局变量登陆状态UserNameString全局变量用户名GongYingShangIDString全局变量供应商编号GongYingShangString全局变量供应商名称TuShuBianHaoString全局变量图书编号DingJiaSingle全局变量图书定价ShuMingString全局变量书名HuiYuanKaHaoString全局变量会员卡号HYXingMingString全局变量会员
12、姓名HYDengJiString全局变量会员等级3.结构化编码约定编码应清晰、可读性好,运用缩进、空行,结合大小写区别等方法保持程序结构良好。凡与数据库操作相关的模块一律加上容错代码,涉及多表操作的模块应运用“事务”处理,以保持数据完整性。编码风格参照下例进行:Public Sub CheckUser(userID As String, passwd As String)Dim userDB As DatabaseDim userRD As RecordsetDim dbName As StringDim STRSQL As StringScreen.MousePointer = 11On E
13、rror GoTo errEnddbName = App.PathIf Right(dbName, 1) 、 Then dbName = dbName + 、dbName = dbName + DataBase、WFSSDataBase.mdbSTRSQL = select 用户身份 from Admin where 用户ID= & userID & and 用户密码= & passwd & 打开数据库Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)检索用户,验证密码Set userRD = userDB
14、.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 关闭数据库 user
15、RD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing logOK = False Screen.MousePointer = vbDefault MsgBox 用户名或密码错误!请重新输入!, vbOKOnly + vbExclamation, 登陆失败End IfExit SuberrEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 登陆错误 logOK = False Err.Clear 关闭数
16、据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Exit SubEnd Sub4.数据源的约定需用数据源的组件如:DataGrid一律采用Adodb控件。有特殊需求的情况如:身份验证应引用DAO(数据访问对象)。5.数据库访问约定数据库引擎采用Microsoft.Jet.OLEDB.4.0,由Adodb组件进行数据库的访问,并为其他组件提供数据源。特殊情况、身份验证等由 DAO访问数据库。6.其他约定无需数据显示的情况由DAO提供数据库支持,有数据显示的情况由ADODB组件提供数据库支持。六、数据库分
17、析与设计1.数据库环境说明考虑该系统的定位与现有技术力量,决定采用Microsoft Access 2000/2002作为系统的后台数据库开发环境。2.数据库命名标准与规范说明:下表所列为数据库及各表、视图的命名方法,具体信息请参阅7.4.1表、视图汇总。名称类型命名办法约定WFSSDataBase系统数据库字母表基本表汉字或字母查询查询汉字字段字段汉字或字母3.数据库逻辑设计会员政策会员级别会员表会员级别会员卡号Admin用户ID员工表员工帐号图书分类图书分类号Book图书分类号图书编号售书记录会员卡号图书编号图书进价表图书编号供应商供应商编号进书记录图书编号供应商编号退货记录图书编号供应商
18、编号 图4.数据库逻辑结构图4.数据库物理设计(1)表、视图汇总视图/表名说明Admin集中保存系统用户的帐号、密码Book集中存放书目信息员工表存放员工资料供应商供应商资料会员表会员资料会员政策会员标准及优惠政策进书记录进书历史记录客户反馈客户反馈信息售书记录售书历史记录书店简介书店简介图书分类图书类别图书进价表图书进价列表退货记录退货历史记录读者查询提供给所有用户的书目查询界面基本统计基本的统计分析进书查询进书记录查询,含进书统计售书查询图书销售记录查询售书统计图书销售记录统计退货查询退货记录查询退货统计退货统计员工信息员工信息查询库存统计现有库存统计反馈信息客户反馈信息查询七、软件体系结
19、构设计说明书1.系统概述在单机环境下进行系统安全的考虑,有必要进行用户权限的划分与控制,因而系统在总体上应包含安全子系统之下的各类用户工作环境。用户权限的合理划分与有效控制是本系统体系结构设计的核心。2.设计约束系统将实现人员、物流的全面管理,而物流管理是系统的核心部件,怎样实现二者的共存,互不干扰,是本系统设计的难点。本系统必须实现对用户权限的有效合理控制。3系统概要设计说明书(1)图例说明过程、模块1.处理过程:数据表2.数据存储: 决策3.条件判断:4.数据流:(单向)5.数据流:(双向)实体6.外部实体:7.带有变动历史的数据存储:数据表(2)系统总体结构图登陆验证基本统计身份鉴别安全
20、子系统权限控制进货统计库存统计统计分析退货统计员工管理会员政策经理子系统销售统计书店概况图书管理系统供应商管理仓库管理员子系统进货子系统库存管理退货子系统入库登记书目管理创建帐号销售子系统修改资料会员管理售书员子系统删除帐号销售统计修改密码个人资料会员子系统购书记录书目检索游客子系统会员注册信息反馈图10.系统总体结构图(3)销售子系统流程图售书员选择图书选择会员Book图书销售会员表优惠政策会员表售书记录图11. 销售子系统流程图(4)退货子系统流程图选择供应商仓管员供应商选择品种退货记录退货登记Book进货记录图13.退货子系统流程图4.系统详细设计说明书(1)系统模块汇总模块名原型或声明
21、模块说明CheckUserPublic Sub CheckUser(userID As String, passwd As String)用户帐号、密码验证和身份鉴别LogOffPublic Sub LogOff()注销模块Sys_exitPublic Sub Sys_exit()系统退出摸块Form_LoadPrivate Sub Form_Load()初始化模块,连接数据库GetKuCunPublic Function GetKuCun(bianHao As String) As String获取、检验图书现有库存量CmdSellBook_ClickPrivate Sub CmdSellB
22、ook_Click()图书销售模块checkFenLeiPublic Function checkFenLei(UID As String) As Boolean检测图书分类是否已经存在CmdNewFenLei_ClickPrivate Sub CmdNewFenLei_Click()创建类别checkUserIDPublic Function checkUserID(UID As String) As Boolean检测用户帐号是否存在CmdChgPass_ClickPrivate Sub CmdChgPass_Click()修改密码CmdRegMe_ClickPrivate Sub Cmd
23、RegMe_Click()创建员工、会员帐号GetJinJiaPublic Function GetJinJia(bianHao As String) As String提取图书进价CmdTH_ClickPrivate SubCmdTH_Click()退货模块CmdSaveContinue_ClickPrivate Sub CmdSaveContinue_Click()供应商信息登记(2)系统核心模块详解全局变量定义:用户身份标志Public UserShenFen As String登陆状态Public logOK As Boolean用户名Public userName As String
24、供应商编号Public GongYingShangID As String供应商Public GongYingShang As String图书编号Public TuShuBianHao As String定价Public DingJia As String书名Public ShuMing As String会员卡号Public HuiYuanKaHao As String会员姓名Public HYXingMing As String会员等级Public HYDengJi As String模块名:CheckUser (用户帐号、密码验证和身份鉴别原型:Public Sub CheckUser
25、(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.MousePointer = 11On Error GoTo errEnddbName = App.PathIf Right(dbName, 1) Then dbName = dbName + dbName = dbName
26、+ DataBaseWFSSDataBase.mdbSTRSQL = select 用户身份 from Admin where 用户ID= & 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!用
27、户身份 关闭数据库 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.MousePointe
28、r = vbDefault MsgBox 用户名或密码错误!请重新输入!, vbOKOnly + vbExclamation, 登陆失败End 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 Sub 模块名:CmdNe
29、wFenLei_Click (创建类别模块原型:Private Sub CmdNewFenLei_Click()代码:Private Sub CmdNewFenLei_Click()On Error GoTo errEndIf TxtBianHao.Text = Then MsgBox 请填写图书分类号!, vbOKOnly + vbExclamation, 创建分类 TxtBianHao.SetFocus Exit SubEnd IfIf TxtLeiBie.Text = Then MsgBox 请填写图书分类名称!, vbOKOnly + vbExclamation, 创建分类 TxtLe
30、iBie.SetFocus Exit SubEnd IfIf checkFenLei(TxtLeiBie.Text) Then MsgBox 图书分类名称不唯一,请另选一个!, vbOKOnly + vbExclamation, 创建分类 TxtLeiBie.SetFocus TxtLeiBie.SelStart = 0 TxtLeiBie.SelLength = Len(TxtLeiBie.Text) Exit SubEnd IfIf ComboFuLei.Text And ComboFuLei.Text 选择父类 Then If Not checkFenLei(ComboFuLei.Tex
31、t) Then MsgBox 所选父类不存在!请重试!, vbOKOnly + vbExclamation, 选择父类 ComboFuLei.SetFocus Exit Sub End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 图书分类号 from 图书分类 where 图书分类号=所属父类编号 and 图书分类= & ComboFuLei.Text & Adodc1.Refresh Adodc1.Recordset.MoveFirst FuLeiBianHao = Adodc1.Recordset!图书分类号
32、End IfIf checkGYSID(TxtBianHao.Text) Then MsgBox 图书分类编号不唯一,请另选一个!, vbOKOnly + vbExclamation, 创建分类 TxtBianHao.SetFocus TxtBianHao.SelStart = 0 TxtBianHao.SelLength = Len(TxtBianHao.Text) Exit SubEnd IfIf FuLeiBianHao = Then FuLeiBianHao = TxtBianHao.TextAdodc1.CommandType = adCmdTableAdodc1.RecordSou
33、rce = 图书分类Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset!图书分类号 = TxtBianHao.TextAdodc1.Recordset!图书分类 = TxtLeiBie.TextAdodc1.Recordset!所属父类编号 = FuLeiBianHaoAdodc1.Recordset.UpdateMsgBox 创建分类成功!, vbOKOnly + vbInformation, 创建分类TxtBianHao.Text = TxtLeiBie.Text = ComboFuLei.Text = 选择父类FuLeiBianHa
34、o = TxtFuLei.Text = TxtBianHao.SetFocusExit SuberrEnd: MsgBox 更新数据库失败!, vbOKOnly + vbExclamation, 数据库出错End Sub模块名:CmdChgPass_Click (修改密码模块原型:Private Sub CmdChgPass_Click()代码:Private Sub CmdChgPass_Click()On Error GoTo errEndIf TxtUserID.Text = Then MsgBox 请输入你的帐号!, vbOKOnly + vbExclamation, 更改密码 Txt
35、UserID.SetFocus Exit SubEnd IfIf TxtPasswd.Text = Then MsgBox 请输入你的旧密码!, vbOKOnly + vbExclamation, 更改密码 TxtPasswd.SetFocus Exit SubEnd IfIf TxtNewPasswd.Text = Then MsgBox 请输入你的新密码!, vbOKOnly + vbExclamation, 更改密码 TxtNewPasswd.SetFocus Exit SubEnd IfIf TxtNewPasswd.Text TxtNewPasswdC.Text Then MsgBo
36、x 密码输入不一致,请重试!, vbOKOnly + vbExclamation, 更改密码 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = TxtPasswd.SetFocus Exit SubEnd IfIf checkUserID(TxtUserID.Text) Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from Admin where 用户密码= & TxtPasswd.Text & and 用户ID= & TxtUserID.
37、Text & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!用户密码 = TxtNewPasswd.Text Adodc1.Recordset.Update Else MsgBox 用户密码验证错误!你无权修改密码!, vbOKOnly + vbExclamation, 密码错误 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = Exit Sub End If MsgBox 用户密
38、码修改成功!请牢记!, vbOKOnly + vbInformation, 更改密码 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = Else MsgBox 该用户不存在!无法修改密码!, vbOKOnly + vbExclamation, 更改密码 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = End IfExit SuberrEnd: MsgBox Err.Description & vbCrLf & 更改密码失败!, vbOKOnly + vbExcl
39、amation, 操作数据库出错End Sub模块名:CmdRegMe_Click (创建员工会员账号模块原型:Private Sub CmdRegMe_Click()代码:Private Sub CmdRegMe_Click()On Error GoTo errEndIf TxtCard.Text = Then MsgBox 请填写员工帐号!, vbOKOnly + vbExclamation, 创建员工帐号 TxtCard.SetFocus Exit SubEnd IfIf TxtUName.Text = Then MsgBox 请填写员工的姓名!, vbOKOnly + vbExclam
40、ation, 创建员工帐号 TxtUName.SetFocus Exit SubEnd IfIf ComboShenFen.Text = Or ComboShenFen.Text = 请选择员工身份 Then MsgBox 请选择员工的身份!, vbOKOnly + vbExclamation, 创建员工帐号 ComboShenFen.SetFocus Exit SubEnd IfIf TxtUDanWei.Text = Then TxtUDanWei.Text = 无If TxtUDiZhi.Text = Then MsgBox 请填写员工的地址!, vbOKOnly + vbExclamation, 创建员工帐号 TxtUDiZhi.SetF