书店销售管理信息系统分析与研究设计.docx
《书店销售管理信息系统分析与研究设计.docx》由会员分享,可在线阅读,更多相关《书店销售管理信息系统分析与研究设计.docx(22页珍藏版)》请在冰豆网上搜索。
![书店销售管理信息系统分析与研究设计.docx](https://file1.bdocx.com/fileroot1/2023-1/10/a2cf7a74-22a7-4fa8-8086-0564ed4259b1/a2cf7a74-22a7-4fa8-8086-0564ed4259b11.gif)
书店销售管理信息系统分析与研究设计
沈阳航空航天大学北方科技学院
课程设计说明书
课程名称信息系统分析与设计
教学部经管教案部
专业信息管理与信息系统
班级B843201
学号B84320115
学生姓名杨惠文
指导教师马丽娜吕荣鑫
成绩
沈阳航空航天大学北方科技学院
课程设计任务书
课程设计题目书店销售管理信息系统分析与设计
教学部经管部专业信息管理与信息系统
班级B843201学号B84320115姓名杨惠文
课程设计时间:
2011年06月28日至2011年07月22日
(一)课程设计目的
本课程设计的目的在于加深对《管理信息系统》、《数据库原理》等课程基础理论和基本知识的理解,进一步掌握利用结构化方法对管理信息系统进行分析与设计的基本原则、方法和步骤,提高解决实际管理问题、开发信息系统的实践能力。
通过课程设计使学生认识管理信息系统开发的基本过程,能够运用系统分析和设计方法进行管理信息系统的开发。
(二)课程设计内容及要求
利用系统开发工具(例如VisualBasic、ASP等)、数据库采用SQLserver2000开发一个实用的中小型管理信息系统。
1.合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计工作。
2.总体结构设计首先要在需求分析的基础上确定应用系统的模块结构,并根据模块的设计原则进行分析和综合。
模块划分时应尽可能使每一个模块的功能简单、明确。
3.界面设计风格要求统一、布局合理;程序设计中要有适当注释,便于阅读。
4.课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后要求提交各环节详细的报告文档及完整源程序,主要包括:
需求分析、功能需求、数据库设计(逻辑设计、物理设计)、应用系统设计、编码和调试过程分析,课程设计总结。
5.开发出可以运行的管理信息系统,学生对设计成果进行现场演示,并进行答辩。
(三)主要参考书
[1]薛华成编,《管理信息系统》,北京:
清华大学出版社2006年7月
[2]王珊编,《数据库系统概论》,高等教育出版社,2006年5月
[3]VisualBasic程序开发实例教程清华大学出版社王栋2006年
[4]VisualBasic程序设计教程/新世纪计算机基础教育丛书刘炳文清华大学出版社2006年
[5]ASP+SQLServer典型网站建设案例顼宇峰清华大学出版社2006年
[6]ASP+SQLServer网站开发实例精讲龙马工作室人民邮电出版社2007年
[7]从零开始——SQLServer2005中文版基础培训教程宋晓峰人民邮电出版社2007年
(四)评语
(五)成绩
指导教师吕荣鑫马丽娜2011年06月28日
负责教师年月日
前言
随着计算机技术的飞速发展,计算机代替手工作业在企业、商业的各个领域得到大量的普及。
随着计算机的应用普及以及软件行业的发展,各行各业对日常事务的安排和管理已经不仅仅是停留在人工管理上了,尤其是一些大企业大的事业单位,对日常事务的管理量异常大,不管在书店还是在其他的商店,都存在进销存管理以及其他方面管理难的问题,人工的管理有时难免出错或者由于数据量过大而忙不过来,而现在绝大多数的管理还处于手工作业状态,效率很低,而且容易出错,不便于管理。
使用管理信息系统来管理无非是一种明智的选择。
在信息时代,传统的书店管理方式必然被计算机为基础的信息管理系统所取代。
因为作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点。
因此,书店管理的内部管理、自我完善不容忽视,我认为有必要开发一个中小型的书店管理软件来代替手工管理。
本论文主要介绍了书店管理系统的设计与开发,主要是为了方便中小型书店更加有效的利用本系统来管理书店的运作,合理安排书店的一切,提高书店员工的工作效率。
本系统着重于实现图书销售和进货的电子化,是图书的销售和管理更加的方便。
开发工具为VisualBasic(VB),后台数据库为MicrosoftSqlServer2005,采用很多数据验证使系统运行更加安全可靠。
本系统开发的任务是实现书店管理的信息化、系统化、规范化。
目的是开发一个具有新增,查询,修改,更新,删除等功能的比较强大的书店管理系统。
功能模块包括:
用户登录系统(此系统是设计员工登录界面),销售系统(对书的销售量进行统计,以便做出更好的规划),仓库管理系统(即书店图书出库入库系统,对所有书籍的信息做好记录),供应商管理系统(供应商信息进行管理),系统管理(是管理员添加用户,修改密码的地方)。
系统开发过程大体分为可行性分析、系统分析、系统设计、系统实现四个主要阶段。
这样的开发过程快速、高效,而且能更好的满足客户需求。
1可行性分析
长期以来,书店业务一直采用手工管理。
图书采购、库存、销售和核算的手工信息管理存在工作量大、服务质量差、工作效率低、耗费人员多,图书的市场、库存、销售、读者反馈等信息不能及时提供等问题。
为了彻底改善书店销售图书管理的落后局面,特提出开发本系统。
“书店销售管理系统”的建设,对提高书店服务质量、提高工作效率、加快信息反馈、增强竞争实力有着重大意义。
1.1开发环境与开发工具
开发环境:
开发语言Microsoft公司的VB语言。
VB语言特点:
(1)是一种面向对象的程序设计语言。
(2)便于程序员使用,无论是新手或者专家。
(3)适应于开发视窗类应用程序。
(4)VB的组件既可以拥有用户界面,也可以没有。
可以增加服务器端程序就可以处理的模块。
(5)具有强大的数据库管理功能。
(6)程序开发环境高度集成化。
开发工具:
VisualBasic(VB)
后台数据库为MicrosoftSqlServer2005
1.2可行性报告
在充分了解本系统的各部分功能后,本系统的开发是可行的。
1.2.1开发必要性
书店销售管理系统开发是必要的。
另外,书店销售管理系统所采用的操作和工作方式符合工作人员和读者的日常习惯,而且操作方便灵活,便于学习。
首先把在需求分析阶段得到的信息系统需求结构作为初步的软件架构。
初步软件架构比较粗糙,需要进行分解和细化。
需要从顶层子系统开始,逐层对子系统进行分解,直到分解到底层子系统为止。
作为一个完整的信息系统的软件架构,除了考虑业务逻辑之外,还需要考虑像系统设置等系统功能逻辑,并需要在软件架构中体现出来。
1.2.2技术可行性
本系统所涉及到得技术有:
(1) 管理系统的开发方法。
使用面向对象开发方法开发软件系统
(2) 网络和通信技术。
(3) 本系统的结构规划和技术设计。
(4) 数据库技术。
能都使用MicrosoftSqlServer数据库
(5) VisualBasic6.0面向对象开发技术。
能够使用VisualBasic6.0开发系统
1.2.3经济可行性
从经济角度来看,书店对系统的投资要小于系统对书店的回报,书店决策者才会实施系统计划。
从本系统开发的角度出发,系统开发成功会减低人员费用支出,办公的支出,同时,大量的用户增加回个诶书店无法量化的估计,会使书店获得更大的收益。
2系统分析
2.1系统需求分析
按照一般书的销售流程,从进货如库到卖给顾客,其中经过的一些流程:
比如联系供应商进货,图书入库,到销售给顾客,还有就是有时还会有特殊情况:
退书了。
计算机使用的范围越来越广,计算机应用和操作越来越广,传统书店通过手工记录,可能会发生不少错误,更主要是的不方便查询。
我们写的这个书店销售管理系统,可以对图书入库信息,图书销售信息,进行详细的记录,查询,管理等;方便用户操作。
在销售统计模块中包含了,销售统计,对日,月,年销售量能够进行很好的统计,销售业绩的好坏决定的书店的最终命运。
所以对销售量的统计是很重要的。
2.2功能需求分析
社会需要书店管理的现代化和信息化。
本系统的主要功能是帮助书店管理者更好的管理书店。
系统主要有四大功能模块:
(1)用户登录管理:
此模块包括管理员登录,和销售员的登录。
(2)仓库管理:
包括仓库入库信息和出库信息的管理两部分,仓库入库信息是书店进货时所需填写的信息,出库信息即已销售图书。
(3)销售管理:
包括图书销售和图书退货两部分,图书销售是售书的界面,销售员在查询代销售图书后,看库存是否够,若够则将书卖出,图书退货是顾客退书的界面,若符合退书情况,销售员经书收回到库存中。
(4)供应商信息管理:
是对供应商信息的管理,包括添加、修改、删除供应商信息。
(5)系统管理:
包括添加管理员、修改密码和退出系统。
添加管理员是用户登录后,从菜单页面进入,进行相应的操作,添加管理员,并设置权限,修改密码。
2.3组织结构分析
通过对书店销售的组织结构进行分析得到图书馆组织结构图如下:
图2-1书店销售系统的组织结构图
2.4业务流程分析
基本业务流程:
从供应商(出版社)中购进图书(进货)
图书销售
对图书库存的管理
辅助管理的一些基本查询业务
2.5数据与数据流程分析
2.5.1数据流程图
图2-2书店销售管理数据流程图
2.5.2数据字典
书店销售信息管理系统数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚。
在我们定义的书店销售信息管理系统数据字典中,主要对数据流程图中的数据流、数据存储和处理过程进行说明。
1.主要数据流的定义
(1)数据流名称:
图书入库信息
定义:
书名+作者+出版社+定价+进价+进货量+入库日期
(2)数据流名称:
供应商信息
定义:
供应商名称+地址
(3)数据流名称:
管理员信息
定义:
管理员+密码+权限
(4)数据流名称:
图书库存信息
定义:
书名+作者+出版社+定价+进价+总库存量+剩余量+入库日期
(5)数据流名称:
已销售图书信息
定义:
书名+作者+出版社+定价+进价
2.主要数据存储的定义
(1)入库操作
输入
书名,作者,出版社,定价,进价,进货量,入库日期等信息
处理
检测输入的图书信息并加入数据库中
输出
形成图书库存表中的所有数据
(2)销售图书操作
输入
编码,图书的信息,本数等
处理
修改对应库存数据(数量)
输出
已售出
(3)图书查询
输入
编码,作者,书名,出版社,关键词
处理
根据输入数据在数据库中进行查询
输出
书名,作者,出版社,定价,进价,数量,入库日期等信息
(4)顾客退书
输入
编码,书名
处理
从图书已售出中检索数据,并从已售出数据库中删除,添加到库存中
输出
图书库存表
(5)供应商管理
输入
供应商名称,地址,联系方式(电话,Email)等信息
处理
添加,修改,删除对供应商信息进行处理
输出
供应商信息表
3系统设计
3.1系统总体结构设计
图3-1书店销售系统总体结构设计图
3.2子系统/模块划分
以下表是对于本系统的一些子系统的划分。
名称
功能
销售管理模块
销售员在查询代销售图书后,看库存是否够,若够则将书卖出,图书退货是顾客退书的界面,若符合退书情况,销售员经书收回到库存中。
仓库管理模块
是管理仓库出库、仓库入库信息的模块
供应商管理模块
是对供应商管理的模块,包括添加、修改和删除供应商信息。
系统管理
进行管理员注册,修改管理员登录密码
3.3代码设计
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
代码设计的原则包括惟一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。
代码设计要遵循以下原则:
(1)代码的唯一性:
一个对象一个代码。
一一对应,独一无二。
一个代码只反映一个对象,不乱码,不重码。
(2)代码的可扩性:
代码是柔性结构。
代码必须是可扩充的,能延伸的。
以适应代码和代码体系的增容的需要、维护的需要、修改的需要,技术发展的需要。
(3)代码的兼容性:
应该兼容过去编码的合理部分。
(4)代码的标准性:
完全符合国际标准和国家标准。
(5)代码的选择性:
设计代码时,必须对代码包含的内容给予选定。
(6)代码的一致性:
代码的书面文件本身,必须规范化,统一化,全系统高度一致。
(7)代码的识别性:
设计标识符。
(8)代码的操作性:
代码必须便于操作。
3.4数据结构设计
3.4.1E-R图设计
利用E-R图方法进行数据库的概念结构设计,可分三个步骤:
首先设计局部E-R图模式,然后把各局部E-R图模式综合成一个全局模式,最后对全局E-R图模式进行优化,得到最终的模式,叫概念模式。
(1)管理员信息实体E-R图:
图3-2管理员信息实体E-R图
(2)图书信息实体E-R图:
图3-3图书信息实体E-R图
(3)供应商信息实体E-R图:
图3-4供应商信息实体E-R图
(4)实体与实体之间的关系E-R图:
图3-5实体与实体之间的关系E-R图
3.4.2建立关系数据库表
本系统数据库一共是由图书库存信息表,已销售图书信息表,供应商信息表和管理员信息表组成。
表3-1图书库存信息表
数据元素名称
长度
类型
单位
书名
50
char
作者
10
char
出版社
50
char
定价
9
money
元
进价
9
money
元
进货量
10
number
本
剩余量
10
number
本
入库日期
10
datetime
表3-2已销售图书信息表
数据元素名称
长度
类型
单位
书名
50
char
作者
10
char
出版社
50
char
定价
9
money
元
表3-3供应商信息表
数据元素名称
长度
类型
供应商名
10
char
地址
10
char
表3-4管理员信息表
数据元素名称
长度
类型
管理员
10
char
密码
10
char
权限
10
char
4系统实现
实现图书馆管理系统的管理,首先得通过登录进入系统主界面,实现登录的界面如下图4-1所示:
图4-1登录界面
输入正确的管理用户名和密码,程序即可进入主窗体界面如下图4-2所示:
图4-2主窗体界面
4.1图书销售管理界面设计
进入主窗体界面中选择图书销售,可对图书销售进行管理,即图书销售,图书退货。
图书销售界面,先用书名查询图书,而后查询结果显示在下面的表格中选择该书然后点击确定,跳到该书信息页面,若有库存则可以售出,其中图书查询界面如图4-3所示:
图4-3图书查询界面
其主要代码如下:
DimsqlAsString
Dimrs_findAsNewADODB.Recordset
DimconnAsNewADODB.Connection
sql="select*from图书库存信息where书名='"&Text1.Text&"'"
conn.Open"Provider=SQLOLEDB.1。
IntegratedSecurity=SSPI。
PersistSecurityInfo=False。
InitialCatalog=书店销售"
rs_find.CursorLocation=adUseClient
rs_find.Opensql,conn,adOpenKeyset,adLockPessimistic
DataGrid1.AllowAddNew=False
DataGrid1.AllowDelete=False
DataGrid1.AllowUpdate=False
SetDataGrid1.DataSource=rs_find
点击查询界面面后,跳到图书售书界面,其界面如图4-4所示:
图4-4售书界面
其主要代码如下:
Dimrs_sellbookAsNewADODB.Recordset
DimsqlAsString
DimconnAsNewADODB.Connection
conn.Open"Provider=SQLOLEDB.1。
IntegratedSecurity=SSPI。
PersistSecurityInfo=False。
InitialCatalog=书店销售"
Adodc2.RecordSource="select*from已销售图书"
Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields(0)=Trim(Text2.Text)
Adodc2.Recordset.Fields
(1)=Trim(Text3.Text)
Adodc2.Recordset.Fields
(2)=Trim(Text10.Text)
Adodc2.Recordset.Fields(3)=Trim(Text5.Text)
Adodc2.Recordset.Update
MsgBox"本书成功售出!
",vbOKOnly+vbExclamation
若是有人退货则图书退货窗口如图4-5所示:
图4-5退货界面
其主要代码如下:
Dimbook_nameAsString
Dimrs_backAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
conn.Open"Provider=SQLOLEDB.1。
IntegratedSecurity=SSPI。
PersistSecurityInfo=False。
InitialCatalog=书店销售"
sql="select*from已销售图书where书名='"&book_name&"'"
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
sql="select*from图书库存信息where书名='"&book_name&"'"
Adodc2.Recordset.Fields(7)=Adodc2.Recordset.Fields(7)+1
Adodc2.Recordset.Update
MsgBox"退书成功!
",vbOKOnly+vbExclamation,""
DataGrid1.AllowDelete=False
4.3仓库管理界面设计
仓库管理分为仓库入库管理和仓库出库管理。
仓库入库管理,对新进图书的管理,添加新进图书的信息。
其主要代码如下:
IfTrim(Text1.Text)=""Then
MsgBox"图书编号不能为空",vbOK0nly+vbExclamation,""
Text1.SetFocus
ExitSub
EndIf
IfTrim(Text2.Text)=""Then
MsgBox"图书名称不能为空",vbOK0nly+vbExclamation,""
Text2.SetFocus
EndIf
Adodc1.RecordSource="select*from图书名称"
While(Adodc1.Recordset.EOF=False)
Adodc1.Recordset.AddNew
MsgBox"添加图书成功!
",vbOKOnly,""
仓库出库管理,是统计已卖出的图书,其界面如下:
图4-6已售出图书界面
4.3供应商管理设计
供应商管理是对供应商的信息管理,对供应商信息进行添加,修改,删除和更新。
其界面如图4-7所示:
图4-7供应商管理界面
其主要代码如下:
添加代码:
Adodc1.Recordset.AddNew
DataGrid1.AllowUpdate=True
修改代码:
DimanswerAsString
OnErrorGoTocmdmodify
Command2.Enabled=False
Command1.Enabled=False
Command3.Enabled=True
Command4.Enabled=True
DataGrid1.AllowUpdate=True
ExitSub
cmdmodify:
IfErr.Number<>0Then
MsgBoxErr.Description
EndIf
删除代码:
DimanswerAsString
answer=MsgBox("确定要删除吗?
",vbYesNo,"")
Ifanswer=vbYesThen
DataGrid1.AllowDelete=True
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
DataGrid1.Refresh
Else
ExitSub
EndIf
更新代码:
IfNotIsNull(DataGrid1.Bookmark)Then
Adodc1.Recordset.Update
EndIf
Command2.Enabled=True
Command1.Enabled=True
Command3.Enabled=False
Command4.Enabled=False
MsgBox"修改成功!
",vbOKOnly+vbExclamation,""
课程设计总结
通过此次课程设计,使我更加扎实的掌握了有关系统设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师和同学的指导下,终于问题都被一一解决。
我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,在实验课上,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
这对于我们的将来也有很大的帮助。
以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能