数据库课设实验报告进销存管理系统.docx
《数据库课设实验报告进销存管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课设实验报告进销存管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
![数据库课设实验报告进销存管理系统.docx](https://file1.bdocx.com/fileroot1/2023-4/16/cb114723-3f17-40ea-85cd-3f791a984d01/cb114723-3f17-40ea-85cd-3f791a984d011.gif)
数据库课设实验报告进销存管理系统
数据库课程设计报告
-------进销存管理信息系统
学院:
计算机学院
专业:
计算机科学与技术
班级:
2013级1班
XX:
傅娴雅
学号:
4
任课教师:
诚梅
实验教师:
诚梅
助教:
XXX
一、系统开发平台
题目:
进销存管理信息系统
数据库:
Mysql5.5.42
开发工具:
Eclips
操作系统:
MicrosoftWindow7旗舰版
二、数据库规划
2.1任务述
进销存管理信息系统,是指在销售行为发生时,将所有交易信息迅速记录在计算机里,并从中分析并掌握市场需求动态。
使商场能够更好地管理其商品的进销存数据记录,提高公司的工作效率及业务水平。
2.2任务目标
(1)基本信息管理
添加、删除、修改、查询商品资料
添加、删除、修改、查询客户资料
添加、删除、修改、查询供应商资料
(2)业务处理
添加、删除、修改、查询商品采购入库变动信息
添加、删除、修改、查询商品销售变动信息
添加、删除、修改、查询其他库存变动信息
(3)业务统计
实现库存统计
实现短线商品和超储商品报警
(4)其他
实现超级管理员给其他管理员分配权限的功能
对基础数据进行维护
三、系统定义
3.1系统边界
3.2用户视图
用户视图
功能需求
管理人员
列出指定的商品信息
列出指定的客户信息
列出供应商资料
录入新客户信息
录入新商品销售信息
录入商品资料
录入供应商资料
录入入库信息
自动统计库存
输出已销售信息
输出入库记录
输出库存统计
经理
授予管理人员权限
列出指定的商品信息
列出指定的客户信息
列出供应商资料
录入新客户信息
录入新商品销售信息
录入商品资料
录入供应商资料
录入入库信息
自动统计库存
输出已销售信息
输出入库记录
输出库存统计
四、需求分析
4.1用户需求说明
4.1.1数据需求
(1)管理员用户视图
基本信息:
管理员ID、管理员权限、管理员密码
客户资料:
客户ID、客户名、地址、联系人、、备注
供应商资料:
供应商ID,地址,联系人,,备注
商品资料:
商品ID,用户名,规格,计量单位,参考进价,参考售价,库存上限,库存下限
采购入库信息:
入库单ID,供货商名,商品ID,商品名,规格,计量单位,入库数量,入库单位,金额,入库日期
销售信息:
销售单ID,供货商名,商品ID,户品名,规格,计量单位,商品数量,商品单价,金额,销售日期
其他库存变动信息:
对名称,入库单ID,变动名称,变动类型,商品ID,商品名,规格,计量单位,数量,变动日期
(2)经理用户视图
管理员权限设置信息:
管理员ID,密码,权限
基本信息:
管理员ID、管理员权限、管理员密码
客户资料:
客户ID、客户名、地址、联系人、、备注
供应商资料:
供应商ID,地址,联系人,,备注
商品资料:
商品ID,用户名,规格,计量单位,参考进价,参考售价,库存上限,库存下限
采购入库信息:
入库单ID,供货商名,商品ID,商品名,规格,计量单位,入库数量,入库单位,金额,入库日期
销售信息:
销售单ID,供货商名,商品ID,户品名,规格,计量单位,商品数量,商品单价,金额,销售日期
其他库存变动信息:
对名称,入库单ID,变动名称,变动类型,商品ID,商品名,规格,计量单位,数量,变动日期
4.1.2事务需求
(1)管理员用户视图:
数据查询:
列出客户详细信息
列出供应商详细信息
列出商品详细信息
数据录入:
录入采购入库信息
录入销售信息
录入其他库存变动信息
数据输出:
输出采购入库信息
输出销售信息
输出其他库存变动信息
(2)经理用户视图:
数据查询:
列出管理员基本信息
列出客户详细信息
列出供应商详细信息
列出商品详细信息
数据录入:
录入管理员信息
录入采购入库信息
录入销售信息
录入其他库存变动信息
数据输出:
输出采购入库信息
输出销售信息
输出其他库存变动信息
4.2系统需求说明
4.2.1软件环境
软件环境需要支持Window操作系统,及MySQL数据库
4.2.2硬件环境
4.2.3初始数据库大小
4.2.4数据库增长速度
4.2.5记录查找的类型和平均数量
4.2.6性能
4.2.7安全性
每个用户在进入系统时都必须有口令保护;
每个用户分配特定的用户视图所应有的访问权限;
不同用户根据其事先定义的角色不同进入不同的用户视图界面。
五、数据库逻辑设计
5.1ER图
5.2数据字典
5.2.1实体和联系属性
客户customer:
客户IDCustomerID、客户名CustomerName、地址Address、联系人LinkMan、Tel、备注CustomerRemark
管理员manager:
管理员IDmgNo、管理员权限permitted、管理员密码password
供货商feeder:
供货商IDFeederID、供货商名FeederName、地址AddressName、联系人LinkMan、Tel、备注FeederRemark
商品product:
商品IDProductID、产品名ProductName、规格Spec、计量单位Unit、参考进价RFStockPrice、参考售价RFSellPrice、库存上限Min_sto、库存下限Max_sto
入库信息Stock:
入库单IDStockID、供货商名FeederName、商品IDProductID、商品名ProductName、规格Spec、计量单位Unit、入库数量Quantity、入库单价UnitPrice、金额Payment、入库日期StockDate
销售信息Sell:
销售单IDSellID、供货商名CustomerName、商品IDProductID、货品名ProductName、规格Spec、计量单位Unit、商品数量Quantity、商品单价UnitPrice、金额Payment、销售日期SellDate
其他库存变动(退货)OtherStock:
对名称ObjectName、入库单IDStorageID、变动名称StorageName、变动类型StorageType、商品IDProductID、商品名ProductName、规格Spec、计量单位Unit、数量Quantity、变动日期StorageData
5.2.2属性描述
图5.2
5.3关系表
图5.3
六、数据库物理设计
6.1索引
如上图5.2所示索引即为每表的主键
6.2视图
6.3安全机制
6.3.1系统安全
有专门的登录界面,需要输入账号和密码
有超级管理员可以分配新的管理员的身份并且为他们设定权限
6.3.2数据安全
在该系统中,任有关删除或添加数据的操作都需要二次确认才可以在数据库中真正执行。
通过高级语言应用程序的限制,不同的用户只能查询修改其有权访问的数据。
七、应用程序设计
7.1功能模块
7.1.1计算功能
(1)统计库存变动情况以及库存总量;
(2)区分短限商品和超限商品;
7.1.2存储功能
存储有关对象的具体信息及采购入库商品与供应商以及销售商品与客户的关系,并能便快速地实现对以上信息的删除增加等操作。
7.1.3输入及输出功能
输入的限定信息等数据经处理后,可以在显示器上按事先定义的格式显示,特别是在对相关信息的查询功能上。
7.1.4交互功能
本系统具有仿Windows窗口交互界面,会在工作人员进行输入等操作时给予必要的提示,或者在操作发生错误时给予必要的提示和帮助。
7.2界面设计
(1)登录界面
(2)主界面
(3)商品资料
(4)客户资料
(5)供应商资料
(6)入库信息
(7)入库查询
(8)销售信息
(9)销售查询
(10)其他库存变动
(11)库存统计
(12)库存统计
(13)帮助
(14)退出系统
八、测试和运行
根据在TSP课程所学的CMM软件生命期,进销存系统测试被分为了单元测试,集成测试和系统测试三个阶段:
(1)单元测试:
该阶段主要是针对在NetBeans生成的界面中各控件的监听操作和程序所需SQL语句进行的。
在编码阶段完成后就着手进行的单元测试主要是为了快速定位错误以降低修改缺陷的成本。
(2)集成测试:
该阶段主要是将本系统的各个部件的联合测试,以决定它们能否在一起共同工作。
本阶段的测试工作包括:
测试通过不同的用户身份是否可以正确登录相应用户界面;模拟不同的错误操作检验是否可以给出准确的提示;各种报表的存储位置和格式是否可以按要现等容。
(3)系统测试:
本阶段是在几名同学的帮助下完成的。
首先向他们讲述了系统需求和所需操作法;然后请他们使用该系统,测试尽可能多的情况;最后根据同学的测试感受主要对系统提示式和容面作出了改进。
九、总结
本系统的特色主要是其他库存的管理,经过了多次的修正,使系统的容错性更加的好,例如简单的商品名称与ID的对应,销售时对库存的考虑等问题。
由本次系统的开发过程经历了改进阶段,所以得到了很多的经验和教训。
首先,本次开发的初期花费了很多时间做需求分析等准备工作,在数据库建立和程序编写阶段不但没有感觉时间紧,反而各项任务都能较有序进行。
其次,不得不承认,虽然初期准备工作做得很多,在数据库ER图编制和建表阶段还是遇到了障碍。
现在分析一下,觉得一面是因为数据库课程该部分容掌握的不是很熟练,另一面应该是经验不足造成了需求分析做得不够精准,特别是系统规模定位过大,使得最初设想的个别功能几经努力也没能实现。
另外,由于此次系统开发使用了数据库的可视化界面,使得整个开发过程变得简单了多,和前几次系统开发过程相比,不细心的毛病虽然有所减轻,但还是因此浪费了不少时间,。
最后,由于程序编写过程中,各变量、法、类的命名都基本与自然语意一致,在法调用和错误修改时感觉非常便。
我很珍惜这次开发经历,因为在首次尝试的系统改进过程后,对界面,数据库等面的容有了新的认识,这对我以后的程序开发将会非常有帮助。
附.参考文献
《数据库技术――设计与应用实例》清华大学