超市收银系统毕业论文2_第1页
超市收银系统毕业论文2_第2页
超市收银系统毕业论文2_第3页
超市收银系统毕业论文2_第4页
超市收银系统毕业论文2_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号 毕业设计 题目 小型超市收银系统的设计与实现 作 者 届 别 2011届 院 别 计算机 学院 专 业 计算机科学与技术 指导教师 职 称 讲 师 完成时间 2011年5月20号 I 摘 要 随着销售行业竞争日益激烈 小型超市收银系统的引入显得极其重要 它不但可 以提高进销存管理的工作效率 而且可以有效减少盲目采购 降低采购成本 合理控 制库存 减少资金占用并提高市场灵敏度 从根本上提升超市的市场竞争力 本系统运用计算机管理信息技术 建立数据库 对超市的进销存过程进行详细的 分析 实现了对超市的进货 销售和库存的科学管理 它主要包括以下几大模块 登录 模块 商品入库模块 商品销售模块 营业统计模块 商品信息模块 供应商信息模 块 用户信息模块 各模块相许独立 同时又构成统一的整体 本文主要介绍了小型超市收银系统的环境 所用到的开发语言 功能作用 设计 的方案等各方面的内容 其目的在于让使用者了解此系统 使他们能更好的运用本系 统 使此系统发挥出应有的作用 另外在文中还予以指出了系统开发有待于进一步完 善发展的方向 关键词 收银系统 控件 窗体 net 平台 II 目 录 引引 言言 1 1 1 1 基础知识基础知识 3 3 1 1 Visual Studio C NET 介绍 3 1 2 SQL Server 2000 介绍 3 2 2 系统分析系统分析 4 4 2 1 背景与意义 4 2 2 可行性研究 4 2 2 1 经济可行性 5 2 2 2 技术可行性 5 2 2 3 操作可行性 5 2 3 系统功能概述 6 2 3 1 系统功能需求 6 2 3 2 用例分析 7 2 4 系统性能要求 9 2 4 1 系统精度 9 2 4 2 时间特性 9 2 4 3 灵活性 9 2 4 4 并发用户数 9 2 5 运行环境需求 9 2 6 系统安全分析 10 3 3 系统设计系统设计 1111 3 1 概要设计 11 3 1 1 设计目标 11 3 1 2 系统层次结构 11 3 2 数据库设计 13 3 2 1 数据库模式设计 13 3 2 2 数据库表设计 13 3 2 3 数据库查询优化 16 3 3 详细设计 17 3 3 1 系统类图 17 3 3 2 系统活动图 18 III 3 3 3 系统时序图 20 4 4 系统实现系统实现 2121 4 1 前台销售 客户端 21 4 1 1 收银员登录 21 4 1 2 商品销售 22 4 1 3 打印小票 23 4 1 4 交互平台 25 4 2 系统后台 服务器端 28 4 2 1 商品入库 29 4 2 2 商品退货 30 4 2 3 入库查询 31 4 2 4 库存查看 32 4 2 5 散装库存管理 33 4 2 6 商品价签制作 34 4 2 7 添加职工信息 35 4 2 8 系统在线升级 37 5 5 系统测试系统测试 3838 5 1 测试的目的 38 5 2 测试的准则 38 5 3 测试的方法 39 5 3 1 白盒测试 39 5 3 2 黑盒测试 39 5 4 系统功能测试 39 5 4 1 测试用例 39 5 4 2 等价类划分 40 5 3 3 边界值分析 41 5 3 4 安全性测试 42 5 3 5 测试结论 42 结结 论论 4343 致致 谢谢 4444 参参 考考 文文 献献 4545 附录附录 A A 4646 IV 附录附录 B B 5151 V 目 录 摘 要 I ABSTRACT II 1 绪 论 1 1 1 研究课题的目的 1 1 2 研究课题的意义 2 2 需求分析 3 2 1 可行性研究 3 2 2 需求分析 3 2 3 开发环境介绍 4 3 总体设计 7 3 1 设计思想 7 3 2 设计原则 7 3 3 功能模块和结构设计 7 3 4 数据库设计 9 4 系统实现 16 4 1 登陆系统模块 16 4 2 商品信息模块 17 4 3 商品入库模块 18 4 4 商品销售模块 19 4 5 营业统计模块 23 4 6 供应商模块 24 4 7 用户信息模块 26 5 总结 27 参 考 文 献 28 致 谢 29 附 录 30 毕业设计毕业设计 共 41 页 第 1 页 1 绪 论 随着现代科学技术的迅猛发展 人们的生活方式正发生着巨大的变化 计算机技 术已经渗透到各个领域 成为各个行业必不可少的工具 特别是 Internet 技术的推广和 信息高速公路的建立 使得 IT 产业在市场竞争中越发显示出其独特的优势 科学技术 是第一生产力 科学技术的发展让人类更加受益 各类信息系统应用于各行各业 不 但给管理上带来了极大的便利 而且还提高了工作效率 中小型超市在我国经济发展中具有重要地位 目前我国的中小型超市数量多 地 区分布广泛 行业分布跨度大 随着全球经济一体化的发展和电子商务的兴起 中小 型超市之间的竞争将越来越激烈 网络及电子商务的迅猛发展突破了时间 空间的局 限性 给中小型超市带来了更多的发展机会 同时也增大了超市行业间的竞争强度 这就要求中小型超市必须改变营业管理模式 提高运营效率 目前 我国中小型超市 的信息化水平还很低 随着技术的发展 电脑操作及管理日趋简化 电脑知识日趋普 及 同时市场经济快速多变 竞争激烈 超市行业采用电脑管理进货 库存 销售等 诸多环节也已成为必然趋势 1 1 研究课题的目的 社会生活的现代化 使得市场的走向发生巨大变化 由于经济的发展 人民对生 活的需求已经不再满足于丰衣足食的低度要求 许多人们往往不是单纯为满足生活必 须去购买 而是凭着喜欢 意欲和感官去购买 如果一个商店能够打动顾客 吸引顾 客 自然会顾客盈门 而近几年新兴产业中超级市场 supermarket 的现代化管理方 式和便捷的购物方式 尤其是它轻松的购物环境 往往是打动顾客 吸引顾客的最主 要的原因 且良好的周密的销售服务更是赢得信誉 吸引的顾客的优势所在 商品经 济的高速现代化发展也促进了竞争 使一切不甘落后的商家都争先恐后地采用最新的 管理方法来加强自己的竞争地位 因为 超市经营者如果不掌握当今市场发展的这一 走向 不能将超市现代化经营作为努力开拓的目标 就无法使经营活络 财源茂盛 现代化事业的发展 也使超市的管理数段发生前所未有的革命 计算机的运用正 在发达国家的各类商店超市中普及 由于它能够准确记载和查询有关超市经营活动的 大量数据 帮助超市经营者掌握和分析营销情况 及时做出正确决策 并且有利于商 店内部财务 工资 人员 库存 销售情况等管理 因而大大提高了现代超市的管理 水平 国外很多发达资本主义国家的有关人士都在开发超市管理系统 开发出很多大 型的软件 由于本人能力有限 开发一个小型超市管理系统 它可以使我们国内新起 小型超市可以更好的操作 此系统的有减少差错 节省人力 减少顾客购物时间 增 毕业设计毕业设计 共 41 页 第 2 页 加客流量 提高顾客满意度等特点 我通过开发这个简单管理信息系统 巩固了以前 所学的知识 提高了应用能力 1 2 研究课题的意义 21 世纪 超市的竞争进入到了一个全新的领域 竞争不再是规模的竞争 而是技 术的竞争 管理的竞争 人才的竞争 技术的提升和管理的升级是超市业的竞争核心 如何在激烈的竞争中扩大销售额 降低经营成本 扩大经营规模 成为超市经营者努 力追求的目标 为了提高物资管理的水平和工作效率 尽可能杜绝商品流通中各环节 中可能出现的资金流失不明现象 商品进销存领域迫切需要引进信息系统来加以管理 而商品销售管理系统是当前应用于超市或者公司管理系统的典型代表 从消费者的角度来说 结帐时应该准备和快速 毕竟时间就是金钱 由于传统的 超市收银管理给顾客和店主带来很多不便 针对这方面的缺陷 开发这个系统可以方 便快捷地查出顾客结帐情况 商品信息情况 每天的售货情况 方便了对超市商品管 理 人员管理 大大提高了超市的售货速度 进而加速了社会的发展速度 提高了人 民的生活水平 总之 借助于信息系统可以大大提高超市的运作效率 通过全面的信 息的采集和处理 不仅辅助提高了超市的决策水平 还可以迅速提高超市的管理水平 为降低经营成本 提高效率 增强超市扩张力 提供有效的技术保障 毕业设计毕业设计 共 41 页 第 3 页 2 需求分析 2 1 可行性研究 系统开始和可行性研究是为系统开发做前期准备 1 在对一个项目的开发之前 我 们总是要对其进行一个可行性分析与需求分析 通过和指导老师的共同分析得出了可 行性开发计划 对于需求分析我们作了如下调查分析的需求 2 1 1 技术可行性 随着软件编程技术的不断增加 功能的不断加强 和网络技术的不断成熟 信息 安全的不断完善以及开发工具的日益进步 采用计算机系统来管理超市要求数据的采 集 更新能够完整 准确和及时 所以开发通用的超市收银系统已经完全可以做到 2 1 2 经济可行性 因为通过网络传递销售信息 可以不受距离的限制 因此可以节约许多的人力和 物力 方便管理 由此可以减少不必要的开支 同时该系统可以提高超市的销售效率 即提高了超市的经济效益 所以从经济上是完全可行的 2 1 3 操作可行性 本系统采用 Windows 图形界面 是大家熟悉的操作系统 对于用户只需要具有一 般的计算机知识的人员都可以轻松上手 而且整个销售系统采用最友好的交互界面 简洁明了 不需要对数据库非常了解 由此 该系统的操作是可行的 有必要推广该系统 综合以上三方面 该系统具有很高的开发可行性 无论是从技术上经济上还是操 作上 故此 可以设计该系统流程图 建立数据字典 2 2 需求分析 对于大型超市信息管理系统来说 通常它会把员工人事管理系统也包括在内 由 于现考虑的是小型超市 其可承担的研发支费也有限 2 所以在这个系统中 要实现的 功能主要如下 1 功能要求 对库存产品进行资料管理和统计 对产品的进货单和产品的销售单进行录入管理和统计 对进货 销售 库存情况进行查询 对用户进行管理 具体为添加用户 删除用户 修改用户密码 对供应商基本信息的管理 对赢利状况分析 进行营业统计 按年月日及商品类别统计 毕业设计毕业设计 共 41 页 第 4 页 2 数据精确度 产品的进货单和销售单中 单价 金额采用浮点数 数量都取整数 3 时间特性 该系统软件从启动到进入系统登录界面的时间正常情况下少于 5 秒 录入并更新 数据的时间正常情况下少于 10 秒 4 适用性 该管理系统软件适用于 Windows 2000 Windows XP 中文版下运行 2 3 开发环境介绍 该系统属于管理信息系统 管理信息系统 MIS Management Information System 可以保存用户信息 通过对信息进行分析和处理 可以帮助用户制定计划 规范管理 或提供决策依据 超市收银系统具有其特殊性 通常采用C S结构 考虑到其为小型超 市 所以在架构上面选择两层 2 3 1 C 介绍 C sharp 又被简称为 C 是微软公司在 2000 年 6 月发布的一种新的编程语言 C 看起来与 Java 有着惊人的相似 它包括了诸如单一继承 界面 与 Java 几乎同样的 语法 和编译成中间代码再运行的过程 但是 C 与 Java 有着明显的不同 它借鉴了 Delphi 的一个特点 与 COM 组件对象模型 是直接集成的 而且它是微软公司 NET windows 网络框架的主角 3 C 在带来对应用程序的快速开发能力的同时 并没有牺牲 C 与 C 程序员所关心 的各种特性 它忠实地继承了 C 和 C 的优点 如果你对 C 或 C 有所了解 你会发 现它是那样的熟悉 即使你是一位新手 C 也不会给你带来任何其它的麻烦 快速应 用程序开发 Rapid Application Development RAD 的思想与简洁的语法将会使你迅速成 为一名熟练的开发人员 C 是专门为 NET 应用而开发出的语言 这从根本上保证了 C 与 NET 框架的完 美结合 在 NET 运行库的支持下 NET 框架的各种优点在 C 中表现得淋漓尽致 C 具有如下几个特点 1 简洁的语法 在缺省的情况下 C 的代码在 NET 框架提供的 可操纵 环境下运行 不允许直 接地内存操作 它所带来的最大的特色是没有了指针 C 只支持一个 对于我们来 说 现在需要理解的一切仅仅是名字的嵌套而已 2 精心地面向对象设计 C 具有面向对象的语言所应有的一切特性 封装 继承与多态性 这并不出奇 然而 通过精心地面向对象设计 从高级商业对象到系统级应用 C 建造广泛组件的 毕业设计毕业设计 共 41 页 第 5 页 绝对选择 在 C 的类型系统中 每种类型都可以看作一个对象 C 提供了一个叫做装箱 boxing 与拆箱 unboxing 的机制来完成这种操作 而不给使用者带来麻烦 C 只允许单继承 即一个类不会有多个基类 从而避免了类型定义的混乱 C 中没有 了全局函数 没有了全局变量 也没有了全局常数 一切的一切 都必须封装在一个 类之中 你的代码将具有更好的可读性 并且减少了发生命名冲突的可能 3 与 Web 的紧密结合 C 组件将能够方便地为 Web 服务 并允许它们通过 Internet 被运行在任何操作系 统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构传递的标准 为了 提高效率 C 允许直接将 XML 数据映射成为结构 这样就可以有效的处理各种数据 4 完整的安全性与错误处理 语言的安全性与错误处理能力 是衡量一种语言是否优秀的重要依据 C 的先进 设计思想可以消除软件开发中的许多常见错误 并提供了包括类型安全在内的完整的 安全性能 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 NET 平台提供的 垃圾收集器 Garbage Collection GC 将负责资源的释放与对象撤销时的内存清理工作 5 版本处理技术 C 提供内置的版本支持来减少开发费用 使用 C 将会使开发人员更加轻易地开发 和维护各种商业用户 6 灵活性和兼容性 如果需要 C 允许你将某些类或者类的某些方法声明为非安全的 如此就能使用 指针 结构和静态数组 此外 它还引进了模拟指针功能的 delegates 指代 C 不支 持类的多继承 但是通过对接口的继承 你将获得这一功能 2 3 2 SQL Server2005 介绍 Microsoft 公司的 SQL Server 是关系型网络数据库管理系统 它的工作环境为 Microsoft Windows NT 系列或 Microsoft Windows98 SQL Server 与 Microsoft 公司的 其它软件 如 Microsoft office 和 Microsoft Visual Studio 设计风格一致 并能相互配合 SQL Server 具有分布式数据库和仓库管理功能 支持客户机 服务器结构 并能进行分 布式事务处理和联机分析处理 SQL Server 具有强大的数据库管理功能 它提供丰富 的管理工具以支持数据库的安全性管理 完整性管理和作业管理 SQL Server 还具有 强大的网络功能 支持发布 Web 页面和接收电子邮件 SQL Server 支持 ANSI SQL 标准 SQL 并将标准 SQL 扩展成为更加实用的 Transact SQL 4 使用 SQL Server 2005 开发人员通过使用相似的语言 例如微软的 Visual C 毕业设计毕业设计 共 41 页 第 6 页 NET 和微软的 Visual Basic 将能够创立数据库对象 开发人员还将能够建立两个新 的对象 用户定义的类和集合 在使用本地网络和互联网的情况下 在不同应用软 件之间散步数据的时候 可扩展标记语言 XML 是一个重要的标准 SQL Server 2005 将会自身支持存储和查询可扩展标记语言文件 从对 SQL 类的新的支持 到多活 动结果集 MARS SQL Server 2005 中的 ADO NET 将推动数据集的存取和操纵 实现更大的可升级性和灵活性 2 3 3 C S 介绍 在网络连接模式中 除对等网外 还有另一种形式的网络 即客户机 服务器网 Client Server 在客户机 服务器网络中 服务器是网络的核心 而客户机是网络的基础 客户机依靠服务器获得所需要的网络资源 而服务器为客户机提供网络必须的资源 这里客户和服务器都是指通信中所涉及的两个应用进程 软件 所以有时要根据上 下文判断 client 与 server 是指软件还是硬件 C S 可以充分利用两端硬件环境的优势 将任务合理分配到 Client 端和 Server 端来实现 降低了系统的通讯开销 5 最简单的 C S 体系结构的数据库应用 由两部分组成 即客户应用程序和数据库 服务器程序 二者可分别称为前台程序与后台程序 运行数据库服务器程序的机器 称为应用服务器 一旦服务器程序被启动 就随时等待响应客户程序发来的请求 客 户程序运行在用户自己的电脑上 对应于服务器电脑 可称为客户电脑 当需要对数 据库中的数据进行任何操作时 客户程序就自动地寻找服务器程序 并向其发出请求 服务器程序根据预定的规则作出应答 送回结果 在典型的 C S 数据库应用中 数据的储存管理功能 是由服务器程序独立进行的 并且通常把那些不同的 不管是已知还是未知的 前台应用所不能违反的规则 在服 务器程序中集中实现 例如访问者的权限 编号不准重复 必须有客户才能建立定单 这样的规则 所有这些 对于工作在前台程序上的最终用户 是 透明 的 他们无 须过问 通常也无法干涉 这背后的过程 就可以完成自己的一切工作 在客户服务 器架构的应用中 前台程序可以变的非常 瘦小 麻烦的事情 都交给了服务器和 网络 在 C S 体系的下 数据库真正变成了公共 专业化的仓库 受到独立的专门管 理 毕业设计毕业设计 共 41 页 第 7 页 3 总体设计 3 1 设计思想 1 系统分成几个相对独立的模块 但这些模块都进行集中式管理 2 分层的模块化程序设计思想 整个系统采用模块化机构设计 作为应用程序 有较强的可操作性和扩展性 3 合理的数据流设计 在应用系统设计中 相对独立的模块间以数据流相互连 接 使各模块间的耦合性较低 方便系统运行 提高系统安全性 3 2 设计原则 为了使本系统功能齐全完备 操作简便 最大限度的提高软件的质量 从而满足 用户的实际需要 在设计开发过程中遵循了 如下原则 1 合法性原则 依据产品核算系统的工作规定以及要求 参照核算实际的工作情 况 进行诸如商品进货 销售等工作 2 实用性原则 适合产品信息管理工作的实际需求 并能够处理一些特殊情况的 要求 此外 尽可能预留空间 以便扩充功能 3 准确性原则 对输入的相关资料建立检错机制 及时报错 使用户能够及时准 确的输入合法资料 如类型匹配 长度不超限等 4 易操作原则 要求设计的系统功能齐全 接口友好 操作方便 必要的地方进 行提示 5 源程序可读性原则 为了便于其它设计 维护人员读懂代码或以后的代码修改 软件升级维护 既可能做好代码注释工作 6 优化原则 为了达到优化的目的 合理的运用窗口 菜单 对象等的继承 自 定义用户对象 事件 函数 减少不必要的重复性代码 使程序简洁明了 也方便了 将来的维护 7 安全性原则 该系统的管理员具有可设置登陆密码 修改密码的权限 经过前 面的设计 我们对整个系统有了一个初步的认识 并对各个模块进行了功能分化 3 3 功能模块和结构设计 小型超市管理系统包括系统管理员 库存管理员 商品销售员三大角色 对应本 系统中的权限 根据权限的不同 可操作的业务不同 本节将对小型超市收银系统进 行总体设计 介绍系统的总体功能和模块划分 毕业设计毕业设计 共 41 页 第 8 页 3 3 1 系统结构 小型超市收银系统所包含的功能模块有 商品入库模块 商品销售模块 营业统 计模块 商品信息模块 供应商信息模块 用户信息模块 系统功能结构图见图 3 1 小型超市收银系统 商 品 入 库 商 品 销 售 营 业 统 计 商 品 信 息 供 应 商 信 息 用 户 信 息 图 3 1 系统功能结构图 超市收银系统的业务流程图 如图 3 2 所示 否 系 统 主 窗 体 营 业 统 计商 品 信 息用 户 信 息供 应 商 信 息商 品 销 售商 品 入 库 系 统 登 录 是 否 登 录 是 图 3 2 系统业务流程图 3 3 2 系统各功能模块定义 1 商品入库模块 该模块用于实现商品的入库管理 当供应商所供商品出现问题需退货时可以实现 退货管理 另外用户还可以根据条件查询相关的入库记录 2 商品销售模块 毕业设计毕业设计 共 41 页 第 9 页 该模块用于实现商品售出 收银功能 顾客倘若对商品不满意还可以进行退货处 理 3 营业统计模块 该模块实现商品销售情况及入库情况统计分析 让系统用户可以根据时间查询统 计信息 4 商品信息模块 该模块实现商品基本信息的管理 如商品的添加 修改 删除操作 条件查询 对于低于库存报警值的商品会显示出来 5 用户信息模块 该模块实现用户基本信息的管理 含用户的添加 修改 删除 用户信息记录的 浏览 6 供应商信息模块 该模块实现供应商基本信息的管理 系统用户可以实现供应商信息的添加 删除 修改 条件查询以及查看供应商可提供的相关商品 3 4 数据库设计 数据库在一个管理信息系统中占有非常重要的地位 数据库结构设计的好坏将直 接对应用系统的效率以及实现的效果产生影响 合理的数据库结构设计可以提高数据 存储的效率 保证数据的完整和一致 同时 合理的数据库也将有利于程序的实现 6 设计数据库系统时应该充分了解用户各个方面的需求 包括现有的以及将来可能 增加的需求 3 4 1 数据库的需求分析 SQL Server 数据库的建立方法可以分成两个阶段 第一个阶段是根据要输入的数 据性质 新增表并设置表的字段名称 数据类型和语句 第二个阶段是在表内输入数 据 根据上述系统功能的分析 得出系统有如下需求信息 1 系统必须能够区别各种用户 如库存员 收银员 2 系统支持用户的增加 登陆 3 系统必须能够显示各种商品的信息 并允许用户使用搜索功能来查找自己所需 要的商品 4 系统必须能将所有商品信息进行分类 5 系统能支持用户将商品入库 退货 6 系统能支持用户将商品售出 退货 7 系统支持供应商信息的管理 毕业设计毕业设计 共 41 页 第 10 页 8 系统支持营业情况的查询 经过上述功能分析和需求总结 设计如下的数据项和数据结构 1 用户 包括数据项 编号 用户名 密码 权限 2 商品类别 包括数据项 编号 商品名称 3 商品 包括数据项 商品编号 条形码 商品名称 类别 库存量 报警值 计量单位 规格 售价 4 供应商 包括数据项 名称 联系人 联系电话 传真 地址 合作起始时间 5 销售记录 包括数据项 编号 操作人 商品编号 售价 售出数量 售出时 间 6 进货记录 包括数据项 商品 供应商 操作人 进价 进货数量 进货时间 7 供货 包括数据项 供应商 商品 最新进价 3 4 2 数据库概念结构设计 得到上面的数据项和数据结构后 就可以设计出系统中的各个实体以及他们之间 的关系 为后面的逻辑结构设计打下基础 本系统根据上面功能分析和需求总结设计 出的实体共有下面几个 下面分别列出本系统所使用到的各基本实体和各实体之间的 联系 如图 3 3 所示 毕业设计毕业设计 共 41 页 第 11 页 图 3 3 实体联系 E R 图 3 4 3 数据库逻辑设计 1 表设计 将数据库的概念结构设计转换成关系模型 就得到了以下的几张数据库中的表 7 下面分别介绍这些表 系统登录用户的基本信息保存在用户信息表里 其中对于用户编号 通过自增方 式实现 无需用户手动编号 编号从 1000 起始 详细说明如表 3 1 所示 销 售 数 量 售 价 操 作 人 商 品 销 售 记 录 N 供 应 商 商 品 进 货 数 量 操 作 人 进 价 进 货 记 录 进 货 时 间 N 名 称 联 系 电 话 合 作 起 始 时 间 地 址 传 真 联 系 人 供 应 商 销 售供 货 1 进 货 计 量 单 位 报 警 值 规 格 商 品 库 存 量 类 别 N 11 商 品 名 称 包 含 商 品 编 号 N 供 货 记 录 商 品 供 应 商 最 新 进 价 用 户 名 用 户 编 号 密 码 权 限 用 户1 商 品 类 别类 别 名 称 毕业设计毕业设计 共 41 页 第 12 页 表 3 1 用户信息表 Users 序号属性名字段名类型长度NULL默认备注 1编号UserIDint4 主键自增 标识种子 1000 2真实名字UserNamevarchar10 3密码UserPasswordvarchar50 MD5 加密存储 4权限UserRightvarchar10 商品种类繁多 可以划分为大范围的不同种类 对于这些种类 已事先划分并存 储于数据库中 不需要用户自动添加 商品类别信息表如下表 3 2 表 3 2 商品类别信息表 GoodsType 序号属性名字段名类型长度NULL默认备注 1类别编号TypeIDtinyint 主键自增 2名称TypeNamenvarchar10 商品信息表记载的是商品的详细信息 含商品编号 名称 类别 计量单位 规 格 售价 库存量等等 具体的各字段属性说明和类型如下表 3 3 表 3 3 商品信息表 GoodsInfo 序号属性名字段名类型长度NULL默认备注 1商品编号GoodsIDnvarchar20 主键 2类型号TypeIDtinyint 3名称GoodsNamenvarchar50 4计量单位GoodsUnitnvarchar5 5规格GoodsNormnvarchar20 6售价GoodsSellPricesmallmoney 7库存量GoodsNumint4 0 8报警值AlarmNumint4 0 9备注GoodsRemarknvarchar100 描述信息 入库记录表包含商品入库的相关信息 入库信息有入库时间 操作人 进库商品 商品数量等 每一笔商品的入库都对应一个编号 具有唯一性 在这里 对编号的处 理就是用入库时的时间做编号 具体的各字段的属性说明和类型如下表 3 4 所示 毕业设计毕业设计 共 41 页 第 13 页 表 3 4 入库记录表 StockInfo 序号属性名字段名类型长度NULL默认备注 1编号StockIDvarchar20 主键 与时间相关 2商品编号GoodsIDnvarchar20 外键 3供应商编号CompanyIDint4 外键 4操作员Operatorint4 外键 5进价GoodsPricesmallmoney 6数量GoodsNumint4 1 7备注Remarknvarchar100 商品销售信息存储在销售记录表中 流水编号也采用时间作为编号 具有唯一性 各字段的详细情况见下表 3 5 表 3 5 销售记录表 SellInfo 序号属性名字段名类型长度NULL默认备注 1编号SellIDvarchar20 主键 与时间相关 2商品编号GoodsIDnvarchar20 外键 3操作者Operatorint4 外键 4售价SellPricesmallmoney 5数量GoodsNumint4 6备注Remarknvarchar100 退货原因 供应商供货价格表中记载的是供应商所可商品的信息 含商品编号 供货商编号 最新进价 各字段的详细信息见下表 3 6 表 3 6 供应商供货价格表 StockPrice 序号属性名字段名类型长度NULL默认备注 1商品编号GoodsIDnvarchar20 组合主键 2供应商编号CompanyIDint4 组合主键 3最新进价GoodsSellPricesmallmoney 供应商信息表记录的是供应商的基本信息 其中编号由系统自动编号 采取主键 自增方式 编号始于 1000 各字段的详细信息见下表 3 7 毕业设计毕业设计 共 41 页 第 14 页 表 3 7 供应商信息表 Company 序号属性名字段名类型长度NULL默认备注 1编号CompanyIDint4 主键自增 标识 种子 1000 2名称CompanyNamenvarchar50 3联系人CompanyDirectornvarchar10 4电话CompanyPhonenvarchar20 5传真CompanyFaxnvarchar20 6地址CompanyAddnvarchar50 7合作时间HzDataTimedatetime 2 视图设计 根据逻辑模型所设计出的各种数据表构成了完整的物理数据库 由于业务范围的 限制 每一个用户不可能访问数据库系统中的所有数据表 所访问的只是数据表的一 个子集 我们把一个用户能访问到的数据表集合称为一个视图 View 8 视图是以 一致和直观的方式提供给用户的数据形式 视图以这种形式给用户提供数据 一方面 为了满足用户对数据访问的方便性 简洁性需要 使数据在视图中以更符合用户要求 和喜好的形式展现出来 另一方面 为了保证数据的一致性 最好不要把数据表直接 提供给最终用户 该数据库中涉及到的视图有两个 视图 QuerySell 对应的 Transact SQL 语句 SELECT dbo SellInfo SellID dbo SellInfo GoodsID dbo GoodsInfo GoodsName dbo GoodsType TypeName dbo Users UserName dbo SellInfo SellPrice dbo SellInfo GoodsNum dbo SellInfo Remark FROM dbo GoodsInfo INNER JOIN dbo SellInfo ON dbo GoodsInfo GoodsID dbo SellInfo GoodsID INNER JOIN dbo Users ON dbo SellInfo Operator dbo Users UserID INNER JOIN dbo GoodsType ON dbo GoodsInfo TypeID dbo GoodsType TypeID 视图 QueryStock 对应的 Transact SQL 语句 SELECT dbo StockInfo StockID dbo StockInfo GoodsID dbo GoodsInfo GoodsName dbo GoodsType TypeName dbo Company CompanyName dbo Users UserName dbo StockInfo GoodsPrice dbo StockInfo GoodsNum dbo StockInfo Remark 毕业设计毕业设计 共 41 页 第 15 页 FROM dbo StockInfo INNER JOIN dbo GoodsInfo ON dbo StockInfo GoodsID dbo GoodsInfo GoodsID INNER JOIN dbo Users ON dbo StockInfo Operator dbo Users UserID INNER JOIN dbo Company ON dbo StockInfo CompanyID dbo Company CompanyID INNER JOIN dbo GoodsType ON dbo GoodsInfo TypeID dbo GoodsType TypeID 毕业设计毕业设计 共 41 页 第 16 页 4 系统实现 系统用 SQL Server2005 做后台数据库 进行基于 net 发平台的 WinForm 应用程序 开发 基本实现其功能 以下将描述系统几个主要功能模块的运行和测试的结果 4 1 登陆系统模块 当我们建立了一个完整的系统时 尤其对于管理系统 对于进入每个系统的人员 我们都要对他进行身份验证 我们当然不希望有任何人进入该系统进行恶意的破坏 对系统中的数据进行修改 维护该系统的系统管理员也不希望有任何麻烦 所以对系 统进行安全保护显的很重要 无论对于谁 系统的安全问题是首要的 9 为了解决这个问题 有一个简单 实用 但是老套的方法 就是口令加密 在该 小型超市收银系统中对口令的加密采取的是常用的 MD5 加密算法 在新增或修改用户 信息时 存入数据库的是用户密码的 MD5 哈希值 在登录验证时根据用户输入的密码 计算相应的 MD5 哈希值进行比较 加密方法 public static string EncryptMD5 string oldData 将字符串转化为字节序列 Byte clearBytes new UnicodeEncoding GetBytes oldData 计算字节序列对应的 Hash 值 Byte hashedBytes HashAlgorithm CryptoConfig CreateFromName MD5 ComputeHash clearBytes 返回经 MD5 加密后的字符串 return BitConverter ToString hashedBytes 在用户登录系统时 用户只需要输入分配的用户 ID 只要 ID 号正确就可以自动 显示出相应的用户名 为了防止他人获知用户的密码 增强系统的安全性 我们将待 输入密码的文本框的 PasswordChar 设为 当用户输入密码后 系统将对所输入的密码 进行检查 只有当密码正确才可进入到系统主界面 否则系统会提示错误 登录界面 如图 4 1 所示 毕业设计毕业设计 共 41 页 第 17 页 图 4 1 登录界面图 用户登录成功后 会记下登录该系统的用户的权限 权限的不同 进入主界面后 可进行的操作而异 体现在控件的可响应用户的鼠标点击事件与否 主界面如图 4 2 所示 由于该用户属商品销售中的收银员 可以看到他只具有商品销售的权限 图 4 2 系统主界面图 4 2 商品信息模块 商品基本信息管理模块 用户可以对商品信息加以管理 界面可交互性强 运行 时的界面图如下图 4 3 其中红色显示为低于库存值 需要进货的商品 毕业设计毕业设计 共 41 页 第 18 页 图4 3 商品基本 信息管理 界面图 4 3 商 品入 库模 块 具有库 存管理权 限的用户 进行商品 入库操作时 需要输入商品编号 至于供应商可以从下拉列表中选择 如果供应商记 录未添加至数据库 可先单击右侧的 添加供应商 按钮 依次输入进货价 进货数 量 当进货数量为负数时进行就是退货操作 确认进货时若发现为新商品则提示先新 增商品 进货记录成功添加出现对话框提醒 进货运行界面如下图 4 4 所示 图 4 4 商品入库运行图 在入库查询中 可以根据各种条件组合查询 在输入商品名称时可实现模糊查询 匹配 满足条件的入库记录将出现在网格中 10 如图 4 5 毕业设计毕业设计 共 41 页 第 19 页 图 4 5 入库查询界面图 4 4 商品销售模块 商品销售模块能处理商品销售业务过程 输入商品编号后回车确认后单击 确认 按钮就可将商品添加至待售商品列表 根据快捷键操作 修改数量 当顾客对购买的 商品不满意时 在未使用商品的情况下 可以对商品进行退货 这时只需将商品数量 的修改置为负数即可 另外可以在备注框中输入退货原因信息 方便了解退货原因 反馈给商品厂家 商品销售运行界面图如下图 4 6 所示 图 4 6 商品销售运行界面图 毕业设计毕业设计 共 41 页 第 20 页 开发商品销售模块过程中 对输入的数据要进行严格控制 此时 用到较多的是 TextBox 控件的 KeyPress 事件和 TextChange 事件 下面对这两个事件进行详细说明 1 实收金额文本框中控制金额的输入合理 只能是数字键 BackSpace 键 小数 点键被按下时才接受所按下的键 实现的代码如下 11 private void txtGetMoney KeyPress object sender KeyPressEventArgs e if e KeyChar 8 弹出提示 e Handled true 2 找零金额由系统自动计算出并显示在文本框中 实现代码如下 private void txtGetMoney TextChanged object sender EventArgs e 当所收付款改变时 所找零钱数目也跟着改变 if txtGetMoney Text if txtGetMoney Text float fltMoney Convert ToSingle txtGetMoney Text ToString float fltNeedPay Convert ToSingle lblNeedM Text ToString txtChange Text fltMoney fltNeedPay ToString 0 0 else txtChange Text 应该所收的钱数及商品的数量也由系统自动计算出 当网格中待售商品的信息有 毕业设计毕业设计 共 41 页 第 21 页 所改变时就自动计算 相应的系统运行界面如下图 4 7 所示 实现代码如下 private void SetCount 并修改标签中的值 即售出总件数及售价 int intGoodsNum 0 float fltMoney 0 0f for int i 0 i 7 AutoCompleteStringCollection myString new AutoCompleteStringCollection string strID txtID Text ToString DataTable myTable new DataTable string strSql select GoodsID from GoodsInfo where GoodsID like strSql strID strSql myTable mySql SelectDataBase strSql if myTable Rows Count 0 for int i 0 i myTable Rows Count i myString Add myTable Rows i 0 ToString txtID AutoCompleteCustomSource myString txtID AutoCompleteSource AutoCompleteSource CustomSource txtID AutoCompleteMode AutoCompleteMode Suggest else txtID AutoCompleteSource AutoCompleteSource None txtID AutoCompleteMode AutoCompleteMode None 商品销售的过程中要与数据库交涉 与数据库频繁传输数据 采用ADO NET数据 库访问技术 为了提高效率 对插入商品销售记录实现时借助于存储过程来提高速度 毕业设计毕业设计 共 41 页 第 23 页 4 5 营业统计模块 用户可以根据时间段的输入查看营业情况 本系统对营业情况的分类 有依具体 明细 有按商品分类 也有按收银员统计 运行界面图如下图 4 8 所示 图 4 8 营业统计运行结果 4 6 供应商模块 对供应商信息的管理 增删改查都在该界面完成 工具栏中的增删改按钮对应相 应的操作 初进入到该窗体时所有的供应商信息都会出现在窗体中的网格 用户可以 输入查询条件定位出某供应商 对其进行修改删除操作 双击网格中某供应商的记录 会出现该供应商所提供的商品信息 相应的运行界面图如下图 4 9 所示 毕业设计毕业设计 共 41 页 第 24 页 图 4 9 供应商管理运行图 修改删除可实现批量更新 而新增必须在无改删操作或者以上操作后已做保存 这得利于数据库 ADO NET 技术中提供的对象 SqlCommandBuild 将离线数据库 DataSet 集中的数据更新至数据库 保持二者的同步和一致性 实现代码如下 保持和数据库的同步更新 public DataSet UpdateDataBase DataSet changedDataSet string tableName this msqlCon new SqlConnection mstrCon this msqlDa new SqlDataAdapter this strSQL this msqlCon this msqlCmdBld new SqlCommandBuilder msqlDa this msqlDa Update changedDataSet tableName if changedDataSet Tables Contains tableName true changedDataSet Tables tableName Clear msqlDa Fill changedDataSet tableName return changedDataSet 返回已更新的数据库表 毕业设计毕业设计 共 41 页 第 25 页 4 7 用户信息模块 具有系统管理员的用户可打开用户信息模块对应的窗体 完成对用户信息的管理 运行界面如下图 4 10 图 4 10 用户信息界面运行图 毕业设计毕业设计 共 41 页 第 26 页 5 总结 经过三个月的努力 我终于完成了小型超市收银系统的全部设计过程 各功能模 块运行流畅自然且具有一定的实用价值 软件设计是一个精细漫长的过程 在整个过程中 都需要周密的计划和安排 每 一步骤 都需要按照软件工程标准来完成 在设计中 我始终坚持理论指导实践原则 并通过实践来加强理论的学习 通过实习锻炼 我熟悉了软件的一般过程 加强了对 实际问题的处理能力 在实习过程中 我也遇到了一些困难 主要表现了技术和经验 的欠缺 但通过努力 终于一一克服了 由于开发者能力有限 加上时间仓促 本系 统难免会出现一些不足之处 例如 本系统只适合小型超市使用 不能适合中大型超 市使用 超市管理系统涉及范围宽 要解决的问题多 功能复杂 实现困难 但由于 限于时间 本系统只能做出其中的一部分功能 对于以上出现的问题 我们深表歉意 如发现还有其它问题 希望老师批评指正 该软件有待改进 体现在如下方面 其一 条形码扫描仪的引进将从根本上提高 业务处理的速度 提高超市运作的速度 在这个系统中它缺少了 只因能力有限 本 人亦曾查询过相关资料 了解到要实现这一功能需要涉及到的知识有 串口通信 多 线程等等 再者 界面美工方面有不足之处 最后 系统的可扩展性不是特别强 因 为本系统采取的 C S 两层开发 虽然有用到些许的公共类 实现了代码共享 节省了 系统资源 但毕竟有限且是在在两层开发的思路上设计的 希望在以后的时间里能继 续完善 毕业设计毕业设计 共 41 页 第 27 页 参 考 文 献 1 张海藩 软件工程导论 第五版 M 北京 清华大学出版社 2008 年 2 卫红春 朱欣娟 信息系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论