博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
1 绪论
对于已经步入激烈竞争化的计算机管理与应用领域的现代,计算机及其应用已是很普遍了。我们不得不承认,如今谁的知识量多,谁的信息量大,谁的处理效率高、速度快,在如此激烈的竞争中才能稳立而不败。因此,对于世界各地烟草企业来说,计算机这项新兴领域是很值得注意的。不过对于国内来说,国外的相关发展相对早与成熟,虽然在国内相对滞后,但是随着时间的推移,这种系统迅捷高效的优势是不可阻挡的,人们接受并广泛应用也将是不可阻挡的。
1.1 烟草销售管理系统的开发背景
随着商品销售市场的迅速发展,老式的交易运作及传统的管理模式已经没有多大效果了,使用计算机化管理来代替老式的交易运作是非常必要的。在老式的交易运作及传统的管理模式,烟草销售管理是非常繁杂的,大量的交易及客户信息需要采用笔纸记载、人脑记忆的方式进行管理,而且对于近期交易信息的核对,又需要调出一大堆的资料,这种即需大量人力也需大量物力的方式,严重的影响了企业工作效率,对数据的安全性也不能很好的保护,这种弊端对于如今的时代很容易影响企业的发展。
烟草如今已成为各国各地人们生活中不可或缺的存在。人们的不断需求使得其销售的发展与竞争也越来越大。也因此在计算机化的当今,烟草对于计算机应用技术的依赖越发明显。烟草销售管理系统正是为了提高其销售运作及管理效率而产生的。
烟草销售管理信息化对商品交易业的发展影响重大,归纳起来有以下几点:
(1)对于老式的记载记忆方式及各种时间交易与库存信息,可以通过数据库的信息存储与调出管理来大大的节省人力与物力。
(2)对于客户与员工的信息交易流程,工作状态也能及时的得到反馈。大大的提高了运作的效率,大大缩短了同利润增益的时间,对于商品交易行业是不可或缺的。
(3)如今信息量巨大化的时代,投资商对于是否与时俱进的企业也是相当的看中的,这也是如今企业做大做强所必要的投资。
1.2 烟草销售管理系统的开发意义
在老式的交易运作及传统的管理模式,烟草销售管理是非常繁杂的,大量的交易及客户信息需要采用笔纸记载、人脑记忆的方式进行管理,而且对于近期交易信息的核对,又需要调出一大堆的资料,这种即需大量人力也需大量物力的方式,严重的影响了企业工作效率。然而采用销售系统信息化的做法,对于人力物力的消耗,企业运作效率有着很大的改变。该系统对于信息的查询也将变得相当简便,而且对于数据的安全性,系统有着很大的保障,意义显而易见。
1.3 本文主要内容
本文主要叙述内容是烟草销售管理系统的设计过程,按照系统的开发步骤顺序详细编写,按照系统分析的流程中,对其做好需求分析, 设计出系统数据库E-R图,划分好系统的功能模块和做好系统流程分析等工作。在系统详细设计中,对于各个模块的详细设计,以及其模块涉及的功能流程图与实现界面的信息做出尽可能详细的展现。最后对论文进行有关总结,系统设计的不足与收获进行了较完整的归纳,更好的提高自己对该系统的认识。
2 需求分析
2.1 系统的可行性分析
对于任何一个计算机类系统的开发,时间和可利用资源上的限制考虑是必不可少的,根据客户在相关方面的要求,企业必须对时间与资源条件的进行可行性研究。具体可行性研究可归纳为以下几点:
(1)经济可行性研究:考虑到时间及成本的关系,本系统开发时间大约定为一个月。
(2)技术可行性研究:根据客户对系统要求的详细解析,决定在JDK和tomcat服务环境下,使用Myeclipse开发工具采用java语言开发本系统。
(3)法律可行性研究:系统研究开发过程中,copy他人代码以及开发思想是很不值得提倡的。本人在开发过程中,虽然有所借鉴,但是还是本着自主创新的原则进行着。
(4)开发方案的选择性研究:本人在开发系统过程中,选择了使用java的编写方案,相对更简易些。
2.2 用户需求
角色是系统需求中不可或缺的一部分,是系统内部与外部交互的必要存在。本系统的角色分三种:销售员、仓库管理员和系统管理员。
(1)销售员:主要参与商品销售、销售查询、退货等功能。
(2)仓库管理员:主要参与商品信息、商品的入库出库信息、库存管理等功能,可对商品信息进行相关增删改操作。
(3)系统管理员:维护数据库,对使用系统使用的用户的信息,供应商信息增删改管理。系统管理员可对各种角色的权限进行相对的修改。
2.3 功能需求
初步设定有销售员、仓库管理员和系统管理员三种角色登录。
销售员登录系统后可执行的操作有:商品销售、销售查询、退货功能。
(1)商品销售:通过条形码或商品编号选择商品,结算找零然后保存到数据库。条形码由于硬件条件未达到,故使用商品编号代替。
(2)销售查询:对销售记录进行查询,包括时间、人员、商品信息、数量、价格。
(3)退货:支持退货,若数量为负,操作过程同销售。
仓库员登录系统后可执行的操作有:商品信息、商品入库、库存管理。
(1)商品信息:包括商品编号、条形码、商品类别、商品价格及厂家。
(2)商品入库:包括商品、商品入库时间、数量、单价、入库人员。
(3)库存管理:商品库存管理的功能。
系统管理员登录系统后可执行的操作有:商品类别、用户管理、供应商管理、权限管理、会员信息。
(1)商品类别:包括大类小类,如:卷烟、烤烟。某大类包括小类。
(2)用户管理:包括销售员、仓库管理员、系统管理员的信息。
(3)权限管理:对各使用用户的权限进行分配,可适当的进行修改。
(4)供应商管理:供应商信息的管理。
(5)会员管理:会员信息的管理。
2.3.1 系统建模方法
本文采用面向对象分析作为主要的系统建模方法,使用UML(unified modeling language)作为建模语言,UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所做的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。
用例描述角色(用户、外部系统以及系统处理)是如何与系统交互来完成工作的。用例模型提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。
设计用例时,我们遵循下列步骤:
(1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能地确保所有角色都被完全识别出来。
(2)描述主要的用例。可以采取不断的问自己“这个角色究竟想通过系统做什么?”来准确地描述用例。
2.3.2 系统主用例图
烟草销售管理系统主要功能块有:商品价格管理、商品销售、库存管理、系统管理等功能块。根据用户权限的不同分别实现不同的功能块对应的小功能。系统的主用例图如图2-1所示,相关主用例说明如表2.1-表2.7所示。
图2-1 系统的主用例图
(1)登入功能:无论是销售员、仓库管理员还是系统管理员,进入系统都必须经过登入界面,通过输入用户名和密码确认,然后系统验证用户名和密码的正确性,在根据用户类型确定其权限,不同用户系统会根据其权限将相应的功能显示在界面上。活动如图2-2与图2-3所示。
表2.1登入用例说明
用例描述 | 登入 |
参与者 | 销售员、仓库管理员、系统管理员 |
前置条件 | 3种参与者登入到系统。 |
后置条件 | 登入者输入用户名和密码,系统验证后登入。 |
基本路径 | 1.打开烟草销售管理系统; 2.进入登入界面,选择用户类型,输入用户名和密码,登入; 3.系统进行登入验证; 4.验证通过,用户进入对应管理界面。 |
异常事件流 | 登入失败,跳回登入界面,提示输入正确的用户名和密码。 |
图2-3 登入管理时序图
(2)商品销售: 销售员登入系统后,可以进行相关销售作业,也可以对销售记录进行查询,顾客若临时不想买某件商品,可执行退货功能。活动如图2-4与图2-5所示。
图2-2 登入管理活动图
表2.2商品销售用例说明
用例描述 | 商品销售 |
参与者 | 销售员、顾客 |
前置条件 | 顾客购买商品到前台付款。 |
后置条件 | 顾客付款完毕,销售员找零,顾客带商品离开。 |
基本路径 |
|
异常事件流 | 顾客突然不想要某商品,找销售员退货,销售员调出数据库信息,减去该物品价格,款项返还顾客; |
图2-4 销售活动图
(3)库存管理:仓库管理员对新购商品进行入库记录,并向上发出入库申请,申请通过后,可在数据库查找相关信息。如图2-6与图2-7所示。
图2-5 销售时序图
图2-7库存管理时序图
图2-6 库存管理活动图
表2.3库存管理用例说明
用例描述 | 库存管理 |
参与者 | 仓库管理员 |
前置条件 | 供应商提供商品,企业接收。 |
后置条件 | 确保商品入库信息正确记录到数据库 |
基本路径 |
|
异常事件流 | 无 |
(4)用户管理: 系统管理员可对系统用户的信息进行相应的增删改查操作。如图2-8与图2-9所示。
表2.4 用户管理用例说明
用例描述 | 用户管理 |
参与者 | 系统管理员 |
前置条件 | 系统内存在用户信息 |
后置条件 | 系统管理员通过增删改,数据库及时更新 |
基本路径 |
|
异常事件流 | 无 |
图2-8 用户管理活动图
图2-9 用户管理时序图
(5)商品类别:系统管理员可对烟草进行大类小类区分,且大类包括小类,对于新烟草,管理员可适当的增加大类项或小类项。如图2-10与2-11所示。
表2.5 商品类别用例说明
用例描述 | 商品类别 |
参与者 | 系统管理员 |
前置条件 | 对新产品新增小类或大类项。 |
后置条件 | 数据库商品类别信息增加 |
基本路径 |
|
异常事件流 | 无 |
图2-11 商品类别管理时序图
(6)权限管理:系统管理员登录系统后,可以修改其他两角色的权限,使得其他两角色的管理界面发生变化。如图2-12与图2-13所示。
表2.6 权限管理用例说明
用例描述 | 权限管理 |
参与者 | 系统管理员 |
前置条件 | 数据库存在权限详细表 |
后置条件 | 成功根据不同用户设定不同的使用权限 |
基本路径 |
|
异常事件流 | 无 |
图 2-13 权限管理时序图
图2-12 权限管理活动图
(7)供应商管理:系统管理员对烟草供应商资料的管理,可进行相关的增删改查操作。如图2-14与图2-15所示。
图2-14 供应商管理活动图
表2.7 供应商管理用例说明
用例描述 | 供应商管理 |
参与者 | 系统管理员 |
前置条件 | 系统内存在供应商信息 |
后置条件 | 系统管理员通过增删改,数据库及时更新 |
基本路径 | 1.系统管理员添加供应商信息; 2.通过查询数据库,找出新添加的供应商信息; 3.在删除界面删除所要删除的供应商信息; 4.在修改界面修改需要修改的供应商的信息。 |
异常事件流 | 无 |
2.4 性能需求分析
根据用户对本系统的要求,确定系统在响应时间、可靠性、安全性等方面有较高的性能要求。
(1)界面需求:系统的界面包括页面内容和艺术风格两个部分。页面内容:主体突出、栏目、菜单设置和布局合理,传递的信息准确、即时。艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方。
(2)响应时间需求:无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该即时地进行反应。
(3)开放性需求:系统应具有较强的灵活性,以适应将来功能扩展的需求。
(4)安全性需求:系统有严格的权限管理功能,各功能模块需要有相应的权限方能进入。系统能够防止各类误操作可能造成的数据丢失及破坏。
3 概要设计
3.1 系统功能模块设计
本烟草销售管理系统的功能模块根据用户权限不同来进行划分,具体系统功能结构图如图3-1所示。
图3-1 系统功能结构图
下面对各个功能模块进行简述:
(2)销售查询:查询销售记录的相关信息;
(3)退货:面向顾客的人性化功能;
(4)商品信息:商品各项信息的查询;
(5)会员:拥有特殊权限的顾客,享受一定的折扣;
(6)定价及调价申请审核:管理员对入库商品的价格制定,价格协调和审核;
(7)商品入库:对商品入库的详细信息的记录;
(8)库存管理:库存管理的相关操作;
(9)用户信息:用户信息的增删改查;
(10)权限管理:用户权限的分配与管理;
(11)供应商管理:供应商信息的增删改查;
(12)商品类别:商品类别的添加与查询。
3.2 数据库设计
3.2.1 数据库概念设计
本系统数据库的实体包括商品、会员、用户、供应商、用户组。
商品的实体属性包括:商品编号、商品名称、商品会员价、商品零售价、商品进价、条形码、商品大类、商品小类。实体属性图如图3-2所示。
会员的属性包括:姓名、编号、电话、邮箱、注册时间、最后消费时间、消费总额。实体属性图如3-3所示。
图3-3 会员实体属性图
用户信息的属性包括:编号、姓名、密码、年龄、电话、住址、性别、组编号,实体属性图如图3-4所示。
供应商信息的属性包括:编号、姓名、联系人、住址、邮件、电话,实体属性图如图3-5所示。
图3-5 供应商信息实体属性图
用户组的实体属性包括:名称、编号、组权限。实体属性图如图3-6所示。
图3-6 用户组实体属性图
分析以上实体,可知多个用户对应一个用户组,一个用户组对应多件商品,多件商品对应多各供应商,多个供应商也由一个用户组管理。可得出系统实体关系图如图3-6所示。
3.2.2 数据字典
系统数据字典(DD-Date Dictionary)是描述数据流程图中所有数据流、数据存储、处理功能等卡片的集合。在系统分析阶段,数据字典有着重要的作用,它包含着系统的详细信息。数据字典提供一个可定义的不依赖于应用程序 的存储区域,用于创建扩展的属性集和描述数据的内容与外观。建立完善的数据字典是对所整理数据的一种分析归档方式,为下一步建立数据库和处理数据做准备。本文设计的数据字典如表3.1-表3.6所示。
表3.1 用户组信息数据字典
名称 | 用户组信息 |
别名 | 无 |
描述 | 描述所涉权限及登入类型的基本信息 |
定义 | 用户组信息=编号+名称+组权限 |
约束 | 定义约束(非空约束、唯一约束、主键约束、外键约束) |
操作权限 | 可对数据进行查询、修改 |
位置 | 存储到Oracle数据库 |
表3.2 商品信息数据字典
名称 | 商品信息 |
别名 | 无 |
描述 | 描述商品的基本信息 |
定义 | 商品=商品编号+商品名称+条形码+商品大类+商品小类+商品零售价+商品进价+商品会员价 |
约束 | 定义约束(非空约束、唯一约束、主键约束、外键约束) |
操作权限 | 可对数据进行查询、添加、修改、删除 |
位置 | 存储到Oracle数据库 |
表3.3 供应商信息数据字典
名称 | 供应商 |
别名 | 无 |
描述 | 描述烟草供应商的基本信息 |
定义 | 供应商=编号+姓名+地址+邮箱+联系人+电话 |
约束 | 定义约束(非空约束、唯一约束、主键约束、外键约束) |
操作权限 | 可对数据进行查询、添加、删除 |
位置 | 存储到Oracle数据库 |
表3.4 用户信息数据字典
名称 | 用户信息 |
别名 | 无 |
描述 | 描述用户的基本信息 |
定义 | 用户信息=编号+性别+姓名+电话+密码+年龄+住址+组编号 |
约束 | 定义约束(非空约束、唯一约束、主键约束、外键约束) |
操作权限 | 可对数据进行查询、添加 、删除、修改 |
位置 | 存储到Oracle数据库 |
3.2.3 数据库表
服务器上建立名为Oracle的数据库。其中包括以下表:用户表、用户组表、权限表、商品大类表、商品小类表、会员表、供应商表、入库表、库存表、商品表、商品价格表、价格折扣表、商品销售主表、商品销售从表、退货表。退货表的机构如表3.5所示,用户表的结构如表3.6所示,用户组表的结构如表3.7所示,权限表的结构如表3.8所示,商品大类表的结构如表3.9所示,商品小类表的结构如表3.10所示,会员表的结构如表3.11所示,供应商表的结构如表3.12所示,库存表的结构如表3.13所示,入库表的结构如表3.14所示,商品表的结构如表3.15所示,商品价格表的结构如表3.16所示,价格折扣表的结构如表3.17所示,商品销售主表的结构如表3.18所示,商品销售从表表的结构如表3.19所示,退货表的结构如表3.19所示。
3.2.4 数据库表设计
Qracle把各种完整性约束作为数据库模式定义的一部分,既有效防止了对数据库的意外破坏,提高了完整检测的效率,又可以减轻编程人员的负担。SQL对三种不同完整性约束的设置及检测,采取了不同的方式加以实现。下面分别介绍:
表3.5 退货表
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | Sellno | 销售编号 | Number | No | 主键(sellpar) |
2. | Ssno | 商品编号 | Number | No | 主键 |
3. | ssname | 商品名称 | Varchar2 | No | |
4. | ssBstyle | 商品大类 | Varchar2 | No | |
5. | ssSstyle | 商品小类 | Varchar2 | No | |
6. | Sspricetype | 价格类型 | Varchar2 | No | |
7. | Ssprice | 单价 | Float | No | |
8. | sstotal | 金额 | Float | no | |
9. | ssnum | 退货数量 | Number | no | |
10. | unoseller | 退货操作员 | Number | yes | 外键 |
11. | Unochecker | 审核员 | Number | yes | |
12. | Checkstyle | 审核状态 | Number | yes |
表3.6用户表
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
| uno | 编号 | number | no | 主键自增 |
| uname | 姓名 | Varchar2 | no | |
| upassword | 密码 | Varchar2 | no | |
| tno | 组编号 | number | no | 外键userteam |
| usex | 性别 | Varchar2 | yes | |
| uphone | 电话 | Varchar2 | yes | |
| uaddress | 住址 | Varchar2 | yes | |
| uage | 年龄 | number | yes |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | tno | 编号 | number | no | 主键自增 |
2. | tname | 名称 | Varchar2 | no | |
3. | trank | 组权限 | Varchar2 | yes | rno_rno |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | rno | 编号 | Number | No | 主键 |
2. | rname | 名称 | Varchar2 | no |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | gbno | 编号 | Number | No | 主键 |
2. | gbname | 名称 | Varchar2 | no |
表3.10商品小类别表
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | gsno | 编号 | Number | No | 主键 |
2. | gsname | 名称 | Varchar2 | no | |
3. | gbno | 大类编号 | Number | no | 外键goodsBtype |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | mno | 编号 | Number | No | 主键 |
2. | mname | 名称 | Varchar2 | no | |
3. | mphone | 电话 | Varchar2 | no | |
4. | mtime | 注册时间 | Date | yes | |
5. | mlasttime | 最后消费时间 | Date | yes | |
6. | mtotal | 消费总额 | Float | yes | |
7. | memail | 邮箱 | Varchar2 | yes |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | bno | 编号 | Number | No | 主键 |
2. | bname | 名称 | Varchar2 | no | |
3. | bphote | 电话 | Varchar2 | no | |
4. | baddress | 地址 | Varchar2 | yes | |
5. | bemail | 邮箱 | Varchar2 | yes | |
6. | bperson | 联系人 | Varchar2 | yes |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | sgoodsno | 商品编号 | Number | No | 主键 |
2. | sgoodsname | 商品名称 | Varchar2 | No | |
3. | sgoodsBstyle | 商品大类 | Number | No | 外键 |
4. | sgoodsSstyle | 商品小类 | Number | No | 外键 |
5. | sjinjia | 商品进价 | Float | No | |
6. | slingshoujia | 商品零售价 | Float | No | |
7. | shuiyuanjia | 商品会员价 | Float | No | |
8. | snum | 数量 | Number | No |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | sgoodsno | 商品编号 | Number | No | 外键 |
2. | mbrebate | 会员折扣 | float | No |
表3.14入库表
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | ino | 入库编号 | Number | No | 主键 |
2. | idate | 入库日期 | Date | no | |
3. | ichecker | 审核人编号 | Number | yes | 外键user |
4. | icheckdate | 审核日期 | Date | yes | |
5. | icheck | 审核状态 | Number | yes | |
6. | bno | 供应商编号 | Number | yes | 外键 |
7. | igoodsno | 商品编号 | Varchar2 | yes | |
8. | inum | 数量 | Number | yes | |
9. | jinjia | 进价 | Float | yes | |
10. | igoodsname | 商品名称 | Varchar2 | yes | |
11. | igoodsBstyle | 商品大类 | Number | yes | 外键 |
12. | igoodsSstyle | 商品小类 | Number | yes | 外键 |
13. | iuno | 入库人员 | Number | yes | 外键 |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
0. | goodsno | 商品编号 | Number | No | |
1. | Goodsid | 条形码 | Number | No | 主键 |
2. | goodsname | 商品名称 | Varchar2 | No | |
3. | goodsBstyle | 商品大类 | Varchar2 | No | |
4. | goodsSstyle | 商品小类 | Varchar2 | No | |
5. | jinjia | 商品进价 | Float | No | |
6. | lingshoujia | 商品零售价 | Float | No | |
7. | huiyuanjia | 商品会员价 | Float | No | |
8. | unit | 计量单位 | Float | No | |
10. | bno | 供应商编号 | Number | No | 外键business |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | gsno | 调价编号 | Number | No | 主键(自动生成) |
2. | sgoodsno | 商品编号 | Number | No | 外键stock |
3. | gspricetype | 价格类型 | Varcher2 | No | |
4. | gsprice | 调价后价格 | float | No | |
5. | gspassdate | 生效日期 | Date | yes | |
6. | Gsdate | 申请日期 | Date | No | |
7. | gsbfprice | 调价前价格 | Float | no |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | Sellno | 销售编号 | Number | No | 主键(自动生成) |
2. | Selltotal | 销售金额 | float | No | |
3. | selldate | 销售日期 | date | No | |
4. | gsprice | 销售人员编号 | float | No | 外键user |
5. | mno | 会员编号 | Number | yes |
序号 | 字段名 | 中文说明 | 类型 | 可空 | 备注 |
1. | Sellno | 销售编号 | Number | No | 主键(sellpar) |
2. | Ssno | 商品编号 | Number | No | 主键 |
3. | ssname | 商品名称 | Varchar2 | No | |
4. | ssBstyle | 商品大类 | Varchar2 | No | |
5. | ssSstyle | 商品小类 | Varchar2 | No | |
6. | Sspricetype | 价格类型 | Varchar2 | No | |
7. | Ssprice | 单价 | Float | No | |
8. | sstotal | 金额 | Float | no | |
9. | ssnum | 销售数量 | Number | no |
3.3 系统安全性设计
系统的安全性就是指数据库中数据的保护措施,一般包括登录的身份验证管理、数据库的使用权限管理和数据库中对象的使用权限管理三种安全性保护措施。本系统采用如下安全技术保证系统的安全性:
(1)用户标识与鉴别:是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,已获得更强的安全性。常用的方法有:
用户标识(User Identification):用一个用户名(User Name)或者用户标识号(UID)来标明用户身份。系统内部记录着所有合法用户的标识,系统鉴别此用户是否是合法用户,若是,则可以进入下一步的核实;若不是则不能使用系统。
口令(Password):为了进一步核实用户,系统常常要求用户输入口令。为保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以鉴别用户的身份。
(2)存取控制:数据库安全最重要的一点就是确保之授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制机制(DBMS)主要包括两个部分:
(a)用户对某一数据对象的操作权利成为权限。某个用户应该具有何种权限是个管理问题和政策问题而不是技术问题。DBMS的功能是保证这些决定的执行。为此DBMS系统必须提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称作安全规则或授权规则。
(b)合法权限检查。每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户超出了定义,则拒绝。
4 详细设计
系统将要实现的主要功能包括:登入功能、商品销售、商品价格管理、库存管理和系统管理功能。
4.1登入功能
登入功能:登入将分为销售员登录、仓库管理员登录和系统管理员登录,需要输入用户名和密码通过身份验证才可登录。用户登录时在登录界面,输入自己的用户名和密码,系统首先判断用户名和密码的正确性,然后根据用户类型确定其权限,不同的登录用户可能具有不同的权限,系统根据登录用户具有的权限将相应的功能显示在管理界面上,没有权限操作的功能将不显示在这个界面上。登录功能的程序设计流程图如图4-1所示。
图4-1登录模块的程序设计流程图
4.2商品销售
商品销售:销售员登入系统后,可以进行相关销售作业,也可以对销售记录进行查询,顾客若临时不想买某件商品,可执行退货功能。具体流程图如图4-2所示。具体功能模块图如4-3所示。
图4-2 商品销售程序设计流程图
图4-3商品销售功能模块图
图4-4 商品价格管理程序设计流程图
4.3商品价格管理
商品价格管理:仓库管理员可对新入库商品申请零售价、申请调价。系统管理员通过审核申请可对商品价格进行定价与调价。具体功能模块图如图4-5所示,具体程序设计流程图如图4-4所示。
图4-5 商品价格管理模块功能模块图
4.4库存管理
库存管理:库存管理的相关操作,包括商品入库、库存查询。程序设计流程图如图4-6所示。具体功能模块图如图4-7所示。
图4-7 库存管理功能模块图
4.5系统功能
系统功能:系统管理员的权限操作,可对用户信息、供应商信息、会员信息、商品类别、用户相应权限进行添加、删除或修改。如图4-8所示。
图4-8 系统功能模块图
5 系统实现
5.1 登录模块实现
系统登录功能模块实现系统用户的登录功能,用户输入自己的用户名和密码后,然后点击“登录”按钮,系统就会按照不同的用户类型,分别把用户输入的用户名和密码与数据库中用户信息表中的记录进行比较。如果相应的表中存在和用户输入的用户名、密码匹配的记录,该用户就登录成功,就可以进入相应的权限模块。用户点击“取消”按钮,系统就会清空已经填入的登录信息,终止系统运行。
图5-1 登录窗体图
5.2 商品销售管理模块实现
商品销售模块,在商品列表输入条形码查询商品,查询出来后点击商品,商品信息即显示在商品信息界面,是会员的话可是输入他的会员号并加以验证。输入购买数量点击提交。
图5-2 商品销售窗体
5.3 用户信息
用户信息可以依据员工编号,姓名,所属组进行查询。页面有删除、添加和修改功能,点击不一样的按钮可进入相对应的页面。
5.4 库存管理
点击商品入库进入入库页面。正确输入对应空白内内容,选择所选类别,点击插入,可将入库商品发送到审核页面。若审核通过,则完成真正的入库工作。如图5-4所示。
图5-4入库页面
需要其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者