数据库课程设计(进销存管理系统)_第1页
数据库课程设计(进销存管理系统)_第2页
数据库课程设计(进销存管理系统)_第3页
数据库课程设计(进销存管理系统)_第4页
数据库课程设计(进销存管理系统)_第5页
免费预览已结束,剩余71页可下载查看

下载本文档

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

文档简介

i 实例实例 1 商品进 销 存系商品进 销 存系 统统 背景说明 待开发的软件系统的名称 商品进 销 存管理系统 软件项目的用途 用于数据库课程设计及商业用途 软件项目的范围 系统涉及企业的库存 销售与进货提供了管理 功能 为库存 销售 进货等管理数据提供了分析功能 开发小组 小组成员 组长 组员 指导老师 在信息技术的催化之下 世界经济的变革已经进入了加速状态 世界 经济一体化 企业经营全球化 以及高度竞争造成的高度个性化与迅速改变的客户需 求 令企业与顾客 企业与供方的关系变得更加密切和复杂 强化管理 规范业务流 程 提高透明度 加快商品资金周转 以及为流通领域信息管理全面网络化打下基础 是商品销售公司乃至众多商业企业梦寐以求的愿望 随着技术发展 电脑操作及管理日趋简化 电脑知识日趋普及 同时市场经济快 速多变 竞争激烈 因此企业采用电脑管理进货 库存 销售等诸多环节也已成为趋 势及必然 系统规划系统规划 1 1 可行性分析 经济上可行性分析 现在 计算机的价格已经十分低廉 性能却有了长足的进步 而本系统的开发 为企业的工作效率带来了一个质的飞跃 为此主要表现有以下几个方面 第一 本系统的运行可以代替人工进行许多繁杂的劳动 第二 本系统的运行可以节省许多资源 第三 本系统的运行可以大大的提高企业的工作效率 第四 本系统可以使敏感文档更加安全 等等 ii 本产品的开发所需的设备在现有条件下 只需要少量的投入资金就可以实现 因 此在经济上是可行的 技术上可行性分析 a 软件可行性 C 具有丰富的数据库功能 可以直接建立和编辑数据库 使用结构化查询语 言直接访问 SQL Sever 上的数据库 并提供简单的面向对象的库操作命令 多用 户数据库的加锁机制和网络数据库的编程技术 SQL Sever2000 是由微软公司推出的 能提供超大型系统所需的数据库服务 并对数据库提供全面的保护 具有防止问题发生的安全措施 他是一个采用 SQL 语言的关系型数据库管理系统 作为客户机 服务器的后端数据库 他是所有数据 的汇总和管理中心 b 硬件可行性 CPU 奔腾三代以上 OS 操作系统 Windows2000 windows98 以上 内存 64MB 以上 硬盘 30G 以上 本系统的开发利用 Microsoft SQL Server2000 作为本系统的数据库 它是 一个支持多用户的新型数据库 适用于大中规模的数据量需求 使用 C 作为系统开发的开发环境 此开发工具开发数据库管理系统 采用 面向对象的方式 方便 简捷 功能强大 管理上可行性分析 课设指导老师给与了精心的讲解和大力的支持 综上所述 系统在技术上 经济上 管理上都是可行的 1 2 划分子系统 各个模块的划分 iii 1 3 制定信息系统开发方案及日程安排 1 3 1 任务分配 陈 光 商品入库 输入 李钦铭 信息查询 查询 冶福磊 信息修改 修改 钟浩杰 信息统计 统计 曾 炫 商品销售 输出 1 3 2 计划 需求分析阶段 用时一天 需求分析 业务逻辑 模块化分 详细分工 编码阶段 用时两天 根据需求分析进行编码 整合 待续 系统分析系统分析 2 1 系统流程图 iv 业务流程图业务流程图 2 2 数据字典 重要数据及其简要描述如下所示 1 数据元素 表 3 1 商品编号 表 3 2 员工编号 名称 商品编号 总编号 1 001 说明 唯一标识商品 编号 001 数据值 连续 离散 离散 有关编码说明 类型 字符 数字 数字 长度 4 有关数据结构 商品卡片 名称 员工编号 总编号 1 002 说明 唯一标识员工 编号 002 数据值 连续 离散 连续 有关编码说明 类型 字符 数字 数字 长度 7 有关数据结构 员工卡片 v 表 3 3 销售编号 表 3 4 库存盘点票号 2 数据结构 表 3 6 商品卡片 3 数据流 名称 销售编号 总编号 1 003 说明 唯一标识每次销售登记 编号 003 数据值 连续 离散 连续 有关编码说明 类型 字符 数字 数字 长度 17 有关数据结构 销售登记卡 名称 库存盘点票号 总编号 1 004 说明 记录一次库存盘点并唯一标识 编号 004 数据值 连续 离散 离散 有关编码说明 类型 字符 数字 数字 长度 17 有关数据结构 库存盘点登记卡 名称 商品登记卡 总编号 2 001 说明 商品信息卡片 编号 001 结构 有关数据流 数据存 储 编号 商品登记表 名称 商品创建时间 销售单价 商品备注 vi 表 3 7 操作信息 表 3 9 管理信息 4 数据存储 表 3 10 进货一览表 表 3 11 销售一览表 名称 操作信息 总编号 3 001 说明 业务员对客户提出的请求向计算机进行操作 编号 001 数据流来源 业务员 数据流去向 包括的数据结构 商品登记 名称 销售登记 金额 日期 名称 管理信息 总编号 3 002 说明 管理员对库存 财务 基本信息进行管理操作 编号 002 数据流来源 管理员 数据流去向 包括的数据结构 库存登记 数量 财务 收入 支出 基本信息登记 名称 进货文件 总编号 4 01 说明 一段时间内所有进货信息的存储 编号 D1 结构 入库时间 入库编号 入库数量 商品编号 vii 表 3 12 库存一览表 5 处理过程 表 3 12 销售信息单 表 3 13 进货信息单 表 3 14 库存信息单 名称 销售文件 总编号 4 02 说明 一段时间内所有销售信息的存储 编号 D2 结构 销售编号 有关数据流 销售时间 商品编号 销售数量 销售单价 销售备注 名称 库存文件 总编号 4 03 说明 一段时间内所有库存信息的存储 编号 D3 结构 更新日期 有关数据流 库存编号 库存数量 商品编号 名称 填写销售单 总编号 5 001 说明 所销售商品的详细信息 编号 P2 输入 D2 P2 输出 P2 销售单 处理 查 销售文件 打印销售单 对不完整的地方进行备注信息说明 名称 填写进货单 总编号 5 002 说明 所进商品的详细信息 编号 P3 输入 D1 P3 输出 P3 进货单 处理 查 D1 进货文件 打印进货单 对不完整的地方进行备注信息说明 viii 系统设计系统设计 3 1 代码设计 编码设计使数据库系统开发的前提条件 使系统不可缺少的重要内容 编码是指 与原来名称对应的符号和记号 它是进行信息交换 处理 传输和实现信息共享的关 键 本系统内部信息编码采用顺序码和区间码混合使用 顺序码是用一串连续的数字来代表系统中的客观实体或实体属性 其优点是简单 容易处理 但是不能反映编码对象的特征 所以用区间码来弥补这个缺点 区间码是 按编码的特点把代码分为若干个区段 每一个区段表示编码对象的一个类别 合理的编码结构是信息处理系统是否具有生命力的一个重要因素 在本系统的代 码设计时 遵循以下几个原则 a 惟一性 每个代码只能惟一地代表系统中的 一个实体或实体属性 b 标准性 代码设计时采用国际或国家的标准代码 c 合理性 代码设计应该与编码对象的分类体系相适应 使代码对编码对象的分 类有标识作用 d 可扩充性 编码时留有足够的备用代码 e 简单性 方便输入 提高处理效率 f 适用性 便于识别和记忆 使用户容易了解和掌握 编码设计如图 商品名称编码 顺序码编码 3 2 输出设计 输出设计的主要目的是满足用户和管理者对数据和信息的要求 本系统将采用表 SP00 名称 填写库存单 总编号 5 003 说明 商品存储的详细信息 编号 P4 输入 D3 P4 输出 P4 反馈信息单 P4 库存信息单 处理 查 D3 库存文件 打印库存单 对反馈是否存在信息 对 管理员显示库存的详细信息 便于管理 ix 单和查询显示输出方式 使用者可以通过多种方式获取自己所需信息 输出设计主要考虑了以下几点 a 方便使用者 b 考虑系统的硬件性能 c 尽量利用原系统的输出格式 d 输出表格要考虑系统的发 例如 表 3 1 输出销售表 编号 总金额 商品编号 商品名称 数量 备注信息 商品单价 3 3 输入设计 在计算机信息传统中 输入数据的正确性决定着整个系统质量的好坏 本商品进 销存管理系统主要采取以下输入方法 1 键盘输入法 录入人员直接通过键盘输入法将所需数据直接手工输入 由于该系统所涉及的数据量不是很大 所已本系统将采取人工校对的方式进行数 据核对 即输入数据后 屏幕将录入的数据显示出来 由人工进行校对 3 4 数据库设计 概念结构设计过程 本次课设开发商品进 销 存管理系统 经过可行性分析 详细调查以及多次讨论 确定了该 系统由商品入库 信息查询 信息修改 信息统计 商品销售五个子系统组成 本过程结构设计过程采用自底向上的设计方法 即首先定义各局部应用的概念结构 然后将它 们集成起来 得到全局概念结构 下面给出商品销售子系统的分析及分 E R 图的设计及对其进行的各项调整 商品入库子系统 陈光 商品入库子系统 陈光 包含子功能 此模块完成库存产品的输入包括库房中已有商品库存的增加以及新产品的输入信息和 x 数量 如果库房中已存在此商品 则不需添加此商品的商品信息 直接对商品数量做 成一定的更新即可 如果此商品为库存中已存在的商品 则应当添加对应的商品信息 包括名称 单价等 再将新商品的数量输入数据库 根据需求分析给出的数据流图 参照数据字典中的详细描述 给出 商品入库子系统的 E R 图 名称 商品 单价 创建时间 备注 编号 库存 信息查询子系统 李钦铭 信息查询子系统 李钦铭 包含子功能 商品查询 销售查询 入库查询 A 商品信息查询 商品编号 商品名称 类型 备注 库存量 B 销售信息查询 销售编号 品种数 总金额 客户名称 销售日期 流水号 商品编号 销售单价 销售数 量 C 入库信息查询 入库编号 品种数量 总计金额 入库时间 商品编号 进货单价 数量 子系统功能 子系统功能 用户可通过表中所有的属性根据需要选择自己的属性集合来对三张表的信息进行查询 处于商品信 息查询状态时有五种基本属性 商品编号 商品名称 类型 备注 库存量 销售信息查询状态时 有九个基本属性 销售编号 品种数 总金额 客户名称 销售日期 流水号 商品编号 销售单 价 销售数量 处于入库信息查询状态时有七个基本属性 入库编号 品种数量 总计金额 入库 时间 商品编号 进货单价 数量 E R 图 图 xi N 3 1 1 1 1 1 1 实体属性定义 管理员 因系统简单 不储存管理员信息 因此不定义此实体的属性 商品信息 商品编号 商品名称 商品单价 商品创建时间 商品备注 销售单 销售编号 销售时间 商品编号 销售数量 销售备注 库存单 商品编号 库存数量 信息修改子系统 冶福磊 子系统的功能 A 通过商品编号查找出商品的所有信息 B 通过库存编号查找出库存的所有信息 C 通过销售编号查找出销售的所有信息 D 根据查找出来的信息 可以对这些信息进行修改 根据需求分析给出的数据流图 参照数据字典中的详细描述 给出 管理员 查询 商品信息销售信息入库信息 入库信息表销售信息表商品信息表 xii 商品修改子系统的 E R 图 实体属性定义 管理员 因系统简单 不储存管理员信息 因此不定义此实体的属性 商品 商品编号 商品名称 商品单价 商品创建时间 商品备注 销售单 销售编号 销售时间 商品编号 销售数量 销售备注 库存单 商品编号 库存数量 信息统计子系统 钟浩杰 子系统的功能 A 通过商品编号 信息查找出商品的所有信息 B 通过商品名称查找出商品的所有信息 C 对查询所得的数据分类统计 并将统计的结果以视图 View 的形式展现到用户 窗口中 xiii 根据需求分析给出的数据流图 参照数据字典中的详细描述 给出 信息统计子系统的 E R 图 N M MN M N 统计结果视图进销存三级数据表 用户 查询 组成 查看 实体属性定义 用户 用户名 进销存三级数据表 进货表 进货编号 商品编号 进货时间 进货数量 进货备注 存货单 商品编号 商品名称 商品单价 商品创建时间 商品备注 销售单 销售编号 销售时间 商品编号 销售数量 销售备注 统计结果视图 需统计的信息 统计后的信息 商品销售子系统 曾炫 子系统的功能 A 通过商品编号查找出商品的所有信息 B 通过商品名称查找出商品的所有信息 C 输入销售数量及备注 可为空 完成销售交易 D 可以随时查看今日销售总额 根据需求分析给出的数据流图 参照数据字典中的详细描述 给出 商品销售子系统的 E R 图 顾 客 购 买 商 品 销售单 对 应 库存单 对 应 xiv 1 m 11 n 1 对 E R 图调整的准则 现实世界中的事物能作为属性对待的尽量作为属性对待 属性和实体的划分 属性中不具有需要描述的信息 即属性是不可分的数据项 不再包含其他信息 具体调整如下 1 本来顾客还应对应员工关系 但这里为了简便 员工也省略了 2 库存单可以作为商品的一个属性来设置 但这里为了强调商品的库存情况 需要库存进行进一 步的描述 因此这里作为一个实体 逻辑结构设计逻辑结构设计 用户的需求体现在各种信息的提供 保存 更新和查询 这就要求数据库结构能 充分满足各种信息的输入和输出 收集基本数据 数据结构以及数据处理的流程 组 成一份详细的数据字典 为后面的具体设计打下基础 设计如下数据项和数据结构 商品信息 包括的数据项有 商品编号 商品名称 商品单价 商品创建时 间 商品备注等等 入库单信息 包括的数据项有 入库编号 入库时间 入库数量 商品品编 xv 号 入库备注等 销售单信息 包括的数据项有 销售时间 销售编号 销售数量 商品编号 销售单价 销售备注等 库存信息 包括的数据项有 编号 商品编号 库存数量等 物理结构设计物理结构设计 有了上面的数据结构 数据项和数据流程就可以进行如下的数据库设计 要将上 面的数据库概念结构转化为 SQL Server 2000 数据库系统所支持的实际数据模型 也就 是数据库的逻辑结构 商品资料 tb product info 名称列名数据类 型 长度允许 空 其他相关表 商品编号proIDint主键 自增 商品名称proNameVarchar30 商品单价proPriceVarchar50 商品创建时 间 proCreateTimedatatime 商品备注proRemarkVarchar250允许 入库单 tb ruku info 名称列名数据类 型 长度允许 空 其他相关表 入库编号rukuIDint主键 自增 入库时间rukuDateTimedataetime 入库数量rukuAcountint 商品编号proIDint参照商品资料 tb product info 外 键 入库备注rukuRemarkVarchar250允许 库存单 tb kucun info 名称列名数据类 型 长度允许 空 其他相关表 xvi 商品编号proIDint参照商品资料 tb product info 外 键 库存数量kucunAcountint 销售单 tb sell info 名称列名数据类 型 长度允许 空 其他相关表 销售编号sellIDint主键 自增 销售时间sellDateTimedataetime 商品编号proIDint参照商品资料 tb product info 外 键 销售数量sellAcountint 销售单价proSellPriceVarchar50 销售备注sellRemarkVarchar250允许 系统实施系统实施 由于用户需求和管理需求的不确定性 系统应用环境经常发生变化 应用软件要 有足够的灵活性 适应性来满足对软件的输入 输出的要求 操作系统 WINDOWS XP 数 据 库 SQL Sever 2000 前台开发 Microsoft Visual Studio 2008 5 5 系统测试系统测试 编程完成后 开始系统测试 不断地重复测试系统功能 使用正确数据录入 一 遍遍测试系统的功能是否完成 是否能够达到需求 第二项就是出错处理 根据系统 需求给每个部分可能出错的情况进行了出错处理 xvii xviii xix xx xxi 6 6 心得体会和总结心得体会和总结 6 1 个人心得体会 陈光个人心得体会 通过这次课程设计 我不仅巩固了数据库课程中所学的各种关于 Sql 的知识和 技巧 更重要的是我学会和实践了如何使用所学知识设计可行的 符合要求的没 有冗余的数据库表 这个是课程学习中比较缺乏的经验 此外还提高了自己使用 sqlserver 的能力 和用面向对象编程语言 C 的编程能力 从数据库的设计和实施中我巩固了 如何创建数据库和表 如何创建视图 如何 设置主键和外键 如何设置建的自增 另外 由于使用 NAT 网络进行数据库的连 接 我还特别学到了如何配置网络数据库 如何查看数据库的端口监听状态 从 c 的编程实践中我学会了如何使用面向对象的 sqlclient 类进行数据库的连接 和调试 重点明白了 c 与数据库间建立连接后沟通和存取数据的过程和方法 明 白了 Dataset 和 DataAdapter 以及 Sqlserver 之间的关系和作用机制 DataAdapter 是 数据库与程序间沟通的桥梁 使用 DataAdapter 的 Fill 方法填写 DataSet 供应用程 xxii 序去调用 用 DataAdapter 的 command 子类定义 sql 命令并执行 这次课程设计做不同以往的地方就是在课设中使用了系统的 工程化的方法和 技术 借鉴了很过原来的成功项目的实践经验 今后的实践和工作都应始终遵循 工程化原则 以保证任务的准确和高效完成 李钦铭个人心得体会 在此 我们的项目将告一段落 虽然对我们是皆大欢喜 然而我们并不会因此 感到骄傲 自满 因为我们需要做的还很多 让我认识最深的就是团队合作精神 这种精神在项目以及职业生涯中是不可缺少的 最后我们每一个职业人必须拥有 的一种能力 当然 我们从中也了解到编程的乐趣以及程序编写的多样性和变通 性 然而 在整个项目的开发中也暴露出了我们在知识掌握上存在的误区 同时 让我们也深刻明白了 会做与做了 的区别 所以总的来说 通过这个项目 除 了技术和知识层面上的收获 值得我们去学习 深思的却更多 因为我们依然在 成长 冶福磊个人心得体会 通过这次数据库系统设计 我基本了解了整个系统的大致模型 数据库与程 序之间的链接 但是在输出方面 还有一些类型不一致导致显示出错或修改出错 所以只能将那些特殊类型的数据都改为 VARCHAR 类型的 这样数据失去了它的特 性 这对以后的发展是不利的 所以在以后的发展道路上我们要解决这些问题 如果技术上允许 以后可以尝试用网站的形式来做一个这样的系统 可能还有一 大堆新知识要学习 但是我们要相信前途是光明的 我们一定要不惧困难 语言 不是问题 思想才是最主要的 以后对系统的分析要更彻底 更详细 这样就可 以保证在实现阶段少一些问题 钟浩杰个人心得体会 在数据库专业课的学习中 我们接触了高移植性的 SQL Server 语言 在这个 星期里 我们专业的学生在姚老师的带领下进行了数据库课程设计实践学习 在 这之前 我们已经学习过一个 C 的课程 对数据库基础这门课程也学习了一个 学期 对其有了一定的了解 但是也仅仅是停留在了解的范围 对里面的好多东 西还是很陌生 更多的在运用起来的时候还是感到很棘手 而且 C 也是首次接触 xxiii 由于时间的关系 我们的这次实践课程老师并没有给我们详细的介绍 只是给 我们简单的介绍了几个比较重要的实际操作 包括了 C 插件的使用 简单的 SQL 语句 指针引用等 并且 给了一个 酒店管理系统的范例 使得第一次做的我 们有一句可循 通过此次课程设计 对于数据库的设计方法我有了基本的了解 对于 C 的编 程环境也有所了解 在编写程序的过程中 我也发现了自己的很多不足 比如平 日程序编写量少 使得漏洞百出 错误很多 另外 对于 this 等指针的使用还不 熟悉 仅仅理解 用到时却手忙脚乱 在以后的学习过程中要注意这些问题 多 向他人学习 取长补短 总之 这次数据库课程设计对我的帮助很大 也使得将来在毕业设计中 对数 据的处理 提供了一个优秀的方案 曾炫个人心得体会 通过本次数据库课程设计 使我真正的了解了软件工程编程思想及数据库应用 的开发技术 也是我第一次尝试开发项目 虽然不是很全面 但也是一次尝试 一次团队合作 通过本次项目开发 使我更系统的掌握了数据库的整个设计过程 概念结构设 计 逻辑结构设计 物理结构设计 更全面的理解了各个设计的衔接与分工及其 联系和转化 本次课设更是我第一次接触 C 第一次使用 C 通过半天的自学 基本上能够使用上一些功能来完成所涉及的功能 由此我又新增了更多的知识 在编程过程中曾遇到过很多问题 比如最直接的第一项就是数据库连接 C 提供 了很多连接方式 更多的学习才能获得更多 各种不同方式的采用才能让系统变 得更完善 其在编程过程中遇到的类型转换问题 让我受益匪浅 textbox 是 string 类型的 在其获得数据与向其发送数据时必须强制类型转换 更学会了隐 式类型转换和显式类型转换 总之此次课设使我学到很多收获很多 更重要的是 学会了团队合作项目开发 课设总结 比较辛苦 我们组的成员在项目期间都是竭尽全力 比较充实 项目期间大家都过的比较忙碌比较充实 xxiv 问题不断 虽然问题不少 不过最后还是被解决掉了 虽不完美 由于是第一次做项目 大家没有经验 不过我们自己给予自己肯定 实例实例 2 目 录 一 系统开发平台 1 二 数据库规划 2 2 1 任务陈述 2 2 2 任务目标 2 三 系统定义 2 3 1 系统边界 2 3 2 用户视图 2 四 需求分析 2 4 1 用户需求说明 2 4 1 1 数据需求 2 4 1 2 事务需求 2 4 2 系统需求说明 2 五 数据库逻辑设计 2 5 1 ER 图 2 5 2 数据字典 2 5 3 关系表 2 六 数据库物理设计 3 6 1 索引 3 6 2 视图 3 6 3 安全机制 3 6 4 其他 3 七 应用程序设计 3 7 1 功能模块 3 xxv 7 2 界面设计 3 7 3 事务设计 3 八 测试和运行 3 九 总结 4 附 参考文献 4 商品进 销 存系 统 课程设计报告 1 一 系统开发平台一 系统开发平台 题目 手机进销存管理系统 开发工具 Eclipse sql server 2008 数据库 sql server 2008 操作系统 windows7 二 数据库规划二 数据库规划 2 12 1 任务陈述任务陈述 进销存管理系统是流程较为完整的中小型商业企业信息管理系统 包括企业的 客户信息 供应商信息 银行资料信息 采购管理 销售管理 库房管理 报表管 理 应收应付 报表统计 利润统计和异常处理一等一系列企业业务全方位的解决 方案 手机进销存管理系统是主要针对销售手机的中小企业的信息管理系统 主要包 括手机的库存信息 出库 入库 手机销售 售后服务 手机调价 供应商信息 各种数据的记录 查询等的解决方案 软件主要针对手机销售过程中所涉及的不同 阶段分不同的功能板块进行设计 满足手机信息管理所需的数据的各种查询 增加 删除 更新等操作 方便用户使用 为用户提供所需的手机库存 销售等方面的各 种信息 实现对手机进销存的管理 商品进 销 存系 统 课程设计报告 2 2 22 2 任务目标任务目标 添加供应商提供的手机品牌信息 按入库日期 手机品牌或型号 供应商 手机串号查询有关库存手机信息 添加有关手机入库信息 按手机串号 品牌或型号 供应商添加出库手机信息 按手机品牌或型号 供应商 手机串号查询有关出库手机信息 添加手机销售信息 按销售日期 品牌或型号 供应商 手机串号查询销售手机信息 添加手机换机信息 添加手机退机信息 查询手机销售排行信息 添加更新手机售后信息 按品牌或型号 手机串号查询已修手机售后信息 查询未修手机售后信息 添加手机调价信息 按品牌或型号查询手机调价信息 添加新用户 修改用户密码信息 按串号查询手机状态信息 添加手机结款信息 查询手机结款信息 商品进 销 存系 统 课程设计报告 3 三 系统定义三 系统定义 3 13 1 系统边界系统边界 手机退机 换 机 库存手机 手机入库 销售记录 手机销售 售后记录 售 后 登 记 出库记录 手机出库 调价记录 登录用户 库 存 查 询 售后查询 调 价 查 询 出 库 查 询 查 询 售 后 结款记录 库存结款 已 售 结 款 结 款 查 询 3 23 2 用户视图用户视图 普通用户 1 添加供应商供应的手机品牌信息 2 查询手机销售排行信息 3 查询库存手机信息 4 添加入库手机信息 供应商顾客 购买手机供应手机 商品进 销 存系 统 课程设计报告 4 5 添加出库手机信息 6 查询出库手机记录 7 添加销售手机信息 8 录入销售换机信息 9 录入销售退机信息 10 查询销售记录 11 登记售后手机信息 12 添加售后取机信息 13 查询售后手机记录 14 添加手机调价信息 15 查询手机调价记录 16 查询手机状态信息 17 录入手机结款信息 18 查询手机结款信息 19 修改用户密码 管理员 除了具有与普通用户相同的权限外 管理员可以新增普通用户 四 需求分析四 需求分析 4 14 1 用户需求说明用户需求说明 4 1 14 1 1 数据需求数据需求 品牌信息 供应商 品牌 手机信息 串号 品牌 型号 颜色 结款状态 备注 机型信息 品牌 型号 键 触 机型 进价 商品进 销 存系 统 课程设计报告 5 入库信息 串号 入库日期 出库信息 串号 出库日期 销售信息 串号 售价 销售日期 换机信息 卖机串号 换机串号 换机价格 退机信息 退机串号 售后信息 售后机串号 故障 售后取机信息 取机串号 调价信息 品牌 型号 调后价格 结款信息 串号 结款日期 4 1 24 1 2 事务需求事务需求 查询销售量最多的十五部手机 按品牌 价格 键 触 机型查询符合组合条件的所有库存手机信息 添加一部准备入库的手机信息 提交插入所有准备入库的手机信息 按串号添加一部准备出库的手机信息 按品牌或型号添加多部准备出库的手机信息 按供应商添加多部准备出库的手机信息 提交删除所有准备出库的手机信息 同时添加相应的所有的出库信息 按品牌或型号查询所有的出库记录 按日期查询所有的出库记录 按串号查询一部手机的出库记录 添加一部准备销售的手机信息 提交多部准备销售的手机信息 添加一部准备换机的手机信息和一部换机的手机信息 提交一部换机手机信息 添加一部准备退机的手机信息 提交一部准备退机的手机信息 按日期 品牌 型号 供应商查询符合组合条件的销售记录信息 商品进 销 存系 统 课程设计报告 6 按串号查询一部手机的销售记录信息 添加登记一部手机的售后信息 提交一部手机的售后信息 添加一部手机的售后取机信息 提交一部手机的售后取机信息 查询所有售后待修手机的信息 查询所有售后已修手机的信息 添加一种机型的手机调价信息 提交一种机型的手机调价信息 查询手机调价记录 添加一种品牌的供应商名称 添加一部将要结款的手机信息 提交所有准备结款的手机信息 查询手机结款记录 修改一位用户的密码信息 创建一位新的用户 查询一部手机的手机状态信息 4 24 2 系统需求说明系统需求说明 1 软件环境 软件环境需支持 windows 操作系统 sql server 数据库 2 初始数据库大小 大约有 500 部库存手机 大约有 500 种不同品牌和型号的机型信息 大约有 10 家供应商提供不同品牌的手机 至少有一名普通用户和一名管理员 其它初始信息可为零 商品进 销 存系 统 课程设计报告 7 3 数据库增长速度 平均每天销售 3 10 部手机 平均每月有 50 部手机入库 平均每月有 2 5 部手机售后 平均每月有 10 20 部手机出库 平均每月有 1 3 部手机退机 平均每月有 1 5 部手机换机 平均每月有 1 10 部手机调价 平均每月有 30 50 部手机结款 4 记录查找的类型和平均数量 查询库存手机信息 每天大约 20 次 查询出库记录 每天大约 5 10 次 查询销售记录 每天大约 20 30 次 查询调价记录 每天大约 3 10 次 查询结款记录 每天大约 5 10 次 查询销售排行 每天大约 3 5 次 查询手机状态 每天大约 30 50 次 5 性能 单个记录查询时间少于一秒 多个记录查询时间少于三秒 添加 删除 更新记录时间少于五秒 商品进 销 存系 统 课程设计报告 8 五 数据库逻辑设计五 数据库逻辑设计 5 1 ER 图图 品牌型号 颜色 所有手机 结款状态 库存手机 串号 入库日期 供应商 出库记录销售记录 结款记录售后记录 机型 调价记录 品牌 型号 调价日期 品牌 型号 键 触 机型 进价 备注 串号 出 库 日 期 串号 售价 销售日期 入 库 日 期 入库日期 串号 登记日期故障 维修状态 调前 调后 串号 结款日期 入 库 结 款 销售 售 后 结 款 出库 属 性 调价 机 型 机 型 机 型 机 型 机型 串号 商品进 销 存系 统 课程设计报告 9 5 25 2 数据字典数据字典 1 实体和联系属性 所有手机 allmobile 串号 num 品牌 brand 型号 model 颜色 color 结款状态 paystate 备注 remark 供应品牌 supplybrand 供应商 supplyer 品牌 brand 机型 mobilemodel 品牌 brand 型号 model 键 触 keytouch 机型 tool 进价 pricein 手机入库 storage 串号 num 入库日期 instoragedate 手机出库 outstorage 串号 num 出库日期 outstoragedate 入库日期 instoragedate 手机销售 sell 串号 num 售价 sellprice 销售日期 selldate 入库日期 instoragedate 售后服务 aftersell 串号 num 登记日期 checkdate 故障 faulty 维修状态 repairstate 手机调价 chprice 品牌 brand 型号 model 调价日期 chpricedate 调前 beforech 调后 afterch 手机结款 payment 串号 num 结款日期 paystate 用户 account 用户名 username 密码 psw 商品进 销 存系 统 课程设计报告 10 2 属性描述 实体属性类型及大小空 BrandVarchar 10 Not null ModelVarchar 10 Not null KeytouchVarchar 10 ToolVarchar 10 Mobilemode l PriceinInt Num Varchar 15 Not null Outstoragedate Date Outstorage Instoragedate Date Num Varchar 15 Paymentdate Paydate Date Num Varchar 15 Sellprice Int Selldate Date Sell Instoragedate Date 实体属性类型及大 小 空 UsernameVarchar 2 0 Not nullAccount PswVarchar 1 5 Not null Num Varchar 15 Not null brand Varchar 10 model Varchar 10 color Varchar 10 paystate Varchar 10 Allmobile remark Varchar 10 brand Varchar 10 model Varchar 10 chpricedate date beforech int chprice afterch int 商品进 销 存系 统 课程设计报告 11 Num Varchar 15 Checkdate Date Fault Varchar 30 Sellservice Repairstate Varchar 10 Num Varchar 10 Storage Instoragedate Date Suplyer Varchar 10 Supplybrand Brand Varchar 10 5 35 3 关系表关系表 商品进 销 存系 统 课程设计报告 12 六 数据库物理设计六 数据库物理设计 6 16 1 索引索引 商品进 销 存系 统 课程设计报告 13 6 26 2 视图视图 本节可选 6 36 3 安全机制安全机制 系统安全 数据安全 1 系统安全 为用户设置登录密码 登录时必须经过验证才可进入系统 设有管理员 只有管理员可以新建用户 所有用户名和密码均存在数据库中 不可擅自修改 需要验证后才可以修改密 码 2 数据安全 对于手机出库 入库 销售 售后 结款等重要的插入删除等操作均设有列 表 首先将数据添加到列表中 然后进行二次确认才会进行提交 Ob jectname O bjecteId IndexnameI ndexed Averag efreebytes all mobile 1 65575628 PK allmobil DF908D650B C6C43E 7511 sup plybrand 2 93576084 08023 5 sto rage 3 09576141 08077 out storage 3 57576312 07986 sell3 89576426 07912 sell service 4 21576540 08034 mo bilemodel 5 01576825 PK mobilemo 11841F0F1F CDBCEB 7734 ch price 5 97577167 08018 pa ymentdate 6 29577281 PK paymentd DF908D652 76EDEB3 8039 acc ount 7 09577566 PK account F3DBC5732C 3393D0 8044 sys diagrams 7 89577851 PK sysdiagr C2B05B6130 F848ED 0 sys diagrams 7 89577851 UK principal name20 商品进 销 存系 统 课程设计报告 14 对于入库 出库 销售等操作均排除对空数据 重复的数据 错误的数据进 行插入删除查询操作 对于空查询结果 错误查询结果均有提示 对于重要的数据需要输入相应手机串号后进行操作 6 46 4 其他其他 本节可选 引入受控冗余等 由于进行手机销售 查看销售记录 手机出库 查看出库记录 手机售后 手机调价以及与供应商进行结款时都需要查看手机入库时间 因此为了避免大 量的表之间的连接操作 这些表中均加入了入库时间均加入了入库时间这一列 以使查询效率更 高 七 应用程序设计七 应用程序设计 7 17 1 功能模块功能模块 1 主界面查询 主界面分为两块查询 为销售排行和机型推荐 销售排行列出销售量最大的 15 部手机 机型推荐可对手机从品牌 价格 键 触 机型几个方面进行查询 2 库存查询 从品牌 型号 供应商 串号 入库日期等几个方面对库存手机进行查询 3 手机出 入库 分为手机入库 手机出库和出库记录三个方面 主要实现手机出入库 以及 对出库信息的查询 4 手机销售 分为手机销售 销售换机 销售退机 销售查询几个方面 实现手机销售操 作 销售后可以进行换机 退机操作 以及查询销售记录 5 手机售后 商品进 销 存系 统 课程设计报告 15 分为售后登记 售后取机 以及查询售后记录 实现手机售后方面的功能 6 手机调价 分为手机调价和查询调价记录 实现手机调价方面的功能 7 品牌添加 可以进行手机品牌的添加以及与之对应的供应商的名称 8 供应商结款 分为库存手机结款 已售手机结款 和查询借款记录 9 串号追踪 主要查询手机状态 查询某串号的手机在库存还是已售 或者是已出库 10 账户保护 用户可以修改密码 管理员可以新建用户 7 27 2 界面设计界面设计 可抓几幅画面介绍 1 登陆界面 2 主界面 商品进 销 存系 统 课程设计报告 16 主界面分为功能表和查询两块 功能表包括程序的所有基本功能 查询分为 销售排行查询和机型查询 这两个查询是常用查询与各功能模块并不相关 所 以设在了主界面 2 品牌添加 商品进 销 存系 统 课程设计报告 17 3 库存手机 这个界面设计时没有考虑到用户查询的方便性 而且几个查询组建位置设置 不太好 需要进一步改进 4 手机出 入库 商品进 销 存系 统 课程设计报告 18 商品进 销 存系 统 课程设计报告 19 5 手机销售 商品进 销 存系 统 课程设计报告 20 6 手机售后 商品进 销 存系 统 课程设计报告 21 8 手机调价 商品进 销 存系 统 课程设计报告 22 9 账户保护 商品进 销 存系 统 课程设计报告 23 商品进 销 存系 统 课程设计报告 24 10 供应商结款 商品进 销 存系 统 课程设计报告 25 11 串号追踪 商品进 销 存系 统 课程设计报告 26 7 37 3 事务设计事务设计 关键或复杂的事务操作的设计 可附相应 SQL 语句进行分析介绍 1 查询销售排行 查询销售排行对于用户及时掌握销售信息 促进手机销售有很重要的作用 包括两条主要查询语句 r c executeQuery select COUNT distinct model from allmobile where exists select from sell where allmobile num sell num r next totlenumber Integer parseInt r getString 1 if totlenumber 0 JOptionPane showMessageDialog null 暂无销售记录 return r c executeQuery select p brand p model q keytouch q tool COUNT as number from allmobile as p mobilemodel as q where p brand q brand and p model q model and exists select from sell where p num sell num group by p brand p model q keytouch q tool order by COUNT desc 其中第一条语句查询已销售的总的手机型号数 以确保有已售手机并正确显 示 第二条语句为了避免多个表的连接操作 使用了exist语句 查询出销售 排行 2 销售换机 销售换机分别涉及到两个表的插入和删除操作 需将已售机从销售记录中删 除 插入到库存手机记录中 并将要换手机从库存中删除 插入到销售记录中 c connection getConnection createStatement c executeUpdate delete from sell where num num1 c executeUpdate insert into storage num instoragedate values num1 eindate1 c executeUpdate delete from storage where num num2 c executeUpdate insert into sell num sellprice selldate instoragedate values num2 esellprice eselldate eindate2 四条语句分别进行相应的插入删除操作 如果抛出异常 将进行回滚 保证 数据的一致性 3 多次添加 一次提交 商品进 销 存系 统 课程设计报告 27 对于手机入库 出库 销售 结款等常用操作 特别是手机的大批量入库 为了避免每部手机均要进行提交的麻烦 程序首先将用户输入或通过查询得到 的数据显示在表格中 待用户确认后 可一起进行提交 这样就方便了用户的 操作 首先将数据显示在表格中 s connection1 getConnection createStatement r s executeQuery select from mobilemodel where brand inbrandstr and model inmodelstr if r next s executeUpdate insert into mobilemodel brand model keytouch tool pricein values inbrandstr inmodelstr inkeytouchstr intoolstr pri cein r close mobile 0 String brandb getSelectedItem mobile 1 String modelb getSelectedItem mobile 2 numf getText mobile 3 String keytouchb getSelectedItem mobile 4 String toolb getSelectedItem mobile 5 String colourb getSelectedItem mobile 6 pricef getText mobile 7 String stateb getSelectedItem mobile 8 remarkf getText for int i 0 i 9 i instoragetable setValueAt mobile i number i number 将表中数据一起提交 for int s 0 s number s submitinstr 0 String instoragetable getValueAt s 0 submitinstr 1 String instoragetable getValueAt s 1 submitinstr 2 String instoragetable getValueAt s 2 submitinstr 3 String instoragetable getValueAt s 5 submitinstr 4 String instoragetable getValueAt s 7 submitinstr 5 String instoragetable getValueAt s 8 try 商品进 销 存系 统 课程设计报告 28 si connection1 getConnection createStatement si executeUpdate insert into allmobile num brand model

温馨提示

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

评论

0/150

提交评论